91.522 Object-Oriented Analysis and Design:   

 

Course update for Fall 2003 - R. Lechner   lechner@cs.uml.edu

      http://www.cs.uml.edu/~lechner/03f522/03f522update030820.htm

Catalog description: 

      http://www.cs.uml.edu/curriculum/grad/courses.html

      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, as well as software professionals, with an  interest in distributed software system analysis and design and/or framework development.  This course  provides a sound grounding in behavioral (state/event) models which are cleanly separated from structural information models.

Course syllabus: 

        http://www.cs.uml.edu/~lechner/02s522/02s522syllabus.htm
This online syllabus (from spring and fall 2002) will be revised shortly.

Text (new) for fall 2002:

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

Course focus:  

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

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

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

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

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

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

 

Follow-on Course:

        91.523 Software Engineering - another project course which has a greater emphasis on OOD patterns and processes (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 components: 

Three essential core components support rapid prototype development:

·        GEN:    generates class-models and persistent database code,

·        LCP:    interprets a database of inter-communicating event-driven state-models.

·        BDE:    draws graphic block diagrams which drive both GEN and LCP.

COOL Projects:

        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.