SlideShare a Scribd company logo
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 1
Function-oriented Design
 Design with functional units
which transform inputs to
outputs
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 2
Topics Covered
 Data flow design
 Structural decomposition
 Detailed design
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 3
Natural Functional Systems
 Some systems are naturally function-oriented
 Systems which maintain minimal state
information; i.e., where the system is concerned
with processing independent actions whose
outcomes are not affected by previous actions
 Information sharing through parameter lists
 Transaction processing systems fall into this
category. Each transaction is independent.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 4
ATM Software Design
loop
loop
Print_input_message (” Welcome - Please enter your card”) ;
exit when Card_input ;
end loop ;
Account_number := Read_card ;
Get_account_details (PIN, Account_balance, Cash_available) ;
if Validate_card (PIN) then
loop
Print_operation_select_message ;
case Get_button is
when Cash_only =>
Dispense_cash (Cash_available, Amount_dispensed) ;
when Print_balance =>
Print_customer_balance (Account_balance) ;
when Statement =>
Order_statement (Account_number) ;
when Check_book =>
Order_checkbook (Account_number) ;
end case ;
Eject_card ;
Print (“Please take your card or press CONTINUE”) ;
exit when Card_removed ;
end loop ;
Update_account_information (Account_number, Amount_dispensed) ;
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 5
Functional and Object-oriented Design
 For many types of applications, object-oriented
design is likely to lead to a more reliable and
maintainable system.
 For applications that maintain little state, function-
oriented design is appropriate.
 Standards, methods, and CASE tools for functional
design are well-established.
 Existing systems must be maintained. Function-
oriented design will be practiced well into the 21st
century.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 6
Functional Design Process
 Data flow design
• Model the data processing in the system using data flow
diagrams
 Structural decomposition
• Model how functions are decomposed into sub-functions
using graphical structure charts
 Detailed design
• The entities in the design and their interfaces are
described in detail. These may be recorded in a data
dictionary and the design expressed using a PDL
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 7
Data Flow Diagrams
 Show how an input data item is functionally
transformed by a system into an output data
item
 Are an integral part of many design methods
and are supported by many CASE systems
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 8
DFD Notation
 Rounded rectangle - function or transform
 Rectangle - data store
 Circles - user interactions with the system
 Arrows - show direction of data flow
 keywords and/or - Used to link data flows
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 9
Design Report Generator
Sor tentity
names
Getentity
names
Design
database
Get design
name
Design
name
Lookup
entitynames
Data
dictionar y
Sor tb y
type
Entity
nam
es
Sorted
nam
es
Designentity
descr iptions
Produce
noderepor t
Produce
linkrepor t
Integ rate
repor ts
Print
repor t
Link
descr iptions
Node
descr iptions
Integ rated
repor t
Node
repor t
Link
repor t
and
and
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 10
 Structural decomposition is concerned with
developing a model of the design which shows
the dynamic structure; i.e., function calls.
 The aim of the designer should be to derive
design units which are highly cohesive and
loosely coupled.
 In essence, a data flow diagram is converted to
a structure chart.
Structural Decomposition
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 11
Decomposition Guidelines
 For business applications, the top-level
structure chart may have four functions,
namely input, process, master-file-update,
and output
 Data validation functions should be
subordinate to an input function.
 Coordination and control should be the
responsibility of functions near the top of the
hierarchy.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 12
Decomposition Guidelines
 The aim of the design process is to identify
loosely coupled, highly cohesive functions.
Each function should therefore do one thing
and one thing only.
 Each node in the structure chart should have
between two and seven subordinates.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 13
Process Steps
 Identify system processing transformations
• Transformations in the DFD that are concerned with
processing rather than input/output activities. Group under
a single function in the structure chart
 Identify input transformations
• Transformations concerned with reading, validating and
formatting inputs. Group under the input function
 Identify output transformations
