Home
Project Members
Project Schedule
Project Requirements
Project Request
Project Progression
Project Report
Analysis »
Design
Development
Testing
Project Report - Analysis
Inventory Database Management System for a Supermarket
Software Requirements
Description
  • A comprehensive software system to manage the inventory database of supermarket.
  • This database contains all relevant data such as item code, quantity price etc. 
Point-of-Sales Tasks
  • Decoding of item code from the bar-code reader and extraction of data from the database.
  • Computation/printing of bill for the customer and accounting department.
  • Updating of inventory after each process.

 

Back-End Tasks
  • Prediction of demand for a particular product. A graph/visual aid to be created for the manager.
  • Preparing purchase order forms (for appropriate wholesales) for items based on demand analysis. It also gives the manager an indication when stock levels of an item fall below a certain number. 
  • Maintain tasks such as stock-disposal of perishables that exceed expiry date and update of the inventory upon delivery of various orders.

 

Use Case Diagram

Project Estimates

Cost Estimates

This portion of the document provides cost, effort and time estimates for the project using various estimation techniques, which will be elaborated in the appropriate section.

Historical Data Used for Estimates:

We obtained the following data according to the InformationWeek Research's ongoing national IT salary survey for Singapore:

Software Engineer

48000$/yr

 COCOMO

We use Basic and Intermediate COCOMO (COnstructive COst Model) model to obtain a rough estimation of the effort and duration of this project. Organic mode is chosen for this software project since this model matches closely with the behavior of the project.

1.      Estimation using the Basic COCOMO model:

The Basic COCOMO equations take the form:

E = ab (KLOC)bb

D = cb (E)db

where

--  E is the effort applied in person-months,

  D is the development time in chronological months,

  KLOC is the estimated number of delivered lines of   code for the project (expressed in thousands).

Software Project

 

ab

bb

cb

db

Organic Mode

2.4

1.05

2.5

0.38

Semi-detached mode

3.0

1.12

2.5

0.35

Embedded mode

3.6

1.20

2.5

0.32

Since the project is in the organic mode, we choose the coefficients respectively.  

Functions

Estimated LOC

A. Authorizing Subsystem

500

B. Database Management Setting Subsystem

900

C. Demand Prediction Subsystem

1500

D. Printing Subsystem

100

E. User Interface

100

Total Estimated Lines of Codes

10000

 

Assume KLOC = 10 K Lines of code (As calculated above)

So, we get:

E = 2.4x (10)1.05

=  26.9

D = 2.5x (26.9)0.38

     =  8.43

  

2.   Estimation using the Intermediate COCOMO (COnstructive COst Model) model.

 E = ai (KLOC) bi x EAF

  Where, EAF is the Effort Adjustment Factor.

Software Project

ab

bb

Organic Mode

3.2

1.05

Semi-detached mode

3.0

1.12

Embedded mode

2.8

1.20

Coefficients ai and bi are 3.2 and 1.05 respectively since the project is in the organic mode.     

Assume KLOC = 10 K Lines of code and EAF = Nominal (1.00).

Estimated Effort
= ai(KLOC)bi x EAF 
= 3.2 x 11.2x 1.00
= 35.8 person-months

Additional Measure calculated

 P = LOC / E

where, P is the productivity of the software development project,

Estimated P
=  LOC / E 
=  10000 / 26.9
=  370 lines of code per person-months

Average Staffing AS = E / D

where, AS is a measure of the equivalent number of people working on this project at a given time. Unit for Average Staffing is FSP (Full-time-equivalent Software Personnel)

Estimated AS
=  E / D 
=  26.9 / 8.43 
=  3.19

Our Project Cost Estimation:

Since all of our members of this project are not very experienced, we will apply a -20% correction to the median salary. For this project, the estimated labor rate per person-month according to historical data will be:

$(48000/12)*0.8 » $3200

So, the total cost obtained will be

E*3200 = 35.8*3200 = $114560

 

Project Resources
Human Resources

This project will require three programmers in order to be finished in time.

Each of the members will have to have specific skills (either obtained previously or on the fly).

Team members will have to work in an interrelated network environment (ego-less) where everyone needs to communicate with everyone else on the regular basis.

 

Note:  As Team will be obtaining specific skills "on the fly", the team should budget time for training and/or experimentation required to obtain necessary skills.

 

Hardware Resources

Development

Three IBM PC or compatibles with the following configurations

  • Intel Pentium II 333MHz processor

  • 64MB SDRAM

  • 500MB Hard disk space

 

User Client-side

IBM PC or compatibles with the following configurations

  • Intel Pentium 166MHz processor

  • 32MB SDRAM

  • 20MB Hard disk space

 

User Server-side

IBM PC or compatibles with the following configurations

  • Intel Pentium II 333MHz processor

  • 64MB SDRAM

  • 500MB Hard disk space

 

Software Resources

Development

  • Windows 98

  • Windows NT Workstation

  • Windows NT Server

  • Visual Basic Applications

  • Microsoft Access 2000

  • Microsoft Word 2000

 

User Client-side

  • Windows 98/NT Workstation

  • Microsoft Access 2000

 

User Server-side

  • Windows NT Server

  • Microsoft Access 2000

 

Confirmed/Rejected List

Software Requirements Description

A comprehensive software system to manage the inventory database of supermarket.

This database contains all relevant data such as item code, quantity price etc. 

 

Point-of-Sales Tasks

Decoding of item code from the bar-code reader and extraction of data from the database.

Computation/printing of bill for the customer and accounting department.

Updating of inventory after each process.

 

Back-End Tasks

Prediction of demand for a particular product. A graph/visual aid to be created for the manager.

Preparing purchase order forms (for appropriate wholesales) for items based on demand analysis. It also gives the manager an indication when stock levels of an item fall below a certain number. 

