Análise de Software & Ferramentas de Design



Projeto e análise de Software inclui todas as atividades, que ajudam a transformação da especificação de requisitos de aplicação. Especifique todas as especificações dos requisitos funcionais e não-funcionais das expectativas do software. Estas especificações de requisitos vêm em forma de legível por humanos e compreensíveis os documentos, para que um computador nada tem a fazer.

Análise de Software e design é a fase intermediária, o que ajuda a legível pelo ser humano os requisitos para ser transformada em código real.

Vamos ver algumas análises e ferramentas de design utilizado por designers de software:

Diagrama de fluxo de dados

Diagrama de fluxo de dados é representação gráfica do fluxo de dados em um sistema de informação. É capaz de representar fluxo de entrada de dados, fluxo de dados e saída dados armazenados. O DFD não menciona nada sobre a forma como os dados são transmitidos através do sistema.

Destaque-se uma diferença entre DFD e fluxograma. O fluxograma mostra fluxo de controle em módulos do programa. DFDs descrevem fluxo de dados no sistema a vários níveis. DFD não contém qualquer controle ou sucursal elementos.

Tipos de DFD

Os diagramas de fluxo de dados, lógica ou física.

  • Lógico DFD - Este tipo de DFD concentra-se no processo do sistema, e o fluxo de dados no sistema.Por exemplo, um software do sistema bancário, como os dados são transferidos entre diferentes entidades.
  • DFD Física - Este tipo de DFD mostra como o fluxo de dados é realmente implementado no sistema. Ela é mais específica e fechar a aplicação.

DFD Componentes

DFD pode representar origem, o destino, o armazenamento e o fluxo de dados com o seguinte conjunto de componentes -

Componentes DFD
  • Entidades - As entidades são a origem e o destino dos dados. As entidades são representadas por retângulos com seus respectivos nomes.
  • Processo - As atividades e medidas tomadas sobre os dados são representados por círculos ou retângulos com borda arredondada.
  • Armazenamento de Dados - há duas variantes do armazenamento de dados - que pode ser representado como um retângulo com ausência de ambos os lados menores ou como um open-sided retângulo com um só lado ausente.
  • Fluxo de Dados - Movimento dos dados é apresentada pelo referido setas. Movimentação de dados é mostrada a partir da base da seta, conforme sua origem para chefe da seta como destino.

Os níveis de DFD

  • Nível 0 - O mais alto nível abstração DFD é conhecido como Nível 0 DFD, que retrata todo o sistema de informação como um esquema escondendo todos os detalhes básicos. Nível 0 DFDs são também conhecidos como contexto nível DFDs.
  • nível 0
  • Nível 1 - Nível 0 DFD é discriminado de forma mais específica, o nível 1 DFD. Nível 1 DFD retrata módulos básicos do sistema e o fluxo de dados entre os diferentes módulos. DFD Nível 1 também menciona processos básicos e fontes de informação.
  • nível 1
  • Nível 2 - Neste nível, DFD mostra como os dados fluem no interior os módulos mencionados no nível 1.

    Nível superior DFDs pode ser transformada em mais baixo nível DFDs com nível mais profundo de compreensão se o nível desejado de acordo com as especificações é alcançado.

Gráficos Estrutura

Estrutura tabela é uma tabela derivada do Diagrama de fluxo de dados. Ela representa o sistema em mais detalhe do que DFD. Decompõe-se todo o sistema em menor módulos funcionais, descreve as funções e sub-funções de cada módulo do sistema para um maior detalhe do DFD.

Estrutura gráfico representa estrutura hierárquica de módulos. Em cada camada uma tarefa específica é realizada.

Aqui são os símbolos usados na construção de estrutura gráficos -

  • Módulo - que representa processo ou sub-rotina ou tarefa. Um módulo de controle ramos a mais de um sub-módulo. Módulos de biblioteca são re-utilizáveis e invokable de qualquer módulo. Módulos SC
  • Estado - é representada pelo pequeno diamante na base do módulo. Ela retrata o módulo de controle pode selecionar qualquer uma das sub-rotina baseada em alguma condição. SC Estado
  • Jump - é apresentada uma seta apontando para dentro do módulo para representar que o controle irá saltar no meio da sub-módulo. SC Módulo Salto
  • Loop - UMA seta curva representa loop no módulo. Todos os sub-módulos abrangidos pelo loop repetir execução do módulo. SC Loop
  • Fluxo de Dados - uma seta com círculo branco no final representa fluxo de dados. SC Dataflow
  • Fluxo de Controle - uma seta com círculo cheio no final representa fluxo de controle. SC ControlFlow

Diagrama HIPO

