análise e modelagem de software

15
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

Upload: marcelo-yamaguti

Post on 21-Jan-2017

309 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Análise e Modelagem de Software

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

Page 2: 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

Page 3: Análise e Modelagem 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

Page 4: Análise e Modelagem de Software

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

Page 5: Análise e Modelagem 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

Page 6: Análise e Modelagem 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

Page 7: Análise e Modelagem 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

Page 8: Análise e Modelagem 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

Page 9: Análise e Modelagem 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

Page 10: Análise e Modelagem 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

Page 11: Análise e Modelagem 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

Page 12: Análise e Modelagem 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)

Page 13: Análise e Modelagem de Software

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

Page 14: Análise e Modelagem 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

Page 15: Análise e Modelagem de Software

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