Top Banner
SRS Example
40
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SRS Example

SRS Example

Page 2: SRS Example

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

Page 3: SRS Example

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.

Page 4: SRS Example

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 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 PS1 so that ICS can find all documents related to the current purchase.

Page 5: SRS Example

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 goodsCOES wants to store returned goods

•..........

Page 6: SRS Example

Deployment Diagram

ICS

Cust.OrderEntry

Manufacturing

Purchasing

Shipping

Page 7: SRS Example

Overall Description of ICS

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.

Page 8: SRS Example

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

Page 9: SRS Example

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

Page 10: SRS Example

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

Page 11: SRS Example

USE CASE DIAGRAMS

Page 12: SRS Example

Use Case 1: ICS Dept

Chk Parts Inventory

Chk/verify Mfg Schedule

Create Purchase Requsts

Delete cancelled part records..

Add new part records

Reconcile machine and physical inventories

ICS

ICS Manager

Create reports required by mgmt

Page 13: SRS Example

Use Case 2: Customer Order EntrySalesperson(COES)

Chk Goods Availability

ChkAvail

ICSSales Prog.

View

ICS

Page 14: SRS Example

Use Case 3 - Manufacturing

Collect Mfg Requests

Create Mfg Schedule

Get/order parts.

Chk mfg. progress

Update finished goods inventory

Manufacturing Manager

Get/order parts

Mfg. Prog.

ICS

View/update

Page 15: SRS Example

Use Case 4 - PurchasingAnalyze purchasing requests

Analyze vendors

Get bids.

Order parts

Enter arriving parts

Purchasing Manager

Purchase parts

Purch. Prog.

ICS

View/update

Enter arriving parts

Return defective parts to vendor

Page 16: SRS Example

Use Case 5 - Shipping

Get finished orders

Ship to customer

Shipping Manager

(COES)

Ship Order

Shipping Prog.

ICS

View/update

Page 17: SRS Example

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.

Page 18: SRS Example

Software Requirements Specification

18

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

Page 19: SRS Example

Software Requirements Specification

19

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 - Purchasing2. Vendor Order Detail File - Purchasing

3. Customer Order Master File – Customer Order Entry4. Customer Order Detail File – Customer Order Entry

5. Manufacturing Requests – Manufacturing6. Manufacturing Schedule– Manufacturing

Page 20: SRS Example

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

Page 21: SRS Example

Data Flow Diagrams(DFD Level 0)

Vendor Order Master File

Vendor Order Detail File

Customer Order Master File

Cust. Order Detail File

Manufacturing Requests

Manufacturing Schedule

ICS

Part Transaction File

Part Master File

Part Detail File

Part Inventory File

Page 22: SRS Example

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

Page 23: SRS Example

DFD Level 1

Create New Part or Product Master Record

Edit/Delete Part or Product Master Record

Enter New Part or Product

Edit/Delete Part or Product

Enter Returned Part or Product

Issue Part or Product

Re-issue Part or Product

View Part or Product

Vendor Order Master File

Vendor Order Detail File

Cust. Order Detail File

Customer Order Master File

Manufacturing Requests

Manufacturing Schedule

All

Part Transaction File

Part Master File

Part Detail File

Part Inventory File

Page 24: SRS Example

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

Page 25: SRS Example

CLASS DESCRIPTIONS

Page 26: SRS Example

• 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

Page 27: SRS Example

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• getPartDetail• displayPrint PartDetail• getPartSummary• displayPrint PartSummary• recordStartTime• getUserId• recordUserId• getReservations• displayPrintReservations• updateStatus• recordCompletionTime

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

Page 28: SRS Example

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.

Page 29: SRS Example

Part Inventory Class (cont’d)

(note: Data elements are stored in DB) Data Elements• partId (*)• totalInStock• totalOnReserve• amountOnOrder

(can be one or more fields)

• amtExpectedByDate(can be one or more fields)

• lastEntryTransId• lastIssueTransId

Methods in Class• getPartInvRec• updatePartInvRec• displayPrintPartInvrec

Page 30: SRS Example

Part Master Class

(note: Data elements are stored in DB) Data Elements• partId (*)• partName

Methods in Class• getPartDetailById• getPartDetailByName• createNewPart• deletePart• updatePartMaster• displayPrintPartMaster

Page 31: SRS Example

Part Detail Class

(note: Data elements are stored in DB) Data Elements• partId (*)• partName• partDrawingNo• height• width• weight• price

Methods in Class• getPartDetailById• updatePartDetailById• displayPrintPartDetail

Page 32: SRS Example

Software Requirements Specification

32

3. FUNCTIONAL DESCRIPTION

• Each function is described in detail.A. Functional Partitioning - None

B. Functional Description

1. Processing Narrative

2. Functional Constraints

3. Performance Requirements

4. Design Constraints

5. Supporting Diagrams

Page 33: SRS Example

TRANSACTION DESCRIPTIONS

Page 34: SRS Example

“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 PartMaster Class and PartDetail Class.

Constraints: Requires “Product Administrator” rights for use.

Performance constraintsPerformance constraints: Since it locks PartMaster, 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 PartMaster and Part Detail classes.

Page 35: SRS Example

“Edit/Delete Part or Product” Transaction

Permits user to edit the description of a part or product or delete it. If there are any instances of the part or product, it can not be deleted. Uses PartMaster Class, PartDetail Class and PartInventory Class.

Constraints: Requires “Product Administrator” rights for use.

Performance constraintsPerformance constraints: Since it locks PartMaster, PartDetail and PartInventory 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 PartMaster and Part Detail classes.

Page 36: SRS Example

Other transactions supported by ICS

• enterNewPart,

• enterReturnedPartProduct

• issuePartProduct

• re-issuePartProduct

• viewPartProduct

(described similarly)

Page 37: SRS Example

Software Requirements Specification

37

4. Behavioural Description

• Operation as a result of external events and internal conditions

A. System States

B. Events and Actions

Page 38: SRS Example

Software Requirements Specification

38

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 boundsB. Classes of tests C. Test to be performed and expected software

responseD. Special considerations

Page 39: SRS Example

Software Requirements Specification

39

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.

Page 40: SRS Example

Software Requirements Specification

40

7. Appendices (Ekler)

• An executable prototype

• A paper prototype

• Preliminary user manual.(Represents software as a black-box. Emphasis is on input and output.)