Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
4. Processo de Engenharia de Requisitos
1. Apresentao do Professor
Viso Geral do Processo de Engenharia de Requisitos
2. Apresentao da Disciplina
Levantamento de Requisitos
Ementa
Tcnicas de Levantamento de Requisitos
Objetivo
Qualidade dos Requisitos
Bibliografia
Atributos dos Requisitos
3. Introduo
Organizao dos Requisitos
Engenharia de Requisitos
Anlise de Requisitos
Requisitos
UML
Tipos de Requisitos
Modelo Entidades e Relacionamentos
Nveis de Requisitos
Documentao de Requisitos
O Documento de Definio de Requisitos
O Documento de Especificao de Requisitos
Verificao e Validao de Requisitos
Gerncia de Requisitos
Mudanas de Requisitos
Matriz de Rastreabilidade
Engenharia de Requisitos e Normas e Modelos de
Qualidade de Processos de Software
CMMI
MPS.BR
1. Apresentao do Professor
Apresentao do Professor
- DOUTORANDO EM CINCIA DA COMPUTAO Universidade Federal
da Bahia, UFBA, Salvador, Brasil Ttulo: Uma Abordagem para Gerao
de Contedos Complementares num Cenrio de Convergncia Digital
Orientador: Celso Alberto Saibel Santos
- MESTRADO EM INFORMTICA. Universidade Federal do Paran, UFPR,
Brasil. Ttulo: Utilizando tcnicas de aprendizado de mquina para
apoio ao teste de regresso, Ano de Obteno: 2009. Orientadora: Slvia
Regina Vergilio.
- GRADUAO - BACHARELADO EM CINCIA DA COMPUTAO.
Universidade Luterana do Brasil, ULBRA. Ttulo: Processo de Teste de
Software Customizvel baseado em Modelos e Normas de Qualidade.
Ano de Obteno: 2007. Orientador: Luis Fernando Fortes Garcia.
4
Apresentao do Professor
- PROFESSOR 4 ANOS DE EXPERINCIA
- REA 1
- UNIJORGE
- UNIME
- UNEB Funcionrio Pblico, D.E., Concursado desde
2012
- Engenharia de Software
- Gerncia de Projetos
- Sistemas de Informao
- Sistemas Multimdia
- Interface Humano-Computador
- Algoritmos
5
Apresentao do Professor
Mais de 7 anos de experincia profissional na rea de T.I.,
Atuando em multinacionais como HP, LG, Nokia, Siemens e
Bunge.
Apresentao do Professor
2. Apresentao da Disciplina
Apresentao da Disciplina
Engenharia de Requisitos:
Apresentao da Disciplina
EMENTA
10
Apresentao da Disciplina
BIBLIOGRAFIA BSICA
Ian Sommerville. Engenharia de Software, 9 Edio. Pearson
Education, 2011.
Apresentao da Disciplina
12
3. Introduo
[PRESSMAN, 2011]
14
Problema Clssico
15
Soluo: Comunicao
Cliente
Engenheiro de
Requisitos
16
Processo de Software:
Classificao de Atividades
Um processo de software envolve diversas atividades
que podem ser classificadas quanto ao seu propsito
em:
Atividades de Desenvolvimento (ou Tcnicas)
so as atividades diretamente relacionadas ao processo de desenvolvimento
do software (levantamento e anlise de requisitos, projeto, implementao)
Atividades de Gerncia
envolvem atividades relacionadas ao gerenciamento do projeto de maneira
abrangente (gerncia de projetos, gerncia de configurao, reuso, etc.).
Processo de Software:
Classificao de Atividades
18
Processo de Software:
Classificao de Atividades
Atividades de Desenvolvimento:
1 Atividade de Desenvolvimento
Levantamento de Requisitos:
quando os requisitos do sistema a ser desenvolvido
so preliminarmente capturados e organizados.
em seguida os requisitos devem ser modelados,
avaliados e documentados.
Modelagem Conceitual: elaborao de modelos
descrevendo o qu o software tem de fazer (e no como
faz-lo).
19
Processo de Software:
Classificao de Atividades
Atividade de Projeto
Tem por objetivo definir e especificar uma soluo (como
faz-lo) a ser implementada.
20
Estimativas
Modelagem
Projeto
Implementao
Testes
Manuteno
Esto presentes ao longo de todo o ciclo de vida de um software.
21
Atividades de:
Verificao de Requisitos
Validao de Requisitos
Garantia da Qualidade de Requisitos
Os custos sero bem maiores se defeitos em requisitos
23
forem identificados tardiamente
Atividade de:
Gerncia de Requisitos
24
Processo de Software:
Classificao de Atividades
25
Atividades de Gerncia
Gerncia de Requisitos
26
27
Engenharia de Requisitos :
O processo de (em relao aos requisitos):
Coletar
Analisar
Documentar
Verificar/
Validar
Gerenciar
[Sommerville, 2011]
28
Definio de Requisito
Existem diversas definies para requisito de
software na literatura, dentre elas:
Requisitos de um sistema so descries dos servios que
devem ser fornecidos por esse sistema e as suas restries
operacionais (SOMMERVILLE, 2011).
Um requisito de um sistema uma caracterstica do
sistema ou a descrio de algo que o sistema capaz de
realizar para atingir seus objetivos (PFLEEGER, 2004).
Um requisito alguma coisa que o produto tem de fazer
ou uma qualidade que ele precisa apresentar
(ROBERTSON; ROBERTSON, 2006).
29
Tipos de Requisitos
30
Tipos de Requisitos
Tipos de Requisitos
Tipos de Requisitos
33
Tipos de Requisitos
34
Tipos de Requisitos
35
Tipos de Requisitos
36
Tipos de Requisitos
37
Tipos de Requisitos
Tipos de Requisitos
39
Tipos de Requisitos
Regras de Negcio
1. Fatos ou invariantes:
declaraes que so verdade sobre o negcio. Geralmente
descrevem associaes ou relacionamentos entre importantes
termos do negcio.
Ex.: Todo pedido tem uma taxa de remessa.
2. Restries:
como o prprio nome indica, restringem as aes que o sistema ou
seus usurios podem realizar.
Algumas palavras ou frases sugerem a descrio de uma restrio,
tais como deve, no deve, no pode e somente.
Ex.: Um aluno s pode tomar emprestado, concomitantemente, at
trs livros.
40
Tipos de Requisitos
Regras de Negcio
3. Ativadores de Aes:
so regras que disparam alguma ao sob condies especficas. Uma
declarao na forma Se <alguma condio verdadeira ou algum
evento ocorre>, ento <algo acontece> indicada para descrever
ativadores de aes.
Ex.: Se a data para retirada do livro ultrapassada e o livro no retirado, ento a
reserva cancelada.
4. Inferncias:
so regras que derivam novos fatos a partir de outros fatos ou
clculos. So normalmente escritas no padro se / ento, mas a
clusula ento implica um fato ou nova informao e no uma ao a
ser tomada.
Ex.: Se o usurio no devolve um livro dentro do prazo estabelecido, ento ele
torna-se um usurio inadimplente.
41
Tipos de Requisitos
Regras de Negcio
5. Computaes:
so regras de negcio que definem clculos a serem
realizados usando algoritmos ou frmulas matemticas
especficos.
Podem ser expressas como frmulas matemticas,
descrio textual, tabelas etc.
Ex.: Multa = Valor de Locao * Nmero de Dias de Atraso.
42
44
46
Documentos de Requisitos
Pfleeger (2004) sugere que dois tipos de documentos de
requisitos sejam elaborados:
Documento de Definio de Requisitos: deve ser escrito de
maneira que o cliente possa entender. Usa uma listagem do qu
o cliente espera que o sistema proposto faa. Representa um
consenso entre o cliente e o desenvolvedor sobre o qu o cliente
quer.
Resultado do Levantamento de Requisitos
47
2. Processo de
Engenharia de Requisitos
49
51
52
53
54
Levantamento de Requisitos
Anlise de Requisitos
Documentao de Requisitos
Verificao e Validao de Requisitos
Gerncia de Requisitos
55
1. Levantamento de Requisitos
Levantamento de Requisitos
Nessa fase, um esforo conjunto de clientes, usurios e
especialistas de domnio necessrio
Objetiva entender a organizao, seus processos,
necessidades, deficincias dos sistemas de software atuais,
possibilidades de melhorias, bem como restries
existentes.
No se resume somente a perguntar s pessoas o que elas
desejam, mas sim analisar cuidadosamente a organizao,
o domnio da aplicao e os processos de negcio no qual
o sistema ser utilizado
56
1. Levantamento de Requisitos
Levantamento de Requisitos
Os requisitos podem ser obtidos de diferentes
fontes:
Informaes dos interessados (stakeholders)
Usurios, clientes e especialistas de domnio.
Consultar documentos
Sistemas e processos existentes
Obter conhecimentos do domnio
Estudar o negcio da organizao
etc.
57
1. Levantamento de Requisitos
Dimenses do levantamento de requisitos
58
1. Levantamento de Requisitos
2.
Entendimento do problema:
3.
Entendimento do negcio:
1. Levantamento de Requisitos
1. Levantamento de Requisitos
Stakeholders
Cliente
Usurio final
Importante
1. Levantamento de Requisitos
Requisitos funcionais:
Requisitos no funcionais:
62
1. Levantamento de Requisitos
Entrevistas
Questionrios
Observao
Anlise de Documentos
Anlise de Sistemas Existentes
Cenrios
Prototipao
Dinmicas de Grupo
As tcnicas so complementares:
til empregar vrias dessas
tcnicas concomitantemente, de
modo a se ter um levantamento
de requisitos mais eficaz.
63
1. Levantamento de Requisitos
1. Levantamento de Requisitos
1. Levantamento de Requisitos
2. Estabelecer objetivos.
fontes de informao, formatos da informao, frequncia na tomada de deciso, estilo
da tomada de deciso etc.
4. Preparar o entrevistado.
agendamento para que o entrevistado tenha tempo para pensar sobre a entrevista.
5. Preparar a entrevista.
tipos de questes e a estrutura da entrevista e o modo como a mesma ser registrada.
66
1. Levantamento de Requisitos
67
1. Levantamento de Requisitos
68
1. Levantamento de Requisitos
69
1. Levantamento de Requisitos
70
1. Levantamento de Requisitos
71
1. Levantamento de Requisitos
1. Levantamento de Requisitos
1. Levantamento de Requisitos
Prototipao descartvel
Um prottipo o qual usualmente uma implementao prtica
do sistema produzida para ajudar a levantar os problemas
com os requisitos e depois descartado. O sistema ento
desenvolvido usando algum outro processo de
desenvolvimento.
74
1. Levantamento de Requisitos
75
1. Levantamento de Requisitos
76
1. Levantamento de Requisitos
77
1. Levantamento de Requisitos
1. Levantamento de Requisitos
Contextualizao: O contexto consiste em definir
algumas caractersticas de cada Requisito Funcional,
tais como: para quem til?, quando?, por que?,
onde?, como?
Essas perguntas so
fundamentais para
entendimento dos requisitos,
auxiliando uma descrio
detalhada e consistente.
Dimenses Contextuais [KNIGHT, 2004]
79
1. Levantamento de Requisitos
Contextualizao: Para cada requisito identificado, as
seguintes questes devem ser feitas:
01) Por que o requisito deve ser considerado na Soluo?
A resposta deve ser analisada e verificada com o problema que est sendo resolvido pela
soluo em questo. A resposta tem que manter o escopo do Problema e da Soluo. Caso
a resposta indique que o requisito amplia a soluo do Problema, ento um estudo mais
aprofundado deve ser feito em relao ao escopo do Problema e da Soluo.
1. Levantamento de Requisitos
Contextualizao: Para cada requisito identificado, as
seguintes questes devem ser feitas:
03) Quando o requisito deve ser processado ou executado na Soluo?
A pergunta visa obter Requisitos que definam a frequncia de processamento, a
disponibilidade e alguns outros Requisitos para que a funcionalidade seja executada, depois
de implementada na Soluo.
81
1. Levantamento de Requisitos
Aplicando as Tcnicas de Levantamento de Requisitos
Duas importantes questes que precisam ser abordadas em
relao s tcnicas de levantamento de requisitos so (AURUM;
WOHLIN, 2005):
Que tcnica(s) aplicar durante uma atividade de levantamento de
requisitos?
Quais dessas tcnicas so complementares?
82
1. Levantamento de Requisitos
Qualidade dos Requisitos: A especificao dos
requisitos deve satisfazer a uma srie de critrios para
ser considerada uma especificao que possui
qualidade, entre eles:
1.
Clareza
A clareza de um requisito expressa atravs de sua preciso, corretude e capacidade de ser
compreendido por todos os envolvidos no projeto. Para isso todos os conceitos presentes
na especificao devem ser representados pelo mesmo termo.
2.
Completude
Para determinado requisito, todas as necessidades a ele relacionado foram captadas do
cliente e registradas. (Aplicabilidade do roteiro de levantamento de requisitos)
3.
Origem
O requisito foi coletado de um fornecedor de requisito oficial?
83
1. Levantamento de Requisitos
Qualidade dos Requisitos:
4.
Consistncia
Garantir que no existam conflitos entre os requisitos e entre os artefatos gerados durante
o ciclo de vida do projeto.
5.
Implementveis
Garantir que determinado requisito no conflita com as tecnologias e arquiteturas
determinadas durante o ciclo de vida do projeto.
6.
Testveis
A verificao e validao do requisito ocorrem atravs de procedimentos de teste,
experimentos e provas ou atravs de acordos de aceitao previamente definidos.
Para garantir esse critrio, deve-se identificar as condies para a homologao do
Requisito, ou seja, todas as condies que permitam verificar que esse Requisito foi
atendido.
7.
Rastreveis
O requisito deve permitir a fcil determinao de seus antecedentes e precedentes.
84
1. Levantamento de Requisitos
Atributos dos Requisitos:
1. Levantamento de Requisitos
Organizao dos Requisitos:
Narrativa livre
O sistema deve mostrar uma mensagem de status (finalizada, em
andamento, ...) para uma tarefa em intervalos no menores que 60
segundos (dificulta o entendimento - no a forma mais indicada)
1. Levantamento de Requisitos
Organizao dos Requisitos:
Lista de Requisitos No Funcionais (RNFs)
Disponibilidade
RNF - DS-1: O sistema deve ficar disponvel por 99,5% do tempo nos dias teis,
das 6h s 22h
Eficincia
RNF - EF-1: Em condies de pico de uso, deve ter uma reserva de 25% de
capacidade de processamento e memria
RNF - EF-2: O clculo de interferncia deve ser finalizado com sucesso em
menos de 5 minutos
Flexibilidade
RNF - FL-1: Um novo tipo de sensor deve poder ser configurado no sistema em
menos de 3 horas
Integridade
RNF - IN-1: Transaes histricas dos consumidores s podero ser vistas por
usurios com privilgios de auditor
87
1. Levantamento de Requisitos
Organizao dos Requisitos:
Lista de Requisitos No Funcionais (RNFs)
88
1. Levantamento de Requisitos
Organizao dos Requisitos:
Lista de Requisitos No Funcionais (RNFs)
89
1. Levantamento de Requisitos
Organizao dos Requisitos:
Exemplo de Requisito No Funcional (RNF)
90
1. Levantamento de Requisitos
Organizao dos Requisitos:
Lista de Regras de Negcio (RNs)
RN-1: O valor total de um pedido igual soma dos totais dos itens do
pedido acrescido de 10% de taxa de entrega.
RN-2: Um cliente do banco no pode retirar mais de R$ 1.000 por dia de sua
conta.
RN-3: Os pedidos para um cliente no especial devem ser pagos
antecipadamente.
RN-4: A regra de consistncia de nmeros de CPF calculada como descrito
abaixo...
RN-5: sobre instncias (integridade referencial); ex: se X est em projeto,
ento X funcionrio;
RN-6: sobre comparaes; ex: salrio tem que ser maior que salrio mnimo;
RN-7: sobre tempo (cronolgico); ex: todo funcionrio deve ter sido
candidato antes;
91
1. Levantamento de Requisitos
1. Levantamento de Requisitos
Avaliao Parte 1
94
95
2. Anlise de Requisitos
Uma vez identificados os requisitos, possvel iniciar a
atividade de anlise, quando os requisitos levantados
so usados como base para a modelagem do sistema.
Requisitos de usurio so escritos tipicamente em
linguagem natural, pois eles devem ser
compreendidos por pessoas que no sejam
especialistas tcnicos.
Contudo, til expressar requisitos mais detalhados
do sistema de maneira mais tcnica. Para tal, diversos
tipos de modelos podem ser utilizados (ex.: UML).
96
2. Anlise de Requisitos
A atividade de anlise uma atividade de modelagem
conceitual, pois ela se preocupa com o domnio do problema e
no com solues tcnicas para o mesmo. Duas principais
perspectivas so consideradas nesta atividade:
Perspectiva estrutural:
Busca modelar os conceitos, propriedades e relaes do domnio
que so relevantes para o sistema em desenvolvimento.
Diagramas de Classes e Modelo de Entidades e Relacionamentos
so usados para modelar esta perspectiva.
Perspectiva comportamental:
visa modelar o comportamento geral do sistema, de uma de suas
funcionalidades ou de uma entidade especfica ao longo do tempo.
Diagramas de casos de uso, diagramas de atividades, diagramas de
estados e diagramas de interao so usados para esta perspectiva.
97
2. Anlise de Requisitos
98
2. Anlise de Requisitos
2. Anlise de Requisitos
100
2. Anlise de Requisitos
101
2. Anlise de Requisitos
UML
Diagramas de Classes: Um diagrama de classes
exibe um conjunto de classes e seus
relacionamentos. Proveem uma viso esttica da
estrutura de um sistema.
102
2. Anlise de Requisitos
103
2. Anlise de Requisitos
UML
Diagramas de Casos de Uso:
Um diagrama de casos de uso mostra um conjunto de
casos de uso e atores e seus relacionamentos.
Os casos de uso descrevem a funcionalidade do sistema
percebida pelos atores externos.
Um ator interage com o sistema, podendo ser um
usurio humano, dispositivo de hardware ou outro
sistema.
Diagramas de casos de uso proveem uma viso das
funcionalidades do sistema, sendo importantes para a
organiz-las e model-las.
104
2. Anlise de Requisitos
UML: Diagramas de
Casos de Uso
105
2. Anlise de Requisitos
UML
Diagramas de Estados:
Mostram os estados pelos quais um objeto pode passar
ao longo de sua vida, em resposta a estmulos recebidos,
juntamente com suas aes.
Os diagramas de estados proveem uma viso dinmica
de um objeto, sendo importantes para modelar o
comportamento dos objetos de uma classe em resposta
ocorrncia de eventos.
106
2. Anlise de Requisitos
107
2. Anlise de Requisitos
UML
Diagramas de Atividades:
Mostram a estrutura de um processo.
Proveem uma viso dinmica do sistema (ou de uma
poro do sistema) e podem ser usados tanto para
modelar processos de negcio quanto para modelar
funes do sistema.
Um diagrama de atividades d nfase ao fluxo de
controle entre objetos
108
2. Anlise de Requisitos
109
2. Anlise de Requisitos
UML
Diagramas de Interao: Diagramas de Sequncia:
Mostra um conjunto de objetos ou papis interagindo,
incluindo as mensagens que podem ser trocadas entre
eles.
So um tipo de diagrama de interao cuja nfase est
na ordenao temporal das mensagens.
110
2. Anlise de Requisitos
111
Fases de um projeto de BD
Mini-mundo
Projeto Conceitual
Esquema conceitual
Projeto Lgico
Esquema lgico
Projeto Fsico
Esquema interno
112
Modelo de Entidades
e Relacionamentos (MER)
Representao semntica das estruturas de dados
mantidas num banco de dados
Foi proposto por Peter Chen em 1976
Possui vrias notaes:
- Relacionamentos como objetos do Modelo (Chen)
113
Entidades
Uma entidade tudo aquilo sobre o qual se
deseja manter informaes.
Podendo representar:
objetos concretos: pessoas, livros, carros,
conceitos abstratos: empresas, eventos, embarques,
114
Entidades
Possui propriedades que a distingue de outras
entidades.
um subconjunto de objetos (instncias) que:
desempenha o mesmo papel semntico
possui os mesmos tipos de propriedades (atributos)
115
Entidades
Ex.:
Conjunto de todas as contas correntes de um banco
Conjunto de todos os empregados de uma empresa
Conjunto de todos os filmes de um produtor
Filme
Emprstimo
116
Entidades
Entidades devem ser descritas num Dicionrio de
Dados
Entidade: EMPREGADO
Descrio: Pessoa que mantm vnculo
empregatcio com a Empresa atravs de
um contrato de trabalho de acordo com a
legislao trabalhista
117
Entidades
118
Atributos
So as propriedades que caracterizam ou
descrevem uma entidade ou um relacionamento.
Ex.: A entidade CARRO poderia ter os seguintes
atributos:
Placa, fabricante, modelo, ano de fabricao, cor, preo
O relaciomento TRABALHA entre EMPREGADO e
PROJETO pode ter o atributo: horasTrabalhadas.
119
Atributos
Cada atributo possui um domnio que identifica o
conjunto de valores permitidos para aquele
atributo.
Ex.:
120
Atributos
Atributos devem tambm ser descritos no Dicionrio
de Dados:
Entidade: EMPREGADO
Atributo: Data de Admisso
Descrio: data na qual foi assinado o
contrato de trabalho entre a empresa e o
empregado
Domnio: data posterior a 03/01/78 (data de
criao da empresa) e a data de nascimento
do empregado
121
Atributos
Simples: atmico.
Ex.
Idade: numrico
Nome: cadeia de caracteres
Atributos
Simplesmente valorados: tm um nico valor para
uma instncia de uma entidade.
Ex.: PESSOA: Idade
Relacionamentos
So funes que mapeiam um conjunto de instncias
de uma entidade em um outro conjunto de
instncias de outra entidade (ou da mesma entidade:
auto relacionamento).
Em outras palavras, so associaes entre diversas
entidades.
Ex.:
Um empregado trabalha num projeto
Um cliente possui conta bancria
Um filme possui vrios atores
124
Relacionamentos
1..N
Empregado
Projeto
trabalha
1..N
horas
matricula
nome
salrio
125
Relacionamentos
Empregado
0..N
supervisiona
0..1
126
Restries de Integridade
Caracterizam as restries nas quais os
relacionamentos entre entidades esto
submetidos (regras do negcio).
Ex.:
Todo empregado deve estar lotado num
departamento
Existe Cliente que no foi recomendado por Cliente
Toda Nota Fiscal deve ter pelo menos um item
discriminado
Toda multa deve estar associada a um carro
Existe carro sem multa associada
127
Restries de Integridade
Podemos caracterizar um relacionamento em
termos de:
1. Cardinalidade: quantidade de instncias que
podem participar do relacionamento
2. Totalidade: obrigatoriedade da ocorrncia do
relacionamento entre as entidades envolvidas.
128
Restries de Integridade
Tipos de Cardinalidade
Um_para_Um (1:1): uma instncia de uma entidade A
est associada a no mximo a uma instncia de uma
entidade B, e vice-versa.
Um_para_Muitos (1:N): uma instncia de uma entidade
A est associada a qualquer nmero de instncias da
entidade B. Porm, uma instncia da entidade B pode
estar associada, no mximo, a uma instncia da
entidade A.
129
Restries de Integridade
Tipos de Cardinalidade
Muitos_para_Um (N:1): uma instncia da entidade A
est associada a uma instncia de B. Porm, uma
instncia de B pode estar associada a qualquer nmero
de instncias de A.
Muitos_para_Muitos(M:N): uma instncia da entidade
A est associada a qualquer nmero de instncias da
entidade B, e vice-versa.
130
Restries de Integridade
a1
a2
a3
a4
a5
A
b1
b2
b3
b4
b5
a1
a1
a2
a3
a4
a5
b1
a1
a2
a3
a4
a5
b3
N:1
b1
b2
b3
b4
b5
a2
a3
1:1
b2
1:N
B
b1
b2
b3
b4
b5
N:M
131
B
N
B
M
132
Chaves
Como distinguir as instncias de uma entidade?
Num Banco de Dados, isto feito atravs dos
atributos das entidades que formam as chamadas
chaves de identificao.
Toda instncia de uma entidade deve ter uma
chave de identificao, que deve ter algum valor
no nulo.
133
Chaves
Chave de identificao composta: uma chave
formada por mais de um atributo.
Ex.: Cenrio: sistema de controle de multas de
trnsito.
Premissas:
toda multa est relacionada a um carro,
carros devem ser de propriedades de pessoas que tenham
carteira de habilitao,
carteiras de habilitao so emitidas pelo DETRAN de cada
estado.
134
Chaves
Entidade Chave
Sigla do estado
Estado
Motorista Sigla do estado +
nmero
da
carteira
de
habilitao
Sigla do Estado
Carro
Nmero da carteira de motorista
Placa do Carro
Sigla do Estado
Multa
Nmero da carteira de motorista
Placa do Carro
Nmero de sequncia da multa
Obs.: Evitar usar chaves compostas sempre que possvel!
135
Chaves
Chaves de identificao definidas pelo usurio
concorrem entre si como chaves candidatas e so
sujeitas mudanas.
Ex.: Entidade : Departamento
Chaves candidatas:
1. Sigla do Departamento
2. Cdigo do Centro de Custo
3. Cdigo da Diretoria + Cdigo da Superintendncia +
Cdigo do Departamento
136
Chaves
O que fazer quando:
um departamento mudar de nome?
- for modificada a estrutura de codificao de
Centros de Custos?
- um departamento mudar de diretoria?
137
Chaves
Surrogates:
- criados para cada entidade (chave primria)
- identifica univocamente cada instncia da
entidade
- no precisa ser percebido pelos usurios
- no controlado pelos usurios (gerado
automaticamente pelo SGBD)
138
MER Estendido
Superclasses e Subclasses
Vimos que uma entidade usada para representar
um conjunto de instncias do mesmo tipo (Ex.
Empregado).
Porm, muitas vezes uma entidade tem
subentidades que necessitam ser representadas
explicitamente.
Ex. Empregado pode ser agrupado em: Secretria,
Engenheiro e Tcnico
139
MER Estendido
Superclasses e Subclasses
Estas subentidades so subconjuntos da entidade
Empregado, ou seja, cada instncia de uma
subentidade tambm uma instncia da entidade
Empregado. Ento dizemos que Secretria _uma
Empregada, Engenheiro _um Empregado e Tcnico
_um Empregado.
Este relacionamento _um caracteriza a herana. Ou
seja, a subentidade (subclasse) herda todos os
atributos e relacionamentos da superentidade
(superclasse).
140
MER Estendido
Superclasses e Subclasses
importante notar, que nem toda instncia
da superentidade membro de uma
subentidade.
Ex.: podemos ter empregados que no so nem
secretria, nem engenheiro, nem tcnico.
141
MER Estendido
Empregado
_um
Secretria
Engenheiro
Tcnico
142
Especializao
o processo de definir um conjunto de subclasses
de uma entidade (superentidade).
Podem-se ter vrias especializaes de uma
mesma entidade, baseado em caractersticas
distintas.
Ex.: A entidade Empregado pode tambm ser
especializada nas subentidades Assalariado e Horista.
143
Especializao
Existem pelo menos duas razes para usar
especializao num modelo de dados:
Certos atributos podem ser aplicados somente a
algumas instncias de uma entidade (subclasse), mas
no a todas.
Ex.:
Secretria: lnguas, velocidadeDigitao
Engenheiro: Especialidade, CREA
Motorista: nmero da carteira de habilitao, categoria
144
Generalizao
o processo inverso Especializao, isto , um
processo de sntese em que suprimimos as
diferenas entre vrias entidades (subclasses),
identificamos suas caractersticas comuns e as
generalizamos numa superclasse.
145
146
147
DER - Exemplo
148
149
Avaliao Parte 2
150
151
3. Documentao de Requisitos
3. Documentao de Requisitos
3. Documentao de Requisitos
3. Descrio do Minimundo:
Apresenta uma viso geral do domnio, do problema a ser resolvido,
dos processos de negcio apoiados e das principais ideias do cliente
sobre o sistema a ser desenvolvido.
4. Requisitos de Usurio:
Requisitos funcionais, requisitos no funcionais e regras de negcio.
154
3. Documentao de Requisitos
155
3. Documentao de Requisitos
2. Documento de Especificao de Requisitos
1.
Introduo:
2.
3.
Modelo Estrutural:
4.
Modelo Dinmico:
5.
Dicionrio do Projeto:
6.
156
157
158
Verificao x Validao
Verificao
Validao
Revises Informais
162
163
Inspeo Formal
Papis Participantes:
Autor
Moderador
Leitor
Escriba
Inspetor (Todos so inspetores)
Verificador
Atividades:
1. Preparao para a reunio
2. Conduo (leitura do documento)
3. Resultados da reunio
4. Anlise causal (em caso de alto grau de
defeitos)
165
Walkthrough Estruturado
Demonstrao
Checklists de padres
Guias de padronizao
Comparao com Templates
167
168
Exemplos de Ambiguidade:
169
Avaliao Parte 3
Entregveis:
Lista de Defeitos categorizados por prioridade e tipo.
Ambiguidade
Inconsistncia
Omisso
Erro
170
171
5. Gerncia de Requisitos
Mudana de software inevitvel
172
5. Gerncia de Requisitos
Gerncia de Requisitos
Objetivo
Controlar as mudanas nos requisitos
Permitir a anlise de impacto das
mudanas
173
5. Gerncia de Requisitos
Custo da evoluo
174
5. Gerncia de Requisitos
Distribuio de esforos de manuteno
(SOMMERVILLE, 2011)
175
5. Gerncia de Requisitos
Distribuio de esforos de manuteno
Percentuais de
Esforo por
Tipo de
Manuteno
(PFLEEGER,
2007)
176
5. Gerncia de Requisitos
O processo de evoluo de sistema
(Sommerville, 2011)
177
5. Gerncia de Requisitos
Implementao de mudanas
(Sommerville, 2011)
178
5. Gerncia de Requisitos
Solicitaes de mudana urgentes
Mudanas urgentes podem ter de ser
implementadas sem passar por todos os estgios do
processo de desenvolvimento de software
Se um defeito crtico de sistema tem de ser reparado;
Se mudanas no ambiente do sistema (por exemplo,
atualizao do OS) tm efeitos inesperados;
Se existem mudanas de negcio que necessitam de uma
resposta muito rpida (por exemplo, o release de um
produto concorrente)
179
5. Gerncia de Requisitos
Reparo de emergncia
(Sommerville, 2011)
180
5. Gerncia de Requisitos
Processo de Manuteno
181
5. Gerncia de Requisitos
Conserto Rpido
182
5. Gerncia de Requisitos
Melhoria Interativa
prope inicialmente adequar e atualizar a
documentao de alto nvel que ser afetada, para
ento propagar as mudanas at o nvel de cdigofonte.
183
5. Gerncia de Requisitos
Reuso Total
Reuso total, consiste em construir um novo software,
utilizando componentes do software antigo e outros
disponveis em um repositrio.
184
5. Gerncia de Requisitos
Matriz de Reastreabilidade
Matrizes de rastreabilidade so os principais
artefatos produzidos na fase de gerncia de
requisitos.
Elas relacionam os requisitos identificados a um ou
mais aspectos do sistema ou do seu ambiente
Permitem obter um entendimento de como uma
modificao em um requisito vai afetar diferentes
aspectos do sistema.
185
5. Gerncia de Requisitos
Matriz de Reastreabilidade
Matriz de rastreabilidade de dependncia: indica como os
requisitos esto relacionados uns com os outros.
Matriz de rastreabilidade requisitos
fontes: indica a fonte
de cada requisito.
Matriz de rastreabilidade requisitos
subsistemas: indica
os subsistemas que tratam os requisitos.
Matriz de rastreabilidade requisitos de usurio
casos de
uso: indica os casos de uso que detalham um requisito
funcional ou tratam um requisito no funcional ou regra de
negcio.
186
5. Gerncia de Requisitos
Matriz de Reastreabilidade
187
5. Gerncia de Requisitos
Matriz de Reastreabilidade
Regressiva a partir dos requisitos
relaciona requisitos com suas origens (outros documentos
ou pessoas);
Progressiva a partir dos requisitos
relaciona requisitos aos artefatos do projeto (planos,
modelos de anlise e projeto, cdigo etc.);
Regressiva em direo aos requisitos
relaciona artefatos do projeto aos requisitos;
Progressiva em direo aos requisitos
relaciona as fontes (p.ex., documentos que precederam o
documento de requisitos) aos requisitos relevantes.
188
5. Gerncia de Requisitos
Matriz de Reastreabilidade
189
CMMI
O CMMI um modelo de qualidade de processo desenvolvido
pelo (Software Engineering Institute SEI) da Universidade de
Carnegie Mellon.
Tem como objetivo fornecer diretrizes para a definio e
melhoria de processos de software de uma organizao
Cinco nveis de maturidade na representao em estgios:
1- Inicial
2- Gerenciado
3- Definido
4- Gerenciado Quantitativamente
5- Em Otimizao
190
191
192
MPS.BR
G- Parcialmente Gerenciado
F- Gerenciado,
E- Parcialmente Definido
D- Largamente Definido
C- Definido
B- Gerenciado Quantitativamente
A- Em Otimizao
193
194