Integrating architecture description languages with a standard design method
Proceedings of the 20th international conference on Software engineering
The Rational Unified Process: an introduction
The Rational Unified Process: an introduction
The unified software development process
The unified software development process
Applied software architecture
UML components: a simple process for specifying component-based software
UML components: a simple process for specifying component-based software
Writing Effective Use Cases
Software Architecture in Practice
Software Architecture in Practice
The Difference between Marketecture and Tarchitecture
IEEE Software
Requirements Engineering: The State of the Practice
IEEE Software
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)
Generalizing a Model of Software Architecture Design from Five Industrial Approaches
WICSA '05 Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture
Siemens Global Studio Project: Experiences Adopting an Integrated GSD Infrastructure
ICGSE '06 Proceedings of the IEEE international conference on Global Software Engineering
Modeling Architectural Non Functional Requirements: From Use Case to Control Case
ICEBE '06 Proceedings of the IEEE International Conference on e-Business Engineering
Object-Oriented and Classical Software Engineering
Object-Oriented and Classical Software Engineering
A Framework for the Integration of Functional and Non-functional Analysis of Software Architectures
Electronic Notes in Theoretical Computer Science (ENTCS)
Architecture leadership and management in globally distributed software development
Proceedings of the first international workshop on Leadership and management in software architecture
Representativeness models of systems: smart grid example
Innovations in Systems and Software Engineering
Reusing design experiences to materialize software architectures into object-oriented designs
Information Sciences: an International Journal
Hi-index | 0.00 |
The choice of methodology for the development of the architecture for software systems has a direct effect on the suitability of that architecture. If the development process is driven by the user's functional requirements, we would expect the architecture to appropriately reflect those requirements. We would also expect other aspects not captured in the functional specification to be absent from the architecture. The same phenomenon is true in development approaches that stress the importance of systemic quality attributes or other non-functional requirements; those requirements are prominent in the resulting architecture, while other requirement types not stressed by the approach are absent. In other words, the final architecture reflects the focus of the development approach. An ideal approach, therefore, is one that incorporates all goals, expectations, and requirements: both business and technical. To accomplish this we have incorporated, into a single architectural development process, generalized Object-Oriented Analysis and Design (OOAD) methodologies with the software architecture-centric method, the Quality Attribute Workshop (QAW) and Attribute Driven Design (ADD). OOAD, while relatively intuitive, focuses heavily on functional requirements and has the benefit of semantic closeness to the problem domain making it an intuitive process with comprehendible results. Architecture-centric approaches, on the other hand, provide explicit and methodical guidance to an architect in creating systems with desirable qualities and goals. They provide minimal guidance in determining fine-grained architecture, however. The integrated approach described in this paper maximizes the benefits of the respective processes while eliminating their flaws and was applied in a eight university, global development research project with great success. A case study from that experiment is included here to demonstrate the method.