Desenvolvimento do sistema Jackson - Jackson system development

Jackson System Development ( JSD ) é uma metodologia de desenvolvimento de software linear desenvolvida por Michael A. Jackson e John Cameron na década de 1980.

História

JSD foi apresentado pela primeira vez por Michael A. Jackson em 1982, em um artigo chamado "A System Development Method". e em 1983 em Desenvolvimento de Sistema . Jackson System Development (JSD) é um método de desenvolvimento de sistema que cobre o ciclo de vida do software diretamente ou fornecendo uma estrutura na qual técnicas mais especializadas podem se encaixar. O Jackson System Development pode começar no estágio de um projeto quando há apenas uma declaração geral de requisitos. No entanto, muitos projetos que usaram o Jackson System Development, na verdade, começaram um pouco mais tarde no ciclo de vida, dando as primeiras etapas principalmente a partir de documentos existentes, e não diretamente com os usuários. As etapas posteriores do JSD produzem o código do sistema final. O primeiro método de Jackson, Jackson Structured Programming (JSP), é usado para produzir o código final. A saída das etapas anteriores do JSD é um conjunto de problemas de design do programa, cujo design é o assunto do JSP. A manutenção também é tratada com o retrabalho de qualquer uma das etapas anteriores que seja apropriada.

O JSD continuou a evoluir e alguns novos recursos foram introduzidos no método. Eles são descritos em uma coleção de artigos de John Cameron, JSP e JSD , de 1989 , e na versão de 1992 (versão 2) do manual LBMS JSD.

O desenvolvimento do método JSD chegou ao fim no início dos anos 1990, quando o pensamento de Jackson evoluiu para a Abordagem dos Quadros de Problemas com a publicação de Requisitos e Especificações de Software (1995) e Quadros de Problemas: Analisando e Estruturando Problemas de Desenvolvimento de Software (2000).

Princípios de operação

Os três princípios básicos de operação do JSD são:

  • O desenvolvimento deve começar com a descrição e modelagem do mundo real, ao invés de especificar ou estruturar a função desempenhada pelo sistema. Um sistema feito usando o método JSD executa a simulação do mundo real antes que qualquer atenção direta seja dada à função ou propósito do sistema.
  • Um modelo adequado de um mundo ordenado pelo tempo deve ser ele próprio ordenado pelo tempo. O objetivo principal é mapear o progresso no mundo real sobre o progresso no sistema que o modela.
  • A forma de implementação do sistema é baseada na transformação da especificação em um conjunto eficiente de processos. Esses processos devem ser projetados de forma que seja possível executá-los no software e hardware disponíveis.

Etapas JSD

Quando foi originalmente apresentado por Jackson em 1982, o método consistia em seis etapas:

  1. Entidade / etapa de ação
  2. Etapa inicial do modelo
  3. Etapa de função interativa
  4. Etapa da função de informação
  5. Etapa de cronometragem do sistema
  6. Etapa de implementação do sistema

Posteriormente, algumas etapas foram combinadas para criar um método com apenas três etapas.

  1. Etapa de modelagem (análise): com a etapa de entidade / ação e etapa de estruturas de entidade .
  2. Estágio da rede (projeto): com a etapa inicial do modelo , etapa da função e etapa da temporização do sistema .
  3. Etapa de implementação (realização): a etapa de implementação.

Estágio de modelagem

No estágio de modelagem, o designer cria uma coleção de diagramas de estrutura de entidade e identifica as entidades no sistema, as ações que executam, a ordenação temporal das ações na vida das entidades e os atributos das ações e entidades. Diagramas de estrutura de entidade usar a notação de diagramação de Programação Jackson estruturados diagramas de estrutura . O objetivo desses diagramas é criar uma descrição completa dos aspectos do sistema e da organização. Os desenvolvedores precisam decidir quais coisas são importantes e quais não são. Uma boa comunicação entre desenvolvedores e usuários do novo sistema é muito importante.

Este estágio é a combinação da etapa anterior de entidade / ação e a etapa de estruturas de entidade.

Estágio de rede

