SlideShare a Scribd company logo
Software prototyping
Prepared by
Dr.T.Thendral
Assistant Professor
Department of Computer Science
Sri Ramaskrishna College of Arts & Science for Women
Coimbatore
Prepared by Dr.T.Thendral 08.07.23
• Requirements elicitation "brainstorming"
techniques is conducted, analysis principles
are applied, and a model of the software to be
built, called a prototype, is constructed for
customer and developer assessment
Prepared by Dr.T.Thendral 08.07.23
Selecting the Prototyping Approach
• The prototyping paradigm can be either close-
ended or open-ended.
• The close-ended approach is often called
throwaway prototyping.
• Using this approach, a prototype serves solely as
a rough demonstration of requirements.
• An open-ended approach, called evolutionary
prototyping, uses the prototype as the first part
of an analysis activity that will be continued into
design and construction
Prepared by Dr.T.Thendral 08.07.23
• A number of prototyping candidacy factors:
and
Application
Area
Application
Complexity
Customer
Characteristics
Project
Characteristics
Prepared by Dr.T.Thendral 08.07.23
Prototyping in the software process
• Evolutionary prototyping
– An approach to system development where an
initial prototype is produced and refined through
a number of stages to the final system
• Throw-away prototyping
– A prototype which is usually a practical
implementation of the system is produced to help
discover requirements problems and then
discarded. The system is then developed using
some other development process.
Prepared by Dr.T.Thendral 08.07.23
• The objective of evolutionary prototyping is to
deliver a working system to end-users. The
development starts with those requirements
that are best understood.
• The objective of throw-away prototyping is to
validate or derive the system requirements.
The prototyping process starts with those
requirements that are poorly understood.
Prepared by Dr.T.Thendral 08.07.23
Prepared by Dr.T.Thendral 08.07.23
Prototyping Methods and Tool
Fourth Generation Techniques
Reusable Software Components
Formal Specification and Prototyping
Environments
Prepared by Dr.T.Thendral 08.07.23
Fourth generation techniques
• Fourth generation techniques encompass a
broad array of database query and reporting
languages, program and application
generators, and other very high-level
nonprocedural languages
Prepared by Dr.T.Thendral 08.07.23
Reusable software components
• The prototype by using a set of existing
software components
Prepared by Dr.T.Thendral 08.07.23
Formal specification and prototyping environments
• A number of formal specification languages and
tools have been developed as a replacement for
natural language specification techniques
• Today, developers of these formal languages are
in the process of developing interactive
environments that
– enable an analyst to interactively create language-
based specifications of a system or software
– invoke automated tools that translate the language-
based specifications into executable code, and
– enable the customer to use the prototype executable
code to refine formal requirements
Prepared by Dr.T.Thendral 08.07.23
Elements of analysis model
• Analysis model must achieve 3 primary goals:
(1) to define what the customer needs,
• (2) to build a basis for the establishment of a
software design and
• (3) to describe a group of needs which can be
validated once the software is established
Prepared by Dr.T.Thendral 08.07.23
Prepared by Dr.T.Thendral 08.07.23
DATA MODELING - Objectives
• Identify and describe important entities and
relationships to model data
• Develop data models to represent, organize,
and store data
• Design and use relational databases to
organize, store and manipulate data
Prepared by Dr.T.Thendral 08.07.23
Data Modeling
• Goal – make sure all data objects required by
a database are completely and accurately
represented
• Data model design – the blueprint for creating
a physical implementation of a database
Prepared by Dr.T.Thendral 08.07.23
Data Modeling Terms
• Entity – a class of real world objects having
common attributes (e.g., sites, variables,
methods).
• Attribute – A characteristic or property of an
entity (site name, latitude, longitude)
• Relationship – an association between two or
more entities
• Cardinality – the number of entities on either
end of a relationship (one-to-one, one-to-many,
many-to-many, etc.)
Prepared by Dr.T.Thendral 08.07.23
Data Modeling Exercise
• Consider:
– What is the “entity”?
– What are the
“attributes” of the
entity?
Prepared by Dr.T.Thendral 08.07.23
Data Modeling Exercise
• What is the entity?
• What are the attributes?
Prepared by Dr.T.Thendral 08.07.23
Data Modeling Exercise
• What is the entity?
• What are the attributes?
Prepared by Dr.T.Thendral 08.07.23
Data Modeling Exercise
• What are the relationships?
Apple Apple Tree Orchard
Grows On
Grows In
Prepared by Dr.T.Thendral 08.07.23
Data Modeling Exercise
• What are the relationships?
Apple Apple Tree Orchard
Grows On
Grows In
What about the business rules?
Prepared by Dr.T.Thendral 08.07.23
Entity Relationship Diagram
• Documentation of the structure of the data
• Used to communicate the design
• Serve as the basis for data model
implementation
Prepared by Dr.T.Thendral 08.07.23
Entity Relationship Diagram
(Relation Database Context)
• Entities effectively become tables
• Attributes describe entities and become fields
(columns) in tables
• Relationships link tables on a common
attribute or “key” and become formal
constraints (part of the business rules)
Prepared by Dr.T.Thendral 08.07.23
ER Diagram Entity Notation
Attributes
Entity
Entity Name
Data Type
Prepared by Dr.T.Thendral 08.07.23
ER Diagram Relationship Notation
• Multiple notation systems are used
• Each software program is a little different
• Most common is “Crows Foot”
0 .. *
1 .. *
1 .. 1
0 .. 1
Crows Foot Alternative
Prepared by Dr.T.Thendral 08.07.23
Relationship Cardinality and
Participation
• Cardinality: maximum number of times an instance
in one entity can be associated with instances in the
related entity
• Participation: minimum number of times an
instance in one entity can be associated with
instances in the related entity
Prepared by Dr.T.Thendral 08.07.23
Cardinality
• Maximum number of times an instance of an entity
can be associated with instances of a related entity
• Can ONLY have values of 1 or many
• Located closest to the entity in Crows Foot notation
Prepared by Dr.T.Thendral 08.07.23
Participation
• Minimum number of times an instance in one entity can be
associated with instances in the related entity
• Indicates whether an instance of an entity MUST participate in
the relationship
• Can ONLY have the values of 0 or 1
Prepared by Dr.T.Thendral 08.07.23
Mapping Cardinality and Participation
A1
A2
A3
A4
A5
A6
R1
R2
R3
R4
R5
R6
T1
T2
T3
Apple Grows_on AppleTree
Prepared by Dr.T.Thendral 08.07.23
Reading Cardinality and Participation
Prepared by Dr.T.Thendral 08.07.23
Relationship Examples
Left to Right: A site has 0 or more time series of data.
Right to Left: A time series is measured at 1 and only 1 site.
Left to Right: A variable has 0 or more time series of data.
Right to Left: A time series can have 1 and only 1 variable.
Prepared by Dr.T.Thendral 08.07.23
Relationship Examples
Left to Right: A TimeSeries has 1 or more Observations.
Right to Left: An Observation belongs to 1 and only 1
TimeSeries.
Left to Right: An Observation has 0 or more Qualifiers.
Right to Left: A Qualifier describes 0 or more Observations.
Prepared by Dr.T.Thendral 08.07.23
Primary and Foreign Keys
• Each row in a table should have an attribute that is a
persistent, unique identifier – the “Primary Key”
• Primary key in “parent” table
• Foreign key in “child” table
Prepared by Dr.T.Thendral 08.07.23
Primary and Foreign Key Example
OrchardID OwnerName Area_acres
1 John Appleseed 5.5
2 Daryl Appleseed 15
AppleTreeID Species Size DatePlanted OrchardID
1 Honeycris
p
5 4/15/2010 1
2 Honeycris
p
6 4/15/2010 1
3 Honeycris
p
3 4/15/2010 1
AppleID Color Weight AppleTreeID
1 Green 200 2
2 Green 180 2
3 Green 195 2
Orchards
Apple
Trees
Apples
Prepared by Dr.T.Thendral 08.07.23
Primary and Foreign Keys
• Usually consist of integer values
• MUST be the same data type in parent and
child tables
Prepared by Dr.T.Thendral 08.07.23
FUNCTIONAL MODELING AND
INFORMATION FLOW
Prepared by Dr.T.Thendral 08.07.23
Prepared by Dr.T.Thendral 08.07.23
Prepared by Dr.T.Thendral 08.07.23
Data Flow Diagrams
• Existed long before computers
• Show the flow of data through a system
• System
– Organization
– Company
– A computer hardware system
– A software system
• Icons
– Data on the move – named arrows
– Transformations of data – named bubbles
– Sources and destinations of data – named rectangles (terminators)
– Data in static storage – two parallel lines
Prepared by Dr.T.Thendral 08.07.23
Data Flow Diagram Notations
Yourdon and Coad
Process Notations
Gane and Sarson
Process Notation
Yourdon and Coad
Datastore Notation
Gane and Sarson
Datastore Notations
Process
A process transforms incoming data
flow into outgoing data flow.
Data Store
Data stores are repositories of
data in the system. They are
sometimes also referred to as
files.
Dataflow
Dataflows are pipelines through
which packets of information
flow. Label the arrows with the
name of the data that moves
through it.
External Entity
External entities are objects outside the
system, with which the system
communicates. External entities are sources
and destinations of the system's inputs and
outputs.
Prepared by Dr.T.Thendral 08.07.23
Data Flow Diagram Layers
• Data flow diagrams are drawn in several nested layers
• A single process node on a high level diagram can be expanded to show a
more detailed data flow diagram.
• Draw the context diagram first, followed by various layers of data flow
diagrams.
Prepared by Dr.T.Thendral 08.07.23
Context Diagrams
• A context diagram is a top level (also known as Level 0) data flow diagram. It only contains one process node (process 0) that
generalizes the function of the entire system in relationship to external entities.
Prepared by Dr.T.Thendral 08.07.23
DFD levels
The first level DFD shows the main processes within the
system. Each of these processes can be broken into
further processes until you reach pseudocode.
Prepared by Dr.T.Thendral 08.07.23

