Você está na página 1de 24

Engenharia de Software

Projeto de Software

Profa. Elanne Mendes


Aula 13 - Projeto de Software

Contextualização
O que é? Qual é o artefato? Por que é importante?
Os requisitos dos Um modelo do O projeto permite que se
stakeholders, as necessidades projeto que engloba modele o sistema a ser
da aplicação e as representações de construído. O modelo
considerações técnicas se arquitetura, interface, pode ser avaliado e
juntam na formulação de um componentes e aperfeiçoado antes da
produto. cenários de utilização. codificação.
Como os requisitos
estabelecidos devem ser
implementados no software?

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 2


Aula 13 - Projeto de Software

Contextualização

● O projeto de software está no núcleo da Engenharia de


Software.
● Este processo ocorre independente do modelo de processo
adotado.
● Inicia assim que os requisitos são analisados e modelados.
● Engloba atividades de modelagem antes da construção do
software.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 3


Aula 13 - Projeto de Software

“O projeto de software sempre deve começar


levando em consideração os dados – a base
para todos os demais elementos do projeto.
Depois de estabelecida a base, a arquitetura
tem de ser extraída. Só então devem se
realizar outras tarefas de projeto”
Roger Pressman

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 4


Aula 13 - Projeto de Software

O modelo de projeto
● O modelo de projeto possui quatro elementos principais:

Dados Arquitetura

Componentes Interface

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 5


Aula 13 - Projeto de Software

Dados
Elementos de projeto de dados
● O projeto de dados ou arquitetura de dados cria um
modelo de dados e/ou informações que é representado
em um nível de abstração elevado (ponto de vista do
cliente/usuário dos dados)
● O modelo é refinado em representações mais específicas
da implementação

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 6


Aula 13 - Projeto de Software

Dados
Elementos de projeto de dados
● Importância do modelo de dados:
○ O projeto das estruturas de dados e os algoritmos
necessários para manipulá-los são essenciais para o
software de alta qualidade;
○ A transformação de um modelo de dados em um banco
de dados é fundamental para atingir os objetivos de
negócio do sistema;
○ O conjunto de informações do banco de dados possibilita
a mineração de dados e descoberta de conhecimento
relevante e com alto impacto para o negócio.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 7


Aula 13 - Projeto de Software

Dados

Exemplo
de projeto
de dados

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 8


Aula 13 - Projeto de Software

Arquitetura
Elementos de projeto de
arquitetura
● Arquitetura de software é a estrutura ou a organização de
componentes de programa (módulos), a maneira como esses
componentes interagem e a estrutura de dados que são
usados pelos componentes.
● Os elementos de projeto de arquitetura nos dão uma visão
geral do software
○ É como a planta baixa de uma casa.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 9


Aula 13 - Projeto de Software

Arquitetura
Elementos de projeto de
arquitetura
● O modelo de arquitetura compreende um conjunto de
subsistemas interligados;
● O modelo de arquitetura é obtido a partir de:
○ Informações sobre o domínio da aplicação a ser
construída;
○ Elementos do modelo de requisitos como casos de uso,
classes, suas relações e colaborações;
○ Disponibilidade de estilos e padrões arquiteturais.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 10


Aula 13 - Projeto de Software

Arquitetura

Exemplo de
projeto de
arquitetura

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 11


Aula 13 - Projeto de Software

Componentes
Elementos de projeto de
componentes
● O projeto de componentes descreve completamente os
detalhes internos de cada componente de software.
● Define (1) estruturas de dados para todos os objetos de dados
locais, (2) detalhes algorítmicos para todo o processamento
que ocorre em um componente e (3) uma interface que dá
acesso a todas as operações de componentes.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 12


Aula 13 - Projeto de Software

