SlideShare a Scribd company logo
1 of 34
System Modeling for Requirements
Engineering
Dr Awais Majeed
Fall 2022
Table of Content
• System Modelling – Introduction
• Data Flow Diagram (DFD)
• Entity-Relationship modeling (concepts and notations)
• Object-oriented modeling (concepts and notations)
System Modelling - Introduction
• System modelling supports the analysis and design process by
introducing a degree of formality into the way systems are defined.
• Modelling – the most creative aspect
• No ‘Right’ solution – Models evolve over time
• A good model is one which is easily communicated.
Benefits of Modelling
• Modelling has the following benefits:
• Encourages the use of a precisely defined vocabulary consistent across
the system.
• Allows system specification and design to be visualized in diagrams.
• Allows consideration of multiple interacting aspects and views of a
system.
• Supports the analysis of systems through a defined discipline.
• Allows validation of some aspects of the system design through
animation.
• Allows progressive refinement towards detailed design, permitting test
case generation and code generation.
• Encourages communication between different organizations by using
common standard notations.
Data Flow Diagram (DFD)
• Data flow diagrams (DFDs) are the basis of most traditional modelling
methods.
• Can be used to represent any type of system
• Elements of DFDs are:
• data flows (labelled arrows)
• data transformations (circles or “bubbles”)
• data stores (horizontal parallel lines)
• external entities (rectangles)
DFD - Example
When using the notation, diagrams must be supported by textual
descriptions of each process, data store and flow.
DFD – Context Diagram
• The context diagram is the
top-level diagram of a DFD
• shows the external systems
interacting with the proposed
system
DFD-Functional Decomposition
DFD-Ambulance C&C System
Ambulance C&C System
Functional Structure
The functional hierarchy in a set of data flow diagrams can be used as
a framework for deriving and structuring system requirements.
System transactions can be marked with the help of thick arrows
identifying information flow path and the functions used.
Entity-relationship modeling (ERM)
Entity-Relationship modeling (originally proposed by Peter
Chen in 1976)
• Concepts:
• Entity: represents a type of entity instances, defines the
properties that hold for all such instances.
• Relationship: represents relationship instances that hold
between certain pairs of entity instances.
• The related entity types are also called roles.
• Multiplicity information indicate how many instances
of the “other” side may be related to a given instance
of “this” side.
• Attribute: An entity or a relationship may have one or
several attributes. Each attribute is identified by a name
and its type, where such a type is usually some simple
data type such as integer or character string.
ERM – Meta-model
Meta-Model (using UML Class
Diagram notation)
entity relationship
has
0..1
2
attribute
0..*
0..*
has
0..*
0..1
role
Constraint: each attribute
instance is related exactly to
one entity or relationship
ERM – Notations (2)
• “normal” ERM notation
• Crow’s foot notation (showing
multiplicity)
• UML Class Diagram notation (note: the
notation for multiplicities in UML are more
powerful than other notations)
• Note: the notations are different, but
the concepts are the same.
artist song
performs
1..*
0..*
Object-oriented modeling (OOM) – (1)
Object-oriented modeling is essentially ERM with certain additional
concepts. An Entity is called a Class
• Again, various notations have been introduced.
• Additional Concepts:
• Inheritance: This is the idea that some entity B inherits all
properties that are defined for another entity A. This means that
B is a specialization of A. One also says that B is a refinement of
A or B extends A.
• Internal state of entity instances and methods for interacting
with it: An important issue of object-orientation is information
hiding. In particular, certain internal attributes are not directly
accessible from outside the entity instance.
Object-oriented modeling (OOM) – (2)
• Refinement of ERM Concepts:
• Composite structure: A subtype of Relationship (with special
notation) is used to show that one entity is part of another
(composed) entity.
• Calling relationship: Another subtype of Relationship has the
meaning that an entity instance playing one role can access
attributes and call methods on an instance playing the other role to
which it is related.
• Disadvantages of OOM
• Difficulties of modeling two-way communication : an interface
defines only one direction of communication. For event-based
systems, one often needs two-way communication relationships.
• The encapsulation of the behavior inside the objects (the
information hiding approach) is often not suitable for modeling the
problem domain during requirements engineering.
Object-oriented modeling (OOM) – History
• Proposed approaches for ”OO Analysis”
• Shlaer and Mellor (1988)
• Colbert (1989)
• Coad and Yourdon (1989)
• Wirf-Brock (1990)
• Rumbaugh (1991)
• Jacobson (1992)
• Martin-Odell (1992)
• Rational Unified Process (RUP) (1998)
• UML unifies many of these notations ■
Methodology for Object-Oriented Analysis
(OOA)
• Five main steps
• Identify core classes within problem domain
• Model relationships between classes
• Class diagram
• Define the attributes associated with each class
• Determine relevant operations for each class
• Define the messages that may be passed between objects
• Interaction diagram, state machine diagram ■
OOA Methodology – Library Example (1)
• A library system is intended to provide its users with the ability to
automate the process of:
• Acquiring library items
• Cataloguing library items
• Browsing library items
• Loaning library items
• Library items comprise published and recorded material
• The system will be administered by a member of the library staff
• Users must register with the system administrator before they can
borrow library items ■
Source: Sommerville & Kotonya
OOA Methodology – Library Example (2)
• Library users are drawn from three primary groups
• Students, Members of staff, and External users
• All library users have as part of their registration
• Name, Library number, Address, Account
• In addition the following information is also required for registration
• Students – Degree programme and admission number
• Staff – Staff number
• External users – Employer details
Source: Sommerville & Kotonya
OOA Methodology – Library Example – Step 1
• Identify initial classes
OOA Methodology – Library Example – Step 2
• Identify relationships between classes from the partial requirements
• (i) A library user borrows a library item
• (ii) A library item is recorded or published
• (iii) The system administrator registers the library user
• (iv) Library users are students, staff, and external users
• (v) The system administrator catalogues the library items
• (vi) The library assistant issues the library items ■
OOA Methodology – Library Example – Step 2 (2)
Show attributes and relationships in basic model
OOA Methodology – Library Example – Step 2 (3)
Identify inheritance relationships for library user
OOA Methodology – Library Example – Step 2 (4)
Identify inheritance relationships for library item
OOA Methodology – Library Example – Step 3
• Identify attributes and populate model with them
• Attributes can be revealed by the analysis of the system
requirements
• For example, it is a requirement that all library users must be
registered before they can use the library
• This means that we need to keep registration data about library users
• Library users are also provided with an account to keep track of the items
loaned to them
• Library items may have the attributes title, description, and
classmark
• Library users may have the attributes name, address, and library
id ■
OOA Methodology – Library Example – Step 4
• Identify object operations
• This step is intended to describe operations to be performed on
the objects
• Certain operations are implicit from the object structure
• CRUD operations (create – read – update – delete)
• Operations for accessing and modifying the attribute values (getters and
setters)
• These operations are assumed and we need not show them explicitly in
the model
• One way of identifying operations is by modeling the messages
that may be passed between the objects ■
OOA Methodology – Library Example – Step 4 (2)
• Identify messages between objects
• Find required messages for each scenario (play out the scenario), then
take union of all messages ■
Library user Library item
Library staff
1. issue
2. return
3. browse
1. acquire
2. catalogue
3. dispose
1. register
2. query
OOA Methodology – Library Example – Step 4 (3)
OOA Methodology – Library Example – Step 4 (4)
OOA Methodology – Library Example – Step 5
Define the messages that may be passed between objects
Library User (LU) System Library staff
Requests library item (1) Scans in LU registration (2)
accepts registration (3)
rejects registration (3)
verifies item loan to LU (4)
loans item (5)
denies loan (5)
OO Analysis – Problems
•Caution: Not really analysis
• Most OOA approaches actually address Detail level
design
• Assume a pre-existing requirements document
• Class diagrams can however be used for analysis,
especially for the description of domain concepts
•Use case analysis supplements OOA, filling in some
gaps
•Further composition and decomposition problems
• Related requirements cannot all be assigned to a single
component or a single class
• One scenario may affect several classes at once ■

