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.
Origens
Versã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 UsoDiagrama de Casos de Uso  ComportamentoComportamento
Diagramas
Diagrama de ClassesDiagrama de Classes  EstruturaEstrutura
Diagramas
Diagrama de SequênciaDiagrama de Sequência  ComportamentoComportamento
Diagramas
Diagrama de EstadosDiagrama de Estados  ComportamentoComportamento
Diagramas
Diagrama de AtividadesDiagrama de Atividades  ComportamentoComportamento
Diagramas
Diagrama de ImplantaçãoDiagrama de Implantação  EstruturaEstrutura
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ção
Lógica de
Negócio
Persistência
Fontes de
Dados
Modelo de Referência de Arquitetura
• Esse modelo serve como base para o roteiro que cada programador irá seguir
para 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.
1. 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ção
Lógica de
Negócio
Persistência
Fontes de
Dados
HTML
CSS
JavaScript
JSP
JSTL
EL
Servlet
POJO
EJB
Spring Beans
JDBC
JPA
Hibernate
Bancos de
Dados
XML
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
Análise e Projeto de Sistemas com UML e Java

Análise e Projeto de Sistemas com UML e Java

  • 1.
    Análise e Projetode Sistemas com UML e Java
  • 2.
  • 3.
  • 4.
  • 5.
    Definições • Engenharia desoftware é a área da computação voltada à: Especificação / Desenvolvimento / Manutenção.
  • 6.
    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.
  • 7.
  • 8.
    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.
  • 9.
    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.
  • 10.
    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.
  • 11.
    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.
  • 12.
  • 13.
    Origens • A UnifiedModeling 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.
  • 14.
    Origens Versã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
  • 15.
  • 16.
    Diagramas • Principais Diagramasda UML no cenário de uma aplicação: – Vamos identificar em que categoria cada diagrama se encaixa: • Modelagem Estrutural. • Modelagem Comportamental.
  • 17.
    Diagramas Diagrama de Casosde UsoDiagrama de Casos de Uso  ComportamentoComportamento
  • 18.
    Diagramas Diagrama de ClassesDiagramade Classes  EstruturaEstrutura
  • 19.
    Diagramas Diagrama de SequênciaDiagramade Sequência  ComportamentoComportamento
  • 20.
    Diagramas Diagrama de EstadosDiagramade Estados  ComportamentoComportamento
  • 21.
    Diagramas Diagrama de AtividadesDiagramade Atividades  ComportamentoComportamento
  • 22.
    Diagramas Diagrama de ImplantaçãoDiagramade Implantação  EstruturaEstrutura
  • 23.
  • 24.
    Roteiro para AplicaçõesWeb • 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.
  • 25.
    Roteiro para AplicaçõesWeb Cliente Apresentação Lógica de Negócio Persistência Fontes de Dados Modelo de Referência de Arquitetura • Esse modelo serve como base para o roteiro que cada programador irá seguir para 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.
  • 26.
    Roteiro para AplicaçõesWeb • 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.
  • 27.
    Roteiro para AplicaçõesWeb – 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.
  • 28.
    Roteiro para AplicaçõesWeb 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. 1. Criar as classes de entidade, de negócio e de acesso a banco de dados.
  • 29.
  • 31.
    Roteiro para AplicaçõesWeb Cliente Apresentação Lógica de Negócio Persistência Fontes de Dados HTML CSS JavaScript JSP JSTL EL Servlet POJO EJB Spring Beans JDBC JPA Hibernate Bancos de Dados XML 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
  • 32.

Notas do Editor

  • #31 Diagramas de Sequência são construídos de acordo com as seguintes convenções: Linhas pontilhadas verticais representam os objetos; Setas horizontais representam as mensagens passadas entre os objetos; Rótulos das setas são os nomes dos métodos que estão sendo chamados; A posição na vertical mostra o ordenamento relativo das mensagens, o decorrer das ações no tempo; Retângulos situados nas linhas verticais para indicar o tempo de vida dos objetos (caixas de ativação). A caixa de ativação indica o tempo que o objeto ficará ativo em memória. A representação da seta de retorno é facultativa.