Office: EC 3.204, ECSS, UTD
Office Hours: T 2:15pm--3:45pm; or by appointment
Lectures: Time: TuTh 1:00PM-2:15PM, Room: FN 2.104 (old: ECSS 2.306)
Web page: http://www.utdallas.edu/~chung/SA/syllabus.htm (NOT Prometheus/Orion/eLearning/...!)
TA: Grace Park (firstname.lastname@example.org ; Office: ; Office Hours: TBA, ECSS 3.415)
Textbook: Lecture Notes
Primary Reading: Software Architecture: Perspectives on an Emerging Discipline, Mary Shaw and David Garlan, Prentice hall
Software Architecture on Google Scholar:
Documenting Software Architectures: Views and Beyond, P. Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, R. Nord and J. Stafford, MA: Addison-Wesley, 2003.
Software Architecture in Practice, L. Bass, P. Clements & R. Kazman, Addison Wesley.
Architecting Software Intensive Systems: A Practitioner’s Guide, A. Lattanze, Boca Raton, FL: Auerbach Publishing, 2008.
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.
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: There will be a 2-phase project.
Each project phase should be submitted by the expected due date in the beginning of the class that day – one hardcopy per team and all the softcopies should be available on the team web site. Project phases should be submitted with project phase #, class/section, team name; team URL; (rotating) team leader(s); and for each member of the team: student name, student ID, student email address, percentage of contribution and signature, written on the first page. There should also be a description of all the meeting conducted, and for each meeting: date, location, agenda, participants, and summary.
The project will be done by teams of approximately 3-4 students (The team size will depend on the number of students in the course, and more on this will be discussed in class). 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.
For each deliverable, there should be at least one team leader, who coordinates communication and deliverable submission.
Project I under development should be presented approximately 2 weeks before the final submission due date; Project II under development should be presented approximately 2 weeks before the submission due date.
The first or second page of your deliverable should describe all the meetings your team had, while indicating the participants in each of the meetings. This page should be signed by all members of the team.
The last page of your deliverable should describe why you believe your deliverable is at least as good as, or better than, any other team’s work, based on your observation on other teams’ presentations.
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.
Project (2 x 15)
1. August 25 (Tuesday) - First day of class for this course
2. September 3 (Thursday) - Preliminary Project Plan (Team organization, Team leaders/deliverable, Team web site URL, Tools, etc.)
3. September 29 (Tuesday)/October 1 (Thursday) – Interim Project I (Preliminary definition [PDF]) submission & presentation
4. October 6 (Tuesday) – Test 1
5. October 15 (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. November 10 (Tuesday) – Interim project II ([PDF]) submission (and also possibly presentation)
7. November 19 (Thursday) – Test 2
November 23-25: Fall break; November 26-28: Thanksgiving holiday
8. December 1/3 (Tuesday/Thursday) – Final Project II submission, presentation and 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 !
9. December 8 (Tuesday) – Optional: Each team may set up a time with the TA to do a longer demo; Term paper submission
10. August 25 (Tuesday) – December 1/3 (Tuesday/Thursday): communications and revisions of the project plan
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)
- Pipe-&-Filter architectures 
Module Decomposition Issues
Formalization of A Simple Oscilloscope [PowerPoint]
End of the Primary Reading’s Material
Other Topics: Service-Oriented Architectures (SOA), 4+1 Views, Domain-Specific Architectures, System Integration, Architecting Processes
Priorities: Class Discussions, Lecture
Other relevant material:
Some reference material:
Four Architectures for the NFR Assistant [PDF]
Sample Test 5 [PDF]
Sample Test 6 [PDF]
Term Papers - Spring 2005
Current Semester’s Term Papers
Previous Semesters’ Sample Term Papers
Some Interesting Links:
Last updated: January 5, 2005