Вы находитесь на странице: 1из 32

IFPA

Tecnologia em Análise e Desenvolvimento de Sistemas (TADS)

Práticas de Engenharia de
Software

Projeto e Implementação
(parte 1 – UML)
PROFESSOR: Claudio Roberto de Lima Martins
claudiomartins2000@gmail.com
1
Assuntos

 Projeto Orientado a objetos usando a UML


 Atividade prática

Chapter 7 Design and Implementation 2


Projeto (Design) e implementação
O projeto (design) e a implementação de software são
estágios no processo de engenharia de software no qual
um sistema de software executável é desenvolvido.
 As atividades de projeto e implementação de software
são interligados:
 O design de software é uma atividade criativa na qual você
identifica componentes de software e seus relacionamentos, com
base nos requisitos de um cliente.
 Implementação é o processo de realização do projeto como um
programa.

3
Construir ou Comprar?
 Numa vasta gama de domínios, é possível agora
comprar sistemas disponíveis no mercado
(COTS) que podem ser adaptados às
necessidades dos clientes.

• Por exemplo, se você quiser implementar um sistema de registros


médicos, você pode comprar um pacote que já é usado em hospitais.
Pode ser mais barato e mais rápido usar essa abordagem ao invés de
desenvolver um sistema em uma linguagem de programação
convencional.

Quando você desenvolve um aplicativo desta forma, o


processo de design se preocupa em como usar os recursos
de configuração desse sistema para fornecer os requisitos
do sistema.
Chapter 7 Design and Implementation 4
Projeto Orientado a objetos usando a UML

Chapter 7 Design and Implementation 5


Um processo de projeto/design OO

Os processos de projeto orientados a objetos


(OO) envolvem o desenvolvimento de vários
diferentes modelos de sistemas.
Eles exigem muito esforço para o
desenvolvimento e manutenção desses modelos
e, para sistemas pequenos, isso pode não ser
rentável.
No entanto, para grandes sistemas desenvolvidos
por diferentes grupos, os modelos de projeto são
um importante mecanismo de comunicação.

Chapter 7 Design and Implementation 6


Estágios do Processo
 Há uma variedade de processos que dependem da
organização que os utiliza.
 Atividades comuns a esses processos são:
 Definir o contexto e os modos de utilização do sistema;
 Projetar a arquitetura do sistema;
 Identificar os principais objetos do sistema;
 Desenvolver modelos de projeto;
 Especificar interfaces de objeto.
 O exemplo de processo ilustrado aqui usa um projeto para
uma estação meteorológica em um ambiente de floresta
selvagem.

Chapter 7 Design and Implementation 7


Contexto do Sistema e interações
Entender as relações entre o software que está sendo
projetado e seu ambiente externo é essencial para
decidir como fornecer a funcionalidade necessária do
sistema e como estruturar o sistema para se
comunicar com seu ambiente.
A compreensão do contexto também permite
estabelecer os limites do sistema.
 A definição dos limites do sistema ajuda a decidir quais
recursos são implementados no sistema que está sendo
projetado e quais recursos estão em outros sistemas
associados (que farão interface com o sistema projetado).

Chapter 7 Design and Implementation 8


Modelos de Contexto e interação
 Um modelo de contexto do sistema é um modelo estrutural
que demonstra os outros sistemas no ambiente do sistema
que está sendo desenvolvido.
 Um modelo de interação é um modelo dinâmico que mostra
como o sistema interage com seu ambiente conforme é
usado.

Chapter 7 Design and Implementation 9


Contexto do Sistema para a Estação Meteorológica

Chapter 7 Design and Implementation 10


Casos de uso da estação meteorológica

Chapter 7 Design and Implementation 11


Descrição do caso de uso — Relatório do tempo (Report weather)
System Weather station
Use case Report weather
Actors Weather information system, Weather station
Description The weather station sends a summary of the weather data that has
been collected from the instruments in the collection period to the
weather information system. The data sent are the maximum,
minimum, and average ground and air temperatures; the maximum,
minimum, and average air pressures; the maximum, minimum, and
average wind speeds; the total rainfall; and the wind direction as
sampled at five-minute intervals.
Stimulus The weather information system establishes a satellite
communication link with the weather station and requests
transmission of the data.
Response The summarized data is sent to the weather information system.
Comments Weather stations are usually asked to report once per hour but this
frequency may differ from one station to another and may be
modified in the future.
Chapter 7 Design and Implementation 12
Projeto Arquitetural
Uma vez que as interações entre o sistema e seu
ambiente foram compreendidas, você usa essas
informações para projetar a arquitetura do sistema.
Você identifica os principais componentes que
compõem o sistema e suas interações e, em seguida,
organiza os componentes usando um padrão
arquitetural, como um modelo em camadas ou cliente-
servidor.
A estação meteorológica é composta por subsistemas
independentes que se comunicam transmitindo
mensagens em uma infraestrutura comum.

Chapter 7 Design and Implementation 13


Arquitetura de alto nível da estação meteorológica

Chapter 7 Design and Implementation 14


Arquitetura do sistema de “coleta de dados”

Chapter 7 Design and Implementation 15


Identificação das classes de objetos
 Identificar classes de objetos é muitas vezes uma parte difícil
do design orientado a objetos.
 Não existe uma "fórmula mágica" para a identificação de
objetos. Ele depende da habilidade, experiência e
conhecimento de domínio de designers de sistemas.

Identificação de objeto é um
processo iterativo. É
improvável que você entenda
bem na primeira vez.

Chapter 7 Design and Implementation 16


