SRS Example Overview of a Software Specification Document

  • Slides: 40
Download presentation
SRS Example

SRS Example

Overview of a Software Specification Document (SRS) 1. INTRODUCTION States the goals and objectives

Overview of a Software Specification Document (SRS) 1. INTRODUCTION States the goals and objectives of the software, describing it in the context of the computer-based system. A. System Reference B. Overall Description C. Software Project Constraints

Introduction (cont’d) • System Reference for an Inventory Control Subsystem: “ The Inventory Control

Introduction (cont’d) • System Reference for an Inventory Control Subsystem: “ The Inventory Control System (ICS) will work in the existing Enterprise Planning System (ERP) system. It will interface with the Purchasing, Manufacturing, Customer Order Entry/Shipping, and subsystems. It will be invoked mainly when: – purchased goods arrive from vendors, – goods are returned to the vendor for various reasons, – stock is issued to/from manufacturing, – finished goods are entered in the Finished Goods Warehouse – finished goods are shipped to the customer, – sales persons wish to check the availability of products.

System Reference for the Inventory Control Subsystem (cont’d): • Interface with Purchasing: When an

System Reference for the Inventory Control Subsystem (cont’d): • Interface with Purchasing: When an order from a vendor arrives, our Purchase Order Number on the vendor’s invoice will be used to locate the PO and other related documents, such as vendor proposals, price lists, product specifications. These will then be forwarded to Quality Control to be used in the inspection of the goods. An interface will be worked out with Purchasing subsystem currently running on Server PS 1 so that ICS can find all documents related to the current purchase.

System Reference for the Inventory Control Subsystem: (cont’d) • Interface with Manufacturing: Mfg requests

System Reference for the Inventory Control Subsystem: (cont’d) • Interface with Manufacturing: Mfg requests materials Mfg wants to store finished goods • Interface with Customer Order Entry/Shipping: COES wants to ship goods COES wants to store returned goods • . .

Deployment Diagram Cust. Order Entry Manu factur ing ICS Purch asing Ship ping

Deployment Diagram Cust. Order Entry Manu factur ing ICS Purch asing Ship ping

Overall Description of ICS’s main objective is to keep track of all the parts

Overall Description of ICS’s main objective is to keep track of all the parts and finished goods in the warehouses and all the transactions involving these parts and goods. An automatic purchase order generation when the stock levels of parts falls below the minimum has been contemplated but postponed to a future date.

Overall Description of ICS (cont’d) The main functions of ICS are: • Entering new

Overall Description of ICS (cont’d) The main functions of ICS are: • Entering new parts into the inventory (see “Interface with Purchasing”) • Issuing parts to Manufacturing (see “Interface with Manufacturing”) • Entering finished goods to the inventory (see “Interface with Manufacturing”)

Overall Description of ICS (cont’d-2) • Providing Sales personnel with inventory information • Issuing

Overall Description of ICS (cont’d-2) • Providing Sales personnel with inventory information • Issuing goods to/from COES for shipping, entering returned goods (see “Interface with Customer Order Entry/Shipping”) • Assisting IC Department with reconciliation of results of physical inventories and machine records (internal). • Providing IC Department Manager and the Vice President of Manufacturing with management reports about our inventories (internal).

Overall Description of ICS (cont’d-3) ICS should: • Provide a user interface consistent with

Overall Description of ICS (cont’d-3) ICS should: • Provide a user interface consistent with the other subsystems • Verify user identities and access rights • Do error checking on all inputs • Permit users to add customized reports

USE CASE DIAGRAMS

USE CASE DIAGRAMS

Use Case 1: ICS Dept ICS Manager Chk Parts Inventory Chk/verify Mfg Schedule Create

Use Case 1: ICS Dept ICS Manager Chk Parts Inventory Chk/verify Mfg Schedule Create Purchase Requsts Delete cancelled part records. . Add new part records Reconcile machine and physical inventories Create reports required by mgmt ICS

Use Case 2: Customer Order Entry Salesperson (COES) View Chk. Avail Chk Goods Availability

Use Case 2: Customer Order Entry Salesperson (COES) View Chk. Avail Chk Goods Availability Sales Prog. ICS

Use Case 3 - Manufacturing Manager Collect Mfg Requests View/ update Create Mfg Schedule

Use Case 3 - Manufacturing Manager Collect Mfg Requests View/ update Create Mfg Schedule Get/order parts. Chk mfg. progress Update finished goods inventory Get/order parts Mfg. Prog. ICS

Use Case 4 - Purchasing Manager Analyze purchasing requests View/ update Analyze vendors Get

Use Case 4 - Purchasing Manager Analyze purchasing requests View/ update Analyze vendors Get bids. Order parts Enter arriving parts Return defective parts to vendor Purchase parts Purch. Prog. ICS

Use Case 5 - Shipping Manager (COES) View/ update Get finished orders Ship Order

