Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Specification Models

Similar presentations


Presentation on theme: "Software Specification Models"— Presentation transcript:

1 Software Specification Models
Software Engineering Software Specification Models

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

3 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.

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

5 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.

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

7 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

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

9 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

10 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

11 Data Flow Diagrams Process
3 Cashier Sell Stock

12 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.

13 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

14 DFD Shapes from Visio Visio 2000 Visio 5.x

15

16

17 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

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

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

20 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

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

22 Reading a DFD

23 DFD Example

24 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

25 Relationship Among DFD levels

26 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

27 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

28 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

29 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

30 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

31 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

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

33 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...

34 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

35 Level 0 Context diagram CUSTOMER KITCHEN Food ordering system
RESTAURANT MANAGER

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

37 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

38 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

39 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

40 DFD Example : Payroll

41 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

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

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

44 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

45 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

46 Creating Data Flow Diagrams Lemonade Stand Example

47 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 )

48 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

49 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

50 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

51 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

52 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

53 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

54 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

55 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

56 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

57 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.

58 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

59 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

60 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

61 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

62 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.

63 Context diagram

64 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

65 Level 1 current physical

66 Buy Supplies

67 Get Items

68 Reorder supplies

69 Restock

70 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.

71 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

72 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.

73 Case Study: Train Routing
Consider a system designed to route trains automatically Upon arrival at some light train is assigned a new route which takes it to the next light The system selects proper position for each switch along the route.

74 Case Study: Train Routing
Data stores network layout traffic Stimuli arrival at a light unlock side protection lights identify blocked trains reprocess their routes get new route lock side protection lights on red turn light green (if successful)

75 Running Case Study: Elevator
Consider the development of an elevator control system for a 10-story residential building. Discuss possible objectives and assign priorities fire evacuation safe operation: fire, door, alignment, accelartion, stopping at extremes rush hour effectiveness reliability and dependability timely delivery of single requests energy conservation Identify visible interfaces button, lights, sensors, alarm, climate controls, etc. Outline general capabilities accept valid calls and light the button announce arrival and reset call lights respond to fire alarm support environmental controls provide for continuous alignment activate buzzer for open door ... Identify and separate constraints single processor all sensors are memory mapped automatic restart capability

76 Centralized Controller
All external interfaces have been identified The specification does not rule out a distributed implementation … … but provides a concrete high-level architecture to allow further specification and refinement


Download ppt "Software Specification Models"

Similar presentations


Ads by Google