Object Oriented Systems Development Syllabus as at 1 July 2005

By Alexander Wagner,2014-04-14 01:33
9 views 0
Larman, C., (2002): Applying UML and Patterns. An introduction to Object-Oriented Analysis and Design. Prentice-Hall PTR, Upper Saddle River, New Jersey,

IMD DIT- ACS Diploma of Information Technology

Object Oriented Systems Development Syllabus (as at 1 July 2005)

1. Aims

    On successful completion of this subject a student should:

    ? be knowledgeable in the theory of object oriented systems development and

    conversant in its terminology;

    ? be competent in the production of object oriented Systems Requirements and

    Design specifications while applying the Unified Modelling Language (UML),

    patterns and the Unified Process (UP);

    ? know how to apply object oriented principles and patterns to create object

    oriented designs;

    ? know how to use a set of common activities in analysis and design using the

    Unified Process;

    ? be able to create diagrams in the UML notation; and

    ? be familiar with an OO CASE tool, eg Rational Rose. Specifically, a student should be competent in:

    ? applying skills in object-oriented design

    ? modelling preferred system solutions

    ? developing high-level object-oriented class specifications; and

    ? developing detailed component specifications from project specifications. 2. Content

    2.1 Introduction to object oriented systems analysis and design

    ? Introduction to systems analysis and design, object oriented concepts, object

    oriented systems analysis and design.

    ? Concept of a software development lifecycle.

    2.2 Iterative development and the Unified Process (UP)

    ? Iterative process in software development and the benefits thereof

    ? Fundamental concepts in the Unified Process (UP)

    ? UP phases: Inception, Elaboration, Construction and Transition

    ? UP Disciplines: Business Modelling, Requirements, and Design 2.3 Inception Phase

    ? Definition of the Inception phase: envision the product scope, vision and

    business case

    ? Artefacts that may be started during Inception

    ? Definition of the FURPS+ model: Functional, Usability, Reliability, Performance,

    Supportability, plus other factors

    2.4 Requirements

    ? Create requirement phase artefacts Content approved 2 June 05 ACS Principal & Chief Examiner ? Function specifications/ functional requirements

    ? System functions; identify and categorise system functions

IMD DIT- ACS Diploma of Information Technology

    ? System attributes; identify and categorise system attributes and relate them to


    2.5 Use Case Model

    Writing requirements in context.

    ? Use Cases and functional requirements

    ? Goals and scope of a Use Case

    ? Actors; identifying and types of

    ? Finding Primary Actors, Goals, and Use Cases

    ? Identifying and writing Use Cases

    ? Use Case types and formats

    ? Contrast high level and expanded Use Cases

    ? High Level Use Cases

    ? Expanded Use Cases

    ? Primary, Secondary, Optional Use Cases, Types.

    ? Essential and Real Use Cases

    ? Drawing Use Case Diagrams

    ? Ranking Use Cases

    ? Use Cases within the UP

    2.6 Elaboration Phase

    ? Definition of the Elaboration phase

    ? Build core architecture

    ? Resolve high risk elements

    ? Define most requirements

    ? Estimate the overall schedule and resources

    ? List artefacts that may be started during Elaboration 2.7 System behaviour

    ? Identify system events and system operations.

    ? System Sequence diagrams.

    ? System events and system operations.

    ? Creating a System Sequence Diagram. 2.8 Interaction diagrams

    ? Importance of interaction diagrams

    ? Sequence diagrams and collaboration diagrams

    ? Creating a collaboration diagram

    ? Collaboration diagram notation 2.9 Domain Model (Conceptual Model)

    ? Visualising and identifying concepts Content approved 2 June 05 ACS Principal & Chief Examiner ? Using a concept category list

    ? Using noun phrase identification

    ? Domain or Conceptual Models

    IMD DIT- ACS Diploma of Information Technology

? Creating a domain model

    ? Candidate conceptual class list ? Associations

    2.10 Contracts for System Operations

    ? Identify system operations

    ? Responsibilities

    ? Pre-conditions

    ? Post-conditions

    ? Exceptions

    2.11 Design Model

    ? Visibility; identifying four kinds ? Visibility in UML notation

    ? Fundamental object design

    ? Responsibility assignment

    ? Design patterns

    ? UML notation for interaction diagrams ? Designing objects with responsibilities ? Responsibilities and methods ? Responsibilities and interaction diagrams

    2.12 Design Class Diagrams (DCD)

    ? Identify classes, methods and associations ? When to create a DCD

    ? DCDs and the UP

    ? Domain Model and Design Model Classes ? Steps for creating DCDs

    ? DCDs and CASE tools

    ? DCDs within the UP

    2.13 Generalisation/ specialisation/ aggregation

    ? Generalisation-specialisation hierarchy ? Supertypes, subtypes

    ? Inheritance

    ? Generalisation and Type definition ? Sub-type definition and rule ? Abstract Types

    ? Aggregation

    ? Composite/Shared Aggregation

    2.14 State diagrams Content approved 2 June 05 ACS Principal & Chief Examiner ? Events, states and transitions ? Use Case State diagram

    ? State independent and State dependent Classes or Types

IMD DIT- ACS Diploma of Information Technology

    ? External and internal events

    2.15 Frameworks, Patterns, Persistence

    ? Define patterns

    ? Applying patterns and assigning responsibilities

    ? Coupling and Cohesion

    ? Applying patterns to assign responsibilities to classes

    ? Define frameworks

    ? Persistence

    2.16 Implementation Model

    ? Mapping design artefacts to code in an OO language

    ? Mapping designs to code

    ? Creating class definitions from DCDs

    ? Creating methods from interaction diagrams

    2.17 UML and CASE tools

    ? Fitting UML into the Unified Process

    ? Computer Assisted Software Engineering (CASE) tools 3. Assessment

    ? Assessment in this subject aims, first and foremost, to ensure a candidate

    satisfies the requirements specified in the following Units of Competency 3.1 Apply skills in object-oriented design, and in particular, the following Elements of


    ? Derive the high level design from a specification

    ? Refine the design

    ? Validate the design

    3.2 Model preferred system solutions, in particular

    ? Review and confirming requirements information and any existing models

    ? Resolve conflicts and inconsistencies

    ? Build and testing a model

    3.3 Develop high-level object-oriented class specifications, in particular

    ? Analyse behaviour of objects

    ? Prepare state models

    ? Describe roles and responsibilities of classes

    ? Iterate and review the object model

    3.4 Develop detailed component specifications from project specifications, in particular

    ? Analyse components

    ? Prepare schema

    Content approved 2 June 05 ACS Principal & Chief Examiner ? Prepare component model

    ? Iterate and review the object model

IMD DIT- ACS Diploma of Information Technology

4. Notes

    Successful candidates should have practical skills sufficient to demonstrate how

    Object Oriented systems techniques can be applied to a case study. It is

    recommended that topics be covered with reference to a realistic case study such as

    the one used in the recommended text book.

    With an increasing use of CASE tools for systems analysis and design, it is important

    that candidates gain hands-on exposure to appropriate software, eg Rational Rose.

    In addition to practical skills, successful candidates will have a sound understanding

    of underlying theories of Object Orientation. It is suggested that, in addition to the

    principal text, student read extensively from other OO and systems analysis texts,

    such as those provided in the reference section.

    A candidate should have knowledge at least to the standard of the Programming

    syllabus before undertaking this subject. In particular, a candidate should know an

    object oriented programming language such as Java. Although OO Analysis can be

    learned without any OO programming language background, OO design requires that

    students have gained practical knowledge of OO concepts such as class, instance,

    polymorphism, encapsulation, interfaces, inheritance and patterns from their

    programming experience.

    5. Text

    ? Larman, C., (2002): Applying UML and Patterns. An introduction to Object-

    Oriented Analysis and Design. Prentice-Hall PTR, Upper Saddle River, New

    Jersey, USA.

    6. References

    ? Booch, G., Jacobsen, I., and Rumbaugh, J. (1997). The UML specification

    documents. Rational Software Corp.,

    ? Booch, G., Rumbaugh, J. and Jacobson, I. (1999). The Unified Modeling

    Language user guide. Addison Wesley Longman, Inc. Reading, MA.USA.

    ? Fowler, M., and Scott, K. (2000): UML Distilled. Addison-Wesley. Reading, MA.


    ? Hawryszkiewycz, I. T. ( 2001) Introduction to systems analysis and design.

    Prentice Hall of Australia. Sydney, NSW.

    ? Jacobson, I., Booch, G., and Rumbaugh, J. (1999).The Unified Software

    Development Process. Addison Wesley, Reading, MA. USA.

Content approved 2 June 05 ACS Principal & Chief Examiner

Report this document

For any questions or suggestions please email