Abordagens para identificação de Classes
Use uma abordagem “gramatical” baseada no
vocabulário da linguagem natural do sistema.
Identifique coisas tangíveis no domínio de
aplicação.
Use uma abordagem comportamental e identifique
objetos com base no que participa em qual
comportamento.
Use uma análise baseada em cenários.
 Os objetos, atributos e métodos em cada cenário são
identificados.

Chapter 7 Design and Implementation 17


Descrição da Estação meteorológica
Uma estação meteorológica é um pacote de
instrumentos controlados por software que coleta
dados, executa algum processamento de dados e
transmite esses dados para processamento posterior.
Os instrumentos incluem termômetros de ar e terra,
um anemômetro, uma ventoinha, um barômetro e
um pluviômetro. Os dados são coletados
periodicamente.
Quando é emitido um comando para transmitir os
dados meteorológicos, a estação meteorológica
processa e resume os dados recolhidos. Os dados
resumidos são transmitidos ao computador de
mapeamento quando um pedido é recebido.
18
Classes de objeto da estação meteorológica
A identificação da classe de objeto no sistema de
estação meteorológica pode ser baseada no
hardware tangível e dados no sistema:
 Termos: termômetro, Anemômetro, Barômetro
▶ Objetos de domínio da aplicação que representam o 'hardware'
relacionado aos instrumentos no sistema.

 Estação meteorológica
▶A interface básica da estação meteorológica para o seu ambiente.
Reflete, portanto, as interações identificadas no modelo de caso de
uso.

 Dados meteorológicos
▶ Encapsula os dados resumidos dos instrumentos.
Chapter 7 Design and Implementation 19
Classes de objetos da Estação meteorológica

Chapter 7 Design and Implementation 20


Modelos de Projeto

Modelos de projeto mostram os objetos e classes de


objetos e relações entre essas entidades.
Existem dois tipos de modelo de design:
 Modelos estruturais descrevem a estrutura estática do
sistema em termos de classes de objetos e
relacionamentos.
 Modelos dinâmicos descrevem as interações dinâmicas
entre objetos.

Chapter 7 Design and Implementation 21


Exemplos de modelos de projeto

 Modelos de subsistema que mostram agrupamentos


lógicos de objetos em subsistemas coerentes.
 Modelos de seqüência que mostram a seqüência de
interações de objetos.
 Modelos de máquinas de estado que mostram como
objetos individuais mudam seu estado em resposta a
eventos.
 Outros modelos incluem modelos de casos de uso,
modelos de agregação, modelos de generalização, etc.

Chapter 7 Design and Implementation 22


Modelos de Subsistemas
 Mostra como o projeto é organizado em grupos de objetos
logicamente relacionados.
 Na UML, estes são mostrados usando pacotes - uma
construção de “agrupamento” (encapsulamento).
 Representa um modelo lógico. A organização real dos objetos no
sistema pode ser diferente.

Chapter 7 Design and Implementation 23


Modelos de Sequência
Os modelos de seqüência mostram a seqüência de
interações de objetos que ocorrem
 Os objetos são dispostos horizontalmente através do topo;
 O tempo é representado verticalmente para que os modelos
sejam lidos de cima para baixo;
 As interações são representadas por setas rotuladas,
Diferentes estilos de seta representam diferentes tipos de
interação;
 Um retângulo fino em uma linha de vida de objeto
representa o tempo quando o objeto é o objeto de controle
no sistema.

Chapter 7 Design and Implementation 24


Diagrama de seqüência que descreve a “coleta de dados”

Chapter 7 Design and Implementation 25


Diagramas de estado
 Os diagramas de estado são usados para mostrar como os
objetos respondem a solicitações de diferentes serviços e as
transições de estado desencadeadas por essas solicitações.
 Os diagramas de estado são modelos úteis de alto nível de
um sistema ou o comportamento em tempo de execução de
um objeto.
 Geralmente, você não precisa de um diagrama de estado
para todos os objetos no sistema. Muitos dos objetos em um
sistema são relativamente simples e um modelo de estado
adiciona detalhes desnecessários ao projeto.

Chapter 7 Design and Implementation 26


27
Diagrama do estado da estação meteorológica

Chapter 7 Design and Implementation 28


Especificação da interface
 Asinterfaces de objeto devem ser especificadas para que os objetos e
outros componentes possam ser projetados em paralelo.
 Osdesigners devem evitar desenhar a representação da interface, mas
devem ocultá-la no próprio objeto.
 Objetos
podem ter várias interfaces que são pontos de vista sobre os
métodos fornecidos.
A UML usa diagramas de classes para especificação de interface, mas o
Java também pode ser usado.

29
Interfaces da estação meteorológica

Chapter 7 Design and Implementation 30


Atividade
1. Considere a definição do sistema para clínicas médicas usada na prática
ágil. Acrescente outros detalhes à definição, considerando possíveis
interfaces com outros sistemas ou atores (equipamentos, por ex).
2. Defina e modele o contexto do sistema.
3. Modele a arquitetura do sistema, considerando o contexto (inclua os
relacionamentos com atores externos).
4. Identifique as principais funcionalidades, atores e interfaces com sistemas
externos a partir do contexto.
5. Identifique as classes de objetos
6. Modele um cenário que possa utilizar um diagrama de estado e outro com
diagrama de sequência.
7. Identifique classes que tenham interfaces comuns ao sistema.

31
Referência

▶ SOMMERVILLE, Y. Engenharia de Software 9ª ed.


Pearson - Adisson Wesley 2011.
 Cap.7 (Projeto e implementação)

32

Вам также может понравиться