aula 8 – análise de projetos de sistemas
TRANSCRIPT
![Page 1: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/2.jpg)
2
Módulo 4.1
Aula 8
Estudo de Caso
![Page 3: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/16.jpg)
16
Adicionando o modelo
funcional ao projeto.
Criando um novo projeto no StarUML
![Page 17: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/30.jpg)
30
Adicionando o modelo
estrutural ao projeto.
Criando o modelo estrutural
![Page 31: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/37.jpg)
37
Modelando as demais classes:
Vamos aos
detalhes…
Criando as Classes do SI
![Page 38: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/39.jpg)
39
Modelando as demais classes:
Multiplicidade
Criando as Classes do SI
![Page 40: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/40.jpg)
40
Modelando a movimentação:
Vamos aos
detalhes…
Criando as Classes do SI
![Page 41: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/41.jpg)
41
Modelando a movimentação:
Composição
Criando as Classes do SI
![Page 42: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/47.jpg)
47
Atendendo os requisitos B2 – Impressões.
Modelo de Caso de Uso para Listagens
![Page 48: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/54.jpg)
54
Diagrama de Implantação
Documentando Requisitos Não-Funcionais
![Page 55: Aula 8 – Análise de Projetos de Sistemas](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062705/5571f32649795947648d93cf/html5/thumbnails/56.jpg)
56
Visite o site e avalie a aula.
Utilize seu código e senha de aluno.
http://www.inepad.org.br/interativacoc/