Please enable JavaScript.
Coggle requires JavaScript to display documents.
Projeto e Implementação (Sommerville Cap. 7) - Coggle Diagram
Projeto e Implementação
(Sommerville Cap. 7)
Atividades intercaladas
(
projeto e implementação
)
Etapas do processo POO
Processo não é sequencial, mas sim desenvolvendo-se a partir de
ideias
, da proposição de
soluções
e do
refinamento
destas à medida que mais informações são disponibilizadas.
:check: Identificar Principais Objetos
Abordagem gramatical, comportamental,
e de cenários.
:check: Desenvolver Modelos de Projeto
Modelos estruturais (estáticos)
Componentes, Subsistemas,
Pacotes, Classes, Objetos
Modelos dinâmicos
Sequência, Estado, Atividades
:check: Projetar Arquitetura
Arquitetura. Estilos arquiteturais
:check: Especificar Interfaces de Objetos
Estereótipo <<interface>>
:check: Contexto e Interações Externas
Contexto (estrutural), Interações (dinâmico)
Casos de Uso (웃 + ⬭ ). Ambiente e limites do sistema.
Construir ou Comprar
(COTS, Reuso de componentes)
Problemas Projeto
Pontos de aplicação de um padrão
Padrões de Projeto
Reúso de Conhecimento
(solução abstrata para problema recorrente)
Elementos Essenciais
Nome, Descrição Problema, Descrição Solução, Consequências
Exemplo: Observer
Modelo UML (classes)
Observer e Subject (concreto e abstrato)
ConcreteSubject
subjectState
getState() {return subjectState}
is-a
Subject
observers
attach(observer)
detach(observer)
notify()
{
for each o in
observers
o.update()
}
:small_blue_diamond: 1
has-a
1..*
ConcreteObserver
observerState
update()
{
observerState=subject.getState()
}
is-a
Observer
update()
:link:
https://refactoring.guru/pt-br/design-patterns/observer
Questões de
Implementação
Reúso
:level_slider: Níveis de Reúso
Abstração (padrões - proj./arq.)
Componente (frameworks)
Objeto (bibliotecas/APIs)
Sistema (COTS)
:money_with_wings: Custos
Busca, Aquisição, Adaptação, Integração
Gerenciamento
de Configuração
Gerenciamento de Versões
Integração de sistemas
Bug Tracking
Gerenciamento de
Releases
Desenvolvimento
host/target
Host (IDE, compilador, teste) & Target (biblioteca, sistemas, BD)
Código Aberto (
Open Source
)
Modelo de Negócio
Licenças e Gerenciamento de Licenças