Summary: | Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-06-14T14:46:42Z
No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
completa.pdf: 3521353 bytes, checksum: 5e3d6b5f886f0a1f26221fd82af32df8 (MD5) === Made available in DSpace on 2016-06-14T14:46:42Z (GMT). No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
completa.pdf: 3521353 bytes, checksum: 5e3d6b5f886f0a1f26221fd82af32df8 (MD5)
Previous issue date: 2010-03-05 === Engenharia de Requisitos (ER) e Projeto de Arquitetura de Software (PAS) são atividades
iniciais de um processo de desenvolvimento de software. Desde que sistemas de software
atuais apresentam uma crescente complexidade, diversidade e longevidade, o
desenvolvimento destes sistemas deve considerar o uso de apropriados métodos e
linguagens de modelagens para ER e PAS. Um grande desafio, neste contexto, é o
desenvolvimento de métodos sistemáticos para projetar arquiteturas que satisfaçam
especificações de requisitos. Além disso, com o uso de processos iterativos e incrementais
de desenvolvimento de software considerados como um padrão de fato, uma forte
integração entre atividades de ER e PAS podem facilitar a rastreabilidade e a propagação de
mudanças entre os modelos produzidos nestas atividades. No entanto, muitos passos para
gerar modelos de arquitetura a partir de modelos de requisitos são feitos por intuição ou
conhecimento na arquitetura. Esta tese apresenta STREAM (Strategy for Transition
between Requirements models and Architectural Models – Estratégia para Transição entre
modelos de requisitos e modelos arquiteturais) que é um processo sistemático baseado em
transformações de modelos para gerar modelos arquiteturais a partir de modelos de
requisitos incluindo regras de transformações horizontais e verticais. As regras horizontais
são aplicadas nos modelos de requisitos resultando em modelos intermediários próximos
de modelos arquiteturais. Transformações verticais mapeam estes modelos intermediários
em modelos arquiteturais. As atividades relacionadas ao projeto arquitetural envolvem
seleção e aplicação de padrões arquiteturais que melhor satisfaçam aos requisitos não
funcionais. Em nosso trabalho, modelos de requisitos são descritos usando i* (iStar), uma
linguagem de modelagem orientada a objetivos definida em termos de atores estratégicos e
dependências sociais entre eles. Enquanto que modelos arquiteturais são descritos usando
linguagem de descrição arquitetural Acme que fornece um framework estrutural simples
para representar arquitetura. Requisitos não funcionais são usados para selecionar entre
soluções arquiteturais e determinar os padrões arquiteturais que são aplicados. Dois casos
de estudos são usados para mostrar a viabilidade da nossa abordagem: sistema de
recomendação Web e um sistema de informação Web. === Requirements engineering (RE) and software architecture design (SAD) are initial activities
of a software development process. Since current software systems present increasing
complexity, diversity and longevity, their development must consider the use of proper
methods and modeling languages both for RE and SAD. A great challenge, in this context,
is the development of systematic methods for designing architectures that satisfy
requirements specifications. Besides, with the widely use of iterative and incremental
software development processes as the de facto standard, a strong integration between RE
and SAD activities can facilitate traceability and the propagation of changes between the
models produced in these activities. However, many steps toward generating architecture
models from requirements models are driven by intuition and architectural knowledge.
This thesis presents STREAM (Strategy for Transition between Requirements models and
Architectural Models) that is a systematic process based on model transformations to
generate architectural models from requirements models and includes horizontal and
vertical transformations rules. The horizontal transformations are applied to the
requirements models resulting in intermediary requirements models closer to architectural
models. Vertical transformations map these intermediary models into architectural models.
The activities related to architectural design involves the selection and application of
architectural patterns that best satisfy non-functional requirements. In our process,
requirements models are described using the i* (iStar), a goal oriented modeling language
defined in terms of strategic actors and social dependencies among them. Whereas
architectural models are described using the Acme ADL which provides a simple structural
framework for representing architectures. Non-functional requirements are used to select
among architectural solutions and determine the architectural patterns that are applied.
Two real case studies are used to show the feasibility of our process: a web-based
recommendation system and a web-based information system.
|