Você está na página 1de 115

Introduo aos Sistemas de Informao UFSCar - Sorocaba

Introduo aos Sistemas de


Informao
Apresentao da Disciplina e
Orientaes

Objetivo

Apresentar as metodologias e tcnicas


utilizadas no desenvolvimento de softwares,
utilizando um mtodo orientado a objetos com a
modelagem para o nvel de anlise e projeto,
aplicando-as em estudos de caso.

tcnicas de
Identificar e explicar quais so as
obteno de requisitos e qual paradigma
de desenvolvimento so mais adequados para um
dado estudo de caso.

Introduo aos Sistemas de Informao 2

Profa. Dra. Luciana Zaina 1


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Informaes
Ementa
Introduo conceitos de sistemas, tipos de sistemas, Sistemas de informao:
conceito, caractersticas.
Tcnicas de obteno de requisitos.
Paradigmas de desenvolvimento de software.
Modelagem dos requisitos na fase de anlise de acordo com o paradigma de
desenvolvimento utilizado.
Modelagem dos requisitos na fase de projeto de acordo com o paradigma de
desenvolvimento utilizado.
Estudos de caso.
Crditos:: 3T 1P
Crditos

Pr
Pr--requisito recomendado:
recomendado: estar cursando POO

Introduo aos Sistemas de Informao 3

Avaliao - 1
Provas::
Provas

Sero aplicadas 3 provas durante o semestre, onde as duas


primeiras abordaram os contedos do semestre divididos em
dois blocos e a terceira abordar o contedo todo da disciplina.
O aluno dever realizar somente duas delas
delas..
A mdia de provas ser a mdia aritmtica das duas notas.
No haver prova substitutiva.
substitutiva.

Media Prova = (P1+ P2)/2 ou (P1+P3)/2 ou (P2+P3)/2

Introduo aos Sistemas de Informao 4

Profa. Dra. Luciana Zaina 2


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Avaliao - 2

Estudos de caso:
MediaExercicio = Mdia_aritmtica(EC)
Mdia_aritmtica(EC)
EC=estudo de caso, sero considerados apenas 75% dos propostos
em sala.
Entrega via Moodle.
No sero aceitas entregas de estudos de caso no resolvidos
ou fora do prazo.
Os resultados sero utilizados na disciplina de ED1 e POO.

Introduo aos Sistemas de Informao 5

Avaliao - 3
Projeto::
Projeto
Tema: estudo de caso.
Grupos de 5 alunos.
Inserir os nomes dos integrantes no link disponvel no Moodle at
24/03/2014.
Ao final do semestre o grupo dever entregar o documento final do
projeto.
Esteser composto pelos estudos de caso corrigidos.
Cada estudo de caso realizado ter sua correo retornada ao
grupo.
Comoentrega final, os grupos devem corrigir os estudos de caso e
agrup-los formando um projeto.

Introduo aos Sistemas de Informao 6

Profa. Dra. Luciana Zaina 3


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Avaliao - 4
Projeto:
Projeto:
Entrega Final:
a entrega final do projeto dever ser impressa e composta pelos
estudos de caso realizados e corrigidos;
todos os membros do grupo devem realizar a apresentao do
projeto (dividindo o tempo entre os itens que compem o projeto);
a nota da apresentao individual;
aquele que no realizar a apresentao ficar com nota zero de
apresentao.

MdiaProjeto=
MdiaProjeto= ((NotaDocumento
NotaDocumento + NotaApresentacao(individual))/2
NotaApresentacao(individual))/2

Introduo aos Sistemas de Informao 7

Avaliao - 5

Mdia Final = 60% * MediaProva + 20% * MdiaProjeto


+ 20% * MediaExercicio

SAC Sistema de Avaliao Complementar:


mdia final >= 5,0 e < 6,0 e freqncia >=75%;
uma prova, abrangendo todo o contedo da disciplina. Sero mantidas as
notas do projeto e de exerccios obtidas durante o semestre letivo.

Introduo aos Sistemas de Informao 8

Profa. Dra. Luciana Zaina 4


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Cronograma
Estudo de Caso e Projeto:
Estudo de caso 1: 31/03/2014 Processo e Requisitos
Estudo de caso 2: 07/04/2014 Caso de Uso
Estudo de caso 3 (Parte 1): 14/04/2014 Diagramas UML
Estudo de caso 3 (Parte 2): 28/04/2014 Diagrama Classe + BCE
Estudo de caso 4: 02/06/2014 Diagrama de Interao

Entrega Final Virtual: 23/06/2014 (via Moodle - zero hora)


Entrega Final Impressa: 23/06/2014 (na aula)
Apresentaes: 23/06 e 30/06/2014

Avaliaes:
P1: 05/05/2014
P2: 09/06/2014 (Aps a prova haver as orientaes sobre a apresentao)
P3: 30/06/2014 (aps as apresentaes)

Semana da Computao: 12 a 15 de maio de 2014


Minimaratona de Programao: 16 de maio de 2014

Introduo aos Sistemas de Informao 9

Bibliografia (1)
Bibliografia Bsica
PRESSMAN, Roger S, Engenharia de Software, McGraw Hill Brasil,
2011. 7 exemplares
BEZERRA, Eduardo, Princpios de Anlise e Projeto de Sistemas com UML,
Editora Campus, 2007.
Pode ser substitudo pelo RUMBAUGH (complementar)
WIERGERS, K. E., Software Requirements, Second Edition, Microsoft
Press, 2003. 6 exemplares
exemplares..
Notas de aula.

Introduo aos Sistemas de Informao 10

Profa. Dra. Luciana Zaina 5


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Bibliografia (2)

Bibliografia Complementar
LAUDON, Kenneth C; LAUDON, Jane P, Sistemas de Informaes
Gerenciais, Prentice Hall Brasil, 2008. 11 exemplares.
exemplares.
RUMBAUGH, James; BLAHA, Michael, Modelagem e projetos baseado
em objetos, Editora Campus, 2006. 6 exemplares
exemplares..
SOMMERVILLE, Ian. Engenharia de Software. Addison Wesley Brasil.
2007 . 6 exemplares.
exemplares.
Withall, S. Software Requirement Patterns (Best Practices). Microsoft Press.
2007.
Site: Unified Modeling Language. http://www.uml.org/

Introduo aos Sistemas de Informao 11

Apoio

O Moodle ser o meio de comunicao com os alunos.


Atualizem os e-
e-mails
Links da Internet
Software Engineering Institute : http://www.sei.cmu.edu/
Horrio de atendimento:
Segunda-feira: 13hs s 14hs (Sala 12)

Introduo aos Sistemas de Informao 12

Profa. Dra. Luciana Zaina 6


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Orientaes Gerais

Introduo aos Sistemas de Informao 13

Introduo aos Sistemas de Informao 14

Profa. Dra. Luciana Zaina 7


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Introduo
 Dado
Fatos em sua forma primria.
Exemplo:
Nome do Empregado
Introduo aos Sistemas da


 Nmero de horas trabalhadas

Informao 


Nota do aluno
Nmero de peas do estoque

Introduo aos Sistemas de Informao Introduo aos Sistemas de Informao 2

Introduo
 Informao
Conjunto de fatos organizados de modo a torn-los

Dado no Informao e
significativos e teis.
Exemplos:

Informao no
 Total de vendas mensais por funcionrio
 Lista de clientes ordenados por volume de compra
Media de alunos da disciplina de ES

Conhecimento!


 Turmas da UFSCar com menos de 40 alunos


 Conhecimento
Capacidade de resolver problemas, inovar e aprender baseando-se em
experincias prvias;
Esforo de investigao para descobrir aquilo que esta oculto, que no
esta compreendido ainda.

Introduo aos Sistemas de Informao 3 Introduo aos Sistemas de Informao 4

Sistemas da Informao (SI)

Organizaes competem pelo Conjunto de fatos


fatos, elementos ou
componentes interconectados
domnio do harmonicamente visando atingir um
conhecimento objetivo

cientfico e tecnolgico

Introduo aos Sistemas de Informao 5 Introduo aos Sistemas de Informao 6

Profa. Dra. Luciana Zaina 1


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplos (SI) Sistemas de Informao (SI)


 Um sistema de vendas on line
 Sistema de logstica para varejo  Finalidade de coletar, recuperar, processar,
 Sistema de informao de controle de avio armazenar e distribuir informao.
 Sistema de gerenciamento de malha de trem
 Sistema de BI  Facilitando o planejamento, o controle, a
 Sistema de Ecommerce coordenao, a anlise e o processo
decisrio em empresas e outras organizaes.

(Laudon, K. C. & Laudon, J. P.)

Introduo aos Sistemas de Informao 7 Introduo aos Sistemas de Informao 8

Sistemas de Informao (SI) Funes do SI

So mais que estruturas de TI, pois para us-los


efetivamente preciso entender a
organizao, a administrao e (Dado ou
informao)
(Informao)
Conhecimento?

a tecnologia da informao que so


seus alicerces.

(Laudon, K. C. & Laudon, J. P.) Retirado de Kenneth C. Laudon & Jane P. Laudon. Sistemas de Informao Gerenciais: Administrando a Empresa Digital. 5a
Edio. 2004. Pearson - Prentice-Hall.

Introduo aos Sistemas de Informao 9 Introduo aos Sistemas de Informao 10

Dimenses do SI Objetivos do SI

Para usar os SI com  A transformao dos dados em informao


eficincia a principal funo de um SI.
necessrio entender a TOMADA DE DECISO!!
organizao, as
organizao
pessoas que fazem Sistemas de
parte dela e seus Informao  A informao usada para aumentar a
recursos probabilidade de que a deciso correta seja
tecnolgicos tomada.

Introduo aos Sistemas de Informao 11 Introduo aos Sistemas de Informao 12

Profa. Dra. Luciana Zaina 2


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Classificao de SI Tipos de SI Decises que necessitam de


avaliao e percepo.
usurios: gerentes sniors

 Simples  Bolo proporcionam relatrios sobre


desempenho.
 Complexo  Fbrica de Foguetes usurios: gerentes mdios

 Aberto
auxiliam na tomada de decises
Interage com o ambiente no usuais. Simulaes.
 Fechado usurios: assessores de gerncia

Sem interaao com o ambiente


usurios: profissionais
 Estveis  Fbrica de Palito de Fsforo tcnicos
usurios: funcionrios de
 Dinmicos  Fbrica de Computadores escritrio

 Adaptveis  Empresas Pequenas


 No Adaptveis  Empresas grandes e tradicionais realiza e registra atividades
rotineiras
usurios: operadores e
supervisores
Retirado de Kenneth C. Laudon & Jane P. Laudon. Sistemas de Informao Gerenciais: Administrando a Empresa Digital. 5a Edio. 2004. Pearson

Introduo aos Sistemas de Informao 13 Introduo aos Sistemas de Informao 14

Arquitetura da Informao Integrao entre sistemas

 Os SPTs so os maiores
produtores de
informaes requisitadas
pelos outros sistemas.

Retirado de Kenneth
C. Laudon & Jane P.
Laudon. Sistemas de
Informao Gerenciais:
Administrando a
Empresa Digital. 5a
Edio. 2004. Pearson
- Prentice-Hall.

Introduo aos Sistemas de Informao 15 Introduo aos Sistemas de Informao 16

Organizao
 uma estrutura social estvel e formal que retira
recursos do ambiente e os processa para produzir
resultados..
resultados
 As organizaes podem influenciar o uso e a adoo de
tecnologia de informao:
por meio de decises sobre as configuraes
tcnicas e organizacionais dos sistemas
sistemas;
pelas decises sobre quem ir projetar, montar e
manter a sua infra-estrutura de TI
adoo de outsourcing
outsourcing.

Introduo aos Sistemas de Informao 17 Introduo aos Sistemas de Informao 18

Profa. Dra. Luciana Zaina 3


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Desenvolvimento de Software

Introduo aos Sistemas de Informao 2