• Transformations concerned with formatting and writing
output. Group under the output function
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 14
Initial Structure Chart
Produce
designrepor ts
Collate
entities
Gener ate
repor t
Get design
entitynam
es
Design
nam
e
Design
entity
nam
es
Design
repor t
entity
nam
es
entity
data
entity
data
entity
nam
es
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 15
Expanded Structure Chart
Produce
designrepor ts
Collate
entities
Gener ate
repor t
Get design
entitynam
es
entity
nam
es
nam
es
sor ted
entity
data
nam
es
Get design
name
Getentity
names
Sor tentities
byname
Getentity
data
Sor tentities
bytype
Produce
integ ratedrepor t
Print
report
design
nam
e
entity
nam
es
repor t
entity
data
design
nam
e
nam
es
sor ted
nam
es
entity
data
sor ted
entity
data
sor ted
entity
data
Integ rated
repor t
sor ted
entity
data
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 16
Final Structure Chart
Data
dictionar y
Produce
designrepor ts
Collate
entities
Gener ate
repor t
Get design
entitynam
es
entity
nam
es
nam
es
sor ted
entity
data
nam
es
Get design
name
Getentity
names
Sor tentities
byname
Getentity
data
Sor tentities
bytype
Produce
integ ratedrepor t
Print
report
design
nam
e
entity
nam
es
repor t
entity
data
design
nam
e
nam
es
sor ted
nam
es
entity
data
sor ted
entity
data
sor ted
entity
data
Integ rated
repor t
Design
database
design
nam
e
entity
nam
e
Produce
linkrepor t
Produce
noderepor t
Link
data
Link
repor t
Node
data Node
repor t
sor ted
entity
data
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 17
Detailed Design
 Concerned with producing a short design
specification (mini-spec) of each function.
This should describe the processing, inputs,
and outputs.
 These descriptions should be managed in a
data dictionary.
 From these descriptions, detailed design
descriptions, expressed in a PDL, can be
produced.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 18
Data Dictionary Entries
Entity name Type Description
Design name STRING The name of the design assigned by the
design engineer.
Get design name FUNCTION Input: Design name
Function: This function communicates
with the user to get the name of a design
that has been entered in the design
database.
Output: Design name
Get entity names FUNCTION Input: Design name
Function: Given a design name, this
function accesses the design database to
find the names of the entities (nodes and
links) in that design.
Output: Entity names
Sorted names ARRAY of
STRING
A list of the names of the entities in a
design held in ascending alphabetical
order.

More Related Content

PPT
Function Oriented Design
PDF
Sun surya srinivass naidu letast
PDF
SAP SD CONFIGURATION GUIDE
PDF
Sap SD configuration-guide
PDF
Sap sd notes
PDF
Naidu sap sd
PDF
SAP SD configuration
PDF
Fi enhancement technique how-to-guide on the usage of business transaction ...
Function Oriented Design
Sun surya srinivass naidu letast
SAP SD CONFIGURATION GUIDE
Sap SD configuration-guide
Sap sd notes
Naidu sap sd
SAP SD configuration
Fi enhancement technique how-to-guide on the usage of business transaction ...

Similar to functional Design DFD and data flow diagram.ppt (20)

PDF
Fi enhancement technique how-to-guide on the usage of business transaction ...
PPT
Top Ten Siemens S7 Tips and Tricks
PPT
Systemmodels
DOC
250755494-advertising-agency-management-system-1-doc.doc
PPS
Prodev Solutions Intro
DOC
Scm lsmw steps_onweb
PPTX
Module 2 Unit 3
PPTX
Hi600 ch05_text_slides
PDF
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
PPT
Accounts Receivable_2011-5-13 17-5-16117.PPT
PPT
Requirements engineering process: Feasibility studies, requirements elicitati...
PPT
Data flow
PPT
How to Data Flow Diagram
PPT
208 dataflowdgm
 
