View
309
Download
2
Category
Preview:
Citation preview
Prof. Marcelo H. Yamaguti (1)
Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Prof. Marcelo H. Yamaguti
Introdução à Engenharia de
Software
DESENVOLVIMENTO DE
SOFTWARE
Análise e Modelagem de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (2)
Referências
• Estude para aprofundamento no conteúdo:– SOMMERVILLE, Ian. Engenharia de Software. 9ª ed. São
Paulo: Pearson, 2011. – Capítulos 4 e 5
– PFLEEGER, Shari Lawrence. Engenharia de Software: teoria
e prática. 2ª ed. São Paulo: Prentice-Hall, 2004. - Capítulo 4
– IEEE. Guide to the Software Engineering Body of Knowledge.
SWEBOK. Version 3. IEEE Computer Society. 2014. –
Chapter 1
– BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia
do usuário. 2ed. Rio de Janeiro: Elsevier, 2006.
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (3)
Análise X Projeto (design)
• Análise:– Entendimento do problema
– Entendimento do escopo (âmbito) da solução
– Definição de uma solução conceitual (O QUE)
• Projeto*:– Definição de uma solução lógica (COMO)
* “Projeto” em inglês pode ser ‘Project’ ou ‘Design’. ‘Project’ é uma iniciativa que
envolve recursos para gerar um resultado. ‘Design’ é uma etapa do desenvolvimento de
software entre a Análise e a Implementação; há autores que traduzem como ‘Desenho’.
Projeto
(design)
Introdução à Engenharia de Software
AnáliseProblema
NecessidadeEspecificação
de requisitos
Arquitetura
Componentes
O QUE COMO
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (4)
Modelagem
• Durante a análise (de sistemas, de requisitos) uma
das atividades esperadas é a especificação
(modelagem) dos requisitos do sistema: definição
detalhada e formal de uma função de um sistema.
• A modelagem de sistema é um processo de
desenvolvimento de modelos abstratos de um sistema.
• Um modelo é uma abstração de alguma coisa, cujo
propósito é permitir que se conheça essa coisa antes
de construí-la.
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (5)
Modelagem
• Objetivos dos modelos:– Comunicação com clientes (usuários). Ex.: plantas baixas.
– Visualização. Ex.: maquetes.
– Testar uma entidade física antes de lhe dar forma. Ex.:
aeromodelos ou protótipos testados em túnel de vento.
– Redução da complexidade.
• Em software, usualmente utiliza-se diagramas para a
especificação de modelos.
• No contexto atual, a UML (Unified Modeling
Language – Linguagem de Modelagem Unificada)
provê diversos tipos de diagrama para a especificação
de modelos.
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (6)
Modelagem
• Para representar um sistema pode ser necessário
mais de um modelo que proveem visões diferentes.
• Algumas categorias de modelo são:
– Modelo de contexto
– Modelo de interação
– Modelo estrutural
– Modelo comportamental
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (7)
Modelo de contexto
• Modelo de contexto:
– Provê uma visão do contexto ou ambiente do sistema e os
limites do seu escopo (âmbito)
– Exemplo: Diagrama de Casos de Uso (UML)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (8)
Modelo de contexto
• Modelo de contexto:
– Exemplo: Diagrama de Atividades (UML)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (9)
Modelo de interação
• Modelo de interação:
– Provê uma visão das interações do sistema com o ambiente, ou
entre os componentes de um sistema.
– Ex.: Diagrama de Casos de Uso (UML)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (10)
Modelo de interação
• Modelo de interação:
– Ex.: Diagrama de Interação (UML)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (11)
Modelo estrutural
• Modelo estrutural:
– Provê uma visão da organização/estrutura do sistema.
– Ex.: Diagrama de Classes (UML)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (12)
Modelo estrutural
• Modelo estrutural:
– Ex.: Diagrama Entidade-Relacionamento
Introdução à Engenharia de Software
Médico Paciente Exame
Exame
clínico
Exame
patológico
atende realiza
CRM
Nome
Nome
Código
Data
Setor Código
origem
(1,N) (1,N) (1,1) (1,N)
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (13)
Modelo comportamental
• Modelo comportamental:
– Provê uma visão do comportamento dinâmico e como o
sistema reage a estímulos (eventos, dados).
– Ex.: Diagrama de Estados (UML)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (14)
Modelo comportamental
• Modelo comportamental:
– Ex.: Diagrama de Fluxos de Dados
Introdução à Engenharia de Software
Cadastra
pedido
1
Verifica
disponibilidade
2
Libera
pedido
3
Pedido
Pedidos feitos
Novo pedido
Novo pedido
Produtos disponíveis
Pedidos atendidos
Pedidos não atendidos
Pedido ok
Pedido ok
Produto
Produtodisponível
Pedido não atendido
Pedido não atendido
Produtoretirado
Cliente
Setor de
despacho
Setor de
estoque
Prof. Marcelo H. Yamaguti (15)
Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Prof. Marcelo H. Yamaguti
Introdução à Engenharia de
Software
DESENVOLVIMENTO DE
SOFTWARE
Análise e Modelagem de Software
Recommended