Guia Completo: Requisitos de Software e Padrões de Documentação

Classificado em Computação

Escrito em em português com um tamanho de 37,22 KB

O que é um Requisito de Sistema?

Um requisito pode ser definido como um atributo necessário em um sistema, que pode representar uma habilidade, uma característica ou um fator de qualidade do sistema, de tal forma que é útil para os clientes ou usuários finais.

Um requisito é uma descrição de uma condição ou capacidade que um sistema deve atender, seja derivado de uma necessidade do usuário identificada, ou parte de um contrato, padrão, especificação ou outro documento formalmente imposto no início do processo.

Tipos de Requisitos de Software

Requisitos de software podem ser divididos em duas categorias principais: requisitos funcionais e requisitos não-funcionais.

  • Requisitos Funcionais: São aqueles que definem as funções que o sistema será capaz de executar. Eles descrevem as mudanças que o sistema realiza sobre os insumos para produzir resultados.
  • Requisitos Não-Funcionais: Estão relacionados às características que, de uma forma ou de outra, limitam o sistema. Exemplos incluem desempenho (tempo e espaço), interfaces de usuário, confiabilidade (robustez, disponibilidade de equipamentos), manutenibilidade, segurança, portabilidade e normas de auditoria, entre outros.

Características Essenciais de um Requisito

É importante ter em mente que um requisito de qualidade deve possuir as seguintes características:

  • Especificado por Escrito: Deve ser documentado, funcionando como um contrato ou acordo entre as partes.
  • Possível Comprovar ou Verificar: Se o requisito não puder ser verificado, como saber se ele foi atendido ou não?
  • Conciso: Um requisito é conciso se for fácil de ler e entender. Sua redação deve ser simples e clara para aqueles que o utilizarão como referência futura.
  • Completo: O requisito está completo se fornecer informações suficientes para o entendimento, sem precisar de mais detalhes adicionais por escrito.
  • Consistente: Um requisito é consistente se não contradiz outras exigências do sistema.
  • Inequívoco: Um requisito é inequívoco quando possui uma única interpretação. A linguagem utilizada na sua definição não deve causar confusão ao leitor.

Normalização de Sistemas e Documentação

Normalização significa que símbolos convencionais são usados em todos os fluxogramas para determinar o sistema e que os documentos utilizados seguem formulários padronizados.

Embora as normas de documentação variem de uma unidade para outra, é essencial que, dentro de uma organização, se utilize apenas um método. O uso de procedimentos padronizados e documentação fornece a base para uma comunicação clara e rápida, menos onerosa na formação de pessoal de sistemas, e reduz custos de armazenagem, entre outros benefícios.

Benefícios da Normalização

  • Ajuda na formação de novo pessoal dentro e fora da organização de sistemas.
  • É útil para quem tem a responsabilidade de manutenção dos sistemas.
  • Ajuda analistas e projetistas de sistemas no trabalho de integração de sistemas.
  • Garante que o sistema funcione corretamente.
  • Permite o uso eficiente dos recursos disponíveis.

Normas Básicas de Documentação

Toda a documentação referente a um sistema, seja manual ou computadorizada, simples ou complexa, deve atender aos seguintes requisitos básicos:

  • Deve ser claramente etiquetada e bem organizada, com seções claramente marcadas, armazenadas em pastas e indexadas.
  • Os diagramas devem ser claros, não sobrecarregados, e a escrita deve ser legível.
  • A documentação deve ser completa.
  • Deve incluir uma legenda e explicação dos termos utilizados.
  • A documentação deve ser mantida sempre atualizada.

Normas Detalhadas de Documentação de Sistemas Digitais