More Related Content

What's hot (20)

PPTX
EFFECTIVE MODULAR DESIGN.pptx
DrTThendralCompSci
 
PPTX
UNIT TESTING.pptx
DrTThendralCompSci
 
PPTX
SOFTWARE TESTING.pptx
DrTThendralCompSci
 
PPTX
Software design and Software engineering.pptx
DrTThendralCompSci
 
PPTX
Software quality assurance
University of Sargodha
 
PPT
Software design
Benazir Fathima
 
PDF
Agile model
DivyaStephen3
 
PPT
Architecture design in software engineering
Preeti Mishra
 
PPTX
Software process
Jennifer Polack
 
PPTX
Software Design Concepts
Mohammed Fazuluddin
 
PPT
Analysis modeling in software engineering
MuhammadTalha436
 
PPTX
Chapter 2 software process models
Golda Margret Sheeba J
 
PPTX
Software Reliability
Gurkamal Rakhra
 
PPTX
PROTOTYPE MODEL
shenagarg44
 
PPT
Unified Modeling Language
Debajyoti Biswas
 
PPT
System testing ppt
L ESHWAR
 
PDF
Software engineering lecture notes
Siva Ayyakutti
 
PPTX
Software design
Syed Muhammad Hammad-ud-Din
 
PPT
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
PPTX
software project management Waterfall model
REHMAT ULLAH
 
