Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelo Conceitual
Processo de Software
DEFINIO
CONSTRUO
Anlise de Sistema
Planejamento do Projeto
Engenharia de Requisitos
Engenharia
de Projeto
Requisitos
Codificao
Teste
Aplicao de
Mtricas
Acompanhamento
e Controle do
Projeto
Atividades de SQA
Produo e
Preparao de
Documentos
SOFTWARE PRODUTO
MANUTENO
Gerenciamento de
Configurao
Entendimento
Modificao
Revalidao
Gerenciamento de
Risco
Atividades para
Garantir a Qualidade
Engenharia de Requisitos
Atividades Principais
Elicitao
Anlise
Modelagem
Engenharia de Requisitos
Atividades Principais
UdeI
ELICITAR
UdeI
Documento de Requisitos
do Sistema
ANALISAR
Decises da
Anlise
MODELAR
Mtodos,
Tcnicas e
Ferramentas
Modelo de
Anlise do
Sistema
Engenharia de Requisitos
Atividades Principais
UdeI
ELICITAR
UdeI
Documento de Requisitos
do Sistema
ANALISAR
Decises da
Anlise
MODELAR
Mtodos,
Tcnicas e
Ferramentas
Modelo de
Anlise do
Sistema
Anlise e Modelagem
Combinao de formas textuais e
diagramticas para representar os
requisitos (de dados, funo e
comportamento) do software.
Fcil de entender.
Mais direto para revisar.
Anlise e Modelagem
Objetivos:
Descrever o que o cliente deseja.
Estabelecer a base para a criao de
um projeto de software.
software
Definir um conjunto de requisitos que
possa ser validado quando o software
for construdo.
Anlise e Modelagem
O modelo de anlise a primeira
representao tcnica de um sistema
Duas tcnicas de modelagem se destacam:
Anlise Estruturada
Anlise Orientada a Objeto
Anlise/Projeto OO
Decomposio: objetos ou conceitos.
Catlogo
Livro
Bibliotecrio
Anlise/Projeto Estruturados
Decomposio: funes ou processos.
processos
Sistema
Biblioteca
Registrar
emprstimos
Relatar
multas
Anlise OO
Permite abstrair de uma forma mais real o mundo
a ser modelado.
Utiliza abstraes do mundo real chamadas de
objetos.
Princpios de Anlise e
Modelagem
Existem vrios mtodos de anlise
e modelagem de software.
Cada um tem um ponto de vista
singular.
Todos tm um conjunto fundamental
de princpios.
princpios
Princpios de Anlise e
Modelagem
Princpios Operacionais:
O domnio de informao de um problema precisa ser
representado e entendido.
As funes a serem desenvolvidas pelo software devem
ser definidas.
O comportamento do software (como conseqncia de
eventos externos) precisa ser representado.
Os modelos que mostram informao, funo e
comportamento devem ser particionados de modo que
revele detalhes de modo hierrquico.
O processo de anlise deve ir da informao essencial
at o detalhe de implementao.
Princpios de Anlise e
Modelagem
Princpios Diretivos:
Entenda o problema antes de criar modelos
de anlise.
Desenvolva prottipos que permitam ao
usurio entender como a interao
homem/mquina vai ocorrer.
Registre a origem e a razo para cada
requisito.
Use mltiplas vises dos requisitos.
Ordene os requisitos.
Trabalhe para eliminar a ambigidade.
Conceitos de
Orientao a Objetos
Objeto
Componente do mundo real que mapeado
para o domnio do software.
Representa uma entidade de natureza fsica
ou conceitual.
Possui limites bem definidos e significado
bem conhecido dentro do escopo de uma
aplicao.
Conceitos de
Orientao a Objetos
Classe
Representao de um conjunto de objetos
similares.
Objetos que compartilham a mesma estrutura de
atributos, operaes e relacionamentos, dentro
de um mesmo contexto.
Conceitos de
Orientao a Objetos
Casa
Classe
Casa do
Presidente
Objetos
Conceitos de
Orientao a Objetos
Classes e Objetos
Automvel
Marca
Placa
Classe
Corsa AFR7655
Gol
BFF-9888
Fiesta AFR-7655
Objetos
Conceitos de
Orientao a Objetos
Objeto
Possui caractersticas ou propriedades
que o definem.
Atributos.
Os atributos identificam o estado de
um objeto.
Conceitos de
Orientao a Objetos
Objeto
Possui comportamentos que
modificam seu estado (atributos) ou
prestam servios a outros objetos.
Operaes
Conceitos de
Orientao a Objetos
Objeto
As operaes so implementadas pelos
mtodos.
Os mtodos de uma classe manipulam
somente as estruturas de dados
daquela classe, ou seja, no podem
acessar diretamente os dados de outra
classe.
Uma classe tem conhecimento dos dados
de outra pela solicitao de servios:
mensagem.
Conceitos de
Orientao a Objetos
Portas
Quartos
Salas
Localiza
o
Cozinha
Telhado
Classe
Atributos
Reformar
Limpar
Pintar
Mobiliar
Operaes
Conceitos de
Orientao a Objetos
Classe, Atributos e Operaes
Automvel
Classe
Proprietrio
Marca
Placa
Ano
Atributo
s
Registrar
Transferir_Proprietri
o
Mudar_Placa
Operae
s
Conceitos de
Orientao a Objetos
Classe, Atributos e Operaes
Figura
Classe
Largura
Altura
Posicao_x
Posicao_y
Cor_preenchimento
Atributo
s
Mover
Redimensionar
Operae
s
Conceitos de
Orientao a Objetos
Elementos-chave de OO:
Encapsulamento
Herana
Polimorfismo
Conceitos de
Orientao a Objetos
Encapsulamento
Objetos encapsulam seus atributos.
Os atributos de uma classe so acessveis apenas
pelos mtodos da prpria classe.
Outras classes s podem ter acesso aos atributos
de uma classe invocando os mtodos pblicos.
Conceitos de
Orientao a Objetos
Encapsulamento
Classe como
uma caixa
preta
ObterIdade
ReajustarSalario
CalcularFerias
Classe Funcionrio
Interface da
classe
Conceitos de
Orientao a Objetos
Herana
Mecanismo pelo qual uma subclasse herda
todas as propriedades da superclasse e
acrescenta suas prprias e exclusivas
caractersticas.
As propriedades da superclasse no precisam ser
repetidas em cada subclasse.
Conceitos de
Orientao a Objetos
Herana
Classe: Pessoa
herana
herana
Nome
Sexo
Data nascimento
Estado civil
Classe: Aluno
Matrcula
Classe: AlunoUniv
Curso
CalcularIdade
notaVestibular
MatricularAluno
Conceitos da
Orientao a Objetos
Herana
Veculo
Proprietri
o
Marca
Placa
Automvel
Caminho
n_passageiro
s
n_eixos
Semireboque
capacidade
Conceitos de
Orientao a Objetos
Polimorfismo
Representa a capacidade de um objeto para
assumir diferentes formas.
a propriedade segundo a qual vrios
mtodos podem existir com o mesmo nome.
Ao receber uma mensagem para efetuar uma
operao, o objeto quem determina como a
operao deve ser efetuada.
Permite a criao de vrias classes com interfaces
idnticas, porm objetos e implementaes
diferentes.
Conceitos de
Orientao a Objetos
Polimorfismo
Classe: Funcionrio
Nome
Sexo
Data admissao
Classe: Professor
cargo
CalcularSalario(mesRefe
rencia:inteiro)
Titulacao
Especialidade
Regime de trabalho
CalcularSalario(mesRefe
rencia:inteiro)
O operador +
pode ser usado
com inteiros,
pontos-flutuantes
ou strings.
de
de
de
de
Coad-Yourdon (1990).
Wirfs-Brock (1990).
Booch (1991).
Rumbaugh (1991).
Artefatos ...
Artefato da Anlise
Questes Respondidas
Casos de Uso
Modelo Conceitual
Contratos de Operao
Modelo Conceitual
Consiste em uma representao dos conceitos,
pertencentes ao domnio do problema (mundo
real).
exibido por um conjunto de diagramas de
estrutura esttica, no qual no se definem
operaes.
Pode mostrar: conceitos, associaes entre
conceitos e atributos de conceitos.
Pode ser tratado como um dicionrio visual das
abstraes significativas do domnio.
Ajuda a compreender a terminologia e o vocabulrio do
Modelo Conceitual
Conceito
Informal: idia ou objeto do mundo real no domnio de
interesse.
Algo digno de ser documentado, de importncia para o
domnio.
Modelo Conceitual
Conceito
Smbolo
Ex.: Venda
Inteno
Ex.: (o conceito) Uma venda representa uma
transao de compra e possui data e hora.
Extenso
Ex.: Venda1, Venda2, Venda3,
Estratgias para
Identificar Conceitos
melhor especificar em excesso um
modelo conceitual com muitos conceitos
do que subespecific-lo.
Menos conceitos no implicam em um modelo
melhor.
No exclua um conceito s porque sua necessidade
no est bvia nos requisitos.
No exclua um conceito s porque no tem atributos
ele pode possuir um papel de comportamento e
no de informao.
Identificar Substantivos.
Usar uma Lista de Categorias de Conceitos.
Identificao de Substantivos
Domnio TPV caso de uso Comprar Itens
1.
1.
3. Determina o preo do
item e acrescenta
informao sobre o item
transao de vendas
em andamento.
Se houver mais de um
exemplar do item o
caixa
A descrio e o preo
do item corrente so
apresentados
Identificao de Substantivos
Lembre-se:
1. Nem todos os substantivos so conceitos
linguagem natural pode ser ambgua.
Ex: substantivos diferentes podem representar o
mesmo conceito (Consumidor e Cliente)
Categorias de Conceitos
Exemplos
Objetos fsicos ou tangveis: TPV, Aeronave
Lugares: Loja, Aeroporto
Organizaes: DepartamentoVendas
Sistema externo: SistemaAutorizaoCartoCrdito
Papis desempenhados por pessoas: Caixa, Piloto
Transaes: Venda, Pagamento, Reserva
Itens de linha de transao: ItemLinhaVendas
Catlogos: CatlogoProdutos, CatlogoPeas
Conceitos Candidatos
Domnio TPV caso de uso Comprar Itens
Caixa
Cliente
Item
Loja
Venda
CatlogoProdutos
EspecificaoProduto
ItemLinhaVenda
Pagamento
Gerente
Modelo Conceitual
Associao
Associao um relacionamento entre
conceitos.
Indica uma conexo com significado e
interesse.
Modelo Conceitual
Associao
TPV
associao
1..1
nome da associao
1..1
Venda
Captura
direo de leitura
(default: opcional)
OBS: o smbolo
SOMENTE indica direo
de leitura no tem significado no
modelo.
Multiplicidade
A multiplicidade
define quantas
instncias de um
conceito A podem ser
associadas a cada
instncia do conceito
B.
*
1..*
1..40
5
3,5,8
um ou mais
um a quarenta
exatamente cinco
multiplicidade
TPV
associao
1..1
1..1
Captura
nome da associao
Venda
direo de leitura
(default: opcional)
Loja
1..1
Estoca
Item
Associaes Comuns
A uma parte fsica de B
Gaveta TPV
Asa Aeronave
Associaes Comuns
A registrada em B
Venda TPV
Reserva ManifestoVo
1 .. * Empregado
0 .. *
Possui
0..1
E-chefe-de
Associaes Mltiplas
entre Conceitos
Destino
Vo
Voa-para
Aeroporto
Voa-de
*
Origem
Associaes e Implementao
Uma associao indica um relacionamento
significativo apenas sob a perspectiva
conceitual.
Uma associao no implica em uma conexo entre
objetos em uma soluo de software.
Algumas associaes do modelo conceitual podem
no ser necessrias na implementao.
Durante a implementao podem ser descobertas
associaes entre objetos de software que foram
esquecidas durante a modelagem conceitual.
Registra-venda-de
Descritos-por
0..1
1..1
Contm
Catlogo de Produtos
1..1
1..*
Especificao de Produto
1..1
LinhadeItemdeVenda
1..1
Usado-por
Descreve
1..*
1..1
Contido-em
1..1
1..1
1..1
1..*
capturada-em
1..1
Paga-por
TPV
1..1
Iniciada-por
1..1
Pagamento
1..1
1..1
Possui
1..1
1..1
*
Item
Estoca
Loja
Registra-dados-da
1..1
Venda
1..1
Cliente
Iniciada-por
Iniciado por
0..*
Gerente
1..1
Registra-Vendas-do
1..1
1..1
Caixa
Modelo Conceitual
Atributo
Um atributo um valor de dados lgico de um objeto.
Descreve uma caracterstica do objeto.
Inclua no modelo conceitual apenas os atributos para os
quais os requisitos sugerem ou implicam uma
necessidade de memorizar a informao.
Ex: preo de item, quantidade, descrio, CUP, valor da
compra,
Modelo Conceitual
Atributo
Os atributos so descritos na segunda seo
da caixa de conceito.
O tipo do atributo opcional.
Venda
data: Data
hora: Hora
Pessoa
nome: String
idade: Inteiro
Registra-venda-de
Descritos-por
1..1
Catlogo de Produtos
0..1
LinhadeItemdeVenda
quantidade
1..*
Contido-em
1..1
Venda
data
hora
1..1 1..1
Paga-por
Pagamento
quantia
1..1
1..*
1..1
Usado-por
*
Loja
1..1
endereo
Registra-Dados-da
nome
Especificao de Produto
descrio
preo
UPC
Descreve
1..1
*
Estoca
Item
1..1
1..1
1..1
Possui
1..1
1..*
Capturada-em
Iniciada-por
1..1
Contm
1..1
Iniciado por
TPV
1..1
1..1
Cliente
1..*
Gerente
1..1
Registra-Vendas-do
1..1
Caixa
Generalizao
No sistema TPV caso de uso
ComprarItens :
Os conceitos de PagamentoComDinheiro,
PagamentoComCartoCrdito e
PagamentoComCheque so muitos
semelhantes.
Podem ser organizados em uma hierarquia
de tipos (ou conceitos).
Hierarquia generalizao/especializao.
Generalizao
Identifica o que h em comum entre conceitos.
Permite:
Construir classificaes taxonmicas hierarquias de
tipos.
Compreender os conceitos em termos mais gerais e
abstratos, ou mais refinados.
Generalizao
Notao UML
supertipo
conceito geral
ConceitoA
ConceitoA
ConceitoA1
ConceitoA2
ConceitoA3
ConceitoA1
ConceitoA2
ConceitoA3
Generalizao e Tipo
A definio de um supertipo mais geral e
mais abrangente que a definio de um
subtipo.
Pagamento: uma transao de transferncia de
dinheiro (no necessariamente em espcie) de um
comprador para um vendedor.
PagamentoComCartoCrdito: transferncia de
dinheiro, via uma instituio de crdito, que
necessita ser autorizada.
Regra -Um
Todos os membros de um conjunto
subtipo devem ser membros de
seu conjunto supertipo.
O Subtipo um Supertipo.
Pagamento
PagamentoComDinheiro
supertipo
conceito geral
PagamentoCheque
PagamentoComCartoCrdito
subtipo conceito especializado
Pagamento
Pagamento Com
Dinheiro
Pagamento Com
Cheque
Pagamento Com
Carto Crdito
PagamentoComDinheiro
Pago-a
PagamentoComCartoCrdito
Venda
PagamentoComCheque
ClienteFeminino
ClienteMasculino
Exemplo
atributos em
comum
Pessoa
nome
CPF
Departamento
Est-vinculada-a
Estudante
Docente
titulao
nro. USP
*
subtipos com
atributos e
associaes
adicionais, e
comportamento
e distintos
nome
1..2
Ministra
Cursa
Disciplina
cdigo
0..3
PagamentoComDinheiro
Pago-a
PagamentoComCartoCrdito
Venda
PagamentoComCheque
1
Pago_com
Identifica_crdito_com
1
CartodeCrdito
1
Cheque
O que fazer???
Se uma pessoa pode ter mais de um emprego em
empresas diferentes, onde colocar a informao de
salrio????
Empresa
nome
Emprega
Pessoa
* nome
Emprega
Pessoa
* nome
Uma opo:
Empresa
nome
*
paga
Salrio
valor
recebe
Um opo MELHOR:
Tipos Associativos
Empresa
nome
Emprega
Pessoa
* nome
Emprego
salrio: Quantia
TIPO
ASSOCIATIVO
Tipos Associativos
Indcios da existncia de tipos associativos:
Um atributo est relacionado a uma associao.
As instncias do tipo associativo tm tempo de vida
dependente do tempo de vida da associao.
Existe uma associao muitos-para-muitos entre dois
conceitos, bem como informaes relacionadas
associao propriamente dita.
Agregao
um tipo de associao usado para
modelar relacionamentos todo-parte entre
coisas.
O todo geralmente chamado composto, as
partes podem ser chamadas componentes.
Notao em UML: losango vazio ou
preenchido.
Mo
Dedo
0..5
1
COMPOSTO
COMPONENTE
Agregao Composta
(Losango Preenchido)
Agregao composta ou composio significa
que:
A multiplicidade na extremidade do composto
pode ser no mximo 1.
Uma instncia do componente pode ser parte de
apenas uma instncia do composto
(simultaneamente).
Exemplos
Um dedo s pode fazer parte de uma mo.
Mo
0..5 Dedo
Venda
1..* ItemLinhaVenda
1..*EspecificaoProduto
Agregao Compartilhada
(Losango Vazio)
Agregao compartilhada significa que:
A multiplicidade na extremidade do composto pode
ser
maior que 1.
Uma instncia do componente pode estar
simultaneamente em muitas instncias do composto.
Software
OO
Classe
CD
titulo
ano
1..n
Msica
nome
cantor
Modelo Conceitual:
Diretrizes para Construo
Liste os conceitos candidatos relacionados aos
requisitos considerados.
Use a Lista de Categorias de Conceitos e a
Identificao de Substantivos.