Software architecture based on a quality model to develop service oriented applications - França, Joyce Meire da Silva (2017)
Service-oriented Architecture (SOA) is an architectural paradigm that uses services as fundamental element for development of software applications. SOA has been widely adopted for distributed applications development either in industry and in academic research. Currently, the growing complexity of software requires greater attention about the quality of the produced applications. Software quality assurance becomes increasingly important. Therefore, the focus of this work is to address issues related to quality of service-oriented applications in the early stages of the software development process. This thesis describes from literature a set of design principles to improve quality in SOA. A Systematic Literature Review (SLR) was conducted to analyze design principles applied in SOA design and its influence in application quality. Considering the SOA design principles and the lack of specific quality models for SOA based on ISO standards, a quality model specific for SOA was proposed in this study. The proposed quality model is named Service Oriented Architecture Quality Model (SOAQM) and it was developed with basis on ISO 25010. SOAQM provides a set of quality attributes to evaluate quality in SOA applications. SOAQM was used in this work to guide the development of SOA applications in order to achieve essential quality attributes of a service-oriented system. The use of SOAQM in practice consists of guiding software development in early stages and this approach proposes the definition of Architectural Design Decisions (ADD) with focus on quality. ADD are defined using an approach to achieve essential quality attributes in a health application. The case study presented in this work is an Electronic Health Record (EHR), which has been developed to attend the needs of a public hospital. Development process proposed to EHR includes definition of software architecture through architectural decisions and views and definition of design through principles proposed in literature and a specific modelling language for SOA named SoaML. EHR evaluation was conducted to analyze two important aspects. First evaluation addressed EHR development process that was performed by a set of information technology specialists. Second evaluation was performed to evaluate the tool by users that are health professionals using Technology Acceptance Model (TAM).