Você está na página 1de 4

1 2

Unidade 4
Para que um documento de requisitos esteja bem escrito deve possuir alguns
atributos. Segundo Davis (1993), ele deve ser:
• correto: cada um dos requisitos declarados será implementado;
Documentação de Requisitos • sem ambigüidades: cada requisito tem somente uma interpretação;
• completo;
É a atividade de representar os resultados da Engenharia de Requisitos em um • verificável: deve existir um processo efetivo de custo finito através do qual
documento oficial e formal contendo os requisitos do sistema que descrevem o que o seja possível verificar se o software atende os requisitos declarados;
mesmo irá fazer, em um nível apropriado de detalhes, sem descrever como fazê-lo • consistente: uma ERS é consistente se (1) nenhum requisito declarado está
(Brackett, 1990, Davis, 1993, Sommerville & Sawyer, 1997, Thayer & Dorfman, 1997, em conflito com outros documentos e (2) nenhum subconjunto de requisitos
p.1, IEEE, 1998). declarado está em conflito;
Kotonya & Sommerville (1998) e Dorfman (1997) definem que o documento • entendível pelos usuários
de requisitos é uma declaração oficial dos requisitos de um sistema descrevendo: • modificável: sua estrutura e estilo permitem que qualquer mudança em um
1. o escopo e os objetivos do software; requisito possa ser feita de forma simples, completa e consistente;
2. os serviços e funções que o software deve fornecer;
• rastreável: se cada requisito documentado tiver rastreabilidade;
3. as restrições sob as quais o software deve operar;
• independente do projeto do sistema;
4. as propriedades gerais do software, tais como atributos de qualidade e
• comentado: classificar cada requisito em essencial, desejável ou opcional ;
desempenho;
• conciso;
5. as definições de outros softwares com os quais deve interagir;
• organizado: os requisitos contidos na ERS são fáceis de localizar.
6. as informações sobre o domínio de aplicação do software;;
7. as restrições ao processo de desenvolvimento adotado.
Não há um nome padrão para esse documento, podendo ser adotado, dentre
outros, "Especificação de Requisitos de Software (ERS)", "Documento de Requisitos"
Também deve ser documentada a fonte dos requisitos (uma pessoa, um grupo ou
ou "Especificação Funcional" (Sommerville & Sawyer, 1997). Uma boa ERS fornece
documento, por exemplo), os problemas que se pretende resolver (Lamsweerde, 2000),
muitos benefícios, tais como: (1) facilita a comunicação dos requisitos; (2) reduz o
além das razões e justificativas da escolha de cada solução ou decisão tomada, as
esforço de desenvolvimento, pois sua preparação força os usuários e clientes1 a
demais alternativas consideradas, os fatores avaliados e as argumentações que guiaram
considerar, de forma rigorosa, todos os requisitos, evitando retrabalho nas fases
cada decisão ou solução. Essas informações adicionais são chamadas na literatura de
posteriores; (3) fornece uma base realística para estimativa de custos e cronogramas; (4)
design rationale e fornecem uma visão mais rica sobre o software e o processo de
tomada de decisão, proporcionando, ainda, melhorias significativas na gerência de
dependências, na colaboração, no reuso, manutenção, aprendizagem e na própria
1
Os usuários são as pessoas que operam ou interagem diretamente com o produto de software (IEEE,
documentação (Lee, 1997, Burge & Brown, 2000). 1998). Os clientes são as pessoas responsáveis pela contratação e aceitação do produto de software
(Bracket, 1990); normalmente, decidem os requisitos a serem desenvolvidos (IEEE, 1998) e estão mais
interessados nos resultados da utilização do software pelos usuários do que no software em si (Leite,
2001).

Profa. Denise Franzotti Togneri Profa. Denise Franzotti Togneri


3 4