No estágio de rede, um modelo do sistema como um todo é desenvolvido e representado como um diagrama de especificação do sistema (SSD) (também conhecido como diagrama de rede ). Os diagramas de rede mostram os processos (retângulos) e como eles se comunicam entre si, seja por meio de conexões de vetor de estado (diamantes) ou via conexões de fluxo de dados (círculos). Nesta etapa, é definida a funcionalidade do sistema. Cada entidade se torna um processo ou programa no diagrama de rede. Os programas externos são posteriormente adicionados aos diagramas de rede. O objetivo desses programas é processar entradas, calcular saídas e manter os processos da entidade atualizados. Todo o sistema é descrito com esses diagramas de rede e são completados com descrições sobre os dados e conexões entre os processos e programas.

A etapa inicial do modelo especifica uma simulação do mundo real. A etapa da função adiciona a esta simulação as operações e processos executáveis ​​adicionais necessários para produzir a saída do sistema. A etapa de temporização do sistema fornece sincronização entre processos, introduz restrições. Esta etapa é a combinação da etapa anterior de 'modelo inicial', a etapa de 'função' e a etapa de 'temporização do sistema'.

Estágio de implementação

Na etapa de implementação, o modelo de rede abstrato da solução é convertido em um sistema físico, representado como um diagrama de implementação do sistema (SID). O SID mostra o sistema como um processo planejador que chama os módulos que implementam os processos. Fluxos de dados são representados como chamadas para processos invertidos. Os símbolos do banco de dados representam coleções de vetores de estado da entidade e existem símbolos especiais para buffers de arquivo (que devem ser implementados quando os processos são programados para serem executados em intervalos de tempo diferentes).

A preocupação central da etapa de implementação é a otimização do sistema. É necessário reduzir o número de processos, pois é impossível dotar cada processo contido na especificação com seu próprio processador virtual. Por meio da transformação, os processos são combinados de forma a limitar seu número ao número de processadores.

Projetando os diagramas

Diagrama de estrutura de entidade (ESD)

O diagrama mostra como as entidades de ação cooperam com o sistema. Notações de diagrama de estrutura de entidade (ESD):

  • Entidade : uma entidade é um objeto usado no sistema e pelo sistema.
  • Ação : as ações que são realizadas por entidades e as ações que afetam outras entidades.
  • Sequência de construção : A construção JSD é idêntica à construção SSADM Entity Life History. Use um SequenceConstruct para ilustrar as ações aplicadas da esquerda para a direita.
  • Seleção de construção : Para refletir uma escolha entre duas ou mais ações. Marque as opções no canto superior direito com um "o" (opção).
  • Recorrência de construção : Quando uma ação se repete, coloque um pequeno asterisco (*) no canto superior direito.

Normalmente, haveria apenas uma ação sob um RecurringConstruct.

  • Componente nulo : um componente nulo pode garantir que nada aconteça em uma instrução IF-ELSE.
Diagrama de rede (ND)

Os diagramas de rede mostram a interação entre os processos. Às vezes, eles são chamados de diagramas de especificação do sistema (SSDs). Notações do diagrama de rede (ND):

  • Processo : os processos representam as funções do sistema. Um modelo de processo representa as funções primárias do sistema. Geralmente, ele tem uma relação com uma entidade externa por meio do fluxo de dados.
  • Conexão de fluxo de dados: em uma conexão de fluxo de dados, o processo A (a entidade que grava o fluxo de dados) envia ativamente as informações para outro processo B.
  • Inspeção de vetor de estado : em uma conexão de vetor de estado, o processo B (a entidade que lê as informações do vetor de estado) lê as informações do vetor de estado de outra entidade A.

A diferença entre uma conexão de vetor de estado e uma conexão de fluxo de dados reside em qual processo está ativo. Em uma conexão de fluxo de dados, o processo com as informações, A, é o processo ativo; ele envia ativamente uma mensagem para o leitor de fluxo de dados B no momento que ele (A, o remetente) escolher. Em uma inspeção de vetor de estado, o processo com as informações, A, é passivo; ele não faz nada além de permitir que o processo leitor B inspecione seu vetor de estado (A's). B, o processo que faz a inspeção, é o processo ativo; ele decide quando lerá as informações de A. Grosso modo, a conexão do fluxo de dados é uma abstração da passagem de mensagens, enquanto a inspeção do vetor de estado é uma abstração para pesquisa (e para recuperação de banco de dados).

Referências

Leitura adicional

links externos