Search This Blog

Tuesday 19 July 2011

Inventory Analyzer


About Project

Inventory Analyzer is an online software application which fulfills the requirement of a typical Stock Analysis in various godowns. It provides the interface to users in a graphical way to manage the daily transactions as well as historical data. Also provides the management reports like monthly inwards, monthly deliveries and monthly returns.
              This application maintains the centralized database so that any changes done at a location reflects immediately. This is an online tool so more than one user can login into system and use the tool simultaneously.
                 The aim of this application is to reduce the manual effort needed to manage transactions and historical data used in various godowns. Also this application provides an interface to users to view the details like the daily Stock Statements of all godowns.

Business Requirement Analysis:

It is a Stock Storage department related to Reliance Industries which sells different items to the public through their retail outlets like Reliance Fresh, Reliance Foot Wear etc. Since the company needs to maintain all their goods and items at a separate storage area which requires separate department also for tracking the details related to in and outs of all godowns. The in and out’s will henceforth be referred to as inwards and outwards.
Prior to storage of goods this department has to manage different godowns, product-wise stocks in each godown, inwards and outwards of each godown. It has to hold the details of all gowdowns like godown id, godown location, and capacity in quintals, godown manager and start date. Whenever a product comes into a particular godown then the details like Godown ID, Name of the Supplier, Date of Supply, Item Name, Invoice No, quantity, received by, receipt no and bill checked by need to be stored in the inwards register of the that godown by godown manager.
Whenever stock comes out from the godown then the details like Godown ID, Item Name, Invoice No, Date of Supply, Date of delivery, Delivered to, Quantity, Purpose (Sale/Service), Receipt No, Bill Value, Bill Checked by need to be stored in the outwards register by the godown manager.

Whenever a customer returns a stock to the gowdown then we need to check the reason for returning that item. If it is a damage then the details like Item Name, Date of delivery, date of  return, Return Godown ID, Quanity, invoice no, returned by, receipt no, bill value and checked by needs to stored in returns register. If the reason is order cancelled then we need to update the stock no in that godown. Checking for particular inwards, outwards or returns entry info takes lot of time here.
Thus the cycle is repeated for every day. Currently all the above activities are done manually. The process is a tedious one. To arrive at the Inwards, outwards or returns for items, data has to be gathered from various sources. Because of this errors are occurring in the process, which is leading to delayed deliveries to the customers. Some times because of the errors wrong products are sent out which have no requirement & thus a lot of money is being wasted in maintaining the stock.
Automating such a process will not only eliminate the errors in the process, but also bring down the delivery times & make the company more competitive. So it was decided that an automated system should be developed to make the whole process simpler & easier.
The following is the system developed for the above stated needs. An initial feasibility study was performed & a conclusion was arrived at that automating such a system will not only achieve all the things mentioned above, but will also provide additional Reports which will enable the Management to look at the statistical side of the inwards, inwards & returns related to each godown. This would also create an effective Stock management system, which would reduce the confusion in maintaining the stocks at different godowns, thus effectively reducing the expenditure costs of the company. Another advantage was that the whole Accounts system could be linked to this system in future, which would finally reduce the Overheads of the company.

Project Plan

It was decided to use good Software engineering principals in the development of the system since the company had quite a big Stock management & was aiming to add new godowns & employees & expand their operations in the near future. So the following Project Plan was drawn up:
1. The Analysts will interact with the current manual system users to get the Requirements. As a part of this the Requirements Specification Document will be created.
2. The requirements Specifications document will contain the Analysis & Design of the system & UML will be used as the modeling language to express the Analysis & Design of the System. According to Grady Booch et al, in The Unified Modeling Language User Guide [UML-1998], “The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML gives you a standard way to write a system's blueprints, covering conceptual things, such as business processes and system functions, as well as concrete things, such as classes written in a specific programming language, database schemas, and reusable software components”.
3. The Analysis, Design, Implementation & testing of the System itself will be broadly based on the Rational Unified Software Development process. According to Ivar Jacobson et al, in The Unified Software Development Process (The Addison-Wesley Object Technology Series) [USDP-2000], the Unified Software Development Process contains Inception, Elaboration, Construction & Transition as the main Phases, which contain further cycles & iterations. This process will be followed to produce an incremental cycle, which will deliver milestones like the Requirements Specification Document etc., at the end of each of the iterations, Phases or cycles.
4. The Architecture & Technologies will be decided as a part of the Analysis of the requirements.
5. Once the Design is ready the Implementation & Testing strategy of the system will commence. Each will be independent of the other. The implementation of the system itself will be broken down into sub-systems following the Software Engineering principles for the development of robust software.
6. Once the implementation is ready, the System testing will take place. If the system is judged to be stable then Acceptance testing by the Users will take place & once the Users are satisfied the System will be rolled out to the Users & they will be trained on how to use it for an initial period.