Introduo {crise do software}


software} Engenharia de Software
 Anos 70
Custos elevados uma disciplina da engenharia relacionada com
Atrasos na entrega
todos os aspectos da

Baixa confiabilidade e corretude do produto
Dificuldade de medio
produo de software, desde os

Gerncia do desenvolvimento ineficaz

especificao do
Alta demanda no atendida
Software existente de difcil manuteno estgios iniciais de
Causas
sistema at sua manuteno, depois de


Muita nfase na programao


Prticas artesanais utilizadas no entrar em operao
desenvolvimento
Pouco treinamento formal aos desenvolvedores
Sommerville, 2007

Introduo aos Sistemas de Informao 3 Introduo aos Sistemas de Informao 4

Engenharia de Software Porque a ES importante


Planejamento

Desenvolvimento de software como um
 Especificao artesanato
Desenho

 Crescimento da complexidade de sistemas
 Implementao
Aumento do nmero de stakeholders

 Validao envolvidos na produo
Testes
Manuteno, melhoria e evoluo do software.
Manuteno


 Medio
 Manuteno
 Feedback

Introduo aos Sistemas de Informao 5 Introduo aos Sistemas de Informao 6

Profa. Dra. Luciana Zaina 1


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Introduo aos Sistemas de Informao 7 Introduo aos Sistemas de Informao 8

