s19 Architecture
s19 Architecture
Course Syllabus
Architectures for Software Systems Spring 2019 (17-655 and 17-755)
Course Objectives: Architectures for Software Systems aims to teach you how to
design, understand, and evaluate systems at an architectural level of abstraction. By the
end of the course you will be able to:
Course Organization:
Lectures: There will be two lectures weekly. Attendance at lectures is mandatory.
Recitations: To help you master key techniques and tools, provide guidance for
assignments, and review the results of assignments, we will hold several
recitations. Recitations will be held on Fridays. For some recitations, the class will be
divided into smaller groups.
Computing: A personal computer or laptop is required for this course. For the course
assignments we will be using the Java programming language. You will need to
download and install the Java Software Development Kit (the latest version of
J2SE). You may use any editor or development environment that you like, however,
each of the assignments requiring coding can be completed with a simple text editor
and command line prompt.
Course Meetings:
Class: Monday/Wednesday, 1:30PM - 2:50PM
Recitation: Fridays, 12:00PM – 1:20PM
Classroom: 300 South Craig Street, Room 265
Instructors:
David Garlan
[email protected]
WeH 4218
412-268-5056
Office hours by appointment
Assistant: Margaret Weigand ([email protected])
Matthew Bass
[email protected]
300 SCR, Room 267
412-268-6163
Office hours by appointment
Teaching Assistants:
Sujata Telang
[email protected]
300 SCR, Room 273
412-268-4644
Office hours: Fri 1:30-2:30pm
Cody Kinneer
[email protected]
Office hours: Wed 3-4pm
CJ Zhang
[email protected]
Office hours: Mon 3-4pm
Grading Policies:
Required Texts:
Schedule
Mon
Architectures
1 Jan Overview Course Introduction
14
Fri
Jan No Recitation
18
Mon
No Class Martin Luther
Jan
King Day
20
Wed
Architecture and
3 Jan A1 Assigned ! BCK ch 4
Lifecycles
23
Fri
R1 Jan Architecture Drivers Quiz
25
! Lecture 4 - Exercise
Mon
Documenting
4 Jan ! C+11 Prolog
Architecture
28
! C+11 ch 9
Wed
Quality Performance and
5 Jan ! BCK ch 8
Attributes Performance Tactics
30
Fri
R2 Feb Architectural Drivers Quiz
1
Mon
Modifiability and
6 Feb A1 Due ! BCK ch 7
Modifiability Tactics
4
Wed
Availability and
7 Feb A2 Assigned ! BCK ch 5
Availability Tactics
6
Fri
R3 Feb Quiz ! ABC Mobile Security
8
Mon Extensibility/Scalability ! GGL03
8 Feb and associated Tactics
11 ! Ham07
Wed ! BCK ch 9
Security and Security
9 Feb
Tactics ! Saltzer et al.
13
Fri
R4 Feb Quiz
15
Wed
11 Feb Event Systems ! Hoh06
20
Fri
R5 Feb Quiz
22
Fri
R6 Mar Quiz
1
! Bak14
Mon
14 Mar Middleware ! https://www.computerworld
4 things/the-necessary-evil-enterp
middleware.html (Links to an ex
! Bur11b
Wed
15 Mar Data Centric Systems ! Cor12
6
! Nak08
Fri No Recitation
R7 Mar Mid-
7 Semester Break
Mon
Mar
11
Spring Break
Wed
Mar
13
Mon ! GLT03
Embedded and Cyber
16 Mar
Physical Systems ! Lee06
18
Wed
Architecture to Architecture Design In
17 Mar ! ASIS Chap 5
Implementation A Project Environment
20
Fri
R8 Mar Quiz ! SJH15
22
Mon
Architecture Design In
18 Mar ! Cli96
An Agile Environment
25
Wed
Implementing An
19 Mar A3 Due ! SJH15
Architecture
27
Quiz
Fri
R9 Initial
Mar
Deliverable for
29
Final Project
Wed
Development
21 Apr ! IEEE Column
Operations
3
Fri
R10 Apr Quiz
5
Wed
Architecture
23 Apr
Evaluation
10
Fri
R11 Apr Quiz
12
Mon ! ASIS08 ch 7
24 Apr TBD
15 ! Lat12
Wed
Emerging
25 Apr Microservices ! J+18
Topics
17
Fri Quiz
R12 Apr Final Project
19 Check in
! GS06
Mon
Formal Methods and
26 Apr A4 Due ! SG03
Architecture
22
! Optional: http://www.cs.cm
! BCK13 Ch 25
Wed
Architecture Reuse
27 Apr ! Bos09
and Product Lines
24
! GAO95
Fri
R13 Apr Quiz
26
! https://livebook.manning.c
systems/chapter-1/v-11/1 (Links
site.
Mon ! https://keon.io/deep-q-lear
Machine Learning for an external site.
28 Apr
the Software Architect ! Optional: https://becoming
29
dqn-df57e8ff3b26 (Links to an e
! GS07
Wed ! GCSS04
29 May Future Directions
1 ! Skim SG03
! Optional: Gar14
Mon
Final Project
30 May Finals Day 1
Due
6
Wed
31 May Finals Day 2
8
References
The Pros and Cons of Adopting and Applying Design Patterns in the
Cli96
Real World. Marshal Cline. 1996
Architectural Mismatch or, Why it’s hard to build systems out of existing
GAO95
parts. Garlan, Allen, Ockerbloom.
Software Architecture: A Travelogue. David Garlan, ACM978-1-4503-
Gar14
2865-4/14/05.
https://docs.microsoft.com/en-us/previous-versions/msp-n-
MS N-Tiered
p/ee658117(v=pandp.10)#NTier3TierStyle