HIPO (Hierarchical Input Process Output) diagrama é uma combinação de dois método organizado para analisar o sistema e fornecer os meios de documentação. HIPO modelo foi desenvolvido pela IBM no ano de 1970.

HIPO diagrama representa a hierarquia de módulos do sistema de software. O analista usa HIPO diagrama para obter visualização de alto nível das funções do sistema. Ele decompõe-se as funções em sub-funções de uma forma hierárquica. Ela retrata as funções executadas pelo sistema.

HIPO diagramas são boas para a documentação. Sua representação gráfica faz com que seja mais fácil para os designers e gerentes para obter a idéia de pictórica da estrutura do sistema.

diagramas HIPO

Em contraste com a OFERTA PÚBLICA INICIAL (IPO) (Entrada Saída do Processo) diagrama, que retrata o fluxo de dados e controle em um módulo, HIPO não fornecem qualquer informação sobre fluxo de dados ou fluxo de controle.

IPO Chart

Exemplo

Ambas as partes da HIPO diagrama, apresentação hierarquizada e OPI gráfico são usados para projeto de estruturas de programa de software, bem como a documentação do mesmo.

Em Inglês Estruturado

A maioria dos programadores desconhecem a grande imagem do software, de forma que só dependem do que seus gerentes diga-lhes para fazer. É a responsabilidade de maior gerenciamento de software para fornecer informações precisas para os programadores desenvolverem código rápido ainda precisa.

Outras formas de métodos, que usam gráficos ou diagramas, podem às vezes são interpretadas de forma diferente por pessoas diferentes.

Por isso, analistas e projetistas de software vêm para cima com ferramentas como estruturada em inglês. Não é nada, mas a descrição do que é necessário para o código e como código. Estruturada Inglês ajuda o programador a escrever sem erros.

Outra forma de métodos, que usam gráficos ou diagramas, podem às vezes são interpretadas de forma diferente por pessoas diferentes. Aqui, tanto em inglês e estruturado Pseudo-Code tenta atenuar esse entendimento lacuna.

O inglês é estruturado, usa palavras em inglês simples programação estruturada paradigma. Não é o melhor código, mas uma espécie de descrição o que é necessário para o código e como ao código. A seguir estão alguns símbolos da programação estruturada.

IF-THEN-ELSE,  
DO-WHILE-UNTIL

O analista utiliza a mesma variável e nome de dados, que são armazenados no dicionário de dados, tornando-o muito mais simples de escrever e entender o código.

Exemplo

Devemos ter o mesmo exemplo de cliente on-line Autenticação no ambiente de compras. Este procedimento para autenticar o cliente pode ser escrita em inglês, como estruturado.

Enter Customer_Name
SEEK Customer_Name in Customer_Name_DB file
IF Customer_Name found THEN
   Call procedure USER_PASSWORD_AUTHENTICATE()
ELSE
   PRINT error message
   Call procedure NEW_CUSTOMER_REQUEST()
ENDIF

O código escrito em Inglês é mais estruturado como dia-a-dia inglês falado. Ele não pode ser executado diretamente como um código de software. Estruturado em Inglês é independente de linguagem de programação.

Pseudo-Code

Pseudo-código é escrito mais próximo à linguagem de programação. Ela pode ser considerada como linguagem de programação aumentada, cheia de observações e descrições.

Código evita Pseudo declaração de variável, mas eles são escritos usando um pouco da linguagem de programação real construções, como, por exemplo, C, Fortran, Pascal etc.

Pseudo código contém mais detalhes de programação estruturada que Inglês. Ele oferece um método para executar a tarefa, como se um computador está executando o código.

Exemplo

Programa para imprimir Fibonacci de n números.

void function Fibonacci
Get value of n;
Set value of a to 1;
Set value of b to 1;
Initialize I to 0
for (i=0; i< n; i++)
{
   if a greater than b 
   {
      Increase b by a;
      Print b;
   } 
   else if b greater than a
   {
      increase a by b;
      print a;
   }
}

Decisão Tabelas

A decisão tabela representa as condições e as respectivas ações a serem tomadas para solucioná-los, estruturado em um formato de tabela.

Trata-se de um ferramenta poderosa para depurar e evitar erros. Que ajudam o grupo informações semelhantes em uma única tabela e, em seguida, combinando tabelas que proporciona uma fácil e conveniente tomada de decisão.

Criar decisão Tabela

Para criar a decisão quadro, o desenvolvedor deve seguir quatro passos básicos:

  • Identificar todas as condições possíveis de ser abordada
  • Determinar as ações para todas as condições específicas
  • Criar o máximo possível as regras
  • Definição de acções para cada regra

