Vous êtes sur la page 1sur 56

Curso de Gestão da TI

Análise de Projetos de Sistemas

Prof. Flávio Barbosa

23/09/2009
1
Módulo 4.1

Aula 8

Estudo de Caso

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

3
ANÁLISE ESTRUTURADA x ANÁLISE OO

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.
4
ANÁLISE ESTRUTURADA x ANÁLISE OO

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.
5
ANÁLISE ESTRUTURADA x ANÁLISE OO
PODERÁ porque é
Cuidado! Existem
possível gatos no mundo OO.
utilizar
A maioria dos bancos de dados (BD) são
de
relacionais, ou seja, não OO.
Seimplementações
no seu produto houver um atributo com a
imagem,
que quando
busquemo objeto
a for criado ele poderá
trazer a imagem mesmo não a utilizando. Esse
informação
simples exemplo, aumentaria o tráfego da rede
somente quando
e processamento do BD desnecessariamente.
for utilizada.
6
ANÁLISE ESTRUTURADA x ANÁLISE OO

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.

7
ANÁLISE ESTRUTURADA x ANÁLISE OO

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.
8
ANÁLISE ESTRUTURADA x ANÁLISE OO

Por exemplo, um ícone impressora


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

9
CONSIDERAÇÃO SOBRE CASOS DE USO

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.

TEXTO
DESENHO 10
CONSIDERAÇÃO SOBRE CASOS DE USO

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.
11
ESTUDO DE CASO

Sistema de biblioteca.
Ferramenta para modelagem dos
casos de uso será o StarUML.

Os requisitos estão no livro didático.


12
ESTUDO DE CASO

Site da ferramenta StarUML encontra-se no


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

13
Criando um novo projeto no StarUML

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.

Será utilizado
um projeto
vazio. 14
Criando um novo projeto no StarUML

Definido o título do projeto


e algumas propriedades
referentes a autoria do
modelo.

15
Criando um novo projeto no StarUML

Adicionando o modelo
funcional ao projeto.

16
Criando um novo projeto no StarUML

Adicionando diagrama de caso de uso


“Visão Geral” ao projeto.
17
DIAGRAMA DE CASO DE USO: Visão Geral

Essa é a visão geral Le it ore s

dos requisitos. Ca t e go ria


de Le it ore s

Obr a s
Lit e rá ria s

Bibl iot e cá rio


Ca t e go ria
de Obra s

Funci oná rios

Incrementando os Em pré s t im o
da Obra

requisitos… Le it or

De v oluçã o
da Obr a
18
DIAGRAMA DE CASO DE USO: Visão Geral
Ge re nc ia r

Adicionando a
Le it ore s

<<include>>

Consulta a todos os Ca t e go riza r


Le it ore s <<include>>

<<include>>

cadastros. Ge re nc ia r
Obr a s
Lit e rá ria s
<<include>>
Cons ul t a r
Ca da st ros

<<include>>
Bibl iot e cá rio
Ca t e go riza r
Obra s

Ge re nci a r
Fun ci oná rios

Incrementando os Em pre st a r
Obra

requisitos… Le it or

De v olv e r a
Obra
19
DIAGRAMA DE CASO DE USO: Visão Geral

Adicionando a Ge re nci a r
Incl ui r, A lt e ra r e
Ex cl ui r Ca da st ros
Le it ore s (M a nut e nçã o)

Manutenção a todos <<include>>

Ca t e go riz a r <<extend>>
Le it ore s <<include>>

os cadastros. Ge re nci a r
<<include>>
Consul t a r
Obr a s Ca da st ros
<<include>>
Lit e rá ria s

<<include>>
Bibl iot e cá rio
Ca t e go riz a r
Obr a s

Ge re nci a r
Funci o ná rios

Em pre st a r
Obr a
Le it or

De v olv e r a
Obr a

20
ATIVIDADE EM DUPLAS – SOLICITO INTERAÇÃO

Quais os requisitos ou
tipo de requisitos, que Ge re nci a r
In cl ui r, A lt e ra r e
Ex cl ui r Ca da s t ro s
Le it ore s (M a nut e nçã o)

não estão contemplados <<include>>

Ca t e goriz a r <<extend>>
Le it or e s <<include>>

pelo diagrama de Caso de Ge re nci a r


<<include>>
Cons ult a r
Obra s Ca da st ros
<<include>>
Lit e rá ria s

