Abstract
Aiming at the problems of incomplete description, ambiguity and inconsistency in the traditional requirements analysis method based on prototype system in software development, this paper proposes a requirement analysis method based on prototype portrait, introduces the process of obtaining the software requirement specification and designing the software by using the prototype portrait method according to the user’s requirements, and formalizes the process of the method, and develops the software with the prototype portrait requirement document approved by the customer, so as to ensure the correctness of the designed functional requirements. The practical results show that the requirement analysis method based on prototype portrait overcomes the problems of long development cycle and high failure rate existing in the traditional requirements analysis method of prototype system, and improves the quality and cycle of software development.
Introduction
The role of requirement analysis
Requirement analysis is the key to the success of customized software development. For the software development team, the whole process of software development is: what to do?
The main task of the requirement analysis process is to determine the function and performance of the software, and to establish an understandable real-world model; the architecture design stage is the first step from requirements to solutions, which is the basis of system development and implementation [2]. For complex software systems, system requirements analysis and architecture design is a process of continuous understanding and gradual refinement. It is very difficult to accurately obtain the requirements and architecture of the system. In addition, complex systems often require the participation of multiple personnel, which inevitably leads to ambiguity in the development and design process, which increases the requirement analysis and architecture design of software system’s difficulty. In view of the above problems, designers need to make a portrait of the system in the requirements analysis and architecture design stage to achieve a comprehensive description of the system requirements and architecture.
General process of requirement analysis
Problem identification Confirm user requirements, including confidentiality requirements, function requirements, interface requirements, performance requirements, budget requirements, etc. Analysis and synthesis Detailed analysis of functional requirements, delete unreasonable functions, add necessary functions, and ask users whether they are satisfied, and finally make the logical model of the target system. Develop specifications Record and document all agreed requirements and present them to users. Review If the user reviews the specification, it will continue to negotiate and modify if it disagrees, and it will be developed if it agrees.
There are too much requirements. Users regard all the things that they hope the new system to do as requirements [3]. They expect too much from the new system and hope that the new system can solve all problems.
The requirement is not clear. If there is no old system as a reference, users do not know what their exact requirements are.
Requirements change frequently. Because users don’t know what their requirements are, they often change their requirements.
The requirement is unrealistic [4]. With today’s technology, there is no way to meet the needs of users. requirement conflict. The same system serves different users, which may produce conflicting requirements.
The time for requirement research is too long. Because of the communication problem, the requirement analysis takes up too much time.
Requirement analysis method of C&S prototype portrait based on optimization of prototype system requirement analysis method
Existing methods of requirement analysis
There are many methods of requirement analysis, which can be roughly divided into two categories: A: There are traditional method, model driven method, prototype method, data structure oriented method and so on. B: System analysis methods are classified into functional decomposition method, structural analysis method, information model method and object-oriented analysis method.
Prototype method and structural analysis method are the most commonly used methods in the two categories. The optimization of requirement analysis proposed in this paper is based on the optimization of prototype method. Prototyping is different from the top-down approach in traditional development methods. Instead, they constantly build simple prototypes for users to give feedback after trial, and then modify the prototypes. The model and flow chart are shown in Fig. 1. After the main functions are made into prototypes and submitted to the user for approval, non functional requirements and design constraints, such as interface style requirements and design constraints, can be confirmed. After the user determines that it can be developed, the development contract can be signed. After that, the flow chart, style and other details of the target system are made and submitted to the user for review and confirmation before optimization. If the prototype fails to pass the audit, it will further negotiate with the user for investigation, and make a new prototype again and submit it to the user for review until it is approved.
The model and flow chart.
Advantages: directly make a relatively simple running version for the user to see, users can experience real-time feedback. It is very fast and flexible when requirements change. Instead of explicit requirements, the core is interaction.
Disadvantages: it will take too much time to build more than one prototype and need constant negotiation and modification. Therefore, the development cycle and cost of the system will be increased. If the prototype is not recognized or even can not sign a contract, all the achievements of this prototype development will be lost. Therefore, the prototype method is not suitable for the system with limited development time.
(1) Definition of archetypal portrait
The so-called C&S prototype portrait is a method that clients and software development service providers jointly prototype the developed projects, so that both parties can understand and clarify the requirements boundary and the final function presentation style of the project. The elements of the portrait include: data, function, location, person, time and motivation. Through the accurate description of these elements, the enterprise model portrait (owner view or conceptual model) is constructed. The model portrait includes: entity relationship diagram, logical data flow diagram, logistics network diagram, organization structure diagram, state transition diagram, business planning, etc. Through the model portrait, customers can confirm whether their needs are accurately understood by the service provider. On this basis, the quality and efficiency of software development can be improved, and the software can play its due economic and social value as soon as possible.
(2) C&S prototype portrait process
The core of the requirement analysis process of C&S prototype portrait is the barrier free communication between users and system suppliers by making prototypes. Its main feature is to take the user as the core, put the user’s needs in the first place, present the data table, function diagram, business process, data space-time interaction in word, Excel or PDF documents in a way that both customers and professional designers can easily understand and accurately understand. It can also be used to describe and design some key interfaces to deliver to users, so that users can have a good understanding of The designed system has a more rational and comprehensive cognition, which provides a scientific basis for the identification of the development boundary and the signing of the contract. The corresponding flow shows in Fig. 2.
Requirement analysis process of prototype portrait.
Taking a simplified credit system charging system as an example, this paper introduces how to apply the requirement analysis method based on prototype portrait to software requirement analysis.
(1) Use case view portrait
This paper mainly describes the relationship between role and function in the credit system charging system. use case view portrait shows in Fig. 3.
Use case view portrait.
(2) Overall business process portrait
The core business of the credit system charging system is charging and the settlement of credit tuition at the end of the academic year. Other functions are designed to assist in charging. To sum up, the basic function flow of the system is designed as follows as shown in Fig. 4.
(3) Functional requirements portrait
According to the previous analysis, the system can be roughly divided into the following modules: charge management, comprehensive query, bill management, daily affairs, student status information, system management. The system function tree is shown in Fig. 5.
Overall business process portrait.
Functional requirements portrait.
(4) Core business flow portrait data flow portrait
In this example, the core business flow is mainly the student payment operation process, and its portrait is shown in Fig. 6, a portrait based on the data flow generated around the core business flow is shown in Fig. 7.
Core business flow portrait.
Data flow portrait.
Development cycle comparison chart.
Success rate under different analysis methods.
The author’s original work unit has a real credit system charging system development project. In the first time, according to the traditional requirement analysis report, it was submitted to a software development enterprise in Changsha, China for development and design, which lasted for 24 weeks. Finally, the function was not fully realized, and the system was in an unusable state. After the software user department proposed and the competent unit studied, it finally decided to redevelop and design the credit system charging system, this is the second time. Based on the experience of the first failure, the requirement analysis report adopts the prototype portrait method, and the software is redeveloped and designed by an enterprise in Shanghai, China. As a result, the software is developed successfully, and the development cycle is only five weeks as shown in Fig. 8. Therefore, the requirement analysis method based on prototype portrait has a good application value and is worthy of further study. Among the software development projects presided over by the author, eight software development projects were developed by Changsha software development enterprises according to the traditional prototype requirements analysis method, and three of them were successful, with a success rate of 37.5%. The other two software development projects were developed by software development enterprises in Shanghai according to the requirements analysis method of prototype portraits, and all of them were successful. The related effects were intuitive and compared, as shown in Fig. 9.
Conclusion
This paper presents a prototype portrait method, which can quickly and intuitively reveal the activities, connections and input-output relationships within the system. The model established is easy to understand and easy to interact with users. However, this method originated from the system model of manufacturing industry, and still needs to be improved in object-oriented design, knowledge representation and software development. Because the prototype portrait method is applied in the process of obtaining the user requirements specification, and the system model is described by the portrait, so the user’s requirements are also described by the expression of the portrait. Because the prototype profiling method is an optimization method based on the strict requirements analysis method of the prototype system, it has good practicability, so it is based on the needs of the prototype portrait analysis can overcome the problems of incomplete, ambiguous and inconsistent requirements description in traditional requirements analysis methods, effectively ensure the correctness of the designed software, shorten the development cycle and improve efficiency. The next step is how to reflect the constraints of prototype portraits on UML models, so as to realize the full formalization of requirements analysis of prototype portraits.
Footnotes
Acknowledgments
Fund Project: the project supported by professor’s doctoral research of Wuxi Institute of Technology (2019).
