Two days workshop on�“Design thinking -OOMD Star-UML “
10.00 am to 05.00 pm daily
Organized by
IIC-IQAC & AI&DS Department
06th & 7th Jan 2026
IIC Id- IC202218599
Workshop Overview
Workshop Objectives
• Understand Design Thinking methodology
• Apply Object-Oriented Modeling & Design concepts
• Develop UML diagrams using StarUML
• Enhance industry-ready design skills
Contents -
Design Thinking
Stages of Design Thinking
What Is a Model?
Why Model?
What Is the UML?
the artifacts of a software-intensive system.
The UML Is a Language for Visualizing
The UML Is a Language for Specifying
The UML Is a Language for Constructing
The UML Is a Language for Documenting
Use Case Diagram
Actor A
Use Case 1
Use Case 2
Use Case 3
Actor B
Class Diagram
GrpFile
read( )
open( )
create( )
fillFile( )
rep
Repository
name : char * = 0
readDoc( )
readFile( )
(from Persistence)
FileMgr
fetchDoc( )
sortByName( )
DocumentList
add( )
delete( )
Document
name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
sortFileList( )
create( )
fillDocument( )
fList
1
FileList
add( )
delete( )
1
File
read( )
read() fill the
code..
Sequence Diagram
user
mainWnd
fileMgr :
FileMgr
repository
document :
Document
gFile
1: Doc view request ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sortByName ( )
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
ÈÀϰü¸®ÀÚ´Â Àоî¿Â
¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È¸é °´Ã¼´Â ÀоîµéÀÎ
°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡
º¸¿©ÁØ´Ù.
Deployment Diagram
Window95
¹®¼°ü¸®
Ŭ¶óÀ̾ðÆ®.EXE
Windows
NT
¹®¼°ü¸® ¿£Áø.EXE
Windows
NT
Windows95
Solaris
ÀÀ¿ë¼¹ö.EXE
Alpha
UNIX
IBM
Mainframe
µ¥ÀÌŸº£À̽º¼¹ö
Windows95
¹®¼°ü¸® ¾ÖÇø´
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨
- À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ®
- À©µµ¿ì NT: ÀÀ¿ë¼¹ö
- À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼¹ö ¹× µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö
- IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö
History of the UML
UML 1.0
(Jan. ‘97)
UML 1.1
(Sept. ‘97)
UML 1.5
(March, ‘03)
UML 2.0
(2004)
Other
Methods
Booch ‘91
OMT - 1
OOSE
Booch ’93
OMT - 2
Public
Feedback
Unified Method 0.8
(OOPSLA ’95)
UML 0.9
(June ‘96)
UML 0.91
(Oct. ‘96)
and
Diagrams
UML Diagrams in Software Architecture
Behavioral Diagrams
Structural Diagrams
Activity
Diagrams
Sequence
Diagrams
Communication
Diagrams
State Machine
Diagrams
Deployment
Diagrams
Component
Diagrams
Composite
Structure
Diagrams
Class
Diagrams
Use-Case
Diagrams
Model
Software Architecture: The “4+1 View” Model
Process View
Deployment View
Logical View
Use-Case View
Implementation View
End-user
Functionality
Programmers
Software management
Performance
Scalability
Throughput
System integrators
System topology
Delivery, installation
communication
System engineering
Analysts/Designers
Structure
Visual Modeling Using UML Diagrams
Actor A
Use Case 1
Use Case 2
Actor B
user : Clerk
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repository
document : Document
gFile : GrpFile
9: sortByName ( )
L
1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
Window95
¹®¼°ü¸®
Ŭ¶óÀ̾ðÆ®.EXE
Windows
NT
¹®¼°ü¸® ¿£Áø.EXE
Windows
NT
Windows95
Solaris
ÀÀ¿ë¼¹ö.EXE
Alpha
UNIX
IBM
Mainframe
µ¥ÀÌŸº£À̽º¼¹ö
Windows95
¹®¼°ü¸® ¾ÖÇø´
Document
FileManager
GraphicFile
File
Repository
DocumentList
FileList
user
mainWnd
fileMgr :
FileMgr
repository
document :
Document
gFile
1: Doc view request ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sortByName ( )
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
ÈÀϰü¸®ÀÚ´Â Àоî¿Â
¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È¸é °´Ã¼´Â ÀоîµéÀÎ
°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡
º¸¿©ÁØ´Ù.
Forward and Reverse Engineering
Target
System
Use Case 3
Use-case�diagram
Class diagram
Collaboration diagram
Sequence �diagram
Component �diagram
Statechart�diagram
GrpFile
read( )
open( )
create( )
fillFile( )
rep
Repository
name : char * = 0
readDoc( )
readFile( )
(from Persistence)
FileMgr
fetchDoc( )
sortByName( )
DocumentList
add( )
delete( )
Document
name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
sortFileList( )
create( )
fillDocument( )
fList
1
FileList
add( )
delete( )
1
File
read( )
read() fill the
code..
Deployment �diagram
UML v 2 Diagrams :
Behavior Diagrams
1.Use Case Diagram 2.Activity Diagram
3.State Machine Diagram.
Interaction Diagrams,
4. Sequence D 6. Interaction Overview D
5. Communication D 7.Timing Diagram
Structure Diagrams
8.Class Diagram 11. Object Diagram
9. Component D 12.Composite Structure
10. Package D 13.Deployment D
Key Diagrams in UML
Requirements
System Structure
System Behaviour
Use Case Diagrams
Interaction Diagrams
Activity Diagrams
State Charts
Class Diagrams
Collaboration Diagrams
Different diagrams of system for different people
Process View
Deployment View
Logical View
Use-Case View
Implementation View
End-user
Functionality
Programmers
Software management
Performance, scalability, throughput
System integrators
System topology, delivery,
installation, communication
System engineering
Analysts/Designers
Structure
What is a Use-Case Model?
A use-case model:
Use-Case Diagram (Example)
View Report Card
Student
Register for Courses
Login
Select Courses to
Teach
Submit Grades
Professor
Registrar
Billing System
Maintain Professor
Information
Maintain Student
Information
Close Registration
Course Catalog
Activity Diagram
Action
A step in the flow of events
Decision
Flows split based on a guard
condition
Flow
Show the sequence of
activities
Fork
Beginning of concurrent flows
Join
End of concurrent flow
Activity Diagram (Example)
Synchronization
Bar (Fork)
Guard
Condition
Synchronization
Bar (Join)
Decision
Concurrent Threads
Transition
Select Course
[ add course ]
Check
Schedule
Check
Pre-requisites
Assign to
Course
Resolve
Conflicts
Update
Schedule
Delete Course
[ checks completed ]
[ checks failed ]
[ delete course ]
Activity/Action
What is a Design Model?
A design model:
Class Diagram (Design Model)��Class diagrams show the static structure of the model, in particular, its classes, their internal structure, and their relationships to other classes. Class diagrams do not show temporal information.
Class
A description of a set �of objects
Attribute�Named property of �a class
Aggregation�Represents a part-whole �relationship
Operation
Class behavior
Generalization�Shows an inheritance �relationship
Sequence Diagram �used to show how objects interact to perform the behavior of all or part of a use case as part of a use-case realization.
Lifeline
Shows the life of the object
Object/Class
Shows the object/class involved in the interaction
Messages
Show data exchanged�between objects
Execution Occurrence
Shows object executing
Sequence Diagram (Example)
Activity/Action
1: create schedule( )
2: get course offerings( )
3: get course offerings(for Semester)
4: get course offerings( )
6: display blank schedule( )
:RegisterForCoursesForm
:RegistrationController
SWTSU Catalog :
CourseCatalogSystem
: Student
: Course Catalog
5: display course offerings( )
Select Offerings
ref
Sequence Diagram: Combined Fragments
Interaction Use (ref)
References another interaction
Optional Fragment (opt)
Executed if guard condition evaluates to true
Loop (loop)
Executed as long as the first guard condition�evaluates to true
Communication (Collaboration) Diagram ��provide another way to show how objects interact to perform the behavior of a particular use case or a part of a use case. Where sequence diagrams emphasize the interactions of objects over time, communication diagrams are designed to emphasize the relationships between objects.
Object/Class
Shows the object/class involved in the interaction
Message
Shows data �exchanged�between objects
Communication Diagram (Example)
: Student
: RegisterForCoursesForm
: RegistrationController
: CourseCatalogSystem
5: display course offerings( )
6: display blank schedule( )
: Course Catalog
1: create schedule( )
2: get course offerings( )
3: get course offerings(forSemester)
4: get course offerings( )
Links
Messages
Component Diagram
Component
Modular parts of the system
Class
Included to show implementation�relationships.
It shows the runtime structure of the system at the level of software components. Components are the modular parts of the system and are made up of groups of related objects that are hidden behind an external interface.
Deployment Diagram
Artifact
Represents a physical file
Node
Represents a �physical machine
Owned Element �Relationship
Shows another way of �showing nested elements
Deployment diagrams show the deployment architecture of the system, that is, which of the system’s software artifacts reside on which pieces of hardware.
How Many Diagrams Need to be Created?
References
Objectives:
Requirements in Context
Management
Environment
Test
Analysis & Design
Preliminary �Iteration(s)
Iter.�#1
Iter.�#2
Iter.�#n
Iter.�#n+1
Iter.�#n+2
Iter.�#m
Iter.�#m+1
Configuration & Change Mgmt
Requirements
Elaboration
Transition
Inception
Construction
The purpose of Requirements is:
What Are the Benefits of a Use-Case Model?
Relevant Requirements Artifacts
Supplementary
Specification
Glossary
Use-Case Specifications
...
Use-Case Model
Actors
Use Cases
Case Study: Course Registration Problem Statement
Major Concepts in Use-Case Modeling
Use Case
Actor
Problem Analysis Steps
Problem Analysis Roadmap
Elicit Requirements
Expand stakeholder list for solution.
Choose the best solution(s) to meet the goals.
Best solution identified
Problem validated/adjusted
Business problem defined
Actual problem identified
and defined
Identify stakeholders for problem.
Root cause analysis.
Reassess that the solution idea is the best solution.
Understand the problem in the context of the business goals.
Business
Problem
Solution idea or Opportunity
Stakeholders: Definitions
Identify the Stakeholders
Who are some of the stakeholders for your projects?
Describe Stakeholders in the Vision Document
Stakeholder | Registrar |
Representative | Kelly Hansen |
Description | User |
Type | The Registrar is typically a college-educated professional with full computer skills. The Registrar is trained and experienced with the use of the current batch-oriented registration . |
Responsibilities | The Registrar is responsible for administering course registration for each school term. This includes supervising administrative and data entry personnel. |
Success Criteria | The registrar’s primary responsibility will be maintaining student and professor databases, and opening/closing courses to registration. The registrar’s office will also be required to perform …. |
Involvement | The registrar’s primary responsibility will be maintaining student and professor databases, and opening/closing courses to registration. The registrar’s office will also be required to perform….. |
Deliverables | Management reviewer – especially related to functionality and usability of features required by the Registrar staff. |
Comments/ Concerns | None |
What Is the Problem Behind the Problem?
Fishbone Diagram Techniques
List contributing causes to the identified problem.�Keep asking “Why?” (expand each rib).
The perceived business problem.
No Banking at night
Too much waiting
Want Privacy
when banking
Customers are dissatisfied with our service.
Banking in airports
Want more banking
locations
Queues in the
branches are too long
Problem Analysis – Validating a Solution
List the reasons why the solution is the right solution.�Keep asking “Why?” (expand each rib).
No Banking at night
Too much waiting
Customers are dissatisfied with
our service
We need ATMs.
Banking in airports
Want more banking
locations
Queues in the
branches are too long
The perceived solution to some ill-defined problem.
Focus on Largest Contributors - Pareto’s Law
Benefit
Effort
20%
80%
Rank in order. Use the 80-20 Rule to focus on the top contributing causes to address the greatest portion of the problem.
20% of the effort yields 80% of the benefit.
Understand the Broader Context of the Problem
Requirements Overview Topics
Major Use-Case Modeling Elements
Actor
Someone/something outside the system, acting in a role that interacts with the system
Use case
Represents something of value that the system does for its actors
Actor
Use Case
Define Actors: Focus on the Roles
?
What Is System Behavior?
What Is a Use Case?
defines a sequence of actions
performed by a system
that yields an observable result of value
to an actor.
A use case
Use Case Name
Use Cases Contain Software Requirements
What Is a Use-Case Model?
Student
View Report Card
Register for Courses
Login
How Should I Name a Use Case?
Which variations show the value to the actor? Which do not?
Which would you choose as the use-case name? Why?
Identify Use Cases
Identify Actors
Find Actors
Student
Registrar
Registration System
The student never touches the system; the registrar operates it.
Or, are you building an Internet application?
Online Registration System
(www.college.edu)
Student
Who is pressing the keys (interacting with the system)?
Description of an Actor
Text
Name Student
Brief description A person who signs up for a course.
Relationships with
use cases
Register for Courses
Student
Use-Case-Model
Survey
Steps for Creating a Use-Case Model
How Would You Read This Diagram?
Course Catalog
View Report Card
Register for Courses
Submit Grades
Select Courses to Teach
Student
Professor
Billing System
Maintain Student Information
Maintain Professor Information
Login
Close Registration
Registrar
Global Use case Diagram
Use-Case Specifications
Use-Case Specifications
...
Use-Case Model
Actors
Use Cases
Use-Case Flow of Events
What Are Scenarios ?
What Is an Activity Diagram?
Flow of Events
This use case starts when the Registrar requests that the system close registration.
1. The system checks to see if registration is in progress. If it is, then a message is displayed to the Registrar and the use case terminates. The Close Registration processing cannot be performed if registration is in progress.
2. For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered. If so, the system commits the course offering for each schedule that contains it.�
Objectives: Concepts of Object Orientation
Best Practices Implementation
What is Object Technology ?
What Is Object Technology?
Strengths of Object Technology
What Is a Model?
What is Model?
Model is :
Why Do We Model?
What Is an Object?
Truck
Chemical Process
Linked List
A More Formal Definition
Object
Operations
Attributes
Object ?
An Object Has State
Name: J Clark
Employee ID: 567138
HireDate: 07/25/1991
Status: Tenured
Discipline: Finance
MaxLoad: 3
Name: J Clark
Employee ID: 567138
Date Hired: July 25, 1991
Status: Tenured
Discipline: Finance
Maximum Course Load: 3 classes
Professor Clark
An Object Has Behavior
Professor Clark’s behavior
Submit Final Grades
Accept Course Offering
Take Sabbatical
Maximum Course Load: 3 classes
SubmitFinalGrades()
AcceptCourseOffering()
TakeSabbatical()
Professor Clark
SetMaxLoad()
An Object Has Identity
Professor “J Clark” teaches Biology
Professor “J Clark” teaches Biology
Representing Objects in the UML
Named Object
Unnamed Object
Professor J Clark
Basic Principles of Object Orientation
Object Orientation
Encapsulation
Abstraction
Hierarchy
Modularity
What Is Abstraction?
Abstraction :
Abstraction Example :
Example: Abstraction
Student
Professor
Course Offering (9:00 AM,
Monday-Wednesday-Friday)
Course (e.g. Algebra)
What Is Encapsulation?
Improves Resiliency
Encapsulation ?
Example on Encapsulation ?
Encapsulation Illustrated
SubmitFinalGrades()
AcceptCourseOffering()
TakeSabbatical()
Professor Clark
SetMaxLoad()
Name: J Clark
Employee ID: 567138
HireDate: 07/25/1991
Status: Tenured
Discipline: Finance
MaxLoad:4
SetMaxLoad(4)
What Is Modularity?
Example: Modularity
Course Registration System
?
Billing System
Course Catalog System
Student Management System
What Is Hierarchy?
Decreasing
abstraction
Increasing
abstraction
Asset
RealEstate
Savings
BankAccount
Checking
Stock
Security
Bond
Elements at the same level of the hierarchy should be at the same level of abstraction.
What Is a Class?
Representing Classes in the UML
Professor J Clark
The Relationship Between Classes and Objects
Professor Paul Meijer
Professor Tom Allen
Professor Jane Torpie
What Is an Attribute?
Attributes
What Is an Operation?
Operations
What Is Polymorphism?
Manufacturer A
Manufacturer B
Manufacturer C
OO Principle:�Encapsulation
Example: Polymorphism
Stock
Bond
Mutual Fund
Get Current Value
getCurrentValue()
getCurrentValue()
getCurrentValue()
What is an Interface?
Realization relationship
(stay tuned for realization relationships)
Shape
draw()
move()
scale()
rotate()
<<Interface>>
Tube
Pyramid
Cube
How Do You Represent An Interface?
Elided/Iconic Representation�(“lollipop”)
Canonical (Class/Stereotype) Representation
(stay tuned for realization relationships)
Shape
draw()
move()
scale()
rotate()
<<Interface>>
Shape
Tube
Pyramid
Cube
Tube
Pyramid
Cube
What Is a Package?
University
Artifacts
What is a Subsystem?
OO Principles: Encapsulation and Modularity
Interface
Realization
Subsystem
(stay tuned for realization relationship)
Subsystem
Name
<<subsystem>>
Interface
What is a Component?
Source File
Name
<<EXE>>
Executable
Name
OO Principle:�Encapsulation
<<DLL>>
Component
Name
Component Interface
Subsystems and Components
Design Model
Implementation Model
Component
Name
<<subsystem>>
Component Name
Component Interface
Component Interface
OO Principles: Encapsulation and Modularity
What Is an Association?
Course
<<entity>>
Student
<<entity>>
Schedule
<<entity>>
What Is Multiplicity?
Professor
<<entity>>
CourseOffering
<<entity>>
0..1
0..*
0..1
0..*
instructor
Multiplicity Indicators
2..4
0..1
1..*
0..*
1
*
2, 4..6
What Is Aggregation?
Part
Whole
0..1
1
1
0..1
What Is Navigability?
RegistrationController
<<control>>
CourseOffering
<<entity>>
Schedule
<<entity>>
Relationships: Dependency
Package
Class
Dependency relationship
Dependency relationship
Component
Client
Supplier
ClientPackage
SupplierPackage
Client
Supplier
What Is Generalization?
Example: Single Inheritance
Checking
Savings
Superclass (parent)
Subclasses
Generalization Relationship
Ancestor
Descendents
Example: Multiple Inheritance
Use multiple inheritance only when needed and
always with caution!
FlyingThing
Animal
Horse
Wolf
Bird
Helicopter
Airplane
Multiple Inheritance
What Gets Inherited?
Inheritance leverages the similarities among classes
Example: What Gets Inherited
Truck
tonnage
GroundVehicle
weight
licenseNumber
Car
owner
register( )
getTax( )
Person
0..*
Trailer
1
Superclass (parent)
Subclass
generalization
size
What Is Realization?
Elided form
Canonical form
Use-Case Realization
Use-Case
Subsystem
<<subsystem>>
Interface
Class
Interface
Interface
What Are Stereotypes?
Stereotype
What Are Notes?
MaintainScheduleForm
There can be up to one
MaintainScheduleForm
per user session.
Tagged Values
PersistentClass�{persistence}
anObject : ClassA�{location=server}
Class Relationships
Class diagrams may contain the following relationships:
OR
OR
OR
Association
OR
Aggregation
OR
Composition
OR
Generalization
Dependency
Realization
Review: Concepts of Object Orientation
Review: Concepts of Object Orientation (continued)
Review: OOAD
OOAD :
Divides the problem into set of objects that interacts to solve the problem .
Why OOAD ?
1.As Software industries are Complex,labour Intensive i.e., too many people is doing too many things we can’t predict any ting.
2.To avoid redundancy (duplication of Component)
3.Obaject can help to increase modularity.
Example: Activity Diagram
Select
Course
Check
Schedule
Check
Pre-requisites
Assign to
course
Resolve
conflicts
Update
schedule
[ student added to the course ]
[ add course ]
Delete Course
[ delete course ]
[ checks completed ]
[ checks failed ]
Activity State
Synchronization Bar (Fork)
Guard Condition
Synchronization Bar (Join)
Decision
Concurrent threads
Transition