Prof. Giovani Motter
Análise e Projeto de Sistemas Orientado a Objetos Análise e Projeto de Sistemas Orientado a Objetos
utilizando UMLutilizando UML
FACULDADE IGUAÇU – CapanemaFACULDADE IGUAÇU – Capanema
Especialização em Java com desenvolvimento para webEspecialização em Java com desenvolvimento para web
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 2
Análise (I)
A análise enfatiza a investigação do problema; O objetivo da análise é levar o analista a
investigar e a descobrir; Para que esta etapa seja realizada em menos
tempo e de forma mais precisa, deve-se ter um bom método de trabalho;
Pode-se dizer que o resultado da análise é o enunciado do problema, e que o projeto será a sua solução;
Problemas mal enunciados podem até ser resolvidos, mas a solução não corresponderá às expectativas.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 3
Análise (II)
A qualidade do processo de análise é importante porque:
Um erro de concepção resolvido na fase de análise tem um custo;
Um erro na fase de projeto tem um cuto maior; Um erro na fase de implementação tem um custo
maior ainda; Um erro na fase de implantação tem um custo
astronômico, ou mesmo pode representar o fracasso do projeto.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 4
Projeto
A fase de projeto enfatiza a proposta de uma solução que atenda os requisitos da análise.
Então, se a análise é uma investigação para tentar descobrir o que o cliente quer, o projeto consiste em propor uma solução com base no conhecimento adquirido na análise.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 5
Implementação
A utilização de técnicas sistemáticas nas fases de análise e projeto faz com que o processo de geração de código possa ser automatizado;
Neste caso, cabe ao programador dominar a características específicas da linguagens, ferramentas, frameworks e estruturas de dados para adaptar o código gerado aos requisitos indicados quando necessário.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 6
Testes
A fase de testes envolve:
os testes de unidade (unit tests), feitos pelo programador, para verificar se os componentes gerados atendem à especificação do projetista;
os testes de caso de uso, normalmente efetuados por um analista experiente, que visam identificar a adequação do sistema aos requisitos inicialmente levantados;
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 7
Quatro fases do RUP (Rational Unified Process)
A fase de concepção incorpora o estudo de viabilidade e uma parte da análise de requisitos;
A fase de elaboração incorpora a maior parte da análise de requisitos, a análise de domínio e o projeto;
A fase de construção corresponde à programação e testes;
A fase de transição consiste na instalação e manutenção do sistema;
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 8
RUP (Rational Unified Process)
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 9
RUP (Rational Unified Process)
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 10
Análise de Requisitos (I)
A análise de requisitos é fundamental para o desenvolvimento de sistemas, pois trata justamente de descobrir o que o cliente quer com o sistema;
A análise de requisitos está associada ao processo de descobrir quais são as operações que o sistema deve realizar e quais são as restrições que existem sobre estas operações;
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 11
Análise de Requisitos (II)
Requisitos podem ser: Funcionais: o que o sistema deve fazer; Não-Funcionais: restrições sobre como o sistema
deve desempenhar suas funções. “De que forma, como, quando, onde, para quem, por quanto tempo, etc. Tais operações se realizam?” são perguntas típicas.
Exemplo: Registrar o empréstimo de um filme é um requisito
funcional; Estabelecer que o tempo de empréstimo da fita não
pode ser superior a 48 horas é uma restrição, ou requisito não-funcional.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 12
Análise de Domínio
A análise de domínio está relacionada à descoberta das informações que são gerenciadas no sistema, ou seja, à representação e transformação da informação.
Exemplo: No sistema de informações de uma vídeo-locadora, as
informações descobertas na análise de domínio possivelmente seriam relativas aos clientes, às fitas, aos empréstimos, aos pagamentos, etc.
Deve ficar claro ao analista que requisitos são as “coisas” que o cliente ou usuário solicitam, e não “coisas” que ele, como analista, planejou.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 13
Concepção / Iniciação (I)
Levantamento de Requisitos Entrevistas Análise de Documentos Estudo Bibliográfico Comparativo
Organização de Requisitos Planejamento dos Ciclos Iterativos
Objetivos da Concepção / Iniciação: Buscar as primeiras informações sobre o sistema a
ser desenvolvido; Descobrir se vale a pena fazer a análise, mas sem
fazer a análise propriamente dita;
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 14
Concepção / Iniciação (II)
Atividades da fase de Concepção / Iniciação: Descobrir / Modelar a visão da empresa para o
sistema;• O que a empresa quer com o projeto?• Por que ele está sendo proposto?• Há tempo disponível? Construir ou Comprar?• O cliente tem dinheiro para pagar o desenvolvimento?• O projeto é viável / realizável?
Levantar requisitos; Organizar requisitos; Planejar o desenvolvimento:
• Métricas;• Cronograma;• Recursos.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 15
Características do RUP
Iterativo e Incremental
Orientado a Casos de Uso
Centrado em Arquitetura
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 16
Modelagem de Sistemas Orientados a Objetos
Antigamente não havia uma forma padrão de se analisar e modelar sistemas orientados a objetos.
Diferentes metodologias levavam a um desentendimento e confusão por parte de analistas e desenvolvedores, por suas diferentes características, elementos conceituais e notação.
Algumas metodologias eram boas em determinadas características, mas ruins ou inexistentes em outras necessidades da análise e modelagem OO.
Grady Booch, James Rumbaugh e Ivar Jacobson (“os três amigos”) se juntaram, unificaram suas metodologias e criaram a UML, pegando o melhor de cada e melhorando com o suporte e ajuda da comunidade.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 17
Unified Modeling Language (UML)
UML é uma linguagem de modelagem de sistemas, usada para: Especificar; Modelar; Visualizar; Documentar.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 18
Unified Modeling Language (UML)
A UML é dividida em algumas partes, como segue: Visões: Mostram os diferentes aspectos do sistema,
dando enfoque a ângulos e níveis de abstrações diferentes, construindo uma visão completa do sistema a ser construído.
Modelos de Elementos: São os conceitos utilizados nos diagramas. Representam definições comuns da OO.
Mecanismos Gerais: Provém comentários suplementares, informações ou semântica sobre os elementos dos modelos.
Diagramas: São gráficos que descrevem o conteúdo em uma visão. A UML possui vários tipos de diagramas que, combinados, formam todas as visões do sistema.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 19
Unified Modeling Language (UML)
Por que usar UML? Desenvolver o modelo de uma aplicação antes de
construí-la, é tão essencial quanto ter uma planta para a construção de uma casa.
Bons modelos são essenciais para a comunicação entre os times de projetos e para assegurar a beleza arquitetural.
Com o aumento da complexidade dos sistemas, é importância conhecer boas técnicas de modelagem.
Ter um rigoroso padrão de linguagem de modelagem é um fator essencial para o sucesso de um projeto.
Como a UML se tornou uma notação padrão da indústria de arquitetura de software, ela é assunto abordado em muitos livros, seminários e sites.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 20
Modelos de Elementos da UML
Os elementos da UML são blocos de construção para os modelos dos diagramas e são essenciais para o entendimento da UML.
Cada elemento tem um propósito diferente, diferentes regras e notações;
Alguns elementos podem ser usados em diferentes diagramas;
Existem um grande conjunto de elementos disponíveis na especificação;
Vamos estudar os principais elementos especificados pela UML.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 21
Modelos de Elementos da UML
Caso de Uso É a descrição de um conjunto de seqüências de
ações realizadas pelo sistema, que proporciona resultados observáveis de valor para um determinado ator.
Ator O Ator é alguém ou algo externo ao sistema, mas
que vai interagir com o sistema.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 22
Modelos de Elementos da UML
Classe É a descrição de conjunto de objetos que
compartilham os mesmos atributos (estado) e operações (comportamento).
Objeto Um objeto é uma instância de uma classe, em
tempo de execução.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 23
Modelos de Elementos da UML
Pacote É um mecanismo de propósito geral para a
organização de elementos em grupo.
Nota A nota é apenas um símbolo para representar
restrições e comentários anexados a um elemento. Geralmente usa-se a nota para aprimorar os diagramas.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 24
Modelos de Elementos da UML - Relacionamentos
Os elementos dos modelos UML estão ligados uns aos outros, especificando o que cada elemento significa ao outro e qual o grau de ligação deles, ou seja, qual a relação lógica entre os elementos.
Existem diferentes tipos e graus de relacionamentos. São eles: Associação Generalização Dependência Refinamento
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 25
Modelos de Elementos da UML - Relacionamentos
Associação A associação representa uma ligação entre dois
elementos. As associações ainda podem expressar a
cardinalidade e a navegação (sentido) da associação.
A cardinalidade (ou multiplicidade) indica quantos elementos são possíveis de cada lado da associação e pode ser expressada como um número ou um intervalo.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 26
Modelos de Elementos da UML - Relacionamentos
Agregação Este é um caso particular de associação. Indica que um elemento é parte ou está contida em
outra classe. Representa uma relação do tipo parte/todo.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 27
Modelos de Elementos da UML - Relacionamentos
Composição ou Agregação de Composição É uma relacionamento onde um elemento está
contido em outro, ou seja a vida de um depende do outro, e o seus tempos de vida são os mesmos.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 28
Modelos de Elementos da UML - Relacionamentos
Generalizações A generalização é um relacionamento entre um
elemento mais geral e um mais específico. O elementos mais específico possui todas as
características do seu elemento mais geral, como as propriedades e seu comportamento, além de poder adicionar mais características a ele mesmo.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 29
Modelos de Elementos da UML - Relacionamentos
Dependência A dependência é uma conexão semântica entre
dois elementos, um independente e outro dependente.
Qualquer alteração no elemento independente pode afetar o elemento dependente.
Em classes, a dependência indica que o elemento apenas instancia e/ou usa o elemento independente, sem manter uma relação duradoura com o elemento.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter
Diagramas UML
Principais diagramas UML para projetos Orientado a Objetos: Diagrama de Casos de Uso Diagrama de Atividades Diagrama de Classes Diagrama de Objetos Diagrama de Estados Diagrama de Seqüência Diagrama de Colaboração Diagrama de Componentes Diagrama de Execução
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 31
Diagrama de Caso de Uso (I)
O Diagrama de Casos de Uso serve para: Visualizar os relacionamentos entre os atores e os
casos de uso do sistema (cenários), numa visão geral.
Levantar os requisitos funcionais do sistema.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 32
Diagrama de Caso de Uso (II)
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 33
Diagrama de Caso de Uso (III)
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 34
Diagrama de Atividades (I)
O Diagrama de Atividades mostra o fluxo de controle.
Tipicamente as atividades são estados de ação – estados que transitam para outro estado, assim que a ação tenha sido completada.
Este diagrama pode ser usado em qualquer nível: fluxo dos casos de uso, fluxo no nível de programação, fluxo das regras de negócio, etc.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 35
Diagrama de Atividades (II)
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 36
Diagrama de Classes (I)
Mostra a estrutura estática do modelo da aplicação;
Exibe as classes do sistema e o grau do relacionamentos entre elas.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 37
Diagrama de Classes (II)
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 38
Diagrama de Objetos
O Diagrama de Objetos é muito similar ao Diagrama de Classes e utiliza quase a mesma notação.
Também possibilita a descrição de cenários de execução.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 39
Diagrama de Estados
Serve para mostrar todos os estados possíveis dos objetos de um classe do modelo, e que eventos do sistema causam essas mudanças de estado.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 40
Diagrama de Seqüência
Mostra a interação entre os objetos da aplicação arranjados numa linha do tempo.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 41
Diagrama de Colaboração
O Diagrama de Colaboração é semelhante ao Diagrama de Seqüência, mostrando a colaboração dinâmica entre os objetos, sem levar em conta a linha do tempo.
Neste diagrama, além da troca de mensagens, pode-se perceber o relacionamento entre os objetos.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 42
Diagrama de Componentes
O Diagrama de Componentes mostra o lado funcional, expondo a relação entre seus componentes e suas dependências.
Análise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani MotterAnálise e Projeto de Sistemas Orientado a Objetos utilizando UML – Prof. Giovani Motter 43
Diagrama de Execução / Deployment
O Diagrama de Execução mostra o lado funcional, exibindo a arquitetura física do hardware e do software do sistema.
Top Related