Metodologias de Anรกlise e Desenvolvimento de Sistemas
Análise de Sistemas
Definição (Análise de Sistemas): É possível dizer que Análise e Projeto de Sistemas consiste no processo de estudo de uma organização (na sua totalidade ou em parte), em que se procura realizar o levantamento exaustivo de como funciona, e desta forma, descrever os processos de resolução seguidos para suas necessidades (que garantam o atingir do(s) objetivo(s) da organização). Os profissionais responsáveis por esta conjunto de tarefas são designados: Analistas de Sistemas.
Análise de Sistemas Sistema: Virtualmente todas as organizações são sistemas. Elas interagem com o exterior através de inputs - entradas de dados - a receber e dos outputs a fornecer - saídas de dados -; sistemas com estas características são designados por Sistemas Abertos. (não interagem com o exterior: Sistemas Fechados)
Os sistemas são constituídos por um conjunto de pequenos sistemas agregados, designados por subsistemas. Estes operam para atingir um objetivo específico que contribui para a satisfação geral do objetivo do sistema. É com base nos objetivos encontrados que se especificam as necessidades de armazenamento e as necessidades de controlo.
Análise de Sistemas Analista de Sistemas: Os analistas são os responsáveis pelo Desenvolvimento dos Sistemas de Informação sendo também os profissionais responsáveis pelo diálogo com gestores e outros profissionais da empresas, interpretando as suas especificações. O ciclo de vida de desenvolvimento de um sistema é o conjunto de atividades que analistas e conceptores de sistemas fazem para desenvolver e implementar um sistema de informação. Esse conjunto de atividades inclui as investigações preliminares, a coleção, recolha de dados e determinação de objetivos, o desenvolvimento de protótipos, o projeto do sistema, o desenvolvimento do software, o teste do sistema e a sua implementação.
Análise de Sistemas
Motivação para o trabalho do Analista de Sistemas: A necessidade de intervenção dos Analistas de Sistemas é motivada por variadas razões: ▫ ▫ ▫ ▫ ▫ ▫ ▫
melhoria na velocidade de capacidade de resposta, aumentar a confiabilidade do sistema, melhorar a precisão e consistência do sistema garantir o acesso à informação de modo eficaz, possibilitar a integração das áreas da empresa, redução de custos, maior segurança.
Análise de Sistemas
Modelo Ambiental: O modelo ambiental descreve o ambiente no qual o sistema se insere, ou seja, descreve o contexto do sistema. Deve ter 3 componentes: Componentes do modelo ambiental: Definição de Objetivos Finalidade de sistema; (1) Lista de Eventos Os acontecimentos que ocorrem no exterior e que interagem com o sistema; (2) Diagrama de contexto Representa o sistema como um único processo e as suas interações com o meio ambiente; (3)
Análise de Sistemas – Modelo Ambiental Definição dos Objetivos (1): É uma descrição textual, concisa, do propósito do sistema e é para todos os que não estão envolvidos diretamente com o desenvolvimento do sistema Ex.: Altos escalões
É constituída por uma ou mais sentenças Ex.: “O propósito da Amazon Bookstore é gerir eletronicamente todos os detalhes dos pedidos de livros, envio, cobrança”
Análise de Sistemas – Modelo Ambiental Diagrama de Contexto (3): Um diagrama de fluxo de dados (diagrama de contexto) é uma descrição gráfica de um sistema de informação ou de uma parte deste.
Componentes: • Entidades externas (ou terminators) • Ficheiros, ou bases de dados, partilhados entre o sistema e o ambiente • A interface entre o sistema e o ambiente • Dados que o sistema recebe do ambiente • Dados que o sistema manda para o ambiente • Um processo que representa o sistema
Análise de Sistemas – Modelo Ambiental Exemplo Diagrama de Contexto:
pagamento
Cliente
pedido de livro
recibo
Relatório de vendas
Direcção
Amazon BookstoreSistema de gestão livraria eletrónica
Guia de remessa
Crédito recibo
Relatórios
Departamento de contabilidade
Análise de Sistemas – Modelo Ambiental Lista de Eventos (2): Mostra todos os estímulos que ocorrem a partir do ambiente e aos quais o sistema deve responder. Os eventos classificam-se em: Orientados a fluxo: quando transportam dados; Temporais: quando acontecem periodicamente; é como se o sistema tivesse um relógio interno. Ex.: Recibos devem ser gerados às 16:00 horas Condicionais: quando acontecem devido à verificação de uma condição pelo sistema. Ex: Se o stock for baixo emitir nota de compra ao fornecedor De controlo assíncrono, imprevisíveis: Ex.: interrupções Mais utilizado em sistemas de tempo real Sinalizar o sistema quando uma ação imediata é necessária
Análise de Sistemas – Modelo Ambiental Construção de uma Lista de Eventos (2): • Identificação dos eventos, do ponto de vista do ambiente; • Examinar cada entidade externa e verificar os efeitos das suas ações no sistema; • Incluir situações de exceção; • A lista de eventos pode ser construída antes ou depois do diagrama de contexto, mas é preferível que seja construída antes.
Análise de Sistemas – Modelo Ambiental Lista de Eventos vs. Diagrama de Contexto: •
Eventos por fluxo:
• • •
Eventos temporais e condicionais
• • •
originam pelo menos um fluxo de entrada no sistema podem ou não originar fluxos de saída
não originam fluxos de entrada no sistema podem ou não originar fluxos de saída
Eventos de controlo
• •
não originam fluxos de dados de entrada no sistema podem ou não originar fluxos de saída
Análise de Sistemas – Modelo Ambiental Exercício (Exemplo): Uma empresa de transportes, cujo serviço é transportar mercadorias no país, pretende automatizar a sua área de gestão de veículos. O director da empresa descreve o sistema da forma que se segue. Sempre que se compra um veículo regista-se no sistema (as suas características são dadas ao sistema pelo departamento de compras). O veículo só entra em serviço quando chega uma notificação de seguro da companhia seguradora. Esta notificação contém o número de apólice, tipo de seguro com a sua sua descrição, a identificação da seguradora (código, nome, morada e telefone), e ainda os dados referentes ao veículo. Toda esta informação deve ser inserida no sistema. Para fazer os trajectos a empresa tem um conjunto de condutores que podem conduzir qualquer veículo da empresa. Os dados dos condutores (nome, morada e telefone) estão guardados num depósito de dados partilhado com o departamento de pessoal. Sempre que um cliente pede um serviço, preenche uma notificação de serviço onde indica os seus dados pessoais e o trajecto que deseja (origem e destino). Mais tarde o sistema deverá ser capaz de distribuir os serviços pelos condutores e veículos. Sempre que um condutor termina uma entrega, faz uma notificação de fim de serviço e informa se ocorreu algum acidente. Em caso de acidente, o condutor faz uma descrição do ocorrido. Só depois do regresso do condutor e caso não haja acidente é que o veículo fica disponível para outro serviço. Para um melhor atendimento ao cliente, sempre que não se pode realizar um serviço, por falta de veículo ou por falta de condutor, coloca-se o pedido em lista de espera. Logo que seja possível dar resposta a este serviço, envia-se um aviso ao cliente. No final do ano, o sistema deve emitir um resumo dos acidentes por veículo onde, para além dos dados do veículo e do seguro, deve constar cada um dos trajectos feitos pelo veículo com o respectivo condutor e os acidentes registados nesse trajecto.
Análise de Sistemas – Modelo Ambiental Exercício: O sistema de gestão de transportes para mudanças tem as seguintes funções:
• • • • •
Tratar os pedidos de serviço (mudanças) feitos pelos clientes. Controlar as saídas e entradas dos camiões. Gerir o trabalho e os dados dos motoristas. Controlar o pagamento do serviço. Tratar do pagamento dos motoristas.
Nota: já existe um sistema automatizado para o controlo da reparação dos camiões que: • •
contém um depósito de dados com a informação sobre o camião e a data estimada do fim de reparação; avisa o sistema de gestão de transportes para mudanças quando um camião necessita de reparação e sempre que uma reparação termina.
Análise de Sistemas – Modelo Ambiental Exemplo Lista de eventos: 1.
Diariamente emitir lista de serviço (temporal)
2. Departamento de compras regista novo veículo (fluxo) 3. Seguradora informa apólice (fluxo) 4. Cliente pede serviço (fluxo) 5. Condutor informa fim de serviço (fluxo) 6. Condutor dá descrição de acidente (fluxo) 7. ...
Análise de Sistemas
Motorista
Exemplo:
plano diário trabalho pedido serviço/ resposta entrada camião pagamento
Cliente
factura
pedido satisfeito
fim serviço
Departamento de pessoal
mapa acidentes novo condutor condutores
Sistema gestão transportes mudanças
novo veículo Departamento de compras apólice
data estimada Reparações Sistema de controlo de manutenção
reparação
Seguradora pedido seguro
Análise de Sistemas Modelo Comportamental O modelo comportamental descreve as ações que o sistema deve realizar para responder da melhor forma aos eventos definidos no modelo ambiental.
Técnicas utilizadas: • Diagrama de Fluxos de Dados (DFD) (1) • Dicionário de Dados (DD) (2) • Diagrama de Entidades e Associações (ou Relacionamentos) (DEA ou DER) (3) • Especificação de Processos (EP) - (DESENHO) (4) • Diagrama de Transição de Estados (DTE) (5)
Análise de Sistemas – Modelo Comportamental
Diagrama de Fluxo de Dados (1): Um DFD é um modelo que permite representar o sistema como uma rede de processos, salientando as funções que precisam de ser implementadas, e os fluxos de dados manipulados por estas funções. Um DFD contém:
• Processos • Fluxos de dados • Depósitos de dados • Entidades externas com que o sistema interage
Análise de Sistemas – Modelo Comportamental O DFD é composto por processos, depósitos de dados, fluxos de dados e entidades externas. entidade externa ou terminador
Clientes
depósito de dados
pedido
Detalhes de 1. pedido pedidos Receber
Pedido inválido pedido fluxos de dados
fatura
Detalhes de cliente clientes
Detalhes da factura, nome do cliente
2. Entregar livros
3. Recolher pagamentos
fatura
pagamentos
processo
Dados -livros
Armazém
Guia de remessa 4. Registar cliente
Clientes
Análise de Sistemas – Modelo Comportamental Regras para construir DFD’s: • Escolher nomes significativos para os processo, fluxos, entidades e depósitos; • Numerar os processos; • Redesenhar os DFD’s tantas vezes quantas as necessárias; • Evitar DFD’s complexos; • Certificar-se de que o DFD é internamente consistente. • Evitar processos que tenham entradas e nenhuma saída (e vice-versa).
Análise de Sistemas – Modelo Comportamental
DFD: Processo • Função, transformação • Transforma entradas em saídas • Nome: numeração + verbo + objeto Exemplos:
1. Calcular Juros
1. Calcular Juros
Análise de Sistemas – Modelo Comportamental DFD: Fluxo (1) • Usado para descrever movimentos de informação de um componente, de um sistema para outro. Exemplos: Valor X Valor Y Valor Z
Nº válido
2. Calcular média
média
Nºtelefone
3. Validar Número Nº inválido
Análise de Sistemas – Modelo Comportamental DFD: Fluxo (2) • Fluxo de diálogo Gerir formulário Informação formulário preenchido
Preencher formulário
• Fluxo divergente Gerar relatórios Validar pedidos
Detalhes de pedido Gerar fatura
Análise de Sistemas – Modelo Comportamental DFD: Depósito de Dados • Ficheiros, bases de dados • CD’s microfichas, microfilme • Um fluxo para um depósito: actualizar, gravar, remover
Registar detalhes clientes cliente
Gerar relatórios
DFD: Entidades Externas • • •
Estão fora do sistema O analista não está em posição de mudar o conteúdo das entidades Os fluxos conectando a entidade aos processos representam a interface entre o sistema e o ambiente
Análise de Sistemas – Modelo Comportamental
Construção de DFD Preliminar: 1. Um processo (ou +) → um evento da lista de eventos. 2. O nome do processo deve estar de acordo com a resposta que o sistema deve dar ao evento. 3. Definir fluxos de dados de entrada e saída. O processo deve ser capaz de produzir a resposta correta. 4. Usar os depósitos de dados necessários para guardar a informação que será depois usada por outros processos. 5. Verificar a coerência entre o DFD e o diagrama de contexto.
Análise de Sistemas – Modelo Comportamental Construção de DFD Preliminar Observações: 1. Um evento pode causar várias respostas Definir um processo por resposta (se forem independentes) Exemplo: pedido de cliente
Produzir fatura
Emitir confirmação pedido
fatura
pedido confirmado
Análise de Sistemas – Modelo Comportamental Construção de DFD Preliminar 2. Vários eventos podem causar a mesma resposta. Definir um só processo
Exemplo:
Pagamento p/ cartão de crédito
Pagamento p/ dinheiro
Produzir guia de remessa
guia de remessa
Análise de Sistemas – Modelo Comportamental Construção de DFD Preliminar 3. Agrupamento de processos: • •
•
Formar níveis de maior abstração. cada agrupamento de processos deve envolver respostas (processos) relacionadas. Isto significa que os processos relacionam-se por função ou pelos mesmos dados Regra de Miller: 7 ± 2 processos.
Análise de Sistemas – Modelo Comportamental Dicionário de dados (2) • Descreve o significado dos fluxos de dados e dos depósitos de dados • Descreve a composição de dados agregados. Ex.: endereço
• Especificar os valores e unidades relevantes • Descrever os relacionamentos entre depósitos de dados (diagramas E/R)
Análise de Sistemas – Modelo Comportamental Notação: • • • • • • • •
= é composto por + e () opcional {} iteração [] selecionar uma das várias alternativas ** comentário @ chave de um depósito | separa alternativas quando se usa []
Análise de Sistemas – Modelo Comportamental Dicionário de dados - Exemplos: • • • • • •
Nome = título + primeiro-nome + apelido título = [Sr. | Sra.| Prof.| Dr.| Eng.] primeiro-nome = 1{caracter-válido} apelido = 1{caracter-válido} caracter-válido = [A-Z | a-z | ‘ | - | ] endereço = * ainda não definido*
Análise de Sistemas – Modelo Comportamental Dicionário de dados (cont.) • Dados elementares → mais nenhuma decomposição necessária Ex.: peso, altura
• Dados opcionais • endereço-cliente = (endereço-de-entrega) + (endereço-decobrança) • endereço-cliente = [endereço-de-entrega | endereço-decobrança | endereço-de-entrega + endereço-de-cobrança] • endereço-cliente = endereço-de-entrega + (endereço-decobrança)
Análise de Sistemas – Modelo Comportamental Dicionário de dados (cont.) • Iteração • • • • • •
pedido = nome-cliente + endereço-de-entrega + {item} pedido = nome-cliente + endereço-de-entrega + 1{item}10 a = 1{b} a = {b}10 a = 1{b}10 a = {b}
• Seleção • sexo = [m | f ] • tipo-do-cliente = [governo | indústria | universidade | outro]
Análise de Sistemas – Modelo Comportamental Dicionário de dados (cont.) • Sinónimos • freguês = * sinónimo de cliente* • Evitar seu uso
• Avaliação do DD • todos os dados do DFD estão definidos? • Todos os elementos do elemento composto foram definidos? • Há elementos repetidos? • Há elementos que não existem do DFD?
Análise de Sistemas – Modelo Comportamental DFD - Nivelação • Serve para controlar a complexidade do sistema • Serve p/ organizar o DFD completo em níveis, onde cada nível dá mais detalhe do nível superior • O DFD de nível mais alto é o diagrama de contexto 3.2
2 3.1 1 System 3
3.3
3.4
Análise de Sistemas – Modelo Comportamental FAQ sobre Nivelação: • Quantos processos por nível? • 7 ± 2 (Regra de Miller)
• Quantos níveis? • Sistemas simples: 2 a 3 níveis • Sistemas de médio porte : 3 a 6 níveis • Sistemas de grande porte : 5 a 8 níveis
• Todas as partes do sistema devem ter o mesmo nível de detalhe? • Não: algumas partes do sistema podem ser mais complexas que outras
Análise de Sistemas – Modelo Comportamental FAQ sobre Nivelação (cont.) • Como mostrar os diferentes níveis ao utilizador? • Depende do tipo de utilizador Executivos olham para o diagrama de contexto ou DFD de nível 0 Operadores olham apenas para a parte do sistema que lhe diz respeito
• Como saber se os níveis de DFDs estão consistentes entre si? • Fluxos de dados de entrada e saída de um nível devem corresponder aos fluxos de dados de entrada e saída do nível mais abaixo, que descreve aquele processo
Análise de Sistemas – Modelo Comportamental FAQ sobre Nivelação (cont.) • Como mostrar os depósitos de dados nos vários níveis? • Mostrar o depósito no nível mais alto onde ele serve como interface entre processos • Mostrar o depósito outra vez em todo o DFD do nível mais baixo em que está envolvido na interface
1.1 Depósito 1
1
1.2
Depósito 1
2.1 2
Depósito 1
2.2
Análise de Sistemas – Modelo Comportamental FAQ sobre Nivelação (cont.) • Como se faz a nivelação de facto? • O desenvolvimento do DFD não é necessariamente top-down • Abordagem mista: top-down + bottom-up • Utilizar a lista de eventos para criar a 1ª versão do DFD: Pode ser utilizada para criar DFDs de nível mais alto Pode ser utilizada para criar DFDs de nível mais baixo
Análise de Sistemas – Modelo Comportamental FAQ sobre Nivelação (cont.) • Cada grupo de processos envolve dados relacionados entre si • Se um grupo de processos do DFD preliminar se refere a um depósito (e só este grupo), então pode-se criar um processo de nível mais elevado que esconda este depósito
D1
D2
D2 D3
Análise de Sistemas – Modelo Comportamental Diagrama de Entidade-Associação (DEA) (3) • Também chamado Diagrama de Entidade-Relação (DER) • Utilizado para: • Interagir com o utilizador • Definir relacionamentos entre os depósitos de dados
Cliente
Compra
Livro
Análise de Sistemas – Modelo Comportamental DEA: • Componentes de um DEA • • • •
Tipo Objeto (Entidade) Relacionamento (Associação) Indicador do tipo objeto associativo Indicador de supertipo/subtipo
• Tipo objeto • • • •
Representado por uma caixa retangular Representa uma coleção ou conjunto de objetos do mundo real Objetos são instâncias do tipo Cada objeto desempenha um papel no sistema que pode ser: identificado unicamente ser descrito por um ou mais elementos de dados
Análise de Sistemas – Modelo Comportamental DEA • Relacionamento • Representado por um losango • Um relacionamento representa um conjunto de conexões entre objetos • Pode haver mais de um relacionamento entre dois objetos
Trata Médico
Paciente Cobra
Análise de Sistemas – Modelo Comportamental DEA • Os relacionamentos podem ser unários, binários, ternários ...
Professor
Curso
Tem Prec.
Envolve
Aluno
Análise de Sistemas – Modelo Comportamental DEA • Cardinalidade: é o número de objetos de cada tipo objeto que participa no relacionamento • Pode ser. ▫ 1:1 ; 1:N ; N:1 ; M:N
Cliente
Professor
1
M
Compra
Ensina
N
N
Item
Aluno
Análise de Sistemas – Modelo Comportamental DEA Tipo objeto (ou entidade): •
Aluno
Atributo identificador: número_de_matrícula
•
Atributos descritores: nome, morada, telefone, data_nascimento, curso, sexo
Instância de objeto: número_de_inscrição: 11250 nome: João da Silva morada: Areeiro telefone: 8887777 data_nascimento: 01/09/80 curso: eng. informática sexo: m
Análise de Sistemas – Modelo Comportamental DEA • Instância de uma associação é a ocorrência de uma ligação entre objetos Cliente
Instâncias de Cliente
compra
instâncias de compra
Filme
Instâncias de Filme
C1
F1
C2
F2
C3
F3
C4
4 instâncias de Cliente 3 instâncias de Filme 3 instâncias da associação compra
Análise de Sistemas – Modelo Comportamental DEA • A cardinalidade define os graus, máximo e mínimo. • O grau máximo de uma associação pode ser: •• 11 :: 11 •• 11 :: NN •• NN:: M M • O grau mínimo de uma associação pode ser: •• 00:: 00 •• 00:: 11 •• 11:: 11
Análise de Sistemas – Modelo Comportamental DEA – Grau máximo: O Ograu graumáximo máximodefine defineoonúmero númeromáximo máximode devezes vezesque queuma uma instância instânciada daentidade entidadepode podeocorrer ocorrerna naassociação. associação. Exemplo: Cliente
1
tem
1
Carta de condução
•
Uma instância de Cliente pode ocorrer no máximo uma vez
•
Uma instância de Carta de Condução pode ocorrer no máximo uma vez
Análise de Sistemas – Modelo Comportamental DEA Exemplo 1: Aluguer • •
N
pertence
Cliente
1
Um Aluguer pertence a no máximo um Cliente Um Cliente pode ter vários Alugueres
Exemplo 2: Fornecedor
N
fornece
M
Produto
• Um Fornecedor fornece vários Produtos • Um Produto pode ser fornecido vários Fornecedores
Análise de Sistemas – Modelo Comportamental DEA • O grau mínimo define o número mínimo de vezes que uma instância pode ocorrer na associação. • Se é zero diz-se opcional, se é um diz-se obrigatória. Exemplo: Cliente
tem
Carta de condução
•
Carta de condução é opcional: um dado cliente pode não ter carta
•
Cliente é obrigatório: uma carta de condução pertence no mínimo a um cliente
Análise de Sistemas – Modelo Comportamental DEA Exemplo: Médico
é médico família
Paciente
• Médico é opcional Um Paciente pode não ter médico de família • Paciente é opcional Um médico pode não ser médico de família de nenhum Paciente
Análise de Sistemas – Modelo Comportamental DEA Exemplo: Fornecedor
fornece
Produto
• Fornecedor é obrigatório Um fornecedor fornece no mínimo um produto • Produto é obrigatório Todo produto é fornecido no mínimo por um fornecedor
Análise de Sistemas – Modelo Comportamental DEA Os Osgraus grausmáximo máximoeemínimo mínimode deuma umarelação relaçãocomplementam-se complementam-seeeservem servem para paraespecificar especificaraapolítica políticada daorganização organizaçãono noque quese serefere refereaos aosdados. dados. Fornecedor
Cliente
N
Produto
fornece M
1
tem
1
Cartão
Notação alternativa Fornecedor Cliente
0..N 1..1
fornece
tem
0..M 0..1
Produto
Cartão
Análise de Sistemas – Modelo Comportamental DEA • Entidade associativa é uma associação com atributos próprios. • Representa uma associação onde desejamos manter alguma informação específica que não pode ser derivada automaticamente pelo sistema Funcionário
M
Projeto
trabalha
N
Contém informação sobre a percentagem de tempo que o empregado dedica a um dado projeto. Funcionário
1..M
1..N
Trabalho
Projeto
Análise de Sistemas – Modelo Comportamental DEA Exemplos de entidades associativas: Ficheiro
(0..M)
(0..N)
Acesso
Atleta
(1..M)
Atributo específico : tipo da permissão de acesso
(0..N)
Participação
Utilizador
Competição
Atributos específicos : colocação, performance
Análise de Sistemas – Modelo Comportamental DEA • Indicadores de subtipo e supertipo • Um subtipo é uma especialização do supertipo • Um supertipo é uma generalização do subtipo • O supertipo descreve os elementos de dados comuns a todos os subtipos. • Os atributos de um supertipo são “herdados” pelos subtipos • Cada subtipo é descrito pelos atributos “herdados” do supertipo + atributos específicos • Os subtipos descrevem elementos de dados específicos a um subconjunto das instâncias. • Na notação o supertipo está conectado aos subtipos através de uma associação sem nome e uma linha cortada
Análise de Sistemas – Modelo Comportamental DEA Desporto
Desporto Individual
Desporto em Equipa
Empregado
assalariado
temporário
Desporto = nome + local + regras
Empregado = nome + endereço
Desporto Individual = recorde
Assalariado = salário_mensal
Desporto em Equipa = n_de_jogadores Temporário = salário_hora
Análise de Sistemas – Modelo Comportamental DEA Figura
Aberta
Arco
Fechada
Linha Círculo Polígono
• • • • • • •
Figura = cor + posição_central Aberta = orientação Fechada = área Arco = raio + ângulo Linha = pontos_extremos Círculo = diâmetro Polígono = número_de_lados + vértices
Análise de Sistemas – Modelo Comportamental Construção do DEA: 1. Identificação das entidades. » depósitos de dados; » depósitos de dados associados a entidades externas; » documentos, formulários, utilizador.
2.Identificação das associações: Verificar a descrição dos depósitos de dados do DFD no DD. Ex.: Fornecedores = {Fornecedor + {código_produto}} Fornecedor = @código_fornecedor + nome + morada + número_contribuinte Produtos = {Produto + 1{código_fornecedor}} Produto = @código_produto + descrição + peso N Fornecedor
fornece
M
Produto
Análise de Sistemas – Modelo Comportamental Construção do DEA (cont.)
2.2 Na especificação dos processos. Ex.: process fornecer; ... If código_fornecedor in Fornecedores = código_ fornecedor in Produtos then ... endproc
Análise de Sistemas – Modelo Comportamental Construção do DEA (cont.)
3. Definir os graus máximos e mínimos das associações. 4. Especificar os atributos identificadores e os atributos descritores de cada entidade. ▫
Verificar a descrição dos depósitos de dados no DD.
5. Completar o dicionário de dados com as descrições das entidades e associações que ainda não estejam lá. Médico
trata
Paciente
Médico = @código_médico + nome + morada + salário Paciente = @código_paciente + BI + nome + sexo + (telefone)
Análise de Sistemas – Modelo Comportamental Construção do DEA (cont.) • Observações importantes: 1. Certificar-se de que todos os atributos se aplicam a todas as instâncias de uma entidade. Modelo = @número_modelo + morada + estado_civil + cor_cabelo + cor_olhos + (nome_cônjuge) + sexo + altura + [barba + medida_tórax | medida_quadril + medida_busto] Observa-se que há a necessidade de criar dois subtipos
Análise de Sistemas – Modelo Comportamental Construção do DEA (cont.)
Modelo
Modelo feminino
Modelo masculino
Modelo = @número_modelo + nome + morada + estado_civil + cor_cabelo + cor_olhos + (nome_cônjuge) + altura + tipo-modelo tipo-modelo = [Modelo_feminino | Modelo_masculino] Modelo_feminino = @número_modelo + medida_quadril + medida_busto Modelo_masculino = @número_modelo + barba + medida_tórax
Análise de Sistemas – Modelo Comportamental Construção do DEA (cont.) 2. Certificar-se de que quando há entidades diferentes que possuem atributos em comum é possível criar um supertipo Empregado_temporário = @número_empregado + nome + morada + código_postal + telefone + salário_hora + número_horas_extra Empregado_assalariado = @número_empregado + nome + morada + código_postal + telefone + salário_mensal + abono_família + número_filhos Empregado temporário
Empregado assalariado
Empregado
Empregado temporário
Empregado assalariado
Análise de Sistemas – Modelo Comportamental Construção do DEA (cont.) 3. Quando há grupos repetitivos covém criar uma nova entidade e uma nova associação Um grupo repetitivo é um conjunto de atributos cujos valores se repetem para um dado valor do identificador. Empregado = @número_empregado + nome + morada + salário + {nome_filho + sexo_filho + idade_filho} Empregado
tem
N
Filho
Empregado = @número_empregado + nome + morada + salário Filho = @Id_filho + nome_filho + sexo_filho + idade_filho + número_empregado
Análise de Sistemas – Modelo Comportamental Construção do DEA (cont.) 4. Existe outra situação bastante comum. Conta = @número-conta + saldo + [juro + período | limite-credito]
Conta
Conta à Ordem
Conta a prazo
Conta = @número-conta + saldo Conta-à-ordem= @número-conta + limite-crédito Conta-a-prazo= @número-conta + juro + período Conta_à_ordem = * mesmos atributos que Conta*
Análise de Sistemas – Ferramentas CASE As ferramentas CASE (Computer-Aided Software Engineering), têm como objetivo automatizar atividades manuais pré-codificação, como Diagramas de Entidade-Relacionamento(DER) e Diagramas de fluxo de dados (DFD).
Blocos de Construção para o CASE:
Exemplo de Ferramentas CASE: Case Studio e Doctor Case, onde poderão ser elaborados o DFD’s e os DER’s.
Análise de Sistemas – Problemas no desenv. de Software Sintomas típicos de problemas no desenvolvimento de software: • • • •
Falha no entendimento das necessidades dos usuários; Inabilidade de tratar mudança de requisitos; Descobrimento tardio de demandas importantes do projeto; Falta de um processo definido para o desenvolvimento de software. Causa das falhas:
• • • • •
Comunicação ambígua e imprecisa; Arquitetura fracamente definida; Complexidade subestimada; Inconsistências não identificadas nos requisitos, projeto e no código; Testes insuficientes.
Ao tratar essas causas, através de uma metodologia de desenvolvimento de software, os sintomas serão eliminados e será mais fácil desenvolver e manter um software de qualidade.
Fontes: http://blog.prasabermais.com http://www.al.urcamp.tche.br www-ctp.di.fct.unl.pt http://support.microsoft.com/kb/209534/pt