CSE 7319

Software Architecture & Design

Fall 2009 - Lockheed Martin

Class Time: 10/17, 10/31, 11/14, 11/21 , 12/12, 8:00am-5:00pm
Location: Lockheed Martin Recreational Center

Instructor: Dr. LiGuo Huang
Office Phone: (214) 768-3709
Office Hours: By Appointment
Email: lghuang@engr.smu.edu

Grader: Alex Bai     

Email: bxu@engr.smu.edu

 

 
Announcements
Course Information
Course Objectives As the size of software system increases, the algorithm and data structures of the computation no longer constitute the major design problems. When systems are constructed from many components, the organization of the overall system -- the software architecture -- presents a new set of design problems. Software architecture has become an area of intense research in the software engineering community. A number of architecture modeling notations and support tools, as well as new architectural styles, have emerged. The focus of architecture-based software development is shifted from lines-of-code to coarser-grained building blocks and their overall interconnection structure. Explicit focus on architecture has shown tremendous potential to improve the current state-of-the-art in software development and alleviate many of its problems. This course assumes that you have a good background in software technology such as data structures, algorithms and programming languages (Java, C++, C#, etc.), and concentrates on the software architecture and design issues. CSE5319/7319 will be organized as a research seminar, with active student participation. This course attempts to enhance the advanced research component in the SMU's software engineering program. It is particularly suited for students interested in pursuing a Ph.D. degree or Doctor of Engineering in software engineering, and for MS/SE students who want to get a firsthand knowledge about the software architecture research affecting their field of study. It comprises the core curriculum of SMU Master of Science majoring in Software Engineering.

 

Course Topics The course covers the following topics on software architecture and design:
  • The critical concepts of software architecture (design patterns and architectural styles, components, connectors)
  • The nuts and bolts of applying the concepts (modeling and notations, visualization, analysis, implementation, deployment)
  • Special topics on software architecture
Textbooks and References
 
  • Required: Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy, Software Architecture: Foundations, Theory, and Practice. Jan. 2009. ISBN: 978-0-470-16774-8. (SAFTP)
  • Reference: Mary Shaw and David Garlan, Software Architecture: Perspectives on an Emerging Discipline, 1st edition Prentice Hall, 1996
Course Schedule & Lecture Notes

 Date

Lecture Topics

Lecture Notes

Readings

Assignments Due

10/17

The Big Idea;

Architectures in Context: The Reorientation of Software Engineering;

Basic Concepts

 

Course Overview

Slides1

Slides2

Slides3

 

SAFTP Ch 1-3

Questionnaire (1)
 

10/31
 

Designing Architectures;

Architectural Styles

 

Slides4

Slides5

 

SAFTP Ch 4 (till 4.3.4)

Homework 1  (Problem 3 test file)

11/14
 

Midterm 1;

Styles and Greenfield Design;

Software Connectors;

Choosing Connectors

Slides6

Slides7

Slides8

SAFTP Ch 4(4.3.5), Ch5 Project Proposal Due

11/21
 

      Homework 2    (C4 Reading)

12/12
 

Midterm 2;

Term Project Presentations and Demos

 

 

  Project Final Deliverables Due

 

Grading

Homework (30%), Term Project Proposal (5%), Term Project Presentation and Demo (20%), Midterm 1 (20%), Midterm 2 (25%)

Homework Assignment

Homework assignments will be posted on the course webpage.

Submission: Please put your Name, SMU ID, Email Address on your title page.

Homework is due during class on the due date, unless otherwise noted.

Late homework will receive a 25% penalty per day. In case of emergencies, please talk to me to make special arrangements. If you will be out of town for a non-emergency (e.g., an interview), you should turn in the assignment early, rather than late, to avoid a penalty.

Term Project

Project Proposal Guideline

Project Presentation & Demo Guideline

Exams

The exam will test knowledge and skills developed in lectures, and assignments. The exam will stress deep understanding of the concepts involved rather than superficial aspects of programming.

Midterm 1:

Midterm 2:

Policies
Last Updated: Nov. 13, 2009