Engenharia de Software

Download Report

Transcript Engenharia de Software

ANÁLISE ESSENCIAL
Thelma Elita Colanzi Lopes
[email protected]
Métodos e Técnicas para o
desenvolvimento de sistemas
 Anos 60: textos e fluxogramas para especificar a lógica dos sistemas;
 Meados de 70:
– Análise Estruturada: método que utiliza os componentes e conceitos da
programação estruturada (Tom DeMarco, Gane & Sarson);
– Projeto Estruturado: método que possibilita a elaboração do Diagrama
de Hierarquia de Funções ou Diagrama de Estrutura Modular
(Yourdon);
 Anos 80: surge a abordagem de estrutura de dados como forma de modelar
sistemas;
– Método de Jackson (JSD – Jackson System Development)
– Métodos de Warnier
• LCS – Lógica de Construção de Sistemas
• LCP – Lógica de Construção de Programas
 Anos 90: surge a abordagem orientada a objetos;
– Método FUSION (Coleman et. al.);
– UML – Unified Modeling Language;
2
Evolução dos métodos
de análise de sistemas
Métodos
Abordagens
Ferramentas
Análise
Tradicional
 Funcional
•Textos
•fluxogramas
Análise
Estruturada
Funcional
Dados
•Diagrama de Fluxo de Dados (DFD)
•Diagrama de Estrutura de Dados (Modelo
Conceitual)
•Miniespecificações
•Normalização
•Dicionário de Dados
Análise
Essencial
Funcional
Dados
Controle
•Lista de Eventos
• DFD
•Diagrama Entidade-Relacionamento (DER)
•Diagrama de Transição de Estados (DTE)
•Normalização
•Miniespecificações
•Dicionário de Dados
3
Análise de Sistemas
 Qualquer que seja o método utilizado no desenvolvimento de sistemas, o
primeiro passo deve ser o de obtenção de requisitos => ponto fundamental;
 Diversas técnicas existem para que os dados/informações sejam obtidos:
entrevistas, questionários, observação direta, brainstorming, entre outras.
 Análise Essencial (McMenamin & Palmer) ou
Análise Estruturada Moderna (Yourdon) pode ser encarada
como uma bem-sucedida evolução da Análise Estruturada.
4
ANÁLISE ESSENCIAL
 Análise Essencial: recomenda que a especificação do sistema seja
apresentada em três perspectivas que se complementam: modelo de
processos ou funcional, modelo de dados e modelo de controle.
 Modelo funcional: mostra a perspectiva dos processos de transformação
dos dados.
 Modelo de dados: mostra a perspectiva que representa os dados que
precisam ser armazenados para atender a todas as necessidades de
informações do sistema;
 Modelo de controle: representa a perspectiva dos controles. Tem um papel
relevante no caso de sistemas em tempo real.
POR ONDE COMEÇAR A ESPECIFICAÇÃO DO SISTEMA?
Deve-se pensar nos EVENTOS que afetam o sistema. É através do eventos
que se unem os “pólos” – dado e função – do sistema.
5
ANÁLISE ESSENCIAL
COMO ESPECIFICAR O SISTEMA?
 A Análise Essencial considera dois níveis: o nível essencial e o de
implementação. Cada um desses é representado por um modelo.
 Modelo Essencial:
– apresenta o sistema num nível de abstração completamente
independente de restrições tecnológicas;
– é necessário conhecer a verdadeira essência do sistema;
 Modelo de Implementação:
– apresenta o sistema num nível de abstração completamente
dependente de restrições tecnológicas;
– é derivado do modelo essencial;
– diz respeito à implementação do sistema.
6
ANÁLISE ESSENCIAL MODELO ESSENCIAL
 Premissa básica: descrever o sistema de maneira independente de
restrições tecnológicas; encontrar o conjunto de requisitos
verdadeiros de um sistema – requisistos essenciais (a essência do
sistema) => deve-se considerar a existência da tecnologia perfeita;
 Tecnologia Perfeita (McMenamim & Palmer): deve ser entendida
