Análise e Projeto de Sistemas com UML e Java
Apresentações
Tópicos
Engenharia de Software
Definições• Engenharia de software é a área da
computação voltada à:
Especificação / Desenvolvimento / Manutenção.
Metodologia e Processo• Metodologia de Desenvolvimento de
Sistemas (MDS) é o estudo de como implementar e melhorar os processos de desenvolvimento de sistemas.
• É comum ser confundida com o Processo de
Desenvolvimento de Sistemas em si.
• O Processo de Desenvolvimento de Sistemas é derivado da Metodologia e tem por objetivo guiar o passo a passo para a construção de um sistema.
Modelagem de Software
O Que é Modelagem?• “Um modelo é uma simplificação da realidade”.
– É preciso converter as ideias em ações que permitam a construção do sistema desejado.
O Que é Modelagem?• “Construímos modelos de sistemas
complexos porque não é possível compreendê-los em sua totalidade.”
• Objetivos:• Visualizar Sistemas em Detalhes.• Comunicar e Documentar Decisões.• Especificar a estrutura e o comportamento do
sistema.
Princípios da Modelagem• A escolha dos modelos a serem criados tem
profunda influência sobre a maneira como um determinado problema é atacado e como uma solução é definida.– Alguns modelos são essenciais e outros devem
ser utilizados quando houver necessidade de algo mais detalhado.
Princípios da Modelagem• Nenhum modelo único é suficiente.
• Qualquer sistema não trivial será mais bem investigado por meio de um pequeno conjunto de modelos quase independentes com vários pontos de vista.
Unified Modeling Language
Origens• A Unified Modeling Language nasceu em 1994 a
partir da junção das metodologias de Grady Booch, James Rumbaugh e Ivar Jacobson.
• A UML é uma linguagem para especificar, visualizar, construir e documentar os artefatos de software.
• Atualmente, é mantida como um padrão de indústria da Object Management Group.
OrigensVersão Data
2.5 Outubro – 2012
2.4.1 Agosto – 2011
2.4 Março – 2011
2.3 Maio – 2010
2.2 Fevereiro – 2009
2.1.2 Novembro – 2007
2.1.1 Agosto – 2007
2.0 Julho – 2005
1.5 Março – 2003
1.4 Setembro – 2001
1.3 Março – 2000
http://www.omg.org/spec/UML/http://www.omg.org/spec/UML/
Versão Atual
Diagramas
Diagramas• Principais Diagramas da UML no cenário
de uma aplicação:
– Vamos identificar em que categoria cada diagrama se encaixa:
• Modelagem Estrutural.• Modelagem Comportamental.
Diagramas
Diagrama de Casos de Uso Diagrama de Casos de Uso Comportamento Comportamento
Diagramas
Diagrama de Classes Diagrama de Classes Estrutura Estrutura
Diagramas
Diagrama de Sequência Diagrama de Sequência Comportamento Comportamento
Diagramas
Diagrama de Estados Diagrama de Estados Comportamento Comportamento
Diagramas
Diagrama de Atividades Diagrama de Atividades Comportamento Comportamento
Diagramas
Diagrama de Implantação Diagrama de Implantação Estrutura Estrutura
UML para Java
Roteiro para Aplicações Web• O desenvolvimento de sistemas na Plataforma Java
sugere o uso de:
– Boas práticas de programação OO: consolidação dos conceitos de OO e uso efetivo dos recursos disponíveis na Linguagem Java.
– Design Patterns: conjunto de padrões que facilitam o entendimento e a implementação de componentes.
– Modelos de Arquitetura: ajudam no planejamento e projeto das aplicações; separação de responsabilidades.
Roteiro para Aplicações Web
Cliente ApresentaçãoLógica de Negócio
PersistênciaFontes de
Dados
Modelo de Referência de Arquitetura
• Esse modelo serve como base para o roteiro que cada programador irá seguirpara construir os vários Casos de Uso do sistema.
• Podemos encontrar nesse modelo alguns Design Patterns que vão ajudar a padronizar a construção.
Roteiro para Aplicações Web
• Para construir uma aplicação é sugerido seguir alguns passos:
– Vamos assumir que você fez o Levantamento de Requisitos da aplicação, listou e detalhou os casos de uso.
– Dado um determinado caso de uso, é necessário fazer o Protótipo das suas telas:– As telas inicialmente poderão ser em HTML puro, mas é
comum que essas telas tenham alguma funcionalidade daí a necessidade de fazermos páginas JSP ou até mesmo em JSF.
Roteiro para Aplicações Web
– Você pode continuar a especificação do seu sistema fazendo Análise dos Requisitos, produzindo outros diagramas.
– Quando for fazer o Projeto da Aplicação, novas classes serão acrescentadas ao diagrama de classes.
– Você pode fazer diagramas de seqüência de forma a documentar o projeto dos casos de uso.
Roteiro para Aplicações Web
1. Fazer as telas em HTML (que vão virar JSP ou JSF).
2. Construir os servlets que vão controlar o processamento do caso de uso.– Aqui já podemos testar a navegação do caso de
uso.
3. Criar as classes de entidade, de negócio e de acesso a banco de dados.
Roteiro para Aplicações Web
Roteiro para Aplicações Web
Cliente ApresentaçãoLógica de Negócio
PersistênciaFontes de
Dados
HTMLCSS
JavaScript
JSPJSTL
ELServlet
POJOEJB
Spring Beans
JDBCJPA
Hibernate
Bancos de DadosXML
Arquivos
Modelo de Referência de Arquitetura
Implementação do Modelo de Referência
DLO = Data Logic Object
Business Object
DAO = Data Access Object
DTO = Data Transfer Object
Dicas e Perguntas