Use Case 5 - Shipping Manager (COES) View/ update Get finished orders Ship Order ICS Ship to customer Shipping Prog.

Software Project Constraints • • • Compatibility – ICS software should run compatibly (i.

Software Project Constraints • • • Compatibility – ICS software should run compatibly (i. e. under the same operating system, database and networking capabilities) with the other subsystems software it works together with. – It should allow an Administrator to enroll new users and give them access rights required by their duties. Reliability and Availability – Since it interfaces with Purchasing, Customer Order Entry and Manufacturing, it should be available as a minimum when any one of these subsystems are available. – It should permit 1 hour per day for maintenance and backup activities with minimal disruption to users. – Any failure should cause no more than 10 -minute downtime, with the average not exceding 2 minutes. – Backup should spot-tested to ensure they are reliable. Performance – It should allow up to 10 users to logon simultaneously and receive an average response time not exceeding 3 seconds. – Parts received should be in the recorded in the system in no more than 2 hours, with the average under 30 minutes.

2. INFORMATION DESCRIPTION • Detailed description of the problem the software must solve •

2. INFORMATION DESCRIPTION • Detailed description of the problem the software must solve • Information content, relationships, flow and structure • Hardware, software and human interfaces are described for external system elements and internal software functions Software Requirements Specification 18

ICS Information Description ICS will use the following data from other subsystems. See Class

ICS Information Description ICS will use the following data from other subsystems. See Class Diagrams for details. The formats can be found in the Design Documents of the related systems. 1. Vendor Order Master File - Purchasing 2. Vendor Order Detail File - Purchasing 3. Customer Order Master File – Customer Order Entry 4. Customer Order Detail File – Customer Order Entry 5. Manufacturing Requests – Manufacturing 6. Manufacturing Schedule– Manufacturing Software Requirements Specification 19

INFORMATION DESCRIPTION (cont’d) • ICS will create and maintain, as a minimum, the following

INFORMATION DESCRIPTION (cont’d) • ICS will create and maintain, as a minimum, the following files: 1. Part Transaction File 2. Part Master File 3. Part Detail File 4. Part Inventory File

Data Flow Diagrams (DFD Level 0) Vendor Order Master File Part Transaction File Vendor

Data Flow Diagrams (DFD Level 0) Vendor Order Master File Part Transaction File Vendor Order Detail File Part Master File Customer Order Master File Cust. Order Detail File Manufacturing Requests Manufacturing Schedule ICS Part Detail File Part Inventory File

INFORMATION DESCRIPTION (cont’d-3) • Transactions to be provided by ICS: – Create New Part

INFORMATION DESCRIPTION (cont’d-3) • Transactions to be provided by ICS: – Create New Part or Product Master Record (“Note: Part and Product Record formats can be obtained from Manufacturing Subsystem, File: prd_rec_fmt” ) – – – – Edit/Delete Part or Product Master Record Edit/Delete Part or Product Record Enter New Part or Product Enter Returned Part or Product Issue Part or Product Re-issue Part or Product View Part or Product. . .

DFD Level 1 Vendor Order Master File Vendor Order Detail File Create New Part

DFD Level 1 Vendor Order Master File Vendor Order Detail File Create New Part or Product Master Record Edit/Delete Part or Product Master Record Customer Order Master File Enter New Part or Product Cust. Order Detail File Edit/Delete Part or Product Manufacturing Requests Manufacturing Schedule All Part Transaction File Part Master File Part Detail File Enter Returned Part or Product Part Inventory File Issue Part or Product Re-issue Part or Product View Part or Product

INFORMATION DESCRIPTION (cont’d-4) • List of transactions should be expanded and details should be

INFORMATION DESCRIPTION (cont’d-4) • List of transactions should be expanded and details should be given as required. • The transactions will use the classes described below as required • Data flow and Control flow diagrams should be supplied. (do not have to be very detailed at this stage. Will be discussed in more detailed later. )

CLASS DESCRIPTIONS

CLASS DESCRIPTIONS

Part Transaction Class • It will list details of all parts entry and parts

Part Transaction Class • It will list details of all parts entry and parts issue transactions, using the Transaction ID as the Primary Key. May be used with the Part ID to display all transactions for a given part. • It will be searchable by the various portions of the Part ID, date of the transaction, person making the transaction, and the transaction type indicating the reason for the transaction. It will allow a joker character (? ) to match any character in that position. • The outputs can be routed to the display, a file or the printer.

Part Transaction Class (cont’d) (note: Data elements are stored in DB) Data Elements •

Part Transaction Class (cont’d) (note: Data elements are stored in DB) Data Elements • Trans ID (*) • Trans type: View Part • Trans start time • User ID • Part ID • View type: Detail • Amount on Reserve (may be more than one field) • Status: • Completion time Methods in class • get. Part. Detail • display. Print Part. Detail • get. Part. Summary • display. Print Part. Summary • record. Start. Time • get. User. Id • record. User. Id • get. Reservations • display. Print. Reservations • update. Status • record. Completion. Time

Part Inventory Class This class will allow viewing the inventory of parts by part

Part Inventory Class This class will allow viewing the inventory of parts by part ID or part name. It will update fields as required. This file will be searchable by Part ID in ways similar to to the preceding file. Its output can be directed to the display, a file or a printer. Its contents should be verified periodically by complete or partial physical inventories.

Part Inventory Class (cont’d) (note: Data elements are stored in DB) Methods in Class

Part Inventory Class (cont’d) (note: Data elements are stored in DB) Methods in Class Data Elements • get. Part. Inv. Rec • part. Id (*) • update. Part. Inv. Rec • total. In. Stock • display. Print. Part. Invrec • total. On. Reserve • amount. On. Order (can be one or more fields) • amt. Expected. By. Date (can be one or more fields) • last. Entry. Trans. Id • last. Issue. Trans. Id

Part Master Class (note: Data elements are stored in DB) Methods in Class Data

Part Master Class (note: Data elements are stored in DB) Methods in Class Data Elements • get. Part. Detail. By. Id • part. Id (*) • get. Part. Detail. By. Name • part. Name • create. New. Part • delete. Part • update. Part. Master • display. Print. Part. Master

Part Detail Class (note: Data elements are stored in DB) Methods in Class Data

Part Detail Class (note: Data elements are stored in DB) Methods in Class Data Elements • get. Part. Detail. By. Id • part. Id (*) • update. Part. Detail. By. Id • part. Name • display. Print. Part. Detail • part. Drawing. No • • height width weight price

3. FUNCTIONAL DESCRIPTION • Each function is described in detail. A. Functional Partitioning -

3. FUNCTIONAL DESCRIPTION • Each function is described in detail. A. Functional Partitioning - None B. Functional Description 1. 2. 3. 4. 5. Processing Narrative Functional Constraints Performance Requirements Design Constraints Supporting Diagrams Software Requirements Specification 32

TRANSACTION DESCRIPTIONS

TRANSACTION DESCRIPTIONS

“Create New Part or Product” Transaction Narrative: Creates a new part or product type.

“Create New Part or Product” Transaction Narrative: Creates a new part or product type. After the type has been created, part or product instances can be entered. Permits user to enter a new type code and its description. The type code should be selected according to the “Part/product Type Code Guidelines” document. Uses Part. Master Class and Part. Detail Class. Constraints: Requires “Product Administrator” rights for use. Performance constraints: constraints Since it locks Part. Master, the transaction should time-out after 15 seconds and backout all changes. Design Constraints: Must check type code for compliance with Guidelines Supporting Diagrams: See Class diagram for Part. Master and Part Detail classes.

“Edit/Delete Part or Product” Transaction Permits user to edit the description of a part

“Edit/Delete Part or Product” Transaction Permits user to edit the description of a part or product or delete it. If there any instances of the part or product, it can not be deleted. Uses Part. Master Class, Part. Detail Class and Part. Inventory Class. Constraints: Requires “Product Administrator” rights for use. Performance constraints: constraints Since it locks Part. Master, Part. Detail and Part. Inventory Classes, the transaction should time-out after 15 seconds and backout all changes. Design Constraints: Must check type code for compliance with Guidelines. Any instances of the part or product are in existence, only certain fields may be edited. Supporting Diagrams: See Class diagram for Part. Master and Part Detail classes.

Other transactions supported by ICS • enter. New. Part, • enter. Returned. Part. Product

Other transactions supported by ICS • enter. New. Part, • enter. Returned. Part. Product • issue. Part. Product • re-issue. Part. Product • view. Part. Product (described similarly)

4. Behavioural Description • Operation as a result of external events and internal conditions

4. Behavioural Description • Operation as a result of external events and internal conditions A. System States B. Events and Actions Software Requirements Specification 37

5. Validation Criteria • How do we recognize a successful implementation? What classes of

5. Validation Criteria • How do we recognize a successful implementation? What classes of tests must be conducted to validate function, performance and constraints? A. Performance bounds B. Classes of tests C. Test to be performed and expected software response D. Special considerations Software Requirements Specification 38

6. Bibliography • List of references used (books, reports, papers, web sites/pages). Make reference

6. Bibliography • List of references used (books, reports, papers, web sites/pages). Make reference as specific as possible, including chapter/page for paper pubs and detailed URL for Web. Software Requirements Specification 39

7. Appendices (Ekler) • An executable prototype • A paper prototype • Preliminary user

7. Appendices (Ekler) • An executable prototype • A paper prototype • Preliminary user manual. (Represents software as a black-box. Emphasis is on input and output. ) Software Requirements Specification 40