1 / 72

Software Specification Models

Software Specification Models. Software Engineering. The Waterfall Model. Requirements Definition. System and Software design. Implementation and Unit Testing. Integration and System Testing. Operation and Maintenance. ANALYSIS PHASE.

Download Presentation

Software Specification Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Specification Models Software Engineering

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

  11. Sell Stock Data Flow DiagramsProcess 3 Cashier

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

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

  14. DFD Shapes from Visio Visio 2000 Visio 5.x

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

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

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

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

  19. Example: University AdmissionsProcess Completed Application Stage Rejection Evaluation request Acceptance Offer Financial aid Evaluation Special request Applicant database

  20. Reading a DFD

  21. DFD Example

  22. 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 4

  23. Relationship Among DFD levels

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

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

  26. Context Diagram Accountant CampaignManager Staff Assignment Payment Campaign Staff Client Staff Grade Agate Campaign Management System Staff Contact Advert Completion Budget Client Contact CampaignStaff Advert Staff Concept Note Concept Note

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

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

  29. 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 Diagrams

  30. Staff Members Adverts Level 2 Diagram Client Contact Staff 5.1 Set Client Contact Contact Advert Completion 5.2 Set AdvertCompleted Completion Date

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

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

  33. 0 Food ordering system Level 0 Context diagram CUSTOMER KITCHEN RESTAURANT MANAGER

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

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

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

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

  38. DFD Example : Payroll

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

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

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

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

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

  44. Creating Data Flow Diagrams Lemonade Stand Example

  45. 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 )

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

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

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

More Related