ooad syllabus

advertisement
3
0
0
3
Prerequisite
COIT 415
Credit Units
Object-Oriented Analysis and
Design
Training
Code/No
Lab
Course name
Lecture
Units
COCS
304
Course Objectives:



To introduce the concept of Object-oriented design
To be familiar with problems of complex systems, evolution of object-oriented
model, classes, object-oriented methodology and it notations
To provide the students with applications, case studies and CASE tools
Course Description
Object-oriented design concepts, Introducing OO concepts through typical OO
programming languages. Features and problems of complex systems, evolution
the object-oriented model, foundations and elements of the object-oriented model,
classes and objects, relationships among classes, relationships among objects,
interplay of classes and objects, approaches to identifying classes and objects,
object-oriented design methodologies, methodology notation (elements of UML
or any other selected notation, class and object diagrams, interaction diagrams,
state transition diagrams, process and module diagrams, etc.), applications and
case studies, CASE tools.
Course Outline
1. Introduction
 Object-Oriented Programming Languages and the object-oriented model
 Complex problems and complex systems
 Basic features and elements of the object-oriented approach
 Object-oriented analysis, design, and implementation
 Objects and Classes
 Messages and Interfaces
 Inheritance and Polymorphism
 Advantages, Limitations and Applications of the object-oriented approach
 Models and modeling languages
 A Unified methodology
 Types of models
 UML views and basic features
 Object-oriented design methodologies
 The rational unified process
 Object-oriented CASE tools: Introducing Rational Rose
2. Object Oriented Analysis
 Object Orientation
 OO Methods
 OOA approaches
 Analysis in OMT
 Identify objects and classes
 Identify associations and aggregations
 Identify attributes
 Simplify object classes using inheritance
 Verify access paths for likely queries
 Iterate and refine model
 Group classes into modules
 Analysis in Use Cases
3. Object Oriented concepts and examples
 OOD To OOP
 Abstraction and ADT
 Class Hierarchies
 Modularity
 Namespace
 Assemblies
 Inheritance
 Encapsulation and Information hiding
 Interfaces
 Polymorphism, Overloading and overriding
 Early and Late binding
 Boxing and Unboxing
 Abstract and sealed classes
 Design Issues for OOP Languages
 The Exclusivity of Objects
 Subclasses as Types
 Type Checking and Polymorphism
 Single and Multiple Inheritance
 Object Allocation and De-Allocation
 Dynamic and Static Binding
 Nested Classes
4. Classes and Class Models in UML
 Class models and diagrams
 Attributes and operations
 Association and whole-part relationships









Aggregation and composition, Roles, navigability, and constraints
Generalization and inheritance relationships
Dependency
More on classes:
Qualified and derived associations
Association classes
Properties, tagged values, and Stereotypes
Abstract classes and Parameterized classes
Lab Work: Class diagrams in Rational Rose
5. Use Case Models in UML (as a gap between OOA and OOD)
 Actors and services
 System boundary
 Use-case relationships and Use-case generalization
 Actors and classes
 Using use-cases in software development
 Lab Work: Use-cases in Rational Rose
 Case Study 1
6. OO Modeling, Design methodologies, Interaction diagrams
 Design approaches, methods to get design entities from requirements
 Domain modeling and class diagrams
 Class associations
 Whole part relationships
 Generalization and Inheritance
7. Interaction diagrams
 Interaction and collaboration
 Collaboration diagrams
 Sequence diagrams
 Message passing and timing
 Conditional behavior and iteration
 Concurrency
 Lab Work: Interaction diagrams in Rational Rose
 Case Study 2
8. State and Activity Diagrams in UML
 Activity diagrams
 State diagrams
 Lab Work: State and activity diagrams in Rational Rose
9. Packages and subsystems
 Packages



Subsystems
Models
Lab Work: Subsystem diagrams in Rational Rose
Course Outcomes
After completing this course the student must demonstrate the knowledge and
ability to:
 Show the importance of systems analysis and design in solving complex
problems.
 Show how the object-oriented approach differs from the traditional approach
to systems analysis and design.
 Explain the importance of modeling and how the Unified Modeling Language
(UML) represents an object-oriented system using a number of modeling
views.
 Construct various UML models (including use case diagrams, class diagrams,
interaction diagrams, state chart diagrams, activity diagrams, an
implementation diagrams) using the appropriate notation.
 Recognize the difference between various object relationships: inheritance,
association, whole-part, and dependency relationships.
 Show the role and function of each UML model in developing object-oriented
software.
 Apply the Rational Software Suit for the construction of UML models and
expressing the appropriate notation associated with each model.
Assessment Strategy:
Students will be assessed in this course based on a set of exams, quizzes and
practical parts of it.
Grades:
Mid 1
Mid 2
Final
Homework and quiz
20
20
40
20
Text Book:

Bennett, Simon ; Skelton, John; Lunn, Ken, Schuam’s Outline of UML. 2nd
Edition, New York: McGraw-Hill, 2001.
Other references:


Stevens, Perdita, Using UML: Software Engineering with Objects and
Components, 2nd Edition, Harlow, England: Addison-Wesley, 2000.
Satzinger, John & Orvik, Tore U. The Object-Oriented Approach: Concepts,
System Development, and Modeling with UML, 2nd Edition, Australia: Course
Technology, 2001
Time table for Object-Oriented Analysis and Design
Week
1
2
3
4
5
6
7-8
9
10-11
12
13
14
15
Theoretical course contents
Object-oriented design concepts
Object-Oriented Programming Languages and the models
Complex problems and complex systems
Basic features and elements of the object-oriented approach
Object-oriented analysis, design, and implementation
Design, and implementation of object-oriented
Advantages, Limitations and Applications of the object-oriented
approach
Advantages, Limitations and Applications of the object-oriented
approach
Models and modeling languages
A Unified methodology
UML views and basic features
Object-oriented design methodologies
Object-oriented CASE tools: Introducing Rational Rose
Final exam
Remarks
Exam 1
Exam 2
Download