Você está na página 1de 41

Engenharia

de Software

Fowler / Booch /
Jacobson /
Rumbaugh /
Guedes /
Cordeiro

Anlise e
Projetos de
Sistemas OO II
Teoria e
Exerccios
gabrielpacheco@euvoupassar.com.br
www.tiparaconcursos.net

facebook.com/tiparaconcursos

twitter.com/gabrielfpacheco
1

Contedo Programtico.
Anlise e projeto de sistemas:
Anlise e projeto estruturado / Anlise
estruturada.
Anlise e projeto OO.
Conceitos fundamentais.
Anlise.
Modelagem.
Padres de projeto.
UML.
5

Anlise e projeto de Sistemas


Estruturado X OO
Estruturado:
Foco no como fazer.
Inadequao entre o comportamento e a estrutura de
dados.
Sensvel a mudanas.
Sem noo de estrutura e responsabilidade.
Impossibilidade de medirmos o impacto de uma mudana.

Anlise e projeto de Sistemas


Estruturado X OO
OO:
Foco no que fazer.
Estrutura de dados e comportamento em mesmo modelo.
Estrutura de responsabilidade definida.
Pode-se medir o impacto de uma mudana.

Anlise e projeto de Sistemas


Modelos OO
Procedimentos de concepo de sistemas a partir
dos conceitos de OO.
Corresponde s principais fases de um ciclo de vida
de software genrico.
Especificao de software.
Projeto e implementao de software.
Validao de software.
Evoluo de software.

Anlise e projeto de Sistemas


Modelos OO
OMT Object Modelling Tecnique:
4 fases: anlise, projeto de sistema, projeto de objetos e
implementao.
Fase de anlise com 3 diagramas que representam os
modelos de objeto, dinmico e funcional.

Booch:
Baseado em 3 fases: anlise de requisitos, anlise de
domnios e projetos.
Trabalhando com os diagramas: de classes, de transio de
estados, de objetos, temporais, de mdulos e de
processos.
9

Anlise e projeto de Sistemas


Modelos OO
Coad/Yourdon: utiliza um modelo nico para OOA,
OOD e OOP.
Shlaer/Mellor: conjunto integrado de modelos de
anlise e que depois so traduzidos durante o
projeto.
OOSE (Jacobson): centrado em UCs com
aprofundamento no andar da carroagem.
Fuso (OMT e Jacobson): integrao entra OMT e
Booch.
UML: Unificao do OMT, Booch e OOSE.
10

Anlise e projeto de Sistemas


POO Modelagem Orientada a Objeto
Abstrao com propsito de entender um problema
antes de solucion-lo.
Possibilita a simulao e testes de um sistema antes
mesmo dele ser construdo.
Facilita a comunicao entre usurios e membros da
equipe de desenvolvimento.

11

Anlise e projeto de Sistemas


POO Modelagem Orientada a Objeto
OMT:
Modelo Objeto: aspectos estticos, estruturais, dados do
sistema.
Modelo Dinmico: aspectos temporais, comportamentais,
controle do sistema.
Modelo Funcional: representa os aspectos
transformacionais e de funo de um sistema.
Todos eles esto interconectados, depende do nvel de
abstrao que est sendo utilizado.

12

Anlise e projeto de Sistemas


POO Anlise e Projeto OO
Abordagem RUP X UML.
Anlise Orientada a Objetos: desenvolvimento de um
modelo orientado a objetos do domnio da aplicao.
Devem refletir as entidades e as operaes associadas ao
problema a ser resolvido.
Projeto Orientado a Objetos: desenvolvimento de um
modelo orientado a objetos de um sistema. Os objetos
devero estar relacionados soluo do problema.
Programao Orientada a Objeto: realizar um projeto de
software usando uma linguagem de programao
orientada a objetos.
A transio entres estes estgios deve ser contnua com
notaes compatveis a cada estgio.
13

Anlise e projeto de Sistemas


Rational Unified Process - RUP
Descrito a partir de trs perspectivas:
Dinmica fases do modelo ao longo do tempo.
Esttica atividades realizadas no processo.
Prtica boas prticas a serem usadas durante o
processo.

14

Anlise e projeto de Sistemas


Rational Unified Process - RUP

15

Anlise e projeto de Sistemas


Rational Unified Process - RUP
Modelo constitudo por 4 fases discretas:
Concepo: estabelecer um business case para o
sistema. Avaliao do ambiente de negcio em
relao contribuio de um sistema para o
negcio. (escopo)
Elaborao: desenvolver um entendimento do
domnio do problema, estabelecer um framework,
desenvolver um plano de projeto e identificar os
riscos principais do projeto. (modelo de requisitos
para o sistema).(arquitetura).
16