Por onde comear? Processo de Software (1


(1 )
 Entendendo o problema?
 Estudo do domnio? Um conjunto de atividades
atividades, mtodos
mtodos,
ferramentas e prticas que so
Outsourcing?
utilizadas para construir um produto de


 Desenvolvimento ad hoc? software.


 Alguns conceitos importantes...

Introduo aos Sistemas de Informao 9 Introduo aos Sistemas de Informao 10

Processo de Software (2) Artefato


 Devem ser consideradas as seguintes informaes  um tipo de recurso produzido ou consumido
em uma atividade.
atividades a serem realizadas;
recursos necessrios;  Pode ser utilizado como uma entrada (matria-
prima) para uma determinada atividade e/ou

artefatos requeridos e produzidos; O que



artefato ? como uma sada de uma atividade (resultado da
procedimentos adotados; execuo de uma atividade).
stakeholders envolvidos;  Exemplos: cdigo-fonte, cdigo executvel,
o modelo de ciclo de vida utilizado. manual de padres, relatrio de resultados,
documentos, plano de trabalho, etc.

(Sommerville e Pressman)

Introduo aos Sistemas de Informao 11 Profa. Dra. Luciana Zaina Introduo aos Sistemas de Informao 12

Profa. Dra. Luciana Zaina 2


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Ciclo de Vida Processo x Ciclo de Vida


 Descrevem como um software deve ser desenvolvido.
Processo de software refere-se a todas as
 Prope uma estratgia de desenvolvimento que atividades, bem como relacionamentos,
pode ser aplicada a um determinado contexto de projeto artefatos, ferramentas, papis, etc, necessrias
de software. para construir, entregar e manter um produto de
 Modelos de ciclo de vida normalmente so vagos nas software.
descries de detalhes das condies de incio e
trmino de uma atividade, recursos utilizados, artefatos
Ciclo de vida apresenta uma representao
consumidos ou produzidos, papis desempenhados,
etc. alto nvel do processo de software
Qual a diferena entre executado
Processo de Software e
Ciclo de Vida? determinam as fases e o relacionamento
entre as fases.
Introduo aos Sistemas de Informao 13 Introduo aos Sistemas de Informao 14

Fases do Ciclo de Vida Modelo de Ciclo de Vida


 Concepo: enfoca a questo o que? o que o
Concepo:
sistema
anlise do sistema;
planejamento do projeto de software;
anlise de requisitos.
 Desenvolvimento enfoca a questo como como
Desenvolvimento:
implementar o sistema
projeto de software,codificao, testes.
 Manuteno: enfoca mudanas no sistema e no
Manuteno:
ambiente
correo, adaptao, expanso.

Introduo aos Sistemas de Informao 15 Introduo aos Sistemas de Informao 16

Modelos de Ciclo de Vida


 Modelo Cascata: modelo clssico.
 Modelos Incrementais:
Fornecimento rpido de um conjunto de caractersticas.
Modelo Cascata

Expanses da verso inicial.


Incremento frequentemente denominado de ncleo
do produto.
produto
 Modelos Evolucionrios:
So iterativos.
Permitem que o desenvolvimento de verses completas
sejam realizadas de forma gradativa.

Introduo aos Sistemas de Informao 17 Introduo aos Sistemas de Informao 18

Profa. Dra. Luciana Zaina 3


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Modelo Cascata
Modelo Cascata
Definio de
 Base para outro modelos
Requisitos
 Estrutura rigorosa
Projeto de Sistemas Uma etapa s comea quando a anterior estiver
e Software
totalmente concluda.
Implementao e Inflexvel
Teste de Unidade
 No se adapta bem a mudanas de requisitos.
Integrao e  Quando usar: Requisitos bem conhecidos
Testes de Sistema
Poucos sistemas possuem requisitos bem definidos
Operao e
Manuteno
 Cliente s possui o produto no final

Introduo aos Sistemas de Informao 19 Introduo aos Sistemas de Informao 20

Evolucionrio
Atividades
Simultneas

Especificao Verso Inicial

Modelo Evolucionrio
Descrio do Verses
Desenvolvimento
Escopo Intermedirias

Validao Verso Final

Introduo aos Sistemas de Informao 21 Introduo aos Sistemas de Informao 22

Prototipagem (Evolucionrio) Espiral (Evolucionrio)


 Cliente e desenvolvedor definem os requisitos gerais para o
sistema, sem detalhamento. Planejamento  A cada nova etapa
Anlise de tivssemos um novo
 O sistema vai sendo desenvolvido de maneira incremental Comunicao Risco produto.
com o Cliente
 Nas primeiras
Construir e iteraes pode-se ter
Ouvir o apenas um modelo de
cliente revisar
Engenharia
papel ou prottipo.
prottipo
 Voltado a anlise de
Avaliao risco.
pelo
Cliente testa o Cliente Construo e
prottipo Entrega

Introduo aos Sistemas de Informao 23 Introduo aos Sistemas de Informao 24

Profa. Dra. Luciana Zaina 4


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Evolucionrio
 Especificao incremental
 Ideal para sistemas mdios e pequenos

 Problemas
Modelo Incremental
Processo no visvel difcil gerenciar
Sistemas mal estruturados
 Muitas mudanas tendem a corromper a estrutura do
software

Introduo aos Sistemas de Informao 25 Introduo aos Sistemas de Informao 26

Incremental Incremental
 Pequenos incrementos sistema entregue mais
cedo
Incremento 1 Entrega do  Atua como prototipao do software
primeiro
Anlise Projeto Codificao Teste
incremento  Risco menor de falha do projeto
Incremento 2 Entrega do
 Prioridades mais altas entregues primeiro
segundo
Anlise Projeto Codificao Teste incremento

tempo  A cada incremento uma funcionalidade completa


deve ser entregue

Introduo aos Sistemas de Informao 27 Introduo aos Sistemas de Informao 28

RAD (Rapid
(Rapid Application Development)
Development) RAD (Rapid
(Rapid Application Development)
Development)
 Desenvolvimento em um curto perodo atravs de equipes  No indicado a projetos que possuem grandes
trabalhando em paralelo.
riscos tcnicos
Equipe 1  Mudanas rpidas no negcio
Modelagem de
negcios
Modelagem
de dados
Modelagem
de processo
Gerao da
aplicao
Teste e
entrega  Software deve se adequar as mudanas rapidamente

Equipe 2

Modelagem de Modelagem Modelagem Gerao da Teste e


negcios de dados de processo aplicao entrega

60 a 90 dias

Introduo aos Sistemas de Informao 29 Introduo aos Sistemas de Informao 30

Profa. Dra. Luciana Zaina 5


Introduo aos Sistemas de Informao UFSCar - Sorocaba

DSBC

Desenvolvimento de Software Especificao Anlise de Modificao de Projeto de Sistema


Baseado em Componentes de Requisitos Componentes Requisitos com Reuso

(DSBC)
Desenvolvime Validao de
nto e Iterao Sistema

Introduo aos Sistemas de Informao 31

DSBC
 Aumento de qualidade
 Aumento da produtividade
 Diminuio de custo Modelos de Processo
Compromisso com os requisitos so inevitveis

Introduo aos Sistemas de Informao 33 Introduo aos Sistemas de Informao 34

Rational Unified Process (RUP) Rational Unified Process (RUP)

 Derivado do UP (Unified Process)


 Utiliza UML.
 Aumento de Produtividade
 Amplamente adotado
 Ele baseado em componentes
 um modelo:
orientado a casos de uso;
centrado na arquitetura;
iterativo e incremental.

Introduo aos Sistemas de Informao 35 Introduo aos Sistemas de Informao 36

Profa. Dra. Luciana Zaina 6


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Rational Unified Process (RUP) Metodologias geis


 Boas Prticas:  Incremental.
Desenvolver software iterativamente  Reao a metodologias pesadas (RUP, Cascata, etc) que
Gerenciar requisitos colocam grande nfase em documentao e projeto, antes
de construir o software propriamente dito.
Usar arquiteturas baseadas em componentes
Menos orientao a documentos, mais orientao ao



Modelar o software visualmente cdigo.


Verificar a qualidade do software  No um ataque documentao, pelo contrrio,
Controlar as mudanas do software aconselha a criao de documentos que tem valor.
 Utilizam o modelo iterativo e incremental.
 O cliente faz parte da equipe de desenvolvimento.
 Voltado para equipes entre 2 a 10 integrantes.
 Projetos pontuais
pontuais.

Introduo aos Sistemas de Informao 37 Introduo aos Sistemas de Informao 38

XP (eXtreme
(eXtreme Programming)
 eXtreme Programming
Envolvimento do cliente
Entrega incremental
Pessoas, no processo
Aceite a mudanas
Mantenha a simplicidade

Selecionar historias Dividir histrias Planejar


de usurio para esta em tarefas Verso
verso

Avaliar Liberar Desenvolver /


Sistema Software Integrar /
Testar

Introduo aos Sistemas de Informao 39 Introduo aos Sistemas de Informao 40

Profa. Dra. Luciana Zaina 7


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Paradigmas de Desenvolvimento
de Software
Fase de Anlise e Projeto

Introduo aos Sistemas de Informao

Introduo (1)
O que paradigma de desenvolvimento de software?
Forma pela qual um sistema entendido e construdo.
Cobrir um ciclo de vida
Formado por notaes e regras.
Independente do ciclo de vida.
Possibilitar a utilizao de ferramentas que automatizem
algumas funes.
modelar um sistema de forma que ele
possa ser entendido
Introduo aos Sistemas de Informao 2

Profa. Dra. Luciana Zaina 1


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Introduo (2)
Benefcios esperados...
Melhoria no relacionamento entre a rea de sistemas e
seus usurios.
Melhor controle de tarefas e recursos em todos os nveis.
Formalizao de tarefas atribudas as diversas pessoas /
equipes envolvidas.
Documentao adequada para iniciar o desenvolvimento.
Representao Grfica.

Introduo aos Sistemas de Informao 3

Introduo (3)
Classificao
Estruturado
OO

Introduo aos Sistemas de Informao 4

Profa. Dra. Luciana Zaina 2


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Paradigma Estruturado

Introduo aos Sistemas de Informao 5

Paradigma Estruturado

Sistemas so vistos como processos que transformam


dados.
Traz uma viso funcional.
Teve incio nos anos 60 e se consolidou nos anos 80.
Princpios:
Modelagem dos dados.
Modelagem dos processos que transformam os
dados.
Particionamento do sistema.

Introduo aos Sistemas de Informao 6

Profa. Dra. Luciana Zaina 3


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Modelos utilizados

Introduo aos Sistemas de Informao 7

Diagrama de Fluxo de Dados (DFD)

Pretende-se modelar as funes do sistema


Tcnica de anlise grfica que procura representar o fluxo
de informao e as sucessivas transformaes que
sofrem ao longo dos diferentes processos do sistema.

Introduo aos Sistemas de Informao 8

Profa. Dra. Luciana Zaina 4


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Diagrama de Fluxo de Dados (DFD)

Introduo aos Sistemas de Informao 9

Diagrama de Fluxo de Dados (DFD)


Entidade Externa: quando outro sistema, um usurio ou
hardware produz uma informao para o sistema ou
recebe a informao do sistema
Processo ou transformao (crculo): quando um processo
aplicado aos dados e provoca alguma transformao.
Itens de dados (seta)

Introduo aos Sistemas de Informao 10

Profa. Dra. Luciana Zaina 5


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo - DFD
Sistema de Vendas de CD

Introduo aos Sistemas de Informao 11

Paradigma OO (Orientado a
Objetos)

Introduo aos Sistemas de Informao 12

Profa. Dra. Luciana Zaina 6


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Introduo - OO
Produo de software mais confivel
proteo aos dados: encapsulamento

Aumento da produtividade de software


reutilizao de cdigo: classes

Extenso da biblioteca de classes:


definio de subclasses (herana)
implementao de novos mtodos
redefinio de mtodos (polimorfismo)

Paradigma adotado na disciplina

Introduo aos Sistemas de Informao 13

UML (Unified Modeling Language)

UML foi adotada em


1997 pela OMG
(Object Management
Group).
www.omg.org

UML a forma de
representar um
software em diversos
estgios de
desenvolvimento.

Introduo aos Sistemas de Informao 14

Profa. Dra. Luciana Zaina 7


Introduo aos Sistemas de Informao UFSCar - Sorocaba

UML Quais objetos?

Introduo aos Sistemas de Informao 15

Exemplos

Introduo aos Sistemas de Informao 16

Profa. Dra. Luciana Zaina 8


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Independente do Paradigma
Sempre existiram as fases de:
Anlise
Projeto
Codificao
Testes
Manuteno

Profa. Dra. Luciana Zaina Introduo aos Sistemas de Informao 17

Anlise

Introduo aos Sistemas de Informao 18

Profa. Dra. Luciana Zaina 9


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Vises de um Software

Introduo aos Sistemas de Informao 19

Modelos de Software
Um modelo pode ser visto como uma representao
idealizada de um sistema que se planeja construir.
Maquetes de edifcios e de avies, plantas de circuitos
eletrnicos, modelagem de predios em autocad, etc
Uso de diagramas.
No contexto de desenvolvimento de software, correspondem a
desenhos grficos que seguem algum padro lgico.
coleo de elementos grficos que possuem um
significado predefinido.
construdos de acordo com regras de notao bem
definidas.

Introduo aos Sistemas de Informao 20

Profa. Dra. Luciana Zaina 10


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Processo de Software X
Modelagem
O que processo?

Modelagem forma de comunicao que


um processo pode utilizar.

Introduo aos Sistemas de Informao 21

Suporte ao Desenvolvimento
Ambientes de desenvolvimento
Tem sido amplamente sofisticados
Ferramentas Case
Muitas vezes ligadas ao ambiente de desenvolvimento.

Introduo aos Sistemas de Informao 22

Profa. Dra. Luciana Zaina 11


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Ferramentas CASE
Computer-Aided Software Engineering

Diferentes tipos de programas utilizados para apoiar


as
atividades de processo de software, como
anlise de requisitos, a modelagem de sistemas, a depurao e
os testes.
Ferramentas CASE podem tambm incluir um gerador de
cdigos
automaticamente, origina cdigo fonte a partir do modelo de
sistema.

Introduo aos Sistemas de Informao 23

Ferramentas CASE
Criao de diagramas e manuteno da consistncia
entre os mesmos
Interagir com cdigo-fonte
Engenharia direta
Engenharia reversa
Rastreamento de requisitos
Identificar artefatos produzidos a partir dos requisitos.
Evidncias para implantao e manuteno da
qualidade.

Introduo aos Sistemas de Informao 24

Profa. Dra. Luciana Zaina 12


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Ferramentas CASE

*A verso do JUDE foi descontinuada sendo o ASTAH disponvel.

Introduo aos Sistemas de Informao 25

Introduo aos Sistemas de Informao 26

Profa. Dra. Luciana Zaina 13


O que um Requisito?
Para Sommerville (2008), requisitos so descries
comportar de uma
de como o sistema deve se comportar,
Introduo a Sistemas da propriedade ou atributo do sistema.
sistema Um requisito
pode descrever:
Informao uma facilidade encontrada no nvel do usurio;
uma propriedade geral do sistema;
Requisitos uma restrio do sistema;
uma restrio ao desenvolvimento do sistema.

Introduo aos Sistemas de Informao 2

Tipos de Requisitos Tipos de Requisitos

Requisitos Funcionais Requisitos No Funcionais


diretamente ligados a funcionalidade do software; expressam qualidades e restries do software;
como o sistema deve reagir a entradas especficas e como esto relacionados a propriedades do sistema
deve se comportar em determinadas situaes; Exemplos:
definem recursos especficos a serem fornecidos pelos A interface do usurio deve ser implementada como simples
sistema. HTML, sem applets ou ActiveX.
Exemplos:
O sistema deve apresentar a mdia final dos alunos.
O sistema deve permitir o emprstimo de ttulos somente para
usurios que no esto em atraso com a devoluo.

Introduo aos Sistemas de Informao 3 Introduo aos Sistemas de Informao 4

Tipos de Requisitos Escrita de Requisitos


Use sentenas diretas e objetivas.
Requisitos de processo: so procedentes
de polticas e procedimentos nas Use vocabulrio limitado.
organizaes do cliente e do
desenvolvedor. Exemplos: padres de
processo, linguagem de programao
Defina requisitos verificveis.
ou o mtodo de projeto, etc. Evite ambigidades.
Requisitos externos: abrange todos os
requisitos procedentes de fatores Uso de verbos adequados
externos ao sistema e a seu processo
de desenvolvimento. Dentre eles Requisitos obrigatrios => deve
destacam-se os requisitos de
interoperabilidade, que definem como Requisitos desejveis => deveria
o sistema interage com outras
organizaes, requisitos legais, etc. Evite sentenas muito longas.
Evite uso de conjunes como ou, e, com, tambm.
Evite termos vagos ou indefinidos.

Introduo aos Sistemas de Informao 5 Introduo aos Sistemas de Informao 6


Exemplos Como extrair os requisitos?
Funcionais
O software deve possibilitar o clculo dos gastos dirios, semanais, O Sistema que queremos deve fazer isto, isto
mensais e anuais com pessoal.
..., e nesse caso tambm isto;
O software deve emitir relatrios de compras a cada quinze dias.
Os usurios devem poder obter o nmero de aprovaes, reprovaes e Sim, Sim estou anotando;
trancamentos em todas as disciplinas por um determinado perodo de Conversei com os usurios e basicamente este
tempo.
o Sistema que teremos que desenvolver;
No Funcionais
Sim chefe;
A base de dados deve ser protegida para acesso apenas de usurios
autorizados. timo, comearemos a especificar os
O tempo de resposta do sistema no deve ultrapassar 30 segundo. requisitos imediatamente;
O software deve ser operacionalizado no sistema Linux.

Introduo aos Sistemas de Informao 7 Introduo aos Sistemas de Informao 8

Como extrair os requisitos?(Cont. ...) Como extrair os requisitos?(Cont. ...)


... Depois de um ms e meio ...
... Quatro Meses Depois ...
Srs. Usurios, aps o emprego das mais
Sr. Analista, nosso pessoal analisou com cuidado o
modernas tcnicas de especificao,
documento. Tivemos muita dificuldade e dvidas em
produzimos este documento que entend-lo. Mas o que percebemos que
descreve minuciosamente o Sistema;

NO FOMOS CORRETAMENTE
ENTENDIDOS!!!
 timo! Bom! Hum! ... um documento com
300 pginas e todos estes grficos, tabelas.
Enfim, vamos analis-lo e voltamos a falar;

Introduo aos Sistemas de Informao 9 Introduo aos Sistemas de Informao 10

Como extrair os requisitos?(Cont. ...)

... Depois de um ms e meio ...


 Como no?
Tudo que est a, foi
fruto de nosso
Elicitar Requisitos
entendimento pessoal.

REALMENTE, VOCS
NO SABEM O QUE QUEREM!!!

Introduo aos Sistemas de Informao 11 Introduo aos Sistemas de Informao 12


Elicitao de Requisitos Elicitao de Requisitos:
Dificuldades
ELICITAR
ELICITAR:: descobrir, tornar explcito, obter o Usurios podem no ter uma idia precisa do
mximo de informaes para o conhecimento do sistema por eles requerido;
objeto em questo
Usurios tm dificuldades para descreverem seu
Cabe elicitao a tarefa de identificar os conhecimento sobre o domnio do problema;
fatos que compem os requisitos do Usurios e Analistas tm diferentes pontos de
Sistema, de forma a prover o mais correto e vista do problema (por terem diferentes formaes);
mais completo entendimento do que Usurios podem antipatizar
antipatizar--se (averso a
demandado daquele software mudanas) com o novo sistema e se negarem a
participar da elicitao (ou mesmo fornecer informaes
errneas).
Introduo aos Sistemas de Informao 13 Introduo aos Sistemas de Informao 14

Porque importante? Componentes da elicitao de requisitos

Domnio da Problema a ser


Aplicao resolvido

Necessidades dos Contexto do


Stakeholder e Negcio
restries

Introduo aos Sistemas de Informao 15 Introduo aos Sistemas de Informao 16

Atividades da Elicitao Documento de Requisitos


Entendimento do domnio da aplicao Especificao de Requisitos de Software
O conhecimento do domnio da aplicao o conhecimento geral onde o Quem utiliza o documento e com que finalidade:
sistema ser aplicado.
Entendimento do problema
Os detalhes dos problemas especficos do problema do cliente onde o
sistema ser aplicado deve ser entendido.
Entendimento do negcio
Voc deve entender como os sistemas interagem e contribuem de forma
geral com os objetivos de negcio.
Entendimento das necessidades e limitaes dos stakeholders
do sistema
Voc deve entender, em detalhe, as necessidades especficas das pessoas
que requerem suporte do sistema no seu trabalho.
Introduo aos Sistemas de Informao 17 Introduo aos Sistemas de Informao 18
Elicitao, anlise e negociao Negociao dos requisitos
Esboo dos
Requisitos
Elicitao de
Requisitos
Anlise de
Requisitos

Problemas de
Documento de Requisitos
Requisitos
Negociao de Requisitos
Introduo aos Sistemas de Informao 19 Introduo aos Sistemas de Informao 20

Exemplos Tcnicas de Elicitao


1) Analise os requisitos: Tcnicas especiais que podem ser usadas para coletar
a) O sistema deve fornecer telas apropriadas para o usurio ler conhecimento sobre os requisitos dos usurios
os documentos do repositrio de documentos. Este conhecimento deve ser estruturado
b) O sistema deve ser fcil de ser usado pelos controladores Particionamento - agregando conhecimentos relacionados
experientes e ser organizado de modo que os erros do Abstrao - reconhecendo generalidades
usurio sejam minimizados. Projeo - organizando de acordo com a perspectiva
2) Dado um sistema de controle de emprstimos e busca de Problemas da elicitao
ttulos em bibliotecas, determine 5 requisitos funcionais e 2 No existir muito tempo para a elicitao
no funcionais. Preparao inadequada dos engenheiros
Stakeholders no estarem convencidos da necessidade de um novo
sistema

Introduo aos Sistemas de Informao 21 Introduo aos Sistemas de Informao 22

Tcnicas de Elicitao Entrevistas


