
![]()
Instructor:
Office: EC
3.204, ECSS, UTD
Office Hours: T 12:30pm--2:00pm; T
4:15pm—5:00pm, or by appointment
Lectures: Time: TuTh
2:00PM-4:15PM, Room: ECSS 2.415
E-mail: chung@utdallas.edu
Phone:
972-883-2178
Web
page: http://www.utdallas.edu/~chung/SA/syllabus.htm
(NOT
Orion!)
TA: Rutvij Mehta (rutvij.mehta@student.utdallas.edu ; office hours: W
2:00-4:00pm; R 2:30-4:30pm; ECS4.609.
Textbook: Lecture Notes
Primary
Reading: Software
Architecture: Perspectives on an Emerging Discipline, Mary Shaw and David
Garlan, Prentice hall
References:
Software Architecture
on Google Scholar:
Software Architecture
in Practice,
L. Bass, P. Clements & R. Kazman, Addison
Wesley
Component-Based
Software Engineering,
Edited by A. W. Brown, IEEE Computer Society
Design Patterns: Elements of Reusable
Object-Oriented Software,
Eric
Gamma, Richard Helm, Ralph Johnson and John Vlissides,
Addison-Wesley
Design Patterns for Object-Oriented
Software Development,
Wolfgang Pree, Addison-Wesley Longman
Seamless Object-Oriented Software Architecture:
Analysis and Design of Reliable Systems,
Kim
Walden & Jean-Marc Nerson, Prentice Hall
Designing Enterprise Applications with the
J2EE Platform, 2/E,
Inderjeet Singh, Beth Stearns,
Mark Johnson, The Enterprise Team, Addison Wesley
& Benjamin Cummings
Understanding CORBA: The Common Object Request Broker Architecture,
Randy
Otte, Paul Patrick and Mark Roy, Prentice Hall
The Essential Client/Server Architecture: Survivor's Guide,
Robert
Orfali, Dan Harkey and Jeri
Edwards, John Wiley & Sons
Network Application Support for Building Open Systems, James Martin
and Joe Leben, Digital Press
Non-Functional Requirements in Software Engineering,
Lawrence
Chung, Brian Nixon, Eric Yu and John Mylopoulos, Kluwer Academic Publishing
The Unified Modeling Language User
Guide, Booch, Rumbaugh, Jacobson, Addison Wesley, 1999
Prerequisites:
CS/SE 3354
Software Engineering or Equivalent
Objectives: Concepts and
methodologies for the systematic analysis, development, evolution, and reuse of
software architectural design. Common software architectural
styles, elements and connectors. Decomposition and
composition of software functionality. Non-functional requirements as
criteria for analyzing trade-offs and selecting among architectural design
alternatives. State of the practice and art.
Computer
Usage:
You can obtain a demo version of Rational Rose from the IBM Rational
web site to run
the program(s) on your home PC. If you
wish, you can use the facilities at UTD too (EC4.408 and EC4.406). The labs at
UTD have PC’s with Rational Rose installed on them. There are several open access labs. You will need to get a user ID for the
lab. The McDermitt
PC lab number is 972-883-2641 and the web site is http://www.utdallas.edu/ir/tcs
Course
Project: The project will be done
as a teamwork. (There will be from 1 to maximum 4
teams in the course). All students in a team will get the same mark for the
work they do unless they unanimously agree (in writing) to an unequal division.
You are to choose your own team members. An orphan will be assigned to a team
by the instructor.
Exams:
There will be two
tests, one in the middle
(test 1) and the other at the end
(test 2) of the course.
Term
Paper: Each
paper can be a survey paper or a new research paper. A new research paper can
be about new ideas, case studies or implementations.
The
topic of the paper should be discussed with the course instructor (during the
instructor’s office hours).
Each interim progress also
needs to be discussed (More details on this later).
Late
work: Any assigned work will have 10 points
deducted for each week passed.
Grading:
|
Project
(2 x 15) |
30 % |
|
Test
1 |
25 % |
|
Test
2 |
40 % |
|
Class
Participation |
5 % |
Important
Dates:
1.
May
24 (Tuesday) - First day of class for this
course
2.
June
2 (Thursday) - Preliminary Project Plan (Team
organization, Team leaders/deliverable, Team web site URL, Tools, etc.)
http://wwwbruegge.informatik.tu-muenchen.de/twiki/bin/view/OOSE/SoftwareProjectManagementPlanTemplate; some samples
3.
June
16 (Thursday) – Interim Project I
(Preliminary definition [PDF])
submission & presentation
4.
June
23 (Thursday) – Test 1
5.
June
30 (Thursday) – Final Project I
submission (and also possibly presentation)
*Devise your own template, but you could consider templates
available on the Internet as a reference
6.
July
14 (Thursday) – Interim project II ([PDF]) submission (and also possibly presentation)
7.
July
21 (Thursday) – Test 2
8.
July
26/July 28 (Tuesday/Thursday) – Final
Project II submission, presentation and demo
(Each team should set up a time with the TA to do a demo).
At the time of the demo, a hardcopy should be submitted, which should include;
1.
Final
project plan
2.
Project
I
3.
Project
II
4.
Any
dependency/traceability between Project I and Project II
all in one document.
1. Presentation slides 1 & 2
! Please email the url to the
instructor where all the files can be found as a single zip file
!
10.
May 24 (Tuesday) – July 26/July 28 (Tuesday/Thursday): communications and revisions of the project
plan
Cheating/Dishonesty:
The University of Texas System Policy on
Academic Honesty (The Regents and Regulations, Part One, Chapter VI, Section 3,
Paragraph 3.22:
Any student who commits an act of
scholastic dishonesty is subject to discipline. Scholastic dishonesty includes
but is not limited to cheating, plagiarism, collusion, the
submission for credit of any work or materials that are attributable in whole
or in part to another person, taking an examination for another, any act
designed to give unfair advantage to a student or the attempt to commit such
acts.
The minimum penalty for academic dishonesty is a failing grade
(zero)
Houses, architectural
blueprints
Introduction to Software Architecture [PostScript] [PDF]
"4 + 1 View of Software Architecture" : p41 - p51
Classical
Module Interconnection Languages [PostScript] [PDF]
Abstract
Data Types [PostScript] [PDF]
Module
Decomposition Issues
Overview [PostScript]
[PDF]
Architectural Alternative I [PostScript] [PDF]
Architectural Alternative II [PostScript] [PDF]
Architectural Alternatives III & IV
[PostScript] [PDF]
Data
Flow [PostScript] [PDF]
Formalization of A Simple Oscilloscope
[PowerPoint]
Repositories
[PostScript] [PDF]
Events (and if time
permits, Process Control) [PostScript] [PDF]
End of the Primary Reading’s Material ![]()
Client
Server [PostScript] [PDF];
Last Two Pages [PostScript] [PDF]
Middleware [PostScript]
[PDF]; - J2EE:
Why, What and How
Patterns
[PostScript] [PDF] ; An Alternate
Other Topics: Service-Oriented Architectures (SOA), 4+1 Views, Domain-Specific Architectures, System Integration,
Architecting Processes
Priorities: Class Discussions, Lecture Notes,
Primary
Other relevant
material:
More on
Component Diagrams & Architectures
Document
Templates – general IEEE
Design Document Example – System
Design; Object Design
Test
Plan Template; Test Case
Specification Template
Course
Project - Part I [PostScript] [PDF]
Sample Deliverable 1 Sample Deliverable 2
Course
Project - Part II [PostScript] [PDF]
Software for Old KWIC Project implementation on J2EE
Platform
Tutorial by Yun on KWIC Project
implementation on J2EE Platform
Course
Project - Part I [PostScript] [PDF]
Sample Deliverable 1 Sample Deliverable 2
Course
Project - Part II [PostScript] [PDF]
Sample Deliverable 1 Sample Deliverable 2
Course
Project - Part III [PostScript] [PDF]
Software for Old KWIC Project implementation on J2EE
Platform
Course
Project - Part III Fall 2001 [PostScript]
[PDF]
Course
Project - Part III OLD [PostScript] [PDF]
Some reference material:
Four
Architectures for the NFR Assistant [PDF]
Int.
Workshop on Architectures for Software Systems [PostScript]
[PDF]
Int.
Conf. on Software Quality [PostScript] [PDF]
OMG-DARPA-MCC
Workshop on Compositional Software Architectures [PostScript]
[PDF]
Software
Architecture --- 1st Working IFIP Conf. on Software Architecture (WICSA1)
[WORD6.0] [XML]
[PDF]
Sample Tests
Sample
Test 1 [PostScript] [PDF]
Sample
Test 2 [PostScript] [PDF]
Sample
Test 3 [PostScript] [PDF]
Sample
Test 4 [PostScript] [PDF]
Sample Test 5 [PDF]
Sample Test 6 [PDF]
Sample
Test with Answers [PostScript] [PDF]
Term Papers - Spring 2005
Current
Semester’s Term Papers
Previous Semesters’ Sample Term Papers
Some Interesting Links:
How to write unmaintainable code
Last updated: January 5, 2005
Job Postings: