Computer Science 684 Course Page 
Software Architecture and Design
Instructor: Bob Lingard

o   Software Architecture by Nick V. Scherbakov  (ppt file)

o   The Architecture Business Cycle (ppt file)

o   What Is a Software Architecture? (ppt file)

o   Quality Models and Quality Attributes (ppt file)

o   Understanding Quality Attributes (ppt file)

o   Achieving Qualities (ppt file)

o   Complexity and Modularity (ppt file)

·       Using Dependency Models to Manage Complex Software Architecture by Sangal, Jordan, Sinha and Jackson

·       An Introduction to Modeling and Analyzing Complex Product Development Processes Using the Design Structure Matrix (DSM) Method by Yassine

·       Design Structure Matrix – DSM

·       DSMweb.org

o   Designing the Architecture (ppt file)

o   Architectural Styles – Part 1 (courtesy of Eric Wohlstadter. University of British Columbia)

o   Architectural Styles – Part 2 (courtesy of Eric Wohlstadter. University of British Columbia)

o   Applying Architectural Styles and Patterns (ppt file)

o   Architectural Design (Sommerville)

o   Documenting Software Architectures (ppt file)

o   Creating Architectural Descriptions (ppt file)

o   Paper Review Assignment #1 – Due: 1/31/2012

o   Paper Review Assignment #2 – Due: 2/7/2012

o   Group Assignment #1 – Due: 3/1/2012 – Note Revised Due Date Again

o   Individual Assignment #3 – Due 3/8/2012 -- Note Revised Due Date

o   Group Assignment #2 – Due: 4/17/2012 – Note Revised Due Date

o   Presentation Assignment – Due: 5/10/2012

·       Presentation Schedule

·       Presentation Evaluation Form

o   Group Assignment #3 – Due: 5/10/2012

·       Documenting a Software Architecture

·       The “4+1” View Model of Software Architecture

o   Take Home MidTerm Exam: Due 3/27/2012

·       Questions and Answers:

1.     In question 4, do we need to write scenarios for quality requirements that are missing from SOLAR?

Answer: You may develop scenarios for either quality requirements that are present in SOLAR or those that should be there but are absent.

2.     In question 1, do you want us to give examples of systems or examples of architecture that will affect business goals?

Answer: The claim is that there is something about an architecture that can influence the business goals of an organization.  Think about the business goals an organization might set for itself and how a particular architecture might cause an organization to set goals differently, or change exiting goals because of something about the architecture.  Then give one or more examples of architectures that might influence the business goals and describe how the goals would be influenced.

o   Final Exam: Tuesday, May 15, 5:30 – 7:30 pm

·       Review Guide

·       Questions and Answers:

1.     In class you had said that we only need to cover the information from our textbook.  Does that mean that the following topics will not be on the final?

·       Using Dependency Models to Manage Complex Software Architecture by Sangal, Jordan, Sinha and Jackson

·       Architectural Styles – Part 1 (courtesy of Eric Wohlstadter. University of British Columbia)

·       Architectural Styles – Part 2 (courtesy of Eric Wohlstadter. University of British Columbia)

·       Applying Architectural Styles and Patterns (ppt file)

·       Architectural Design (Sommerville)

·       Creating Architectural Descriptions (ppt file)

Answer:  I may not have stated it clearly in class, but what I meant to say was that the terms used and approaches toward software architecture are not universally accepted or agreed upon.  Our textbook represents the opinions of one set of people in the field (opinions that I largely agree with), but others in the field have somewhat different views and use different terminology.  As far as the final exam is concerned, it is sufficient if you are familiar with the terms and concepts of Software Architecture as presented by the authors of our textbook.  Some of the additional material I provided and lectured on, like the sources you listed, was given to help in understanding the concepts we were covering by discussing alternate viewpoints.  On the final you will not be required to answer questions about these differences of opinion (e.g., the different architectural styles or the categorization of them by different authors).  However, there were some topics not covered, or not covered in depth, by the authors of our textbook that you should be familiar with.  Those are, in particular, the concept of the Design Structure Matrix and the IEEE 1471 standard for describing software architectures.  You DO need to understand the DSM approach toward architectural design and how it is different from the ADD approach explained in our textbook, as well as the fundamental ideas described in IEEE 1471.

2.     In the Review Guide, for the question, “Aside from creating the architecture itself, describe one other architectural activity” is an architectural activity the same as the role of the architect as in Kevin’s presentation?

Answer: An architectural activity is any activity that is part of the process of architecting a system.  So, basically you are correct, Kevin's presentation talked about all the things a software architect does.  Each one of these is an architectural activity, however, in the paper Kevin described, the role of the architect was greatly expanded.  Try to answer this question with activities that are most closely tied to creating the architecture.

3.     I don’t understand what is meant by the term “primary presentation”.   Is it the main diagram for the view?

Answer:  It is explained in the chapter of our textbook on documenting architectures.  It is the main way a view is shown. It's usually a diagram of some sort. 

4.     I have checked the links on your website but they don’t give definitions of system, stakeholder, and the like. How should I answer on the questions under IEEE 1471 on the review guide you provided on your site?

Answer: The PowerPoint slides on the course Web page under the title "Creating Architectural Descriptions" should provide all the information you need for the final.

 

                                                                


Updated: May 15, 2012