Entrevista O engenheiro de requisitos ou analista discute o
Leitura de documentos sistema com diferentes stakeholders e obtm um
Questionrios entendimento dos requisitos.
Como funciona o ambiente de trabalho
Brainstorming
Quais so suas necessidades
Etnografia Stakeholders envolvidos
Reuso de requisitos Etc.
Prototipagem Vantagens:
Vantagens: contato direto com o usurio e validao
JAD imediata
Desvantagens
Desvantagens:: conhecimento tcito e diferenas de
Introduo aos Sistemas de Informao 23 cultura Introduo aos Sistemas de Informao 24
Essencial das entrevistas Entrevistas
Entrevistadores devem estar de cabea aberta e Tipos de questes:
no fazer a entrevista com noes pr-
pr-concebidas Subjetiva: Como funciona o processo de recebimento de
materiais?
sobre o que necessrio
Objetiva: Quando um material recebido este entregue ao
Entrevistadores devem estar cientes da poltica responsvel pelo setor para cadastro?
organizacional - muitos requisitos reais podem no Procurar sempre usar perguntas: Por que e Exemplifique
serem discutidos devido as implicaes polticas

Introduo aos Sistemas de Informao 25 Introduo aos Sistemas de Informao 26

Leitura de Documentos Questionrios


Abstraes Quando existe conhecimento sobre o problema e
Vocabulrio da aplicao grande nmero de usurios/clientes/stakeholders.
Vantagens
Vantagens:: facilidade de acesso e volume de Do idia definida sobre como certos aspectos do
informaes universo de informao/software so percebidos
Desvantagens
Desvantagens:: disperso das informaes e volume Possibilitam anlises estatsticas
de trabalho Vantagens
Vantagens:: padronizao das perguntas e
tratamento estatstico das respostas
Desvantagens
Desvantagens:: limitao do universo de respostas e
pouca iterao

Introduo aos Sistemas de Informao 27 Introduo aos Sistemas de Informao 28

Questionrios Brainstorming
Planejamento:
Construir questes objetivas e concisas. Reunies que permitem que as pessoas explorem idias
Usar a linguagem de quem vai responder o questionrio sempre que Existe um lder cujo papel e fazer com que a sesso comece e
possvel, mantendo as perguntas simples, claras e curtas.
organize a comunicao sem interferir na opinio dos
Ter certeza de que as questes esto tecnicamente adequadas.
outros elementos
A aplicao e compilao dos resultados devem ser planejadas
antecipadamente. Vantagens:
Ordem em que as perguntas devem aparecer especialmente til no comeo do processo de extrao de requisitos
Questes mais importantes devem vir primeiro. evita a tendncia a limitar o problema muito cedo
Dica: questes objetivas de mltipla-escolha devem ter nmero par de
alternativas.
Desvantagem:
Aplicao: por ser um processo relativamente no estruturado, pode no
produzir a mesma qualidade ou nvel de detalhe de outros processos
Quem ir responder.
Onde ser respondido.
Introduo aos Sistemas de Informao 29 Introduo aos Sistemas de Informao 30
Etnografia Reuso de requisitos
uma tcnica de observao.
Reuso envolve considerar requisitos que j foram
Analista se insere no ambiente de trabalho em que o sistema
ser utilizado. desenvolvidos para um sistema e us-los em
O trabalho dirio observado e so anotadas tarefas reais
sistemas diferentes
em que o sistema ser utilizado.
Utilizada para complementar descobertas obtidas por outras O reuso de requisitos economiza tempo e esforo,
esforo
tcnicas. pois requisitos reutilizados j foram analisados e
Vantagem: viso mais completa e perfeitamente ajustada ao validados em outros sistemas
contexto.
Desvantagem
Desvantagem:: tempo gasto e pouca sistematizao do
processo.

Introduo aos Sistemas de Informao 31 Introduo aos Sistemas de Informao 32

Reuso Prototipagem
justamente a capacidade de se aproveitar anlises Um prottipo uma verso inicial de um sistema que poder
anteriores que diferencia um analista experiente de ser usado para experimentao.
um inexperiente Prottipos so teis para elicitao de requisitos porque os
usurios podero experimentar com o sistema e mostrar os
Vantagens: produtividade e qualidade pontes fortes e fracos do sistema, modificando
modificando--o em
Desvantagens: dificuldade de se promover runtime.
runtime
reutilizao sem modificao O desenvolvimento rpido dos prottipos essencial para
que eles fiquem disponveis logo para o processo de
elicitao.

Introduo aos Sistemas de Informao 33 Introduo aos Sistemas de Informao 34

Benefcios da prototipagem JAD (Joint


(Joint Application Design)
Design) (1)
Refinam brainstorming para englobar abordagens mais estruturadas em
Permite que os usurios experimentem e que o mediador um profissional altamente experiente e bem treinado.
descubram o que eles realmente necessitam para Tambm denominada de FAST (Facilitated Application Specification
suportar o trabalho deles Technics)
Foi desenvolvido pela IBM.
Estabelece a viabilidade e utilidade antes que altos Participantes JAD:
custos de desenvolvimento tenha sido realizado Lder da sesso: organiza e gerencia o processo.
Essencial para desenvolvimento da identidade Patrocinador.
visual da aplicaao. Gerentes funcionais e usurios finais.
Representantes de SI.
Relatores: realizam anotaes sobre o que foi discutido em relao
ao negcio, comportamento dos usurios, etc.

Introduo aos Sistemas de Informao 35 Introduo aos Sistemas de Informao 36


JAD (Joint
(Joint Application Design)
Design) (2) Dicas
Tcnica organizada em 4 fases. Sempre perguntar: o que? Por que(m)? Como?
Fase 1 a 3 tem durao de 4 dias. Pergunte o bvio
Fase 1) Reunio inicial (gerentes, usurios e analistas do Organize as respostas: durante versus depois
sistema) Viva a situao durante um tempo
Fase 2) Levantamento de dados e anlise Observe
Fase 3) Planejamento para a sesso de design Estudar o que? Por que? Onde comear
Fase 4) Conduzir workshop Seja humilde, procure aprender!

Introduo aos Sistemas de Informao 37 Introduo aos Sistemas de Informao 38

Exemplo
Sistema de uma Vdeo Locadora de pequeno
porte.
Questo 1: que tcnica de extrao de requisitos voc
usaria e por que?
Questo 2: Descreva os 5 requisitos funcionais e 3 no
funcionais.

Introduo aos Sistemas de Informao 39


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Caso de Uso

Introduo aos Sistemas de Informao 1

Caso de Uso
Facilita a compreenso do funcionamento do sistema
em um nvel mais alto de abstrao.
descrio de vrias aes para realizao de um
objetivo.
Mostra o comportamento dinmico do sistema.
uma viso da funcionalidade do Sistema sob o
ponto de vista externo.
Descrever a essncia das operaes.
O que
essencial ?

Introduo aos Sistemas de Informao 2

Profa. Dra. Luciana Zaina 1


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Descrio Essencial
Somente o que fundamental sem detalhes
sobre a implementao.
Exemplo:
Sistema atual: o funcionrio procura a ficha do
cliente no fichrio
Sistema futuro: o funcionrio clica no boto
procurar digitando o cdigo do cliente no campo
cdigo do cliente
Descrio essencial: o funcionrio localiza as
informaes sobre o cliente

Introduo aos Sistemas de Informao 3

Definio
A narrativa do Caso de Uso um texto passo a
passo sobre as aes que o Ator pode tomar e como
o Sistema responder a esta ao.
A narrativa vai ento evoluindo, entre aes do Ator
e as respostas do Sistema, para que o objetivo do
Ator, possa ser alcanado.
No necessrio se preocupar em como o sistema
obteve ou calculou os dados.
Limite-se a escrever o que o sistema responde e no
como ele obtm a resposta.
Nome de um caso de uso deve ser um verbo.

Introduo aos Sistemas de Informao 4

Profa. Dra. Luciana Zaina 2


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo Locadora de Filmes

Locar DVD
Um cliente solicita a locao de alguns DVDs. Aps
identificar-se, e identificar os DVDs ele pode lev-
los para casa, ciente do prazo de devoluo e do
valor a ser pago.

Introduo aos Sistemas de Informao 5

Modelo de UC

Introduo aos Sistemas de Informao 6

Profa. Dra. Luciana Zaina 3


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo Locadora de Filmes

Introduo aos Sistemas de Informao 7

Modelo UC
Fluxo bsico:
maneira mais comum que o Ator usar para atingir o seu
objetivo;
refere-se a uma tarefa;
deve-se ser especfico na descrio.
Fluxos alternativos:
outros caminhos para atingir o mesmo objetivo;
o objetivo no pode ser alcanado;
tambm denominado de fluxos de excees.
Evitar informaes vagas como:
O cliente seleciona o tipo de cadastramento e informa seus
dados.
Introduo aos Sistemas de Informao 8

Profa. Dra. Luciana Zaina 4


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo Locadora de Filmes

Fluxo Bsico de Eventos


Aes do Ator Aes do Sistema
1. Cliente informa seu nome ao
Funcionrio.
2. Funcionrio informa ao 3. Sistema retorna dados do
sistema nome do cliente. cliente.
4. Funcionrio inicia a locao. 5. Sistema solicita entrada das
fitas a serem locadas.
6. Funcionrio informa cdigo 7. Sistema registra fitas
de cada fita a ser locada. locadas.
8. Sistema retorna data de
devoluo e valor total da
locao.

Introduo aos Sistemas de Informao 9

Exemplo Locadora de Filmes

Fluxo Alternativo de Eventos 1: Passo 3 Fluxo Bsico


Aes do Ator Aes do Sistema
3. Sistema informa que cliente
no cadastrado.
4. Funcionrio solicita o 5. Sistema chama caso de uso
cadastro de clientes. [Cadastrar de Cliente].
6. Sistema retorna ao passo 3
do fluxo bsico.

Chamada de outro caso de uso


Voltar

Introduo aos Sistemas de Informao 10

Profa. Dra. Luciana Zaina 5


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo Locadora de Filmes

Fluxo Alternativo de Eventos 2: Passo 8 Fluxo Bsico


Aes do Ator Aes do Sistema
8. Sistema informa que cliente
possui dbitos.
9. Cliente paga o dbito.
10. Funcionrio informa ao 11. Sistema registra quitao.
sistema que dbito foi quitado.
12. Sistema retorna ao passo 8
do fluxo bsico.

Voltar

Introduo aos Sistemas de Informao 11

Exemplo Locadora de Filmes

Fluxo Alternativo de Eventos 3: Passo 9 Fluxo Alternativo 2


Aes do Ator Aes do Sistema
9. Cliente no paga o dbito.
10. Funcionrio finaliza a locao.

Introduo aos Sistemas de Informao 12

Profa. Dra. Luciana Zaina 6


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Fluxo Alternativo

Introduo aos Sistemas de Informao 13

Passos de um Fluxo (1)


Obrigatrios:
essencial para descrio de um caso de uso;
sua ausncia pode comprometer o entendimento;
respostas do sistema devem enviar alguma informao.
Exemplo: reservar filme

Fluxo Bsico de Eventos


Aes do Ator Aes do Sistema
1. Cliente informa seu nome ao
Funcionrio.
2. Funcionrio informa ao sistema 3. Sistema retorna dados
nome do cliente. do cliente.
4. Cliente solicita uma reserva. 5. Sistema efetiva a
Problema
reserva.

Introduo aos Sistemas de Informao 14

Profa. Dra. Luciana Zaina 7


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Passos de um Fluxo (2)


Complementares:
no possuem interao direta com o sistema, mas ajudam
na compreenso do contexto do caso de uso
no influenciam na complexidade do software.

Fluxo Bsico de Eventos


Aes do Ator Aes do Sistema
1. Cliente informa seu nome ao
Funcionrio.
2. Funcionrio informa ao sistema 3. Sistema retorna dados
nome do cliente. do cliente.

