Vous êtes sur la page 1sur 13

25/06/2016

Disciplina: Anlise e Projeto Orientado a Objetos


Curso: Anlise e Desenv. de Sistemas Aplicados Gesto Empresarial (Ps-graduao )
Professor: Nelio Alves nelio@iftm.edu.br

Introduo
Princpios de design
Padro camadas
Criao dos artefatos
Projeto da camada de domnio
Projeto das realizaes de caso de uso

1
25/06/2016

Princpios de design

Disciplina
(subprocesso) Iniciao Elaborao

Anlise de Processos de negcio


negcio Ciclo de vida de entidades

Anlise de Casos de uso de sistema Casos de uso de sistema


(identificados) (detalhados)
requisitos
Modelo conceitual Projeto da camada de domnio
Projeto das realizaes de casos
Anlise & de uso
Design

2
25/06/2016

Projeto lgico:

Projeto lgico estrutural: representao da estrutura esttica das classes do


sistema, incluindo a camada de domnio, que elaborada a partir do modelo
conceitual.
Principais ferramentas: diagrama de classes e diagrama de pacotes

Projeto lgico dinmico: representao da maneira como os objetos interagem


para realizar as operaes e consultas de sistema.
Principais ferramentas: diagrama de sequncia ou diagrama de
comunicao

Projeto tecnolgico:

Inclui todos os aspectos do problema que so inerentes tecnologia empregada:


interface com usurio, armazenamento de dados, segurana, comunicao,
tolerncia a falhas, distribuio, etc.

Flexibilidade

Manutenibilidade Portabilidade
Fcil de alterar Fcil de adaptar a componentes ou
Fcil de analisar/entender plataformas diferentes
Fcil de substituir componentes

Quando eu tiver que mudar alguma coisa, quero mudar em somente um lugar!

Quero evitar ter que "lembrar" que tambm precisa mudar outra coisa.

3
25/06/2016

Objetivo geral: Manutenibilidade

Flexibilidade Portabilidade

Objetivos especficos:

Coeso (objetos "pequenos", especializados, reusveis, fceis de entender e modificar)


Baixo acoplamento (componentes independentes uns dos outros (depen-dncias fracas), cuja
modificao no implica em mudar outras coisas)

Tcnicas:

Generalizao para abstraes


Injeo de dependncia (inverso de controle)
Delegao
Distribuio de responsabilidades
Camadas (padro arquitetural)

Padro camadas:
1) Dividir o sistema em
camadas

2) Cada camada deve ter uma


responsabilidade clara

3) Cada camada s pode usar


servios das camadas
adjacentes

modelo OSI

4
25/06/2016

Front end (aplicao)

Back end (o "sistema")

Responsvel por Responsvel por


apresentar as tratar as interaes
informaes ("telas") dos atores,
Viso Controlador modificando as "telas"
Validaes bsicas
de dados

Operaes e Camada fina de


consultas de negcio disponibilizao do
"estticas sistema (ex: REST)

Validaes "no Fachada do backend


bsicas

Transaes
Camada de Servio Representao dos
dados de domnio
Operaes de Camada de
acesso aos dados domnio Operaes e
persistentes Camada de acesso a dados consultas de negcio
(conexes, consultas referentes ao prprio
SQL, etc.) objeto de domnio

5
25/06/2016

Projeto da camada de domnio


Projeto das realizaes de
casos de uso

Entrada:
Casos de uso
Modelo conceitual
Sada
Projeto da camada de domnio
Projeto das realizaes de caso de uso

6
25/06/2016

uma "evoluo" do modelo conceitual

De modo geral, o modelo conceitual ser acrescido


das operaes e consultas de negcio referentes ao
prprio objeto de domnio (no estticas)

As referidas operaes e consultas devero ser


descobertas a partir dos casos de uso e do prprio
modelo conceitual (e demais esclarecimentos na
etapa de anlise)

7
25/06/2016

UC02 Pesquisar Filmes


1. [IN] O usurio informa um trecho do ttulo e um valor mnimo e mximo
para o ano de um filme.
2. [OUT] O sistema apresenta uma lista de cdigo e ttulo dos filmes que
encaixam no(s) parmetro(s) informado(s), ordenada por ttulo.
3. [IN] O usurio seleciona um elemento da lista.
4. [OUT] O sistema informa cdigo, ttulo, durao, ano e o total
gasto em cache do filme selecionado.

8
25/06/2016

Delegao = maior
coeso

Determina como o caso de uso ser realizado pelas operaes e consultas do sistema

Sero descobertas operaes e consultas de negcio das classes da camada de servio:


FilmeServico, ArtistaServico, ParticipacaoServico

As referidas operaes e consultas devero ser descobertas a partir dos casos de uso e
do modelo conceitual (e demais esclarecimentos na etapa de anlise)

Ferramenta: diagrama de sequncia

Para maior simplicidade, sugere-se:


Fazer um diagrama separado para cada cenrio variante
Omitir detalhes que podem ser subentendidos pelos leitores

9
25/06/2016

10
25/06/2016

UC02 Pesquisar Filmes


1. [IN] O usurio informa um trecho do ttulo e um valor mnimo e mximo
para o ano de um filme.
2. [OUT] O sistema apresenta uma lista de cdigo e ttulo dos filmes que
encaixam no(s) parmetro(s) informado(s), ordenada por ttulo.
3. [IN] O usurio seleciona um elemento da lista.
4. [OUT] O sistema informa cdigo, ttulo, durao, ano e o total gasto em
cache do filme selecionado.

11
25/06/2016

UC01 Manter Artistas

12
25/06/2016

Sistema de filmes:
https://goo.gl/yyHQph

13