Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues...

47
Análise e Projeto de Análise e Projeto de Sistemas Sistemas Aula 6 Aula 6 Professor: Italo Rodrigues Castro Professor: Italo Rodrigues Castro

Transcript of Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues...

Page 1: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

Análise e Projeto de SistemasAnálise e Projeto de Sistemas

Aula 6Aula 6

Professor: Italo Rodrigues CastroProfessor: Italo Rodrigues Castro

Page 2: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

2

A Linguagem de Modelagem Unificada (UML)

Page 3: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 4: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 5: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 6: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 7: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 8: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 9: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 10: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 11: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 12: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 13: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 14: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 15: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 16: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 17: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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

Page 18: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 19: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 20: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 21: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 22: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 23: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 24: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 25: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 26: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 27: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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

Page 28: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 29: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 30: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

UML – Visões

As Visões que compõe um sistema são:

Page 31: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 32: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 33: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 34: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 35: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 36: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 37: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 38: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 39: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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.

Page 40: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

UML – Diagramas

* Diagramas criados na versão UML 2.0

Page 41: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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;

Page 42: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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);

Page 43: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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;

Page 44: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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;

Page 45: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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;

Page 46: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

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;

Page 47: Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 6 Professor: Italo Rodrigues Castro.

UML – Diagramas

Diagrama de Máquinas de Estados: Representa as ações ocorridas em resposta ao

recebimento de eventos.