28
Modelagem de Software Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Universidade Federal de Mato Grosso do Sul Sistemas de Informação CPCX Prof. Fernando Maia da Mota

Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

Embed Size (px)

Citation preview

Page 1: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

Modelagem de

Software

Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado

UFMS/FACOM

Universidade Federal de Mato Grosso do Sul

Sistemas de Informação – CPCX

Prof. Fernando Maia da Mota

Page 2: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

2

Um software de boa qualidade só pode

ser obtido caso esteja em conformidade

aos requisitos

O bom entendimento dos requisitos é a

base para a Análise e o Projeto de Software

Page 3: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

3

Entendimento

Modificação

Revalidação

Projeto (Desenho)

Codificação

Teste

Análise de Sistema

Planejamento

Análise de Requisitos

Fases dos Modelos de Processo de Software

DEFINIÇÃO

CONSTRUÇÃO

MANUTENÇÃO

ATIVIDADES DE

APOIO

• Controle e

Acompanhamento do

Projeto de Software

• Revisões Técnicas

Formais

• Garantia de Qualidade

de Software

• Gerenciamento de

Configuração de

Software

• Preparação e Produção

de Documentos

• Gerenciamento de

Reusabilidade

• Medidas

• Gerenciamento de

Riscos

Análise OO

Projeto OO

Page 4: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

4

DEFINIÇÃO

CONSTRUÇÃO

MANUTENÇÃO

SOFTWARE PRODUTO

“o que”

• informações a serem

processadas

• funções e desempenho

desejados

• interfaces que devem ser

estabelecidas

• restrições do projeto

• critérios de validação

requeridos

Requisitos de Software

Page 5: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

5

Análise de Requisitos

Clarear + extrair requisitos

Descobrir, tornar explícito, obter o

máximo de informação para o

conhecimento do problema em questão

Page 6: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

6

Exemplo de um documento

de requisitos

Page 7: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

7

Vamos falar nesta disciplina

sobre Análise e Projeto de

Software!

Page 8: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

Para que servem os

modelos?

Page 9: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software
Page 10: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

10

A Modelagem como Técnica de

Análise e Projeto

“Um modelo é uma abstração de alguma coisa,

cujo propósito é permitir que se conheça essa

coisa antes de construí-la” (Rumbaugh et al.)

Um modelo omite os detalhes não essenciais e,

portanto, sua manipulação é mais fácil do que a

da entidade original

Page 11: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

11

Engenharia de

Sistemas

Análise de

Requisitos

Projeto

Codificação

Testes

Manutenção $ $ $ $ $

Page 12: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

12

A Modelagem como Técnica de

Análise e Projeto

A abstração é uma fundamental capacidade humana que nos permite lidar com elementos complexos

Engenheiros, artistas e artesãos constroem modelos há milhares de anos para testar projetos antes de executá-los

Page 13: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

13

A Modelagem como Técnica de

Análise e Projeto

No desenvolvimento de sistemas abstrair significa concentrar-se no que um objeto é e faz, antes de decidir como ele deve ser implementado

Na construção de um modelo não se deve procurar a verdade absoluta, e sim a adequação a algum propósito. Não há um único modelo “correto” de uma situação, apenas modelos adequados e inadequados

Page 14: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

14

A Modelagem como Técnica de

Análise e Projeto

O uso da abstração durante a análise

significa:

lidar apenas com conceitos do domínio da

aplicação

não ter que tomar decisões sobre o projeto e a

implementação antes do problema ser

compreendido

Page 15: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

15

A Modelagem como Técnica de

Análise e Projeto

Os modelos servem para diversos objetivos:

Entender o que está sendo construído

obter visualização do delineamento das ideias

Melhorar comunicação entre os membros da

equipe e com os clientes

Testar uma entidade antes de lhe dar forma

Reduzir a complexidade

Page 16: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

16

Prática de Modelagem de Software

Em Engenharia de Software, duas

categorias principais de modelos são

criadas:

modelos de análise

modelos de projeto

Page 17: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

17

Prática de Modelagem de Software

Modelos de análise: representam os requisitos do

cliente mostrando o software em três domínios

diferentes: o domínio de informação, o domínio

funcional e o domínio comportamental

Modelos de projeto: representam características

de software que ajudam os profissionais a construí-

lo efetivamente: a arquitetura, a interface do

usuário e os componentes

Page 18: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

18

Princípios da Modelagem

(Análise de Software)

1- O domínio de informação de um problema

precisa ser representado e entendido

2- As funções a serem desenvolvidas pelo

software devem ser definidas

3- O comportamento do software (como

consequência de eventos externos) precisa

ser representado

Page 19: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

19

Princípios da Modelagem

(Análise de Software)

4- A tarefa de análise deve começar na informação essencial e partir para informações mais detalhadas

Page 20: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

20

Princípios da Modelagem

(Projeto de Software)

1- O projeto deve estar relacionado ao modelo de

análise

2- Sempre considere a arquitetura do sistema a ser

construído

3- O projeto dos dados é tão importante quanto o

projeto de funções de processamento

4- As interfaces (tanto externas quanto internas)

precisam ser projetadas com cuidado

Page 21: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

21

Princípios da Modelagem

(Projeto de Software)

5- O projeto de interface do usuário deve estar

sintonizado com as necessidades do usuário final

6- O projeto em nível de componente deve ser

funcionalmente independente

7- Os componentes devem ser fracamente acoplados

uns aos outros e ao ambiente externo

Page 22: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

22

Princípios da Modelagem

(Projeto de Software)

8- Modelos de projeto devem ser facilmente

compreensíveis

9- O projeto deve ser desenvolvido

iterativamente

Page 23: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

23

Prática de Modelagem de Software

Existem muitos modelos diferentes que

podem ser desenvolvidos na análise de

sistemas

Page 24: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

24

Prática de Modelagem de Software

Diferentes tipos de sistemas podem exigir modelos diferentes para realçar as características importantes

Diferentes projetos podem exigir diferentes ferramentas de modelagem face aos padrões de documentação impostos por organizações externas

Page 25: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

25

Prática de Modelagem de Software

Qualquer ferramenta deve ter as seguintes

características:

deve ser gráfica, com adequado detalhamento textual

de apoio

deve permitir que o sistema seja visualizado de

forma subdividida

deve ter mínima redundância

deve ajudar o leitor a prognosticar o comportamento

do sistema

deve ser transparente para o leitor

Page 26: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

Trabalho Prático (05/03 às 23h no email

[email protected])

Indicar os membros do grupo, o nome e uma

breve descrição do sistema que será

desenvolvido na disciplina.

Máximo de 03 pessoas por grupo.

26

Page 27: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

Trabalho Prático (12/03 até às 18:30 no

email [email protected] e

trazer impresso na aula)

Elaborar o documento de requisitos do sistema do

projeto

Utilize como base o documento de requisitos do

sistema de clínica veterinária

27

Page 28: Universidade Federal de Mato Grosso do Sul Sistemas de …fernandommota.github.io/academy/disciplines/2015/analise... · 2015-06-30 · PRESSMAN, ROGER S. Engenharia de Software

28

Bibliografia

SANCHES, ROSELY. Material Didático: Engenharia de Software. ICMC-USP, 2004.

PRESSMAN, ROGER S. Engenharia de Software. 6ª edição. Rio de Janeiro: McGraw-Hill, 2006.

M. Blaha, J. Rumbaugh. Modelagem de Projetos baseados em Objetos com UML 2. Editora Campus, 2006.