Componentes
Elementos de projeto de
componentes
● O projeto de componentes pode ser modelado em
diferentes níveis de abstração:
○ Processamento lógico (diagrama de atividades)
○ Fluxo procedural (fluxograma)
○ Estrutura algorítmica (programação estruturada,
programação orientada a objetos, pseudocódigo, etc.)
○ Estrutura de dados (programação estruturada, programação
orientada a objetos, pseudocódigo, etc.)

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 13


Aula 13 - Projeto de Software

Exemplo do projeto Componentes


de componentes

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 14


Aula 13 - Projeto de Software

Elementos de projeto de Interface

interface
● Interface é um especificador para as operações visíveis
externamente de uma classe, componentes ou outra
entidade, sem a especificação da estrutura interna.
● O projeto de interface para software é análogo a um conjunto
de representações para portas, janelas e ligações externas de
uma casa;
● Os elementos do projeto de interface representam fluxos de
informações que entram e saem de um sistema e como são
transmitidos entre os componentes definidos como parte da
arquitetura.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 15


Aula 13 - Projeto de Software

Elementos de projeto de Interface

interface
● Há três importantes elementos do projeto de interface:
Interface de usuário (UI) ou projeto de usabilidade
● Incorpora elementos estéticos (layout, cor, imagens, interação),
ergonômicos (navegação, posicionamento de informações) e técnicos
(padrões de interface, componentes reutilizáveis).
● É um subsistema da arquitetura da aplicação.

Interfaces externas para outros sistemas, dispositivos, redes


ou outros produtores e consumidores de informação
● Considera com quais entidades haverá troca de informações.
● Deve incorporar verificação de erros e garantia de segurança.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 16


Aula 13 - Projeto de Software

Elementos de projeto de Interface

interface
● Há três importantes elementos do projeto de interface:

Interfaces internas entre os componentes do projeto


● Está intimamente ligado ao projeto de componentes
● Deve considerar todas as operações e esquemas de trocas de
mensagens necessários para as operações das classes de projeto.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 17


Aula 13 - Projeto de Software

O processo do projeto

● O projeto de software é um processo iterativo por


meio do qual os requisitos são traduzidos em uma
“planta” para a construção do software.
● Essa planta consiste em representações de diferentes
perspectivas do software.
● Atualmente, há maior ênfase na arquitetura de
software e adoção de padrões de projeto.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 18


Aula 13 - Projeto de Software

O processo do projeto

● Diversas abordagens de projeto existentes.


○ Projeto orientado a objetos, projeto orientado a aspectos, etc.
● Características comuns:
○ Mecanismos para transformar um modelo de
requisitos em representações de projeto.
○ Notação para representar componentes
funcionais e suas interfaces.
○ Diretrizes para refinamento e divisão.
○ Diretrizes para avaliação da qualidade.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 19


Aula 13 - Projeto de Software

O processo do projeto

● O projeto deve implementar todos os requisitos


explícitos contidos no modelo de requisitos.
● O projeto deve ser um guia legível e compreensível
para os desenvolvedores, testadores e para a equipe
de suporte.
● O projeto deve fornecer uma visão completa do
software, com perspectivas sobre os dados,
funcionalidades, comportamentos e implementação.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 20


Aula 13 - Projeto de Software

Atividade

● Identifique uma abordagem de projeto existente e


faça um resumo sobre suas principais características,
diagramas, onde se aplica.

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 21


Aula 13 - Projeto de Software

Atividade

● Identifique uma abordagem de projeto existente e


faça um resumo sobre suas principais características,
diagramas, onde se aplica.
○ Design Thinking
○ Design Centrado no Usuário
○ Projeto Orientado a Objetos
○ Projeto Estruturado

Profa. Elanne Mendes - UFC Russas - Engenharia de Software 22


Referências
● Sommerville, I. (2011). Engenharia de Software, 9 edição. Pearson
Prentice Hall.
● Pressman, R., & Maxim, B. (2016). Engenharia de Software –Uma
abordagem profissional-8ª Edição. McGraw Hill Brasil.
Obrigada!
Profa. Elanne Mendes
elanne@ufc.br

Você também pode gostar