Title: SRS Example
1SRS Example
2Overview of a Software Specification Document
(SRS)
- INTRODUCTIONStates the goals and objectives of
the software, describing it in the context of the
computer-based system. - System Reference
- Overall Description
- Software Project Constraints
3Introduction (contd)
- 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.
4System Reference for the Inventory Control
Subsystem (contd)
- Interface with PurchasingWhen an order from a
vendor arrives, our Purchase Order Number on the
vendors 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.
5System Reference for the Inventory Control
Subsystem(contd)
- Interface with ManufacturingMfg requests
materials Mfg wants to store finished goods - Interface with Customer Order Entry/ShippingCOE
S wants to ship goodsCOES wants to store
returned goods - ..........
6Deployment Diagram
Cust.OrderEntry
Manufacturing
ICS
Purchasing
Shipping
7Overall Description of ICS
- ICSs 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.
8Overall Description of ICS (contd)
- 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)
9Overall Description of ICS (contd-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).
10Overall Description of ICS (contd-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
11USE CASE DIAGRAMS
12Use Case 1 ICS Dept
ICS Manager
Chk Parts Inventory
Chk/verify Mfg Schedule
Create Purchase Requsts
ICS
Delete cancelled part records..
Add new part records
Reconcile machine and physical inventories
Create reports required by mgmt
13Use Case 2 Customer Order Entry
Salesperson(COES)
View
ChkAvail
Chk Goods Availability
ICS
ICS
14Use Case 3 - Manufacturing
Manufacturing Manager
Collect Mfg Requests
View/update
Create Mfg Schedule
Get/order parts
Get/order parts.
ICS
Chk mfg. progress
Mfg. Prog.
Update finished goods inventory
15Use Case 4 - Purchasing
Analyze purchasing requests
Purchasing Manager
View/update
Analyze vendors
Purchase parts
Get bids.
ICS
Purch. Prog.
Order parts
Enter arriving parts
Return defective parts to vendor
16Use Case 5 - Shipping
Shipping Manager (COES)
View/update
Get finished orders
Ship Order
ICS
Shipping Prog.
Ship to customer
17Software 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.
182. 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
19ICS 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. - Vendor Order Master File - Purchasing
- Vendor Order Detail File - Purchasing
- Customer Order Master File Customer Order Entry
- Customer Order Detail File Customer Order
Entry - Manufacturing Requests Manufacturing
- Manufacturing Schedule Manufacturing
20INFORMATION DESCRIPTION (contd)
- ICS will create and maintain, as a minimum, the
following files - Part Transaction File
- Part Master File
- Part Detail File
- Part Inventory File
21Data Flow Diagrams(DFD Level 0)
Vendor Order Master File
Part Transaction File
Vendor Order Detail File
Part Master File
Customer Order Master File
ICS
Part Detail File
Cust. Order Detail File
Part Inventory File
Manufacturing Requests
Manufacturing Schedule
22INFORMATION DESCRIPTION (contd-3)
- Transactions to be provided by ICS
- Create New Part or Product Master
Record(NotePart 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
- ......
23DFD Level 1
Vendor Order Master File
Create New Part or Product Master Record
Part Transaction File
Vendor Order Detail File
Edit/Delete Part or Product Master Record
Part Master File
Customer Order Master File
Enter New Part or Product
Part Detail File
Edit/Delete Part or Product
Cust. Order Detail File
Enter Returned Part or Product
Manufacturing Requests
Part Inventory File
Issue Part or Product
Manufacturing Schedule
Re-issue Part or Product
All
View Part or Product
24INFORMATION DESCRIPTION (contd-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.)
25CLASS DESCRIPTIONS
26Part 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.
27Part Transaction Class (contd)(note Data
elements are stored in DB)
- Methods in class
- getPartDetail
- displayPrint PartDetail
- getPartSummary
- displayPrint PartSummary
- recordStartTime
- getUserId
- recordUserId
- getReservations
- displayPrintReservations
- updateStatus
- recordCompletionTime
- 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
28- 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.
29Part Inventory Class (contd)(note Data
elements are stored in DB)
- Methods in Class
- getPartInvRec
- updatePartInvRec
- displayPrintPartInvrec
- Data Elements
- partId ()
- totalInStock
- totalOnReserve
- amountOnOrder(can be one or more fields)
- amtExpectedByDate(can be one or more fields)
- lastEntryTransId
- lastIssueTransId
30Part Master Class (note Data elements are
stored in DB)
- Methods in Class
- getPartDetailById
- getPartDetailByName
- createNewPart
- deletePart
- updatePartMaster
- displayPrintPartMaster
- Data Elements
- partId ()
- partName
31Part Detail Class(note Data elements are
stored in DB)
- Methods in Class
- getPartDetailById
- updatePartDetailById
- displayPrintPartDetail
- Data Elements
- partId ()
- partName
- partDrawingNo
- height
- width
- weight
- price
323. FUNCTIONAL DESCRIPTION
- Each function is described in detail.
- Functional Partitioning - None
- Functional Description
- Processing Narrative
- Functional Constraints
- Performance Requirements
- Design Constraints
- Supporting Diagrams
33TRANSACTION DESCRIPTIONS
34Create 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 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 GuidelinesSupporting
Diagrams See Class diagram for PartMaster and
Part Detail classes. -
35Edit/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 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. -
36Other transactions supported by ICS
- enterNewPart,
- enterReturnedPartProduct
- issuePartProduct
- re-issuePartProduct
- viewPartProduct
- (described similarly)
374. Behavioural Description
- Operation as a result of external events and
internal conditions - System States
- Events and Actions
385. Validation Criteria
- How do we recognize a successful implementation?
What classes of tests must be conducted to
validate function, performance and constraints? - Performance bounds
- Classes of tests
- Test to be performed and expected software
response - Special considerations
396. 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.
407. Appendices (Ekler)
- An executable prototype
- A paper prototype
- Preliminary user manual.(Represents software as
a black-box. Emphasis is on input and output.) -