EFFECTIVE MODULAR DESIGN.pptx
DrTThendralCompSci
 
UNIT TESTING.pptx
DrTThendralCompSci
 
SOFTWARE TESTING.pptx
DrTThendralCompSci
 
Software design and Software engineering.pptx
DrTThendralCompSci
 
Software quality assurance
University of Sargodha
 
Software design
Benazir Fathima
 
Agile model
DivyaStephen3
 
Architecture design in software engineering
Preeti Mishra
 
Software process
Jennifer Polack
 
Software Design Concepts
Mohammed Fazuluddin
 
Analysis modeling in software engineering
MuhammadTalha436
 
Chapter 2 software process models
Golda Margret Sheeba J
 
Software Reliability
Gurkamal Rakhra
 
PROTOTYPE MODEL
shenagarg44
 
Unified Modeling Language
Debajyoti Biswas
 
System testing ppt
L ESHWAR
 
Software engineering lecture notes
Siva Ayyakutti
 
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
software project management Waterfall model
REHMAT ULLAH
 

Similar to Software prototyping.pptx (20)

PPTX
Data and functional modeling
Slideshare
 
PDF
EContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdf
sitework231
 
PPT
Database 3 Conceptual Modeling And Er
Ashwani Kumar Ramani
 
PPT
software_engg-chap-03.ppt
064ChetanWani
 
