Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues...
-
Upload
ana-vitoria-bentes-vilanova -
Category
Documents
-
view
218 -
download
1
Transcript of Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues...
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Aula 6Aula 6
Professor: Italo Rodrigues CastroProfessor: Italo Rodrigues Castro
2
A Linguagem de Modelagem Unificada (UML)
3
Necessidade de um padrão
Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente.
Surge a UML (Unified Modeling Language) em 1996 como a melhor candidata para ser linguagem “unificadora” de notações.
4
Necessidade de um padrão
Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente.
5
Necessidade de um padrão Surge a UML (Unified Modeling Language) em
1996 como a melhor candidata para ser linguagem “unificadora” de notações.
Em 1997, a UML é aprovada como padrão pelo OMG.
Desde então, a UML tem tido grande aceitação pela comunidade de desenvolvedores de sistemas.
É uma linguagem ainda em desenvolvimento. Atualmente na versão 2.0.
6
Características da UML
UML é...uma linguagem visual. independente de linguagem de
programação. independente de processo de
desenvolvimento. UML não é...
uma linguagem programação.uma técnica de modelagem.
UML - Introdução
O que é? A UML é uma linguagem para
especificação, visualização, construção e documentação de modelos de sistema de software.
Quando surgiu? Surgiu no final dos anos oitenta e no
inicio dos anos noventa.
UML - Introdução
A UML não tem as características de um método. Pois não representa uma sequência de passos para a resolução de um problema, como deveria ser no caso de um método.
Então, a UML não é um método e sim uma linguagem.
9
Diagramas da UML Um processo de desenvolvimento que utilize a UML como linguagem
de modelagem envolve a criação de diversos documentos.Estes documentos podem ser textuais ou gráficos.Estes documentos são denominados artefatos de software.São os artefatos que compõem as visões do sistema.
Os artefatos gráficos produzidos durante o desenvolvimento de um sistema de software são definidos através da utilização dos diagramas da UML.
UML - Introdução
A UML pode ser utilizada tanto no desenvolvimento de software como representar sistemas mecânicos sem nenhum software, descrevendo-os em termos de diagramas orientados a objetos.
UML - Introdução
Existem várias metodologias de modelagem orientadas a objeto que, até o surgimento da UML, causavam uma guerra entre a comunidade de desenvolvedores orientado a objetos.
A UML acabou com esta guerra, trazendo as melhores idéias de cada uma destas metodologias.
UML - Introdução
A UML é uma tentativa de padronizar a modelagem orientada a objetos de uma forma que qualquer sistema, seja qual for o tipo, possa ser modelado corretamente, com consistência, fácil de se comunicar com outras aplicações, simples de ser atualizado e compreensível.
UML - Objetivos
O objetivos da UML são: A modelagem de sistemas (não apenas de
softwares) usando os conceitos da orientação a objetos.
Estabelecer uma união fazendo com que métodos conceituais sejam também executáveis.
Criar uma linguagem de modelagem usável tanto pelo homem quanto pela máquina.
UML – Uso da UML
A UML é usada no desenvolvimento dos mais diversos tipos de sistemas. Ela abrange sempre qualquer características de um sistema em um de seus diagramas e é também aplicada em diferentes fases do desenvolvimento de um sistema, desde a especificação de análise de requisitos até a finalização com a fase de testes.
UML – Uso da UML
Um dos objetivos da UML é descrever qualquer tipo de sistema, em termos de diagramas orientados a objetos, o uso mais comum é para criar modelos de software, mas também é usada para representar sistemas mecânicos. Veja alguns tipos de sistemas, que é utilizado a UML, com suas características mais comuns.
UML – Uso da UML
Sistemas de Informação: Armazenar, pesquisar, editar e mostrar informações para usuários.
Sistemas Técnicos: Manter e controlar equipamentos técnicos como de telecomunicações, equipamentos militares e ou processos industriais. Eles devem possuir interfaces especiais do equipamento e menos programação de software.
UML – Fases de Desenvolvimento
Existem cinco fases no desenvolvimento de sistemas de software (devem ser executadas nesta ordem): Análise de Requisitos Análise Design (projeto) Programação Testes
UML – Fases de Desenvolvimento
Análise de Requisitos: Captura as intenções e necessidades dos
usuários do sistema a ser desenvolvido através do uso de funções chamadas “use-cases”.
Através do desenvolvimento de use-cases, as entidades externas ao sistema (atores externos) que interagem e possuem interesse no sistema são modelados entre as funções que eles requerem, funções estas chamadas de use-cases.
UML – Fases de Desenvolvimento
Análise de Requisitos: Os atores externos e os use-cases são
modelados com relacionamentos que possuem comunicação associativa entre eles ou são desmembrados em hierarquia.
O diagrama de use-cases mostrará o que os atores externos, ou seja, os usuários do futuro sistema deverão esperar do aplicativo, conhecendo TODA a sua funcionalidade, sem importar como será implementada.
UML – Fases de Desenvolvimento
Análise: A fase de análise está preocupada com as
primeiras abstrações (classes e objetos) e mecanismos que estarão presentes no domínio do problema.
As classes são modeladas e ligadas através de relacionamentos com outras classes, e são descritas no diagrama de Classes.
UML – Fases de Desenvolvimento
Análise: As colaborações entre classes também são
mostradas neste diagrama para desenvolver os use-cases modelados anteriormente.
Nesta fase somente serão modeladas classes que pertençam ao domínio principal do problema do software, ou seja, classes técnicas que gerenciem banco de dados, interface, comunicação, concorrência e outros não estarão presentes neste diagrama.
UML – Fases de Desenvolvimento
Design (Projeto): Nesta fase, o resultado da análise é expandido
em soluções. Novas classes serão adicionadas para prover
uma infra-estrutura técnica: a interface do usuário e de periféricos, gerenciamento de banco de dados, comunicação com outros sistemas etc.
UML – Fases de Desenvolvimento
Design (Projeto): As classes do domínio do problema modeladas
na fase de análise são mescladas nessa nova infra-estrutura técnica tornando possível alterar tanto o domínio do problema quanto à infra-estrutura.
Resulta no detalhamento das especificações para a fase de programação do sistema.
UML – Fases de Desenvolvimento
Programação: Nesta fase as classes provenientes do design
são convertidas para o código da linguagem orientada a objeto escolhida.
O grau de dificuldade depende da escolha da linguagem.
Não é aconselhável traduzir mentalmente os modelos de análise e design em UML no momento de sua criação.
UML – Fases de Desenvolvimento
Programação: Os modelos criados nas fases passadas são o
significado do entendimento e da estrutura do sistema, porém ainda podem ser alterados caso o analista julgue necessário, o que não pode é alterar a programação sem alterar os modelos anteriores senão estes não estarão mais demonstrando o real perfil do sistema.
È uma fase separada e distinta onde os modelos criados são convertidos em código.
UML – Fases de Desenvolvimento
Testes: Temos 3 tipos de testes:
Unidade: são para classes individuais ou grupos de classes e são geralmente testados pelo programador.
Integração: são aplicados já usando as classes e componentes integrados para se confirmar se as classes estão cooperando uma com as outras como especificado nos modelos.
Aceitação: observam o sistema como uma “caixa preta” e verificam se o sistema esta funcionando como o especificado nos primeiros diagramas de use-cases.
UML – Notação da Linguagem
Das 5 fases de desenvolvimento da UML, as fases de análise de requisitos, análise e design utilizam em seu desenvolvimento:Cinco tipos de visõesTreze tipos de diagramasVários modelos de elementos
UML – Visões
O sistema é descrito por várias visões, cada uma representando uma projeção da descrição completa e mostrando aspectos particulares do sistema.
Cada visão é descrita por um numero de diagramas que contém informações que dão ênfase aos aspectos particulares do sistema.
UML – Visões
Existem em alguns casos de sobreposições entre os diagramas -> isto significa que um diagrama pode fazer parte de mais de uma visão.
Os diagramas contém os modelos dos elementos do sistema.
UML – Visões
As Visões que compõe um sistema são:
UML – Visões
Visão Use-Case: Descreve a funcionalidade do sistema
desempenhada pelos atores externos do sistema (usuários).
Visão use-cases é central, já que seu conteúdo é base do desenvolvimento das outras visões do sistema.
Montada sobre os diagramas de use-cases e eventualmente sobre diagramas de atividade.
UML – Visões
Visão Lógica: Descreve como a funcionalidade do
sistema está implementada.Feita principalmente por analistas e
desenvolvedores.Ao contrário da visão use-cases, a visão
lógica observa e estuda o sistema internamente.
UML – Visões
Visão Lógica: Ela descreve e especifica a estrutura
estática do sistema (classes, objetos e relacionamentos) e as colaborações dinâmicas quando os objetos enviarem mensagens uns para os outros para realizarem as funções do sistema.
Persistência e concorrência são definidas nesta fase, bem como as interfaces e as estruturas de classes.
UML – Visões
Visão Lógica: A estrutura estática é descrita pelos
diagramas de classe e objetos.O modelo dinâmico é descrito pelos
diagramas de estado, seqüência, colaboração e atividade.
UML – Visões
Visão de Componentes: É uma descrição da implementação
dos módulos e suas dependências.É principalmente executados por
desenvolvedores, e consiste nos componentes dos diagramas.
UML – Visões
Visão de Concorrência: Trata a divisão do sistema em processos
e processadores.Este aspecto, que é uma propriedade
não funcional do sistema, permite uma melhor utilização do ambiente onde o sistema se encontrará, se o mesmo possui execuções paralelas, e se existe dentro do sistema um gerenciamento de eventos assíncronos.
UML – Visões
Visão de Concorrência: A visão de concorrência é suportada
pelos diagramas dinâmicos, que são os diagramas de estado, sequência, colaboração e atividade, e pelos diagramas de implementação, que são os diagramas de componentes e execução.
UML – Visões
Visão de Organização: Esta visão mostra a organização física
do sistema, os computadores, os periféricos e como eles se conectam entre si.
Esta visão é executada pelos desenvolvedores, integradores e testadores, e será representada pelo diagrama de execução.
UML – Diagramas
A UML define em sua versão 2.0 treze tipos de diagramas, divididos em duas categorias:
Diagramas Estruturais ou Estáticos : Mostram as características dos seu sistema que não mudam com o tempo.
Diagramas Dinâmicos : Mostram como o sistema responde às requisições ou como o mesmo evolui durante o tempo.
UML – Diagramas
* Diagramas criados na versão UML 2.0
UML – Diagramas
Diagrama de Classe: Apresenta elementos conectados por
relacionamento. Usado para exibir atividades do mundo real, além de elementos de análise e projeto;
Diagrama de Objetos: Apresenta objetivos e valores de dados.
Corresponde a uma instancia do diagrama de classes, mostrando o estado de um sistema em um determinado ponto do tempo;
UML – Diagramas
Diagrama de Componentes: Mostra as dependências entre componentes de
softwares, apresentando suas interfaces; Diagrama de Implantação :
Mostra a arquitetura do sistema em tempo de execução, as plataformas de hardware, artefatos de softwares e ambientes de softwares (como sistemas operacionais e máquinas virtuais);
UML – Diagramas
Diagrama de Pacotes: Usados para organizar elementos de modelo e
mostrar dependência entre eles; Diagrama de Estrutura Composta :
Usados para mostrar a composição de uma estrutura. Útil em estruturas compostas de estruturas complexas ou em projetos baseados em componentes;
UML – Diagramas
Diagrama de Caso de Uso: Mostra os casos de uso, atores e seus
relacionamentos que expressam a funcionalidade de um sistema;
Diagrama de Visão Geral: Uma variação do diagrama de atividades que
mostra de uma forma geral o fluxo de controle dentro de um sistema ou processo de negócios. Cada nó ou atividade dentro do diagrama pode representar outro diagrama de interação;
UML – Diagramas
Diagrama de Seqüência: Mostra as interações que correspondem a um
conjunto de mensagens trocadas entre objetos e a ordem que estas mensagens acontecem ;
Diagrama Temporal: Mostra a mudança de estado de um objetivo
numa passagem de tempo, em resposta a eventos externos;
UML – Diagramas
Diagrama de Comunicação: É o antigo diagrama de Colaboração, que
mostra objetos, seus inter-relacionamentos e o fluxo de mensagem entre eles;
Diagrama de Atividades: Representa a execução de ações ou atividades
e os fluxos que são disparados pela conclusão de outras ações ou atividades;
UML – Diagramas
Diagrama de Máquinas de Estados: Representa as ações ocorridas em resposta ao
recebimento de eventos.