CSIE 5905134 Fall 2016

Software Architecture

Announcements (Return to top of page)

General Information (Return to top of page)

Instructor

Dr. Y C Cheng, Professor of CSIE
Class meetings: Wed 5, 6 and Fri 7 @科研大樓 Technology Building 334
Office hours: Wed 3, 4 and Fri 5, 6

Teacher Assistant (TA)

Teddy Lee
Office: 科研大樓 Technology Building 1321
e-mail: teddyprogramming@gmail.com
Phone: extension 4263
Office hours: Wed 7 8

PPT for class use

Reference books

  1. Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, Third Edition, Addison-Wesley, 2012
  2. Problem Frames: Analysing & Structuring Software Development Problems ISBN: 020159627X Michael Jackson Addison-Wesley Professional 2000
  3. (POSA 1) Pattern-Oriented Software Architecture Volume 1: A System of Patterns ISBN: 0471958697 Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal Wiley 1996
  4. Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects ISBN: 0471606952 Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann Wiley 2000
  5. Pattern-Oriented Software Architecture, Volume 4, A Pattern Language for Distributed Computing, Frank Buschmann, Kevin Henney, Douglas C. Schmidt ISBN: 978-0-470-05902-9, Wiley, March 2007
  6. Notes on the Synthesis of Form, Alexander, Christopher. 1964

Course Description

Topics will include:
  1. Software architecture-overview
  2. Client-Server
  3. Model-view-controller
  4. n-Tier design
  5. Peer-to-peer
  6. Pattern-oriented software architecture
  7. Special Topics: pipes and filter

Prerequisites

-

Grading policy

Homework 20%
Term project and presentation 40%
Exams 40%

Schedule (Return to top of page)

Week Course Material Covered Reading/Homework/Test
1 (9/14, 9/16) Software requirements (I)
Note: 9/16 Mid-Autumn Festival
Ryan Singer, “Designing with Forces: How to Apply Christopher Alexander in Everyday Work (post)
Notes on the Synthesis of Form
2 (9/21, 9/23) Software requirements (II) Reading assignment: Michael Jackson;   Problem Frames and Software Engineering; Journal of Information and Software Technology, Volume 47, Number 14, pages 903-912, Elsevier, November 2005.  pdf
Context diagram in class
3 (9/28, 9/30) Software requirements (III) Class note
4 (10/5, 10/7) Software requirements (IV) Homework 1
Reading assignment:
  Problem frames Approach (Wikipedia)
  The Operational Principle and Problem Frames
Class note
5 (10/12, 10/14) Software requirements (V) - non-functional requirements Reading assignment:
  Problem Structure And Dependable Architecture
  Chapter 4: SAIP, 2ed.
Class note
6 (10/19, 10/21) user stories and agile development

Reading assignment:

User Stories and User Story Examples by Mike Cohn

User Stories: An Agile Introduction - Agile Modeling

Notes on the sythesis of form, pp. 39 - 45.
Class note
7 (10/26, 10/28) Scrum
Requirements-Design model Dependency Graph 
Reading assignment:
Scrum primer
Class note
8 (11/2, 11/4) Structure and views
Reading assignment:
Section 2.5, SAIP 2nd ed.
homework 2
9 (11/09, 11/11) Midterm
UML: deployment diagram and component diagram
Patterns and Pattern Languages
Reading assignment:
UML 2 Deployment Diagrams: An Agile Introduction
Patterns and Pattern Languages
10 (11/16, 11/18) Layers architecture  updated Patterns and Pattern Languages
11 (11/23, 11/25) Layers architecture (scenario I, II, and V) example program: Layers
Layers: SyncFree
Reading assignment:
POSA 1:, pp. 29-51
Class note
12 (11/30, 12/2) Exception handling in Layers 
Pipes & Filter
POSA 1, pp. 53-70
Java Exception handling
Exception Handling: An Architecture Model and Utility Support,” Proceedings of the 12th Asia-Pacific Software Engineering Conference, Dec 15-17, 2005, pp. 359-366. (EI, IEL). (PDF)
3 (12/7, 12/9) MVC
POSA 1:, pp. 125-143
14 (12/14, 12/16) ***Class cancelled on 12/16 Homework 3
Class note
15 (12/21, 12/23) Quality attribute Scenarios, Tacitics, and Patterns SAIP Ch.4,5
Pattern: Active object
Class note
16 (12/28, 12/30) Quality attribute Scenarios, Tacitics, and Patterns
Note:12/30 Compensatory Holiday for University Anniversary
SAIP Ch.4,5
17 (1/4, 1/6) ATAM
SAIP Ch 11
Class note
18 (1/11, 1/13) Final

Final Exam 
- Open your own device
- Scope:

POSA 1 - patterns: Layers, Pipes & Filter, MVC, Layers: SyncFree, Patterns and Pattern Languages
SAIP, 2ed.: Chapters 4, 5, and 11.
Paper: Active object
Use related contents in the following slides: ATAMppt for use in class, various class notes

Resource (Return to top of page)

-