PPTX
Lecture5_DataModelDesign.pptx
achyutdhital
 
PPTX
data Modelling in Database introduction and design.pptx
kbjoash1
 
PPTX
uml.pptx
amanuel236786
 
PPT
Data Modelling on the Relation between two or more variables
AminuHassanJakada1
 
PPT
Analysis modeling
Inocentshuja Ahmad
 
PPTX
SOFTWARE ENGINEERING AND SOFTWARE PROJECT MANAGEMENT
ARAVINDRM2
 
PPTX
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
JOHNLEAK1
 
PPTX
Database management systems for students
DharaniMani4
 
PPTX
ER modeling
Dabbal Singh Mahara
 
DOCX
What is the difference between Data and Information give an exa
victorring
 
PDF
chapter5-220725172250-dc425eb2.pdf
MahmoudSOLIMAN380726
 
PPTX
Chapter 5: Data Development
Ahmed Alorage
 
PPT
DB design
fikirabc
 
PPTX
Introduction of Database Design and Development
Er. Nawaraj Bhandari
 
PPT
Lecture 16 requirements modeling - scenario, information and analysis classes
IIUI
 
PDF
Chapter – 2 Data Models.pdf
TamiratDejene1
 
Data and functional modeling
Slideshare
 
EContent_11_2024_01_23_18_48_10_DatamodelsUnitIVpptx__2023_11_10_16_13_01.pdf
sitework231
 
Database 3 Conceptual Modeling And Er
Ashwani Kumar Ramani
 
software_engg-chap-03.ppt
064ChetanWani
 
Lecture5_DataModelDesign.pptx
achyutdhital
 
data Modelling in Database introduction and design.pptx
kbjoash1
 
uml.pptx
amanuel236786
 
Data Modelling on the Relation between two or more variables
AminuHassanJakada1
 
Analysis modeling
Inocentshuja Ahmad
 
SOFTWARE ENGINEERING AND SOFTWARE PROJECT MANAGEMENT
ARAVINDRM2
 
1-SDLC - Development Models – Waterfall, Rapid Application Development, Agile...
JOHNLEAK1
 
Database management systems for students
DharaniMani4
 
ER modeling
Dabbal Singh Mahara
 
What is the difference between Data and Information give an exa
victorring
 
chapter5-220725172250-dc425eb2.pdf
MahmoudSOLIMAN380726
 
Chapter 5: Data Development
Ahmed Alorage
 
DB design
fikirabc
 
Introduction of Database Design and Development
Er. Nawaraj Bhandari
 
Lecture 16 requirements modeling - scenario, information and analysis classes
IIUI
 
Chapter – 2 Data Models.pdf
TamiratDejene1
 
Ad

More from DrTThendralCompSci (14)

PPTX
Loader and linker.pptx
DrTThendralCompSci
 
PPT
The Application Layer.ppt
DrTThendralCompSci
 
PPTX
Transport Layer.pptx
DrTThendralCompSci
 