fornece uma base para verificação e validação; (5) facilita a transferência do software sua adoção deve ser apropriada para o problema a ser resolvido (Davis, 1993, IEEE,
para novos usuários e/ou máquinas e (6) serve como base para futuras manutenções ou 1998).
incremento de novas funcionalidades (IEEE, 1998, Nuseibeh & Easterbrook, 2000). A linguagem natural é bastante usada por facilitar a comunicação e ser
extremamente expressiva e flexível, mas é pobre para capturar as semânticas do modelo,
O documento de requisitos pode ser usado por diferentes pessoas (Faulk, 1996, possibilita ambigüidades, pode gerar inconsistências, falta de acurácia e dificuldade para
Sommerville & Sawyer, 1997): verificar completeza (Saiedian, 1997, Loucopoulos & Karakostas, citados por
1. clientes e patrocinadores, que usam o documento para fornecer uma base Easterbrook, 2001). No entanto, pode ser usada, desde que haja uma revisão
contratual para seu desenvolvimento; independente para identificar os problemas e corrigi-los (Davis, 1993, IEEE, 1998).
2. usuários e especialistas de domínio, que lêem o documento para verificar Como exemplo, pode-se citar a Lista de Eventos (McMenamin & Palmer, 1991) e a
se ele representa suas necessidades e, caso necessário, especificar proposta para especificação de requisitos documentando-os através de declarações
mudanças a serem feitas, durante o desenvolvimento ou após implantação; chamadas de “shall statements” (IEEE, 1998).
3. gerentes responsáveis pelo planejamento, custos e cronograma, que usam Uma notação semi-formal captura a estrutura e alguma semântica e pode
o documento para o planejamento do projeto, sua licitação para permitir alguma verificação de consistência, animação, etc. (Loucopoulos &
desenvolvimento e como base para medição; Karakostas, citados por Easterbrook, 2001). Como exemplo, pode-se citar a Linguagem
4. engenheiros de software, responsáveis pelas atividades subseqüentes de de Modelagem Unificada (UML - Unified Modeling Language) (Booch et al., 1998), os
projeto e implementação, que usam o documento para entender o que será diagramas de fluxo de dados e os diagramas de entidades e relacionamentos (Yourdon,
desenvolvido; 1990, McMenamin & Palmer, 1991, Pompilho, 1995). A notação semi-formal é bastante
5. engenheiros de teste, que usam o documento para derivar os casos de testes utilizada por ser apropriada para o entendimento dos usuários (Sommerville & Sawyer,
que validarão se o software construído está de acordo com os requisitos 1997), mas existem alguns problemas com essa notação, tais como a falta de uma
especificados; semântica precisa que possa ser usada para verificar ou raciocinar sobre as propriedades
6. equipe de garantia da qualidade, que usa o documento como base para do software, além de possibilitar "livre" interpretação (Saiedian, 1997).
verificação e validação; Os métodos formais fornecem uma linguagem formal para descrever um artefato
7. equipe de manutenção do sistema, que mantém e modifica o software após de software de tal forma que provas formais sejam possíveis, em princípio, sobre as
ter sido implantado. Usa o documento de requisitos para entender as propriedades do artefato assim expresso (Vienneau, 1997). No entanto, requerem um
características iniciais do software e os relacionamentos entre suas tempo maior de aprendizado, além de não serem legíveis para usuários não técnicos
diferentes partes. (IEEE, 1998).
Dentro da atividade de documentação, a modelagem - a construção de
De forma geral, os requisitos podem ser descritos em linguagem natural descrições abstratas que possam ser interpretadas de forma correta - é uma atividade
(português, espanhol, inglês, ...), em notações e linguagens semi-formais ou formais ou fundamental. Os modelos podem ser usados para representar uma grande variedade de
qualquer combinação dessas formas (Nuseibeh & Easterbrook, 2000, Pressman, 2000) e produtos gerados durante o processo de engenharia de requisitos. Além disto, muitas
abordagens de modelagem também podem ser usadas como ferramentas de elicitação, à
medida que a notação e os modelos parcialmente produzidos são usados para se obter

