Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Prof. Juliano
Projeto Lgico
Projeto Fsico
Anlise de requisitos
A anlise ou engenharia de requisitos o primeiro passo do processo de software. nesse ponto que uma declarao geral do escopo do software refinada para constituir uma especificao completa que se torna a base de todas as atividades de engenharia de software que se seguem. A anlise de requisitos fornece um mecanismo adequado para entender o que o cliente deseja, analisar as necessidades, negociar uma soluo razovel, especificar e validar a soluo.
4
Anlise de requisitos
Problemas em potencial que nos ajudam a compreender por que a anlise de requisitos difcil:
Problemas de escopo o limite do sistema mal definido ou o cliente especifica detalhes desnecessrios. Problemas de entendimento os clientes/usurios no esto completamente certos do que necessrio, tm dificuldade de comunicar as necessidades e omitem informao que acreditam ser bvia. Problemas de volatilidade os requisitos mudam ao longo do tempo.
5
Anlise de requisitos
Para ajudar a contornar esses problemas, os engenheiros (analistas) de sistemas devem abordar a atividade de anlise de requisitos de um modo organizado. Sommerville e Sawyer (1997) sugerem os seguintes passos:
Avalie a viabilidade tcnica e de negcios do sistema proposto; Identifique as pessoas que vo ajudar a especificar os requisitos; Defina o ambiente tcnico no qual o sistema vai ser colocado; Defina um ou mais mtodos para o levantamento dos requisitos (entrevistas, reunies de equipe, etc)
6
Parte III
Projeto Conceitual (Modelagem de Dados)
Projeto Conceitual
Pode ser considerada a fase de anlise dos dados (ou requisitos) capturados na etapa anterior. Nesta etapa realizada o que se chama de modelagem conceitual: so analisados os fatos (entidades) de interesse e seus relacionamentos, juntamente com seus atributos (propriedades ) e construda uma notao grfica (abstrata, uma representao de alto nvel) para facilitar o entendimento dos dados e suas relaes. A ferramenta mais empregada nesta etapa o Diagrama Entidade-Relacionamento (DER)
8
Mostra o fluxo de dados e as transformaes que so aplicadas medida que os dados se movem da entrada para a sada.
Exemplo - DFD
Livros detalhes de livros pedidos
Verificar validade do pedido
Editoras endereo
Preparar ordens de requisio p/ compra a editora
CLIENTES
EDITORAS
pedidos vlidos
pedidos agrupados
Pedidos Pendentes
10
Exemplo - DER
Agencia codagencia enderecoagencia nomeagencia Clientes codcliente enderecocliente nomecliente Tipo codtipo nometipo
11
O Diagrama Entidade-Relacionamento (DER) ou Modelo Entidade-Relacionamento (MER) foi definido por Peter Chen em 1976. Peter Chen formulou a proposta do modelo E-R, baseou-se na compreenso da realidade em que se situava o problema. Como iremos projetar um sistema se no entendemos o negcio para o qual ser realizado?
12
Dez anos depois que Peter Chen inventou o DER, a modelagem estava se tornando amplamente utilizada; no entanto, surgiram muitas formas concorrentes, tais como:
MER estendido, proposto por Teorey (1986); Os europeus focaram-se no NIAM (Naturallanguage Information Analysis Method; Nos anos 90, o setor de sistemas de informao comeou a adotar duas grandes variaes: IDEF1X (Bruce, 1992) e os dialetos de engenharia da informao, normalmente conhecidos como diagramao p-de-galinha (Everest, 1986).
13
14
Entidade
Entidade uma coisa ou um objeto no mundo real que pode ser identificada de forma unvoca em relao a todos os outros objetos. A entidade pode ser concreta (pessoa, livro), ou pode ser abstrata (emprstimo, viajem de frias ou um conceito). Conjunto de entidades um conjunto de entidades de mesmo tipo que compartilham as mesmas propriedades: os atributos.
15
Atributos
Atributos = propriedades descritivas de cada ocorrncia de uma entidade ou relacionamento. Cada atributo possui um domnio (conjunto de valores possveis). Atributos possveis ao conjunto de entidades clientes: nome_cliente, cnpj, end_cliente.
16
Atributos
18
O atributo num_emprestimo de uma entidade especfica refere-se apenas a um nmero de emprstimo. O atributo nmero do telefone pode assumir mais de um valor, como os nmeros de telefone de uma empresa.
19
Atributo nulo
Usado quando uma entidade no possui valor para determinado atributo. Ex: se um empregado em particular no possui dependentes, o valor do atributo nome_dependente para este dependente dever ser nulo, e isto significa que este atributo no aplicvel.
Representao grfica
Principais convenes:
Nome da entidade singular e nico. Nome da entidade em maisculo. Nomes dos atributos em minsculo. Cada Entidade deve ser identificada unicamente. Um atributo ou conjunto de atributos que identificam a unicidade da ocorrncia em uma Entidade chamado de Identificador nico (UID).
CLIENTE
21
Representao grfica
Mtodo: Cod_cli CLIENTE
Nome
End
CLIENTE Cod_cli
Nome
End
22
Relacionamentos
Representam associaes entre entidades. Em um DER, um relacionamento representado atravs de um losango, ligado por linhas aos retngulos representativos das entidades. Um relacionamento pode ter atributos.
No necessariamente um relacionamento associa entidades diferentes. Um auto-relacionamento demonstra um relacionamento entre ocorrncias de uma mesma entidade. Neste caso, existe o conceito de papel(funo) da entidade no relacionamento.
Exemplo de auto-relacionamento.
Exemplo de relacionamento.
23
Exemplos
Exemplo: Relacionamento
ENGENHEIRO
Atuao
PROJETO
24
Exemplos
Exemplo: Auto-relacionamento
PESSOA
marido
Casamento
esposa
25
Cardinalidade de relacionamentos
Uma propriedade importante de um relacionamento a de quantas ocorrncias de uma entidade podem estar associadas a uma determinada ocorrncia atravs do relacionamento. H duas cardinalidades a considerar: a cardinalidade mxima e a cardinalidade mnima. Classificao de relacionamentos binrios:
1:1 (um-para-um) 1:n (um-para-muitos) n:n (muitos-para-muitos)
26
Relacionamento 1:1
Neste grau de relacionamento, cada elemento de uma entidade relaciona-se com um e somente um elemento de outra entidade. Devemos ler o relacionamento nos dois sentidos em que ele se efetua. Logo lemos no caso da entidade Homem e da entidade Mulher, que um Homem est casado somente com uma Mulher e uma Mulher est casada com somente um Homem.
HOMEM 1 CASADO 1 MULHER
HOMEM
CASADO
MULHER
27
Relacionamento 1:n
Um elemento da Entidade 1 relaciona-se com muitos elementos da Entidade 2, mas cada elemento da Entidade 2 somente pode estar relacionado a um elemento da Entidade 1. Devemos ter como regra geral,que um relacionamento do tipo Um-para-Muitos, quando um sentido de leitura dos fatos nos apresenta este grau de Um-para-Muitos e o sentido oposto apresenta obrigatoriamente o grau Umpara-Um.
EMPREGADO
LOTAO
DEPTO
28
Relacionamento n:n
Identifica-se esta cardinalidade pelo fato de que em ambos os sentidos de leitura encontramos um grau 1:n, o que caracteriza ser ento um contexto geral de n:n (Muitos-para-Muitos).
ENGENHEIRO N ALOCAO N PROJETO
MDICO
CONSULTA
PACIENTE
29
Cardinalidade de atributos
Um atributo pode assumir uma cardinalidade, de maneira anloga a uma entidade em um relacionamento. A cardinalidade de um atributo define quantos valores deste atributo podem estar associados a uma ocorrncia da entidade / relacionamento a qual ele pertence. No caso da cardinalidade ser (1,1) ela pode ser omitida do diagrama.
30
Cardinalidade de atributos
Assim, o exemplo abaixo expressa que nome e cdigo so atributos obrigatrios (cardinalidade mnima 1 cada entidade possui no mnimo um valor associado) e monovalorados (cardinalidade mxima 1 cada entidade possui no mximo um valor associado). J o atributo telefone, um atributo opcional (cardinalidade mnima 0) e multivalorado (cardinalidade mxima n).
Cod_cli CLIENTE Telefone (0,n) Nome
31
Atributos de relacionamento
Assim como entidades, relacionamentos tambm podem possuir atributos. A figura abaixo, expressa um DER no qual um relacionamento, Atuao, possui um atributo, a funo que um engenheiro exerce dentro de um projeto.
Um engenheiro pode atuar em diversos projetos, exercendo diferentes funes. Em um projeto, podem atuar diversos engenheiros com funes diferentes.
ENGENHEIRO N ATUAO N PROJETO
Funo
32
Entidade Fraca
Em geral, uma entidade possui um nico atributo como identificador. Em alguns casos, o identificador de uma entidade composto por diversos atributos.
Codigo PESSOA Num_corredor PRATELEIRA
Nome Endereo
Num_prateleira Capacidade
33
Entidade Fraca
Finalmente, h casos em que o identificador de uma entidade composto no somente por atributos da prpria entidade, mas tambm por relacionamentos dos quais a entidade participa.
Cd_emp
nome
Num_seq. nome
(1,1) (0,n) DEPENDENTE
EMPREGADO
Resp.
Id = cod_emp + num_seq.
34
Entidade Fraca
Neste caso, a entidade DEPENDENTE considerada uma entidade fraca, pois a entidade somente pode existir quando relacionada a outra entidade e de usar como parte de seu identificador, entidades relacionadas.
35
Especializao / Generalizao
O conceito de especializao permite atribuir propriedades particulares a um subconjunto das ocorrncias (especializadas) de uma entidade genrica. No DER, o smbolo para representar especializao um tringulo. A especializao mostra que a entidade cliente dividida em dois subconjuntos, as entidades pessoa fsica e pessoa jurdica, cada uma com propriedades prprias. Associada ao conceito de especializao est a idia de herana de propriedades. Herdar propriedades significa que cada ocorrncia da entidade especializada possui, alm de suas prprias propriedades, tambm as propriedades da ocorrncia da entidade genrica correspondente.
36
Especializao / Generalizao
(1,1) FILIAL Fil-Cli (0,n) CLIENTE
cdigo nome
PESSOA FSICA
PESSOA JURDICA
cpf
cnpj
37
Especializao / Generalizao
A especializao pode ser classificada em dois tipos, total ou parcial, de acordo com a obrigatoriedade ou no de a cada ocorrncia da entidade genrica corresponder uma ocorrncia da entidade especializada.
Indica que cliente PF ou PJ Indica que nem todo EMP motorista ou secretria
CLIENTE
EMPREGADO
PESSOA FSICA
PESSOA JURDICA
MOTORISTA
SECRETRIA
38
Relacionamento Ternrio
Todos os exemplos at aqui mostrados so de relacionamentos binrios. A abordagem ER permite que sejam definidos relacionamentos de grau maior que dois. O exemplo abaixo mostra um relacionamento ternrio.
ALUNO
DISCIPLINA
1
PROFESSOR
39
Relacionamento Ternrio
Separar a entidade ALUNO e analisar o par PROFESSOR / DISCIPLINA. Para cada par PROFESSOR / DISCIPLINA podemos ter de 1 at N alunos relacionados; Separar a entidade PROFESSOR e analisar o par ALUNO / DISCIPLINA. Para cada par ALUNO / DISCIPLINA podemos ter 1 e somente 1 PROFESSOR relacionado; Separar a entidade DISCIPLINA e analisar o par PROFESSOR / ALUNO. Para cada par PROFESSOR / ALUNO podemos ter de 1 at N DISCIPLINAS relacionadas.
40
Modelos equivalentes
MDICO
CONSULTA
PACIENTE
MDICO 1
PACIENTE
N
CONSULTA
41
Variantes da abordagem ER
Atualmente observa-se uma variedade de representaes grficas que levam o ttulo de ER. A notao mais utilizada a do tipo Chen pois, com algumas extenses segue a notao proposta por Peter Chen em seu primeiro artigo. Alm desta notao duas famlias de notaes tm importncia:
Engenharia da Informao (diagramao p-de-linha) IDEF1X (Integration DEFinition for Information Modeling).
42
(1,1)
LOTAO
(0,N)
EMPREGADO
DEPTO
EMPREGADO
43
Notao IDEF1X
DEPTO 1 LOTAO N EMPREGADO
CLIENTE Cod_cli
Nome
End
44