PPT
Software Configuration Management.ppt
DrTThendralCompSci
 
PPT
Wireless LANs PPT.ppt
DrTThendralCompSci
 
PPT
NETWORK LAYER.ppt
DrTThendralCompSci
 
PPT
Bluetooth.ppt
DrTThendralCompSci
 
PPT
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
DrTThendralCompSci
 
PPT
Ethernet.ppt
DrTThendralCompSci
 
PPT
DATA-LINK LAYER.ppt
DrTThendralCompSci
 
PPT
UNIT I.ppt
DrTThendralCompSci
 
PPT
PHYSICAL LAYER.ppt
DrTThendralCompSci
 
PPT
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
PPT
COMPUTER NETWORK
DrTThendralCompSci
 
Loader and linker.pptx
DrTThendralCompSci
 
The Application Layer.ppt
DrTThendralCompSci
 
Transport Layer.pptx
DrTThendralCompSci
 
Software Configuration Management.ppt
DrTThendralCompSci
 
Wireless LANs PPT.ppt
DrTThendralCompSci
 
NETWORK LAYER.ppt
DrTThendralCompSci
 
Bluetooth.ppt
DrTThendralCompSci
 
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
DrTThendralCompSci
 
Ethernet.ppt
DrTThendralCompSci
 
DATA-LINK LAYER.ppt
DrTThendralCompSci
 
UNIT I.ppt
DrTThendralCompSci
 
PHYSICAL LAYER.ppt
DrTThendralCompSci
 
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
COMPUTER NETWORK
DrTThendralCompSci
 
Ad

Recently uploaded (20)

PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PPTX
SPINA BIFIDA: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PDF
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
PPTX
How to Set Maximum Difference Odoo 18 POS
Celine George
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PDF
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PPTX
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PDF
Lesson 2 - WATER,pH, BUFFERS, AND ACID-BASE.pdf
marvinnbustamante1
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
SPINA BIFIDA: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
How to Set Maximum Difference Odoo 18 POS
Celine George
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Lesson 2 - WATER,pH, BUFFERS, AND ACID-BASE.pdf
marvinnbustamante1
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 

