BITS WILP Object Oriented Analysis And Design Handout 2017-H1


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, Cambridge University Press, 2005
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
HW0.1 =     Visit http://www.uml-diagrams.org
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 
EC-2
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