Requirements
Engineering:
Domain Models	
CECS 542
Dr.	Birgit	Penzenstadler	 1	
Photo	credit:	John	Towner,	Unsplash
Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary
Today‘s	learning	goals	
•  What	is	a	domain	model?	
–  Defini?on,	characteris?cs	
–  Rela?ons	to	other	RE	content	
	
•  Overview	of	
–  Types	of	domain	models	
–  Method	for	development	
	
•  Domain	model	in	AMDiRE	
•  What	are	typical	problems?	
2
Defini?on	
A	domain	model	in	problem	solving	and	
soJware	engineering	is	a	conceptual	model	of	
all	the	topics	related	to	a	specific	problem.		
It	describes	the	various	en??es,	their	
aMributes,	roles,	and	rela?onships,	plus	the	
constraints	that	govern	the	problem	domain.	
Dr.	Birgit	Penzenstadler	 3
Ra?onale:		
Why	a	domain	model?	
•  Conceptual	framework	of		
things	in	problem	space	
•  Helps	you	think	–	and	focus	on	seman?cs	
•  Provides	a	glossary	of	terms	
•  Sta?c	view	–	structure	of	?me-invariant	parts	
•  Based	on	that	structure,	we	can	describe	the	
state	of	the	problem	domain	at	any	?me		
(in	behavioral,	dynamic	views)	
Dr.	Birgit	Penzenstadler	 4
Example:	Simple	domain	model	
Dr.	Birgit	Penzenstadler	 5	
Domain	objects	are	not	soJware	objects,	but	a	
representa?on	of	real-life	conceptual	objects.
Features	
•  Domain	classes	–	each	domain	class	denotes	a	type	of	object	
–  Business	objects:	things	manipulated	in	the	business,	e.g.,	Order	
–  Real	world	objects:	things	the	business	keeps	track	of,	e.g.,	Contact,	
Site	
–  Events	that	transpire,	e.g.	Sale	and	Payment	
•  A<ributes	–	an	aMribute	is	the	descrip?on	of	a	named	slot	of	a	
specified	type	in	a	domain	class;	each	instance	of	the	class	
separately	holds	a	value,	e.g.	name	or	ID	
•  Associa>ons	–	an	associa?on	is	a	rela?onship	between	two	(or	
more)	domain	classes	that	describes	links	between	their	object	
instances,	e.g.,	owns.	Associa?ons	can	have	roles,	describing	the	
mul?plicity	and	par?cipa?on	of	a	class	in	the	rela?onship,	e.g.	
employee.	
•  Addi>onal	rules	–	complex	rules	that	cannot	be	shown	with	
symbology	can	be	shown	with	aMached	notes.	
Dr.	Birgit	Penzenstadler	 6
Rela?on	to	other		
RE	content	
•  Input	
– Business	Case	
– Goal	Model	
•  Output	
– Glossary	
– System	Vision		
(usually	developed	in		
itera?on	with	Dom.	Model)	
– Usage	Model	
Dr.	Birgit	Penzenstadler	 7	
Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary
Domain	Models	
•  Defini?on	&	characteris?cs	
•  Rela?on	to	other	RE	content	
•  Types	of	domain	models	and	examples	
•  Method	for	development	
•  AMDiRE	domain	model	
•  What	are	the	challenges?	
Dr.	Birgit	Penzenstadler	 8	
K	Rayker,	stock.xchng
Example:	Sample	domain	model	for	a	
health	insurance	plan		
Dr.	Birgit	Penzenstadler	 9	
[Kishorekumar,	Wikimedia	Commons	2009]
Example:	Sample	domain	model	for	a	
health	insurance	plan		
Dr.	Birgit	Penzenstadler	 10	
[hMp://scaledagileframework.com/domain-modeling/]
Example:	Sample	domain	model	for	a	
health	insurance	plan		
Dr.	Birgit	Penzenstadler	 11	
[hMp://scaledagileframework.com/domain-modeling/]
How	to	develop	a	DM	
•  Make	a	list	of	candidate	domain	classes	–	iden?fy	nouns.	
•  Draw	these	classes	in	a	UML	class	diagram.	
•  If	possible,	add	brief	descrip>ons	for	the	classes.	
•  Iden?fy	any	associa>ons	that	are	necessary.	
•  Decide	if	some	domain	classes	are	really	just	a<ributes.	
•  Where	helpful,	iden?fy	role	names	and	mul>plicity	for	
associa?ons.	
•  Add	any	addi?onal	sta>c	rules	as	UML	notes	that	cannot	
be	conveyed	with	UML	symbols.	
•  Group	diagrams/domain	classes	by	category	into	
packages.	
Dr.	Birgit	Penzenstadler	 12
Example:	TENCompetence	
learning	
network	
Dr.	Birgit	Penzenstadler	 13	
[hMp://dspace.ou.nl/handle/1820/649]
Example:	Research	Compu?ng		
Domain	Model	
Dr.	Birgit	Penzenstadler	 14	
[hMp://www.bridging-the-gap.com/domain-models/]
Sources	&	QA	
•  Elabora?on	from	
– Business	case	analysis	
– Stakeholder	input	(goals,	constraints)	
– Background	research	
•  Quality:	Completeness	
– All	important	concepts	of	problem	domain	
– Adequate	aMributes	
– All	important	associa?ons	
Dr.	Birgit	Penzenstadler	 15
Domain	Models	
•  Defini?on	&	characteris?cs	
•  Rela?on	to	other	RE	content	
•  Types	of	domain	models	and	examples	
•  Method	for	development	
•  AMDiRE	domain	model	
•  What	are	the	challenges?	
Dr.	Birgit	Penzenstadler	 16	
K	Rayker,	stock.xchng
Elabora?on	in		
AMDiRE	
•  Hand	sketch	(draJ)	
•  Class	diagram	(itera?on)	
Dr.	Birgit	Penzenstadler	 17	
Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary
Challenges	
•  Problem	domain	
(conceptual	objects)	
•  Completeness	
(classes,	associa?ons,	aMributes)	
	
à	The	beMer	your	domain	model,		
the	easier	it	will	be	to	develop	the	
system	vision	and	usage	model.	
Dr.	Birgit	Penzenstadler	 18	
Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary

Requirements Engineering - Domain Models