Baixe o app para aproveitar ainda mais
Prévia do material em texto
ENGENHARIA DE SOFTWARE E FAETERJ AULA 01 - PROF. JOSÉ LUIZ LEMOS ALVES Modelagem de Software O QUE É UM MODELO Modelagem de Software Razões para Modelar um Sistema Modelagem de Software Dimensões de um Sistema no Mundo Real Modelagem de Software Níveis de Abstração Modelagem de Software Níveis de Abstração Modelagem de Software Analise Estruturada Surgiu na década de 60 com o principal proposito a construção de programas mais fáceis de serem lidos e compreendidos, utilizando a Técnica estruturada BOTTOM- UP (De cima para baixo), isto é, da programação para analise. O projeto estruturado, introduzido em meados de década de 70, preocupou-se com a organização dos programas. As recomendações do projeto estruturado para organizar um sistema em módulos de tamanho reduzido, cada qual executando uma única função específica, e sobre a maneira como os módulos devem ser interligados, contribuíram para a manutenibilidade do sistema. Modelagem de Software A análise estrutura é uma fase crítica no desenvolvimento de sistemas e programas de software porque afeta as fases de desenvolvimento seguintes. Ela é difícil por causa dos problemas de comunicação, das mudanças nos requisitos do sistema e das técnicas inadequadas de avaliação. Não é fácil descrever os requisitos do sistema em uma forma precisa. A especificação do sistema(Levantamento de Requisitos), é o elo entre a análise e o projeto. Ela fornece uma descrição dos requisitos do sistema a ser construído. O principal objetivo da análise é produzir uma especificação do sistema que defina a estrutura do problema a ser resolvido de acordo com a visão do usuário. Analise Estruturada Modelagem de Software O objetivo do projeto é definir a estrutura do problema e com os requisitos do usuário. Os defensores da análise estruturada afirmam que o uso do mesmo método de construção para a especificação e para o projeto obriga os dois a ficarem mais coesos e a mais provavelmente corretos ao representar um sistema que satisfará às necessidades e expectativas do usuário. A especificação é composta de diagrama de fluxo de dados, um dicionário de dados e especificações dos processos. A análise estruturada de sistemas compõe-se de um conjunto de técnicas e ferramentas, em constante evolução. Seu conceito fundamental é a construção de um modelo lógico (não físico) de um sistema, utilizando técnicas gráficas capazes de levar usuários, analistas e projetistas a formarem um quadro claro e geral do sistema e de como suas partes se encaixarem para atender às necessidades daqueles que dele precisam. Antes todos os detalhes da implementação física eram perdidas. Analise Estruturada Modelagem de Software O próprio ato de desenhar um Fluxograma significa que é preciso tomar uma decisão quanto à entrada de dados a ser feita por meio de cartões ou através de um terminal de vídeo, quais arquivos estarão em fita e quais em disco, que programas produzirão saída e assim por diante. No entanto, essas, decisões são a essência do trabalho do projetista. A partir do momento em que o analista tiver desenhado um Fluxograma do sistema, o projetista poderá escolher entre aceitar o projeto físico do analista e então lidar com os detalhes de estrutura de programa e arquivo, de então (como muitas vezes acontece) retornar à especificação escrita para gerar um novo projeto. Nenhum dos caminhos é satisfatório. Analise Estruturada Modelagem de Software Analise Estruturada (Componentes de um Fluxogramas) O Fluxograma não é útil na “modelagem” do sistema para os usuários. Embora alguns usuários possam aprender a ler Fluxograma, para a maioria deles o Fluxograma representa um “Jargão visual”. A especificação não somente deverá descrever tudo o que o usuário vê, incluindo todos as interfaces, como também deverá evitar a descrição do que o usuário não vê. Essa é a tarefa do implementador, e aqui sua liberdade deve ser limitada. O analista deve estar sempre preparado para mostrar uma implementação de qualquer aspecto que ele descreve, mas não deve tentar ditar a implementação. Modelagem de Software Analise Estruturada (Dados e Processos) ISSO 5807 : Este texto apresenta uma proposta de modelo gráfico para a representação da linha de raciocínio lógico do conceito de programação de computadores. PALAVRAS-CHAVE : fluxograma, diagrama de bloco, diagrama de fluxo de programa, Modelagem de Software Fluxograma: É é um diagrama que tem como finalidade representar processos ou fluxos de materiais e operações (diagramação lógica, ou de fluxo). E também pode ser usado por programadores para elaboração de algoritmos (programação estruturada), porém, neste caso ele possui algumas representações próprias. Analise Estruturada (Fluxogramas) Modelagem de Software Analise Estruturada (Diagramas) DFD - Diagrama de Fluxo de Dados DER - Diagrama de Entidade e Relacionamentos DTE - Diagrama de Transição de Estados DD - Dicionário de Dados Ferramentas Principais Modelagem de Software DFD - Diagrama de Fluxo de Dados O DFD é um diagrama gráfico, baseado apenas em quatro símbolos, que mostra a estrutura do sistema e sua fronteira, ou seja, todas as relações entre os dados, os processos que transformam esses dados e o limite entre o que pertence ao sistema e o que está fora dele. DFD é uma representação em rede dos processos (funções) do sistema e dos dados que ligam esses processos. Ele mostra o que o sistema faz e não como é feito. É a ferramenta de demonstração central da análise estruturada. Um DFD apresenta as partes componentes de um sistema e as interfaces entre elas. É um conjunto integrado de procedimentos, sendo que as partes do computador poderão estar inseridos ou não. Analise Estruturada Entidade Externa Deposito de Dados Fluxo de Dados Processo Modelagem de Software Analise Estruturada DFD Os DFDs também podem ser usados para a visualização do processamento de dados (design estruturado). Um DFD mostra que tipo de informação entrará e sairá do sistema, de onde os dados virão e irão e onde os dados serão armazenados. 4 elementos básicos: • Entidade externa (origem/destino); • Processo; • Depósito de dados; • Fluxo de dados Modelagem de Software Analise Estruturada DFD (Os elementos básicos) • Entidade externa (origem/destino) Define a origem ou o destino dos dados, normalmente é uma pessoa ou grupo de pessoas, uma organização, ou parte dela, um hardware ou software, Produz e recebe informação. • Processo: Transforma dados, pode representar um software ou vários , um módulo, geralmente provoca mudança de estado, estrutura ou conteúdo, A numeração não indica sequência de ações, usa são verbos na especificação. • Depósito de dados: Pode ser um arquivo, uma tabela, ou parte de um banco de dados • Fluxo de dados: Insere e retira dados de processos, depósitos de dados e entidades externas, não podem ser entre uma entidade externa e um depósito de dados. cliente Modelagem de Software Os DFDs são numerados 0, 1 ou 2, e, ocasionalmente, atingem o nível 3 ou mais. O nível de detalhe necessário depende do escopo do que você está tentando realizar. O DFD nível zero (0) : é também chamado de diagrama de contexto. É uma visão geral básica de todo o sistema ou processo a ser analisado ou modelado. Analise Estruturada (Níveis do DFD: Mine Mundo) DFD Nível 0 Entidade Externa Visão Macro do Sist. Fluxo Modelagem de Software Vai detalhar, abrir em detalhes o processo principal, o diagrama de contexto. Vai detalhar mostrando os processos que estão embutidos no processo de nível zero(0). Podemos ver que surgem mais três processos: P1 – Tratar reserva P2 – Tratar cliente P3 – Disponibilizar quarto Analise Estruturada (DFD nivel 1) Processos Fluxos Depósito de Dados Modelagem de Software(DER) No contexto da análise estruturada, define os dados mantidos pelo sistema, isto é, os depósitos de dados do diagrama de fluxo de dados, considera os dados independentemente do processamento que os transforma. Analise Estruturada (DER – Diagr. de Entidades e Relacionamentos) Nome da Entidade Relacionamento Cardinalidade Modelagem de Software (DER) Baseado no DFD - diagrama de fluxo de dados da hotelaria visto anteriormente, quais entidades banco de dados podemos afirmar que existem lá. Analise Estruturada (DER – Diagrama de Entidades e Relacionamentos) Cliente Reserva Quartos Ter Fazer (1,n) (1,1) (1,n) (1,n) Modelagem de Software Analise ESSENCIAL A Análise Essencial propõe o particionamento do sistema por eventos. A rigor, o valor de um sistema está na sua capacidade de responder com eficácia a todos os estímulos a que for submetido. Assim, um sistema é construído para responder a estímulos. A cada estímulo, o sistema deve reagir produzindo uma resposta predeterminada. A expressão Essencial Analysis, traduzida por Análise Essencial, foi proposta em 1984 por McMenamim e Palmer para refletir a introdução dos novos conceitos que estavam sendo incorporados à Análise Estruturada clássica. Ela veio propondo dois modelos, denominados de Modelo Modelagem de Software Analise ESSENCIAL Modelo Essencial Apresenta o sistema em um nível de abstração completamente independente de restrições tecnológicas. Antes que um sistema seja implementado, é necessário conhecer-se a sua verdadeira essência, não importando saber se sua implementação vai ser manual ou automatizada, e nem mesmo que tipo de hardware ou software vai ser usado. Modelo Ambiental Ele define: • A fronteira do sistema com o ambiente onde ele se situa, determinando o que é interno e o que é externo a ele. • As interfaces entre o sistema e o ambiente externo, determinando que informações chegam ao sistema vindas do mundo exterior e vice-versa. • Os eventos do ambiente externo ao sistema aos quais este deve responder. • Ferramentas para definição do ambiente.
Compartilhar