The Design and Research of Software Requirement Management
by user
Comments
Transcript
The Design and Research of Software Requirement Management
The Design and Research of Software Requirement Management System for GuangDong Post ZHANG Wei, DENG Xia, CHEN Kangming School of Computer Science & Education Software, Guangzhou University, GuangZhou, China, 510400 [email protected] Abstract: This thesis emphasizes on the basic theory, design ideology, system architecture and development process of the Requirement analysis and management system that utilizes the lightweight JavaEE framework as well as the research of the method of Requirement Management for GuangDong Post. It has a deep insight into the detailed implementation of the system .What’s more, the prospects for the system extension and the development expectation of the requirement management are highlighted. Keywords: Requirement Management, JavaEE, Requirement Status tracking, Task Status tracking 1 Introduction As the growth of the software industry, the complication of software system booms instantly.A large number of statstics on software application shows that the failures of such project are due to problems in management instead of technical insufficient. Poor Requirement Management is outstanding in list of problems in project management.In many project, Requirement Management is in shortage or limited into requirement acquirement and analysis itself.With development of post office’s business, post office want to impove competitive power by information technology. Researching Requirement management is of the following values and significance: 1) To meet the needs of postal services development: developing IT projects and meeting the needs of postal services development are the duties of information technology bureau. 2) To improve the performance of project development 3) To promote the use of Software Requirement Management System Post IT project in the postal system has some versatility, the method of Guangzhou Post's Requirement management can be extended to the other brothers within Post system. In addition, to other software companies, it also has some reference. : 2 Requirement and Requirement Management 2.1 The Requirement and The importance of Requirement The well-known requirements engineering development designers Melin Dorfman and Richard H. Thayer made: 1) requirement is the condition or capacity that the system should has when user want to solve a problem or achieve an objective. 2) the system or system components must have the conditions or must have the ability to meet the contract, standards, specifications or other official document. 3) The definition of the conditions and ability in the first or second must be expressed in documents. Frederick Brooks explained the importance of requirement: the most difficult part of the development of software systems is an accurate description of what to do, the most difficult conceptual work is to prepare a detailed requirements, including s all the user-oriented, machines-oriented software interface. once This job was done wrong, it will bring great harm to the system, and it will make extreme difficult to its subsequent amendments. 2.2 The Knowledge Body of Requirement Management 296 Requirement management is a kind of systematic program to acquire, organize and record the system requirements, as well as a consistent process to let a customer and project team to constantly changing system requirements to achieve and maintain the commom requirement.. The aim of Requirement management is to establish the common understanding on customer requirement between the customer and the software project team. Its objective is twofold: first, the software requirements are under control, and to establish the software requirement baseline for software engineering and management .second, to make software programs, products, activities and software requirements remain the same. To achieve the first objective, the baseline’s change must be under control, requirement change control and version control must be in accordance with the standards and norms of the process; To achieve the second objective, a consensus must get between software project teams on requirement change, make adjustments on the software project plan, including arrangements for staff, users’ communication, adjusting the cost, the progress’ adjustment. 3 System Analysis 3.1 Analysis of Overall Requirements According to the Post Office's special needs, business process can be analysized as follows: The initial requirement can be put forward by urban Bureau online, then consulting and discussion stage can be followed. Provincial electronic information Bureau can discuss the requirement with the various urban Bureau in order to get the clear requirement fastly, if no consensus on it, proposed amendments shall be put forward to update the initial requirement version; if the final consensus can be got, the requirements are identified, Provincial electronic information Bureau should submit file to confirm the business requirements. After the submission of the confirmation,the project enter the development phase, the project manager needs to package the requirements and allocation the development tasks, then to track job status.when the development was finished and submitted to the business office to go on testing. After business test is completed, the Provincial Bureau organize various urban to go on business test. After this testing, the urban can verify whether the requirements are fully met, if not meeting, the provincial bureau should verify that is it problem about implementation, if the problem is it, re-entering the development phase to solve the problem; if not urban Bureau re-make the initial requirement, requirements will be discussed and analyzed. The system is consisted of five users, including: the operators of urban bureaus, the operators of Provincial Electronics Bureau, system administrators, quality supervision and developers. According to the requirement of post office, requiremente have eight status, and can be divided into two kinds: initial requirement and confirmed requirement. initial requirement has three status:be going to be consulted , be going to be confirmed and have been recognized .The confirmed requirement has four status: be developing , have been developed , be testing and have achieved . when be putted forward , the initial requirement statu is be going to be consulted after the discussion and the requirements is clear, the status can be modified to be going to be confirmed. After Provincial Bureau confirm the initial requirement, confirmation status is achived, then sure business requirements are putted forward. Project manager confirms the business requirements, then allocate the task, confirmed the requirement statu is be developing. After all sub-tasks are completed, the requirement status should be confirmed has been changed to have been developed. Then development enter the test phase, the requirement statu change to be testing. When all the subtasks have been tested, the requirement statu is have achieved. 3.2 Analysis of Postal Requirement Management Postal requirement management is based on the specific requirements of their business management. Management purposes is to establish the common understanding on customer requirement between the customer and the software project team. Identified requirements should be got quickly after discussion between urban bureaus, then tracking the requirements’ status. Meanwhile, allocating the tasks, arranging the tasks reasonablly, tracking the status of the task. 297 To achieve the first objective of requirement management, the baseline’s change must be under control, initial requirement statu control and confirming requirement status control must be in accordance with the standards and norms of the process; To achieve the second objective of requirement management, a consensus must be got among urban bureaus on initial change, make adjustments on the software project requirement, ensure that identified requirement can be got on the stage of requirement analysis. For effective requirement management, requirement management system must obey the six principles according to postal requirement: (1) requirement must be classified to management. The system needs to do appropriate requirements classification, it can be classified according to various urban bureaus, also can according to the specific points of requirements. (2) requirements must set the status baseline. In this system, the status of initial requirements and confirmed requirements need an effective tracking, then requirement statu can be changed according to the completion of all phases’ work. (3) requirements to be documented. Requirements must be record in documents. In the requirement management system, the requirements are stored as a online editing document. An online document management platform is provided With document management and under control advantages. (4) When requirements change, we must assess the impact of requirement changes. In the Post's development projects, as development projects are determined after discussion, requirement’ change are basically identified before the development, After development to the end of development, if there is new requirement, a new discussions and design will begin around the project (5)The status of the requirements task should be effectively tracked. This system’s tasks are allocated according to the requirements of postal development project, task status tracking provides a reasonable baseline. (6)Requirement management and requirements’ other activities must be collaborated portal. The other activities cover requirements analysis, project development, project testing, project acceptance phase. 4 System Design 4.1 Design of System Overall Functionalities Requirements management system consists of seven parts: the initial requirement management, requirement discussion, confirming requirement management, requirement statu tracking, requirement task management, task status tracking and back-office management. Meanwhile, users log into the system and begin operations. First system land the user interface, user filles the body code, the operator number and password, click Login button to login. System includes the following modules: (1) The initial requirement management: the urban bureaus can be added, deleted, modified, check out the initial requirements. (2) requirements discussion: urban electronic bureau can discuss the requirements through the requirement discussion platform and improve requirements. (3) confirmation the requirement management: development manager can add, delete, modify, and query requirements to confirm the operation. (4) Requirements status tracking: requirements tracking can be divided into initial requirements statu and confirmed requirements statu, when a stage is completed, you can change the statu of requirement and track. (5) Requirements Task management: after development manager confirm the requirement, you can begin the requirement task package’s distribution, arrangements requirement development, manage progress. (6) Task status tracking: the task requirement was made, the task statu can be tracked in time, a after a stage of the task is completed, you can change the task status and tracking. (7) Admin of backstage: information management, including system parameters, content, personnel, organization, classification etc. 4.2 Overall System Architecture Requirements management system can a relatively independent modules which belongs to the Post’s 298 "individual development platform", isa small and medium non-distributed Web applications. The system architecture is SSH2 framework. Specifically struts2.1 + spring2.5 + hibernate3.3. The advantages of using Spring-Struts-Hibernate architecture in Requirement management system are: first of all three frameworks are open source framework, free of charge and there is a wealth of documentation and development background; Secondly, the structure of the overall design use MVC pattern, the presentation layer and business are separated well; third, Spring provid good support on the Hibernate, a combination of both can build good data persistence layer. 4.2.1 System Architecture Requirements Management System achieve: user login, putting forward requirements, discussion requirement, editing requirements, proposed tasks, identifying requirements, tracking requirements status, tracking task status and so on. considering the system's cross-platform and scalable, we use a lightweight JavaEE framework and related technologies. Client: The PC-based Web browser (Browser) provides users a web interface to manage and analyze the requirements. Database Server: MySQL Database Server administ user information, e-mail messages, tasks, information, and system configuration parameters and other data. Web server: Tomcat server can serve as a lightweight container to use JavaEE as the most commonly used JSP / Servlet container. 4.2.2 Web Architecture In this system, the presentation layer will use Struts; business level we will use Spring; persistence layer use Hibernate. Combination of these frameworks allows each layer in a loosely coupled way to communicate with each other, nothing to do with the underlying technology. 4.2.2.1 Presentation Layer Struts should provide such a framework features: (1) To request and response the user management;(2) To provide a controller agent call handling business logic and other top level’s operation;(3) To treatment a Struts Action exception thrown from the other layers; (4) To provide a model for the show;(5) To verify the implementation of user interface. 4.2.2.2 Persistence layer At the other end of a typical Web application is persistence. Hibernate framework provides for java "object - relational persistence" mechanism and query service. Hibernate persistence objects is based on the simple old Java objects, and Java collections. Hibernate has senior "object - relations" mapping framework to provides support for most major SQL databases, they support the "parent / child" relationships, transactions, inheritance and polymorphism. code types included in the framework of a persistence layer should be: save, update, delete information stored in databases.Accessing data is only be allowed in persistence layer. 4.2.2.3 Business layer In a typical Web application, the middle component is the business layer or service layer. In this field the most popular framework is the Spring, it is called micro-container, you can conveniently and easily link the objects together. All of these frameworks work in a simple concepts called "dependency injection" (also known as "inversion of control"). Objects are linked by a simple XML, which contains Transaction Manager, object factories, the object contains the services of business logic and data access objects. 4.2.2.4 Field model layer Field object layer is composed of business objects which represent the real world objects , This layer allows developers stop building and maintaining unnecessary data transfer objects (or called DTOs), to match their field objects. This model allows Java has object-oriented style. 4.3 System Database Design In the implementation process of requirement management system, the database fap_requirement must establish. Then the table and other elements requiremented should be established under fap_requirement 299 database. As Figure 1 shows the overall database model by MyEclipse. Figure 1 The overall database model 5 Conclusion and Prospect The system has realized the effective management of requirement basically. Looking the system, there are still have something to study and realize in the following aspects: (1) The design of Web interface management module. Now the system still require the users operate the database directly. We can realize management module by using the Spring-Struts-Hibernate architecture. (2) The system can be migrated to the Linux system to achieve better stability. (3) In system security aspect, MD5, SSL can be used to complete the transmission of sensitive information. Acknowledgements: This paper is supported by National Natural Science Foundation of China (60903165) and Natural Science Foundation of Guangdong Province, China(9151064007000004) References [1]. Kathy Sierra&Bert Bates. Head First Java [M]. China Electric Power Press.2007 [2]. Weng Hong. Delphi Advanced Tutorial [M]. Mechanical Industry Press. 2005(in Chinese) [3]. Luo Zheng. Delphi 7, from entry to the master [M]. Electronic Industry Press. 2001 [4]. Hou Jie. Java programming ideas [M]. Mechanical Industry Press. 2002 300