Uma boa documentação é essencial para o correto dimensionamento e manutenção eficiente dos sistemas digitais. Além de ser precisa e completa, a documentação deve ser instrutiva, para que um engenheiro de teste, técnico de manutenção, ou mesmo o engenheiro de projeto original (seis meses após o desenho do circuito), possa entender como o sistema funciona apenas lendo a documentação. Embora o tipo de documentação dependa da complexidade do sistema e dos ambientes em que o projeto e a fabricação são realizados, o pacote de documentação deve conter (em geral), pelo menos, os seguintes seis elementos:

  1. A Especificação do Circuito: Descreve exatamente o que o circuito ou sistema deve fazer, incluindo uma descrição de todas as entradas e saídas ("interfaces") e as funções a serem executadas. Note que as "specs" não precisam especificar *como* o sistema obtém resultados, mas apenas *que* resultados ele gera.
  2. Um Diagrama de Blocos: É uma descrição pictórica e informal dos principais módulos funcionais dos sistemas e suas interconexões básicas.
  3. Um Diagrama Esquemático: É uma especificação formal do sistema elétrico, suas interligações e todos os detalhes necessários para construir o sistema, incluindo os tipos de IC, referências e números de pinos. O termo é frequentemente usado para descrever diagramas de lógica de desenho informal que não têm esse nível de detalhe. A maioria dos programas de edição de esquemáticos tem a capacidade de gerar uma Lista de Materiais (BOM: Bill of Materials) a partir do esquema.
  4. Um Diagrama de Tempo: Mostra os valores lógicos de diferentes sinais em função do tempo, incluindo os intervalos críticos entre causa e efeito dos sinais.
  5. Uma Descrição do Dispositivo de Lógica Estruturada: Indica o funcionamento interno de um PLD, FPGA ou ASIC. Normalmente, esta descrição é escrita em uma Linguagem de Descrição de Hardware (HDL), como VHDL e Abel, mas pode ser na forma de equações lógicas, tabelas de estado ou diagramas de estado. Em alguns casos, pode-se usar uma linguagem de programação convencional, como C, para modelar o desempenho de um circuito ou para especificar o seu comportamento.
  6. A Descrição do Circuito: É um documento narrativo que, juntamente com o restante da documentação, explica como o circuito funciona internamente. No caso de uma máquina de estado, é descrita através de tabelas de estado, diagramas de estado, lista de transições ou arquivo de texto em uma linguagem para descrever máquinas de estado como Abel ou VHDL. A descrição do circuito deve incluir todos os pressupostos e qualquer falha potencial no projeto e operação do circuito, devendo observar também o uso de qualquer "truque" de design que não seja óbvio. Uma boa descrição do circuito também contém definições de siglas e termos especializados e tem referências para documentos relacionados.

Diagramas de Blocos

Diagramas de blocos (também chamados de diagramas de fluxo) são linguagens de descrição de algoritmos. Estes são reconhecidos na literatura como os mais universais de sua espécie, devendo-se o sucesso ao fato de reduzirem significativamente o uso da linguagem natural para descrever os próximos passos. As operações a serem realizadas serão representadas por símbolos, que irão conter em seu interior os dados utilizados nessas operações e as variáveis que serão empregadas. Este capítulo explica em detalhes o projeto e a fabricação de algoritmos utilizando diagramas de blocos.

9k =

Desenho Esquemático

Diagramas lógicos e esquemáticos são desenhados com a porta em sua posição "normal", com entradas à esquerda e saídas à direita. Os símbolos lógicos de elementos lógicos em maior escala também são desenhados com as entradas à esquerda e as saídas à direita.

Desenho

Diagramas de Temporização

Um diagrama de tempo (ou modelo) mostra o comportamento do sinal de um circuito digital como uma função do tempo. Os diagramas de tempo são uma parte importante da documentação de qualquer sistema digital. Estes diagramas podem ser usados tanto para explicar a relação de tempo entre os sinais de um sistema, quanto para definir os requisitos de tempo de sinais externos aplicados ao sistema.

Evolução dos microprocessadores (Intel e AMD). 80486 arquitetura básica

3.5.c n.º de Figo, a leitura da memória atraso de 80486

Entradas relacionadas: