Programme Module Information
MODULE: Object Oriented Analysis and Design
LEVEL: 2
LEARNING TIME: 200 Hours
SUBJECT GROUP: Computing (System Development)
PRE-REQUISITE: System Development, Java/VB
AIM: The course gives students a thorough grounding in the key concepts of
Object Oriented Programming techniques, methods and Systems analysis
and design using UML tools.
METHOD OF INSTRUCTION: Lectures, Tutorials, Laboratory Sessions, Self
Study and Coursework.
LEARNING OUTCOMES:
Upon successful completion of this course unit, the student should have an
appreciation (knowledge and understanding) for:
- Object Oriented development methodologies – AGILE, Plan Driven and
many more.
- Modeling with UML tools
- Object Oriented Analysis and Design
- Systems Implementation: Testing and Documentation Process
INDICATIVE CONTENT:
Students will develop skills and knowledge in object oriented methodologies,
analysis and design, modeling using UML tools. These skills will be acquired
through the use of lectures and lab sessions where UML tools will be used to
implement these concepts. Applications of these skills will be demonstrated
using examples in JAVA and VB programming languages. Using case studies and
tutorials, students will develop analytical skills in object oriented programming,
which they can apply to suitable projects and systems development.
TEACHING & LEARNING:
There will be a total of 3 hours of lectures and 4 hours of tutorials per week.
ASSESMENT
Assessment consists an assignment, Assessment Exam, and Final exam.
Course work = assignment & Assessment Exam, 60:40
Final mark = Exam & Coursework, 60: 40
KEY TEXTS:
UML Bible, Wiley; 1st Edition (2003) by Tom Pender
UML Distilled Third Edition, Addison Wesley (2004) by F. Martin
MODELING TOOLS
Visual Paradigm For UML Community Edition
UMLet
IBM Rational Rose Enterprise Edition
Eclipse Modeling
Page 1 of 5
Topcased
AMPLIFIED CONTENT:
1. Agile methodologies
2. Recap on Object Oriented techniques
3. Introduction to UML
4. Developing requirements – usecases & scenario
5. Introduction to OOD– class diagrams
6. Domain modeling - advanced class diagrams
7. Work flow modeling – activity diagrams
8. Behavior modeling – sequence diagrams, state chart diagrams
9. Introduction to Software design patterns
10. System Documentation
11. Unit Testing
CONTENT AMPLIFIED BY WEEKS
Page 2 of 5
Week Intuitive Topic Content Tutorial Focus
#
Week L1. Introduction to Agile Tutorial 1: & 2
1 methodologies
What are agile methodologies? Research and presentation on
Agile manifesto agile methodologies. See
Characteristics of agile methodologies tutorial 1
Advantages & Disadvantages
Examples from XP & Scrum
L2. Recap on OOP principles
Objects: {attributes, operations}
Abstraction
Inheritance, interface, abstract
Polymorphism
OOA & OOD explanation
L3. Introduction to UML
Modeling: Principles, benefits
UML history, goals
Building blocks
Elements (Notations)
Week 2 L1. Developing Requirements Tutorial 1: Introduction to the
Definition, processes IDE (VP)
Functional & non-functional Discuss with student’s the
requirements various panel of the IDE
Use case diagram: {symbols, Create simple s/w model, using
relationships, notations} UML notations.
Exporting it to file and saving it
L2 Developing Requirements, cont.. into a image.
Use case scenarios
Comprehensive example (Modeling with Tutorial 2: Demonstration of
IDE) USECASES
Extracting use cases from a
L3 Developing requirements, cont.. scenario
Use case scenario 2, extracting use Use of use case symbol,
cases and modeling in VP relations and notations
Drafting use case scenario
Week 3 L1 Introduction to OOD (class Tutorial 1 & 2 Demonstration of
diagrams) class diagrams
Purpose and function of a class diagram Extracting class diagrams from a
Aspects of a class diagram scenario
Class diagrams {symbols, notation, Modeling using class diagrams,
visibility, operations etc} given a scenario
Enforcing associations in class
L2 Domain Modeling (more CD) diagrams
Aggregations, associations,
generalization
Finding classes
Example scenario
Page 3 of 5
L3 Domain modeling (More CD 2)
Scenario 2, extracting class diagrams
and modeling in VP (Translation to JAVA
OR VB)
Week 4 L1 Workflow modeling (activity
diagrams) Tutorial 1: Demonstration of
Purpose of activity diagrams workflow modeling using
Aspects of an activity diagram activity diagrams
(notations & symbols) Modeling activity diagram from a
More notations and symbols scenario
Example scenario
Tutorial 2: Demonstration of
L2 Behavior Modeling (sequence behavior modeling using
diagram) sequence diagrams
Purpose of sequence diagrams Sequence diagram from scenario
Aspects of a sequence diagrams
(notations & symbols)
Communication mechanisms
L3 Behavior modeling, (sequence
diagram eg.)
Translation onto Java or VB code
Example scenario using VP
Week 5 L1 Behavior Modeling (state chart
diagrams) Tutorial 1 & 2: Demonstration of
Purpose of state chart diagrams state chart diagrams
Notations and symbols State chart diagram exercise
Specifying actions and events
Another scenario on state chart
L2 Behavior modeling using (state diagrams
chart cont..)
Example scenario and demonstration
using IDE
L3 Introduction to Design Patterns
What are design patterns
Benefits of patterns
Levels of Design Pattern
MVC
Week 6 L1 Common Patterns examples in VB
or Java (cont..) Tutorial 1: Demonstration of
Singleton patterns and their usage
Iterator scenarios in Java
Adapter
Tutorial 2: simple scenario that
L2 Common Patterns (cont..) shows how to use the singleton,
Facade factory, iterator patterns in VB
Strategy or Java
Factory
L3 Identifying patterns and their
corresponding
Usage scenarios in VB or Java
Page 4 of 5
scenarios.
Week 7 L1 System Testing, Unit testing
Verification & Validation Discussion on how to implement
Software testing strategies (Unit, the scenario using MVC
Integration, Top-down, bottom-up, Identify model classes
Regression) Identify controller classes
Identify view classes
L2 System testing (cont…) Derive an overview of how the
Testing Strategies for OO software system would work using MVC.
Testing Strategies for WebApps Use packages
The art of debugging
Test plans Developing unit-tests in java o
L3 Developing unit-tests
Developing unit-tests from a simple
scenario
Week 8 L1 System Documentation
Elements of a documentation Developing unit-tests in java o, part
Writing style 2
Referencing
L2 Software Documentation
Documentation Requirements
Process documentation
Product Documentation
Document Quality
Page 5 of 5