como uma abstração em que se supõe uma tecnologia ideal, sem
limitações, onde:
– os custos, consumo e desgaste dos equipamentos são zero;
– a capacidade de armazenamento de dados do sistema é infinita;
– a velocidade dos processadores é infinita;
– o tempo de acesso aos dados é instantâneo;
– zero erros (não ocorrem falhas).
7
Requisitos Verdadeiros x Requisitos Falsos
 Requisito verdadeiro ou lógico: é uma característica ou capacidade
que um sistema deve ter para cumprir a sua finalidade, independentemente
de como o sistema é implementado.
– O conjunto completo de requisitos verdadeiros é chamado essência do
sistema, ou requisitos essenciais.
 Requisito Falso: aquele sem o qual o sistema é capaz de cumprir sua
finalidade, ou seja, é irrelevante para a finalidade do sistema.
– Tipos de requisitos falsos:
• Tecnológicos: ele só existe com a finalidade de atender às
limitações de uma determinada tecnologia de implementação.
• Arbitrários: características não relacionadas ao propósito do
sistema, normalmente impostas pelo analista ou usuário.
8
Principais componentes da Essência do Sistema
Resposta
Estímulo
Estímulo
Memória
Atividade
Custodial
Atividade
Fundamental
Resposta
 Atividade Fundamental (essencial): executa uma tarefa que é parte
da finalidade declarada do sistema.
– ex: emissão de contra-cheque
horas_trabalhadas
nome + endereço
salários
deduções
Pagar
trabalhadores
horistas
contra-cheque
9
Principais componentes da Essência do Sistema
(cont.)
Resposta
Estímulo
Estímulo
Memória
Atividade
Custodial
Atividade
Fundamental
Resposta
 Memória Essencial: consiste em dados produzidos pelo sistema ou
capturados do mundo exterior, que são utilizados pelas atividades
fundamentais do sistema.
ex: emissão de contra-cheque
• é necessário a identidade do empregado, o seu salário, faixa de
desconto do imposto, tempo que trabalhou, etc.
10
Principais componentes da Essência do Sistema
(cont.)
Resposta
Estímulo
Estímulo
Memória
Atividade
Custodial
Atividade
Fundamental
Resposta
 Atividade Custodial: estabelece e mantém a memória essencial do
sistema pela obtenção e armazenamento das informações necessárias às
atividades fundamentais.
ex: sistema folha de pagto
• Manter salários
• Manter empregados
• Manter deduções
11
Principais componentes da Essência do Sistema
(cont.)
 Atividades Essenciais Compostas: são aquelas que executam
respostas planejadas, enquanto também mantêm a memória essencial
do sistema.
– As atividades essenciais puras são raras em problemas reais, uma
vez que a maioria das atividades fundamentais tem que guardar
seus resultados para que possam utilizar posteriormente, ou para
passá-los para outras atividades.
• Ex: atividade no sistema folha de pagto que precisa guardar as qtdes
ganhas, retidas e pagas a cada empregado para produzir uma
declaração anual de rendimentos para fins de imposto de renda.
12
Principais componentes da Essência do Sistema
(cont.)
EVENTO
Estímulo
Sistema
Resposta
 ESTÍMULO: é um ativador de uma função. É a chegada do estímulo
que indica que um evento ocorreu, e isto faz com que o sistema ative uma
função pré-determinada para produzir a resposta esperada.
 EVENTO: um acontecimento do mundo exterior que requer do sistema
uma resposta.
 RESPOSTA: é o resultado gerado pelo sistema devido à ocorrência de
um evento – o resultado da execução de alguma função.
– a resposta ao estímulo pode ser interna ou externa.
13
ANÁLISE ESSENCIAL MODELO ESSENCIAL
Subdividido em:
 Modelo Ambiental: voltado para o ambiente em que o sistema
está inserido.
– representa a interface do sistema (sua fronteira) com o mundo exterior;
– mostra a interação do sistema com os elementos externos a ele.
 Modelo Comportamental: voltado para o sistema, para o
comportamento de suas partes internas.
– mostra como o sistema deve reagir internamente aos estímulos do
ambiente.
14