PPTX
Mastering in data warehousing & BusinessIintelligence
PPT
IBM Systems Director 6.1 Overview - The IBM Solution for Platform Management
PPT
Building information systems
PPTX
Caim
PPTX
Dynamics nav 2009 r2 launch iceland technical track external
PDF
Analytics on system z final
Fi enhancement technique how-to-guide on the usage of business transaction ...
Top Ten Siemens S7 Tips and Tricks
Systemmodels
250755494-advertising-agency-management-system-1-doc.doc
Prodev Solutions Intro
Scm lsmw steps_onweb
Module 2 Unit 3
Hi600 ch05_text_slides
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
Accounts Receivable_2011-5-13 17-5-16117.PPT
Requirements engineering process: Feasibility studies, requirements elicitati...
Data flow
How to Data Flow Diagram
208 dataflowdgm
 
Mastering in data warehousing & BusinessIintelligence
IBM Systems Director 6.1 Overview - The IBM Solution for Platform Management
Building information systems
Caim
Dynamics nav 2009 r2 launch iceland technical track external
Analytics on system z final
Ad

Recently uploaded (20)

PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
Lecture Notes Electrical Wiring System Components
PPT
Project quality management in manufacturing
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
Sustainable Sites - Green Building Construction
PPTX
OOP with Java - Java Introduction (Basics)
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
PPT on Performance Review to get promotions
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
web development for engineering and engineering
PPTX
Construction Project Organization Group 2.pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Welding lecture in detail for understanding
PPTX
Geodesy 1.pptx...............................................
R24 SURVEYING LAB MANUAL for civil enggi
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Lecture Notes Electrical Wiring System Components
Project quality management in manufacturing
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Sustainable Sites - Green Building Construction
OOP with Java - Java Introduction (Basics)
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Foundation to blockchain - A guide to Blockchain Tech
bas. eng. economics group 4 presentation 1.pptx
PPT on Performance Review to get promotions
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
web development for engineering and engineering
Construction Project Organization Group 2.pptx
Internet of Things (IOT) - A guide to understanding
Welding lecture in detail for understanding
Geodesy 1.pptx...............................................
Ad

