Software Specification Models

Slides:



Advertisements
Similar presentations
Identifying Data Flows
Advertisements

DFD Examples Yong Choi BPA CSUB.
Johnb DFDs and Design John Bell The DeMarco notation.
Software Engineering-II Sir Zubair Sajid. 3 Data Flow Diagrams (DFD)  DFDs describe the flow of data or information into and out of a system what does.
IFS310: Week 3 BIS310: Structured Analysis and Design 5/4/2015 Process Modeling and Data Flow Diagrams.
How to : Data Flow Diagrams (DFDs)
1 Introduction to Data Flow Modelling The data flow approach to requirements determination in building a system for business use. This type of computer.
Jump to first page Chapter 2 System Analysis - Process Modeling.
DT211 Stage 2 Software Engineering
Modern Systems Analysis and Design
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 8 Structuring.
Tutorial 2 DT228/3 Database Technology. Joe’s Yard Take the following documents: –The script as prepared –The docket –The diary in the yard –The list.
Spreadsheets in Finance and Forecasting Project Session 3b(ii) Data Flow Diagrams.
DT211 Stage 2 Software Engineering
Modeling the Processes and Logic
Process Modelling Using Data Flow Diagrams - Building and Levelling Them; Process Modelling Using Function Decomposition CSE Information Systems.
Current Physical Diagram Document this in Select SSADM.
System Analysis and Design
Copyright © 2015 Pearson Education, Inc. Systems Documentation Techniques Chapter
Data Flow Diagrams BCA Sem IV K.I.R.A.S.
1 Structured Analysis Techniques. 2 Data Flow Diagrams.
Chapter 8 Structuring System Requirements: Process Modeling
Data Flow Diagrams (DFDs)
DFD examples.
Modeling the system the data flow diagram the context diagram level decomposition the cornucopia case portfolio project Systems Analysis and Design for.
Practical Significance of DFDs  Many older information systems (legacy systems):  Are mainframe-based (inaccessible to most non-IT users);  Use non-relational.
Data flow diagrams.
Data Flow Diagrams (DFDs). Data flow diagram (DFD) is a picture of the movement of data between external entities and the processes and data stores within.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 6.1.
DFD Examples Yong Choi BPA CSUB. Creating Data Flow Diagrams Steps: 1.Create a list of activities 2.Construct Context Level DFD (identifies external entities.
Data Flow Diagrams.
Computer System Analysis Chapter 8 Structuring System Requirements: Process Modeling Dr. Sana’a Wafa Al-Sayegh 1 st quadmaster University of Palestine.
Chapter 7 Structuring System Process Requirements
1 Ref: Prof Sarda Process Modeling…… Lecture Outline Data flow diagram (DFD)
AN INTRODUCTION BUSINESS PROCESS DOCUMENTATION WITH DATA FLOW DIAGRAMS.
Sequence Diagrams.
1 Data Flow Diagrams. 2 Identifying Data Flows During the analysis stage of a project it is important to find out how data flows through a system:  Where.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Chapter 8 Structuring System Requirements: Process Modeling 8.1.
1 DATA FLOW DIAGRAM. 2 Outline Process decomposition diagrams Data flow diagram (DFD)
Data Flow Diagrams (DFDs) 1Information Systems Engineering.
Creating Data Flow Diagrams Presenter: Ms. Somia Razzaq.
CHAPTER 5 1 DATA AND PROCESS ANALYSIS. Chapter Objectives Describe data and process modeling concepts and tools, including data flow diagrams, a data.
Data Flow Diagrams (DFDs)
Modern Systems Analysis and Design Fifth Edition
Joe’s Yard Case study done through SSADM. Joe’s Yard Joe’s builders’ suppliers has a shop and a yard. His system is entirely manual. He has a stock list.
section II Analysis Systems Analysis and Design
Information Modelling Process Technique- DFD 5C Sybase_PowerDesigner_ html.
Systems Analysis & Design
C_ITIP211 LECTURER: E.DONDO. Unit 3 : PROCESS MODELING.
© 2006 Prentice Hall Business Publishing Accounting Information Systems, 10/e Romney/Steinbart1 of 37 C System Process Modeling DATA Flow Diagrams.
DFD Examples Yong Choi BPA CSUB.
Software Specification Models
1. Computational Thinking
Systems Documentation Techniques
Data Flow Diagrams.
Modern Systems Analysis and Design
Process Modeling Graphically represent the processes that capture, manipulate, store, and distribute data between a system and its environment Models DFDs.
DATA FLOW DIAGRAMS Budi Arifitama.
Identifying Data Flows
System Process Modeling
DFD Examples Yong Choi BPA CSUB.
Data Flow Diagrams.
Process & Logic Modeling
DFD Example : Bus Garage Repairs
Software design and architecture
System Design By Kustanto.
DFD Examples Yong Choi BPA CSUB.
DFD Examples Yong Choi BPA CSUB.
DFD Examples Yong Choi BPA CSUB.
DFD Process & Examples.
Presentation transcript:

Software Specification Models Software Engineering Software Specification Models

The Waterfall Model Requirements Definition System and Software design Implementation and Unit Testing Integration and System Testing Operation and Maintenance

ANALYSIS PHASE The development process starts with the analysis phase. This phase results in a specification document that shows what the software will do without specifying how it will be done. The analysis phase can use two separate approaches, depending on whether the implementation phase is done using a procedural programming language or an object-oriented language.

System modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers

Stages of Design Problem understanding Identify one or more solutions Look at the problem from different angles to discover the design requirements. Identify one or more solutions Evaluate possible solutions and choose the most appropriate depending on the designer's experience and available resources. Describe solution abstractions Use graphical, formal or other descriptive notations to describe the components of the design. Repeat process for each identified abstraction until the design is expressed in primitive terms.

Requirements Specification: Approaches • Natural language • Structured natural language • Design description language • Requirements specification language • Graphical notation • Formal specification

Data Flow Diagrams DFDs model the system from a functional perspective Tracking and documenting how the data associated with a process is helpful to develop an overall understanding of the system Data flow diagrams may also be used in showing the data exchange between a system and other systems in its environment

Example DFD: Enrolling in a University In Gane and Sarson notation

4 Main Elements external entity - people or organisations that send data into the system or receive data from the system process - models what happens to the data i.e. transforms incoming data into outgoing data data store - represents permanent data that is used by the system data flow - models the actual flow of the data between the other elements

SYMBOLS USED IN A DFD Actions performed on data so that they are transformed, stored or distributed. PROCESS DATA FLOW E.g. Result of a query to a database, contents of a printed report : data that moves together to common destinations

Data Flow Diagrams Process 3 Cashier Sell Stock

SYMBOLS USED IN A DFD DATA STORE A physical location to hold data e.g. a file folder or notebook etc. SOURCE/SINK Origin and/or destination of the data. Often referred to as external entities as they are outside the system.

Data Flow Diagrams Data Flows Customer Details Data Flow (usual) Bi-directional Flow (rare) Flow Between External Entities (for convenience) Resource Flow (for convenience) Goods Cosmetics

DFD Shapes from Visio Visio 2000 Visio 5.x

Data Flow Diagrams Manager Decomposing Data Flow Diagrams Stock List Purchase Order 1 Order Stock Produce Stock List 1.1 Record Purchase Order 1.2 * * Stock List Purchase Order Stock File M2 Purchase Order Cabinet M1

Example Data Flow Diagram: Book Shipping and Receiving System Alternate shape Data Flow Diagrams

Example: University Admissions Rejection Application form Completed application Receive application Evaluate Applicant Offer

Example: University Admissions Assemble Application Stage Acknowledgment Acknowledgment Application form Completed application AND Evaluation request Initiate evaluation Receive Applicant AND Supporting information Applicant database Pending database

Example: University Admissions Process Completed Application Stage Rejection Evaluation request Acceptance Offer Financial aid Evaluation Special request Applicant database

Reading a DFD

DFD Example

Levelled DFDs Even a small system could have many processes and data flows and DFD could be large and messy use levelled DFDs - view system at different levels of detail one overview and many progressively greater detailed views sides of context process box = system boundary Example context diagram for library, inputs= book request, book return and output = book; external entity = student. Go through the case study - context Fig 3.4 pg 32; level 1- Fig 3.5 pg 32 level 2 - Fig 3.6 pg 33 4 BCS - GP1 4

Relationship Among DFD levels

Top-Down Modeling – Process Decomposition Draw data flow diagrams for what is happening inside each Level 0 function, etc…. Context Diagram System Level 0 1 2 3 Level 1 3.3 3.1 3.2 Level 2

Level 0 - Context Diagram models system as one process box which represents scope of the system identifies external entities and related inputs and outputs Additional notation - system box

Context Diagram Staff Assignment Payment Campaign Manager Accountant Client Agate Campaign Management System Staff Grade Staff Contact Advert Completion Budget Client Contact Campaign Staff Advert Staff Concept Note Concept Note

Level 1 - overview diagram gives overview of full system identifies major processes and data flows between them identifies data stores that are used by the major processes boundary of level 1 is the context diagram

Top Level Diagram (Level 1) Client 1. Record Clients Clients 4. Maintain Staff Campaign Manager Staff Accountant Client Staff Staff Grade Staff Members Payment Campaign Staff Staff Advert Completion 2. Plan and Manage Campaigns Campaigns 5. Manage Adverts Staff Contact Budget Campaign Staff Assignment Contact + Completion Date Client Contact Cost Adverts Campaign Staff Advert 3. Prepare Adverts Advert 6. Browse Concept Notes Concept Note Staff Concept Note Concept Note Concept Note Concept Note Notes

Level 2 Diagrams level 1 process is expanded into more detail each process in level 1 is decomposed to show its constituent processes Level 2 diagrams may not be needed for all level 1 processes Correctly numbering each process helps the user understand where the process fits into the overall system

Level 2 Diagram Staff Members Client Contact Staff 5.1 Set Client Adverts Advert Completion 5.2 Set Advert Completed Completion Date

Numbering On level 1 processes are numbered 1,2,3… On level 2 processes are numbered x.1, x.2, x.3… where x is the number of the parent level 1 process Number is used to uniquely identify process not to represent any order of processing Data store numbers usually D1, D2, D3...

Labelling Process label - short description of what the process does, e.g. Price order Data flow label - noun representing the data flowing through it e.g. Customer payment Data store label - describes the type of data stored Make labels as meaningful as possible

Level 0 Context diagram CUSTOMER KITCHEN Food ordering system RESTAURANT MANAGER

Level 0 Context diagram CUSTOMER KITCHEN Customer Order Customer Order Food ordering system Food Order Receipt Management Reports RESTAURANT MANAGER

1.0 3.0 2.0 4.0 Receive and transform Customer Food Order Update Goods Sold file 2.0 Update Inventory file 4.0 Produce Management Reports

CUSTOMER KITCHEN 1.0 Receive and transform Customer Food Order Customer Order Food Order Receipt 3.0 Update Goods Sold file 2.0 Update Inventory file D2 Inventory File Goods Sold File D1 4.0 Produce Management Reports RESTAURANT MANAGER Management Reports

CUSTOMER KITCHEN 1.0 Receive and transform Customer Food Order Customer Order Food Order Receipt Goods Sold Inventory Data 3.0 Update Goods Sold file 2.0 Update Inventory file Inventory Data Goods Sold Data D2 Inventory File Goods Sold File D1 4.0 Produce Management Reports Daily Inventory Depletion Amounts Daily Goods Sold Amount RESTAURANT MANAGER Management Reports

DFD Example : Payroll

Example Alexsoft shop buys software from various suppliers and sells it to the public The shop stocks popular software packages and orders as required The shop sells monthly about 300 packages The shop need to be computerized

DFD Package data order Customer Process order invoice Customer data Package details Customer order Process order invoice Credit status Customer data

DFD (2) Package data order Customer Customer data Package details Customer order Verify order is valid Assemble order invoice details Credit status Customer data

Place order at supplier DFD (3) Details of package to be ordered Batched order Verify order is valid Place order at supplier Pending orders Address or telephone Software Supplier

DFD (4) Package data order Customer Customer data Account receivable Package details Customer order Verify order is valid Assemble order invoice details payment Credit status Customer data Payment to invoice Account receivable

Creating Data Flow Diagrams Lemonade Stand Example

Creating Data Flow Diagrams Example Steps: The operations of a simple lemonade stand will be used to demonstrate the creation of dataflow diagrams. Construct Context Level DFD (identifies sources and sink) Construct Level 0 DFD (identifies manageable sub processes ) Construct Level 1- n DFD (identifies actual data flows and data stores )

Creating Data Flow Diagrams Example Create a list of activities Think through the activities that take place at a lemonade stand. Customer Order Serve Product Collect Payment Produce Product Store Product

Creating Data Flow Diagrams Example Create a list of activities Also think of the additional activities needed to support the basic activities. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor

Creating Data Flow Diagrams Example Construct Context Level DFD (identifies sources and sink) Create a context level diagram identifying the sources and sinks (users). Context Level DFD Sales Forecast CUSTOMER 0.0 Lemonade System EMPLOYEE Order Production Schedule Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor Product Served Pay Payment Time Worked Received Goods Payment Purchase Order VENDOR

Creating Data Flow Diagrams Example Construct Level 0 DFD (identifies manageable sub processes ) Create a level 0 diagram identifying the logical subsystems that may exist. Level 0 DFD 1.0 Sale Sales Forecast Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor Customer Order Product Ordered CUSTOMER Payment 2.0 Production EMPLOYEE Production Schedule Product Served Inventory Received Goods VENDOR 3.0 Procure-ment Purchase Order Order Decisions Payment Pay Time Worked 4.0 Payroll

Creating Data Flow Diagrams Example Construct Level 1- n DFD (identifies actual data flows and data stores ) Create a level 1 decomposing the processes in level 0 and identifying data stores. Level 1 DFD CUSTOMER Customer Order Request for Forecast Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor ORDER 1.1 Record Order 1.3 Produce Sales Forecast Severed Order Payment Sales Forecast 1.2 Receive Payment PAYMENT

Creating Data Flow Diagrams Example Construct Level 1 (continued) Create a level 1 decomposing the processes in level 0 and identifying data stores. Level 1 DFD Product Order ORDER 2.1 Serve Product Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor Quantity Severed RAW MATERIALS Production Schedule 2.2 Produce Product Quantity Used INVENTORTY Production Data 2.3 Store Product Quantity Produced & Location Stored

Creating Data Flow Diagrams Example Construct Level 1 (continued) Create a level 1 decomposing the processes in level 0 and identifying data stores. Level 1 DFD Order Decision PURCHASE ORDER 3.1 Produce Purchase Order Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor Quantity On-Hand RAW MATERIALS Quantity Received Received Goods 3.2 Receive Items RECEIVED ITEMS Payment Approval 3.3 Pay Vendor VENDOR Payment

Creating Data Flow Diagrams Example Construct Level 1 (continued) Create a level 1 decomposing the processes in level 0 and identifying data stores. Level 1 DFD Time Worked TIME CARDS 4.1 Record Time Worked Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor Employee ID EMPLOYEE Payroll Request 4.2 Calculate Payroll Unpaid time cards PAYROLL Payment Approval 4.3 Pay Employee PAYMENTS Payment

Process Decomposition 1.0 Sale 1.1 Record Order 1.2 Receive Payment 2.0 Production 2.1 Serve Product 2.2 Produce Product 2.3 Store Product 0.0 Lemonade System 3.0 Procure-ment 3.1 Produce Purchase Order 3.2 Receive Items 3.3 Pay Vendor 4.0 Payroll 4.1 Record Time Worked 4.2 Calculate Payroll 4.3 Pay Employee Context Level Level 0 Level 1

DFD Example: Bus Garage Repairs Buses come to a garage for repairs. A mechanic and helper perform the repair, record the reason for the repair and record the total cost of all parts used on a Shop Repair Order. Information on labor, parts and repair outcome is used for billing by the Accounting Department, parts monitoring by the inventory management computer system and a performance review by the supervisor.

DFD Example: Bus Garage Repairs (cont’d) External Entities: Bus, Mechanic, Helper, Supervisor, Inventory Management System, Accounting Department, etc. Key process (“the system”): performing repairs and storing information related to repairs Processes: Record Bus ID and reason for repair Determine parts needed Perform repair Calculate parts extended and total cost Record labor hours, cost

DFD Example: Bus Garage Repairs (cont’d) Data stores: Personnel file Repairs file Bus master list Parts list Data flows: Repair order Bus record Parts record Employee timecard Invoices

Bus Garage Context Diagram Mechanical problem to be repaired Fixed mechanical problems Supervisor Helper Bus Repair Process System Repair summary Labor List of parts used Inventory Management System Labor Labor, parts cost details Mechanic Accounting

Burger’s Order Processing System Draw the Burger’s context diagram System Order processing system External entities Kitchen Restaurant Customer Processes Customer order Receipt Food order Management report

Joe’s builders’ suppliers has a shop and a yard Joe’s builders’ suppliers has a shop and a yard. He has a stock list on the wall of his shop, complete with prices. When a builder wants to buy supplies, he goes into the shop and picks the stock items from the list. He writes his order on a duplicate docket and pays Joe, who stamps the docket as paid. The builder takes the duplicate docket and he goes to the yard and hands it to the yard foreman. The yard foreman gets the ordered items from the yard and gives them to the builder. The builder signs the duplicate docket and leaves one copy with the foreman and takes one copy as a receipt. Every week, Joe looks around the yard to see if any of his stock is running low. He rings up the relevant suppliers and reorders stock. He records the order in his order book, which is kept in the yard. The yard foreman takes delivery of the new stock and checks it against what has been ordered. He pays for it on delivery and staples the receipt into the order book. At the end of every month, Joe goes through all the dockets and the order book and produces a financial report for the shareholders.

Context diagram

Level-1 DFD processes Joe’s builders’ suppliers has a shop and a yard. His system is entirely manual. He has a stock list on the wall of his shop, complete with prices. When a builder wants to buy supplies, he goes into the shop and picks the stock items from the list. He writes his order on a duplicate docket and pays Joe, who stamps the docket as paid. The builder takes the duplicate docket and he goes to the yard and hands it to the yard foreman. The yard foreman gets the ordered items from the yard and gives them to the builder. The builder signs the duplicate docket and leaves one copy with the foreman and takes one copy as a receipt. Every week, Joe looks around the yard to see if any of his stock is running low. He rings up the relevant suppliers and reorders stock. He records the order in his order book, which is kept in the yard. The yard foreman takes delivery of the new stock and checks it against what has been ordered. He pays for it on delivery and staples the receipt into the order book. At the end of every month, Joe goes through all the dockets and the order book and produces a financial report for the shareholders. Verbs: Passive: has Buy supplies Picks stock items Writes orders Pays joe Stamps docket Takes docket to yard Hands it to foreman Gets items Gives them to builder Builder signs docket Takes copy as receipt Looks around yard and reorders Records order in order book Foreman takes delivery – checks Foreman pays supplier Staples receipt to order book Produces financial report

Level 1 current physical

Buy Supplies

Get Items

Reorder supplies

Restock

Evolutionary software process models The waterfall model is appropriate when requirement changes are limited. True b. False Evolutionary software process models Are iterative in nature Can easily accommodate product requirements changes Do not generally produce throwaway systems All of the above The first step in project planning is to determine the budget. select a team organizational model. determine the project constraints. establish the objectives and scope.

Give the time network chart for a giving example based on the following project data: i) The project involved 7 tasks:T1, T2, T3, T4, T5, T6, T7; ii) The tasks have the following durations: T1 (3 weeks), T2 (2 weeks), T3 (4 weeks), T4 (1 week), T5 (3 weeks), T6 (2 weeks), T7 (4 weeks); iii) Tasks T4 and T5 are dependent on Milestone M1 produced by Task T1; iv) Task T5 is also dependent on Milestone M2 produced by Task T2; v) Task T6 is dependent on Milestones M3 and M5 produced Task T3 and Task T5 respectively

Suggest an appropriate software process model that might be used as a basis for managing the development of the following systems: a) an e-auction system which will run over the web, b) a modification to a computer game, c) a system to control radiation therapy administered to patients in a hospital, d) a new virtual learning environment for a college or school, and e) an interactive web-based system that allows customers to review films available and book tickets for a cinema. In each case, justify your choice by giving reasons that take into account the type of system that is to be developed.