Análise de metodologia e tecnologia adequada para desenvolvimento de sistemas jurídicos<br />Andre Camilo<br />
1º Problema<br />
2º Problema<br />
Caracterização<br />Grande número de documentos escritos;<br />Documentos impressos que são acumulados;<br />Dificuldade e...
Objetivo geral<br />Sistema automatizado<br />Papel<br />Organizar e armazenar informações de processos jurídicos, substit...
Objetivos<br />Desenvolver um Sistema Web para controle dos processos;<br />Controlar o tempo gasto na elaboração do proce...
Objetivos<br />Diminuir custos de produção de processos judiciários;<br />Armazenar informações em um ambiente seguro e au...
Justificativa<br />Desde o surgimento dos processos jurídicos se faz uso do papel para o armazenamento das informações;<br...
Metodologia bibliográfica<br />Estudo da legislação vigente que envolve a formação de um processo;<br />Estudo das caracte...
Metodologia bibliográfica<br />Gerenciar o software com base na metodologia de desenvolvimento ágil, Scrum;<br />Estudo de...
Metodologia bibliográfica<br />C# (Linguagem de programação);<br />Projeto orientado a objetos (OO);<br />Silverlight (Tec...
Metodologia experimental<br />Desenvolver o aplicativo em C# eSilverlight;<br />Coletar informações que fazem parte do pro...
O sistema judicial<br />Em meios digitais o bem mais importante é, sem duvida, a informação;<br />A necessidade de manipul...
O sistema judicial<br />O advogado é constantemente desafiado a entrar no mundo digital;<br />Porque cada vez mais o traba...
O sistema judicial<br />O processo eletrônico >> processo irreversível;<br />2 gerações<br />A com papel;<br />A que cada ...
Gestão do projeto<br />“O gerenciamento de projetos é a aplicação de conhecimento, habilidades, ferramentas e técnicas às ...
Metodologias<br />Ágeis;<br />Scrum;<br />Evolutionary Project Management – EVO;<br />Dynamic System Development Method – ...
Metodologia de desenvolvimento ágil<br />Minimizar o risco no desenvolvimento de software em curtos períodos;<br />Cada it...
Scrum<br />ScrumMaster;<br />Productowner (PO);<br />Tean ou Time;<br />Sprint;<br />ProductBacklog<br />SprintBacklog<br ...
Scrum<br />Daily Scrum Meeting<br />24 horas<br />Product Backlog<br />2 a 4 semanas<br />Incremento do produto potencialm...
Desenvolvimento Solo<br />Productowner (PO);<br />Sprint;<br />ProductBacklog;<br />SprintBacklog;<br />
Considerações<br />Triangulo de ferro<br />Tempo;<br />Escopo / Qualidade;<br />Custo;<br />
Empregando a metodologia ao produto (Histórias)<br />O advogado quer controlar e ter acesso as informações que ele necessi...
Tecnologias<br />	Serão utilizadas as mais novas tecnologias que estão disponíveis no mercado, assim a aplicação será foca...
.Net framework 4<br />Executado sobre uma CLR (CommonLanguageRuntime) ;<br />Mais de trinta diferentes linguagens de progr...
.Net framework 4<br />.Net Mono: distribuição open source da CLI - Linux (SuSE, Fedora, entre outros), Win32 e MacOS.<br /...
.Net framework 4 - camadas<br />VB.NET<br />C#<br />IronRuby<br />Entre outras...<br />Common Language Specification (CLS)...
Linguagem de programação C#<br />Linguagem de programação orientada a objetos;<br />Suporte para definir e trabalhar com c...
Silverlight<br />Tecnologia para navegadores e plug-ins;<br />RIA (Rich Internet Application) e combina visual e funcional...
WCF RIA Services<br />Framework para aplicações Silverlight;<br />Facilita a construção de middleware de comunicação com a...
WEB Tradicional<br />Web-Service<br />Aplicação WEB<br />Browser<br />Base de dados<br />Interface<br />Lógica da aplicaçã...
RIA<br />Web-Service<br />Limite de confiança<br />Lógica da aplicação<br />Camada de acesso a dados<br />Interface <br />...
Entity framework<br />Ferramentas de persistência de dados;<br />Diminui problemas que impedem ou dificultam o desenvolvim...
Esquema<br />Entidades de modelo de domínio<br />Camada de apresentação, visão do modelo<br />Camada UI<br />Silverlight<b...
SQL server<br />Fácil de usar;<br />Oferece escalabilidade, ou seja, você pode começar desenvolvendo para um desktop ou we...
Projeto Orientado a Objetos<br />O objeto é a representação abstrata de coisas que vemos no mundo real. <br />Os objetos a...
Padrão de projeto<br />“Cada padrão descreve um problema no nosso ambiente e é o cerne da sua solução, de tal forma que vo...
Padrão de projeto<br />Nome do padrão;<br />Problema ;<br />Solução ;<br />Conseqüências ;<br />
Padrão de desenvolvimento<br />Também é usado para documentação de um sistema;<br />Os padrões voltados para o desenvolvim...
Padrão de desenvolvimento<br />Três grupos: <br />Architecturalpatterns: Padrões genéricos que cuidam da estrutura fundame...
MVVM<br />Padrão de projeto mais adequado para desenvolvimento Silverlight;<br />Originou-se da necessidade de separar as ...
Elementos de um aplicativo<br />Novo Processo<br />MeusProcessos :  ICollection<Processo>void AddProcesso (processo p)<br ...
Componentes de um aplicativo<br />Testes unitários<br />Views<br />View Model Binding, ICommands<br />Model<br />Repositór...
Arquivos<br />View<br />View-Model<br />Data-Binding & <br />Comandos<br />XAML<br />Estado + Operações<br />Code-behind<b...
Protótipo<br />
Fim<br />Muito obrigado<br />ac@andrecamilo.com<br />
Upcoming SlideShare
Loading in …5
×

