Publicação
Pattern based software development
| Resumo: | 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. |
|---|---|
| Autores principais: | Couto, Rui Miguel Silva |
| Assunto: | Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| Ano: | 2017 |
| País: | Portugal |
| Tipo de documento: | tese de doutoramento |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade do Minho |
| Idioma: | português |
| Origem: | RepositóriUM - Universidade do Minho |
| Resumo: | 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. |
|---|