Abstract:
RESUMO: A Engenharia de Requisitos (ER) é o processo de definir, documentar e manter requisitos
de softwares, tem como objetivo apoiar a criação e a manutenção do documento de
Especificação de Requisitos de Software (ERS). Esse documento é a base para as demais
atividades de desenvolvimento e sua qualidade é fundamental para o sucesso do projeto.
Ele serve de contrato entre os participantes do desenvolvimento do software e deve ser
produzido de forma que todos os envolvidos no desenvolvimento do sistema possam entendê-lo. Para isso descrições em linguagem natural e modelos de domínio são frequentemente
utilizados. No entanto, o uso de linguagem natural pode dar origem a especificações de
requisitos incompletas, inconsistentes e ambíguas, gerando interpretações equivocadas
sobre os objetivos do sistema, além de impedir suporte computacional em especificações
de requisitos. Nesse contexto, esta Dissertação propõe uma metodologia para auxiliar a
escrita de documentos de requisitos completos, consistentes e não ambíguos, denominada
HELP4
ERS. Para isso, define-se padrões de sentenças que ajudam a expressar requisitos de
sistemas sem os problemas do uso de linguagem natural. A partir desses padrões, são criadas
duas Linguagens Naturais Controladas (LNC) e dois Padrões Linguísticos que apoiam a
verificação de inconsistências e ajudam na identificação automática de elementos de projeto
(casos de uso, atores, classes, atributos, métodos, interfaces de usuário e elementos dessas
interfaces). HELP
4
ERS engloba atividades inerentes às fases de Engenharia de Requisitos,
tais como análise de domínio da aplicação, definição semântica do domínio, escrita dos
requisitos e verificação de inconsistência, além da fase de geração modelos de projeto
(diagrama de classe, diagrama de casos de uso e protótipo de interface). A metodologia é
apoiada pelo protótipo ERS-EDITOR que implementa os Padrões Linguísticos e as LNC’s
e dá suporte automatizado às suas atividades. Em um estudo experimental realizado,
os atributos de qualidades obtidos com o uso de HELP
4
ERS foram superiores àqueles
alcançados sem o uso da metodologia. Porém, o mesmo estudo apresentou um esforço de
tempo 30% maior com o uso da metodologia. ABSTRACT: Requirements Engineering (RE) is the process of defining, documenting and maintaining
software requirements, it aims to support the creation and maintenance of the Software
Requirements Specification document (SRS). That document supports all other develop-ment activities and its quality is fundamental to project success. It serves as a contract
between the of the software development and should be produced so that everyone involved
can understand it. To achieve this, natural language descriptions and domain models are
often used. However, the use of natural language can lead to incomplete, inconsistent, and
ambiguous requirements specifications. This can create misconceptions about the system’s
objectives, and prevents computer support in requirements specifications. In this context,
this Thesis proposes a methodology to assist the writing of complete, consistent, and
unambiguous requirements document, called HELP4ERS. To do this, we define sentence
patterns that help to express system requirements without the problems of using natural
language. From these patterns are created two Controlled Natural Languages (CNL) and
two Language Patterns that support inconsistency check and help in the automatic identi-fication of project elements (use cases, actors, classes, attributes, methods, user interfaces
and elements of these interfaces). HELP
4
ERS includes activities related to the phases of
requirements engineering, such as application domain analysis, semantic domain definition,
written requirements, inconsistency check, and the phase of project templates generation
(class diagram, use case diagram and interface prototype). The methodology is supported
by the ERS-EDITOR prototype that implements the Language Patterns and the LNC’s
and provides automated support to its activities. In an experimental study performed, the
quality attributes obtained using HELP4ERS were superior to those achieved without the
use of the methodology. However, the same study showed a time effort 30% higher using
the methodology.