Decisão as tabelas devem ser verificados pelos usuários finais e pode ultimamente ser simplificada, eliminando duplicação regras e acções.

Exemplo

Deixe-nos tomar um exemplo simples do dia-a-dia problema com nossa conectividade com a Internet. Começamos por identificar todos os problemas que podem surgir durante a partida do internet e de suas respectivas soluções possíveis.

Podemos listar todos os possíveis problemas na coluna e as potenciais ações na coluna ações.

As condições/Ações Regras
Condições Mostra Conectado N N N N Y Y Y Y
O Ping é trabalhar N N Y Y N N Y Y
Abrir Site Y N Y N Y N Y N
Ações Verifique o cabo de rede X
Marque roteador de internet X X X X
Reinicie Web Browser X
Provedor de Serviços Contato X X X X X X
Não ação
Tabela : Decisão Tabela - a solução Internet em casa

Modelo Entity-Relationship

Entity-Relationship modelo é um tipo de modelo de base de dados com base na noção de entidades do mundo real e do relacionamento entre eles. Podemos mapear cenário real para ER modelo de base de dados. ER modelo cria um conjunto de entidades com seus atributos, um conjunto de restrições e a relação entre eles.

ER é o melhor modelo usado para o projeto conceitual de banco de dados. ER modelo pode ser representada da seguinte maneira :

ER Modelo
  • Entidade - uma entidade em ER modelo é um mundo real, que tem algumas propriedades chamado atributos. Cada atributo é definido pelo seu correspondente conjunto de valores, chamado domínio.

    Por exemplo, considere uma escola banco de dados. Aqui, o aluno é uma entidade. Aluno tem vários atributos como nome, identidade, idade e classe, etc.

  • Relacionamento - a associação lógica entre entidades é chamado relacionamento. As relações são mapeados com entidades de diversas maneiras. Mapping cardinalidades permitidas definem o número de associações entre duas entidades.

    Mapping cardinalidades permitidas:

    • um a um
    • Um de muitos
    • Muitos-para-um
    • Muitos para muitos

Dicionário de Dados

Dicionário de dados centralizada é a coleta de informações sobre os dados. Ele armazena significado e origem de dados, bem como a sua relação com outros dados, o formato de dados de utilização, etc. dicionário de dados tem uma rigorosa definição de todos os nomes de usuário para facilitar e designers de software.

Dicionário de Dados é frequentemente referenciado como meta-dados (dados sobre dados) repositório. Ela é criada juntamente com DFD (Diagrama de fluxo de dados) modelo de programa de software e é esperada para ser atualizada sempre que DFD é alterado ou atualizado.

Exigência de Dicionário de Dados

Os dados são referenciados pelo dicionário de dados enquanto projeto e implementação de software. Dicionário de dados elimina qualquer possibilidade de ambiguidade. Ela ajuda a manter o trabalho de programadores e designers sincronizados ao mesmo tempo usando a mesma referência de objetos em todo o programa.

Dicionário de Dados fornece uma forma de documentação para o completo sistema de base de dados em um só lugar. Validação de DFD é efectuada com dicionário de dados.

Conteúdo

Dicionário de dados deve conter informações sobre os seguintes

  • Fluxo de Dados
  • Estrutura de Dados
  • Elementos de dados
  • Armazenamentos de dados
  • Processamento de Dados

Fluxo de dados é descrito por meio de DFDs, estudados anteriormente, representada na forma algébrica como descrito.

= Composto de
{} Repetição
() Opcional
+ E
[ / ] Ou

Exemplo

Address = Casa No + (Rua/área) + Cidade + Estado

Curso ID = Número do curso + Nome do curso + Nível de curso + curso Categorias

Elementos de dados

Elementos de dados composto por nome e descrições dos dados e Itens de Controle, interno ou externo armazenamentos de dados etc., com os seguintes detalhes:

  • Nome Principal
  • Nome secundário (Alias)
  • Caso de uso (como e onde a utilizar).
  • Conteúdo Descrição (Notation etc.)
  • Informações complementares (os valores pré-estabelecidos, restrições etc.)

Armazenamento de Dados

Ele armazena as informações de onde os dados entram no sistema e existe para fora do sistema. O armazenamento de dados pode incluir -

  • Arquivos
    • Interno de software.
    • Externo ao software, mas na mesma máquina.
    • Externo ao software e sistema, localizado na outra máquina.
  • Tabelas
    • Convenção de nomenclatura
    • Propriedade Indexação

Processamento de Dados

Há dois tipos de processamento de dados:

  • Lógico: Como o usuário vê-lo
  • Física: como vê o software
Advertisements