Anlise e projeto de Sistemas


Rational Unified Process - RUP
Modelo constitudo por 4 fases discretas:
Construo: relacionada ao projeto, programao e
teste de sistema. As partes so desenvolvidas
separadamente e integradas. Software funcional +
documentao. (desenvolvimento)
Transio: fase final do RUP. Transferncia do
desenvolvimento para o usurio. Entrada do sistema
em produo. Fase onerosa e problemtica.
(implantao).

17

Anlise e projeto de Sistemas


Rational Unified Process - RUP
Cada fase pode ser realizada de forma iterativa, com
resultados desenvolvidos incrementalmente.
O conjunto total de fases pode ser realizada de forma
incremental.

18

Anlise e projeto de Sistemas


Rational Unified Process - RUP
Viso esttica do RUP (os Workflows):
Fases so dinmicas e tem objetivos.
Workflows so estticos e constituem atividades tcnicas
que no esto associadas a uma nica fase.
As fases no esto associadas aos workflows especficos.

19

Anlise e projeto de Sistemas


Rational Unified Process - RUP
Viso esttica do RUP (os Workflows):
Modelagem de negcios: processos de negcio so
modelados usando casos de uso de negcios.
Requisitos: agentes que interagem com o sistemas so
identificados e os UCs so desenvolvidos para modelar os
requisitos de sistema.
Anlise e projeto: modelo de projeto criado e
documentado usando modelos de arquitetura, modelos de
componente, modelos de objeto e modelos de sequencia.
Implementao: componentes de sistema so
implementados e estruturados em subsistemas de
implementao.
20

Anlise e projeto de Sistemas


Rational Unified Process - RUP
Viso esttica do RUP (os Workflows):
Teste: processo iterativo realizado em conjunto com a
implementao.
Implantao: verso do produto criada, distribuda aos
usurios e instalada.
Gerenciamento de configurao e mudanas: gerencia as
mudanas do sistema.
Gerenciamento de projetos: gerencia o desenvolvimento
do sistema.
Ambiente: est relacionado disponibilizao de
ferramentas apropriadas de software para a equipe de
desenvolvimento.
21

Anlise e projeto de Sistemas


Rational Unified Process - RUP
O RUP recomenda 6 melhores prticas fundamentais
(linhas mestras):
Desenvolver o software iterativamente: incrementos de
software priorizados e entregues.
Gerenciar requisitos: documentao e acompanhamento
das mudanas dos requisitos.
Usar arquiteturas baseadas em componentes: estruturar a
arquitetura de sistema de componentes.
Modelar o software visualmente: modelos grficos UML.
Verificar a qualidade do software: atendam aos padres de
qualidade da organizao.
Controlar as mudanas do software: usando um SGM e
procedimentos.
22

Anlise e projeto de Sistemas


RUP Desenvolvimento Iterativo
Ciclo de vida que consiste em vrias iteraes.
Cada iterao incorpora um conjunto quase
sequncial de atividades em modelagem de
negcios, requisitos, anlise de projeto,
implementao, teste e implantao.

23

Anlise e projeto de Sistemas


RUP Desenvolvimento Iterativo

24

Anlise e projeto de Sistemas


RUP Desenvolvimento Iterativo
Riscos detectados e tratados mais cedo, pois os
elementos so integrados progressivamente.
A melhora o refinamento do produto.
Melhoria de seus processos.
Aumento da capacidade de reutilizao.

25

Anlise e projeto de Sistemas


RUP Gerenciamento de Requisitos
Requisito:
Uma condio ou capacidade com a qual o sistema dever
estar em conformidade.
Descries dos servios fornecidos pelo sistema e as suas
restries operacionais.
Reflete as necessidades dos clientes de um sistema que
ajuda a resolver algum problema.

26

Anlise e projeto de Sistemas


RUP Gerenciamento de Requisitos
Gerenciamento de Requisitos:
Abordagem sistemtica para localizar, documentar,
organizar e controlar os requisitos de um sistema.
As chaves para o gerenciamento eficaz de requisitos
incluem manter uma sentena clara dos requisitos, junto
com os atributos aplicveis e a rastreabilidade para outros
requisitos e outros artefatos do projeto.

27

Anlise e projeto de Sistemas