Introduo aos Sistemas de Informao 15

Passos de um Fluxo (3)


No recomendados:
passos internos do sistema;
passos que citam tecnologias;
movimentos do usurio na interface;
cada passo possui uma entrada de dados que
podem ser agrupados.
Exemplos:
o sistema registra o nome do cliente no banco de dados.
o sistema calcula a mdia das vendas.
usurio pressiona a tecla tab.
usurio clica no ok.
Introduo aos Sistemas de Informao 16

Profa. Dra. Luciana Zaina 8


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Abortar Caso de Uso

Voltar ao incio do passo que causou o


alternativo.
Ir para algum passo posterior.
Voltar ao incio do caso de uso.
Abortar o caso de uso.

Introduo aos Sistemas de Informao 17

Fluxo Alternativo - Variaes


Pode haver em um mesmo cenrio algumas variaes.
Estas podem ser tratadas como fluxos alternativos variados.
Fluxo Alternativo de Eventos: Passo 8 Fluxo Bsico
Aes do Ator Aes do Sistema
8. Sistema informa que
cliente possui
dbitos.
9. Cliente paga o dbito:
9.1. Dinheiro: fluxo alternativo 4.
9.2. Cheque: fluxo alternativo 5.
9.3. Carto: fluxo alternativo 6.
10. Funcionrio informa ao sistema 11. Sistema registra
que dbito foi quitado. quitao.
12. Sistema retorna ao
passo 8 do fluxo bsico.

Introduo aos Sistemas de Informao 18

Profa. Dra. Luciana Zaina 9


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo

Uma grande rede de livrarias consolidada no mercado


internacional de distribuio e venda livros vai iniciar
um projeto de desenvolvimento de um novo sistema
para gerenciamento de compras e entregas de livros
atravs da Web.
Descreva o caso de uso que detalha o processo
adio de livros ao carrinho de compras. Nele o
cliente poder aps adicionar um item ao carrinho de
compras, selecionar a opo de visualizar carrinho de
compras, ou ento continuar adicionando novos itens.

Introduo aos Sistemas de Informao 19

Exerccio

Para o mesmo cenrio descreva o UC de


pesquisar livros por diferentes parmetros.
Consulta simples: Palavras-chaves, ttulo, autor,
editora, ISBN.
Consulta composta: Palavras-chaves + autor,
palavras-chaves+editora, autor+editora.

Introduo aos Sistemas de Informao 20

Profa. Dra. Luciana Zaina 10


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Introduo aos Sistemas de Informao 21

Profa. Dra. Luciana Zaina 11


Introduo aos Sistemas de Informao UFSCar - Sorocaba

UML e
Orientao a Objetos

Introduo aos Sistemas de Informao 1

Introduo
Na fase de Elicitao de Requisitos captura-se as
intenes e necessidades dos usurios do sistema.
Atravs de um conjunto de tcnicas de elicitao.
Os interesses do cliente devem ser formalizados
para prxima fase.
Para formaliza-los um dos diagramas UML usados pe
o de casos de uso.

UML!!??
Introduo aos Sistemas de Informao 2

Profa. Dra. Luciana Zaina 1


Introduo aos Sistemas de Informao UFSCar - Sorocaba

UML
Unified Modeling Language (Linguagem de
Modelagem Unificada)
Surgiu no final da dcada de 90 atravs da fuso
de conceitos desenvolvidos por Rumbaugh, Booch
e Jacobson.
um padro internacional amplamente adotado.
Utilizado para modelagem de sistemas orientado a
objetos.
Padronizada pela OMG (Object Management
Group) - http://www.omg.org/

Introduo aos Sistemas de Informao 3

UML
UML ...
uma linguagem visual.
independente de linguagem de programao.
independente de processo de desenvolvimento.
UML no ...
uma linguagem programao (mas possui verses!).
uma tcnica de modelagem.
Um processo de desenvolvimento que utilize a UML como
linguagem de modelagem envolve a criao de diversos
documentos.

Introduo aos Sistemas de Informao 4

Profa. Dra. Luciana Zaina 2


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Notao UML
Vises: Mostram os diferentes aspectos do sistema,
dando enfoque a ngulos e nveis de abstraes
diferentes
Modelos de Elementos: So os conceitos utilizados
nos diagramas
Mecanismos Gerais: Provm comentrios,
informaes ou semntica sobre os elementos dos
modelos.
Diagramas: So grficos que descrevem o contedo
em uma viso

Introduo aos Sistemas de Informao 5

Vises
Cada viso descrita por um nmero de diagramas
que contm informaes que do nfase aos
aspectos particulares do sistema.
Tipos:
Viso de Casos de Uso
Viso Lgica
Viso de Componentes
Viso de Organizao
Viso de Concorrncia

Introduo aos Sistemas de Informao 6

Profa. Dra. Luciana Zaina 3


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Diagramas UML

Introduo aos Sistemas de Informao 7

Diagrama de Classes
Viso estrutural: elementos e interligaes.
Antes de definir as classes necessrio entender
alguns conceitos de OO...

Introduo aos Sistemas de Informao 8

Profa. Dra. Luciana Zaina 4


Introduo aos Sistemas de Informao UFSCar - Sorocaba

ORIENTAO A OBJETOS

Introduo aos Sistemas de Informao 9

Introduo (1)
A OO surgiu na tentativa de solucionar problemas
complexos existentes no desenvolvimento de
software e resolv-los de maneira com baixo custo de
desenvolvimento e manuteno
Representar esses objetos em um software mais
natural e permanente do que representar a sua
funcionalidade (decomposio funcional), pois essa
mutvel.

Introduo aos Sistemas de Informao 10

Profa. Dra. Luciana Zaina 5


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Introduo (2)
Maior facilidade de manuteno de sistemas
nfase nos dados do sistema que so mais
estveis que os procedimentos;
A ocorrncia de erros ou alteraes vo estar
associadas a um nico mdulo ou a um pequeno
grupo deles (mais fcil depurar e isolar erros).
Maior ndice de aproveitamento de cdigo.

Introduo aos Sistemas de Informao 11

Introduo (3)
Modelagem de classes
Modelo conceitual: primeiro momento.
Modelo de classes: refinamento.
Modelo estrutural esttico
Compreender como o sistema est estruturado
internamente para que as funcionalidades
externamente visveis sejam produzida.
Modelos dinmicos e estticos esto relacionados
entre si.

Introduo aos Sistemas de Informao 12

Profa. Dra. Luciana Zaina 6


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Estgios do modelo de classe

Cdigo-
Modelo de detalhamento Modelo de fonte Modelo de
classes de classes de classes de
anlise projeto implementao

Modelo conceitual Necessidade de criar


Principais entidades que outras classes
fazem parte do sistema

Introduo aos Sistemas de Informao 13

Conceitos OO - Bsico
Domnio
Classificao
Classe
Informaes sobre o objeto
Atributo
Comportamento
Mtodos, na anlise operaes
Encapsulamento
Visibilidade
Instanciao
Objeto

Introduo aos Sistemas de Informao 14

Profa. Dra. Luciana Zaina 7


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Paradigma OO

Como determinar
Atributos
+ Operaes quais classes
fazem parte de
um problema ?

Classe
Encapsulamento
Grau de encampsulamento

Visibilidade

Introduo aos Sistemas de Informao 15

Identificao de Classes

Como determinar quais classes fazem parte de


um problema?
Tcnicas para identificao de classes
Classes candidatas
Eliminar conjunto de classes desnecessrias
Existem diversas abordagens, iremos usar:
Anlise de casos de uso
Identificao dirigida por responsabilidade

Introduo aos Sistemas de Informao 16

Profa. Dra. Luciana Zaina 8


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Identificao das responsabilidades


Uma responsabilidade de um objeto uma obrigao
que este tem para com o sistema no qual est
inserido.
Uma responsabilidade algo que um objeto conhece
ou faz (sozinho ou sendo ajudados por outro(s)
objeto(s)).
Um objeto cumpre com suas
responsabilidades a partir das
Importante
informaes que ele possui ou das
informaes que ele pode derivar de
colaboraes com outros objetos.

Introduo aos Sistemas de Informao 17

Objetos,Responsabilidades e
Colaboradores
realizadas por
Objetos
possuem

Responsabilidades
O que o objeto conhece
+
O que o objeto faz Colaboradores

precisam de

Introduo aos Sistemas de Informao 18

Profa. Dra. Luciana Zaina 9


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Cartes CRC
Cartes CRC (Classe, Responsabilidade,
Colaborao).
Pessoas envolvidas no processo participaro da
construo.
A responsabilidade de aes a serem realizadas por
um sistema encontram-se em um objeto.
Procurar responder perguntas como:
Quais so os componentes do problema? (Classe)
O que cada um deles deve fazer
(Responsabilidades)?
Como eles trabalham em conjunto (Colaborao)?

Introduo aos Sistemas de Informao 19

Dicas - Carto CRC


Associe a responsabilidade com base na
especialidade da classe.
Distribua a inteligncia do sistema.
Agrupe as responsabilidades conceitualmente
relacionadas.
Evitar responsabilidades redundantes.

Introduo aos Sistemas de Informao 20

Profa. Dra. Luciana Zaina 10


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Elaborao CRC (1)


Passo 1) Identificao das classes candidatas
Como via de regra geral atores de casos de uso
(envolvidos diretamente ao problema) e sujeito de frases
so fortes candidatos a se tornarem uma classe.
Deve-se ter cuidado ao dar nomes a classes. Os nomes
devem ser especficos, extrados do contexto do problema.
Devem-se evitar nomes genricos demais:sistema,
usurio, controlador e operador
Exemplos:PassagemArea, FichaDePresena,
RelgioDePonto, Cliente, Pedido, Produto, etc

Introduo aos Sistemas de Informao 21

Elaborao CRC (2)


Passo 2) Distribuir responsabilidades
A responsabilidade de uma classe uma funo que o
sistema exige que a classe cumpra.
O que a classe sabe est expresso em seus atributos e o
que ela sabe fazer est em suas operaes.
Se uma funcionalidade pedir uma responsabilidade ainda
no coberta por nenhuma das classes, pode-se adicionar a
responsabilidade em uma das classes existentes ou criar
uma classe para receber essa responsabilidade
Exemplos:Fazer pedidos, Definir o preo, Consultar
Viagens, Calcular salrio, etc

Introduo aos Sistemas de Informao 22

Profa. Dra. Luciana Zaina 11


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Elaborao CRC (3)


Passo 3) Caracterizar Colaboradores
Uma classe incapaz de cumprir sozinha todas as
responsabilidades de um sistema. No cumprimento de
uma responsabilidade que lhe foi atribuda, ela pode
solicitar a colaborao de outras classes
Isso quer dizer que, em algum ponto do cumprimento
da sua funo, a classe invoca uma outra
responsabilidade da classe colaboradora
Colaboradores so os objetos para os quais se envia
mensagens para satisfazer uma determinada
responsabilidade
Se houver colaborao entre duas classes significa que
as mesmas podem ter algum tipo de relacionamento.

Introduo aos Sistemas de Informao 23

Traduo do Carto
Para cada carto, cria-se uma classe.
O nome do carto o nome da classe.
As responsabilidades atribudas a cada carto so
traduzidas em atributos ou operaes:
As responsabilidades associadas ao armazenamento de
uma informao da classe so traduzidas em atributos.
As responsabilidades associadas a aes que a classe
deve executar para o sistema so traduzidas em
operaes.
Havendo colaborao entre duas classes, uma
indicao que pode haver algum tipo de relacionamento
entre classes.

Introduo aos Sistemas de Informao 24

Profa. Dra. Luciana Zaina 12


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo
Considere o exemplo da vdeo locadora:
Um cliente solicita a locao de alguns DVDs. Aps
identificar-se, e identificar os DVDs ele pode lev-los para
casa, ciente do prazo de devoluo e do valor a ser pago.
Um filme obrigatoriamente tem pelo menos uma cpia dele.
Para uma locao ocorrer ela deve estar vinculada a uma
cpia.
Identifique as classes candidatas. Para cada classe
candidata monte o carto CRC:
Identifique informaes
Identifique aes
Verifique se existem colaboradores

