91.522 Object-Oriented Analysis and Design:   

Course update for Fall 2004 - R. Lechner   (lechner@cs.uml.edu) 

RJLRef: http://www.cs.uml.edu/~lechner/04f522/04f522SyllabusUpdate040914.htm

Catalog description: 

     http://www.uml.edu/catalog/courses/graduate/91.522.htm

      Object-oriented techniques for analysis, specification, and design; Static information models and state-based dynamic behavior models; Applications to rapid prototyping projects - these will both use and implement an object-oriented development framework (integrated CASE toolset).

Course Audience: 

      Graduate and senior undergraduate CS/EE/CE majors who have significant programming  background and software professionals, who are interested in distributed software system analysis and design using code generation frameworks.  This course  provides a sound grounding in dynamic behavior (state/event) modeling which is cleanly separated from conceptual and logical static data modeling.

Course syllabus: 

        http://www.cs.uml.edu/~lechner/04f522/04f522syllabus.htm
This will evolve gradually from the preceding spring 2004/fall 2003 version.

Text (for fall 2002 - thru fall 2004):

      Mellor & Balcer: Executable UML: Foundation for Model-Driven Architecture 
       (ISBN 0-201-74804-5, Addison Wesley Longman 2002).

Course focus:  

·       How to construct static and dynamic O-O models;

·       How to build code generation frameworks for O-O models.

 

O-O Modeling tools and methodologies are based on OMG standards:

·       OMG:        Object Management Group Consortium  (IBM, Sun, Microsoft,  etc);

·       UML:        OMG's Unified Modeling Language (for data structure AND behavior) 

·       OCL:         UML Object Constraint Language (for specifying 'Design-by-Contract' requirements)       (UML 1.4)

·       ASL:         UML Action Semantic Language (for specifying event-driven state model actions)     (UML 1.5)

·       MDA:        UML Model-Driven Architecture (automatic code generation from models)                   (UML 2.0)

 

O-O code generation frameworks:

 

Academic versions of commercial tools from author web-sites:

·       Balcer:      Model Compilers;

·       Mellor:      Project Technology BridgePoint suite;

·       Kennedy-Carter: iUML Lite 2.2

·       IBM's Open-Source Eclipse Framework  (for Java).

 

The COOL (CASE Object-Oriented Laboratory) framework (developed at UMass Lowell by 91.522/523 students). This is comprised of

·       COOL-GEN:         Persistent I/O and class-model navigation code generator;

·       COOL-LCP:          Life Cycle Prototype state model interpreter;

·       COOL-BDE:         Block Diagram Editor:

a.                          GUI front end for GEN- and LCP-based designs;

b.                         Run-time GUI for GEN and LCP-based simulation.

 

Follow-on Courses:

     

91.523 Software Engineering or 91.591 Software Project Directed Study: 

·       These are team-based project courses with more emphasis on the software design, development and integration process  (pre-requisite 91.522 OOAD).

Team Projects: 

        Both 522 and 523 include projects. The default OOAD case study is one of the COOL framework components, or the OLC Juice Plant simulator proof-of-concept project using that framework. (Alternatively,  you can propose an alternate work-related  project.)

        COOL itself is an in-depth case study of framework design and implementation,  It is legacy code, currently in the process of language and platform migration. COOL illustrates the capabilities and differences of both pre-OO and OO languages  with respect to the implementation of model-driven architectures. It shows how the voluminous UML2 standard can be stripped to its bare essentials and still provide an effective general purpose  rapid prototyping capability with modular code generation tools.

Grading policy:

      Assignments: Programming; 25%;  Other: 15%

      Two (open-book) hour exams: each 25%;  Team project: 35%.

Communications:

      I rely strongly on email discussions with class members.  Answers to student questions will normally be forwarded to all students.  Office hours are by appointment (OS209, before or after Wed. class). Web site contains relevant URLs. $CASE=/usr/proj3/case contains most prior projects and CVS repositories.