Desenvolvimento de sistemas jurídicos

3,701 views

Published on

Análise de metodologia e tecnologia adequada para desenvolvimento de sistemas jurídicos

Published in: Education
1 Comment
0 Likes
Statistics
Notes
  • André boa noite!

    Tudo bom?
    Por favor, gostaria de saber se você tem essa apresentação em power point ou pdf para me enviar.
    Meu email é marcosterra@outlook.com.
    Muito obrigado pela ajuda.
    Abraço.
    Att.
    Marcos Souza
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
3,701
On SlideShare
0
From Embeds
0
Number of Embeds
1,128
Actions
Shares
0
Downloads
2
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Desenvolvimento de sistemas jurídicos

  1. 1. Análise de metodologia e tecnologia adequada para desenvolvimento de sistemas jurídicos<br />Andre Camilo<br />
  2. 2. 1º Problema<br />
  3. 3. 2º Problema<br />
  4. 4. Caracterização<br />Grande número de documentos escritos;<br />Documentos impressos que são acumulados;<br />Dificuldade e demora na manutenção e obtenção de informações;<br />Possibilidade de extravio de informações;<br />Dificuldade de acesso aos dados em qualquer lugar;<br />
  5. 5. Objetivo geral<br />Sistema automatizado<br />Papel<br />Organizar e armazenar informações de processos jurídicos, substituindo o meio físico papel pelos meios digitais on-line;<br />
  6. 6. Objetivos<br />Desenvolver um Sistema Web para controle dos processos;<br />Controlar o tempo gasto na elaboração do processo;<br />Obter informações padrões relacionadas a um processo jurídico para acoplar no sistema;<br />Facilitar e agilizar o acesso as informações;<br />Integrar informações;<br />
  7. 7. Objetivos<br />Diminuir custos de produção de processos judiciários;<br />Armazenar informações em um ambiente seguro e autenticar os dados processuais e os usuários;<br />Otimizar o tempo gasto para a construção de um processo;<br />
  8. 8. Justificativa<br />Desde o surgimento dos processos jurídicos se faz uso do papel para o armazenamento das informações;<br />A grande demanda de processos faz com que o trabalho do advogado seja mais demorado;<br />Escassez de softwares para gerenciamento de processos jurídicos na área civil;<br />Tornar a manipulação do processo mais fácil, simples e intuitiva;<br />Em meio digital a obtenção de informações é facilitada(os dados são armazenados em um ambiente organizado e especificamente construído para isso);<br />
  9. 9. Metodologia bibliográfica<br />Estudo da legislação vigente que envolve a formação de um processo;<br />Estudo das características de um processo eletrônico;<br />Estudo da arquitetura do software de automação digital de processos jurídicos;<br />
  10. 10. Metodologia bibliográfica<br />Gerenciar o software com base na metodologia de desenvolvimento ágil, Scrum;<br />Estudo de tecnologias, padrão e metodologia de desenvolvimento:<br />Scrum (Metodologia de desenvolvimento ágil);<br />Microsoft .Net Framework 4 (Plataforma de desenvolvimento);<br />C# (Linguagem de programação);<br />
  11. 11. Metodologia bibliográfica<br />C# (Linguagem de programação);<br />Projeto orientado a objetos (OO);<br />Silverlight (Tecnologia de desenvolvimento web);<br />WCF RIA Services (Framework para aplicação Silverlight);<br />ADO .Net Entity Framework 4 (Ferramenta de persistência de dados);<br />Microsoft SQL Server 2008 (Banco de dados);<br />MVVM (Padrão de desenvolvimento);<br />
  12. 12. Metodologia experimental<br />Desenvolver o aplicativo em C# eSilverlight;<br />Coletar informações que fazem parte do processo judicial;<br />
  13. 13. O sistema judicial<br />Em meios digitais o bem mais importante é, sem duvida, a informação;<br />A necessidade de manipulá-la e armazená-la também é indispensável para o profissional do direto;<br />O advogado tem que se valer dessa facilidade sem perder tempo ou dinheiro por não ter a ferramenta adequada;<br />
  14. 14. O sistema judicial<br />O advogado é constantemente desafiado a entrar no mundo digital;<br />Porque cada vez mais o trabalho do advogado esta centrado no formato digital e nas facilidades;<br />Ambiente diferente ao de alguns anos anteriores;<br />
  15. 15. O sistema judicial<br />O processo eletrônico >> processo irreversível;<br />2 gerações<br />A com papel;<br />A que cada vez menos necessita do papel;<br />A de se esperar que o advogado se locomova com facilidade no universo digital;<br />A opção de continuar no papel será extinta em pouco tempo.<br />
  16. 16. Gestão do projeto<br />“O gerenciamento de projetos é a aplicação de conhecimento, habilidades, ferramentas e técnicas às atividades do projeto a fim de atender aos seus requisitos. O gerenciamento de projetos é realizado através da aplicação e da integração dos seguintes processos de gerenciamento de projetos: iniciação, planejamento, execução, monitoramento e controle, e encerramento.” (PMI, 2004, p. 8).<br />
  17. 17. Metodologias<br />Ágeis;<br />Scrum;<br />Evolutionary Project Management – EVO;<br />Dynamic System Development Method – DSDM;<br />Feature Driven Development – FDD;<br />Adaptive Software Development – ASD;<br />Extreme Programming – XP;<br />Família Crystal;<br />Tradicionais (Não-ágeis);<br />Cascata;<br />Prototipação;<br />Espiral;<br />Rapid Application Development - RAD;<br />RationalUnifiedProcess - RUP; <br />
  18. 18. Metodologia de desenvolvimento ágil<br />Minimizar o risco no desenvolvimento de software em curtos períodos;<br />Cada iteração é um projeto de software independente;<br />Um projeto de software ágil busca a capacidade de implantar uma nova versão do software ao fim de cada iteração<br />Cliente recebe e usa funcionalidades em um período muito menor de tempo;<br />Os métodos ágeis enfatizam a comunicações;<br />
  19. 19. Scrum<br />ScrumMaster;<br />Productowner (PO);<br />Tean ou Time;<br />Sprint;<br />ProductBacklog<br />SprintBacklog<br />DailyScrum<br />
  20. 20. Scrum<br />Daily Scrum Meeting<br />24 horas<br />Product Backlog<br />2 a 4 semanas<br />Incremento do produto potencialmente utilizável<br />Sprint Backlog<br />
  21. 21. Desenvolvimento Solo<br />Productowner (PO);<br />Sprint;<br />ProductBacklog;<br />SprintBacklog;<br />
  22. 22. Considerações<br />Triangulo de ferro<br />Tempo;<br />Escopo / Qualidade;<br />Custo;<br />
  23. 23. Empregando a metodologia ao produto (Histórias)<br />O advogado quer controlar e ter acesso as informações que ele necessita durante o seu trabalho diário, como informações de processos que estão em andamento e também ter a possibilidade de incluir mais processos caso tenha necessidade;<br />Agendamento de compromissos. É muito importante para que seus horários sejam cumpridos corretamente;<br />Ter acesso aos dados de seus clientes, das pessoas envolvidas em cada processo;<br /> Possibilidade de consultar informações que estão em outros sites na Internet;<br />Facilitar o acesso a todas as partes do sistema;<br />Digitalizar e armazenar documentos impressos.<br />
  24. 24. Tecnologias<br /> Serão utilizadas as mais novas tecnologias que estão disponíveis no mercado, assim a aplicação será focada no desenvolvimento de uma regra de negócio mais elaborada e um software com qualidade, possibilitando e facilitando sua expansão e manutenção. As tecnologias apresentadas a seguir fornecem tudo que um desenvolvedor precisa para fazer um sistema com qualidade e que atenda as necessidades do cliente.<br />
  25. 25. .Net framework 4<br />Executado sobre uma CLR (CommonLanguageRuntime) ;<br />Mais de trinta diferentes linguagens de programação, interagindo entre si. (APL, Boo, Clarion, COBOL, Component Pascal, J#, F#, C#, C++, Eiffel, Forth, Fortran, Haskell, Java, Jscript, Lua, Mercury, Mondrian, Oberon, Object Pascal / Delphi Language, Oz, Pascal, Perl, PowerBuilder, PowerShell, RPG, Python, Ruby, IronPython, IronRuby, Scheme, SmallTalk, Standard ML, Visual Basic)<br />Web, desktop ou para dispositivos móveis;<br />
  26. 26. .Net framework 4<br />.Net Mono: distribuição open source da CLI - Linux (SuSE, Fedora, entre outros), Win32 e MacOS.<br />Portable: distribuição open source da CLI que roda em diversos sistemas operacionais: Win32, AIX, BeOS, Mac OS X, Solaris, todas as principais distribuições Linux;<br />
  27. 27. .Net framework 4 - camadas<br />VB.NET<br />C#<br />IronRuby<br />Entre outras...<br />Common Language Specification (CLS)<br />Common Type System (CTS)<br />.NET Class Library (FCL)<br />Web Forms, Web Services<br />Windows Forms<br />Console<br />ADO .NET & XML<br />Common Language Rumtime (CLR)<br />(Just-in-time compilers, garbage collector, Security Manager, entre outras)<br />Common Language Infrastructure (CLI)<br />Sistema operacional<br />
  28. 28. Linguagem de programação C#<br />Linguagem de programação orientada a objetos;<br />Suporte para definir e trabalhar com classes;<br />Encapsulamento e polimorfismo;<br />
  29. 29. Silverlight<br />Tecnologia para navegadores e plug-ins;<br />RIA (Rich Internet Application) e combina visual e funcionalidade;<br />Desenvolvedor e designer;<br />Plataforma-cruzada, ou seja, ela pode trabalhar em diversas arquiteturas e sistemas operacionais (Windows, Linux, Solaris, Mac OS)<br />
  30. 30. WCF RIA Services<br />Framework para aplicações Silverlight;<br />Facilita a construção de middleware de comunicação com a camada de serviço e a camada cliente de uma aplicação RIA;<br />
  31. 31. WEB Tradicional<br />Web-Service<br />Aplicação WEB<br />Browser<br />Base de dados<br />Interface<br />Lógica da aplicação<br />Camada de acesso a dados<br />HTML<br />Outras aplicações<br />
  32. 32. RIA<br />Web-Service<br />Limite de confiança<br />Lógica da aplicação<br />Camada de acesso a dados<br />Interface <br />Lógica da aplicação<br />Base de dados<br />
  33. 33. Entity framework<br />Ferramentas de persistência de dados;<br />Diminui problemas que impedem ou dificultam o desenvolvimento de um sistema;<br />Abstrai dos desenvolvedores vários detalhes de comunicação com bancos de dados relacionais;<br />É um ORM (Object-relationalmapping) que separa o modelo conceitual do físico;<br />Pode ser utilizado por vários bancos de dados (SQL Server, Oracle, MySql, DB2) pois existem vários Providers disponíveis;<br />
  34. 34. Esquema<br />Entidades de modelo de domínio<br />Camada de apresentação, visão do modelo<br />Camada UI<br />Silverlight<br />WPF<br />WinForms<br />ASP.NET<br />Camada de apresentação - Apresentadores<br />Contrair interfaces<br />Hospedagem de serviços WCF<br />WCF<br />Camada de serviços<br />Serviços<br />Camada comercial<br />Regra de Negocio<br />Camada de acesso a dados <br />Estrutura de entidades<br />SQL Server, Oracle, MySql, DB2...<br />
  35. 35. SQL server<br />Fácil de usar;<br />Oferece escalabilidade, ou seja, você pode começar desenvolvendo para um desktop ou web e migrar para sistemas de multiprocessamento;<br />Implementa o data warehouse , através do AnalysisServices;<br />É relativamente barato em relação à concorrência;<br />
  36. 36. Projeto Orientado a Objetos<br />O objeto é a representação abstrata de coisas que vemos no mundo real. <br />Os objetos apresentam propriedades, como: estado (situação em que pode estar o objeto) e comportamento (é o meio através do qual o objeto passa de um objeto para o outro).<br />Todo o objeto é identificável<br />Uma classe de objeto representa um conjunto de objetos das mesmas características.<br />Encapsulamento;<br />Acoplamento dinâmico, herança e polimorfismo. <br />
  37. 37. Padrão de projeto<br />“Cada padrão descreve um problema no nosso ambiente e é o cerne da sua solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca fazê-lo da mesma maneira” (Alexander, 1997). <br />
  38. 38. Padrão de projeto<br />Nome do padrão;<br />Problema ;<br />Solução ;<br />Conseqüências ;<br />
  39. 39. Padrão de desenvolvimento<br />Também é usado para documentação de um sistema;<br />Os padrões voltados para o desenvolvimento de sistemas corporativos buscam reduzir o acoplamento e aumentar a coesão entre os componentes de um sistema;<br />O custo de manutenção da aplicação é reduzido e a qualidade do código aumenta.<br />
  40. 40. Padrão de desenvolvimento<br />Três grupos: <br />Architecturalpatterns: Padrões genéricos que cuidam da estrutura fundamental da aplicação, por exemplo, como vai ocorre a comunicação com sistemas externos. <br />Design patterns: Um pouco mais restritos, tratam da estruturação de componentes de um sistema, como exemplo pode-se ter padrões que ditem as regras de como classes de uma mesma camada podem interagir.<br />Idioms: Padrões de mais baixo nível, que estrutura aspectos particulares de um componente do sistema. <br />
  41. 41. MVVM<br />Padrão de projeto mais adequado para desenvolvimento Silverlight;<br />Originou-se da necessidade de separar as responsabilidades na camada de apresentação;<br />
  42. 42. Elementos de um aplicativo<br />Novo Processo<br />MeusProcessos : ICollection<Processo>void AddProcesso (processo p)<br />Código:<br />int Codigo;String Descricao;<br />Descrição:<br />OK<br />Model<br />View Model<br />View<br />
  43. 43. Componentes de um aplicativo<br />Testes unitários<br />Views<br />View Model Binding, ICommands<br />Model<br />Repositórios<br />
  44. 44. Arquivos<br />View<br />View-Model<br />Data-Binding & <br />Comandos<br />XAML<br />Estado + Operações<br />Code-behind<br />Notificação de mudanças<br />Model<br />
  45. 45. Protótipo<br />
  46. 46. Fim<br />Muito obrigado<br />ac@andrecamilo.com<br />

×