Integrating Software Architecture-Centric Methods into Object-Oriented Analysis and Design

Stay connected



Share on facebook
Share on twitter
Share on linkedin

CIS Colloquium, Apr 08, 2008, 03:00PM – 04:00PM, TECH Center 111

Integrating Software Architecture-Centric Methods into Object-Oriented Analysis and Design

Raghvinder Sangwan, Penn. State — Great Valley

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. This talk presents an integrated architectural development process that incorporates generalized Object-Oriented Analysis and Design (OOAD) methodologies with the software architecture-centric methods, 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 maximizes the benefits of the respective processes while eliminating their flaws and was applied in an eight university, global development research project with great success. A case study from that experiment will be described to demonstrate the method.

Raghvinder S. Sangwan is an Assistant Professor of Information Science in the Engineering Division at Pennsylvania State University’s Great Valley School of Graduate Professional Studies in Malvern, PA. He joined PSU in 2003 after a 7+ year career in industry, where he worked mostly with large software-intensive systems in the domains of healthcare, automation, transportation and mining. His teaching and research involves analysis, design, and development of software systems, their architecture, and automatic and semi-automatic approaches to assessment of their design and code quality. He has published a number of papers in these areas and is a coauthor of Global Software Development Handbook. He is also a consulting member of the technical staff at Siemens Corporate Research in Princeton, NJ and holds a visiting scientist appointment at the Software Engineering Institute at the Carnegie Mellon University in Pittsburgh, PA. He received a PhD in Computer and Information Sciences from Temple University in Philadelphia, PA in 1997.