Introduo aos Sistemas de Informao 25

Exemplo Locadora de Filmes

Introduo aos Sistemas de Informao 26

Profa. Dra. Luciana Zaina 13


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo Locadora de Filmes

Fluxo Bsico de Eventos


Aes do Ator Aes do Sistema
1. Cliente informa seu nome ao
Funcionrio.
2. Funcionrio informa ao 3. Sistema retorna dados do
sistema nome do cliente. cliente.
4. Funcionrio inicia a locao. 5. Sistema solicita entrada das
fitas a serem locadas.
6. Funcionrio informa cdigo 7. Sistema registra fitas
de cada fita a ser locada. locadas.
8. Sistema retorna data de
devoluo e valor total da
locao.

Introduo aos Sistemas de Informao 27

Exemplo Locadora de Filmes

Fluxo Alternativo de Eventos 1: Passo 3 Fluxo Bsico


Aes do Ator Aes do Sistema
3. Sistema informa que cliente
no cadastrado.
4. Funcionrio solicita o 5. Sistema chama caso de uso
cadastro de clientes. [Cadastrar de Cliente].
6. Sistema retorna ao passo 3
do fluxo bsico.

Introduo aos Sistemas de Informao 28

Profa. Dra. Luciana Zaina 14


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo Locadora de Filmes


Fluxo Alternativo de Eventos 2: Passo 8 Fluxo Bsico
Aes do Ator Aes do Sistema
8. Sistema informa que cliente
possui dbitos.
9. Cliente paga o dbito.
10. Funcionrio informa ao 11. Sistema registra quitao.
sistema que dbito foi quitado.
12. Sistema retorna ao passo 8
do fluxo bsico.

Fluxo Alternativo de Eventos 3: Passo 9 Fluxo Alternativo 2


Aes do Ator Aes do Sistema
9. Cliente no paga o dbito.
10. Funcionrio finaliza a locao.

Introduo aos Sistemas de Informao 29

Introduo aos Sistemas de Informao 30

Profa. Dra. Luciana Zaina 15


03/04/2012

- Diagrama de Classes-
Classes-

Introduo aos Sistemas de Informao 1

Introduo
 A OO Surgiu na tentativa de solucionar problemas
Complexos existentes no desenvolvimento de
Software e resolv-los de maneira com baixo custo de
desenvolvimento e manuteno
 Mundo Real formado por objetos que se interagem
 Representar esses objetos em um software mais
natural e permanente do que representar a sua
funcionalidade (decomposio funcional), pois essa
mutvel

Introduo aos Sistemas de Informao 2

1
03/04/2012

Definio
 um diagrama que representa como as classes que fazem parte da
soluo do problema so definidas e como estas se associam
 Define quais so os objetos envolvidos no seu sistema
 um modelo esttico, pois no define aes no sistema
 Pode mostrar:
Conceitos (classes envolvidas)
Associaes entre conceitos
Atributos de conceitos
Operaes do conceito
 Um diagrama de classes criado quando j se tem muito bem
concretizado os requisitos.

Introduo aos Sistemas de Informao 3

Traduo do Carto CRC

 Definir as propriedades de uma classe


Pode ser um atributo
 Uma responsabilidade de conhecer mapeada para
atributos ou associaes (conceito ser visto).
 Um atributo tem as caractersticas de guardar um valor
atmico e ser aplicado a todos os objetos criados a partir
da classe.
 No deve ser definido atributos que no fazem parte da
descrio do objeto em seu domnio. Exemplo: idCliente.
Pode ser uma operao
 Uma responsabilidade de fazer algo mapeada para
operaes ou associaes.
Introduo aos Sistemas de Informao 4

2
03/04/2012

Representao

Observaes: Cliente
Classes devem estar no singular e iniciar

com letra maiscula. nome


Atributos e operaes tem sua primeira
cpf
palavra em minscula e segunda com a informarDados()
primeira letra em maiscula.
retornarCPF()

Introduo aos Sistemas de Informao 5

Associao
 A associao um relacionamento que conecta duas ou mais
classes.
 uma associao que permite em tempo de execuo que dois
objetos troquem mensagens entre si.
Durante a execuo do sistema objetos destas classes
podem colaborar para realizar alguma tarefa.
 So representadas com uma linha entre os conceitos, indicando
a relao entre eles
Importante:
 Deve-se tomar cuidado para no querer detalhar as
associaes.
 O mais importante identificar as classes e as principais
associaes entre eles.
Introduo aos Sistemas de Informao 6

3
03/04/2012

Associao Simples (1)

 Seta (opcional) indicativa da leitura da associao


frase e/ou verbo que indique a relao entre os conceitos

Cliente Produto
compra

Cliente Produto

associao

Introduo aos Sistemas de Informao 7

Associao Simples (3)


 Nomeando as Associaes:
A indicao da associao deve ser colocada
com uma frase e/ou verbo que indique a
relao entre os conceitos.

1 consulta 1..*
Cliente Produto

Introduo aos Sistemas de Informao 8

4
03/04/2012

Associao Simples (2)


 Tipos de Associaes:
Quando uma associao representada deve ser indicado quantas
instncias existem entre os objetos envolvidos.
1 ao 1
Objeto 1 Objeto 2

Associaes mltiplas:
1..40
T
1..*
T
5
T Exatamente 5
0..*
T

3,5,8 Exatamente 3,5 ou 8


T
*
T

Introduo aos Sistemas de Informao 9

Associao
 Associao no relao de Banco de Dados

Cliente Produto
nome 1 verifica 1..* codigo
end descrio

Introduo aos Sistemas de Informao 10

5
03/04/2012

Classes associativa
 Normalmente aparecem quanto h uma associao
de muitos para muitos.
 Usada quando necessrio manter informaes
sobre a associao existente.

Introduo aos Sistemas de Informao 11

Visibilidade (1)
 Encapsulamento: o agrupamento dos dados e funo relacionados a uma
classe
modularizao
ocultar os dados e os mtodos da classe
acesso atravs de mensagens
segurana
 Vantagens do encapsulamento:
conhecer somente o que necessrio para o uso da classe
detalhes de implementao ficam ocultos
manter integridade dos dados
garantir funcionalidade das operaes
 Quebra de encapsulamento

Introduo aos Sistemas de Informao 12

6
03/04/2012

Visibilidade (2)

 Uso de modificadores:
Publico (public)
Default (sem modificador)
Privado (private)

Introduo aos Sistemas de Informao 13

Semntica da Associao
 Corresponde ao significado da associao, a natureza
conceitual que existe entre os objetos que participam
daquela associao.
 Relao todo-parte
Um objeto est contido no outro.
Agregao.

Composio.

Sempre que uma agregao ou composio puder ser


usada tambm pode-se usar uma associao simples.

Introduo aos Sistemas de Informao 14

7
03/04/2012

Estruturas Todo-
Todo-Parte (1)
 A agregao um caso particular da associao (somente
associaes binrias duas classes) utilizadas para expressar
um relacionamento todo-parte.
 Na agregao, ambas as classes podem viver de forma
independente, ou seja, no existe ligao forte entre as duas.
 Objetos da parte ou do da parte todo so independentes em
termos de vida, porm ambas depender do domnio do
problema em estudo.
Conta Corrente Aplicao

* 1
Cliente Cliente

Introduo aos Sistemas de Informao 15

Estruturas Todo-
Todo-Parte (2)
 A composio uma variao mais poderosa da agregao.
 O relacionamento interpretado como um objeto composto
de partes.
 A diferena que a classe parte pertence s e somente
classe todo, em um determinado momento, no podendo
fazer parte de outro relacionamento de composio.
 A classe composta responsvel pela criao e destruio
de suas partes. Entende-se assim, que uma vez que a
classe composta deixe de existir, todas as suas partes
morrem juntas.

Introduo aos Sistemas de Informao 16

8
03/04/2012

Exemplo - Composio

Funcionrio

*
Dependente

Introduo aos Sistemas de Informao 17

Herana
 Relacionamento de generalizao e especializao.
Relacionamento entre classes.

 a tcnica da orientao a objetos que permite a aplicao do


conceito de reutilizao de cdigo
Permite a criao de novas classes reutilizando atributos e operaes de
uma classe j existente
criada uma hierarquia entre as classes, onde a subclasse ou classe
filha herda todas as caractersticas e aes da super-classe ou classe
pai

superclasse

subclasse

Herana simples Herana mltipla


Introduo aos Sistemas de Informao 18

9
03/04/2012

Associao reflexiva
 Indica que objetos de uma classe se associa com outros
objetos da mesma classe.
 Objetos possuem papis distintos na associao.
 No diferentes atributos ou comportamentos entre eles, no
caracterizando a herana.

Introduo aos Sistemas de Informao 19

Exemplo
 Considere o exemplo da video locadora:
Um cliente solicita a locao de alguns DVDs. Aps
identificar-se, e identificar os DVDs ele pode lev-los para
casa, ciente do prazo de devoluo e do valor a ser pago.
Um filme obrigatoriamente tem pelo menos uma cpia dele.
Para uma locao ocorrer ela deve estar vinculada a uma
cpia.

 Construa o Diagrama Conceitual a partir dos cartes CRC.

Introduo aos Sistemas de Informao 20

10
Introduo aos Sistemas de Informao UFSCar - Sorocaba

Diagrama de Caso de Uso

Introduo aos Sistemas de Informao 1

Diagrama de Caso de Uso


Representa os casos de uso e a interao deste com os
atores.
Enquanto processos representam fluxo de dados e
precisam, portanto, de dados de entrada e geram dados
de sada, um caso de uso apenas a representao de
uma funo, manipulada por uma entidade do sistema,
conhecida como Ator
no interessa o fluxo de dados, pois essa
transformao demonstrada num diagrama de
comportamento.

Introduo aos Sistemas de Informao 2

Profa. Dra. Luciana Zaina 1


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Diagrama de Caso de Uso


Elementos

Caso de Uso

Nome do Caso

ATOR ASSOCIAO

Introduo aos Sistemas de Informao 3

Diagrama de Caso de Uso


Exemplo

Cadastrar aluno

Cadastrar professor

Listar alunos

Gerente da
escola Listar professores

Calcular mdia

Introduo aos Sistemas de Informao 4

Profa. Dra. Luciana Zaina 2


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Diagrama de Caso de Uso


Exemplo
Associao:
pode conter
ud Comprar Produto uma descrio
ou no

Efetuar Pedido
realiza

Ator: pessoa, um
sistema ou Cliente
entidade externa
(exemplo:
instituio
financeira) Caso de Uso:
atividade em que h
participao do ator

Introduo aos Sistemas de Informao 5

Elementos
Ator: Ator est relacionado a um papel. No contexto
do sistema, papel diz respeito viso dada ao
sistema.
Caso de Uso: representa a funcionalidade.
Associao: Representa a interao do ator com o
caso de uso, ou seja, a comunicao entre atores e
casos de uso, por meio de envio e recebimento de
mensagens.
As associaes entre casos de usos so sempre
binrias, ou seja, envolvem sempre 2 elementos.
Pode ter uma seta indicativa do sentido da leitura.

Introduo aos Sistemas de Informao 6

Profa. Dra. Luciana Zaina 3


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Diagrama de Caso de Uso


Os diagramas de Casos de Uso tem por objetivo
apresentar uma viso macro do processo.
Para que haja uma viso detalhada necessrio
realizar a narrativa ou detalhamento de um caso de
uso.
Detalhamentos:
Viso 0 apresenta os principais processos
identificados no sistema
Viso 1 detalha os processos internos de um
processo maior.

Introduo aos Sistemas de Informao 7

Exemplo Viso 0