More Related Content

Similar to 10-System-ModelingFL22-sketch-19122022-091234am.pptx

MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxelsagalgao
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Sudarshan Dhondaley
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and designAnand Grewal
 
Week 2 - Database System Development Lifecycle-old.pptx
Week 2 - Database System Development Lifecycle-old.pptxWeek 2 - Database System Development Lifecycle-old.pptx
Week 2 - Database System Development Lifecycle-old.pptxNurulIzrin
 
MODELLING WITH OBJECTS.pptx
MODELLING WITH OBJECTS.pptxMODELLING WITH OBJECTS.pptx
MODELLING WITH OBJECTS.pptxTarun710971
 
The Object Oriented Database System Manifesto
The Object Oriented Database System ManifestoThe Object Oriented Database System Manifesto
The Object Oriented Database System ManifestoBeat Signer
 
Ppt ooad ooad3unit
Ppt ooad ooad3unitPpt ooad ooad3unit
Ppt ooad ooad3unitramyalaksha
 
Adbms 14 oodbms concepts for managing objects
Adbms 14 oodbms concepts for managing objectsAdbms 14 oodbms concepts for managing objects
Adbms 14 oodbms concepts for managing objectsVaibhav Khanna
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapOverview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapVikas Jagtap
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptRushikeshChikane1
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptRushikeshChikane2
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural designdevika g
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxVivekananda Gn
 
