Updated 10/19/2009

CSSE 532

Software Architecture

Fall 2009

Location: Engr 305

Time: Thursdays 6:00-8:40 pm

 

Instructor

R.  Roshandel, Ph.D.

Office: Engr 507

Phone: (206) 296-5512

Office Hours: Thursdays 5:00-6:00 pm or by appointment

roshanak@seattleu.edu

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.

The topics covered in the class include:

-          Fundamentals of software architecture and architecture-centric software development, architectural building blocks, and architectural styles;

-          Architectural modeling and analysis, evolution of software architecture, product-line software architecture, and domain specific software architecture;

-          Quality and non-functional properties

Course Objectives:

-          Understand what software architecture is (and what it is not) and understand the relationship to other artifacts in the SDLC

-          Understand basic terminology and common tools in architectural modeling, analysis and evolution

-          Ability to evaluate different architectural alternatives from a variety of functional and non-functional perspectives

-          Understand the role of software architects in a software development project

 Textbook and Readings                                                        

·      Required Book

·         Software Architecture: Foundations, Theory, and Practice, Taylor, Medvidovic, Dashofy, John Wiley & Sons, 2009, ISBN-10: 0470167742, ISBN-13: 978-0470167748

·      Other readings

·         Handouts and assigned articles

·         Software Architecture in Practice, Len Bass, Paul Clements, Rick Kaman, Second Edition, Addison Wesley, 2003.

 Academic Service Learning

Academic service learning is defined for this course as a credit-bearing educational experience in which students participate in an organized service activity that meets identified community needs and reflect critically on the service activity in such a way as to gain further understanding of the course content and a broader appreciation of the discipline while enhancing their personal development and commitment to social justice.

Software engineering encompasses a disciplined approach to planning, design, development and maintenance of large and complex software systems. In an academic program, the concern is to ensure that students learn about the fundamental concepts that would enable them to apply these approaches and associated best practices to software systems. Getting hands on experience on actual software systems (instead of toy case studies) enable the abstract concepts to become concrete.  Through the Academic Service Learning projects, students will be able to focus on learning the course material in the context of a real world project, reflect on their learning, open avenues for discussion, and help a local non-profit organization in their software needs. We take a project-based approach to service learning which enables the students to work on various aspects of the service learning project throughout the quarter. The project enables the students to understand and master the course objectives.



Grading

Exams

 

·         Midterm

·         Final Exam

20%
20%

Assignments

·         3-5 Individual assignments throughout the quarter


20%

Team Project

·         ASL – High level architecture

·         ASL – Quality Assessment

·         ASL – Detailed Modeling and Analysis

·         ASL – Final Package and Presentation

 

30%

Class discussion and attendance

10%

 Class Format

You are expected to read each week’s articles in advance of the relevant class and skim through the assigned book chapter.  For those weeks that you are assigned an article, you should reflect on the content of the paper and its relations to the course’s overall content and submit a question, comments, or discussion points by midnight on Tuesday before the class.  We will spend 15-20 minutes of the class time going over some of the questions and comments. You are also expected and encouraged to participate in class activities and discussion, ask questions, discuss and test your ideas. A midterm exam will test basic concepts as well as your ability to apply the material in new problems. The final exam will cover both concepts and open ended problems which require you to apply your architectural knowledge to solve design problems.

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.

 

The following detailed schedule is tentative and subject to change.

Week

Topic

Readings

Assignments and Exams

1

9/24/09

Course Introduction

Overview & Basic Concepts

Taylor 1

 

HW 1 assigned

2

10/1/09

Architecture in the Context

Project Discussion

 

Taylor 2

 

Matthew R. McBride, The Software Architect, Communications of the ACM, Volume 50 ,  Issue 5 (May 2007).

 

P. Kruchten. Mommy, Where Do Software Architectures Come from? 1st International Workshop on Architectures for Software Systems, Seattle, WA, April 1995.

 

 

 

 

HW1 due

3

10/8/09

 Basic Concepts

 

Prepare for the interview

Taylor 3

 

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.)

HW2 assigned

4

10/15/09

Basic Concepts

Interview: Community Partner

 

 

Taylor 3

 

 

P. Kruchten. Architectural Blueprints—The “4+1” View Model of Software Architecture, IEEE Software 12 (6), November 1995, pp. 42-50.

HW2 due

5

10/22/09

 Designing Architectures,

Taylor 4

 

Malek et. al. "Providing Middleware-Level Facilities to Support Architecture-Based Development of Software Systems in Pervasive Environments." In proceedings of the 4th International Workshop on Middleware for Pervasive and Ad-Hoc Computing (MPAC 2006), Melbourne, Australia, November 2006.

HW3 assigned

6

10/29/09

Connectors, Modeling

Taylor 5,6

 

Midterm Exam

 

7

11/5/09

Implementation Deployment

Taylor 9,10

 TBD

 HW3 due

Project Assignment due (Sunday 11/8/09 midnight)

8

11/12/09

Analysis,

Non-functional Properties

Quality and Dependability

Taylor 8,12

 

Cooray D., Kilgor D., Roshandel R. Malek S., RESISTing Reliability Degradation through Proactive Reconfiguration, (under review)

HW 4 assigned

9

11/19/09

Evolution and Product Families,

Domain Specific Software Engineering

 

 

Standards

Peoples, Roles, Teams

Taylor 15,16,17

 

 

 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).

HW4 due

 

10

11/26/09

Happy Thanksgiving!

 

11

12/3/09

Take-home Final Exam

Final Exam Week

12/10/09

 

Project Presentations

 

This is a personal WEB site developed and maintained by an individual and not by Seattle University. The content and link(s) provided on this site do not represent or reflect the view(s) of Seattle University. The individual who authored this site is solely responsible for the site's content. This site and its author are subject to applicable University policies including the Computer Acceptable Use Policy (www.seattleu.edu/policies).