Análise e Projeto de Sistemas com UML e Java

Preview:

DESCRIPTION

Palestra sobre os fundamentos de Análise e Projeto de Sistemas com UML visando a construção na Plataforma Java.

Citation preview

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