Maintain tasks such as stock-disposal of perishables that exceed expiry date and update of the inventory upon delivery of various orders.

 

Potential List

Inventory Database Management System for a Supermarket

The system itself

inventory database

Structure

Supermarket

Site

relevant data

Thing Remembered or Structure

item code

Things Remembered

quantity price

Things Remembered

bar-code reader

External entity

bill

Thing Remembered

customer accounting department

Role Played

Prediction of demand

Thing Remembered

graph/visual aid

Thing Remembered

manager

Role Played

purchase order forms

Thing Remembered

indication

Thing Remembered

stock levels

Thing Remembered

a certain number

Thing Remembered

perishables

Thing Remembered

expiry date

Thing Remembered

orders

Thing Remembered

 

 

Confirmed/Rejected List:

Inventory Database Management System for a Supermarket

confirmed (system itself)

 

inventory database

confirmed

Supermarket

rejected (1 fails)

relevant data

confirmed

item code

rejected (3 fails)

quantity price

rejected (3 fails)

bar-code reader

confirmed (external entity itself)

bill

confirmed

customer accounting department

rejected (1, 3 fails)

Prediction of demand

confirmed

graph/visual aid

confirmed

manager

rejected (1 fails)

purchase order forms

confirmed

indication

rejected (3 fails)

stock levels

rejected (3 fails)

a certain number

rejected (3 fails)

perishables

confirmed

expiry date

rejected (3 fails)

orders

confirmed

1. Needed remembrance

2. Needed services

3. Multiple attributes

Risk Management

Risk Management

Scope and intent of RMMM activities

We want the software to be free of any defects or errors, but it is hard or at times almost impossible to develop a system that is free of any defects. It is important to understand the risks that are likely to occur and develop plans for dealing with them. For this we will take a look at the possible risks, and how to monitor and manage the risks.

It is imperative that the developer and client work together in any software projects so that some of the risks could be reduced. 

 

Risk management organizational role

Everyone associated with the software development is responsible for risk management. If everyone participate and pay close attention to all the details during the early phase of software development, risk can be lowered.

  • Software development can avoid having risk by double-checking schedule, product size, estimates regarding costs of the development etc.

  • Customer can help avoid risk by providing all necessary software information during the early phase of the development. This is difficult as customers often do not know exactly what the development team needs to know.

  • Software development team can avoid risk by getting all the details of the equipment that are provided or are accessible to them.

  • Client can avoid risk by making all necessary business changes before initiating request for the software.

  • Software development team can avoid risk by using fact finding techniques like questionnaires to solicit more useful information from the end-users of the final product. The more knowledge about the product the team can gather, the less risk of the product being out of context. 

 

Risk Description

This section describes the risks that are likely to be encountered during this project.

Description of Risks

Business Impact Risk:

This is the risk concerning that of not being able to come up with, or produce a product that has a positive impact on the client’s business. If the software produced does not achieve its goals or if it fails to help the business of clients improve in certain ways, the software development basically fails.

Customer Risks:

This is the risk concerning the client’s motivation or willingness in helping the software development team. If the client fails to attend meeting regularly or fails to describe the real needs of the business, the produced software will not be one that will help the business.

Development Risks:

If client fails to provide all the necessary equipment for the development and execution of the software, the software will become a failure. The customer has to be able to provide time and resources for the software development team. If all the reasonable requested resources are not provided to the software development team, the odds of the software development failing will rise greatly.

Employee Risk:

This risk is totally dependent on the ability, experience and willingness of the software development team members to create the working product desired. If the team members are not experienced enough to use the application necessary to develop the software, the development dates will at best be pushed back, or the project will fail. If one or more members of the software development team are not putting in enough effort to finish the project, it will cause the project to fail. Employee risk is one of the major risk to consider while managing the software development.

Process Risks:

Process risk involves product quality. If the product developed does not meet the standards set by the customer or the development team, it is a failure. This can happen because of the customer’s failure to describe the true business needs, or the failure of the software development team to understand the project. Product quality may also include lack of proper documentation, lack of error checking, program prone to failure, etc.

Product Size:

This risk involves misjudgment on the part of both the customer and the project manager. If the customer fails to provide the proper size of the product that is to be developed, it may cause major problems for the completion of the project. If the project manager misjudges the size and scope of the project, the formed team may be too small or too large for the project, resulting in not being able to complete the project either due to lack of time (team too small) or lack of finance (team too large). 

Technology Risk:

Technology risk involves using technology that already is or is soon to be obsolete in the development of the software. Such software will only be functional for short period of time thus taking away resources from the customer. Since technology changes rapidly, it is important to treat this risk seriously. If the customer request use of software that will soon be obsolete, the software development team must give professional advise to the customer to reconsider.  

 

Risk Table

The following table describes the risks associated with the project. The appropriate categories of the risks are also given, as well as probability of each risk and its impact on the development process.

Probability and Impact for Risk m

The following is the sorted version of the above table by probability and impact:

Category

Risks

Probability

Impact

Employee Risks

Lack of training and experience

20%

1

Process Risk

Low product quality

15%

1

Product Size

Size estimates wrong

15%

2

Development Risks

Insufficient resources

10%

2

Customer Risk

Customer failing to participate

20%

3

Technology Risk

Obsolete technology

10%

2

Business Impact

Product not beneficial to business

10%

3

Table 1 - Risks Table (sorted)

Impact Value Description

1 - Catastrophic

2 - Critical

3 - Marginal

4 - Negligible

Above is a table that categorizes the risks involved during software development.

The "impact value" assigned to the each risk is described below the risk table. It is a very convenient way of looking at the risks and deriving information about the risks in the software development.

 

   

Hosted by www.Geocities.ws

1