Adbms 10 complex object management
Adbms 10 complex object managementAdbms 10 complex object management
Adbms 10 complex object managementVaibhav Khanna
 

Similar to 10-System-ModelingFL22-sketch-19122022-091234am.pptx (20)

MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptx
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and design
 
Week 2 - Database System Development Lifecycle-old.pptx
Week 2 - Database System Development Lifecycle-old.pptxWeek 2 - Database System Development Lifecycle-old.pptx
Week 2 - Database System Development Lifecycle-old.pptx
 
MODELLING WITH OBJECTS.pptx
MODELLING WITH OBJECTS.pptxMODELLING WITH OBJECTS.pptx
MODELLING WITH OBJECTS.pptx
 
oracle
oracle oracle
oracle
 
The Object Oriented Database System Manifesto
The Object Oriented Database System ManifestoThe Object Oriented Database System Manifesto
The Object Oriented Database System Manifesto
 
ppt_ooad.pdf
ppt_ooad.pdfppt_ooad.pdf
ppt_ooad.pdf
 
Ppt ooad ooad3unit
Ppt ooad ooad3unitPpt ooad ooad3unit
Ppt ooad ooad3unit
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
Adbms 14 oodbms concepts for managing objects
Adbms 14 oodbms concepts for managing objectsAdbms 14 oodbms concepts for managing objects
Adbms 14 oodbms concepts for managing objects
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapOverview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.ppt
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.ppt
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
 
Adbms 10 complex object management
Adbms 10 complex object managementAdbms 10 complex object management
Adbms 10 complex object management
 
Object modeling
Object modelingObject modeling
Object modeling
 
m211c25.ppt
m211c25.pptm211c25.ppt
m211c25.ppt
 
CPP19 - Revision
CPP19 - RevisionCPP19 - Revision
CPP19 - Revision
 

Recently uploaded

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 