Profa. Denise Franzotti Togneri Profa. Denise Franzotti Togneri


5 6

mais informações. Na literatura encontram-se várias propostas para abordagens de of the same modelling techniques for both. Early structured analysis methods
modelagem. Nuseibeh & Easterbrook (2000) propõem algumas categorias para as suggested that one should start by modelling how the work is currently
abordagens da modelagem: carried out (the current physical system), analyse this to determine the
1. Modelagem organizacional: o contexto da maioria das atividades de essential functionality (the current logical system), and finally build of model
engenharia de requisitos e dos sistemas de software é a organização na qual of how the new system ought to operate (the new logical system). Explicitly
o desenvolvimento ocorre ou o software irá operar. A modelagem da constructing all three models may be overkill, but it is nevertheless useful to
organização e sua análise lidam com o entendimento de sua estrutura, as distinguish which of these is being modelled. A wide range of modelling
regras de negócio que afetam sua operação, seus objetivos, atividades e a methods are available, from structured to object-oriented methods, and from
responsabilidade dos membros envolvidos, bem como os dados que geram e soft to formal methods. These methods provide different levels of precision
manipulam. Neste contexto, a modelagem organizacional visa capturar o and are amenable to different kinds of analysis. Formal methods (for
objetivo do sistema descrevendo o comportamento da organização no qual o example, based on Z) can be difficult to construct, but are also amenable to
sistema irá operar. Este comportamento pode ser descrito em termos de automated analysis. On the other hand, soft methods provide rich
objetivos ou metas organizacionais e as atividades e recursos associados. representations that non-technical stakeholders find appealing, but are often
Outros preferem modelar a empresa em termos de regras de negócios, difficult to check automatically.
workflows e os serviços que irá fornecer. Modelar metas e objetivos é 4. Domain Modelling: A significant proportion of the RE process is about
particularmente útil pois as metas de negócios de alto nível podem ser developing domain descriptions. A model of the domain provides an abstract
refinadas como parte do processo de elicitação, levando a requisitos que description of the world in which an envisioned system will operate.
possam ser operacionalizados; Building explicit domain models provides two key advantages: they permit
2. Modelagem de Dados: Large computer-based systems, especially detailed reasoning about (and therefore validation of) what is assumed about
information systems use and generate large volumes of information. This the domain, and they provide opportunities for requirements reuse within a
information needs to be understood, manipulated and managed. Careful domain. Domain-specific models have also been shown to be essential for
decisions need to be made about what information the system will need to building automated tools, because they permit tractable reasoning over a
represent, and how the information held by the system corresponds to the closed world model of the system interacting with its environment;
real world phenomena being represented. Data modeling provides the 5. Modelling Non.Functional Requirements (NFRs): Non-functional
opportunity to address these issues in RE. Traditionally, Entity-Relationship- requirements (also known as quality requirements) are generally more
Attribute (ERA) modelling is used for this type of modelling and analysis. difficult to express in a measurable way, making them more difficult to
However, object-oriented modelling, using class and object hierarchies, are analyse. In particular, NFRs tend to be properties of a system as a whole, and
increasingly supplanting ERA techniques. hence cannot be verified for individual components. Recent work by both
3. Behavioural Modeling: Modelling requirements often involves modelling the researchers and practitioners has investigated how to model NFRs and to
dynamic or functional behaviour of stakeholders and systems, both existing express them in a form that is measurable or testable. There also is a growing
and required. The distinction between modelling an existing system, and body of research concerned with,particular kinds of NFRs, such as safety,
modelling a future system is an important one, and is often blurred by the use security, reliability, and usability.

Profa. Denise Franzotti Togneri Profa. Denise Franzotti Togneri


7 8

6. Analysing Requirements Models: A primary benefit of modelling Sommerville e Sawyer (1997) e Pressman (2001) propuseram algumas
requirements is the opportunity this provides for analysing them. Analysis diretrizes a serem observadas com objetivo de melhorar a estrutura e organização do
techniques that have been investigated in RE include requirements documento de requisitos. Dentre elas, pode-se destacar:
animation, automated reasoning (e.g., analogical and case-based reasoning 1. Definir uma estrutura padrão para o documento: o documento de
and knowledgebased critiquing), consistency checking (e.g., model requisitos deve ter uma estrutura comum, definida como um padrão da
checking), and a variety of techniques for validation and verification (V&V). organização e deve ser verificado como parte do processo de garantia de
qualidade do documento. Sabe-se que a estrutura de uma ERS depende do
Apesar da ERS não ser um documento de projeto, não existe, no entanto, um problema a ser resolvido, dos costumes e práticas da organização, dos
limite muito claro entre a Engenharia de Requisitos e o início da fase de Projeto do processos e do tipo de sistema a ser desenvolvido. Sendo assim, é
Software. Davis (1993) denomina esse problema de dilema "o que versus como". À necessário ter variantes a partir do padrão único que permitam, por
medida que os requisitos vão sendo obtidos na engenharia de requisitos ("o que"), eles exemplo, que algumas seções sejam opcionais;
vão sendo organizados, agrupados e documentados na hierarquia proposta para o 2. Explicar como usar o documento: deve-se incluir na introdução, uma seção
projeto de arquitetura ("como"), de forma a organizar uma estrutura de sub-sistemas explicando como usar o documento relacionando a quem o mesmo se
para o projeto (Davis, 1993, Dorfman, 1997, Sommerville & Sawyer, 1997). destina, que seções são mais apropriadas para cada classe de leitores, a
Não existe um único critério para o agrupamento dos requisitos. Davis (1993) experiência técnica necessária para entender cada seção, ponteiros para
sugere que os requisitos podem ser agrupados por estímulos externos, características, seções de visão geral, que devem ser lidas para adquirir um entendimento
respostas do sistema, mesmos objetos do mundo real, classes de usuários ou classes de geral dos requisitos antes de considerar a especificação detalhada e uma
funções. Em aplicações complexas típicas, a melhor forma de organizar os requisitos é descrição sobre a ordem em que as seções devem ser lidas;
em uma hierarquia de múltiplos níveis, onde cada nível corresponde a um critério de 3. Incluir um sumário de requisitos, contendo o objetivo do sistema e seus
agrupamento. A organização dos requisitos facilita a percepção de pontos omissos e principais requisitos, apresentados em uma lista numerada, uma tabela ou
conflitantes nos requisitos e então um novo ciclo deve ser iniciado. de forma gráfica;
Diferentes organizações produzem tipos diferentes de documento de requisitos, 4. Incluir uma seção explicando por que o sistema é necessário e como irá
com diferentes níveis de abstração. Em alguns casos, o documento de requisitos é uma contribuir para os objetivos gerais de negócio da organização;
descrição bastante pequena e abstrata de um sistema. Em outros casos, é uma 5. Definir termos especializados em um glossário;
especificação bastante detalhada e precisa da funcionalidade do sistema. O nível de 6. Organizar o leiaute do documento para facilitar a leitura;
detalhes do documento de requisitos deve ser decidido caso a caso e depende das 7. Auxiliar os leitores a encontrar a informação, incluindo no documento de
expectativas dos clientes, dos procedimentos da organização, dos padrões ou requisitos recursos tais como listas de conteúdo e índices e organizando os
regulamentos externos que se deve seguir e do tipo de requisito. Existem várias formas requisitos em capítulos, seções e sub-seções identificadas;
de estruturar o documento de requisitos, dependendo do tipo de sistema que está sendo 8. Tornar o documento fácil de alterar.
desenvolvido, do nível de detalhes incluído nos requisitos, das práticas da organização,
do orçamento disponível e do cronograma (Kotonya & Sommerville, 1998).

Profa. Denise Franzotti Togneri Profa. Denise Franzotti Togneri

Você também pode gostar