Вы находитесь на странице: 1из 9

CPSC 545

Software Design and Architecture


Course Syllabus
Spring 2007

Instructor: Chang-Hyun Jo, Ph.D., Associate Professor


Office: CS 425 Tel: 714-278-7255 Email: jo@ecs.fullerton.edu WWW: http://jo.ecs.fullerton.edu
Office Hours: Available at: http://jo.ecs.fullerton.edu

Textbooks:
• Bass, L, Clements, P., and Kazman, R. Software Architecture in Practice, 2nd Ed. SEI
Series in Software Engineering, Pearson Education, Inc., Addison-Wesley, 2003.
(ISBN: 0-321-15495-9)
• Shaw, Mary and Garlan, David. Software Architecture: Perspectives on an Emerging
Discipline, Prentice Hall, 1996. (ISBN: 0-13-182957-2)

References:
• Booch, G., J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User
Guide, Addison-Wesley, (1999).
• Bosch, J. Design and Use of Software Architectures: Adopting and Evolving a
Product-Line Approach, Addison-Wesley, 2000. (ISBN 0-201-67494-7)
• Budgen, David. Software Design, 2nd Ed., Pearson Education Limited,
Addison-Wesley, 2003. (ISBN 0-201-72219-4)
• Clements, P. and Northrop, L. Software Product Lines: Practices and Patterns,
Addison-Wesley, 2002. (ISBN 0-201-70332-7)
• Clements, P., Kazman, R., and Klein, M. Evaluating Software Architecture: Methods
and Case Studies, SEI Series in Software Engineering, Addison-Wesley, 2002.
(ISBN 0-201-70482-X)
• Clements, R., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., and
Stafford, J. Documenting Software Architectures: Views and Beyond, SEI Series in
Software Engineering, Pearson Education, Inc., Addison-Wesley, 2003. (ISBN
0-201-70372-6)
• CMU-SEI, “Software Architecture”, http://www.sei.cmu.edu/architecture/, 2006.
• Endres, A. and Rombach, D. A Handbook of Software and System Engineering:
Empirical Observations, Laws and Theories, Pearson Education Limited,
Addison-Wesley, 2003. (ISBN 0-321-15420-7)
• Garlan, D. and Perry, D. E. Introduction to the special issue on software architecture,
IEEE Trans. On SE, 21(4), 269-274, 1995.
• Hohmann, Luck. Beyond Software Architecture: Creating and Sustaining Winning
Solutions, Pearson Education, Inc., Addison-Wesley, 2003. (ISBN 0-201-77594-8)
• Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process,
Addison-Wesley, (1999).

1
• Larman, Craig. Applying UML and Patterns; An Introduction to Object-Oriented
Analysis and Design and The Unified Process, 2nd Ed., Prentice-Hall, 2002. (ISBN
0-13-092569-1)
• Larman, Craig. Applying UML and Patterns; An Introduction to Object-Oriented
Analysis and Design and Iterative Development, 3rd Ed., Prentice-Hall, 2005. (ISBN
0-13-148906-2)
• McConnell, S. Professional Software Development, Addison Wesley, 2004. (ISBN
0-321-19367-9)
• Perry, D. E. and Wolf, A. L. Foundations for the study of software architecture,
ACM SE Notices, 17(4), 40-52, 1992.
• Quatrani, T. Visual Modeling with Rational Rose 2000 and UML, Addison-Wesley,
2000. (ISBN 0-201-69961-3)
• Rational Rose Evaluation,
http://www14.software.ibm.com/webapp/download/search.jsp?S_TACT=104AH+
W42&S_CMP=&s=&status=Active&sr=1&cat=&k=ALL&dt=&q=Rational+Rose
&pf=&sb=n&sr=1&S_TACT=104AH+W42&S_CMP=&s=, 2006.
• Rational Software, Rational Software, http://www-306.ibm.com/software/rational/,
2006.
• Rational Unified Process Win Evaluation,
http://www14.software.ibm.com/webapp/download/home.jsp?s=p, 2006.

Course Objective and Learning Goals:


The students will learn how to analyze and design large scale software and apply different
architecture styles to software design. Case studies and homework are assigned as a practical
component of the course.

Prerequisites:
CPSC 461 or equivalent work experience

Course Work and Grading:


There will be two homework assignments (10% each), a midterm exam (30%) and a final
exam (30%). This course requires both heavy readings of references and well-planned
completing of homework assignments. Course materials are available via the Blackboard
online learning system at http://blackboard.fullerton.edu. Active participation of discussions
and classes (10%) and collaborative team work (10%) are required.

The student grade will be based on a total of 100 points (weight distribution):
Homework Assignments: 20 points (HW#1, HW#2, 10 point each)
Midterm Exam: 30 points (Textbook covered, HW#1)
Final Exam: 30 points (Textbook covered, HW#2)
Participation: 10% (Class Attendance/Discussion Participation)
Performance: 10% (Self-Evaluation by Team Members)

2
Grading Scale:
Grades will be given based on the accumulated scores (100% total):
90% and above A- (3.7), A (4.0), A+ (4.0)
80% - 89% B- (2.7), B (3.0), B+ (3.3)
70% - 79% C- (1.7), C (2.0), C+ (2.3)
60% - 69% D- (0.7), D (1.0), D+ (1.3)
0% - 59% F (0.0)

Makeup Policy:
There will be no makeup (exam) except the case of medical emergency, natural disasters
(such as earthquake, flooding, fire, etc.), or emergent dispatches by your duty. In any
emergent case, to have any makeup, you need to submit a formal evidence document from a
legal agency (hospital, police, executive officer, etc.). A makeup may be held in a different
format, style or level. Your makeup may not make higher scores than the class average.

Drop Deadline: Please see the Schedule of Classes for the deadlines to drop the class.

3
Course outlines:
Weeks Dates Contents
1 Jan 22 Lectures:
Introduction to the class: Schedule, Homework, Exams
Software Tools and Labs (references, supplement)

Module 01 – What is Software Architecture (Bass 02)

Module 02 – SW Architecture Business Cycle (ABC) (Bass 01)

Suggested Reading:
A Case Study – A-7E Avionics System (Bass 03)

Shaw 01 Introduction to Software Architecture

Shaw 02 Architectural Styles

Shaw 03 Case Studies


Key Word in Context
Instrumentation Software
Mobile Robotics
Cruise Control
Three Vignettes in Mixed Style

2 29 Lectures:
Module 03 – Quality Attributes (Bass 04)

Suggested Reading:
Shaw 04 Shared Information Systems
Shared Information Systems
Database Integration
Integration in Software Development Environments
Integration in the Design of Buildings
Architectural Structures for Shared Information Systems

Homework:
Due: Picking Groups and Planning (Team member list)

3 Feb 5 Lectures:
Module 04 – Achieving Qualities (Bass 05)

Suggested Reading:
A Case Study – Air Traffic Control (Bass 06)

4 12 Lectures:
Module 05 – Designing the Architecture (Bass 07)

Suggested Reading:
Shaw 05 The Quantified Design Space
Architectural Design Guidance
Guidance for User-Interface Architectures

4
5 Feb 19 Presidents’ Day

Suggested Reading:
A Case Study – Flight Simulation (Bass 08)

6 26 Lectures:
Module 06 – Documenting SW Architecture (Bass 09)

Suggested Reading:
Shaw 06 Formal Models and Specifications
The Value of Architectural Formalism
Formalizing the Architecture of a Specification System
Formalizing an Architectural Style
Formalizing an Architectural Design Space
Toward a Theory of Software Architecture
What Next?
Z Notation

7 Mar 5 Lectures:
Module 07 – Reconstructing SW Architecture (Bass 10)

Suggested Reading:
Shaw 07 Linguistic Issues
Requirements for Architecture-Description Languages
First-Class Connectors
Adding Implicit Invocation to Traditional Programming L/G

8 12 Conference (ACM SAC 2007)

Suggested Reading:
Shaw 08 Tools for Design
UniCon: A Universal Connector Language
Exploiting Style in Architectural Design Environments
Beyond Definition/Use: Architectural Interconnection

9 18 Mid-Term Exam (MSE, March 18, Sunday, noon – Monday, 4pm)


19 Mid-Term Exam (On-Campus, March 19, Mon., 7:30pm-9:20pm)

10 26 Spring Recess (March 26 – April 1)

11 Apr 1 (*Daylight savings time starts: at 2am on the 1st Sun. of April)

2 Lectures:
Module 08 – Evaluating SW Architecture (ATAM) (Bass 11)

Homework:
• Due: HW#1
• Presentation

5
12 Apr 9 Lectures:
Module 09 – Quantitative Approaches to Architectural Design (Bass
12)

Suggested Reading:
A Case Study – WWW (Interoperability) (Bass 13)

13 16 Lectures:
Module 10 – SW Product Lines (Bass 14)

Suggested Reading:
A Case Study – CelsiusTech (Bass 15)

14 23 Lectures:
Module 11 – Building Systems from Off-the-Shelf Components (Bass
18)

Module 12 – SW Architecture in the Future (Bass 19)

Suggested Reading:
A Case Study – J2EE/EJB (Industry Standard Computing
Infrastructure) (Bass 16)

15 30 Lectures:
Module 13 – SW Architecture: Principles, Practices, and Research
(Invited Lecture)

Suggested Reading:
A Case Study – The Luther Architecture (Mobile Application using
J2EE) (Bass 17)

16 May 7 Homework:
• Due: HW#2
• Due: Team-Evaluation
• Presentation

17 13 Final Exam (MSE, May 13, Sunday, noon – Monday, 4pm)


14 Final Exam (On-Campus, May 14, Monday, 7:30pm-9:20pm)

∗ Disclaimer: This syllabus is intended to suggest the outline of the course; it is not absolute.

6
(For the Online Course)

Distance Learning Syllabus Requirements


(in order to comply with UPS 411.104)

Distance Learning:
The MSE course will be offered via distance learning using CSUF on-line system
called “blackboard” available at: http://blackboard.fullerton.edu. The students
are required to create blackboard accounts and enroll in the on-line CPSC 544
course. All course materials including audio lectures, lecture notes, reading
materials, assignments and homework will be posted on-line and available
on-line ONLY.

Online Participation:
Student online participation will be graded based on the number and content of
postings in discussion sessions. Additionally, the frequency of accessing
assigned Web pages will be taken into account.

Tracking of Student on-line activities:


Student activities will be tracked by utilizing the following “Blackboard” features:
virtual classroom archives, frequency of accessing assigned online reading
materials, maintaining a log of discussion board postings.

On-line Availability of the instructor.


The instructor will check course e-mail at least twice a week during specified
office hours. Real-time course assignments such as on-line discussion will be
answered immediately. The instructor will be on-line during office hours.
Alternative communication options are by phone (714) 278-7255 (Dr. Jo) or (714)
278-5674 (the MSE Program in the Computer Science Department).

7
Appropriate Online Behavior (“Netiquette”)
The following Netiquette rules quote has been taken form
http://www.albion.com/netiquette/book/index.html.

THE CORE RULES OF NETIQUETE


The Core Rules of Netiquette are excerpted from the book
Netiquette by Virginia Shea. Click on each rule for elaboration.
• Introduction
• Rule 1: Remember the Human
• Rule 2: Adhere to the same standards of behavior online
that you follow in real life
• Rule 3: Know where you are in cyberspace
• Rule 4: Respect other people's time and bandwidth
• Rule 5: Make yourself look good online
• Rule 6: Share expert knowledge
• Rule 7: Help keep flame wars under control
• Rule 8: Respect other people's privacy
• Rule 9: Don't abuse your power
• Rule 10: Be forgiving of other people's mistakes

Student Technical Competencies.


Students enrolled in this course have undergone stringent technical
competencies requirement for admission to the Master of Software Engineering
(MSE) program. No additional technical competencies are required.

Minimum Computer Hardware and Software Specification, and Course


Website access requirements.
A Windows (98 or above) based system, with an Internet access providing
reasonable data transfer rate for real-time on-line meetings and discussions.
Ability to access the course Web site at http://blackboard.fullerton.edu.

Technical Support
In case of technical problems contact Help Desk at (714) 278-7777.

8
Alternative Options for Submitting Homework
In the event of technical problems, immediately contact the instructor to find an
alternative way to submit homework.

On-campus Meeting Requirements.


The MSE course does not have any on-campus meeting requirements.

Academic Honesty and Penalty For Academic Dishonesty


With an exception of a team project, students are expected to do their
course-work individually and be sole authors of their papers. A grade of "F" will
be assigned in the course if the academic dishonesty occurs (see the quote
below):

ACADEMIC DISHONESTY
The following is taken from the University Rules (UPS 300.021):
"Academic dishonesty includes such things as cheating, inventing false information
or citation, plagiarism, and helping someone to commit an act of academic
dishonesty. It usually involves an attempt by a student to show possession of a level
of knowledge or skill, which he/she in fact does not possess.
Cheating is defined as the act of obtaining or attempting to obtain credit for
work by the use of any dishonest, deceptive, fraudulent, or unauthorized means.
Examples of cheating include, but are not limited to, the following: using notes or
aids or help of other students on tests and examinations in ways other than those
expressly permitted by the instructor, plagiarism as defined below, tampering with
grading procedures, and collaborating with other on any assignment where such
collaboration is expressly forbidden by an instructor. Violation of this prohibition of
collaboration shall be deemed on offense for the person or persons collaborating on
the work, in addition to the person submitting the work.
Plagiarism is defined as the act of taking the work of another and offering it
as one's own without giving credit to that source. When sources are used in a paper,
acknowledgment of the original author or source must be made through appropriate
references and, if directly quoted, quotation marks or indentations must be used"

Вам также может понравиться