56
1 Curso de Gestão da TI Análise de Projetos de Sistemas Prof. Flávio Barbosa 23/09/2009

Aula 8 – Análise de Projetos de Sistemas

Embed Size (px)

Citation preview

Page 1: Aula 8 – Análise de Projetos de Sistemas

1

Curso de Gestão da TI

Análise de Projetos de Sistemas

Prof. Flávio Barbosa

23/09/2009

Page 2: Aula 8 – Análise de Projetos de Sistemas

2

Módulo 4.1

Aula 8

Estudo de Caso

Page 3: Aula 8 – Análise de Projetos de Sistemas

3

AGENDA• Análise Estruturada x Análise OO• Construção dos diagramas do SI da

biblioteca

Page 4: Aula 8 – Análise de Projetos de Sistemas

4

Para solucionar o problema do reduzido

reaproveitamento dos códigos

(reusabilidade), definiu-se melhor a ideia de

Análise Orientada a Objeto (AOO).

O setor de informática da maioria das

organizações têm desenvolvido os seus

softwares utilizando a programação

orientada a objeto.

ANÁLISE ESTRUTURADA x ANÁLISE OO

Page 5: Aula 8 – Análise de Projetos de Sistemas

5

A programação orientada a objeto (POO) é

diferente da programação estruturada.

Na POO, funções e dados estão juntos,

formando o objeto. Essa abordagem cria uma

nova forma de analisar, projetar e

desenvolver programas; uma forma mais

abstrata e genérica, que permite maior

reaproveitamento dos códigos e facilita a

sua manutenção.

ANÁLISE ESTRUTURADA x ANÁLISE OO

Page 6: Aula 8 – Análise de Projetos de Sistemas

6

Cuidado! Existem gatos no mundo OO.A maioria dos bancos de dados (BD) são

relacionais, ou seja, não OO.Se no seu produto houver um atributo com a

imagem, quando o objeto for criado ele poderá

trazer a imagem mesmo não a utilizando. Esse

simples exemplo, aumentaria o tráfego da rede

e processamento do BD desnecessariamente.

PODERÁ porque é

possível utilizar de

implementações que

busquem a informação

somente quando for

utilizada.

ANÁLISE ESTRUTURADA x ANÁLISE OO

Page 7: Aula 8 – Análise de Projetos de Sistemas

7

Observe que a análise (modelagem)

orientada a objeto não é somente uma

nova forma de programar, mas uma nova

forma de pensar um problema, de forma

abstrata, utilizando conceitos do mundo

real e não conceitos computacionais.

ANÁLISE ESTRUTURADA x ANÁLISE OO

Page 8: Aula 8 – Análise de Projetos de Sistemas

8

O usuário final verá todos

os ícones e janelas da tela

como objetos e associará a

manipulação desses objetos

visuais à manipulação dos

objetos reais que eles

representam.

ANÁLISE ESTRUTURADA x ANÁLISE OO

8

Page 9: Aula 8 – Análise de Projetos de Sistemas

9

Por exemplo, um ícone impressora representará a impressora de seu sistema computacional (real) e permitirá a execução deimpressão, a seleção do tamanho da página, entre outras operações com esse objeto.

ANÁLISE ESTRUTURADA x ANÁLISE OO

Page 10: Aula 8 – Análise de Projetos de Sistemas

10

A UML define somente como deve ser o Diagrama

de Casos de Uso (desenho), e não a narrativa.

Esse fato provocou e, provoca, a disseminação

de vários templates (modelos) de como escrever

as narrativas dos casos de uso.

CONSIDERAÇÃO SOBRE CASOS DE USO

TEXTODESENHO

10

Page 11: Aula 8 – Análise de Projetos de Sistemas

11

Não há um consenso geral sobre como

descrever a narrativa, existem técnicas,

mas não é possível afirmar que essa ou

aquela está correta, isso dependerá:Projeto;Processos; Ferramentas

disponíveis.

CONSIDERAÇÃO SOBRE CASOS DE USO

Page 12: Aula 8 – Análise de Projetos de Sistemas

12

Sistema de biblioteca.

Ferramenta para modelagem dos

casos de uso será o StarUML.

Os requisitos estão no livro didático.