Outro
sistema

Introduo aos Sistemas de Informao 8

Profa. Dra. Luciana Zaina 4


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo Video Locadora

1) Que outros processos


voc colocaria?
2) Acrescente o Reservar
DVD.

Viso 0

Introduo aos Sistemas de Informao 9

Dependncia

Representa que um caso de uso depende da


finalizao de outro para ser processado.
No exemplo, Despachar
Pedido s ser
executado depois que
Aprovar Pedido for
concludo.

Existe alguma
dependncia no
sistema da Locadora?

Introduo aos Sistemas de Informao 10

Profa. Dra. Luciana Zaina 5


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo

ud Comprar Produto

Faturar Venda
Efetuar Pedido

Cliente

Entregar Produto

Departamento de
Faturamento

Departamento de
Vendas

Departamento de
Departamento de Estoque
Logistica

Introduo aos Sistemas de Informao 11

Extenso (Extend)
Um relacionamento de extenso entre casos de uso
indica que um deles ter seu procedimento
acrescido, em um ponto de extenso, de outro caso
de uso, indicado como base.
Um caso de uso de extenso muito utilizado para:
Expressar rotinas de exceo ou para expressar o
desmembramento de um caso de uso (quando um
cenrio alternativo possui um fluxo grande que
merea ateno especial).
Separar um trecho do caso de uso que ser
executado apenas em determinadas condies.

Introduo aos Sistemas de Informao 12

Profa. Dra. Luciana Zaina 6


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo - Extend

ud Sistema Pedidos Dentro da descrio


do caso de uso emitir
Emitir Pedido pedido (narrativa)
Vendedor chamado o caso de
uso cadastrar cliente.
extend

Cadastrar Cliente

Introduo aos Sistemas de Informao 13

Incluso (Include)

usada quando existe um servio, situao ou rotina


comum a mais de um Caso de Uso.
Ocorre quando existe um servio que utilizado por
mais de um caso de uso e dever ser reaproveitado.
Indicam uma obrigatoriedade de execuo.
Pode ser comparado a chamada de uma sub-rotina
ou funo em uma linguagem de programao.

Introduo aos Sistemas de Informao 14

Profa. Dra. Luciana Zaina 7


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exemplo - Include

ud Sistema Pedidos Verificar Produto em


Verificar Produto
Estoque uma ao
Estoque
realizada tanto quando
include
se consulta as
Vendedor
Emitir Pedido
informaes sobre o
include
produto como quando
se emite um pedido

Consultar Produto

Introduo aos Sistemas de Informao 15

Exemplo Locadora
Existe alguma
extenso?

Introduo aos Sistemas de Informao 16

Profa. Dra. Luciana Zaina 8


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exerccio (1) Livraria Virtual

Uma grande rede de livrarias consolidada no mercado


internacional de distribuio e venda livros vai iniciar
um projeto de desenvolvimento de um novo sistema
para gerenciamento de compras e entregas de livros
atravs da Web.
Descreva o caso de uso que detalha o processo
adio de livros ao carrinho de compras. Nele o
cliente poder aps adicionar um item ao carrinho de
compras, selecionar a opo de visualizar carrinho
de compras, ou ento continuar adicionando novos
itens.

Introduo aos Sistemas de Informao 17

Exerccio (2) Livraria Virtual


Caso de uso que detalha o processo adio de livros ao carrinho de
compras: nele o cliente poder aps adicionar um item ao carrinho
de compras, selecionar a opo de visualizar carrinho de compras,
ou ento continuar adicionando novos itens.
O UC faz a chamada de 2 outros UC:
Verificar estoque.
Visualizar carrinho.
Calcular valor total do livro.

Introduo aos Sistemas de Informao 18

Profa. Dra. Luciana Zaina 9


Introduo aos Sistemas de Informao UFSCar - Sorocaba

Exerccio (3) Livraria Virtual


Acrescentando...
Alm da funcionalidade de adicionar ao carrinho de compras, o
sistema permite excluir itens do carrinho, efetuar pedidos,
pesquisar itens, etc. Toda vez que uma pesquisa por itens
realizada o sistema verifica se possvel realizar uma
recomendao ao cliente de acordo com os elementos utilizados
na pesquisa.
Quando um pedido finalizado enviado um e-mail ao cliente
sobre o pedido.
Quando verificado que no h item em estoque para entrega,
este ativa a funcionalidade que solicita o item a editora.
Considerando as descries, elabore o Diagrama de UC Nvel 0.

Introduo aos Sistemas de Informao 19

Introduo aos Sistemas de Informao 20

Profa. Dra. Luciana Zaina 10


14/05/2014

Categorizao de Classes e
Padro GRASP

Introduo aos Sistemas de Informao 1

CATEGORIZAO DE
CLASSES

Introduo aos Sistemas de Informao 2

1
14/05/2014

Definio
Esteretipos: mecanismo para estender o significado
de um determinado elemento em um diagrama UML.
Tipos:
Grficos: cone que lembre o significado do
elemento
Textuais: definido por um nome delimitado por
<<e>> e colocado prximo ao elemento.

Introduo aos Sistemas de Informao 3

Categorizao BCE
Proposta por Jacobson.
Categorizao a definio de esteretipos textuais e
grficos para as classes de forma que estes definam
qual a real finalidade da classe dentro do sistema.
Ser trabalhado com a categorizao BCE:
Boundary: objetos de fronteira
Control: objetos de controle
Entity: objetos de entidade

Introduo aos Sistemas de Informao 4

2
14/05/2014

Objetos de Fronteira (1)


Boundary..
Boundary
Realizam a comunicao do sistema com os atores.
Podem ser que realizam:
Interface com o usurio.
Interface com sistemas externos.
Comunicao com dispositivos relacionados ao sistema.
Tem as responsabilidades de:
Notificar os eventos ocorridos pelo ambiente.
Apresentar resultados ao usurio.

Introduo aos Sistemas de Informao 5

Objetos de Fronteira (2)


O nome do objeto deve realizar analogia com o canal de
comunicao que ir representar com o meio externo.
Exemplos:
FormularioInscricao, LeitoraCartao, etc.
Se comunicam com atores e com controladores.
Durante a modelagem deve se abstrair detalhes sobre a
interface, protocolos de comunicao, etc.
Notao UML:

Introduo aos Sistemas de Informao 6

3
14/05/2014

Objetos de Controle (1)


Control
Ponte de comunicao entre objetos de fronteira e de entidade
Coordenam a execuo de uma funcionalidade especfica do
sistema
Normalmente s existem durante a execuo de um caso de
uso
O nome deve lembrar o caso de uso.
Exemplos:
ControladorInscricoes, GerenciadorContas, etc

Introduo aos Sistemas de Informao 7

Objetos de Controle (2)


Responsabilidades usuais:
Realizar monitorao para responder a eventos
Coordenar a realizao de um caso de uso
Notao UML:

Introduo aos Sistemas de Informao 8

4
14/05/2014

Objetos de Entidade
Conceito encontrado no domnio do problema
Lgica do negcio
Encontrados durante a anlise do domnio
Normalmente participam de vrios casos de uso
Responsabilidades:
Informar valores aos objetos requisitantes
Realizar clculos e impor restries relativas as regras de negcio
Criar e destruir partes de um todo-parte.
Notao UML:

Introduo aos Sistemas de Informao 9

Dicas
Cada objeto existente no sistema especialista em realizar um
dos trs tipos de tarefas: fronteira, controle ou entidade.
Normalmente deve-se:
Adicionar um objeto de fronteira para cada ator do caso de
uso
Adicionar um objeto de controle para cada caso de uso. O
controlador deve coordenar a realizao do processo de
negcio.

Introduo aos Sistemas de Informao 10

5
14/05/2014

Outros Esteretipos

Podem ser definidos pelo analista.


Enumeration::
Enumeration
um tipo que pode tratar um conjunto de valores
definidos (uma lista).

Introduo aos Sistemas de Informao 11

Exemplo
Altere o diagrama da video locadora
categorizando os elementos.

Introduo aos Sistemas de Informao 12

6
14/05/2014

GRASP
General Responsability Assignment Software Patterns

Captulo 17 Larman Utilizando


UML e Padres

Introduo aos Sistemas de Informao 13

Introduo
UML uma linguagem de modelagem.
modelagem
No um processo ou guia de projeto.
O uso do UML importante para se ter uma linguagem
nica e universal.
No suficiente para o bom desenvolvimento de projetos.
Importante: projeto guiado por responsabilidades.
Padres de Projeto de Anlise.
Anlise

Introduo aos Sistemas de Informao 14

7
14/05/2014

Padres
Padro uma descrio nomeada de um problema e
soluo que pode ser aplicada a novos contextos.
Aconselha como aplicar a soluo em circunstncias
variadas.
Discute prs e contras.
O nome de um padro deve sintetizar seus objetivos.
Um padro s existe se houverem situaes para
reutilizao.

Introduo aos Sistemas de Informao 15

Histria
Os padres foram introduzidos por Cristopher Alexander
que em seu livro descreve padres arquiteturais
(construo civil).
1980: Kent Beck trouxe as ideias de Alexander para o
desenvolvimento de software.
1994: os conceitos de padres foram disseminados a
partir da publicao do livro Design Patterns do Gamma.
Dois tipos bsico de padres:
Padres de anlise: GRASP
GRASP.
Padres de projeto: GoF Gang-of-Four.

Introduo aos Sistemas de Informao 16

8
14/05/2014

Tipos de Padres
Dois tipos bsico de padres:
Padres de anlise: GRASP
GRASP.
Padres de projeto: GoF Gang-of-Four.

Introduo aos Sistemas de Informao 17

GRASP (1)
General Responsability Assignment Software
Patterns.
Descreve princpios fundamentais para a anlise e
atribuio de responsabilidades aos objetos do
sistema.

Introduo aos Sistemas de Informao 18

9
14/05/2014

GRASP (2)

Existem 9 padres de anlise, sendo que os mais


importantes so:
Especialista na Informao (Information Expert)
Criador (Creator)
Controlador (Controller)
Baixo Acoplamento (Low Coupling)
Alta Coeso (High Cohesion)

Introduo aos Sistemas de Informao 19

Exemplo

Considere um sistema de venda de produtos.

Introduo aos Sistemas de Informao 20

10
14/05/2014

Especialista
Problema:
Qual o princpio mais bsico de atribuio de
responsabilidades em projeto OO?
Em um sistema com centenas de classes, como
selecionamos quais responsabilidades devem estar em
quais classes?
Soluo:
Atribuir a responsabilidade ao especialista.
especialista
O especialista a classe que tem a informao necessria
para satisfazer a responsabilidade.

Introduo aos Sistemas de Informao 21

Especialista Exemplo (1)


Problema:
Quem deve ser responsvel pelo clculo total do pedido?
Soluo: ??

getTotalPedido ()

Introduo aos Sistemas de Informao 22

11
14/05/2014

Especialista Exemplo (2)


Problema:
Quem deve ser responsvel pelo clculo total do item?
Soluo: ??

getItemPedido ()

Introduo aos Sistemas de Informao 23

Criador
Problema:
Quem deveria ser responsvel pela criao de uma nova instncia
de uma classe?
Soluo:
Atribua classe A a responsabilidade de criar instncias da classe
B se ao menos:
A contm objetos de B
A agrega objetos de B
A registra objetos de B
A usa de maneira muito prxima objetos de B
A tem os dados necessrios para a construo de objetos de B

Introduo aos Sistemas de Informao 24

12
14/05/2014

Criador Exemplo
Problema:
Quem deve ser responsvel por criar em um ItemPedido?
Soluo: ??

Pedido contm objetos de ItemPedido

Introduo aos Sistemas de Informao 25

