CSSE 532

Software Architecture

Fall 2008

Location: Engr 307

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 (Currently under print – provided as course pack)

·      Other readings

·         Selection of assigned papers (see the detailed schedule)

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

 

Definition of 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.

Rationale for Academic Service Learning

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.

Childhaven

The service learning project this year focuses on addressing the needs for a local non-profit organization – Childhaven. Childhaven was established in 1909 by the Reverend Mark Matthews as the Seattle Day Nursery, one of the first 50 child care centers in the country. Today their mission is to prevent and stop the cycle of abuse and neglect through scientifically supported programs that protect and treat children ages one month through five years and their families. We will learn more about our specific project on 10/2/2008.  http://www.childhaven.org/new/index.php

 

 



Grading

Exams

 

·         Midterm

30%

Assignments

·         Assignment 1
Basic Concepts

·         Assignment 2

Childhaven – High level architecture

·         Assignment 3
Childhaven – Quality Assessment

·         Assignment 4
Childhaven – Detailed Modeling and Analysis using ArchStudio 4


5%


10%


10%


10%

 

Project

·         Project Proposal

·         Project Progress Report

·         Project Presentation

 

5%
5%
20%

 

Class discussion and attendance

5%

Class Format

You are expected to read assigned materials in advance of the relevant class (papers and textbook). You will need to submit 2 questions and/or comments related to the papers and articles by 10:00pm on Tuesday before the class.  There will be a midterm exam which tests 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, discuss and test your ideas. We will hold a 15-30 min discussion on the papers each week in class and you will receive class participation credit for participating.

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.


 

Week

Topic

Readings

Assignments and Exams

1

9/25/08

Course Introduction

Overview & Basic Concepts

Taylor 1

 

 

HW 1 assigned

2

10/2/08

Meeting with ChildHaven Representative

 

Project Discussion

 

 

 

 

 

Taylor 2,3

 

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

 

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

 

 

 

 

 

 

HW1 due

3

10/9/08

 

Basic Concepts

 

 

Taylor 4

 

R. T. Fielding and R. N. Taylor. Principled Design of the Modern Web Architecture. 22nd International Conference on Software Engineering (ICSE 2000), Limerick, Ireland, June 2000.

 

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

 

Project Proposals due

 

 

4

10/16/08

Designing Architectures,

 

 

Taylor 5, 6

 

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

 

 

HW2 assigned

5

10/23/08*

Connectors

 

 

Taylor 9

 

 

HW2 due  (Sunday  10/26 at 11:59pm)

 

Midterm Exam

6

10/30/08

Guest Lecture

Dr. P. Oreizy

 

 Modeling

 

 

 

Open Architecture Software

 

 

Taylor 8, 10

 

N. Medvidovic et. Al. Engineering Heterogeneous Robotic Systems: A Software Architecture-Based Approach, submitted to Robotics and Automation Magazine (Special issue on software engineering for robotics).

 

 

7

11/6/08*

Implementation Deployment

 

Analysis,

Non-functional Properties

Quality and Dependability

 

Taylor 12, 15

 

R. Roshandel, N. Medvidovic, L. Golubchik, A Bayesian Model for Predicting Reliability of Software Systems at the Architectural Level, in proceedings of  3rd International Conference on Quality of Software Architectures (QoSA 2007), Boston, MA, July 2007

Project Progress Reports due

 

HW3 assigned

 

8

11/13/08

Evolution and Product Families,

Domain Specific Software Engineering

 

Taylor 14

 

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 assigned

 

9

11/20/08*

Standards

Peoples, Roles, Teams

Taylor 16,17

 

 

 

HW3 due

10

11/27/08

Happy Thanksgiving!

MCj04136860000[1]

 

11

12/4/08

Project Presentations                  

HW 4 due

 

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