ESTUDO DE CASO

Page 13: Aula 8 – Análise de Projetos de Sistemas

13

Site da ferramenta StarUML encontra-se no

endereço: http://staruml.sourceforge.net/en/

ESTUDO DE CASO

Page 14: Aula 8 – Análise de Projetos de Sistemas

14

O StarUML permite a criação de projeto por

Abordagem, ou seja, ele cria uma “estrutura”

baseada em cada uma das abordagens que

ele oferece.

Criando um novo projeto no StarUML

Será utilizado

um projeto

vazio.

Page 15: Aula 8 – Análise de Projetos de Sistemas

15

Definido o título do projeto

e algumas propriedades

referentes a autoria do

modelo.

Criando um novo projeto no StarUML

Page 16: Aula 8 – Análise de Projetos de Sistemas

16

Adicionando o modelo

funcional ao projeto.

Criando um novo projeto no StarUML

Page 17: Aula 8 – Análise de Projetos de Sistemas

17

Adicionando diagrama de caso de uso

“Visão Geral” ao projeto.

Criando um novo projeto no StarUML

Page 18: Aula 8 – Análise de Projetos de Sistemas

18

DIAGRAMA DE CASO DE USO: Visão Geral

Bibliotecário

Leitores

Categoriade Leitores

ObrasLiterárias

Categoriade Obras

Funcionários

Empréstimoda Obra

Leitor

Devoluçãoda Obra

Essa é a visão geral dos requisitos.

Incrementando os requisitos…

Page 19: Aula 8 – Análise de Projetos de Sistemas

19

Adicionando a

Consulta a todos os

cadastros.

Incrementando os requisitos…

Bibliotecário

GerenciarLeitores

CategorizarLeitores

GerenciarObras

Literárias

CategorizarObras

GerenciarFuncionários

EmprestarObra

Leitor

Devolver aObra

ConsultarCadastros

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

DIAGRAMA DE CASO DE USO: Visão Geral

Page 20: Aula 8 – Análise de Projetos de Sistemas

20

Adicionando a

Manutenção a todos

os cadastros.

Bibliotecário

GerenciarLeitores

CategorizarLeitores

GerenciarObras

Literárias

CategorizarObras

GerenciarFuncionários

EmprestarObra

Leitor

Devolver aObra

ConsultarCadastros

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

Incluir, Alterar eExcluir Cadastros

(Manutenção)

<<extend>>

DIAGRAMA DE CASO DE USO: Visão Geral

Page 21: Aula 8 – Análise de Projetos de Sistemas

21

ATIVIDADE EM DUPLAS – SOLICITO INTERAÇÃO

Quais os requisitos ou

tipo de requisitos, que

não estão contemplados

pelo diagrama de Caso de

Uso “Visão Geral”

observando o item “B1” do

livro didático p.170? Por

que não estão

contemplado?

Bibliotecário

GerenciarLeitores

CategorizarLeitores

GerenciarObras

Literárias

CategorizarObras

GerenciarFuncionários

EmprestarObra

Leitor

Devolver aObra

ConsultarCadastros

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

Incluir, Alterar eExcluir Cadastros

(Manutenção)

<<extend>>

Page 22: Aula 8 – Análise de Projetos de Sistemas

22

DIAGRAMA DE CASO DE USO: Visão Geral

Adicionando

um

Descritivo

Narrativo

(documen-

tação) aos

casos de

uso.

Page 23: Aula 8 – Análise de Projetos de Sistemas

23

Explicitando a

dependência

entre casos de

uso (seta

pontilhada).

O caso de uso origem, de onde a seta saiu,

depende do caso de uso que está recebendo a

seta ou está sendo apontado.

DIAGRAMA DE CASO DE USO: Visão Geral

Page 24: Aula 8 – Análise de Projetos de Sistemas

24

Neste exemplo se lê

a dependência:

“Gerenciar Leitores”

depende de

“Categorizar

Leitores”.Isso porque é necessário ter a categoria

de leitores previamente cadastrada para

ser usada no registro do leitor.

DIAGRAMA DE CASO DE USO: Visão Geral

Page 25: Aula 8 – Análise de Projetos de Sistemas

25

DIAGRAMA DE CASO DE USO: Visão Geral

Por que não foi

criado um

<<include>> ao

invés de indicar a

dependência?

Porque “Categorizar Leitores” existe sozinho, ou

seja, independente do Caso de Uso “Gerenciar

Leitores” existir, ele é um cadastro próprio.

Page 26: Aula 8 – Análise de Projetos de Sistemas

26

DIAGRAMA DE CASO DE USO: Visão Geral

É o mesmo caso

de “Gerenciar

Obras

Literárias” que

depende de

“Categorizar

Obras”.

Page 27: Aula 8 – Análise de Projetos de Sistemas

27

Ao documentar o caso de uso “Gerenciar

Funcionários” observá-se que o bibliotecário terá

acesso a essa funcionalidade. Uma pergunta deve

ser respondida junto

ao usuário:

“O Bibliotecário

poderá gerir os

funcionários?”

DIAGRAMA DE CASO DE USO: Visão Geral

ESSE EXEMPLO EXPLICA

PORQUE O DIAGRAMA DE

CASO DE USO TAMBÉM É

UMA TÉCNICA DE

ELICITAÇÃO

(LEVANTAMENTO) DE

REQUISITOS.

ESSE EXEMPLO EXPLICA

PORQUE O DIAGRAMA DE

CASO DE USO TAMBÉM É

UMA TÉCNICA DE

ELICITAÇÃO

(LEVANTAMENTO) DE

REQUISITOS.

Page 28: Aula 8 – Análise de Projetos de Sistemas

28

DIAGRAMA DE CASO DE USO: Visão Geral

Neste exemplo foi

descoberto algo

que o cliente não

sabia ou não

havia pensado.

O Stakeholder consultado

definiu que o Depto. De RH

gerenciará os funcionários.

O Stakeholder consultado

definiu que o Depto. De RH

gerenciará os funcionários.

Page 29: Aula 8 – Análise de Projetos de Sistemas

29

ATIVIDADE

Porém, o

Stakeholder poderia

ter dito que existe um

bibliotecário gerente

responsável pelos

cadastro dos

funcionários.

Neste caso, como ficaria esse modelo?

Page 30: Aula 8 – Análise de Projetos de Sistemas

30

Adicionando o modelo

estrutural ao projeto.

Criando o modelo estrutural

Page 31: Aula 8 – Análise de Projetos de Sistemas

31

Adicionando diagrama de classe

“Classes Gerais” ao projeto.

Criando um novo diagrama no modelo estrutural

Page 32: Aula 8 – Análise de Projetos de Sistemas

32

É importante começar a modelagem das

classes pelos casos de uso que são

dependências

de outros.

Criando as Classes do SI

Vamos observar

quem recebe a

seta de

dependência:

Page 33: Aula 8 – Análise de Projetos de Sistemas

33

No modelo de Classes Gerais criado

modelamos as classes dependentes:

Criando as Classes do SI

Page 34: Aula 8 – Análise de Projetos de Sistemas

34

Nome da classe em itálico indica que ela

é abastrata, ou seja, não será

instanciada.

Criando as Classes do SI

Page 35: Aula 8 – Análise de Projetos de Sistemas

35

Métodos ou atributos sublinhados

indicam que o escopo é de classe ao

invés de instância (objeto).

Criando as Classes do SI

Page 36: Aula 8 – Análise de Projetos de Sistemas

36

A classe descendente (filha) herda

atributos e métodos da classe ancestral

(pai).

Criando as Classes do SI

Page 37: Aula 8 – Análise de Projetos de Sistemas

37

Modelando as demais classes:

Vamos aos

detalhes…

Criando as Classes do SI

Page 38: Aula 8 – Análise de Projetos de Sistemas

38

Modelando as demais classes:

Agrupar

Semelhanças

(abstração)

Observem o

atributo

“telefone”

Criando as Classes do SI

Page 39: Aula 8 – Análise de Projetos de Sistemas

39

Modelando as demais classes:

Multiplicidade

Criando as Classes do SI

Page 40: Aula 8 – Análise de Projetos de Sistemas

40

Modelando a movimentação:

Vamos aos

detalhes…

Criando as Classes do SI

Page 41: Aula 8 – Análise de Projetos de Sistemas

