©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 1 Function-oriented Design u Design with functional units which transform inputs.

Slides:



Advertisements
Similar presentations
Chapter 26 Legacy Systems.
Advertisements

Chapter 26 Legacy Systems.
Chapter 7 System Models.
Legacy Systems Older software systems that remain vital to an organisation.
Chapter 7 Structuring System Process Requirements
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Copyright Irwin/McGraw-Hill Software Design Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Systems Analysis and Design 9th Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 5th edition. Chapter 15 Slide 1 Function-oriented design Software Engineering Ian Sommerville.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 5th edition. Chapter 15 Slide 1 Function-oriented design Software Engineering Ian Sommerville.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 71 System models l Abstract descriptions of systems whose requirements are being analysed.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Function-oriented design portions ©Ian Sommerville 1995 Design with functional units which transform inputs to outputs.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
Chapter 7: System models
Chapter 7 Structuring System Process Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Data and Process Modeling
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Function-oriented Design
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
© Andrew IrelandSoftware Design F28SD2 Function-oriented Design Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Chapter 9 Moving to Design
Software Design Deriving a solution which satisfies software requirements.
Chapter 7 System models.
Elements of Software Analysis and Design - Structured Approaches - Structured Analysis - Functional Oriented Design 10/24/2015ICS 413 – Software Engineering1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 1 Function-oriented design u Design with functional units which transform inputs.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
TCS2411 Software Engineering1 Data-Flow Oriented Design “From DFD to Structure Chart”
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Dr.Basem Alkazemi
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Packets.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Design.  Application Design  User Interface Design  Database Design.
Legacy Systems IS301 – Software Engineering Lecture # 24 – M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University.
Chapter : 9 Architectural Design
Data Flow Diagram, Data Dictionary, and Process Specification PART I
Architectural Complexity  A useful technique for assessing the overall complexity of a proposed architecture is to consider dependencies between components.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
7-1 Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Engineering Lecture 4 System Modeling The Analysis Stage.
DFD(Data Flow Diagram)
Problem Solving How do we attack a large problem?
Abstract descriptions of systems whose requirements are being analysed
Software Design CMSC 345, Version 1/11.
Function-oriented Design
Presentation transcript:

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 1 Function-oriented Design u Design with functional units which transform inputs to outputs

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 2 Topics Covered u Data flow design u Structural decomposition u Detailed design

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 3 Natural Functional Systems u Some systems are naturally function-oriented u 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 u Information sharing through parameter lists u Transaction processing systems fall into this category. Each transaction is independent.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 4 ATM Software Design 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) ; else Retain_card ; end if ; end loop ; ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 7

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 5 Functional and Object-oriented Design u For many types of applications, object-oriented design is likely to lead to a more reliable and maintainable system. u For applications that maintain little state, function- oriented design is appropriate. u Standards, methods, and CASE tools for functional design are well-established. u Existing systems must be maintained. Function- oriented design will be practiced well into the 21st century.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 6 Functional Design Process u Data flow design Model the data processing in the system using data flow diagrams u Structural decomposition Model how functions are decomposed into sub-functions using graphical structure charts u 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 15Slide 7 Data Flow Diagrams u Show how an input data item is functionally transformed by a system into an output data item u Are an integral part of many design methods and are supported by many CASE systems

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 8 DFD Notation u Rounded rectangle - function or transform u Rectangle - data store u Circles - user interactions with the system u Arrows - show direction of data flow u keywords and/or - Used to link data flows

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 9 Design Report Generator

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 10 u Structural decomposition is concerned with developing a model of the design which shows the dynamic structure; i.e., function calls. u The aim of the designer should be to derive design units which are highly cohesive and loosely coupled. u In essence, a data flow diagram is converted to a structure chart. Structural Decomposition

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 11 Decomposition Guidelines u For business applications, the top-level structure chart may have four functions, namely input, process, master-file-update, and output u Data validation functions should be subordinate to an input function. u Coordination and control should be the responsibility of functions near the top of the hierarchy.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 12 Decomposition Guidelines u 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. u Each node in the structure chart should have between two and seven subordinates.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 13 Process Steps u 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 u Identify input transformations Transformations concerned with reading, validating and formatting inputs. Group under the input function u Identify output transformations Transformations concerned with formatting and writing output. Group under the output function

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 14 Initial Structure Chart

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 15 Expanded Structure Chart

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 16 Final Structure Chart

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 17 Detailed Design u Concerned with producing a short design specification (mini-spec) of each function. This should describe the processing, inputs, and outputs. u These descriptions should be managed in a data dictionary. u From these descriptions, detailed design descriptions, expressed in a PDL, can be produced.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 18 Data Dictionary Entries