functional Design DFD and data flow diagram.ppt

  • 1. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 1 Function-oriented Design  Design with functional units which transform inputs to outputs
  • 2. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 2 Topics Covered  Data flow design  Structural decomposition  Detailed design
  • 3. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 3 Natural Functional Systems  Some systems are naturally function-oriented  Systems which maintain minimal state information; i.e., where the system is concerned with processing independent actions whose outcomes are not affected by previous actions  Information sharing through parameter lists  Transaction processing systems fall into this category. Each transaction is independent.
  • 4. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 4 ATM Software Design loop loop Print_input_message (” Welcome - Please enter your card”) ; exit when Card_input ; end loop ; Account_number := Read_card ; Get_account_details (PIN, Account_balance, Cash_available) ; if Validate_card (PIN) then loop Print_operation_select_message ; case Get_button is when Cash_only => Dispense_cash (Cash_available, Amount_dispensed) ; when Print_balance => Print_customer_balance (Account_balance) ; when Statement => Order_statement (Account_number) ; when Check_book => Order_checkbook (Account_number) ; end case ; Eject_card ; Print (“Please take your card or press CONTINUE”) ; exit when Card_removed ; end loop ; Update_account_information (Account_number, Amount_dispensed) ;
  • 5. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 5 Functional and Object-oriented Design  For many types of applications, object-oriented design is likely to lead to a more reliable and maintainable system.  For applications that maintain little state, function- oriented design is appropriate.  Standards, methods, and CASE tools for functional design are well-established.  Existing systems must be maintained. Function- oriented design will be practiced well into the 21st century.
  • 6. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 6 Functional Design Process  Data flow design • Model the data processing in the system using data flow diagrams  Structural decomposition • Model how functions are decomposed into sub-functions using graphical structure charts  Detailed design • The entities in the design and their interfaces are described in detail. These may be recorded in a data dictionary and the design expressed using a PDL
  • 7. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 7 Data Flow Diagrams  Show how an input data item is functionally transformed by a system into an output data item  Are an integral part of many design methods and are supported by many CASE systems
  • 8. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 8 DFD Notation  Rounded rectangle - function or transform  Rectangle - data store  Circles - user interactions with the system  Arrows - show direction of data flow  keywords and/or - Used to link data flows
  • 9. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 9 Design Report Generator Sor tentity names Getentity names Design database Get design name Design name Lookup entitynames Data dictionar y Sor tb y type Entity nam es Sorted nam es Designentity descr iptions Produce noderepor t Produce linkrepor t Integ rate repor ts Print repor t Link descr iptions Node descr iptions Integ rated repor t Node repor t Link repor t and and
  • 10. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 10  Structural decomposition is concerned with developing a model of the design which shows the dynamic structure; i.e., function calls.  The aim of the designer should be to derive design units which are highly cohesive and loosely coupled.  In essence, a data flow diagram is converted to a structure chart. Structural Decomposition
  • 11. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 11 Decomposition Guidelines  For business applications, the top-level structure chart may have four functions, namely input, process, master-file-update, and output  Data validation functions should be subordinate to an input function.  Coordination and control should be the responsibility of functions near the top of the hierarchy.
  • 12. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 12 Decomposition Guidelines  The aim of the design process is to identify loosely coupled, highly cohesive functions. Each function should therefore do one thing and one thing only.  Each node in the structure chart should have between two and seven subordinates.
  • 13. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 13 Process Steps  Identify system processing transformations • Transformations in the DFD that are concerned with processing rather than input/output activities. Group under a single function in the structure chart  Identify input transformations • Transformations concerned with reading, validating and formatting inputs. Group under the input function  Identify output transformations • Transformations concerned with formatting and writing output. Group under the output function
  • 14. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 14 Initial Structure Chart Produce designrepor ts Collate entities Gener ate repor t Get design entitynam es Design nam e Design entity nam es Design repor t entity nam es entity data entity data entity nam es
  • 15. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 15 Expanded Structure Chart Produce designrepor ts Collate entities Gener ate repor t Get design entitynam es entity nam es nam es sor ted entity data nam es Get design name Getentity names Sor tentities byname Getentity data Sor tentities bytype Produce integ ratedrepor t Print report design nam e entity nam es repor t entity data design nam e nam es sor ted nam es entity data sor ted entity data sor ted entity data Integ rated repor t sor ted entity data
  • 16. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 16 Final Structure Chart Data dictionar y Produce designrepor ts Collate entities Gener ate repor t Get design entitynam es entity nam es nam es sor ted entity data nam es Get design name Getentity names Sor tentities byname Getentity data Sor tentities bytype Produce integ ratedrepor t Print report design nam e entity nam es repor t entity data design nam e nam es sor ted nam es entity data sor ted entity data sor ted entity data Integ rated repor t Design database design nam e entity nam e Produce linkrepor t Produce noderepor t Link data Link repor t Node data Node repor t sor ted entity data
  • 17. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 17 Detailed Design  Concerned with producing a short design specification (mini-spec) of each function. This should describe the processing, inputs, and outputs.  These descriptions should be managed in a data dictionary.  From these descriptions, detailed design descriptions, expressed in a PDL, can be produced.
  • 18. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15 Slide 18 Data Dictionary Entries Entity name Type Description Design name STRING The name of the design assigned by the design engineer. Get design name FUNCTION Input: Design name Function: This function communicates with the user to get the name of a design that has been entered in the design database. Output: Design name Get entity names FUNCTION Input: Design name Function: Given a design name, this function accesses the design database to find the names of the entities (nodes and links) in that design. Output: Entity names Sorted names ARRAY of STRING A list of the names of the entities in a design held in ascending alphabetical order.