Pattern based software development

Detalhes bibliográficos
Autor(a) principal: Couto, Rui Miguel Silva
Data de Publicação: 2017
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/48650
Resumo: Tese de Doutoramento em Informática
id RCAP_778b47d973796e5425bcbfc4c74c4cdd
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/48650
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Pattern based software developmentEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaTese de Doutoramento em InformáticaSeveral 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.Ribeiro, António NestorCampos, J. CreissacUniversidade do MinhoCouto, Rui Miguel Silva2017-06-202017-06-20T00:00:00Zdoctoral thesisinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/48650por101427255info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-05-11T06:16:58Zoai:repositorium.sdum.uminho.pt:1822/48650Portal AgregadorONGhttps://www.rcaap.pt/oai/openairemluisa.alvim@gmail.comopendoar:71602024-05-11T06:16:58Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Pattern based software development
title Pattern based software development
spellingShingle Pattern based software development
Couto, Rui Miguel Silva
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Pattern based software development
title_full Pattern based software development
title_fullStr Pattern based software development
title_full_unstemmed Pattern based software development
title_sort Pattern based software development
author Couto, Rui Miguel Silva
author_facet Couto, Rui Miguel Silva
author_role author
dc.contributor.none.fl_str_mv Ribeiro, António Nestor
Campos, J. Creissac
Universidade do Minho
dc.contributor.author.fl_str_mv Couto, Rui Miguel Silva
dc.subject.por.fl_str_mv Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Tese de Doutoramento em Informática
publishDate 2017
dc.date.none.fl_str_mv 2017-06-20
2017-06-20T00:00:00Z
dc.type.driver.fl_str_mv doctoral thesis
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/48650
url http://hdl.handle.net/1822/48650
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv 101427255
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv mluisa.alvim@gmail.com
_version_ 1817544917818277888