RUP Gerenciamento de Requisitos
Dificuldades na coleta de Requisitos:
Nem sempre os requisitos so bvios e podem vir de vrias fontes.
Existem diversos tipos de requisitos em diferentes nveis de detalhe.
O nmero de requisitos pode se tornar impossvel de gerenciar se eles no
forem controlados.
Os requisitos esto relacionados uns com os outros, e tambm com o
produto liberado do processo de engenharia do software.
Os requisitos tm propriedades exclusivas ou valores de propriedade. Por
exemplo, eles no so necessariamente igualmente importantes ou
igualmente fceis de se atender.
H vrias partes interessadas, o que significa que os requisitos precisam ser
gerenciados por grupos de pessoas de diferentes funes.
Os requisitos so alterados.

28

Anlise e projeto de Sistemas


RUP Uso da Arquitetura de Componentes
Componentes:
Grupos de cdigo coesos, na forma de cdigo fonte ou
executvel, com interfaces bem definidas e comportamentos
que fornecem forte encapsulamento do contedo e so,
portanto, substituveis.
Pedao no-trivial de software, um mdulo, um pacote ou um
subsistema, sendo que todos desempenham uma funo clara,
possuem uma fronteira clara e podem ser integrados em uma
arquitetura bem definida.
Realizao de uma abstrao de design.

As arquiteturas baseadas em componentes tendem a


reduzir o tamanho efetivo e a complexidade da soluo.
29

Anlise e projeto de Sistemas


RUP Modelagem Visual
Uso de notaes de design grficas e textuais para
capturar designs de software.
Uma notao, permite que o nvel de abstrao seja
aumentado, enquanto mantm sintaxe e semntica
rgidas (UML).
Dessa maneira, a comunicao na equipe de design
melhora, medida que o design formado e revisado,
permitindo ao leitor raciocinar sobre ele e fornecendo
uma base no ambgua para a implementao.

30

Anlise e projeto de Sistemas


RUP Modelagem Visual
Capturar a estrutura e o comportamento.
Exibir como os elementos do sistema se integram.
Manter projeto e implementao consistentes.
Esconder ou exibir detalhes como for apropriado.
Proporcionar uma comunicao no ambgua.

31

Anlise e projeto de Sistemas


RUP Contnua Verificao da Qualidade
Caracterstica de ter demonstrado a realizao da
criao de um produto que atende ou excede os
requisitos acordados, conforme avaliado por medidas
e critrios acordados, e que criado em um processo
acordado.
No se trata de uma nica dimenso, mas de vrias e
para tal deve ter seus requisitos definidos.
A localizao e soluo de problemas ficam at 1000
vezes mais caras se realizadas aps a implantao.
A verificao no decorrer do projeto essencial.
32

Anlise e projeto de Sistemas


RUP Contnua Verificao da Qualidade
Identificao das medidas e dos critrios para
demonstrar a obteno da qualidade e a
implementao de um processo para garantir que o
produto criado tenha atingido o grau desejado de
qualidade e possa ser repetido e gerenciado.

33

Anlise e projeto de Sistemas


RUP Gerenciamento de Mudana
Recurso utilizado para superar a dificuldade de
controle no processo de desenvolvimento quando se
fala em mudanas.

34

Anlise e projeto de Sistemas


RUP Princpios Chave
Adaptar Processos.
Balancear Prioridades dos Interessados.
Colaborao entre Times.
Demonstrar Valor da Iteratividade.
Elevar o Nvel de Abstrao.
Foco contnuo na Qualidade.

35

Anlise e projeto de Sistemas


RUP Adaptar Processo
Ciclo de vida eficiente.
Incremento da agilidade do projeto.
Uso de planos e estimativas realsticas.

36

Anlise e projeto de Sistemas


RUP Balancear Prioridade dos Interessados
Alinhamento dos aplicativos s necessidades do
negcio e dos usurios.
Reduo do desenvolvimento customizado.
Otimizao do valor do negcio.

37

Anlise e projeto de Sistemas


RUP Colaborao entre Times
Incremento da produtividade do Time.
Alinhamento entre as necessidades do negcio e o
desenvolvimento e operao dos Sistemas de
Informao.

38

Anlise e projeto de Sistemas


RUP Demonstrar Valor de Iteratividade
Reduo prematura de risco.
Prognostico ao longo do projeto.
Concordncia entre interessados.

39

Anlise e projeto de Sistemas


RUP Elevar o nvel de Abstrao
Maior produtividade.
Reduo d nvel de complexidade.

40

Anlise e projeto de Sistemas


RUP Fco na Qualidade
Alta qualidade.
Incremento do
prematuramente.

progresso

da

qualidade

41

Você também pode gostar