Course Handout-SE ZG512 - Object Oriented Analysis and Design PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK INTEGRATED LEARNING PROGRAMMES


COURSE HANDOUT

Part A: Content Design

Course Title OBJECT ORIENTED ANALYSIS AND DESIGN


Course No(s) SS ZG514/SE ZG512
Credit Units 4 (1+ 1+ 2)
1 unit for class room hours, 1 unit for project hours, 2 units for student
preparation.
Typically 1 unit translates to 32 hours
Course Author YASHVARDHAN SHARMA
Version No
Date

Course Objectives
No Objective

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)
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 http://www.uml-diagrams.org
R4 http://www.martinfowler.com
R5 http://www.objectmentor.com

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


Academic Term FIRST SEMESTER 2020-2021
Course Title OBJECT ORIENTED ANALYSIS AND DESIGN
Course No SS ZG514/SE ZG512
Lead Instructor YASHVARDHAN SHARMA

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 22 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. Contact Hour (CS) stands for a two-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 11 CS.
a. Pre CS = Self Learning done prior to a given contact session
b. During CS = Content to be discussed during the contact session by the course
instructor
c. Post CS = Self Learning done post the contact session
3. 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
4. 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.
5. LE stands for Lab Exercises
6. HW stands for Home Work.
7. M stands for module. Module is a standalone quantum of designed content. A typical course
is delivered using a string of modules. M2 means module 2.

Teaching Methodology (Flipped Learning Model)


The pedagogy for this course is centered around flipped learning model in which the traditional class-
room instruction is replaced with recorded lectures to be watched at home as per the student’s
convenience and the erstwhile home-working or tutorials become the focus of classroom contact
sessions. Students are expected to finish the home works on time.

Contact Session Plan


o Each Module (M#) covers an independent topic and module may encompass more than one
Recorded Lecture (RL).
o Contact Sessions (2hrs each week) are scheduled alternate weeks after the student watches
all Recorded Lectures (RLs) of the specified Modules (listed below) during the previous week
o In the flipped learning model, Contact Sessions are meant for in-classroom discussions on
cases, tutorials/exercises or responding to student’s questions/clarification--- may encompass
more than one Module/RLs/CS topic.
o Contact Session topics listed in course structure (numbered CSx.y) may cover several RLs;
and as per the pace of instructor/students’ learning, the instructor may take up more than one
CS topic during each of the below sessions.

Detailed Structure
Introductory Video/Document: << Introducing the faculty, overview of the course, structure and
organization of topics, guidance for navigating the content, and expectations from students>>

▪ Each of the sub-modules of Recorded Lectures (RLx.y ) shall delivered via 30 – 60mins
videos followed by:
▪ Contact session (CSx.y) of 2Hr each for illustrating the concepts discussed in the videos with
exercises, tutorials and discussion on case-problems (wherever appropriate); contact sessions
(CS) may cover more than one recorded-lecture (RL) videos.
Course Contents

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

HW1 HW0.1 = Visit http://www.uml-diagrams.org

LE1 None

QZ1 QZ0.1 = List the main diagram types available under


uml 2.0

Lab Reference

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

HW2

LE2

QZ2

Lab Reference

Contact Hour 3
M1: SDLC Models: Waterfall, Unified Process, Agile
Time 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?

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 = Read Ch 1 and Ch 2 of Text Book: T1

HW3 HW1.1 = Download staruml from the Official Site.


http://staruml.io/

LE3 LE1.1 = Read about the capability of staruml.

QZ3 QZ1.1 = Write down the names of 11 kinds of uml


diagrams supported by startuml.

Lab Reference

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

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

HW4 Browse the internet and find out very good video explaining
Test Driven Development approach with some source code.

LE4

QZ4

Lab Reference

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?

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

HW5

LE5

QZ5

Lab Reference

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

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.

LE6

QZ6

Lab Reference

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

HW7

LE7 LE3.1 = Draw Domain Model for Library Case Study.

QZ7

Lab Reference

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

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

HW8

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.

QZ8

Lab Reference

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

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
HW9

LE9 LE4.1 = Draw Sequence, Collaboration diagrams for any


one scenario in Library Case Study

QZ9

Lab Reference

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

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

HW10 HW4.1 = Refine the Domain Model and Use Case Model
you created for Library Case Study.

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.

QZ10

Lab Reference
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

HW11

LE11

QZ11

Lab Reference

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

HW12

LE12

QZ12

Lab Reference

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

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

HW13 LE5.1 = Draw the Class and Package diagrams for


Library System

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

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

Lab Reference

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 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

HW14 LE5.2 = Show all types of visibility in Class & Package


Diagrams
LE14

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

Lab Reference

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

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

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

HW15

LE15

QZ15
Lab Reference

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

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

HW16 HW6.1 = Find out scope of applicability of all 4 Design


Principles in Library Case Study.

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.

QZ16

Lab Reference
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

HW17

LE17

QZ17

Lab Reference

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

HW18

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.

QZ18

Lab Reference
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

HW19

LE19

QZ10

Lab Reference

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.

HW20

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.

QZ20

Lab Reference
Contact Hour 21
Time Type Sequence Content
Reference

Pre CH RL21.1 Review

During CH CH21 To be announced

Post CH SS21

HW21

LE21

QZ21

Lab Reference

Contact Hour 22
Time Type Sequence Content
Reference

Pre CH RL22.1 Review

During CH CH22 To be announced

Post CH SS22

HW22

LE22

QZ22

Lab Reference
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 Case study Objective Case study Sheet


study Access URL
No

1 Demonstrate real life Use cases

2 Demonstrate real life artifacts such as Swim lane diagram, activity


diagram and state diagrams

3 Demonstrate real life Sequence diagrams

4 Demonstrate real life Software Class diagram

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% September 10-20, 2020
Quiz-II Online 5% October 20-30, 2020

Lab / Assignment Online 10% November 10-20, 2020

EC-2 Mid-Semester Test Closed Book 2 hours 30% Sunday, 11/10/2020 (FN)
10 AM - 12 Noon
EC-3 Comprehensive Open Book 3 hours 50% Sunday, 29/11/2020 (FN)
Exam 9 AM – 12 Noon
Note - Evaluation components can be tailored depending on the proposed model.

Important Information:
Syllabus for Mid-Semester Test (Closed Book): Topics in CS 1-5.
Syllabus for Comprehensive Exam (Open Book): All topics given in plan of study
Evaluation Guidelines:
1. For Closed Book tests: No books or reference material of any kind will be permitted.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
2. For Open Book exams: Use of prescribed and reference text books, in original (not
photocopies) is permitted. Class notes/slides as reference material in filed or bound form 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.
3. 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. The genuineness of
the reason for absence in the Regular Exam shall be assessed prior to giving permission to
appear for the Make-up Exam. 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 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.

You might also like