Documente Academic
Documente Profesional
Documente Cultură
Submitted by: Atish Dipongkor Muttakin Ahmed AshrafulHoque BIT0217 BIT0222 BIT0231
Page i
Revision History
Date 3.3.2012 Description Version 1.0 Author Atish Kumar Dipongkor Muttakin Ahmed Khan 10.3.2012 Version 1.1 Md. Ashraful Hoque Second Revision Comments First Revision
Document Approval
The following Software Requirements Specifications have been accepted and approved by the following: Signature Printed Name Title Date Assistant Professor Md. Shafiul Alam IIT ,University of Dhaka Khan Supervisor, Project Team
Page ii
Contents
REVISION HISTORY ................................................................................................................................................. II DOCUMENT APPROVAL.......................................................................................................................................... II 1. INTRODUCTION .....................................................................................................................................................1 1.1 PURPOSE 1.2 SCOPE 1.3 GLOSSARY 1.4 REFERENCES 1 1 2 2
2. STAKEHOLDERS ....................................................................................................................................................3 2.1 QUESTIONERS 2.2 STAKEHOLDERS POINT OF VIEW 2.3 COLLABORATION 3 4 4
3. GENERAL DESCRIPTION ......................................................................................................................................5 3.1 PRODUCT PERSPECTIVE 3.2 CURRENT SYSTEM ANALYSIS 3.3 PRODUCT FUNCTIONS 3.4 POTENTIAL USER OF THE OF THE SYSTEM 3.5 USER CHARACTERISTICS 3.6 ASSUMPTIONS AND DEPENDENCIES 5 6 7 7 8 8
4. REQUIREMENT ANALYSIS ..................................................................................................................................9 4.1 EXTERNAL INTERFACE REQUIREMENTS 4.1.1 User Interfaces 4.1.2 Hardware Interfaces 4.1.3 Software Interfaces 4.1.4 Communications Interfaces 4.2 FUNCTIONAL REQUIREMENTS 4.2.1 General Functional Requirements 4.2.2 Functional Requirements for Production Controller 4.2.3 Functional Requirements for Production Supervisor 4.2.4 Functional Requirements for Administrator 4.2.5 Quality Function Deployment 4.3 NON-FUNCTIONAL REQUIREMENTS 4.3.1 Performance 4.3.2 Releability 4.3.3 Availability 4.3.4 Security 4.3.5 Maintainability 4.3.6 Portability 4.3.7 Operational Requirement 4.3.8 Design Constraints 9 9 9 9 9 10 10 11 11 12 12 14 14 14 14 14 15 15 15 15
5. ANALYSIS MODELS ............................................................................................................................................ 15 5.1 SCENARIO BASED MODEL 5.1.1 Use Case Diagram 5.1.2 Activity Diagram 5.1.3 Swim Lane Diagram 5.2 FLOW MODEL 5.2.1 Data flow model (level 0) 5.2.2 Data flow model (level 1) 16 16 18 19 20 20 21
Page iii
5.3 CLASS MODEL 5.3.1 Class Diagram 5.3.2 CRC Diagram 5.6 BEHAVIORAL MODEL 5.4.1 State Representation Diagram 5.4.2 Sequence Diagram 5.4.3 Collaboration Diagram
22 22 23 24 24 25 26
6.CONCLUSION ........................................................................................................................................................ 26
List of Figure
Figure 1- Current System Figure 2- Use Case Diagram Figure 3- Activity Diagram Figure 4- Swim Lane Diagram Figure 5- Data Flow Diagram (Level 0) Figure 6- Data Flow Diagram (Level 1) Figure 7- Class Diagram Figure 8- CRC Diagram Figure 9- State Representation Diagram Figure 10- Sequence Diagram Figure 11- Collaboration Diagram 6 17 18 19 20 21 22 23 24 25 26
Page iv
1. Introduction
In software industry requirement engineering is one of the most important parts of software engineering process, which one gives us the proper scenarios what the customers want, analyzing their needs and checking the feasibility what they need, negotiating a reasonable solution etc. In software industries, a software project begins when a business need is identified. So the first step is we need to understand the customer needs. Figure out a rough feasibility analysis, not only the customers need but also with the people who are apparently involved with the introducing system. In this phase after interacting with our client Sleek Fashion Ltd., we get some requirements for an inventory management solution. This paper will be more easeful after communicating with our client with their more specific requirements. At the same time, in this paper we will focus on Inventory management module. Again this paper is a partial submission; more detail will be included as per communicating with the entire stakeholders.
1.1 Purpose
The purpose of this document is to present a detailed description of the Online Inventory Management System. It will explain the purpose and features of the system, the interfaces of the system, what the system will do, the constraints under which it must operate and how the system will react to external stimuli. In this document we will try introduce our stakeholders along with their respective viewpoints, describe the existing problem, combining those various view points, balancing those to reach an ultimate theoretical solution of the identified problems, generating graphical reviews through unified modeling language (UML) to formulate the problems and the proposed solution, the project scope and the project schedule. Next we present the solution including system analysis, the deviation between final and initial design, the function of our Inventory management system and testing plan. Finally we evaluate our work on different aspects, present areas of improvement and conclusion.
1.2 Scope
The outcome of the project would be automated inventory management service .The software will have all common features and functionalities along with some other special facilities. To provide user efficient working environment. User friendly interface for the target stakeholders. Proper monitoring facility for the authority. Easy maintenance and administration. Ensure high level of security.
Page 1
This system will help in tracking records so that past records can be verified through them and one can make decisions based on the past records. This system will complete the work in a very less time resulting in less time consumption and high level of efficiency.
1.3 Glossary
Key Terms
RMG Inventory Production Controller QC IIS SRS DFD PQ
Definition
Ready Made Garments Inventory means a list compiled for some formal purpose Who guide and supervise production work.
Quality Control Internet Information System Software Requirement Specification Data Flow Diagram Production Controller
1.4 References
www.agilemodeling.com/artifacts/crcModel.html. http://en.wikipedia.org/wiki/Unified_Modeling_Language http://en.wikipedia.org/wiki/Requirements_analysis http://rfptemplates.technologyevaluation.com/rfp/for/inventory-management-garments.html http://www.slideshare.net/ahmedhasan/ieee-830-1998-software-requirements-specifications http://gulnazahmad.hubpages.com/hub/A-Step-by-Step-of-Garment-Manufacturing
1.5 Overview
The next chapter is identifying stakeholders. In this chapter gives an over view who are directly or indirectly depend on the developing system and what is their point of view. The next chapter, the General Description section, of this document gives an overview of the functionality of the product. It describes the informal requirements and is used to establish a context for the technical requirements specification in the next chapter.
Page 2
The Forth chapter, Requirements Specification section, of this document is written primarily for the developers and describes in technical terms the details of the functionality of the product. The fifth chapter, Analysis model section. In this section of this document there are some model diagrams. List of all these analysis models used in developing specific requirements . All the sections of the document describe the same software product in its entirety,
2. Stakeholders
The stakeholders of the software project are those people or positions who are directly or indirectly affected or effected by the project. The stakeholders and users who are most immediately involved in an Inventory management system can be divided in to four groups, they are: Executives and upper management. Production Controller. Production supervisor. The root level workers. System developers.
2.1 Questioners
1. 2. 3. 4. 5. 6. 7. How the processes work? Who are the primary and secondary actors of the whole process all through? Who will be the vital actors in the required system? What is the usual working procedure for an order? What are the major flaws that forced you to automated management solution? Will it be more specific in terms of some major flaws you want us to solve? How will you appreciate the functional facilities as an administrator of the proposed system? 8. Who are the people you want to directly to interact with the system and what should be their domain? 9. What event starts the use case? 10. How does the use case end? 11. Are there any optional situations for the use case? 12. How the processes will work, if the system will become automated?
Page 3
2.3 Collaboration
As information from multiple viewpoints is collected, emerging requirements may be inconsistent or may conflict with one another. So considering the scope of feasibility, we have collaborated the following list of requirements from multiple viewpoints. The extracted ideas gathered from the inventory department are: Online status of item quantity in terms of on-hand, on-hand available, reserved, ordered, to order, rejected, defective and rework able quantities. Complete excise functionality and generation of excise registers. Quality Control based on QC parameters. Physical verification of stock. Page 4
Purchasing and subcontracting. Accounting inventory synchronization. Update delay notification. Keep Track of partial Production. All Financial transactions related to production. . The next steps of this analysis are analyzing credibility and go/ no- go decision making. For these, this team needs more data to be analyzed and communicating with the client. We hope that we will be able to submit the full Functioning paper within a short time.
3. General Description
3.1 Product Perspective
In this modern world of commercialization, garments business has been established as one of the flourishing in Bangladesh. It has been one of the most flourishing export sectors for our country, as we have told in background. Now, our project is concerned with this sector. This is a huge field to cover, as hundreds of manageable aspects can be found to maintain the highest productivity of textile manufacturing. We choose the inventory management as our preferred field to work. To instantiate, this can be specified as a b2b system, from producers to abroad or home dealers through some intermediate business nodes. The important deals that our RMG sector are mostly from abroad interests, as stated above. And our goal would be facilitate this whole process, from collecting raw materials to the finished product shipment. Unlike the old days, RMG sector of Bangladesh has been implementing a variety of management software, in order to enhance the productivity, and to satisfy the customers needs. As these deals are very sensitive to handle, and there are a lot of variables that must be maintained, the need of online interaction between the buyer and the seller, or even seller to seller, is a must, and can play a dramatic influence on these deals. As the whole process has multiple steps to the way to finished goods, a single delay in a single step can cause delay in the shipment schedule, suppose our delay in cutting can demolish the required time structure, which can also cause financial damage and bad business reputation. The existing systems have been using not for so long, and the maturity level of software industry in our country is still very low. So, the systems which are being used in recent days in the garments industry do have a lot of bugs, functional dependencies and design constraints. Besides, there is still a lacking of a complete solution for managing garments which is yet to be made. And we have to say, after studying, we find that majority of the garment industry doesnt use any automated management system, where a large amount of problems in manual management can be solved in automated system. The thing is missing all through and which we have been planning to introduce in these kind of usual management system, is online interface to control the system. Internet has been a pivotal determiner in every aspects life. We are proposing to introduce internet controlling
Software Requirements Specification
Page 5
module of this system, so that the authority of our client can monitor and manipulate the system, as well as the database through the internet. At the same time, there are technologies being used to manage payroll, appointments, inventory, and in many other purposes. But as our major concerns will be inventory oriented, we will focus the most on that.
Figure 1: Current System. The given diagram is a scenario of current system. In the present system, when the administrator sealed the production order then the people related to the production, specially PQ ,administrators make the total production planning, and according to the plan the make a check sheet. According to the production planning total production work is divided in to partial productions. These partial productions are the part of total production. Combining this entire partial production element total production take place. But the fact is that in each stage of this partial production face production loses because of manual updating system. They cannot follow the check sheet properly. So they cannot deliver their shipment with in due date. So our client wants a system which can provide automated updating system, accurate calculation of produced goods, provide proper stock information, send notification if the shipment wont take place on due date, keep track of partial production, and all Financial transactions related to production.
Page 6
Page 7
The application will also help to generate reports to get latest update on Master Entry Purchase order entry Receive entry
Software Requirements Specification
Page 8
Delivery entry Report This inventory system also has some dependencies like If datas are inserted it cannot be deleted except administrator User can insert a data but cant delete If datas are not inserted, user cannot view report. .
4. Requirement Analysis
Requirement Analysis presents the requirement specification, software and hardware requirements for both system developers and system users, process model and data model. In this section we specify the External Interface Requirements, functional and nonfunctional requirements of the system.
Page 9
Page 10
These modules contain the database of every worker and supervisor accounts created, as well as the amount of resources, raw materials and other facilities received from the authority, and their outcomes must be posted in a regular basis by the person responsible to handle a specific module, the controller, which is noted in the functional requirements for controllers below. An effective database to store important data of every deal. Every module will have separated record for all the transactions occur. Limited external accessibility, between a company or between a selected group. Limited internal accessibility, one module can be maintained and manipulated by one person or one group of responsible employees.
4.2.2 Functional Requirements for Production Controller Login. Browse desired modules. Browse desired supervisor portfolio. Notify the system about the module requirements. Input product quantity after compiled. Distribute requirements between the production supervisors. Supervise inter-work station combination. View production details with delivery date. Browse through different production areas. Balancing the check sheet. 4.2.3 Functional Requirements for Production Supervisor Login. Get update from the controller. Setting the goal of the group and updating it on the system. Input the worker-to-worker data. Supervise own worker group performance. Notify the dependent working group supervisors through the system. Balancing the group input and output. Submitting the group balance sheet to the responsible controller.
Page 11
4.2.4 Functional Requirements for Administrator Login. Accessibility to the whole system. Monitoring the total system as well as the database. Giving the total goal of a deal as the input. Clarifying the resources. Distributing the job segments to the controllers. Getting update information about the production. Getting update information about production delay. Getting update information about operation. Invoice information collection. Change settings 4.2.5 Quality Function Deployment Quality function deployment is a method to transform user demands into design quality, to deploy the functions forming quality, and to deploy methods for achieving the design quality into subsystems and component parts, and ultimately to specific elements of the manufacturing process. QFD is designed to help planners focus on characteristics of a new or existing product or service from the viewpoints of market segments, company, or technology-development needs. The technique yields graphs and matrices. QFD helps transform customer needs into engineering characteristics for a product or service, prioritizing each product or service characteristic while simultaneously setting development targets for product or service. Quality Function Deployment (QFD) can be categorized byNormal Requirements, Expected Requirements, and Exciting Requirements. Here is the list of functional quality of our product, 4.2.5.1 Normal Requirements Normal requirements are those requirements which stakeholders want to be available in the System. The normal requirements of this proposed application are given below-
Page 12
The Inventory System must keep track of all compiled products or resources records, which is expected to generate and must notify if resources associated with the production is missing or order is incomplete. The system must have an option to produce check sheet. The system will perform authorization of users for security purposes. All the users as well as the administrator must have to perform this part. All types of resources and price information related to any production must have to store in the system. If any kind of change will occur, there will be an update option in the system, using that administrator can change the existing information. Users can browse through different production module. The system must have the production plan making option. Every module will have separated record for all the compilations occur. Limited external accessibility, between companies or between selected groups. Limited internal accessibility, one module can be maintained and manipulated by one person or one group of responsible employees. Well-structured database to store inventory records.
4.2.5.2 Expected Requirements Expected requirements are those requirements which stakeholders not mentioned to be available in the system but he/she expects this will provide by the developer in the system. The expected requirements for our proposed system are given below-
The system will contain user friendly interface that will be designed in a manner which implements functionalities that are easily accessible by the users. The system must ensure database backups, which are as recent and complete as possible Check sheet, production planning, and backup files should be in readable file format or in crystal reports format. Order will be issued according to buyer name. This will help authority to deal with their respected buyer.
Page 13
Exciting requirements are those requirements which stakeholders not actually want but these requirements have to fulfill to make the system interesting. The exciting requirements for our proposed system are given belowProduction planning with investment and estimated profit will be calculated through the system. Normal users and administrators have to login through different login page which will ensure that, without administrator no one can change any information of a production as well as the system. System has the notifying system for any kind of delay occurs in the given period. But the system can notify the dependent working group supervisors if the administrators need them. Administrators can distribute the job segments to the controllers.
Page 14
4.3.5 Maintainability Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes. Maintainability of software is categorized in four classes: Adaptive dealing with changes and adapting in the software environment. Perfective accommodating with new or changed user requirements which concern functional enhancements to the software. Corrective dealing with errors found and fixing it. Preventive concerns activities aiming on increasing software maintainability and prevent problems in the future. So to maintain our system we will try to concentrate on this four classes. 4.3.5 Portability Portability is the degree to which software running on one platform can easily be converted to run on another. Portability is hard to quantify, because it is hard to predict on what other platforms the software will be required to run. So to make our system portable we have to use languages, operating systems and tools that are universally available and standardized. 4.3.7 Operational Requirement The system can be viewed by open source Mozilla Firefox. The system is supported by the IIS(Internet informations system). The team used MsSQL database to develop and maintain the database management systems.
4.3.8 Design Constraints When the project team is started to design the system, at that time the team always tries to meet all the requirements of their client properly. But some time clients make the job difficult for the team to design the system by raising some last moment requirements. This is considered as main constraints of designing a system. Sometime clients do not give the proper information which is needed by the team to design software, because of company policies. At that situation software project team start their work without proper overview through the existing system to design new one.
5. Analysis Models
Analysis model is one of the most important parts of SRS. All the models give us clear view of the developing system. In this section, here is the list of all analysis models used in developing specific requirements of the current developing system.
Page 15
Flow Model
Data Flow Diagram.
Class Model:
Class Diagram. CRC Diagram.
Behavioral model:
State transition Diagram. Sequence Diagram. Collaboration Diagram.
Page 16
On the other hand admin can change system settings, update operation information, Update production information etc.
Page 17
5.1.2 Activity Diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control.
Figure 3: Activity Diagram. If we consider the given activity diagram, it will easier for us to find out step-by step operational workflows of total system. When the process starts it will allow a user to select his/her own authentication. If the user logged in as an Administrator, the user has the authority to select operation between change settings of the working module and update information of the production.
Page 18
On the other hand if the user logged in as a production controller, after valid authentication the production controller can give input in the system to ensure the partial production of the total production. In any state of the production if the delay is occurred, production controller can notify administration about the delay to handle shipment related issues.
Figure 4: Swim Lane diagram This is the swim lane view of our proposed system according to present requirements .System column shows the entire operational function .and administrator and production controller column shows the task that they will do using the system
Page 19
Data flow diagram (level 0): DFD level 0 , is the representation of the system which can only shows the inputs and outputs of the system without dealing with any function and file or database issue. In the given figure this is the data flow diagram (Level 0) for our proposed inventory management system. Control panel and the planning is two input entity which can give data command to the system, all the inputs will process in the system and the outputs will view in the display panel or as notification. And the system also can produce check sheet according to given planning.
Page 20
Figure 6: Data Flow Diagram (Level 1) Data flow diagram (Level 1): DFD level 1, is the representation of the system which can visualize the relation among the functions and the file or database with the inputs and outputs. Control panel and planning entity can give input command to the system, which can process by some functions in this system like interact with user, configure, and update input, display status. There is a database related with configure function which one can modify production information. And display status, notification, check sheet can produce output depend on all the functions which configure inputs.
Page 21
In the above exposed diagram Module is the parent class which has two child classes Administrator and Production Controller. Order Class deals with all the steps related to order and maintained by administrator. Store and Shipment class maintained by production controller.
Page 22
Figure 8: CRC Diagram A Class Responsibility Collaborator (CRC) model is a collection of standard index cards that have been divided into three sections, Section 1: A class represents a collection of similar objects. Section 2: A responsibility is something that a class knows or does. Section 3: A collaborator is another class that a class interacts with.
Page 23
Figure 9: State Representation Diagram. A state diagram is a type of diagram used to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction. Many forms of state diagrams exist, which differ slightly among each other. In the given figure, this is the state representation diagram for our proposed system. In the given figure there are four states, first one reading state just read the instructions. Second one comparing state compares the given command. When the state compare password, if the password is invalid, total system will be locked for a while. Or if the password is valid it will move a step ahead to select operation what the system allow an user.
Page 24
Figure 10: Sequence Diagram A sequence diagram in a Unified Modeling Language (UML) is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of our proposed systems Sequence Chart. A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of Command exchanged between the objects needed to carry out the functionality of the scenario.
Page 25
Figure 11: Collaboration Diagram Collaboration diagrams belong to a group of UML diagrams called Interaction Diagrams. Collaboration diagrams, like Sequence Diagrams, show how objects interact over the course of time. However, instead of showing the sequence of events by the layout on the diagram, collaboration diagrams show the sequence by numbering the Commands on the diagram. This makes it easier to show how the objects are linked together, but harder to see the sequence at a glance.
Page 26