Computer Science and
Software Engineering
CSSE 532 – Software
Architecture
Spring 2007
|
Instructor |
Roshanak
Roshandel |
|
|||
|
|
Office:
Engr 507 |
|
|||
|
|
Phone:
(206) 296-5512 |
|
|||
|
|
Office
Hours: Thursdays 5:00-6:00 pm or by appointment |
|
|||
|
|
|
||||
|
|
|
|
|
||
|
Overview |
Over
the past decade, software architecture has become a critical part of the
development of large and complex software systems, and an important research
area in the software engineering community. Architecture description
languages and formal modeling notations have been proposed to model and
analyze structural and behavioral properties of software systems in terms of
components, connectors, and their interactions. Such a focus on architectural
aspects of the system has shown significant return on investment in terms of
improving the quality of the software system in a cost-effective way. This
course focuses on familiarizing the students with principles of software
architecture, connectors, architectural description languages, architectural
styles, architectural evolution and product-line software architecture,
architectural analysis, and quality issues. We will also discuss
architecture-level activities in the context of the broader software
development life cycle. Moreover,
latest trends in software architecture practice including Service-Oriented
Architectures and Model Driven Architectures will also be covered. |
|
|||
|
|
|
|
|
||
|
Textbook and |
Software Architecture: Foundations,
Theory, and Practice, Supplementary
readings and papers provided throughout the quarter. |
|
|||
|
|
|
|
|
||
|
Grading |
·
Exam
1 20% ·
Exam
2 25% ·
Homework
15% ·
Project 30% ·
Reflections
and Discussion 10% |
|
|||
|
|
|
|
|
||
|
Topics |
·
Principles
of Software Architecture ·
Origin of
Software Architecture ·
Architectural
Building Blocks ·
Modeling
software architectures ·
From
Requirements to Architecture to Implementation ·
Software
Architecture and Dependability ·
Evolution ·
Product
Families ·
Current
Trends |
|
|||
|
|
|
|
|
||
|
Class Format |
You are expected to read assigned materials in advance of the
relevant class (papers and textbook). There will be two exams which test
basic concepts, as well as your ability to apply the material in new
problems. You are encouraged to participate in various class activities, ask
questions, and
discuss and test your ideas. You are also highly encouraged to ask questions
either during office hours or by email. There will a team project as well as
several individual homework assignments. |
|
|||
|
|
|
|
|
||
|
Academic Integrity |
Plagiarism is the unacknowledged use of the work or intellectual
property of other persons, published or unpublished, presented as one’s own
work. All students are expected to work on all individual assignments
independently. Collaboration on individual assignments is considered cheating
and will be penalized accordingly. Other examples of behavior that is not
tolerated in this class include copying all or part of someone else’s work
and submitting it as your own, sharing your assignment solution with other
students in the class, consulting with another student during an exam, and
copying text from published literature without proper attribution. If you
have questions about what is allowed, please discuss it with the instructor.
All students are responsible for reading and following the Seattle University
Academic Honesty Policy. Students who violate University standards of
academic honesty are subject to disciplinary sanctions, including failure in
the course and suspension from the University. |
|
|||
|
|
|
|
|
||
|
Schedule |
This schedule is subject to change. |
|
|
||
|
|
Topics |
Assignments |
|
||
|
|
Week 1 -- 3/29/2007 · Introduction
and Overview ·
Origin of
Software Architecture · Software Architecture in the Context |
Homework 1 assigned.
|
|
||
|
|
Week 2 – 4/5/2007 · Architectural
Building Blocks · Basic
Concepts · Project
Discussion |
Homework 1 due.
F. P. Brooks, Jr. No Silver Bullet: Essence
and Accidents of Software Engineering. IEEE Computer, April 1987. D.
E. Perry and A. L. Wolf. Foundations for the Study of Software
Architectures. ACM SIGSOFT Software Engineering Notes, October
1992 P. Kruchten. Mommy, Where Do Software
Architectures Come from? 1st International Workshop on
Architectures for Software Systems, |
|
||
|
|
Week 3 – 4/12/2007 · Case
studies · Designing
Architectures · Software
Connectors |
Project Proposals due Saturday
4/14/2007 midnight. Textbook:
Chapter 4, 5, 15 R. Kazman. Distributed Flight Simulation: A Challenge for
Software Architecture. Technical Report,
W. Tracz. DSSA (Domain-Specific Software Architecture)
Pedagogical Example. ACM SIGSOFT Software Engineering Notes, July
1995. |
|
||
|
|
Week 4 – 4/19/2007 · The
Architectural Style of the Web · Architectural
Styles · Exam
Review |
Textbook: Chapter 6 Representational
State Transfer (REST) – from |
|
||
|
|
Week 5 – 4/26/2007 · Architecture
Description Languages · Modeling
Software Architectures |
Takehome Exam 1 |
|
||
|
|
Week 6 – 5/3/2007 · UML
and Software Architectures ·
Quality and
Dependability |
Nenad Medvidovic, Eric Dashofy,
and Richard N. Taylor. Moving
Architectural Description from Under the Technology Lamppost. Information
and Software Technology. pp. 12-31. Vol. 49, No. 1, 2007. Dashofy et. al. An
Infrastructure for the Rapid Development of XML-based Architecture
Description Languages. In Proc. of the
24th International Conference on Software Engineering (ICSE2002.) |
|
||
|
|
Week 7 – 5/10/2007 · From
Architecture to Implementation · Middlewares |
Textbook: Chapter 9 Mevdovic N. On the role of middleware in architecture-based software
development. in Proceedings of the 14th
international conference on Software engineering and knowledge engineering W. Emmerich
et al., The Impact of Research on Middleware Technologies, Software
Engineering Notes, v. 32, N. 1, January 2007. |
|
||
|
|
Week 8 – 5/17/2007 · Evolution
and Product Families · Domain
Specific Software Architecture |
Progress Report Due Textbook: Chapter 15 S. A. Hendrickson, A. van der
Hoek, Modeling Product Line Architectures
through Change Sets and Relationships. In Proc. of the 29th
International Conference on Software Engineering (ICSE 2007). |
|
||
|
|
Week 9 – 5/24/2007 · Guest Speaker
(Alan Robins – Amazon) · Off the Shelf Components · Service Oriented
Architectures · People, Roles,
Teams |
Textbook: Chapter 17 D. Garlan et al. Architectural Mismatch: Why Reuse Is so
Hard. IEEE Software, November 1995. |
|
||
|
|
Week 10 – 5/31/2007 · Team
Presentations · Exam
Review |
|
|
||
|
|
Final Exam Final Report and Deliverables |
Thursday June 7, 6:00pm Saturday June 9, midnight |
|
||
|
Updated May 23, 2007 |
|
|
|
||