O documento discute o desenvolvimento de um sistema jurídico digital para organizar e armazenar informações de processos, substituindo documentos físicos por meios digitais. Ele propõe o uso da metodologia Scrum e das tecnologias .NET, C#, Silverlight e SQL Server para permitir o acesso seguro e integrado às informações de qualquer lugar.
4. Caracterização Grande número de documentos escritos; Documentos impressos que são acumulados; Dificuldade e demora na manutenção e obtenção de informações; Possibilidade de extravio de informações; Dificuldade de acesso aos dados em qualquer lugar;
5. Objetivo geral Sistema automatizado Papel Organizar e armazenar informações de processos jurídicos, substituindo o meio físico papel pelos meios digitais on-line;
6. Objetivos Desenvolver um Sistema Web para controle dos processos; Controlar o tempo gasto na elaboração do processo; Obter informações padrões relacionadas a um processo jurídico para acoplar no sistema; Facilitar e agilizar o acesso as informações; Integrar informações;
7. Objetivos Diminuir custos de produção de processos judiciários; Armazenar informações em um ambiente seguro e autenticar os dados processuais e os usuários; Otimizar o tempo gasto para a construção de um processo;
8. Justificativa Desde o surgimento dos processos jurídicos se faz uso do papel para o armazenamento das informações; A grande demanda de processos faz com que o trabalho do advogado seja mais demorado; Escassez de softwares para gerenciamento de processos jurídicos na área civil; Tornar a manipulação do processo mais fácil, simples e intuitiva; 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);
9. Metodologia bibliográfica Estudo da legislação vigente que envolve a formação de um processo; Estudo das características de um processo eletrônico; Estudo da arquitetura do software de automação digital de processos jurídicos;
10. Metodologia bibliográfica Gerenciar o software com base na metodologia de desenvolvimento ágil, Scrum; Estudo de tecnologias, padrão e metodologia de desenvolvimento: Scrum (Metodologia de desenvolvimento ágil); Microsoft .Net Framework 4 (Plataforma de desenvolvimento); C# (Linguagem de programação);
11. Metodologia bibliográfica C# (Linguagem de programação); Projeto orientado a objetos (OO); Silverlight (Tecnologia de desenvolvimento web); WCF RIA Services (Framework para aplicação Silverlight); ADO .Net Entity Framework 4 (Ferramenta de persistência de dados); Microsoft SQL Server 2008 (Banco de dados); MVVM (Padrão de desenvolvimento);
13. O sistema judicial Em meios digitais o bem mais importante é, sem duvida, a informação; A necessidade de manipulá-la e armazená-la também é indispensável para o profissional do direto; O advogado tem que se valer dessa facilidade sem perder tempo ou dinheiro por não ter a ferramenta adequada;
14. O sistema judicial O advogado é constantemente desafiado a entrar no mundo digital; Porque cada vez mais o trabalho do advogado esta centrado no formato digital e nas facilidades; Ambiente diferente ao de alguns anos anteriores;
15. O sistema judicial O processo eletrônico >> processo irreversível; 2 gerações A com papel; A que cada vez menos necessita do papel; A de se esperar que o advogado se locomova com facilidade no universo digital; A opção de continuar no papel será extinta em pouco tempo.
16. Gestão do projeto “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).
17. Metodologias Ágeis; Scrum; Evolutionary Project Management – EVO; Dynamic System Development Method – DSDM; Feature Driven Development – FDD; Adaptive Software Development – ASD; Extreme Programming – XP; Família Crystal; Tradicionais (Não-ágeis); Cascata; Prototipação; Espiral; Rapid Application Development - RAD; RationalUnifiedProcess - RUP;
18. Metodologia de desenvolvimento ágil Minimizar o risco no desenvolvimento de software em curtos períodos; Cada iteração é um projeto de software independente; Um projeto de software ágil busca a capacidade de implantar uma nova versão do software ao fim de cada iteração Cliente recebe e usa funcionalidades em um período muito menor de tempo; Os métodos ágeis enfatizam a comunicações;
23. Empregando a metodologia ao produto (Histórias) 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; Agendamento de compromissos. É muito importante para que seus horários sejam cumpridos corretamente; Ter acesso aos dados de seus clientes, das pessoas envolvidas em cada processo; Possibilidade de consultar informações que estão em outros sites na Internet; Facilitar o acesso a todas as partes do sistema; Digitalizar e armazenar documentos impressos.
24. Tecnologias 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.
25. .Net framework 4 Executado sobre uma CLR (CommonLanguageRuntime) ; 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) Web, desktop ou para dispositivos móveis;
26. .Net framework 4 .Net Mono: distribuição open source da CLI - Linux (SuSE, Fedora, entre outros), Win32 e MacOS. 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;
27. .Net framework 4 - camadas VB.NET C# IronRuby Entre outras... Common Language Specification (CLS) Common Type System (CTS) .NET Class Library (FCL) Web Forms, Web Services Windows Forms Console ADO .NET & XML Common Language Rumtime (CLR) (Just-in-time compilers, garbage collector, Security Manager, entre outras) Common Language Infrastructure (CLI) Sistema operacional
28. Linguagem de programação C# Linguagem de programação orientada a objetos; Suporte para definir e trabalhar com classes; Encapsulamento e polimorfismo;
29. Silverlight Tecnologia para navegadores e plug-ins; RIA (Rich Internet Application) e combina visual e funcionalidade; Desenvolvedor e designer; Plataforma-cruzada, ou seja, ela pode trabalhar em diversas arquiteturas e sistemas operacionais (Windows, Linux, Solaris, Mac OS)
30. WCF RIA Services Framework para aplicações Silverlight; Facilita a construção de middleware de comunicação com a camada de serviço e a camada cliente de uma aplicação RIA;
31. WEB Tradicional Web-Service Aplicação WEB Browser Base de dados Interface Lógica da aplicação Camada de acesso a dados HTML Outras aplicações
32. RIA Web-Service Limite de confiança Lógica da aplicação Camada de acesso a dados Interface Lógica da aplicação Base de dados
33. Entity framework Ferramentas de persistência de dados; Diminui problemas que impedem ou dificultam o desenvolvimento de um sistema; Abstrai dos desenvolvedores vários detalhes de comunicação com bancos de dados relacionais; É um ORM (Object-relationalmapping) que separa o modelo conceitual do físico; Pode ser utilizado por vários bancos de dados (SQL Server, Oracle, MySql, DB2) pois existem vários Providers disponíveis;
34. Esquema Entidades de modelo de domínio Camada de apresentação, visão do modelo Camada UI Silverlight WPF WinForms ASP.NET Camada de apresentação - Apresentadores Contrair interfaces Hospedagem de serviços WCF WCF Camada de serviços Serviços Camada comercial Regra de Negocio Camada de acesso a dados Estrutura de entidades SQL Server, Oracle, MySql, DB2...
35. SQL server Fácil de usar; Oferece escalabilidade, ou seja, você pode começar desenvolvendo para um desktop ou web e migrar para sistemas de multiprocessamento; Implementa o data warehouse , através do AnalysisServices; É relativamente barato em relação à concorrência;
36. Projeto Orientado a Objetos O objeto é a representação abstrata de coisas que vemos no mundo real. 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). Todo o objeto é identificável Uma classe de objeto representa um conjunto de objetos das mesmas características. Encapsulamento; Acoplamento dinâmico, herança e polimorfismo.
37. Padrão de projeto “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).
38. Padrão de projeto Nome do padrão; Problema ; Solução ; Conseqüências ;
39. Padrão de desenvolvimento Também é usado para documentação de um sistema; 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; O custo de manutenção da aplicação é reduzido e a qualidade do código aumenta.
40. Padrão de desenvolvimento Três grupos: Architecturalpatterns: Padrões genéricos que cuidam da estrutura fundamental da aplicação, por exemplo, como vai ocorre a comunicação com sistemas externos. 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. Idioms: Padrões de mais baixo nível, que estrutura aspectos particulares de um componente do sistema.
41. MVVM Padrão de projeto mais adequado para desenvolvimento Silverlight; Originou-se da necessidade de separar as responsabilidades na camada de apresentação;
42. Elementos de um aplicativo Novo Processo MeusProcessos : ICollection<Processo>void AddProcesso (processo p) Código: int Codigo;String Descricao; Descrição: OK Model View Model View
43. Componentes de um aplicativo Testes unitários Views View Model Binding, ICommands Model Repositórios
44. Arquivos View View-Model Data-Binding & Comandos XAML Estado + Operações Code-behind Notificação de mudanças Model