10-System-ModelingFL22-sketch-19122022-091234am.pptx

  • 1. System Modeling for Requirements Engineering Dr Awais Majeed Fall 2022
  • 2. Table of Content • System Modelling – Introduction • Data Flow Diagram (DFD) • Entity-Relationship modeling (concepts and notations) • Object-oriented modeling (concepts and notations)
  • 3. System Modelling - Introduction • System modelling supports the analysis and design process by introducing a degree of formality into the way systems are defined. • Modelling – the most creative aspect • No ‘Right’ solution – Models evolve over time • A good model is one which is easily communicated.
  • 4. Benefits of Modelling • Modelling has the following benefits: • Encourages the use of a precisely defined vocabulary consistent across the system. • Allows system specification and design to be visualized in diagrams. • Allows consideration of multiple interacting aspects and views of a system. • Supports the analysis of systems through a defined discipline. • Allows validation of some aspects of the system design through animation. • Allows progressive refinement towards detailed design, permitting test case generation and code generation. • Encourages communication between different organizations by using common standard notations.
  • 5. Data Flow Diagram (DFD) • Data flow diagrams (DFDs) are the basis of most traditional modelling methods. • Can be used to represent any type of system • Elements of DFDs are: • data flows (labelled arrows) • data transformations (circles or “bubbles”) • data stores (horizontal parallel lines) • external entities (rectangles)
  • 6. DFD - Example When using the notation, diagrams must be supported by textual descriptions of each process, data store and flow.
  • 7. DFD – Context Diagram • The context diagram is the top-level diagram of a DFD • shows the external systems interacting with the proposed system
  • 11.
  • 12. Functional Structure The functional hierarchy in a set of data flow diagrams can be used as a framework for deriving and structuring system requirements.
  • 13. System transactions can be marked with the help of thick arrows identifying information flow path and the functions used.
  • 14. Entity-relationship modeling (ERM) Entity-Relationship modeling (originally proposed by Peter Chen in 1976) • Concepts: • Entity: represents a type of entity instances, defines the properties that hold for all such instances. • Relationship: represents relationship instances that hold between certain pairs of entity instances. • The related entity types are also called roles. • Multiplicity information indicate how many instances of the “other” side may be related to a given instance of “this” side. • Attribute: An entity or a relationship may have one or several attributes. Each attribute is identified by a name and its type, where such a type is usually some simple data type such as integer or character string.
  • 15. ERM – Meta-model Meta-Model (using UML Class Diagram notation) entity relationship has 0..1 2 attribute 0..* 0..* has 0..* 0..1 role Constraint: each attribute instance is related exactly to one entity or relationship
  • 16. ERM – Notations (2) • “normal” ERM notation • Crow’s foot notation (showing multiplicity) • UML Class Diagram notation (note: the notation for multiplicities in UML are more powerful than other notations) • Note: the notations are different, but the concepts are the same. artist song performs 1..* 0..*
  • 17. Object-oriented modeling (OOM) – (1) Object-oriented modeling is essentially ERM with certain additional concepts. An Entity is called a Class • Again, various notations have been introduced. • Additional Concepts: • Inheritance: This is the idea that some entity B inherits all properties that are defined for another entity A. This means that B is a specialization of A. One also says that B is a refinement of A or B extends A. • Internal state of entity instances and methods for interacting with it: An important issue of object-orientation is information hiding. In particular, certain internal attributes are not directly accessible from outside the entity instance.
  • 18. Object-oriented modeling (OOM) – (2) • Refinement of ERM Concepts: • Composite structure: A subtype of Relationship (with special notation) is used to show that one entity is part of another (composed) entity. • Calling relationship: Another subtype of Relationship has the meaning that an entity instance playing one role can access attributes and call methods on an instance playing the other role to which it is related. • Disadvantages of OOM • Difficulties of modeling two-way communication : an interface defines only one direction of communication. For event-based systems, one often needs two-way communication relationships. • The encapsulation of the behavior inside the objects (the information hiding approach) is often not suitable for modeling the problem domain during requirements engineering.
  • 19. Object-oriented modeling (OOM) – History • Proposed approaches for ”OO Analysis” • Shlaer and Mellor (1988) • Colbert (1989) • Coad and Yourdon (1989) • Wirf-Brock (1990) • Rumbaugh (1991) • Jacobson (1992) • Martin-Odell (1992) • Rational Unified Process (RUP) (1998) • UML unifies many of these notations ■
  • 20. Methodology for Object-Oriented Analysis (OOA) • Five main steps • Identify core classes within problem domain • Model relationships between classes • Class diagram • Define the attributes associated with each class • Determine relevant operations for each class • Define the messages that may be passed between objects • Interaction diagram, state machine diagram ■
  • 21. OOA Methodology – Library Example (1) • A library system is intended to provide its users with the ability to automate the process of: • Acquiring library items • Cataloguing library items • Browsing library items • Loaning library items • Library items comprise published and recorded material • The system will be administered by a member of the library staff • Users must register with the system administrator before they can borrow library items ■ Source: Sommerville & Kotonya
  • 22. OOA Methodology – Library Example (2) • Library users are drawn from three primary groups • Students, Members of staff, and External users • All library users have as part of their registration • Name, Library number, Address, Account • In addition the following information is also required for registration • Students – Degree programme and admission number • Staff – Staff number • External users – Employer details Source: Sommerville & Kotonya
  • 23. OOA Methodology – Library Example – Step 1 • Identify initial classes
  • 24. OOA Methodology – Library Example – Step 2 • Identify relationships between classes from the partial requirements • (i) A library user borrows a library item • (ii) A library item is recorded or published • (iii) The system administrator registers the library user • (iv) Library users are students, staff, and external users • (v) The system administrator catalogues the library items • (vi) The library assistant issues the library items ■
  • 25. OOA Methodology – Library Example – Step 2 (2) Show attributes and relationships in basic model
  • 26. OOA Methodology – Library Example – Step 2 (3) Identify inheritance relationships for library user
  • 27. OOA Methodology – Library Example – Step 2 (4) Identify inheritance relationships for library item
  • 28. OOA Methodology – Library Example – Step 3 • Identify attributes and populate model with them • Attributes can be revealed by the analysis of the system requirements • For example, it is a requirement that all library users must be registered before they can use the library • This means that we need to keep registration data about library users • Library users are also provided with an account to keep track of the items loaned to them • Library items may have the attributes title, description, and classmark • Library users may have the attributes name, address, and library id ■
  • 29. OOA Methodology – Library Example – Step 4 • Identify object operations • This step is intended to describe operations to be performed on the objects • Certain operations are implicit from the object structure • CRUD operations (create – read – update – delete) • Operations for accessing and modifying the attribute values (getters and setters) • These operations are assumed and we need not show them explicitly in the model • One way of identifying operations is by modeling the messages that may be passed between the objects ■
  • 30. OOA Methodology – Library Example – Step 4 (2) • Identify messages between objects • Find required messages for each scenario (play out the scenario), then take union of all messages ■ Library user Library item Library staff 1. issue 2. return 3. browse 1. acquire 2. catalogue 3. dispose 1. register 2. query
  • 31. OOA Methodology – Library Example – Step 4 (3)
  • 32. OOA Methodology – Library Example – Step 4 (4)
  • 33. OOA Methodology – Library Example – Step 5 Define the messages that may be passed between objects Library User (LU) System Library staff Requests library item (1) Scans in LU registration (2) accepts registration (3) rejects registration (3) verifies item loan to LU (4) loans item (5) denies loan (5)
  • 34. OO Analysis – Problems •Caution: Not really analysis • Most OOA approaches actually address Detail level design • Assume a pre-existing requirements document • Class diagrams can however be used for analysis, especially for the description of domain concepts •Use case analysis supplements OOA, filling in some gaps •Further composition and decomposition problems • Related requirements cannot all be assigned to a single component or a single class • One scenario may affect several classes at once ■