A qualidade da arquitetura de software pode impactar diretamente a satisfação do usuário, uma vez que define se os atributos de qualidade serão atingidos, principalmente os requisitos não funcionais. Apesar disso, os conceitos de qualidade de arquitetura de software não são tratados com a devida importância pelos currículos dos cursos de graduação e pós-graduação dos cursos de Computação. A ausência de conhecimento sobre qualidade de arquitetura de software, dos trade-offs entre atributos de qualidade e de como medir esses atributos durante o ciclo de desenvolvimento de software faz com que egressos dos cursos de Computação somente aprendam que os atributos de qualidade de arquitetura são fatores crucias para o sucesso de um projeto da pior forma possível, ou seja, após muitos projetos fracassados em sua vida profissional, colocando em risco toda sua trajetória de carreira. Este trabalho de pesquisa propõe um método experimental (roteiro) para o ensino de qualidade de arquitetura de software guiado por atributos de qualidade, principalmente requisitos não funcionais, utilizando uma abordagem prática, iterativa e dirigida pelo processo de negócio com o objetivo de auxiliar no processo de aprendizagem da importância dos atributos de qualidade de arquitetura de software e medição desses atributos durante todo o ciclo de vida de um sistema. Para a elaboração do roteiro de ensino proposto foram utilizadas normas relacionadas à qualidade do produto e do processo de software, modelos de referência para sistemas de processamento distribuído, métodos de avaliação de arquiteturas de software e teorias pedagógicas relacionadas ao processo de ensino/aprendizagem. Para avaliação do roteiro de ensino proposto, o mesmo foi aplicado em disciplinas de graduação e pós-graduação em Engenharia de Computação, mais especificamente em disciplinas da área de Engenharia de Software. / The software architecture quality directly affects user satisfaction, since it defines if quality criteria will be achieved, especially regarding the non-functional requirements. However, software architecture quality concepts are not handled with due importance by undergraduate and graduate computer curricula. The lack of knowledge about software architecture quality, quality attribute trade-offs and how to measure these attributes during the software development cycle makes computer graduates/engineers only learn that software architecture quality is a key to a successful project in the worst way possible, i.e., after many failed projects in their professional lives, jeopardizing their entire career trajectory. This research proposes a experimental method (roadmap) for teaching software architecture quality guided by quality attributes, primarily by non-functional requirements, using an iterative and practical approach, driven by business process. This will help to teach the importance of software architecture quality and of measuring these attributes throughout the system life cycle. For developing the proposed roadmap, standards related to software product and process quality, reference models for distributed processing systems, methods for software architectures evaluation and pedagogical theories related to the learning process were used. To evaluate the proposed roadmap, it was applied in undergraduate and graduate Computer Engineering courses, specifically in Software Engineering disciplines.
Identifer | oai:union.ndltd.org:IBICT/oai:teses.usp.br:tde-19072016-121434 |
Date | 19 August 2015 |
Creators | Renato Manzan de Andrade |
Contributors | Paulo Sergio Cugnasca, Valter Fernandes Avelino, Jorge Luis Risco Becerra, Selma Shin Shimizu Melnikoff, Carlos Eduardo de Barros Paes |
Publisher | Universidade de São Paulo, Engenharia Elétrica, USP, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis |
Source | reponame:Biblioteca Digital de Teses e Dissertações da USP, instname:Universidade de São Paulo, instacron:USP |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0017 seconds