Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/48650

TítuloPattern based software development
Autor(es)Couto, Rui Miguel Silva
Orientador(es)Ribeiro, António Nestor
Campos, J. Creissac
Data20-Jun-2017
Resumo(s)Several types of approaches support the software development process. Special interest should be paid to model driven development methodologies, of which Model Driven Architecture (MDA) is a main example. The usage of software models in these methodologies improves the quality of the produced solutions. On the one hand, models are formal artifacts to represent the software to develop. On the other hand, models represented in computable formats are amenable to the application of systematic transformation techniques, in order to produce other models or source code as output. The architectural models used in the MDA are derived from requirement specifications, and are achieved through manual processes. The negative effects of manual transformation steps are well known, since they are susceptible to interpretation errors and subjectivity. Errors resulting from this process are propagated through all of the development process, and reflected in the produced solutions. Since requirement models specify the system to be developed, naturally, they should not be disconnected from the development process itself. Formalizing requirement specifications in computable formats would enable their operationalization. Such would provide the possibility to analyze and manipulate them, and also to perform a requirement patterns inference process. Requirement patterns represent well known solutions for recurring problems, and their nature provides architectural hints. If software patterns can be derived from the requirement patterns, then through the composition of the resulting software patterns, architectural models can be achieved. As a result, requirements models will be better integrated into the MDA chain, thus extending the advantages of the MDA to requirement models, providing a software development process which starts from requirements and through rigorous transformations results in software solutions. This work presents an approach that aims to provide such an integration of requirements models into theMDA. The approach starts with the formalization of software requirements in a controlled natural language. The requirements are then transformed into an intermediary representation (namely, an ontology), with support for information extraction. Such makes it possible to perform requirement pattern inference, in order to understand, at a higher level of abstraction, the features required in the software solution. Associating the requirement patterns with software patterns, makes it possible to instantiate and compose such patterns, in order to produce architectural artifacts as output. The presented approach is supported by a tool, designed to support the several steps of the approach. Furthermore, the tool provides the required automation level to produce the architectural models. Two validation studies and a case study in the eCommerce domain are also presented, in order to illustrate the viability of both the tool and the approach.
Diferentes tipos de abordagens suportam o processo de desenvolvimento de software. Especial interesse deve ser dado às metodologias baseadas em modelos, das quais a Model Driven Architecture (MDA) é um exemplo relevante. O uso de modelos de software nestas metodologias melhora a qualidade das soluções obtidas. Por um lado, os modelos são artefactos formais para representar o software a ser desenvolvido. Por outro lado, os modelos representados em formatos computáveis podem ser manipulados utilizando técnicas de transformação sistemáticas, de modo a obter como resultado outros modelos, ou código fonte. Os modelos arquitecturais usados na MDA derivam das especificações de requisitos, sendo obtidos através de processos manuais. O impacto negativo da aplicação de transformações manuais é bem conhecido, uma vez que estas são suscetíveis a erros de interpretação e subjectividade. Os erros resultantes deste processo são propagados através do processo de desenvolvimento, e reflectem-se nas soluções produzidas. Uma vez que os modelos de requisitos especificam os sistemas a desenvolver, naturalmente, estes não devem estar desligados do processo de desenvolvimento. A formalização dos modelos de requisitos em formatos computáveis possibilitaria a sua operacionalização. Tal forneceria a capacidade de analisar e manipular os modelos, e também suportaria a inferência de padrões de requisitos. Padrões de requisitos representam soluções bem conhecidas, para problemas recorrentes, e a sua natureza fornece indicações arquitecturais. Se for possível obter padrões de software, através de padrões de requisitos, então através de um processo de composição de padrões de software, é possível obter modelos arquitecturais. Como resultado, os padrões de requisitos podem ser integrados na cadeia MDA, estendendo assim as vantagens desse processo aos modelos de requisitos, e obtendo um processo de desenvolvimento que inicia nos requisitos, e fornece transformações rigorosas que levam a soluções de software. Este trabalho apresenta uma abordagem que tem como objectivo fornecer tal integração de modelos de requisitos, na MDA. A abordagem inicia com a formalização de requisitos de software numa linguagem natural controlada. Os requisitos são então transformados numa representação intermedia (nomeadamente, uma ontologia), com suporte para extração de informação. Tal fornece a possibilidade de efetuar inferência de padrões de requisitos, de modo a perceber, a um alto nível de abstração, as funcionalidades necessárias nas soluções de software. Associando os padrões de requisitos com padrões de software, é possível instanciar e compor esses padrões, de modo a obter artefactos arquitecturais. A abordagem apresentada ´e suportada por uma ferramenta, desenhada para suportar os diferentes passos da abordagem. Para além disso, a ferramenta fornece a automação necessária para produzir os modelos arquiteturais. São também apresentados dois estudos de validação e um caso de estudo na área de e-Commerce, de modo a ilustrar a viabilidade da abordagem e da ferramenta.
TipoTese de doutoramento
DescriçãoTese de Doutoramento em Informática
URIhttps://hdl.handle.net/1822/48650
AcessoAcesso aberto
Aparece nas coleções:BUM - Teses de Doutoramento

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Rui Miguel Silva Couto.pdf11,01 MBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID