CS 578
Software Architectures

Spring Semester, 2006
Location: OHE 122
Time: TTh 3:30pm - 4:50pm

Class number: 048-30137D and 034-30136R (DEN) 


Instructor | Overview | Academic IntegrityTextbook and ReadingsAssignments and ExamsSchedule


Instructor

Teaching Assistants


Overview

Software architecture has become an area of intense research in the software engineering community. A number of architecture modeling notations and support tools, as well as new architectural styles, have emerged. The focus of architecture-based software development is shifted from lines-of-code to coarser-grained building blocks and their overall interconnection structure. Explicit focus on architecture has shown tremendous potential to improve the current state-of-the-art in software development and alleviate many of its problems. 

This course will expose you to the concepts, principles, and state-of- the-art methods in software architectures, including domain-specific software architectures (DSSA), architectural styles, architecture description languages (ADL), software connectors, dynamism in architectures, and architecture-based testing and analysis. In the process of studying these concepts, we will make explicit the boundaries of the field and discuss its relationship to other areas of software engineering, specifically requirements, design (including object-oriented design and related notations, such as UML), and implementation. The course will also examine the practical applicability of architecture research, specifically its relationship to the work in software reuse and component interoperability platforms (such as CORBA, Enterprise JavaBeans, COM/DCOM, and .NET). A series of related homework assignments and two exams will be given to assess your understanding of important concepts, methods, languages, and tools. 


Academic Integrity

Students must work independently on all individual assignments; collaborating on individual assignments is considered cheating and will be penalized accordingly. All USC students are responsible for reading and following the USC Student Conduct Code, which prohibits plagiarism. Some examples of behavior that is not allowed are: copying all or part of someone else’s work (by hand or by looking at others’ files, either secretly or if shown), and submitting it as your own; giving another student in the class a copy of your assignment solution; consulting with another student during an exam; and copying text from published literature without proper attribution. If you have questions about what is allowed, please discuss it with the instructor.

Students who violate University standards of academic integrity are subject to disciplinary sanctions, including failure in the course and suspension from the University. Since dishonesty in any form harms the individual, other students, and the University, policies on academic integrity have been and will be strictly enforced.


Textbook and Readings

Textbook:

Supplemental Readings:


Assignments and Exams, Submission Guidelines

Name

Description

Weight

First Exam 

March 9 during regular class time
Location TBA

30%

Second Exam

April 27 during regular class time
Location TBA

30%

Assignments (Homework)

listed below

(40%)

HW1:

Requirements Engineering due on Jan 26 before 3:30pm

5%

HW2:

First Steps in Building and Understanding Software Architectures due on Feb 9 before 3:30pm

5%

HW3:

Decomposing Systems due on Feb 21 before 3:30pm

5%

HW4:

Architecting with Style due on Mar 2 before Noon

5%

HW5:

Forward Engineering with ArchStudio due on March 30 before Noon

10%

HW6:

cancelled

0%

HW7:

Architecture Recovery (Reverse Engineering) due on April 18 before Noon
and Supplemental Java Files

10%

Assignment Submission Guidelines

All homework assignments must be submitted electronically in PDF format to csci578@usc.edu. Graded submissions will be returned to you electronically in form of annotated PDF files (we will use the reply-email address of your submission). Make sure that you are using a recent Adobe PDF viewer (or a compatible one). Try not to include voluminous bitmaps as it will increase the file size unnecessarily. If you need to draw, use a drawing tool such as PowerPoint or Visio (these tools use an embedded drawing format that typically requires very little memory).

The subject of your email should include the homework number, USC-ID number, and name. For example, if you are submitting homework 1, your USC-ID is "234-54-5555" and your name is "Tom Riddle" then use the following email subject: “HW1, 234-54-5555, Tom Riddle”.

Furthermore, please name the PDF file the following way: HW# + "_" + USCID + "_" + FIRST-NAME + "_" + LAST-NAME . So, for Tom Riddle, the PDF file for HW1 should be named "HW1_234545555_TOM_RIDDLE.PDF"

CAREFUL!

If you are not sure whether you are producing the right kind of PDF file, send a test email to csci578@usc.edu (subject line: "TEST") and attach a sample PDF file. A TA will make sure the document is readable and respond to you.

Additional details may be announced later. So please make sure to check back as the deadline nears.

Discussion Groups and Announcements

Please use the DEN discussion forum (the DEN course page for CSCI 578) as your first place to ask questions and check for answers. We realize that with 140 students, many questions are repetitive. We all benefit by making the questions and answers publicly available. This discussion forum will also allow you to communicate with one another.

Both on-campus and off-campus students have access to this page. If you are registered for this course, an account has been created for you. If you have any problem accessing this course page, please contact DEN via phone (213) 740-4488 or toll free (877) 740-1DEN or via email at denadmin@usc.edu.