41

Modelando a movimentação:

Composição

Criando as Classes do SI

Page 42: Aula 8 – Análise de Projetos de Sistemas

42

Modelando a movimentação:

Relatórios

representados

pelo tipo “List”

Criando as Classes do SI

Page 43: Aula 8 – Análise de Projetos de Sistemas

43

Atendendo os requisitos B2 – Impressões.O sistema deve permitir a impressão de uma listagem das obras emprestadas no momento, agrupadas por categoria de obra, contendo o nome do leitor, título da obra, data de retirada e data prevista para devolução.

Criando as Classes do SI

Page 44: Aula 8 – Análise de Projetos de Sistemas

44

Atendendo os requisitos B2 – Impressões.O sistema deve permitir a impressão de um relatório contendo as obras em atraso no período (por exemplo, semanal ou quinzenal), contendo, para cada dia do período, o nome do leitor, o telefone, o e-mail, a data de empréstimo e a data prevista para devolução.

Criando as Classes do SI

Page 45: Aula 8 – Análise de Projetos de Sistemas

45

Atendendo os requisitos B2 – Impressões.O sistema deve permitir ao leitor imprimir um histórico de seus empréstimo de obras. Para tal o leitor deve ter sido previamente cadastrado e deve portar um código de identificação e uma senha.Esse histórico deve conter uma linha para cada obra emprestada pelo leitor, contendo o título da obra, a data de retirada e devolução e o valor da multa em cada ocasião.

Criando as Classes do SI

Page 46: Aula 8 – Análise de Projetos de Sistemas

46

Atendendo os requisitos B2 – Impressões.O sistema deve permitir a consulta on-line da situação de uma obra literária. Uma obra está ocupada se existe um leitor que a emprestou no momento. Essa consulta deve mostrar uma linha para cada obra, constando, em cada uma dessas linhas, o título da obra, o número de cópias existentes, o número de obras ocupadas e o número de obras disponíveis.

Criando as Classes do SI

Page 47: Aula 8 – Análise de Projetos de Sistemas

47

Atendendo os requisitos B2 – Impressões.

Modelo de Caso de Uso para Listagens

Page 48: Aula 8 – Análise de Projetos de Sistemas

48

O StarUML pode gerar a documentação

usando a opção de menu Tools ->

StarUML Generator…

Clique em

Next

Gerando a documentação do SI.

Page 49: Aula 8 – Análise de Projetos de Sistemas

49

O StarUML pode gerar a documentação

usando a opção de menu Tools -> StarUML

Generator…

Clique em

Next

Gerando a documentação do SI.

Page 50: Aula 8 – Análise de Projetos de Sistemas

50

O StarUML pode gerar a documentação

usando a opção de menu Tools -> StarUML

Generator…

Clique em

Generate.

Gerando a documentação do SI.

Page 51: Aula 8 – Análise de Projetos de Sistemas

51

O StarUML pode gerar a documentação

usando a opção de menu Tools ->

StarUML Generator…

Clique em

Finish.

Gerando a documentação do SI.

Page 52: Aula 8 – Análise de Projetos de Sistemas

52

O StarUML pode gerar a documentação

usando a opção de menu Tools ->

StarUML Generator…

Clique em

Finish.

PRONTO!

Gerando a documentação do SI.

Page 53: Aula 8 – Análise de Projetos de Sistemas

53

O documento gerado pelo StarUML tem as

seguintes caracteristicas:

1.Índice Analítico e Remissivo;

2.Contem a Narrativa dos casos bem

como os diagramas dos seus gráficos;

Gerando a documentação do SI.

Page 54: Aula 8 – Análise de Projetos de Sistemas

54

Diagrama de Implantação

Documentando Requisitos Não-Funcionais

Page 55: Aula 8 – Análise de Projetos de Sistemas

55

1. Sistemas

2. Sistemas de Informação

3. Ciclo de Vida

4. Engenharia de Requisitos

5. Análise Estruturada e Orientada a

Objetos

REVISÃO

Page 56: Aula 8 – Análise de Projetos de Sistemas

56

Visite o site e avalie a aula.

Utilize seu código e senha de aluno.

http://www.inepad.org.br/interativacoc/