How to analyze software requirements
51CMM Author: CAO Source: System Analyst window
1. The definition of conceptual needs includes demand from the user's angle (external behavior of the system) and from the developer angle (some internal features). The key issue is to write a demand document. I have witnessed a project to replace all developers in the middle of the project, and customers were forced to sit together with new demand analysts. The system analyst said: "We want to talk to you about your needs." The first reaction of the customer is: "I have already told you your predecessor, now I want to give me a system." . In fact, demand has not been written as a document, so new analysts have to start with their heads. So if there is only one pile of emails, talks or some fragmented unchecked dialogues, you are sure that you have understood the needs of users, it is entirely self-deception. Another definition of demand is considered that the demand is "instructions for users to trigger a program or system development." Some needs analysts have expanded this concept: "" From the outside of the system, it can find the characteristics, functions and attributes of the system "." These definitions emphasize what products are, but not the product is designed and constructed. The following definitions are further transferred from the user to system characteristics: demand is specified for what must be implemented. It describes the behavior, characteristics, or attributes of the system, which is constrained in the system during development. From these different forms of definitions, it is not difficult to find: There is no clear, there is no "demand" term, and the real "demand" actually in people's minds, this people mainly refer to customers, but general In the case, the user does not describe its own needs, only require system analysts to compile the relevant needs according to the description of the user's own language, and then further and customer check. System analysts and customers need to ensure that all project risk bearers will reach a consensus on the understanding of those terms of the needs. The need for any document (for example, the requirements specification specification as will be described) is only a model, a description. 2. The most difficult part of the task development software system of demand analysis is to accurately explain what is developed. The most difficult conceptual work is to prepare detailed technical needs, including all interfaces facing users, facing machines and other software systems. At the same time, once this is wrong, it will eventually bring great damage to the system, and it is also extremely difficult to modify it. At present, domestic products are piaced, a company may have several systems and running, and the interface between the system developers is the most headache. For commercial end user applications, enterprise information systems and software as part of a large system is obvious. But for our developers, there is no written demand document, how do we know when the item ends? And if we don't know what is important for customers, how can we make customers satisfied? However, even if it is not necessary for software requirements for commercial purposes. For example, libraries, components, and tools are software used inside the development team. Of course, you may don't need a documentation to make a more consistency with other people's opinions, but more common is to repeat the inevitable consequences of re-rework, and the cost of re-establishing the code is far more than rewriting a demand document. The lessons of these blood are happening in domestic software developers. Recently, I have encountered a development team to develop computer auxiliary software in an internal use of code editor. Unfortunately, when they develop this tool, it is found that this tool cannot print out the source code file, and the user can certainly hope to have this feature. Result This group had to hand-copy source code documentation for code check. This shows that the demand is clear and the idea is accurate. If we don't write a document, the software does not meet the expectation goals can only be taken. On the contrary, I saw a simple interface to integrate into the "Error Tracking System". The operating system system administrator found a simple demand list when the script was used. When they tested the system based on demand, this system not only realized all the necessary functions very clearly, but no errors were found.
In fact, demand documents have always guided the role during development. 3. The demand analysis process can divide the entire software demand engineering research into two parts of demand development and demand management, as shown in Figure 4-1:
Figure 4-1 Times Demand Demand Demand Development can be further divided into: problem acquisition, analysis, writing specification, and verification. These subtries include all activities such as demand, evaluation, and writing documents in software products. Demand development activities include the following aspects: Determine the user category desired by the product. Get the needs of each user class. Understand the actual user tasks and goals and the business needs supported by these tasks. Analyze information from users to distinguish user task requirements, functional requirements, business rules, quality properties, suggestions to solve methods, and additional information. Divide the needs of the system level into several subsystems and assigns part of the demand to software components. Understand the importance of relevant quality properties. Discuss the division of implementation priority. Write the collected user needs as documentation and model. Review requirements Specifications, ensuring common understanding and understanding of user needs, and understanding problems before the entire development team accepts instructions. Demand management needs to "establish and maintain contracts reached with customers in software engineering." This contract is included in the written demand document and model. The customer's acceptance is only half of the success of demand, and developers must also be able to accept them and truly apply demand to the product. The usual demand management activities include: Defining the Demand Baseline (the main body of quickly formulating the demand document). The demand changes proposed by the review, evaluating the possible impact of each change to determine if it is implemented. Integrate demand changes into the project in a controlled manner. Make the current project plan consistent with demand. Estimating the impact of changes in change and negotiates new commitments on this basis, this commitment is concrete in project solutions. Each requirement can be linked to its corresponding design, source code, and test cases to be tracked. Track the demand status and its changes during the entire project. The above description is that I summarized the experience of successfully implementing the system analyst after the project, and also summarized according to the relevant successful experience implemented by other systems at home and abroad. 4. The type of demand is the definition of these common terms in the field of demand engineering. Software requirements include three different levels: business needs, user needs and functional requirements (also including non-functional requirements). 1. Business Requirement reflects the organization or customer's high-level target requirements for system, product, which will be explained in project views and scope documents. 2. User Requirement document describes the task that users must be completed using the user, which is described in the User Case document or the scheme script description. 3. Functional Requirement defines the software features that developers must implement, so that users can complete their tasks to meet business needs. The functional requirements described in the Software Requirements Specification (SRS) fully describe the external behavior of the software system. Software demand specifications have played an important role in development, testing, quality assurance, project management, and related project functions. For a large system, software function requirements may only be a subset of system requirements, because others may belong to subsystems (or software components). As a supplement to functional requirements, the software demand specification should also include non-functional requirements, which describes the operation of the system to demonstrate the behavior and execution of the user. It includes products that must be complied with standards, specifications and contracts; specific details of external interfaces; performance requirements; design or implementation constraints and quality properties. The so-called constraint refers to the restrictions on the design and construct of developers in software product products. Quality attributes are described in the characteristics of the product through a variety of angles to reflect the product function. Multi-angle description products are extremely important to users and developers. The following is a different type of demand as an example. Business needs may be: "Users can effectively correct the spelling errors in the document", which may indicate that this is a spell inspector that meets business needs. The corresponding user needs may be "to find the spelling error in the document and to select the word for misplaced" by a list of replacement items. "
At the same time, there are many functional requirements, such as finding and highlighting the operation of the wrong word; showing the dialog box for replacement words and replacement of the entire document range. From the above definitions, you can find that demand does not include design details, implement details, project plan information, or test information. Demand is not related to these, it is concerned about what you want to develop. The project also has other needs, such as developing environmental needs or issuing products and transplants to support the environment. Although these demands are also critical to the success of the project, they are not discussed by this book. 5. The principle of demand analysis does not pay attention to the project team of the demand process will be self-sufficient. The defects in the demand project will bring great risks to the success of the project. "Success" here refers to the launched product to fully meet the expectations of users in a reasonable price, timely functionality and quality. Some demand risks will be discussed below. Some risks caused by inappropriate demand processes: 1. Nothing enough users often do not understand why collecting demand and ensuring that demand quality requires so much effort, developers may not pay attention to users. The reason: First, because the developer feels that the user is not as expected, the second is because developers feel that the needs of users have already understood. In some cases, it is difficult for users who actually use the product, and customers don't quite understand their true needs. But it should still be used to participate in the development team in the early stage of the project and experience the entire development process. In practice, system personnel have some feelings. When implementing a company's project, if there is not enough user involved, the needs of the system staff is a one-sided, incomplete, so the system is buried in the event of demand. 2. The continuous increase in user needs If the demand is constantly supplemented, the project is getting more and more large, so that it exceeds its plan and budget. The plan is not always consistent with the scale and complexity, risks, development and productivity and demand changes, making problems more difficult to resolve. In fact, the root source is that the changes in user needs and the modifications made by developers' new needs. To control the range of demand changes to minimal, you must give a clear description of the project view, scope, target, constraint restrictions, and success standards at the beginning, and this will be described as a reference frame for evaluation requirements and new features. The description includes a change control process for changing factors analysis of each change, which helps all risk bearers understand the rationality of business decisions, that is, why do certain changes, the time, resources, or characteristics of resources. in. The continued change in product development will make its overall structure is increasing, and the patch code also makes it difficult for the entire program to understand and maintain. Insert patch code makes modules to violate strong cohesive, loosely coupled design principles, especially if the project configuration management is not perfect, recoverable changes and deletion features will bring problems. If you distinguish these possibilities that these may bring changes, you can develop a more robust structure and better adapt to it. This requirement such that the design phase needs will not directly lead to patch code, and it is also conducive to reduce the decline due to changes due to changes. 3. Ambiguous two-demand ambiguity two but the most terrible problem in demand specifications. Its meaning means that many readers have different understandings for demand instructions; another layer of meaning is that the single reader can use more than one way to explain a request. The ambiguous demand will cause different risk assumes to produce different expectations, which will have a waste of time for the developer and make the tester to expect inconsistent with the developer. A system tester has told me that she has often understood the needs of demand, so that many test cases have to be rewritten. One way to handle ambiguous two-demand is to organize teams responsible for reviewing demand from different perspectives. Just simply browsing the demand documentation cannot solve the ambiguous two problem. If different reviewers are explained from different perspectives, each reviewer really understands the demand document, so the second meaning will not be discovered until the project is then discovered, then discovered, then discovered, make correction costs Big. 4. Unnecessary features "Drawing Snake Add" refers to the new features that developers try to increase some "user appreciation" but does not involve the demand specification.
Regular situation is that users do not think that these functions are useful, so that they work hard to "white". Developers should be able to conform to customers and provide them with some ideas for innovative consciousness. What functions provide to provide balance between the customer's needs and developers in the allowable time limit, developers should strive to make functions Simple and easy, don't leave customers from customer requirements without the consent of our customers, self-propositions. Similarly, customers may sometimes require some of the functions that look "cool", but lack practical value, and implement these functions can only spend time and cost. In order to minimize the dangers of "draw snakes", you should be confident that you understand why these features, as well as these features, such as the Dragon Dram, which makes the demand analysis process always pays attention to core functions that enable users to complete their business tasks. 5. Too much stamp specification Sometimes, customers do not understand that demand analysis is so important, so only a simple specification, only related to product concepts, and then let developers will improve in project progress The results are likely to complete the demand description after the development of the developer first established the product. This approach may be suitable for cutting-edge research or demand itself. But in most cases, this will bring setbacks to developers (allowing them to work under incorrect assumptions and extremely limited guidance), will bring troubles to customers (they can't get the products they want) . 6. Ignore most of the user classification is used by different people, and the frequency of use is also different. The use of users is also different from the level of education. If you can't classify all of these major users early in the project, you will inevitably cause the user to be disappointed with the product. For example, menu-driven operations are too low to advanced users, but meaningful commands and shortcuts will make unskilled users difficult. 7. Inaccurate planning According to statistics, there are mainly five points for software cost estimates during demand, and frequent demand changes, missing demand, with insufficient communication with users, low quality requirements specifications and imperfect Demand analysis. The correct response of the problem mentioned for inaccurate requirements is "When I truly understand your needs, I will tell you". It is easy for unsuitable information and unspeakable estimates for immature demand. It is best to give a range when it is estimated. Unti-prepared estimate is usually given as a speculation, but the listener thinks that it is a commitment. So we have to try our best to achieve achievable goals and insist on completing it. 6. Excellent software products for demand analysts and users have excellent software products are based on excellent demand. High quality demand is derived from effective exchanges and cooperation between customers and developers. Typically, developers are associated with customer or customer agents, such as market employees, will become an opposite relationship. The managers of both sides only want their own interests and put on the needs of users to produce friction. In this case, they will not bring a little benefit to both sides. Only when both participants understand what they need to succeed, but also know what to successfully serve the partners to establish a relationship. Due to project pressure and increasing increase, all risk bearers have a common goal. This is easy to be forgotten. In fact, everyone wants to develop an excellent software product that can be achieved without both business value, but also meets users. Software customer needs rights list list ten legal requirements for customers in the implementation of the project demand projects and analysts and developers. Each right corresponds to software developers, analysts' obligations. Software customer demand obligations also list ten obligations on customers in the demand process. If you prefer, you can use it as the development of the developer. The customer has the following rights: 1: Requires analysts to use the expression demand discussion of customer language habits should focus on business needs and tasks, so you should use business terms, you should teach the analyst, and you don't have to know computer Industry terminology.
2: Requires analysts to understand customers' business and goals to obtain user needs by communicating with users, analysts can better understand your business tasks and how to make the product better to meet your needs. This will help developers to design outstanding software that truly meet your needs and reach your expectations. To help developers and analysts, you can consider how to invite them to observe you or your colleagues. If the new development system is used to replace the existing system, then developers should use the current system, which will help them understand how the system is working, and their workflow is available. 3: Requires analysts to write software requirements Specifications Description analysts to organize all information you have obtained from you and other customers to distinguish business needs and norms, functional requirements, quality objectives, solutions, and other information. A software requirements specifications can be obtained by these analyzes. This software demand specification has reached an agreement between developers and customers to develop product content. Software demand specifications can be written in a way you think is easy to read and understand. To review the specifications written to ensure that they accurately express your needs. A high-quality software demand specification can help developers to develop genuine products. 4: Requests the description of the results of the demand work Description analysts may adopt a variety of charts as a supplement to the textual software demand specifications. Since the chart like a workflow chart can clearly describe certain aspects of system behavior. So the various charts in the demand description have a very high value. Although they are less difficult to understand, you are likely to be unfamiliar with this. Therefore, analysts can be required to explain the role of each chart or other needs development results and symbols, and how to check the chart has no error and inconsistency. 5: Ask the developer to respect your opinion If the user and the developer cannot understand each other, then the discussion of the demand will have an obstacle, and cooperate together to make everyone "listen to it." Customers who participated in the demand development process have the right to request developers to respect them and cherish their time for the success of the project. Similarly, customers should also demonstrate their efforts to respect and gratitude to the developers' efforts to successfully go to the project. 6: Require developers to provide recommendations for demand and product implementation, to take out ideas, "demand" said by customers is a practical implementation solution, and analysts will try their best to understand the true business from these solutions. Its demand should also find that the existing system is not suitable for the current business to ensure that the product will not be invalid or inefficient. After thorough understanding things in the business sector, analysts sometimes make considerable improvement methods. Experienced and creative analysts can also propose a very valuable system characteristic that some users have not found. 7: Describe the features that the product is easy to use You can ask the analyst to pay attention to the ease of use of software while implementing functional needs. Because these easy-to-use features or quality properties make your task more accurate and efficiently. For example, customers sometimes require products to "user friendly" or "robust" or "high efficiency", but this is too subjective for developers. The correct thing should be: Analysts understand the specific features included in the customer's friendly, robust, and efficientness by query and investigating. 8: Adjust demand, allowing reusability of existing software components to usually have certain flexibility. Analysts may find that some software components are very consistent with the needs you describe. In this case, analysts should provide some options to modify demand so that developers can reuse some existing software in new system development. If there is a reusable opportunity to appear, you can adjust your needs, you can reduce costs and save time, without having to be developed in strict accordance with the original needs. So, if you want to use some existing business common components in your product, they are not fully fitted with the features you need, and the flexibility in a certain extent is extremely important. 9: The system that meets the customer's function and quality requirements, every person wants the project to succeed. But this not only requires you to clearly tell the developer's concerns about the system "what" what "do, but also asked developers to understand clear and restrictions through communication. Be sure to express your assumptions and potential expectations. Otherwise, the product developed by developers is likely to be unable to satisfy you.
Customers have the following obligations: 1: Explain your business analyst to the analyst to rely on your business concept and terminology to explain them. But you can't expect analysts that will become experts in this area, but only let them really understand your problems and goals. Don't expect analysts to grasp the subtle and potential of your business, they are likely to not know "common sense" for you and your colleagues. 2: Take the time clearly and improve the demand customers very busy, often in the most busy time, it has to participate in demand development. But in any case, you have an obligation to take the time to participate in the discussion of the "Brain Storm" meeting, accept interviews or other activities that get demand. Sometimes analysts may first think that you understand your point of view, and you will need your explanation. At this time, please patiently treat some demand and demand for the refining process, because it is a natural phenomenon in people exchange, not to mention the success of software products. 3: Accurate and detailed explanation requires a clear and accurate demand document. Since the problem of processing details is not only annoying and time-consuming, it is easy to leave ambiguous demand. However, this kind of fuzziness and inaccuracy must be resolved during the development process. And you are just the best candidate for solving these problems. Otherwise, you have to rely on developers to correctly guess. Temporarily adding to the BE DETERMINED, TBD can also be used in Chinese Pinyin to write "DQD:" to be determined ") is a good way. This flag can be used to indicate which needs to further explore, analyze, or increase information. However, sometimes it is also because it is difficult to solve or not to deal with the TBD flag because there is a particular demand. Try to explain the contents of each demand so that analysts can accurately write it into software requirements specification. If you can't express it, you have to allow the necessary accurate information such a process. The so-called prototype technology is usually used. Through the development of the prototype, you can repeatedly modify with developers and constantly improve the demand definition. 4: Timely decision is as a architect building a house for you, analysts will ask you to make some choices and decisions. These decisions include processing methods from multiple users or select compromise in quality characteristics conflicts and information accuracy. Customers who have the right to make a decision must be actively treated, do it as soon as possible, make decisions. Because developers usually only have to make a decision to act, this waiting will delay the progress of the project. 5: Respect the needs of developers and cost assessments All software features have their cost prices, developers best suggest these costs (although many developers are not good at assessing forecasts). Certain product features you want may not be unconventional in technology, or achieve it to pay extremely high cost. And some needs are trying to require unlight performance in the operating environment or try to get some fundamental data, developers will negatively evaluate this, you should respect their opinions. Sometimes, you can re-give a technical feasible, realizing cheap demand, for example, requiring a behavior that is incapable of "instant", but changing more specific time demand statements ("within 50ms" However, if there is no accurate technical analysis, it cannot be easily conclusions), which can be achieved. 6: Demand Demand Priority Most items do not have enough time or resources to achieve each detail of functionality. Decide which features are necessary, which is important, which is good, is the main part of demand development. Can only be responsible for setting up demand priority because developers are not possible to decide the needs priority according to your point of view. Developers will determine the priority to provide information about the cost and risk of each requirement. When you set a priority, you help developers ensure the best results in the appropriate time in the appropriate time. Under time and resource limitations, the desired characteristics should be completed or completed should respect the developer's views. Although no one is willing to see what you want is not implemented in the project, it is necessary to face this reality.
Business decisions sometimes have to narrow the project or extend during the project, or increase resource, or in quality. 7: Review demand documents and prototypes As we will discuss in Chapter 1 4, whether it is formal or informal, review of demand documents will help software quality. Let customers participate in the review to truly identify whether the demand document is indeed complete, correctly explaining the desired necessary characteristics. The review also provides a chance to the customer representative to bring feedback to the needs analysts to improve their work. If you think the demand document written is not accurate enough, you have an obligation to tell the analyst as soon as possible and advise the improvement. By reading the requirements specifications, it is hard to imagine what the actual software looks like. A better way is to develop a prototype for the product. This way you can provide more valuable feedback to developers to help them better understand your needs. It must be recognized that prototype is not an actual product, but the developer can transform it and expand its successful system. 8: There is a change in demand to meet the constant demand change immediately to bring serious negative impacts to complete high quality products within the scheduled plan. Change is inevitable, but the more changes in the development cycle, the greater the influence. Changes will not only lead to extremely high costs, but also forced delays, especially when the general structure has been completed, it needs to increase new features. So once you find that you need to change the needs, you must immediately notify the analyst. 9: The process of implementing the development of the organization to reduce the demand change in order to reduce the negative impact of the change to the minimum, all participants must follow the change control process of the project. This requires not abandon all proposed changes, analyzes each of the requirements, considers, and finally makes appropriate decisions to determine the import of certain changes to the project. 10: The most challenging demand engineering process software development in developers is the most challenging to collect demand and determine their correctness. The methods used by analysts have their rationality. Maybe you think the demand process is not cost-effective, but please believe that the time of the demand development is "very valuable". If you understand and support the analyst to collect, write demand documents and ensure that the technology adopted by the quality, the entire process will be more smooth. Although you ask the analyst why they want to collect some information or participate in activities related to demand. System analysts may encounter the following problems during development, and some very busy customers may not be willing to actively participate in demand, and lack of customers will be likely to lead to unsatisfactory products. Therefore, we must ensure that major participants in demand development understand and accept their obligations. If you encounter differences, by negotiation to achieve mutual understanding of your respective obligations, this can reduce the future friction. 7. The ultimate result development of demand document requirements is that the customer and development team reached an agreement on the products that will be developed. The agreement integrates business needs, user needs and software functional needs. As we have earlier, the project view and scope document contain business needs, and the use of instance documents contains user needs. You must write the functional requirements documentation from the use of instances, and write non-functional requirements documents for products, including quality properties and external interface requirements. Only by structured and readability, these documents are written, and after the risk bearer review of the project, all aspects can confirm that the needs they agree is reliable. You can write software requirements Specifications using the following three methods: Writing text documents with good structured and natural language. Building a graphical model, these models can depict the conversion process, system status, and their changes, data relationships, logic flow, or object classes and their relationships. Write a formal specification, which can define demand by using mathematical precise formal logic language. Since the formal specifications have strong rigorous and accuracy, the formalized language used is only familiar with very few software developers, not to mention customers. Although structured natural languages have many shortcomings, in most software engineering, it is still the most realistic way to write demand documents. Text-based software demand specifications that contain features and non-functional needs have been accepted for most projects. The graphical analysis model enhances the software requirements specifications by providing another demand view.
Software demand specifications are not only the basis of system testing and user documents, but also the basis for all child series project planning, design and coding. It should be as fully as possible to describe system expected external behavior and user visualization behavior. In addition to design and implementation, software requirements specifications should not include design, construct, test, or engineering details. Many readers use software demand specifications to achieve different purposes: customers and marketing departments rely on it to understand the products they can provide. The project manager develops planning and predicts progress arrangements, workload and resources in accordance with the products contained in the software demand specification specification. The software development team relies on it to understand the products they will develop. The test team uses the software demand specification description to formulate test plans, test cases, and test procedures. Software Maintenance and Supporters understand what part of the product is done according to the requirements specifications. Product Publishing Group writes customer documents, such as user manuals and help screens, on the basis of demand specifications and user interface design. Trainers prepare training materials based on demand specifications and user documents. Software demand specifications must have a comprehensive result of the product demand: All requirements must be included. Developers and customers cannot make any assumptions. If any desired function or non-functional requirement is not written to a software demand specification, it will not be part of the protocol and cannot appear in the product. I have seen a report that has a project suddenly receives the wrong disaster issued by the tester. The result is that they test the old version of the software demand specifications, and they feel that the wrong place is unique to the product. Their test work is futile because they have been looking for errors in the old version of the software requirements specification. In writing software requirements specifications, I hope the reader keeps the following suggestions: the number, sub-segment, and a single demand must be consistent. Leave a text annotation area on the right part. Allows the use of spaces without restrictions. Correctly use a variety of visual emphasis markers (eg, black body, underscore, slope, and other fonts). Creating a directory table and an index table helps readers find the information they need. Specify the number and identification number of all pictures and tables, and you can check it by number. Use the functions of cross-references in the word handler to review other items or locations in the document instead of by page number or ninth. In order to meet the traceability and modified quality standards for software demand specifications, you must uniquely determine each software demand. This allows you to review specific needs in the trackable matrix of change requests, modify history, cross-references, or requirements. Because of this purpose, it is not enough to use a single project list, so I will describe several different demand identification methods and clarify their advantages and disadvantages. You can choose the method that is best for you. (1) The simplest method of serial number is to give each unique serial number, such as SRS-13. When a new requirement is added to the business needs management tool, these management tools are assigned a serial number (many such tools also support hierarchical numbers). The prefix of the serial number represents the type of demand, such as SRS represents "Software Demand Instructions". Since the serial number cannot be reused, it is deleted from the database from the database, and the sequence number it occupies is not released, and the new demand can only get the next available serial number. This simple numbering method does not provide any related needs in logical or hierarchical differences, and the demand identification cannot provide any information about each requirement. (2) Hierarchical coding This may be the most common way. If the functional requirements appear in the software requirements specification, they will have identification numbers such as 3.2.4.3. The more the numbers in the identification number indicate that the more detailed the demand is, which is a lower level. Even in a medium-sized software requirements specification, these identification numbers are also extended to a plurality of digits, and these identities do not provide any information about each requirement. If you want to insert a new requirement, then the serial number of all the needs after this demand will increase. Delete or remove a requirement, then the serial number of all the needs after this demand will be reduced. But other places will be confused, and an improvement method for this simple hierarchical number is hierarchical numbers in the main part of the demand, and then use a short text code for a single functional requirement in each part. A serial number to identify.
For example, a software demand specification may include "Section 3.2.5 Part - Edit" and write this part into a sub-module document, and then configure management. Sometimes you feel some of the information lack of specific needs. Before resolving this uncertainty, it may be necessary to negotiate with the customer, check the interface with another system or define another requirement. Use the "To Be determined, TBD, or using the Chinese Pinyin to write DQD) symbols as standard indicators to emphasize the defects in these needs in software requirements specifications. With this method, you can find some parts to clarify in the software requirements specification. Record who will solve which problem, how to solve and solve it. Create each TBD list and create a list of TBDs, which helps to easily track each item. All TBD issues must be solved before continuing to construct a collection, because any legacy uncertain issues will increase the risk and demand rework. When the developer encounters a TBD problem or other blur, he may not return to the original needs to solve the problem. Multi-semicircular developers guess it, but not always correct. If there is a TBD problem has not been resolved, and you have to continue development work, then delay the implementation of these needs or solve the open problem of these needs, this part of the product is easy to change. It is best to conduct an out-of-formwork method for writing excellent demand documents. From the problems encountered in the past, you will benefit you. Many demand documents can be improved by writing style and using user terminology rather than computer professional terms. When you write an excellent demand document, I hope the reader still needs to keep the following suggestions: keep the statement and the shortcomings. Adopt the active voice expression. Write the full sentence with the correct syntax, spelling and punctuation. The term used is consistent with the words defined in the vocabulary. Demand statements should have a consistent style, such as "system must .." or "user must ..", and follow one behavior action and observable result. For example, the warehouse management subsystem must display a list of inventories in the requested warehouse. "To reduce uncertainty, it is necessary to avoid blurry, subjective terms, for example, user friendly, simple, effective, and latest technology , Superior, acceptable. When the user said "User Friendly" or "fast", you should clarify their true meaning and clarify the user's intention in the demand. Avoid using a comparative vocabulary, quantitatively illustrate the extent to which the need to improve or clear some parameters acceptable maximum and minimum. When the customer describes how to "handle", "Support" or "Manage", you should understand the customer's intention. Since the writing of the demand is hierarchical, the top layer can be decomposed in detail to the lower layer until the unclearness can be eliminated. The writing personnel of the document should not focus multiple requirements in a lengthy narrative paragraph. The context in the demand, such as "," or ", indicates that the portion has concentrated multiple needs. Be sure, do not use the conjunctions such as "and / or", ",", ",", ",", " 8. The process demand for demand analysis is the first step in the bridge between the problem and its final solution. An essential result of obtaining the demand is a general understanding of the needs of customers described in the project. Once demand, analysts, developers, and customers can explore multiple solutions to describe these needs. Participating in demand acquisitions can only begin designing systems after they understand the problem, otherwise, any improvements defined by the demand must be reduced. Get demand acquisitions on user tasks - rather than concentrating on user interfaces - help prevent development groups from damage due to problem processing problems. Demand acquisition, analysis, writing demand specifications, and verification do not follow linear order, these activities are spaced apart, increment, and repeated. When you work with our customers, you will ask some questions and get the information they provide (demand acquisition). At the same time, you will handle this information to understand them and divide them into different categories, but also contact customer needs as possible software needs.
Then you can make the customer information structure, and write a documentation and schematic. Next, you can let the customer represent the evaluation of the document and correct the existing errors. These four processes run through the entire stage of demand development. Due to software development projects and organizational culture, there is no simple, formulating way for demand development. 1 4 steps are listed below, you can use them to guide your needs development activities. For any subset of the needs, once you have completed the thirteenth step, you can continue to perform the design and construct of each part of the system, because you will develop a good product: 1. Define items View and range. 2. Determine the user class. 3. Determine the appropriate representative in each user class. 4. Determine demand decision makers and their decision-making processes. 5. Select the requirements you use. 6. Using the demand acquisition technology to develop and set priority as a use example as part of the system. 7. Collect information from the user and other non-functional needs. 8. Detailed developments use instances to integrate them into the necessary functional requirements. 9. The description and functional requirements of the review are used. 10. If necessary, develop analytics models to clarify the needs of participants to demand for demand. 11. Develop and evaluate user interface prototypes to help imagine unexpected demand. 12. Develop a concept test case from the examples. 13. Use test example to demonstrate the use of instances, functional requirements, analyze models and prototypes. 14. Repeat 6 ~ 1 3 steps before the design and constructing system is continued. Demand acquisitions may be the most difficult, most important, most error-prone, and most need for communication. Demand acquisition can only succeed with a valid customer - developer's cooperation. Analysts must establish a environment that is thoroughly explored, and these issues are related to the product. In order to facilitate communication, it is necessary to list important groups, rather than imaginary all participants hold the same view. A comprehensive examination of demand issues requires a technology that uses this technology not only considering the functional needs of the problem, but also discusses the non-functional requirements of the project. Determining the user has understood: Discussions for certain functions do not mean that it will be implemented in the product. For the desired needs, you must centralize and set priority to avoid an unlimited project that cannot bring any benefits. Demand acquisition is a simple copy of the needs that require high collaboration, not a simple copy of customer needs. As a analyst, you must understand their true needs through the surface needs of our customers. Ask an expandable problem to help you better understand the current business process and know how the new system helps or improve their work. Demand acquisition uses all available sources of information, which describes the problem domain or rational features in a software solution. A study showed that a successful project used more communication between developers and customers compared to unsuccessful projects. Talk with a single customer or potential user group, which is a traditional source of demand for business packages or information management system (MIS). After each discussion discussed, the entries discussed and the user comments discussed and corrected. Early and frequent discussions are a key way for demand to succeed, because people who provide demand can determine if they really get demand. In-depth collection and analysis to eliminate any conflict or inconsistency. Try to understand the approach of the user to express their needs. Fully study the process of making decisions when performing tasks, and extracts potential logical relationships. Flowcharts and decision trees are a good way to describe these logical decision-making paths. When demand acquisition is performed, the influence of immature details should be avoided. The user can easily list the precise design in a report or dialog box before the consistent customer task is obtained. If these details are recorded as a demand, they will bring unnecessary restrictions on the subsequent design process. You may have to periodically check the demand acquisition to ensure that user participants focus on the appropriate abstract layers in the topic discussed today. To ensure that their needs will be elaborated in the development process. Detailed detail needs to determine user objectives and tasks during a successive detailed description process to determine user objectives and tasks.
Then, the task is described as a functional demand. These functional requirements can be used to complete their tasks, or they can describe them as non-functional requirements, which describes the system limits and the desired quality of the system. Although the initial screen conception helps describe your understanding of the needs, you must refine the user interface design. Author Xiao Chuan: Cao Wei, Nanjing Easy Network Software Company Technology Director. From ERP system development, there is a strong understanding of the overall system, and the enterprise-class software system architecture is being implemented, and an electronic solution for internationalizing enterprises is implemented.