BITS WILP Object
Oriented Analysis And Design Handout 2017-H1
BIRLA
INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK
INTEGRATED LEARNING PROGRAMMES
Digital
Learning
Part
A: Course Design
Course Title
|
OBJECT ORIENTED ANALYSIS AND
DESIGN
|
Course No(s)
|
SS ZG514
|
Credit Units
|
4
|
Credit Model
|
1
unit lecture, 2 unit self-study, 1 unit assignment / lab
|
Content Authors
|
HS
Jabbal
|
Course Objectives
No
|
|
CO1
|
Understand
Object orientation concepts, theories and principles;
|
CO2
|
Understand
Fundamental concepts of the object model; classes, objects, methods and
messages, encapsulation and inheritance, interface and implementation, reuse
and extension of classes, inheritance and polymorphism;
|
CO3
|
Understand
the process of object-oriented requirements specification, analysis and
design; Notations for object-oriented analysis and design; Case studies and
applications using some object oriented programming languages
|
Text Book(s)
No
|
Author(s),
Title, Edition, Publishing House
|
T1
|
Larman,
C., Applying UML and Patterns, Pearson Education, 2nd Ed., 2002.
|
T2
|
Erich
Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software,
1994
|
Reference Book(s)
& other resources
R1
|
Martin,
Robert C., Agile Software Development, Principles, Patterns, and Practices,
2002
|
R2
|
Ambler,
Scott W., The Elements of UML(TM) 2.0 Style,
|
R3
|
|
R4
|
|
R5
|
Content
Structure
No
|
Title of the Module
|
M1
|
Introduction
SDLC
Models - Waterfall, Unified Process, Agile
Introduction
to Object Oriented Analysis & Design
|
M2
|
Starting
with Object Oriented Analysis : Building Use Case Model
|
M3
|
Creating
System Level Artefacts : Domain Model, SSD & Operation Contracts
|
M4
|
Getting
into Object Oriented Design : Refinements in Use Cases & Domain Model,
Interaction Diagrams, State Transition Diagram, Activity Diagram
|
M5
|
Visibility
between Objects, Class Diagram, Package Diagram
|
M6
|
Design
Patterns : GRASP, Additional Patterns,
SOLID Design Principles
|
M7
|
Design
Patterns : Some Gang Of Four (GoF) Patterns
|
M8
|
Design
Patterns : Further Gang Of Four (GoF) Patterns
|
Learning
Outcomes:
No
|
Learning Outcomes
|
LO1
|
Knowledge
of Unified Process
|
LO2
|
Knowledge
of Unified Modeling Language
|
LO3
|
The
student should be able to apply the principles of object-oriented concepts
using the Unified Process and Unified Modeling Language (UML) to any software
development effort.
|
LO4
|
Ability
to recognize Design Patterns in a Software Product.
|
LO5
|
Ability
to recognize situations and fit software solutions to the problem.
|
Part
B: Contact Session Plan
(The Online
Copy of Course Handout will be modified as the course is conducted. Do not use
a static copy. Please refer to the
online copy before each contact session.)
Academic Term
|
Second Semester 2016-2017
|
Course Title
|
OBJECT
ORIENTED ANALYSIS AND DESIGN
|
Course No
|
SS
ZG514
|
Content Developer
|
Sanjay Joshi/ Harvinder S
Jabbal
|
Glossary of Terms:
1.
Contact Hour (CH) stands for a hour long live session with
students conducted either in a physical classroom or enabled through
technology. In this model of instruction, instructor led sessions will be for
20 CH.
a.
Pre CH = Self Learning done prior to a given contact hour
b.
During CH = Content to be discussed during the contact hour by
the course instructor
c.
Post CH = Self Learning done post the contact hour
2.
RL stands for Recorded Lecture or Recorded Lesson. It is
presented to the student through an online portal. A given RL unfolds as a
sequences of video segments interleaved with exercises
3.
SS stands for Self-Study
to be done as a study of relevant sections from textbooks and reference books.
It could also include study of external resources.
4.
LE stands for Lab Exercises
5.
HW stands for Home Work will consists could be a selection of
problems from the text.
Contact Hour 1
M0: Introduction
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
|
Not
Applicable
|
|
During CH
|
CH1.1
|
CS0.1
= Explanation of the material to
be covered in this course
|
|
Post CH
|
SS1
|
SS0.1
= Read Preface from Text: T1
|
|
Post CH
|
HW1
|
||
Post CH
|
LE1
|
None
|
|
Post CH
|
QZ1
|
QZ0.1
= List the main diagram types
available under UML 2.0
|
|
Notes:
Contact Hour 2
M0: Introduction
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL2.1
|
None
|
|
During CH
|
CH2
|
CS0.2
= Review of Object Oriented
Programming
|
|
Post CH
|
SS2
|
Read about Object Oriented Programming/Approach from
internet.
|
|
Post CH
|
HW2
|
|
|
Post CH
|
LE2
|
|
|
Post CH
|
QZ2
|
|
|
Notes:
Contact Hour 3
M1:
SDLC Models : Waterfall, Unified Process, Agile
`
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL3.1
|
RL1.1.1
= Programming
Paradigms – Procedural Programming, Object Oriented Programming
RL1.1.2
= What is Software Development Life
Cycle (SDLC)?
RL1.1.3
= Waterfall
Model: How it works? When to apply waterfall model?
|
|
Pre CH
|
RL3.2
|
RL1.2.1
= Overview of Unified Process
RL1.2.2
= UP : An Iterative & Evolutionary
Development
RL1.2.3
= UP Phases & Disciplines
|
|
During CH
|
CH3
|
CS1.1.1
= Explain with example difference
between Procedural and Object Oriented Programming. Highlight the fact that, maintainability of
software is easy in Object Oriented software.
CS1.1.2
= SDLC Phases, Role of Analyst,
Designer, Programmer and Tester
CS1.1.3
= Waterfall Model : How it is good or
bad?
CS1.1.4
= Briefing of all other models like
Spiral Model, Incremental Model, V-Model etc.
CS1.1.5= UP Model, Phases & Disciplines, How
it is different than Waterfall and other models?
|
|
Post CH
|
SS3
|
SS1.1
=
Book:
Larman (T1)
Chapter:
Part 1 Introduction
Ch
01 OOAD
Ch
02 Iterative, Evolutionary and Agile
Ch
03 Case Studies
|
|
Post CH
|
HW3
|
HW1.1
= Download staruml from the Official
Site. http://staruml.io/
|
|
Post CH
|
LE3
|
LE1.1
= Read about the capability of staruml.
|
|
Post CH
|
QZ3
|
QZ1.1
= Write down the names of 11 kinds
of uml diagrams supported by startuml.
|
|
Notes:
Contact Hour 4
M1:
SDLC Models : Waterfall, Unified Process, Agile
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL4.1
|
RL1.3.1
= Agile Principles & Manifesto
RL1.3.2
= Xtreme Programming (XP)
RL
1.3.3 = Scrum
RL
1.3.4 = Agile Modelling
RL
1.3.5 = Test Driven Development
RL
1.3.6 = Refactoring & Continuous
Integration
|
|
Pre CH
|
RL4.2
|
RL1.4.1
= Introduction to OOA & OOD?
RL1.4.2
= Overview of UML
RL1.5.1
= Concept of Class & Object
RL1.5.2
= Class Relationships in UML
|
|
During CH
|
CH4
|
CS1.2.1
= Agile
Model, Agile Manifesto, Various Agile approaches like Scrum, XP, TDD,
Refactoring.
CS1.2.2= Give example of TDD and Refactoring in
case of coding.
CS1.2.3
= Concept of Class, Object and their
representation in UML
|
|
Post CH
|
SS4
|
Book: Larman (T1)
Part
II Inception
Ch
04 Inception is Not the Requirement Phase
Ch
05 Evolutionary Requirements
Ch
21 Test Driven Development and Refactoring
CH
22 UML Tools and UML as Blue Print
|
|
Post CH
|
HW4
|
Browse
the internet and find out very good video explaining Test Driven Development
approach with some source code.
|
|
Post CH
|
LE4
|
|
|
Post CH
|
QZ4
|
|
|
Notes:
Contact Hour 5
M2:
Starting with Object Oriented Analysis: Building Use Case Model
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL5.1
|
RL2.1.1
= Point of Sale (PoS) Case Study
RL2.1.2
= Requirement Categories – Functional
& Non Functional Requirements
RL2.1.3
= What is Use Case Diagram & Use
Cases?
|
|
Pre CH
|
RL5.2
|
RL2.2.1
= Drawing Use Case Diagram for PoS
|
|
During CH
|
CH5
|
CS2.1.1
= Give mall example as PoS case
study, First step in OOA is
requirement gathering and requirement categorization (Functional & Non
Functional)
CS2.1.2
= Explain difference between Use Case
Diagram and Use Cases. Use Case
Diagram is pictorial and Use Case is textual artefact.
CS2.1.3
= Demonstrate how Use Case Diagram
can be drawn for PoS Case Study.
|
|
Post CH
|
SS5
|
Book:
Larman (T1)
Chapter:
Part II Inception
Ch
6- Use cases
|
|
Post CH
|
HW5
|
|
|
Post CH
|
LE5
|
|
|
Post CH
|
QZ5
|
|
|
Notes:
Contact Hour 6
M2:
Starting with Object Oriented Analysis: Building Use Case Model
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL6.1
|
RL2.3.1
= Types of Use Cases
RL2.3.2
= Write Fully Dressed Use Case for one
scenario in PoS System.
RL2.3.3
= Styles of Use Cases
|
|
During CH
|
CH6
|
CS2.2.1
= Explain Fully dressed use case
syntax
CS2.2.2
= Demonstrate writing Fully Dressed
Use Case for Process Sale scenario in PoS case study.
|
|
Post CH
|
SS6
|
Book:
Larman (T1)
Chapter:
Part II Inception
Ch 7- Other Requirements
|
|
Post CH
|
HW6
|
HW2.1
= Go thru the Library Case study
provided as a part of Courseware Kit.
Draw Use Case Diagram and write fully dressed Use Case for any one
scenario from Library Case Study.
|
|
Post CH
|
LE6
|
|
|
Post CH
|
QZ6
|
|
|
Notes:
Contact Hour 7
M3:
Creating System Level Artefacts: Domain Model, SSD & Operation Contracts
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL7.1
|
RL3.1.1
= What is Domain Model?
RL3.1.2=
How Domain Model is represented in
UML?
RL3.1.3
= Identification of Domain Concepts from
Use Case
RL3.1.4
= Identification of relationship among
domain concepts
RL3.1.5
= Finding multiplicity among Domain
Concepts
RL3.1.6= Adding
attributes to Domain Model
RL3.1.7=
Significance of Domain Model
|
|
During CH
|
CH7
|
CS3.1.1
= Explain how Domain Concepts are
different than software classes, how domain concepts to be identified?
CS3.1.2
= How to identify Associations and
Multiplicity among domain concepts
CS3.1.3
= Explain how to add attributes to
Domain Model?
CS3.1.4
= Demonstrate drawing complete Domain
Model for PoS System
|
|
Post CH
|
SS7
|
Book: Larman (T1)
Chapter: Part III - Elaboration Iteration 1 - Basics
Ch 08 Iteration 1 - Basics
Ch 09 Domain Models
|
|
Post CH
|
HW7
|
|
|
Post CH
|
LE7
|
LE3.1
= Draw Domain Model for Library Case
Study.
|
|
Post CH
|
QZ7
|
|
|
Notes:
Contact Hour 8
M3:
Creating System Level Artefacts: Domain Model, SSD & Operation Contracts
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL8.1
|
RL3.2.1
= What is System Sequence Diagram?
RL3.2.2
= Drawing SSD for PoS
RL3.2.3=
Significance of SSD
|
|
Pre CH
|
RL8.2
|
RL3.3.1
= What is Operation Contract?
RL
3.3.2= Represent Operation Contract in
UML
RL3.3.3
= Writing Operation Contract for PoS
|
|
During CH
|
CH8
|
CS3.2.1
= Explain significance of SSD,
Operation Contracts
CS3.2.2
= Demonstrate drawing SSD and writing
operation contract for PoS System
|
|
Post CH
|
SS8
|
Book: Larman (T1)
Chapter: Part III - Elaboration Iteration 1 - Basics
Ch 10 System Sequence Diagrams
Ch 11 Operation Contracts
|
|
Post CH
|
HW8
|
|
|
Post CH
|
LE8
|
LE3.2
= Draw SSD for any once scenario of
Library Case Study Pick up any
LE3.3
= one operation from SSD and write
operation contract for the same.
|
|
Post CH
|
QZ8
|
|
|
Notes:
Contact Hour 9
M4:
Getting into Object Oriented Design : Refinements in Use Cases & Domain
Model, Interaction Diagrams, State Transition Diagram, Activity Diagram
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL9.1
|
RL4.1.1
= Relating Use Cases : includes,
extends relationships
RL4.1.2
= Refining Domain Model : Derived
Attributes
RL4.1.3
= Refining Domain Model : Association
Classes
|
|
Pre CH
|
RL9.2
|
R
RL4.2.1 = What is Interaction
Diagram?
RL4.2.2
= Types of Interactions Diagrams
RL4.2.3
= Representation of Interaction
Diagrams in UML
RL4.2.4= Drawing
Interaction Diagrams for PoS
|
|
During CH
|
CH9
|
CS4.1.1
= Explain how transition happens from
Object Oriented Analysis to Object Oriented Design? How OOA artefacts gets
utilized in OOD?
CS4.1.2
= Refinements done by Designer in Use
Case Model & Domain Model
CS4.1.3
= Demonstrate refinements in already
created Use Case Model and Domain Model for PoS System.
|
|
Post CH
|
SS9
|
Book: Larman (T1)
Chapter: Part III - Elaboration Iteration 1 - Basics
Ch 12 Requirement to Design - Iteratively
Ch 13 NOT IN COURSE- Covered in Software Architecture Course
Ch 14 On to Object Design
|
|
Post CH
|
HW9
|
|
|
Post CH
|
LE9
|
LE4.1
= Draw Sequence, Collaboration
diagrams for any one scenario in Library Case Study
|
|
Post CH
|
QZ9
|
|
|
Notes:
Contact Hour 10
M4:
Getting into Object Oriented Design : Refinements in Use Cases & Domain
Model, Interaction Diagrams, State Transition Diagram, Activity Diagram
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL10.1
|
RL4.1.1
= Relating Use Cases : includes,
extends relationships
RL4.1.2
= Refining Domain Model : Derived
Attributes
RL4.1.3
= Refining Domain Model : Association
Classes
|
|
Pre CH
|
RL10.2
|
RL4.2.1
= What is Interaction Diagram?
RL4.2.2
= Types of Interactions Diagrams
RL4.2.3
= Representation of Interaction
Diagrams in UML
RL4.2.4= Drawing
Interaction Diagrams for PoS
|
|
During CH
|
CH10
|
CS4.2.1
= Explain how an Interaction Diagram
plays an important role in Blueprint of the software? Types and syntax of Interaction Diagrams?
CS4.2.2
= Demonstrate drawing Sequence
Diagram, Collaboration Diagram for any one scenario of PoS System
CS4.2.3
= State Transition Diagram Syntax
& Activity Diagram Syntax. What is
different between them?
CS4.2.4
= Demonstrate drawing State Chart
Diagram, Activity Diagram for PoS System.
|
|
Post CH
|
SS10
|
Book: Larman (T1)
Chapter: Part III -
Elaboration Iteration 1 - Basics
Ch 15 UML Interaction Diagrams
Ch 16 UML Class Diagrams
Ch 22 UML Tools and UML as Blueprint
Part V Elaboration Iteration 3 - Intermediate Topics
Ch 27 Iteration 3 - Intermediate Topics
Ch 28 UML Activity Diagrams and Modeling
Ch 29 UML State Machine Diagrams and Modeling
Ch 30 Relating Use Cases
Ch 31 Domain Model Refinement
Ch 32 More SSDs and Contracts
|
|
Post CH
|
HW10
|
HW4.1
= Refine the Domain Model and Use
Case Model you created for Library Case Study.
|
|
Post CH
|
LE10
|
LE4.2
= Draw State Chart Diagram for
Library as a whole system. Pick up any
one key object in Library system and showcase how state transition happens
for this object in any specific scenario.
LE4.3
= Pick up any one scenario in
Library System and draw an Activity Diagram for the same.
|
|
Post CH
|
QZ10
|
|
|
Notes:
#MID-TERM EXAM
(MODULE 1 - 4) (ASHISH)
Contact Hour 11
M5:
Visibility between Objects, Class Diagram, Package Diagram
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL11.1
|
Review
|
|
During CH
|
CH11
|
To
be announced
|
|
Post CH
|
SS11
|
|
|
Post CH
|
HW11
|
|
|
Post CH
|
LE11
|
|
|
Post CH
|
QZ11
|
|
|
***
Contact Hour 12
M5:
Visibility between Objects, Class Diagram, Package Diagram
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL12.1
|
Review
|
|
During CH
|
CH12
|
To
be announced
|
|
Post CH
|
SS12
|
|
|
Post CH
|
HW12
|
|
|
Post CH
|
LE12
|
|
|
Post CH
|
QZ12
|
|
|
Notes:
Contact Hour 13
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL13.1
|
RL5.1.1
= What is Visibility among Objects
RL
5.1.2= Significance of finding
Visibility
RL5.1.3
= Types of Visibility – Attribute,
Parameter, Local & Global Visibility
RL5.1.4
= Attribute Visibility
RL5.1.5
= Parameter Visibility
RL5.1.6
= Local Visibility
RL
5.1.7= Global Visibility
|
|
Pre CH
|
RL13.2
|
RL5.2.1
= Use Domain Model to draw Class
Diagram
RL5.2.2
= Representing Class in UML
RL5.2.3
= Relationship among Classes in Class
Diagram
RL5.2.4
= Guidelines to draw Class Diagram
RL5.2.5
= Draw Class Diagram for PoS System
|
|
During CH
|
CH13
|
CS5.1.1
= Concept & Significance of
Visibility among Objects
CS5.1.2
= Types of Visibility with source code
example
CS1.1.3
= Transition from Domain Model to
Class Diagram
|
|
Post CH
|
SS13
|
Book: Larman (T1)
Chapter:
Ch 13 Logical Architecture and UML Package Diagram
Ch 16 UML Class Diagrams
Ch 19 Design for Visibility
|
|
Post CH
|
HW13
|
LE5.1
= Draw the Class and Package
diagrams for Library System
|
|
Post CH
|
LE13
|
RL5.1.1
= What is Visibility among Objects
RL
5.1.2= Significance of finding
Visibility
RL5.1.3
= Types of Visibility – Attribute,
Parameter, Local & Global Visibility
RL5.1.4
= Attribute Visibility
RL5.1.5
= Parameter Visibility
RL5.1.6
= Local Visibility
RL
5.1.7= Global Visibility
|
|
Post CH
|
QZ13
|
RL5.2.1
= Use Domain Model to draw Class
Diagram
RL5.2.2
= Representing Class in UML
RL5.2.3
= Relationship among Classes in Class
Diagram
RL5.2.4
= Guidelines to draw Class Diagram
RL5.2.5
= Draw Class Diagram for PoS System
|
|
Notes:
Contact Hour 14
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL14.1
|
RL5.3.1
= Grouping Classes in Package Diagram
RL5.3.2
= Level & Partitions for Package
Diagram
RL5.3.3
= Showing Dependency in Package
Diagram
RL5.3.4=
Guidelines for Package Diagram
RL5.3.5=
Drawing Package Diagram for PoS
System
|
|
During CH
|
CH14
|
CS5.2.1
= Drawing Class Diagram leveraging
Domain Model drawn by an Analyst
CS5.2.2
= Demonstrate drawing Class Diagram
for PoS System, show all types of visibility in Class Diagram
CS5.2.3=
Drawing package class diagram for PoS
System
|
|
Post CH
|
SS14
|
Book: Larman
Chapter:
Ch 19 Design for Visibility
Ch 20 Mapping Design to Code
Ch 35 Package Design
|
|
Post CH
|
HW14
|
HW5.1
= Browse the Internet and find out
code snippets which will indicate all 4 types of visibilities, i.e.
Attribute, Parameter, Local & Global visibility
|
|
Post CH
|
LE14
|
LE5.2
= Show all types of visibility in
Class & Package Diagrams
|
|
Post CH
|
QZ14
|
RL5.3.1
= Grouping Classes in Package Diagram
RL5.3.2
= Level & Partitions for Package
Diagram
RL5.3.3
= Showing Dependency in Package Diagram
RL5.3.4=
Guidelines for Package Diagram
RL5.3.5=
Drawing Package Diagram for PoS
System
|
|
Notes:
Contact Hour 15
M7: Design Patterns: Gang Of Four
(GoF) Patterns
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL15.1
|
RL6.1.1
= What is Pattern? What is Design
Pattern?
RL6.1.2
= Types of Design Patterns : GRASP, GoF
RL6.1.3
= Advantages of using Design Patterns
RL6.1.4
= Design Patterns : Designer’s and
Programmer’s perspective
|
|
Pre CH
|
RL15.2
|
RL6.2.1
= What is Responsibility Assignment Problem?
RL6.2.2
= GRASP Patterns – Information Expert,
Controller, Creator, Low Coupling & High Cohesion
RL6.2.3
= Information Expert Pattern – Problem
& Solution
RL6.2.4
= Application of Information Expert in
PoS System
RL6.2.5
= Controller Pattern – Problem &
Solution
RL6.2.6
= Application of Controller Pattern in
PoS System
RL6.2.7
= Creator Pattern – Problem &
Solution
RL6.2.8
= Application of Creator Pattern in
PoS System
|
|
Pre CH
|
RL15.3
|
RL
6.3.1= Low Coupling Pattern – Problem
& Solution
RL6.3.2
= Application of Low Coupling to
optimize the design
RL6.3.3
= High Cohesion Pattern – Problem
& Solution
RL6.3.4
= Application of High Cohesion Pattern
to optimize the design
|
|
During CH
|
CH15
|
CS6.1.1
= Explain meaning of Patterns, Design
Patterns and how they matter for Programmers and Designers?
CS6.1.2
= Introduce 5 GRASP Patterns, problem
and application of each pattern.
CS6.1.3
= Demonstrate the use of each of the
GRASP pattern for PoS System
|
|
Post CH
|
SS15
|
Book: Larman
Chapter:
Ch 17 GRASP: Designing Objects with Responsibility
Ch 18 Object Design Examples with GRASP
Ch 23 Iteration 2 - More Patterns
Ch 24 Quick Analysis Update
Ch 25 GRASP: More Objects with
Responsibility
|
|
Post CH
|
HW15
|
|
|
Post CH
|
LE15
|
|
|
Post CH
|
QZ15
|
|
|
Notes:
Contact Hour 16
M7: Design Patterns: Gang Of Four
(GoF) Patterns
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL16.1
|
RL6.4.1
= Additional Patterns : Polymorphism,
Pure Fabrication, Indirection & Protected Variation
RL
6.4.2= Polymorphism Pattern – Problem
& Solution
RL6.4.3
= Application of Polymorphism Pattern
to optimize the design
RL6.4.4
= Pure Fabrication Pattern – Problem
& Solution
RL6.4.5
= Application
of Pure Fabrication Pattern to optimize the design
RL
6.4.6= Indirection Pattern – Problem & Solution
RL6.4.7
= Application of Indirection Pattern
to optimize the design
RL6.4.8
= Protected Variation Pattern –
Problem & Solution
RL6.4.9
= Application of Protected Variation
Pattern to optimize the design
|
|
Pre CH
|
RL16.2
|
RL6.5.1=
Introduction to SOLID Design
Principles
RL6.5.2=
Single Responsibility Principle (SRP)
RL6.5.3=
Open-Closed Principle (OCP)
RL6.5.4=
Liskov Substitution Principle (LSP)
RL6.5.5=
Interface Segregation Principle (ISP)
RL6.5.6=
Dependency Inversion Principle (DIP)
|
|
During CH
|
CH16
|
CS6.2.1
= Some more patterns (3 Ps and 1 I)
and their application
CS6.2.2
= Demonstrate how these patterns will
be used in PoS System
CS6.2.3= Overview of all Design Principles and
their usage in real time examples
|
|
Post CH
|
SS16
|
|
|
Post CH
|
HW16
|
HW6.1
= Find out scope of applicability of
all 4 Design Principles in Library Case Study.
|
|
Post CH
|
LE16
|
LE6.1
= Refer other artefacts generated
(Interaction Diagram, Class Diagram etc.) for Library System and identify how
above learned patterns are getting applied over there. Make sure to cover each pattern studied.
|
|
Post CH
|
QZ16
|
|
|
Notes:
Contact Hour 17
M7: Design Patterns: Gang Of Four
(GoF) Patterns
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL17.1
|
RL
7.1.1= Adapter Pattern – Problem &
Solution
RL7.1.2
= Application of Adapter Pattern to
PoS
RL
7.1.3= Factory Pattern – Problem &
Solution
RL7.1.4
= Application of Factory Pattern to
PoS.
|
|
During CH
|
CH17
|
CS7.1.1
= Introducing GoF Patterns
CS7.1.2
= Explain Adapter & Factory
Patterns with help of coding example
CS7.1.3
= Showcase the use of above patterns
in PoS System
|
|
Post CH
|
SS17
|
|
|
Post CH
|
HW17
|
|
|
Post CH
|
LE17
|
|
|
Post CH
|
QZ17
|
|
|
Notes:
Contact Hour 18
M7: Design Patterns: Gang Of Four
(GoF) Patterns
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL18.1
|
RL
7.2.1= Singleton Pattern – Problem
& Solution
RL7.2.2
= Application of Singleton Pattern to
PoS.
RL
7.2.3= Strategy Pattern – Problem
& Solution
RL7.2.4
= Application of Strategy Pattern to
PoS.
|
|
During CH
|
CH18
|
CS7.2.1
= Explain Singleton & Strategy
Patterns with help of coding example
CS7.2.2
= Showcase the use of above patterns
in PoS System
|
|
Post CH
|
SS18
|
|
|
Post CH
|
HW18
|
|
|
Post CH
|
LE18
|
LE7.1
= Refer other artefacts generated
(Interaction Diagram, Class Diagram etc.) for Library System and identify how
above learned patterns are getting applied over there. Make sure to cover each pattern studied.
|
|
Post CH
|
QZ18
|
|
|
Notes:
Contact Hour 19
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL19.1
|
RL
8.1.1= Composite Pattern – Problem
& Solution
RL8.1.2
= Application of Composite Pattern to
PoS.
RL
8.1.3= Facade Pattern – Problem &
Solution
RL8.1.4
= Application of Facade Pattern to
PoS.
|
|
During CH
|
CH19
|
CS8.1.1
= Explain Composite & Facade
Patterns with help of coding example
CS8.1.2
= Showcase the use of above patterns
in PoS System
|
|
Post CH
|
SS19
|
Book: Larman
Chapter: Ch 26: Applying GoF Design Patterns
|
|
Post CH
|
HW19
|
|
|
Post CH
|
LE19
|
|
|
Post CH
|
QZ10
|
|
|
Notes:
Contact Hour 20
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL20.1
|
RL
8.2.1= Observer/Delegation
Event/Publish Subscribe Pattern – Problem & Solution
RL8.2.2
= Application of Publish Subscribe
Pattern to PoS.
|
|
During CH
|
CH20
|
CS8.2.1
= Explain concept of event source and
event handler. How it is called as
Observer as well as Publish-Subscribe Pattern?
CS8.2.2
= Explain above pattern by means of
source code & event handling in UI
CS8.2.3
= Showcase the use of above pattern in
PoS System
|
|
Post CH
|
SS20
|
SS8.1
= Find out the list of GoF
Patterns which you have not studied.
Make list of such patterns in problem and solution format.
|
|
Post CH
|
HW20
|
SS8.1 = Find out the list
of GoF Patterns which you have not studied.
Make list of such patterns in problem and solution format.
Book: Gamma
Browse through the
entire book and have a brief idea of each of the GoF Patterns. Though you may not have an expert level
understanding of the patterns, you are expected to be able to recognise all
patterns and know their applications.
|
|
Post CH
|
LE20
|
LE8.1
= Refer other artefacts generated
(Interaction Diagram, Class Diagram etc.) for Library System and identify how
above learned patterns are getting applied over there. Make sure to cover each pattern studied.
|
|
Post CH
|
QZ20
|
|
|
Notes:
Contact Hour 21
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL21.1
|
Review
|
|
During CH
|
CH21
|
To
be announced
|
|
Post CH
|
SS21
|
|
|
Post CH
|
HW21
|
|
|
Post CH
|
LE21
|
|
|
Post CH
|
QZ21
|
|
|
Notes:
Contact Hour 22
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL22.1
|
Review
|
|
During CH
|
CH22
|
To
be announced
|
|
Post CH
|
SS22
|
|
|
Post CH
|
HW22
|
|
|
Post CH
|
LE22
|
|
|
Post CH
|
QZ22
|
|
|
Lab work: Detailed Plan
Lab
Objective
|
For
Library scenario described below (at the end of this document), do the
following using Star UML tool where ever possible:
1.
Requirement gathering
a.
Identify the actors and their needs
b.
Draw Use case diagram
c.
Write use cases for Issue book & Return book
2.
Analysis
a.
Draw the domain model for the system
b.
Draw activity diagram for Issue book
c.
Identify the states of a book and draw a state
transition diagram for Book
3.
Design
a.
Draw sequence diagrams to realize the use cases
“Issue book” and “Return book”
b.
Draw Software Class diagram based the analysis and
design done
4.
Evaluate quality of design
a.
Given a software class diagram, evaluate the
quality of the design based on the characteristics such as Coupling,
cohesion, maintainability, etc.
|
Work integrated activities: Detailed
plan
Activity
description
|
Choose a
system developed in your organization. (Make sure the system is not chosen by
any other group).
1.
Understand the purpose, functions & features
supported by the system. (You may have to meet & discuss with the team
that has developed the system).
Submit a
1-page write up. Duration: 2 weeks
2.
Understand the analysis & design of the
system. (You may have to look at the design documents, speak to architect /
designer).
Submit Domain
model, System sequence diagram for 4 main use cases, Sequence diagram or
Collaboration diagram for 4 main operations and Software class diagram
consisting of main classes. Duration: 3 weeks
3.
Make a presentation consisting of
●
System overview
●
System analysis
●
Software design
●
Your observations on the quality of design
(characteristics of good design)
●
Your recommendations to improve the design
Duration:
2 weeks
|
Project work: Detailed Plan
Objective
of the project: Apply OOAD techniques to design of
software
Tasks to be performed
by the students, in groups of 4:
1.
Briefly describe a software
application that you want to develop (1 week)
2.
Define the requirements using Use
case diagram and Use cases (1 week)
3.
Analyze the requirements and
create Domain model, State diagrams (2 weeks)
4.
Draw the Sequence diagram for key
use cases (2 weeks)
5.
Draw the Software class diagram
for the application (1 week)
6.
Discuss: What were the key
learnings from this assignment?
Duration of the project:
7 weeks
Appendix:
Product description
document should contain:
1.
Name of the product:
2.
Purpose of the product:
3.
Target users:
4.
What pain point does the product try to alleviate:
5.
Functions supported by the product:
|
Case studies: Detailed Plan
Case study No
|
Case study
Objective
|
Case study
Sheet Access URL
|
1
|
Demonstrate
real life Use cases
|
TBD
|
2
|
Demonstrate
real life artifacts such as Swim lane diagram, activity diagram and state
diagrams
|
TBD
|
3
|
Demonstrate
real life Sequence diagrams
|
TBD
|
4
|
Demonstrate
real life Software Class diagram
|
TBD
|
Evaluation Scheme:
Legend: EC = Evaluation Component; AN = After Noon Session; FN =
Fore Noon Session
No
|
Name
|
Type
|
Duration
|
Weight
|
Day,
Date, Session, Time
|
EC-1
|
Quiz-I/ Assignment-I
|
Online
|
-
|
5%
|
February
1 to 10, 2017
|
|
Quiz-II
|
Online
|
-
|
5%
|
March
1 to 10, 2017
|
|
Quiz-III
|
Online
|
-
|
5%
|
March
20 to 30, 2017
|
|
Lab / Assignment
|
Online
|
|
10%
|
To
be announced
|
Mid-Semester
Test
|
Closed
Book
|
2
hours
|
30%
|
26/02/2017 (FN) 10 AM- 12 Noon
|
|
EC-3
|
Comprehensive
Exam
|
Open
Book
|
3
hours
|
45%
|
09/04/2017 (FN) 9 AM – 12 Noon
|
Syllabus for Mid-Semester Test (Closed Book): Topics in Session
Nos. 1 to 11
Syllabus for Comprehensive Exam (Open Book): All topics (Session
Nos. 1 to 22)
Important links and
information:
Elearn portal: https://elearn.bits-pilani.ac.in
Students are expected to visit the Elearn portal on a regular
basis and stay up to date with the latest announcements and deadlines.
Contact sessions: Students should
attend the online lectures as per the schedule provided on the Elearn portal.
Evaluation Guidelines:
1.
EC-1 consists of either two Assignments or three Quizzes.
Students will attempt them through the course pages on the Elearn portal.
Announcements will be made on the portal, in a timely manner.
2.
For Closed Book tests: No books or reference material of any
kind will be permitted.
3.
For Open Book exams: Use of books and any printed / written
reference material (filed or bound) is permitted. However, loose sheets of
paper will not be allowed. Use of calculators is permitted in all exams.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not
allowed.
4.
If a student is unable to appear for the Regular Test/Exam due
to genuine exigencies, the student should follow the procedure to apply for the
Make-Up Test/Exam which will be made available on the Elearn portal. The
Make-Up Test/Exam will be conducted only at selected exam centres on the dates
to be announced later.
It shall be the responsibility of the individual student to be
regular in maintaining the self study schedule as given in the course handout,
attend the online lectures, and take all the prescribed evaluation components
such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to
the evaluation scheme provided in the handout.
No comments:
Post a Comment