The following chapters contain an account of how the Technology & architecture for the system were chosen.

Requirements Specification Document

1   Introduction

According to Roger Pressman in Software Engineering: A Practitioner's Approach (McGraw-Hill Publications) [SEPA–1997], the requirement specification document is produced at the end of Analysis of the system. This document is a very comprehensive document & contains all the User requirements & Analysis diagrams. The Requirements are broadly divided into two groups:

1. Functional requirements
2. Non-functional requirements



Functional Requirements
The main purpose of functional requirements within the requirement specification document is to define all the activities or operations that take place in the system. These are derived through interactions with the users of the system. Since the Requirements Specification is a comprehensive document & contains a lot of data, it has been broken down into different Chapters in this report. The depiction of the Design of the System in UML is presented in a separate chapter. The Data Dictionary is presented in the Appendix of the system.
But the general Functional Requirements arrived at the end of the interaction with the Users are listed below. A more detailed discussion is presented in the Chapters, which talk about the Analysis & Design of the system.

1. The System holds all the details of the all the employees who are working in the organization.
2. It allows admin to manage two types of users, hold their details, authenticate these users at the time of login and accordingly provide different options.
3. It holds the details of all the godowns which are part of our organization.
4. It holds the details of all Product Stocks held in the ware-house of the company.
5. The system allows the godown manager to log into the system and enter their inwards entries related to their godown.
6. It also allows them to view the list of inward entries.
7. The system allows the godown manager to log into the system and enter their outward entries and their purpose related to their godown.
8. It also allows them to view the list of Outward entries.
9. Whenever an inwards entry is entered then accordingly the stock number will be  automatically updated.
10. Whenever an outward entry is entered then accordingly the stock number will be automatically updated.
11. The system allows the godown manager to log into the system and enter stock return entries and the reason for return.
12. Whenever a return entry is entered then accordingly the stock number will be automatically updated if the reason is order cancelled otherwise It need not update the stock.
12. It allows the users to change their password for future security.
13. It allows the authorized users to a new employee at the time of creating a godown if the employee is a newly appointed for this godown.
14. It allows the admin to view the list of users and take the print.

15. It allows admin to generate godown details report.
16. It allows admin to generate inwards details report.
17. It allows admin to generate outwards details report.
18. It allows admin to generate returns details report.
19. It allows admin to generate stock statement report.
20. It allows any user to logout when he wants to come out from the system.

Non-Functional Requirements
The non-functional requirements consist of
1. Analysis, Design & Data requirements (Use-case diagrams, textual analysis, sequence diagrams, data dictionary etc.)
2. Constraints.
3. Guidelines.
Validation Criteria.

Analysis, Design & Data requirements

The use case diagrams, textual analysis and sequence diagrams & data dictionary fall into this category. Since each category above is of considerable importance, they have been dealt in separate chapters. An outline is only included here.
The Analysis & Design phases of the system yield Use Case diagrams, textual analysis, Sequence Diagrams, Class diagrams & Data Dictionary. Data dictionary consists of process statements showing how data is flowing from starting point to end point.

Constraints

These are the requirements that are not directly related to the functionality of the system. These should be considered as mandatory when the system is developed. The following Constraints were arrived at for the system:
1. The system should be available over the intranet so that the Users like the godown managers & clerks can use the system from their respective locations which could be anywhere in the organization.
2. For gaining entry into the system the admin should register user info and the user should be able use login & passwords for gaining access to the system.
3. The users should be able to change their passwords for increased security.
4. The system should be easy to understand and organized in a structured way. The users should also receive feedback about any errors that occur.
6. There should be no limitation about the hardware platform that is to be used to run the system.
7.  Data integrity should be maintained if an error occurs or the whole system comes down.
8. An inward entry should be entered in the database whenever stock comes into the godown. That is the number of items should be updated automatically.
9. An outward entry should be entered in the database whenever stock goes out into the godown. That is the number of items should be updated automatically.
10. A return entry should be entered in the database whenever stock returned into the godown. That is the number of items should be updated automatically.

Guidelines


