SE310, Analysis and Design of Software Systems, Fall 2007

Location: AX103
Time:   TTh 2:50 - 4:05
Instructor: Dr. Matt Jaffe 


SE310 will be run as a seminar organized around a group project. Working together, we will  produce a detailed design for a real-time interactive system starting from the requirements elicitation/synthesis stage. Class participation will be vital and the grading scheme will reflect that fact (see below).
 

Goals/Objectives
Specific Topics to be Covered

 

  • Familiarity with the history , motivation, and limitations of Object Oriented Analysis in general and the Unified Process in specific
  • Initial familiarity with the iterative use of the Unified Process to syntehsize a loosely-coupled, highly cohesive design, including:
    • Initial familiarity with the elicitation of requirements and their specification with use-case diagrams
    • Initial familiarity with the construction of analysis class diagrams from the use-case diagrams and the project glossary
    • Initial familiarity with the construction of object-interaction diagrams that satisfy use-case specifications
    • Initial familiarity with the construction of state diagrams for the object interaction diagrams and the pre- and post-conditions sections of the use case specifications
    • Initial familiarity with the synthesis and refinement of design classes from the preceding products
    • Initial familiarity with the synthesis of deployment diagrams
  • Practice with, and appreciation for real the significance of, stepwise refinement in the systems development process

 

  • UML syntax and semantics for:
    • Use-Case diagrams
    • Class diagrams and class relationships
      • Analysis classes vs design classes
      • Specialization and composition
      • Roles and multiplicities
      • Reification of associations
    • Object Interaction diagrams
    • State diagrams
    • Deployment diagrams
  • Transactionally-intensive vs transformationally-intensive system analysis and the alternatives to OOA
  • Impact of redundancy strategies on the design of real-time systems
    • Cold standby
    • Warm standby
    • Hot standby
    • Online redundancy

 

Textbook: None

Reference Materials Online

Grading:

Because this class is based on a team project, the grade will be based entirely on my judgment of your classroom participation in project synthesis and review. I will be happy to give all A's if I think everybody is really taking part productively.  If I am not happy with your degree of participation, I will let you know privately in time for you to make a midcourse attitude and participation adjustment.  Your grade-to-date will always be available to you on Blackboard (My Grades).  See also the note on attendance, below.

Attendance:

Because this course is a team-based design project done mostly in class, attendance is mandatory. Two unexcused absences will result in a one letter grade reduction in your final grade for the course; each unexcused absence after the first two will result in a further reduction by one letter grade. Attendance means on-time attendance; tardiness by more than 5 minutes will count as an unexcused absence.  My count of your unexcused absences to date will always be available to you on Blackboard (My Grades). 

Prerequisites:   Senior status, CS315 and SE300, no exceptions; familiarity with an object oriented langauge such as C++ is highly desirable.

This page last changed on 28 Aug 2009