Uso “Visão Geral” Bibliot e cá ri o


<<include>>

Ca t e go riz a r
Obr a s

observando o item “B1” do Ge re nci a r


Fun ci oná rios

livro didático p.170? Por Em pr e s t a r


Obra

que não estão


Le it or

De v ol v e r a
Obr a

contemplado? 21
DIAGRAMA DE CASO DE USO: Visão Geral

Adicionando
um
Descritivo
Narrativo
(documen-
tação) aos
casos de
uso.
22
DIAGRAMA DE CASO DE USO: Visão Geral

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. 23
DIAGRAMA DE CASO DE USO: Visão Geral

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.
24
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. 25
DIAGRAMA DE CASO DE USO: Visão Geral

É o mesmo caso
de “Gerenciar
Obras
Literárias” que
depende de
“Categorizar
Obras”.
26
DIAGRAMA DE CASO DE USO: Visão Geral

Ao documentar o caso de uso “Gerenciar


ESSE EXEMPLO EXPLICA
Funcionários” observá-se que o bibliotecário terá
PORQUE O DIAGRAMA
acesso a essa funcionalidade. Uma perguntaDE
deve
CASO DE USO TAMBÉM É
ser respondida junto
ao usuário: UMA TÉCNICA DE
“O Bibliotecário ELICITAÇÃO
poderá gerir os (LEVANTAMENTO) DE
funcionários?” REQUISITOS.
27
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. 28
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? 29


Criando o modelo estrutural

Adicionando o modelo
estrutural ao projeto.

30
Criando um novo diagrama no modelo estrutural

Adicionando diagrama de classe


“Classes Gerais” ao projeto.
31
Criando as Classes do SI
É importante começar a modelagem das
classes pelos casos de uso que são
dependências
de outros.

Vamos observar
quem recebe a
seta de
dependência:
32
Criando as Classes do SI

No modelo de Classes Gerais criado


modelamos as classes dependentes:

33
Criando as Classes do SI

Nome da classe em itálico indica que ela


é abastrata, ou seja, não será
instanciada.

34
Criando as Classes do SI

Métodos ou atributos sublinhados


indicam que o escopo é de classe ao
invés de instância (objeto).

35
Criando as Classes do SI

A classe descendente (filha) herda


atributos e métodos da classe ancestral
(pai).

36
Criando as Classes do SI
Modelando as demais classes:

Vamos aos
detalhes…

37
Criando as Classes do SI

Modelando as demais classes:

Agrupar
Semelhanças
(abstração)
Observem o
atributo
“telefone”
38
Criando as Classes do SI

Modelando as demais classes:

Multiplicidade

39
Criando as Classes do SI

Modelando a movimentação:

Vamos aos
detalhes…

40
Criando as Classes do SI

Modelando a movimentação:

Composição

41
Criando as Classes do SI

Modelando a movimentação:

Relatórios
representados
pelo tipo “List”

42
Criando as Classes do SI

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.

43
Criando as Classes do SI

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.

44
Criando as Classes do SI

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. 45
Criando as Classes do SI

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. 46
Modelo de Caso de Uso para Listagens

Atendendo os requisitos B2 – Impressões.

47
Gerando a documentação do SI.

O StarUML pode gerar a documentação


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

Clique em
Next

48
Gerando a documentação do SI.

O StarUML pode gerar a documentação


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

Clique em
Next

49
Gerando a documentação do SI.

O StarUML pode gerar a documentação


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

Clique em
Generate.

50
Gerando a documentação do SI.

O StarUML pode gerar a documentação


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

Clique em
Finish.

51
Gerando a documentação do SI.
O StarUML pode gerar a documentação
usando a opção de menu Tools ->
StarUML Generator…

Clique em
Finish.

PRONTO!
52
Gerando a documentação do SI.

O documento gerado pelo StarUML tem as


seguintes caracteristicas:
2.Índice Analítico e Remissivo;
3.Contem a Narrativa dos casos bem
como os diagramas dos seus gráficos;

53
Documentando Requisitos Não-Funcionais

Diagrama de Implantação

54
REVISÃO

1. Sistemas
2. Sistemas de Informação
3. Ciclo de Vida
4. Engenharia de Requisitos
5. Análise Estruturada e Orientada a
Objetos

55
Visite o site e avalie a aula.

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

Utilize seu código e senha de aluno.

56