We have discussed mandatory requirements in the previous section. The requirements in this section should be taken as suggestions & they should be thought of as recommendations to further enhance the usability of the system.
1. The system should display a user friendly menu for users to choose from.
2. The system should display godown ID and item to be selected from the popup list in the forms .
3. Services of the system should be available 24 hours a day.
4. The system should be designed in such a way that it is easy to enhance it with more functionality. It should be scalable & easily maintainable.

Validation Criteria
The Validation Criteria are dealt separately in the Chapter dealing with the Test Strategy & Test cases.

Existing System:

                                                Current system is a manual one in which users are maintaining ledgers, books etc to store the information like suppliers details, inwards, deliveries and returns of items in all godowns, customer details as well as employee details. It is very difficult to maintain historical data. Also regular investments need to purchase stationary every year.

Disadvantages:
                 The following are the disadvantages of current system
  1. It is difficult to maintain important information in books
  2. More manual hours need to generate required reports
  3. It is tedious to manage historical data which needs much space to keep all the previous years ledgers, books etc
  4. Daily transactions are to be entering into different books immediately to avoid conflicts which are very difficult.

Proposed System:

Proposed system is a software application which avoids more manual hours that need to spend in record keeping and generating reports. This application keeps the data in a centralized way which is available to all the users simultaneously. It is very easy to manage historical data in database. No specific training is required for the employees to use this application. They can easily use the tool that decreases manual hours spending for normal things and hence increases the performance. As the data is centralized it is very easy to maintain the stocks of the various items in all godowns. 
Advantages:
                        The following are the advantages of proposed system
  • Easy to manage all the daily transactions
  • Can generate required reports easily
  • Easy to manage historical data in a secure manner
  • Centralized database helps in avoiding conflicts
  • Easy to use GUI that does not requires specific training.

Modules

              The System after careful analysis has been identified to present with the following modules.

  1. EMPLOYEE INFORMATION MODULE: This module maintains all the     information which belongs to the employees who are working for the company. It allows the administrator to add an employee record to the database very easily and it allows to view the list of employees in tabular format out of which he can edit a particular employee. Admin can take the print of employee report just by making a single on print icon and It also allows the administrator to remove an employee from list. It makes all the above can be done very flexibly.

  1. INWARDS MODULE:  This module maintains all the information related to manage inwards done in the godowns. All the inwards are recorded to database and can be viewed as a report that displays all the inwards made by the company at each godown. It allows the normal user to enter godown-wise inwards details whenever inwards done in any godown. It facilitates the user to select godown id from the list which prevents entering invalid godown ids and allows the user to select the directly from a calendar which reduces lot of confusion in date formats and all. It doesn’t allow admin to enter the above details.

  1. DELIVERIES MODULE: This module deals with major and crucial part which includes deliveries of items whose purpose is for sale or service. This module provides interface to add the deliveries details and can be viewed as a report that displays all the deliveries made by the company at each godown. It allows the normal to enter whenever some delivery to has to done from any godown. It facilitates the select godown id and item id from the list for better user-friendliness. It also asks the user to select purpose of the delivery whether it is sale or service. It provides an option to take the print out of delivery report.

  1. RETURNS MODULE: This module deals with another major and crucial part which includes returns of items whose purpose is of damage or order cancelled. This module provides interface to add the returns details and can be viewed as a report that displays all the returns made by the customer at each godown. It allows the normal user to enter return details whenever a return will takes place at any godown. It provides the facility for the user to select the delivery items list out of which he can select id of return item very easily. It also facilitates the user to view returns report in tabular format.

  1. ADMINISTRATOR MODULE:  This module is used to manage the details of users of the application. Users are divided into two categories.
    1. Admin
    2. Normal user
It allows administrator to add a new user, view the list of user and delete a user from the list. It allows to send a print request to the printer for printing user report.

  1. REPORTING MODULE: This module used to provide reports required by the higher management. It provides a facility to generate dynamic reports like information about the godown, monthly inwards, monthly deliveries, monthly returns and stock statements very easily.





HARDWARE AND SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS                              
PROCESSOR       :   Intel 2.0 GHz or above
HARD DISK        :   80 GB
RAM                     : 512 MB RAM.

   SOFTWARE REQUIREMENTS

OPERATING SYSTEM             : WINDOWS XP with SP2. 
LANGUAGE (FRONT END)   : JAVA (JDK1.5/1.6)
SERVER                                     : APACHE TOMCAT 5.5/6.0
WEB TECHNOLOGY              : HTML, JAVASCRIPT, CSS.
DATABASE (BACK END)        : ORACLE 10G.
ARCHITECTURE                      : 3-TIER ARCHITECTUR

No comments:

Post a Comment