Software prototyping.pptx

  • 1. Software prototyping Prepared by Dr.T.Thendral Assistant Professor Department of Computer Science Sri Ramaskrishna College of Arts & Science for Women Coimbatore Prepared by Dr.T.Thendral 08.07.23
  • 2. • Requirements elicitation "brainstorming" techniques is conducted, analysis principles are applied, and a model of the software to be built, called a prototype, is constructed for customer and developer assessment Prepared by Dr.T.Thendral 08.07.23
  • 3. Selecting the Prototyping Approach • The prototyping paradigm can be either close- ended or open-ended. • The close-ended approach is often called throwaway prototyping. • Using this approach, a prototype serves solely as a rough demonstration of requirements. • An open-ended approach, called evolutionary prototyping, uses the prototype as the first part of an analysis activity that will be continued into design and construction Prepared by Dr.T.Thendral 08.07.23
  • 4. • A number of prototyping candidacy factors: and Application Area Application Complexity Customer Characteristics Project Characteristics Prepared by Dr.T.Thendral 08.07.23
  • 5. Prototyping in the software process • Evolutionary prototyping – An approach to system development where an initial prototype is produced and refined through a number of stages to the final system • Throw-away prototyping – A prototype which is usually a practical implementation of the system is produced to help discover requirements problems and then discarded. The system is then developed using some other development process. Prepared by Dr.T.Thendral 08.07.23
  • 6. • The objective of evolutionary prototyping is to deliver a working system to end-users. The development starts with those requirements that are best understood. • The objective of throw-away prototyping is to validate or derive the system requirements. The prototyping process starts with those requirements that are poorly understood. Prepared by Dr.T.Thendral 08.07.23
  • 8. Prototyping Methods and Tool Fourth Generation Techniques Reusable Software Components Formal Specification and Prototyping Environments Prepared by Dr.T.Thendral 08.07.23
  • 9. Fourth generation techniques • Fourth generation techniques encompass a broad array of database query and reporting languages, program and application generators, and other very high-level nonprocedural languages Prepared by Dr.T.Thendral 08.07.23
  • 10. Reusable software components • The prototype by using a set of existing software components Prepared by Dr.T.Thendral 08.07.23
  • 11. Formal specification and prototyping environments • A number of formal specification languages and tools have been developed as a replacement for natural language specification techniques • Today, developers of these formal languages are in the process of developing interactive environments that – enable an analyst to interactively create language- based specifications of a system or software – invoke automated tools that translate the language- based specifications into executable code, and – enable the customer to use the prototype executable code to refine formal requirements Prepared by Dr.T.Thendral 08.07.23
  • 12. Elements of analysis model • Analysis model must achieve 3 primary goals: (1) to define what the customer needs, • (2) to build a basis for the establishment of a software design and • (3) to describe a group of needs which can be validated once the software is established Prepared by Dr.T.Thendral 08.07.23
  • 14. DATA MODELING - Objectives • Identify and describe important entities and relationships to model data • Develop data models to represent, organize, and store data • Design and use relational databases to organize, store and manipulate data Prepared by Dr.T.Thendral 08.07.23
  • 15. Data Modeling • Goal – make sure all data objects required by a database are completely and accurately represented • Data model design – the blueprint for creating a physical implementation of a database Prepared by Dr.T.Thendral 08.07.23
  • 16. Data Modeling Terms • Entity – a class of real world objects having common attributes (e.g., sites, variables, methods). • Attribute – A characteristic or property of an entity (site name, latitude, longitude) • Relationship – an association between two or more entities • Cardinality – the number of entities on either end of a relationship (one-to-one, one-to-many, many-to-many, etc.) Prepared by Dr.T.Thendral 08.07.23
  • 17. Data Modeling Exercise • Consider: – What is the “entity”? – What are the “attributes” of the entity? Prepared by Dr.T.Thendral 08.07.23
  • 18. Data Modeling Exercise • What is the entity? • What are the attributes? Prepared by Dr.T.Thendral 08.07.23
  • 19. Data Modeling Exercise • What is the entity? • What are the attributes? Prepared by Dr.T.Thendral 08.07.23
  • 20. Data Modeling Exercise • What are the relationships? Apple Apple Tree Orchard Grows On Grows In Prepared by Dr.T.Thendral 08.07.23
  • 21. Data Modeling Exercise • What are the relationships? Apple Apple Tree Orchard Grows On Grows In What about the business rules? Prepared by Dr.T.Thendral 08.07.23
  • 22. Entity Relationship Diagram • Documentation of the structure of the data • Used to communicate the design • Serve as the basis for data model implementation Prepared by Dr.T.Thendral 08.07.23
  • 23. Entity Relationship Diagram (Relation Database Context) • Entities effectively become tables • Attributes describe entities and become fields (columns) in tables • Relationships link tables on a common attribute or “key” and become formal constraints (part of the business rules) Prepared by Dr.T.Thendral 08.07.23
  • 24. ER Diagram Entity Notation Attributes Entity Entity Name Data Type Prepared by Dr.T.Thendral 08.07.23
  • 25. ER Diagram Relationship Notation • Multiple notation systems are used • Each software program is a little different • Most common is “Crows Foot” 0 .. * 1 .. * 1 .. 1 0 .. 1 Crows Foot Alternative Prepared by Dr.T.Thendral 08.07.23
  • 26. Relationship Cardinality and Participation • Cardinality: maximum number of times an instance in one entity can be associated with instances in the related entity • Participation: minimum number of times an instance in one entity can be associated with instances in the related entity Prepared by Dr.T.Thendral 08.07.23
  • 27. Cardinality • Maximum number of times an instance of an entity can be associated with instances of a related entity • Can ONLY have values of 1 or many • Located closest to the entity in Crows Foot notation Prepared by Dr.T.Thendral 08.07.23
  • 28. Participation • Minimum number of times an instance in one entity can be associated with instances in the related entity • Indicates whether an instance of an entity MUST participate in the relationship • Can ONLY have the values of 0 or 1 Prepared by Dr.T.Thendral 08.07.23
  • 29. Mapping Cardinality and Participation A1 A2 A3 A4 A5 A6 R1 R2 R3 R4 R5 R6 T1 T2 T3 Apple Grows_on AppleTree Prepared by Dr.T.Thendral 08.07.23
  • 30. Reading Cardinality and Participation Prepared by Dr.T.Thendral 08.07.23
  • 31. Relationship Examples Left to Right: A site has 0 or more time series of data. Right to Left: A time series is measured at 1 and only 1 site. Left to Right: A variable has 0 or more time series of data. Right to Left: A time series can have 1 and only 1 variable. Prepared by Dr.T.Thendral 08.07.23
  • 32. Relationship Examples Left to Right: A TimeSeries has 1 or more Observations. Right to Left: An Observation belongs to 1 and only 1 TimeSeries. Left to Right: An Observation has 0 or more Qualifiers. Right to Left: A Qualifier describes 0 or more Observations. Prepared by Dr.T.Thendral 08.07.23
  • 33. Primary and Foreign Keys • Each row in a table should have an attribute that is a persistent, unique identifier – the “Primary Key” • Primary key in “parent” table • Foreign key in “child” table Prepared by Dr.T.Thendral 08.07.23
  • 34. Primary and Foreign Key Example OrchardID OwnerName Area_acres 1 John Appleseed 5.5 2 Daryl Appleseed 15 AppleTreeID Species Size DatePlanted OrchardID 1 Honeycris p 5 4/15/2010 1 2 Honeycris p 6 4/15/2010 1 3 Honeycris p 3 4/15/2010 1 AppleID Color Weight AppleTreeID 1 Green 200 2 2 Green 180 2 3 Green 195 2 Orchards Apple Trees Apples Prepared by Dr.T.Thendral 08.07.23
  • 35. Primary and Foreign Keys • Usually consist of integer values • MUST be the same data type in parent and child tables Prepared by Dr.T.Thendral 08.07.23
  • 36. FUNCTIONAL MODELING AND INFORMATION FLOW Prepared by Dr.T.Thendral 08.07.23
  • 39. Data Flow Diagrams • Existed long before computers • Show the flow of data through a system • System – Organization – Company – A computer hardware system – A software system • Icons – Data on the move – named arrows – Transformations of data – named bubbles – Sources and destinations of data – named rectangles (terminators) – Data in static storage – two parallel lines Prepared by Dr.T.Thendral 08.07.23
  • 40. Data Flow Diagram Notations Yourdon and Coad Process Notations Gane and Sarson Process Notation Yourdon and Coad Datastore Notation Gane and Sarson Datastore Notations Process A process transforms incoming data flow into outgoing data flow. Data Store Data stores are repositories of data in the system. They are sometimes also referred to as files. Dataflow Dataflows are pipelines through which packets of information flow. Label the arrows with the name of the data that moves through it. External Entity External entities are objects outside the system, with which the system communicates. External entities are sources and destinations of the system's inputs and outputs. Prepared by Dr.T.Thendral 08.07.23
  • 41. Data Flow Diagram Layers • Data flow diagrams are drawn in several nested layers • A single process node on a high level diagram can be expanded to show a more detailed data flow diagram. • Draw the context diagram first, followed by various layers of data flow diagrams. Prepared by Dr.T.Thendral 08.07.23
  • 42. Context Diagrams • A context diagram is a top level (also known as Level 0) data flow diagram. It only contains one process node (process 0) that generalizes the function of the entire system in relationship to external entities. Prepared by Dr.T.Thendral 08.07.23
  • 43. DFD levels The first level DFD shows the main processes within the system. Each of these processes can be broken into further processes until you reach pseudocode. Prepared by Dr.T.Thendral 08.07.23