Exams

The exams will be closed-book exams but you are allowed to bring 5 sheets (letter size) of written notes.

First exam includes course material covered in weeks 1-7
Second exam includes course material covered in weeks 8 and 11-15

Exam 1

Two rooms have been scheduled for the first exam. Here is where you have to go to:

Students whose last names start with A-M: please go to room THH 102
Students whose last names start with N-Z: please go to room THH 210
(THH stands for Taper Hall which is on the other side of campus!)

There are 86 registered on-campus students and 32 registered DEN students. All on-campus students must take their exam in either THH 102 or THH 210 (see above key). Apparently, there are two groups of DEN students: local and remote. Local DEN students (roughly 17 people) also have to take their exams on campus in either THH 102 or THH 210 (see above key). Remote DEN students have to take their exams at various testing centers across the US. DEN students are responsible for finding out whether they are "local" or "remote".

Whether local or not, the exams and exam rules are the same for *all* students. The exam starts at 3:30pm and ends at 4:50pm. No exceptions. I believe the exam time is the same for remote DEN students but please check with your testing center to confirm this.

Exam 2 Exam Date: April 27 during regular class time (but not location)

Two rooms have been scheduled for the first exam. Here is where you have to go to:
Students whose last names start with A-L: please go to room WPH B27
Students whose last names start with M-Z: please go to room MRF 340

All on-campus students must take their exam in one of the above rooms. Apparently, there are two groups of DEN students: local and remote. Local DEN students also have to take their exams on campus in the same rooms indicated above. Remote DEN students have to take their exams at various testing centers across the US. DEN students are responsible for finding out whether they are "local" or "remote". Whether local or not, the exams and exam rules are the same for *all* students. The exam starts at 3:30pm and ends at 5:00pm. No exceptions. I believe the exam time is the same for remote DEN students but please check with your testing center to confirm this.

NOTE: A makeup exam will be given to those students who have an exam conflict on April 27 (e.g., three exams on the same day and/or exam time conflict).
Exam Date: April 28 (Friday)
Exam Location:
VKC 153
Exam Time: 10:00-11:30am

Homework/Exam Regrading

If you believe that your homework grade is incorrect, please send a re-grading request email to csci578@usc.edu. The subject of your email should include the homework number with a re-grading remark, USC-ID number, and name. For example, if you are asking for the re-grading of homework 1, your USC-ID is "234-54-5555" and your name is "Tom Riddle" then use the following email subject: “HW1, REGRADING, 234-54-5555, Tom Riddle”.

The body of the email should indicate which question(s) you would like to have re-graded and why you believe your answer was correct. Note that the questions will be reviewed independently of the original grader. As such one of the following three situations may happen:

1) the re-grade may determine that more points should be given (points will be added)
2) the re-grade may determine that the current grade is right (points will not be changed)
or
3) the re-grade may determine that too many points were given (points will be removed)

Please be aware of these possibilities as re-grades are final!


Schedule (subject to change; please visit before every class)

Week

Lecture Topic

Readings

Assignments

1

Jan 10

  -

Jan 12

-

2

Jan 17

HW1 Announced 

Jan 19

-

3

Jan 24

  • Chapter 3
-

Jan 26

  HW1 Due before class

HW2 Announced

4

Jan 31

-

Feb 2

-

5

Feb 7

-

Feb 9

HW2 Due before class

HW3 Announced

6

Feb 14

-

Feb 16

-

7

Feb 21

HW3 Due before class

HW4 Announced

Feb 23

-

8

Feb 28

  ATTENDING THIS CLASS IS MANDATORY!
(Note: DEN students do *not* have to come to campus)
-

Mar 2

  ATTENDING THIS CLASS IS MANDATORY!
(Note: DEN students do *not* have to come to campus)
HW4 Due at Noon before class

HW5 Announced

9

Mar 7


  EXAM REVIEW (Questions and Answers)
 

Mar 9


  FIRST EXAM  (during regular class time, locations are listed above)
 

10

Mar 14

  SPRING RECESS

Mar 16

11

Mar 21

  • Exam 1 recap
-

Mar 23

 

-

12

Mar 28

-

Mar 30

HW5 Due at Noon before class

HW6 Cancelled

13

Apr 4


HW7 Announced
+ Supplemental File
 

Apr 6

-

14

Apr 11

-

Apr 13

-

15

Apr 18

HW7 Due at Noon before class

Apr 20

-

16

Apr 25

 
  EXAM  REVIEW (Questions and Answers)

  STUDENT SURVEY  
 

Apr 27

 
  SECOND EXAM  (during regular class time, locations are listed above)