Controlador
Problema:
Quem deveria ser responsvel por tratar um evento de sistema?
Os eventos de sistema esto associados s mensagens de
sistema, que so geradas a partir dos passos dos casos de uso.
Soluo:
Os eventos de sistemas devem ser tratados por uma das classes
abaixo:
o tratador de eventos ser um s para o sistema como um
todo.
Representa um dispositivo dentro do qual o software est
rodando.
Representante o caso de uso ou sesso.

Introduo aos Sistemas de Informao 26

13
14/05/2014

Controlador Exemplo (1)


Problema:
Quem deve tratar o evento de registro de um item de pedido,
executado pelo mtodo registraItemPedido(codigo, quantidade)?

Introduo aos Sistemas de Informao 27

Controlador Exemplo (2)


Soluo 1:
ControlePedidoItens: UC de
adicionar itens.

UC

Introduo aos Sistemas de Informao 28

14
14/05/2014

Controlador Exemplo (3)

Soluo 2:
ControleVenda:
controle geral.

Controle geral

Introduo aos Sistemas de Informao 29

Baixo Acoplamento (1)


Acoplamento: uma medida de quo fortemente um elemento est
conectado a, tem conhecimento de, ou depende de outros
elementos.
Um elemento com acoplamento baixo no dependente de
muitos elementos.
Deve ser observado o contexto
contexto.

Problema do acoplamento forte:


Modificaes foradas em decorrncia de classes relacionadas.
As classes so mais difceis de serem entendidas isoladamente.
O reso dificultado.

Introduo aos Sistemas de Informao 30

15
14/05/2014

Baixo Acoplamento (2)


Problema:
Como suportar uma dependncia baixa e aumentar a
reutilizao?
Tipos de acoplamento entre as classes A e B:
A classe A subclasse da classe B
A classe A tem um atributo do tipo da classe B
A classe A tem um mtodo que referencia a classe B
atravs de parmetro, varivel local ou retorno de
mensagem.
Soluo:
Atribuir responsabilidade de modo que o acoplamento
permanea baixo.

Introduo aos Sistemas de Informao 31

Baixo Acoplamento Exemplo


Problema:
Considere as classes a seguir, que fazem parte do sistema de
Vendas.
Quem responsvel pela criao de uma instncia de
Pagamento ?

Soluo:
Ligar o controle a Pagamento?
Ligar o controle a Pedido?

Introduo aos Sistemas de Informao 32

16
14/05/2014

Coeso Alta(1)
Coeso: a capacidade de uma classe fornecer componentes
que trabalham em conjunto para fornecer algum comportamento
delimitado.
considerada uma baixa coeso uma nica classe ser
responsvel por muitas coisas em reas funcionais diferentes.
Normalmente uma coeso ruim implica em um mau
acoplamento.

Introduo aos Sistemas de Informao 33

Coeso Alta(2)
Problema:
Como manter a complexidade sob controle?
As classes so difceis de compreender.
As classes so difceis de reutilizar.
As classes so difceis de manter.
As classes so frgeis, sendo afetadas por praticamente todas
as modificaes.
Soluo:
Atribuir responsabilidade de forma que as classes no fiquem
sobrecarregadas, e que as suas atribuies sejam
relacionadas.

Introduo aos Sistemas de Informao 34

17
14/05/2014

Coeso Alta - Exemplo


Problema:
Considere o comportamento efetuar pagamento.
pagamento Onde o
mesmo deveria ser inserido?

Introduo aos Sistemas de Informao 35

Consideraes

Os padres de anlise permitem um


refinamento nos modelos iniciais.
Incentivam a reviso do modelo proposto.
So consideradas boas prticas de elaborao
de modelo esttico.

Introduo aos Sistemas de Informao 36

18
14/05/2014

Exemplo

Considere o diagrama da video Locadora a


seguir. Analise:
Ele est de acordo com o padro GRASP?
Desejo consultar filmes disponveis.
Desejo consultar um cliente.
Desejo saber os dbitos do cliente.

Introduo aos Sistemas de Informao 37

Introduo aos Sistemas de Informao 38

19
Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

- Diagrama de Interao-

Introduo aos Sistemas de Informao 1

Introduo
Caso de uso: interao entre ator e sistema,
apresentando como o sistema reage para atingir
determinado objetivo.
Modelo de classes: viso estrutural.
Questo: como os objetos podem colaborar entre
si para realizar um cenrio (caso de uso)?

Diagramas de Interao

Introduo aos Sistemas de Informao 2

Profa. Dra. Luciana Zaina 1


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Diagramas de Interao (1)


Consolidao dos aspectos dinmicos do
sistema.
Verifica se as responsabilidades esto
agrupadas corretamente:
Validao do modelo conceitual.
Mostram como os objetos do sistema agem
internamente para que um ator ou um outro
sistema atinja seu objetivo.

Introduo aos Sistemas de Informao 3

Diagramas de Interao (2)


Pode representar um sistema, subsistema, operao,
classe ou cenrio de um caso de uso, sendo essa
representao mais frequente.
Um diagrama de interao formado, basicamente,
por objetos, relacionamentos e mensagens.
Pode apresentar a lgica de um caso de uso ou
parte dele quando o mesmo muito complexo.
Os diagramas de interao se apresentam de duas
formas:
Diagramas de Sequncias
Diagramas de Colaborao (Comunicao).

Introduo aos Sistemas de Informao 4

Profa. Dra. Luciana Zaina 2


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Mensagens
Conceito fundamental em um diagrama de interao.
Representa a requisio de um objeto remetente a um objeto
receptor para que este ltimo execute uma operao definida em
sua classe.
O remetente deve enviar informaes suficientes para que a
mensagem possa ser executada pelo receptor.
Tipos de mensagens:
Sncrona: espera que o objeto receptor processe a mensagem
antes de recomear seu processamento.
Assncrona: objeto remetente no espera resposta para
prosseguir.
Retorno: utilizada para especificar o retorno(trmino) de uma
mensagem enviada anteriormente.

Introduo aos Sistemas de Informao 5

Diagrama de Sequncia

Introduo aos Sistemas de Informao 6

Profa. Dra. Luciana Zaina 3


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Definio
Permitem representar como os objetos interagem uns
com os outros.
Seu foco principal est na sequncia de mensagens,
isto , como mensagens so enviadas e recebidas
por um certo nmero de objetos
Tem uma viso temporal.

Introduo aos Sistemas de Informao 7

Simbologia (1)
O diagrama de sequncia possui dois eixos: o eixo vertical
representa o tempo e o eixo horizontal apresenta um
conjunto de objetos.
Cada um destes objetos representado por um retngulo,
dentro do qual aparece o nome do objeto(ou classe).
Saindo de cada objeto aparece uma linha vertical denominada
linha de vida do objeto, que representa a execuo do objeto
durante uma sequncia (mensagens enviadas e recebidas,
ativao e destruio do objeto etc).

cli:Cliente Varivel de
Cliente Classe :Cliente Instncia Instncia

Introduo aos Sistemas de Informao 8

Profa. Dra. Luciana Zaina 4


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Simbologia (2)
Linha de Vida: representa a colocao de um objeto em
memria durante a execuo de um cenrio.
Ativao: quando uma mensagem recebida, tem-se
uma ativao, ou seja, inicia-se uma atividade no objeto
receptor.
A ativao denota um foco de controle, ou seja, quais
objetos esto sendo executados em um determinado
tempo
representada por um retngulo que se sobrepe
linha de vida do objeto.

Introduo aos Sistemas de Informao 9

Simbologia (3)
Mensagem: uma mensagem uma comunicao
entre objetos que leva informao com a expectativa
de que uma ao seja tomada
O envio de mensagens representado por setas
cheias e o retorno de mensagens representado
por setas tracejadas
As mensagens podem ser sncronas (ponta da seta
cheia) ou assncrona (ponta da seta sem
preenchimento)

Introduo aos Sistemas de Informao 10

Profa. Dra. Luciana Zaina 5


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Simbologia (4) - exemplo


Objeto remetente Objeto receptor
Objeto com
varivel de
instncia
objeto
Mensagem
sncrona

Mensagem
de retorno ativao

Mensagem
assncrona

auto-
chamada
linha de vida

Introduo aos Sistemas de Informao 11

Simbologia (5)
Criao do objeto: momento em que o objeto vai para a
memria. Se for criado no incio da interao deve ser
posicionado no topo do diagrama.
Destruio do objeto: retirado de memria quando no
mais necessrio na interao.

Introduo aos Sistemas de Informao 12

Profa. Dra. Luciana Zaina 6


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Simbologia (6) - exemplo

Esteretipo /
mensagem
de criao

Esteretipo /
mensagem /
smbolo de
destruio

Introduo aos Sistemas de Informao 13

Simbologia (7)

Rtulos: podem indicar comentrios, iteraes ou restries.

rtulos

Introduo aos Sistemas de Informao 14

Profa. Dra. Luciana Zaina 7


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Simbologia (8)

Ator, fronteira e controle.

Introduo aos Sistemas de Informao 15

Diagrama de Colaborao

Introduo aos Sistemas de Informao 16

Profa. Dra. Luciana Zaina 8


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Definio (1)
Os objetos so distribudos no diagrama de
colaborao na ordem similar a do diagrama de
seqncias, obedecendo a seqncia de mensagens.
A colaborao entre mensagens acompanhada de
uma numerao seqencial e de outras informaes
como condies e iteraes.

Introduo aos Sistemas de Informao 17

Definio (2)
Em virtude da forma como um diagrama de
colaborao apresentado, identificamos a
seqncia temporal das mensagens por meio de
seqncias numricas.
A auto-chamada do diagrama de seqncias
identificado como auto-delegao e, no diagrama de
colaborao, representado como um arco ligado ao
objeto.

Introduo aos Sistemas de Informao 18

Profa. Dra. Luciana Zaina 9


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Simbologia

Introduo aos Sistemas de Informao 19

EXEMPLO

Introduo aos Sistemas de Informao 20

Profa. Dra. Luciana Zaina 10


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Exemplo
Considere o cenrio de uma vdeo locadora:

Fluxo Bsico de Eventos


Aes do Ator Aes do Sistema
1. Cliente informa seu nome ao
Funcionrio.
2. Funcionrio informa ao 3. Sistema retorna dados do
sistema nome do cliente. cliente.
4. Funcionrio inicia a locao. 5. Sistema solicita entrada das
fitas a serem locadas.
6. Funcionrio informa cdigo 7. Sistema registra fitas
de cada fita a ser locada. locadas.
8. Sistema retorna data de
devoluo e valor total da
locao.

Introduo aos Sistemas de Informao 21

Introduo aos Sistemas de Informao 22

Profa. Dra. Luciana Zaina 11


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Exerccio
Considere o cenrio de vendas de itens na web:
Fluxo Bsico de Eventos
Aes do Ator Aes do Sistema
1. Cliente seleciona item que 2. Sistema adiciona item ao
deseja adicionar ao carrinho. carrinho.
3. Sistema solicita quantidade do
item desejada.
4. Cliente indica a quantidade 5. Sistema registra a quantidade.
desejada.
6. Sistema chama caso de uso
[Calcular valor total do livro].
7. Sistema apresenta valor total do
livro inserido a partir da quantidade
desejada e do preo unitrio do
mesmo.
Introduo aos Sistemas de Informao 23

Exerccio
Considere o cenrio de vendas de itens na web:
Fluxo Bsico de Eventos
Aes do Ator Aes do Sistema
8. Sistema apresenta a opo de:

8.1. Adicionar outro elemento:


retorna ao passo 1 do fluxo bsico.

8.2. Visualizar carrinho de


compras: chama caso de uso
[Visualizar carrinho].

8.3. Finalizar adio de livros:


passo 9 do fluxo bsico.
9. Sistema finaliza adio de livros
ao carrinho.

Introduo aos Sistemas de Informao 24

Profa. Dra. Luciana Zaina 12


Introduo aos Sistemas de Informao UFSCar- campus Sorocaba

Introduo aos Sistemas de Informao 25

Profa. Dra. Luciana Zaina 13

Você também pode gostar