
![]()
Instructor:
Office: EC
3.204, ECSS, UTD
Office Hours: TR 2:00pm--3:00pm, or by appointment
Lectures: Time:
TR 11:00am--12:15pm, Room: ECSS2.312
E-mail: chung@utdallas.edu
Phone:
972-883-2178 (emergency)
Web page: http://www.utdallas.edu/~chung/SA/syllabus.htm
(NOT webCT!)
TA: Lirong
Dai, Office: ES3.618, Office hours: R3:00pm-4:00pm; Sun 1:00pm-3:00pm
Primary
References:
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 by teams of 3 students. (Teams with more or less than 3
members will be allowed only under exceptional circumstances). 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 (3 * 10%) |
30 % |
|
Test 1 |
25 % |
|
Test 2 |
45 % |
|
|
|
Class
attendance and participation will be considered in the final grade assignment.
Important Dates:
1.
August 18
(Thursday) - the first day of class for this course
2.
September 29
(Thursday) – project I [PostScript] [PDF]
3.
October 6
(Thursday) – test 1
4.
October 27
(Thursday) – project II [PostScript] [PDF] and/or short
presentation
5.
November 22
(Tuesday) – test 2
6.
November 23
(Wednesday) – November 29 (Tuesday) – project III [PostScript][PDF] submission and
demo (Each team needs to set up a time with the TA to do a demo; A hardcopy
should be submitted at the time of the demo.)
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]
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 Texbook Material ![]()
Client Server [PostScript] [PDF]; Last Two
Pages [PostScript] [PDF]
Middleware
[PostScript] [PDF];
- J2EE:
Why, What and How
Patterns [PostScript] [PDF]
Other Topics: 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 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: