You are on page 1of 3

UNIVERSITY OF SARGODHA

DEPARTMENT OF CS&IT.

COURSE OUTLINE Winter 2018-2019

Course Title: Object Oriented Analysis and Design


Course Code: SE-3311
Credit Hours: 3

Instructor:
Email:

DESCRIPTION AND OBJECTIVES


In this course, the students will learn how to produce detailed object models and designs from
system requirements; use the modeling concepts provided by UML; identify use cases and
expand into full behavioral designs; expand the analysis into a design ready for implementation
and construct designs that are reliable.
INTENDED LEARNING OUTCOMES
Upon successful completion of this course, students will be able to understand how to gather the
requirements for a software application, distinguish between functional and nonfunctional
requirements, and express the requirements in the form of use cases. Object-oriented analysis:
Derive the appropriate classes from the requirements and define their responsibilities, behaviors,
interrelationships, and internal structures. Draw UML use case, class, and sequence diagrams to
document and communicate the analysis results. Object-oriented design: Apply the results of
analysis to implement the classes and interfaces. Incorporate concepts such as inheritance and
polymorphism, programming by contract, coding to the interface, the open-closed principle, the
Liskov substitution principle, and the Law of Demeter. Write code that is easily tested and use
proven testing techniques. Design patterns: Learn the major “Gang of Four” design patterns and
recognize when it is appropriate to apply them. The C++ object model: Understand how C++
implements the object model, including the Standard Template Library (STL). Become aware of
the hazards of C++. GUI programming: Develop interactive programs that have a graphical user
interface (GUI). Use callback routines with a software framework and comprehend inversion of
control. Multi-threaded programming: Learn the basics of programming multiple threads of
control using semaphores, mutexes, and critical regions. You will follow industry-standard best
practices and use software development tools that are common in today’s software industry. You
will develop the critical job skill of working in a small project team to successfully develop a
software application that uses shared interfaces and data formats. Your application can then
interact with applications from other teams to exchange data and results.

COURSE CONTENTS
Principles of Object Technology. UML Unification, UML Diagrams, Unified Process & Rational
Unified Process, RUP Disciplines, Requirements Types, Use Case Modeling. EBP Guidelines.
System Use Case Diagram, Use Case Table, Activity Diagram, Supplementary Specifications,
Vision Document, Glossary, Rational Rose Overview. Elaboration Phase of RUP; Configuration
Management; System Sequence Diagram, Domain Model. Implementation of System Sequence
& Domain Model. Use Case Dependencies. Analysis Use Case Diagram, Implementation of
Sequence, Collaboration, Analysis Use Case Diagram. State Chart Diagrams and
Implementation. Design Patterns. Use Case Realization Using GRASP Patterns, Design Model.
Modeling Generalization, Creating Design Class Diagram, Mapping Data Model to Domain
Model. Implementation of Design Class Diagram, Coding patterns, Mapping Design to Code.
Patterns for Assigning Responsibilities, Polymorphism, Pure Fabrication, Indirection, Protected
Variation. GoF Design Patterns. [Students must be introduced with Object Diagram, Component
Diagram, Package Diagram, Deployment Diagram, Network Diagram.]

READINGS
Textbook(s):
1. Applying UML and patterns: An introduction to Object-Oriented Analysis and Design
and Iterative Development by Craig Larman, Prentice Hall; 3rdEdition (October 30,
2004). ISBN-10: 0131489062
Reference Material:
1. Fundamental of Object-Oriented Design in UML by Meiler Page-Jones, Addison Wesley,
2000. ISBN: 020169946X.
2. The Unified Modeling Language User Guide by G. Booch, J. Rambaugh and I. Jakobson,
Addison-Wesley Professional; 2ndEdition (2005). ISBN-10: 0321267974.
3. The Unified Modeling Language Reference Manual by James Rumbaugh, Ivar Jacobson
and Grady Booch, Addison-Wesley Professional; 2ndEdition (2004). ISBN-10:
032171895X.
4. The Unified Modeling Language User Guide by Grady Booch, James Rumbaugh and
Ivar Jacobson, Addison-Wesley Professional; (2005). ISBN-10: 0321267974.
5. Visual Modeling with Rational Rose 2000 and UML by Terry Quatrani, Addison Wesley,
2000. ISBN: 0201699613.
6. The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP: A
Practitioner's Guide to the RUP by Per Kroll, Philippe Kruchten and Grady Booch,
Addison-Wesley Professional (2003). ISBN-10: 0321166094.
7. The Rational Unified Process: An Introduction by Philippe B. Kruchten, Addison-Wesley
Professional; 3rdEdition (2003). ISBN-10: 0321197704.

COURSE SCHEDULE

Week Topics and Readings Books with Page No.

1 Principles of Object Technology: Introduction to Object [TB: Ch. 1.1-5]


Technology, Principles of Modeling, and Principles of
Object Orientation
2 Introduction to UML, Unification, UML Diagrams, [TB: Ch. 1.6, 2.1-6, 3.1-
Unified Process & Rational Unified Process. 2,4.1-3]
3 RUP Disciplines, Case Study Analysis and Basics, Case [TB: Ch. 1.6, 2.1-6, 3.1-
Study, About Inception, Feasibility and Risk Analysis 2,4.1-3]
4 Understanding Requirements, Requirements Types, Use [TB: Ch. 5.1, 6.1-8]
Case Modeling: Use Case Writing Styles, EBP Guidelines
5 System Use Case Diagram, Use Case Table, Activity [TB: Ch. 6.9, 6.12-17,
Diagram, Supplementary Specifications. 7.2-4 & 7]
6 Vision Document, Glossary, Rational Rose Overview, [TB: Ch. 6.9, 6.12-17,
Use Case & Activity Diagram Modeling in Rational Rose 7.2-4 & 7]
7 Elaboration Phase of RUP; Configuration Management; [TB: Ch.8.2- 5,9.2-
System Sequence Diagram, Domain Model : Identifying 4,10.1-4,11.1-7,12.1-4]
Business Classes, Associations, Attributes
8 Implementation of System Sequence & Domain Model: [TB: Ch. 11.10, 12.9,
Use Case Operational Contracts, Business Sequence, 13.1-2, 13.9, 15.1-7]
Analysis Sequence & Collaboration Diagrams
9 Use Case Dependencies. Analysis Use Case Diagram, [TB: Ch. 25.1-5, 15.6-7]
Implementation of Sequence, Collaboration, Analysis Use
Case Diagram
10 State Chart Diagrams and Implementation [TB: Ch. 29.1-5, 29.8,
Ch. 1-13, 25, 29]
11 Design Patterns: GRASP: Information Expert, Creator, [Ch. 16.1-10]
Cohesion & Coupling, Controller
12 Use Case Realization Using GRASP Patterns, Design [TB: Ch. 17.1-9, 18.1-3]
Model: Determining Visibility
13 Modeling Generalization, Creating Design Class Diagram, [TB: Ch. 26.1-7, 27.1-
Mapping Data Model to Domain Model 10, 19.1-6, 34.5-9]

14 Implementation of Design Class Diagram, Coding [TB: Ch. 19.6, 20.1-11]


patterns, Mapping Design to Code
15 More Patterns for Assigning Responsibilities, [TB: Ch. 22.1-4, 23.1-2]
Polymorphism, Pure Fabrication, Indirection, Protected
Variation. GoF Design Patterns: Adapter, Factory
16 Gof: Singleton, Strategy, Composition, Façade and [TB: Ch.23.4-8]
Discuss Remaining Patterns

RESEARCH PROJECT /PRACTICALS /LABS /ASSIGNMENTS


Assignments, class participation, quiz.

ASSESSMENT CRITERIA
Midterm: 30
Final: 50
Sessional (assignments, quiz, presentations): 20

You might also like