The structured analysis method is the traditional analysis method, which has the advantage that the system can be defined in the demand phase without the need to precisely define the system, and only need to determine the scope of the system's functionality based on the business framework, as well as the processing logic and business rules for each function, the functional requirements specification, and so on. Because precise description is not required, the way to describe the system is more flexible and varied, and diagrams, example diagrams, text, etc. can be used to describe the system. Before the development of the system, it is generally possible to use a more intuitive prototype system to communicate and confirm with the end user, so the requirements for business requirements will be lower, and the cycle of the business requirements stage is relatively easy to control; through the business panorama, the end user can understand the functions of the system; through the description of the functional activity diagrams and business rules, it is also possible to describe the business system relatively accurately; because of the lack of strict markup language, it is possible to use the appropriate text to describe the system, and so on. markup language, appropriate length can be used to describe the appropriate system. Of course, the disadvantages of this approach are also obvious, analysts and business people may lack **** the same language between the machine can not recognize the business requirements of the book, in the design phase also need to continue and the user to confirm a part of the function.
The biggest benefit of the object-oriented analysis approach is that in the demand phase, it is able to very accurately describe a system, the use of programming language and end-user communication (end-users must be familiar with this language), to be able to find a lot of problems in the beginning of the project, to avoid the recurrence of the demand in the process of development, and in the design and development phase of the system does not require the participation of end-users. In terms of implementation, you can generally use scenarios, business functions and other ways to describe, more suitable for business process links in the system, or the development of software products. However, we should also see that, in reality, the vast majority of application systems are difficult in the demand phase can be accurately defined by abstraction, so the shortcomings and difficulties of this approach are also obvious: first, the user should be very clear about what the final business system should be, or the use of an abstract way to be able to determine the final application system; second, because the end user does not need to participate in the Secondly, because the end user does not need to be involved in the design and development phases, the process of identifying the business requirements between the two parties will also be longer; at the same time, because it is a precise description, the language used to describe the system is very logical, and generally in some way it is possible to make the machine recognize the business requirements, and the business requirements written in this way are very formatted, and on the one hand, describing the very large amount of information needed for a system may make the requirements statement very long and It is not easy to understand and read; in addition, because of the abstract way to deduce the way the final system will operate, the requirements for the business people are very high.
Question 2: Analysis methods for project requirements analysis There are many methods for requirements analysis. Here only emphasize the prototyping approach, other methods such as: structured approach, dynamic analysis and so on (I think, for beginners do not have to look y into these methods, in fact, I have never used these methods) are not discussed here. Prototyping method is very important (is a soft exam and other common knowledge points). A prototype is an early working version of software that implements some or all of the functionality of the target system. The prototyping method is to build as quickly as possible a rough system that implements some or all of the functionality of the target system, but which may have deficiencies in reliability, user-friendliness, or other aspects. The purpose of building such a system is to examine the feasibility of a particular aspect of the system, such as algorithmic feasibility, technical feasibility, or whether it meets the needs of the user. For example, in order to examine whether it meets the user's requirements, some software tools can be used to quickly build a prototype system, which is just an interface, and then listen to the user's comments to improve the prototype. Subsequent target systems are developed on the basis of the prototype system. There are three main types of prototypes (soft exam): exploratory, experimental, evolutionary. Exploratory: The purpose is to clarify the requirements of the target system, determine the desired characteristics, and explore the feasibility of various options. Experimental: Used to assess the suitability of the solution and the reliability of the specification before large-scale development and implementation. Evolutionary: The goal is not to improve the specification, but to build the system so that it is easy to change, and in the process of improving the prototype, gradually evolve the prototype into the final system. There are two different strategies for using the prototyping method: the deprecation strategy and the addition strategy. Abandonment strategy: first build a model system with simple functions and low quality requirements, and then repeatedly modify this system to form a better idea, and then design a more complete, accurate, consistent, and reliable final system accordingly. After the system is constructed, the original model system is discarded. The exploratory and experimental types belong to this strategy. Additive strategy: A simple and low quality model system is constructed as the core of the final system, and then new requirements are added gradually through continuous expansion and modification to develop it into the final system. Evolutionary belongs to this strategy.
Question 3: How to do a good job of demand analysis, demand research reproduced the following information for reference
From a broad understanding: demand analysis includes the acquisition of demand, analysis, specification, change, validation, management of a series of demand engineering.
A narrow understanding of requirements analysis refers to the analysis of requirements, the definition process.
Reasons
Requirements analysis is to analyze what the needs of software users are. If you invest a lot of manpower, material resources, financial resources, time, develop software but no one wants it, then all the investment is in vain. If you spend a lot of energy, the development of a software, but in the end does not meet the user's requirements, and thus to be redeveloped, this rework is heartbreaking (I believe that we all have experience). For example: the user needs a software for linux, and you in the software development of the software runtime environment, forget to ask the user this question, and take for granted that the development of software for windows. When you have a lot of hard work to complete the development to the user to submit only to find a problem, then you want to cry, hate to find a block of tofu head to death.
The reason why requirements analysis is important, because he has a decision-making, directional, strategic role, he has a pivotal position in the process of software development, we must have enough attention to requirements analysis. In the development of a large software system, his role is far greater than the program design.
Tasks
In short, the task of requirements analysis is to solve the problem of "what to do, that is, to comprehensively understand the requirements of the user, and accurately express the accepted user needs.
Process
Requirements analysis phase of the work can be divided into four areas: problem identification, analysis and synthesis, development of specifications, review.
Problem identification: it is from a system perspective to understand the software, to determine the comprehensive requirements of the developed system, and put forward the conditions for the realization of these requirements, as well as the requirements should meet the standards. These requirements include: functional requirements (what to do), performance requirements (to achieve what indicators), environmental requirements (such as models, operating systems, etc.), reliability requirements (the probability of not failing), security and confidentiality requirements, user interface requirements, resource utilization requirements (software operation is required memory, CPU, etc.), software cost consumption and development schedule requirements, pre-estimated system may achieve the goal of the future.
Analyze the user interface requirements.
Analysis and synthesis: Gradually refine all the software functions, find out the links between the various elements of the system, interface characteristics and design constraints, analyze whether they meet the needs, eliminate the unreasonable part, and add the part that is needed. Finally synthesized into a system solution to give a detailed logical model of the system to be developed (the model of what to do).
Develop a specification: that is, prepare a document that describes the requirements is called a software requirements specification. Note that the outcome of the requirements analysis phase is the requirements specification statement, which is presented to the next phase.
Review: Evaluate the correctness, completeness, and clarity of the functionality and other requirements. The next stage of work can only be carried out if the review passes, otherwise the requirements analysis is repeated.
Methods
There are many ways to analyze requirements, and here we only emphasize the prototyping method. Other methods, such as structured methods, dynamic analysis, etc., have never been used in these methods are not discussed here.
The prototyping approach is very important. A prototype is an early runnable version of software that implements some or all of the functionality of the target system.
The prototyping approach is to build as quickly as possible a rough system that implements some or all of the features of the target system. But this system may have deficiencies in reliability, interface friendliness, or other aspects. The purpose of building such a system is to examine the feasibility of a particular aspect, such as algorithmic feasibility, technical feasibility or to examine whether it satisfies the user's needs. For example, in order to examine whether the user's requirements are met, a prototype system can be built quickly with certain software tools, which is just an interface, and then the user's opinions can be heard to improve the prototype. Later, the target system is developed on the basis of the prototype system.
There are three main types of prototypes: exploratory, experimental, and evolutionary.
Exploratory: The purpose is to figure out what is required of the target system, determine the desired characteristics, and explore the feasibility of multiple options.
Experimental: Used before large-scale development and implementation to assess the suitability of the solution and the reliability of the specification.
Evolutionary: The goal is not to improve the specification, but to build the system so that it is easy to change, gradually evolving the prototype into the final system as it is improved.
There are two different strategies when using the prototyping approach: the deprecation strategy, and the append strategy.
The deprecation strategy: first build a model system with simple functionality and low quality requirements, and then iteratively modify the system to form ....... >>
Question 4: What are the common methods of requirements analysis? Structural analysis methods and object-oriented analysis
Question 5: What are the methods of training needs analysis Organizational Resource Analysis
It is difficult to establish training objectives without identifying the human, material, and financial resources that can be utilized. Organizational resource analysis includes a description of the organization's resources such as money, time, and manpower. Generally, a general picture of an organization's resources can be obtained by analyzing the following questions.
Analysis of Organizational Traits and Environment
Organizational traits and environment also play an important role in influencing the success of training. Because, when the training plan and the organization's values are not consistent, it is difficult to ensure the effectiveness of training. Organizational characteristics and environmental analysis is mainly on the organization's system structure, culture, information dissemination of understanding. The main content includes the following:
System qualities refers to the organization's input, operation, output, sub-system interaction and communication qualities with the external environment, so that managers can systematically face the organization, to avoid the lack of bias in the analysis of the organization.
Cultural qualities. Refers to the organization's hardware and software facilities, rules and regulations, systems, the way the organization operates, and the special style of dealing with the members of the organization, so that managers can understand the organization in depth, rather than just stay on the surface.
Information dissemination qualities. Refers to the division of labor and operation of the organization's departments and members to collect, analyze and transmit information, prompting managers to understand the characteristics of the organization's information transmission and communication.
Question 6: What are the three graphical tools commonly used in the requirements analysis phase 1. Requirements analysis is to accurately understand the needs of the use of the requirements into a requirements definition, and then from the definition of the requirements into a formalized functional statute. Difficulties in requirements analysis include complexity of the problem, communication barriers, incompleteness and inconsistency, and variability of requirements. 2. Structured analysis methodology uses a top-down, layer-by-layer analysis strategy to break down a complex system into a number of smaller problems that are then solved individually 3. Data flow is the way in which data changes as it passes through a system. Input data is first converted into intermediate data and then into output result data. During this time additional data can be introduced from existing data stores such as disk files or memory buffers. Converting data is a proper function or subfunction of a program. The transfer of data between two conversion functions defines the interface between the functions. 4. the decomposition of a function into several sub-functions and the identification of the interfaces between these sub-functions and the parent function is a horizontal decomposition. 5. decomposing a function into several sub-functions and determining the interfaces between these sub-functions and the parent function is a horizontal decomposition. However, if the decomposition is continued, some sub-functions are decomposed into smaller sub-functions, and some smaller sub-functions are decomposed into even smaller sub-functions, this is a vertical decomposition. 6. A data flow diagram is a tool used to represent the functionality of a system it represents the logical model of the system describes the flow of data through the system it is a functional model.
Question 7: How to do a needs analysis With the continuous development of technology and the user's increasing demand for functionality of the site, the design of today's Web site project can no longer simply use a static Html file to achieve, and the first few years of Web site design by one or two Web designers to create free compared to the design and development of Web site projects are becoming more and more like a software project, and more and more complex. Website project design and development into the need to emphasize the process and division of labor era, the establishment of a standardized, effective and robust development mechanism in order to adapt to the changing needs of users to achieve the desired program goals.
Web Project Management (WPM) means Web-based Project Management, that is, the Web application as the main mode of expression of the structure to carry out the project design and management, such a structure contains the browser, the network and the Web
server and other key subjects, mainly in the site design, browser as the client Web application development (e.g., the browser). client Web application development (e.g., information Web sites, online stores, virtual post offices, customer relationship management).
These are the key elements in the design of a Web site.
According to the author's experience, website project management can be divided into the following six stages of control:
1. demand analysis and change management
2. project model and business process analysis
3. system analysis and software modeling
4. interface design, interaction design and program development
5. system testing and documentation
5. Documentation
6. customer training, technical support and after-sales service
It should be noted that these phases, although there is a certain degree of continuity, but it is not completely isolated, for example, the requirements of change management and testing, documentation is throughout the entire project process, and much of the work when the work of the cross-cutting or simultaneous.
(a) How to do a good job of requirements analysis and change management?
The salesperson communicates with the customer and writes a requirements analysis report as the basis for the project. The project is centered on the customer's needs, rather than accommodating requirements for technology.
First: let the customer speak freely, list all the needs
Let the user will be all the ideas as clearly as possible, and all the requirements listed, do not miss. At this time should not be afraid to "seduce" the potential needs of customers and increase the workload of design and development, so that the future customer endless changes dragged into the quagmire, directly with the customer to understand the problem and requirements of a list, the organization, summarize, analyze the first are thrown to one side, the user the most primitive, the most complete requirements of accurate The first step of the work is completed by recording it.
Obviously, if the customer's requirements are incomplete, there may be unexpected changes at any time, and even this change will destroy the model and structure that has been done, then the project is doomed to failure from the beginning; for example, all the functions of the site have been realized, the local test there is no problem, but you do not know that the customer's system is designed to withstand a million independent IP access every day, and you originally wanted to do it, so you can do it. IP access, and you originally took for granted that the terrific is 10,000 independent IP access to the access flow, a little experienced developers will understand that this design is a disaster, whether it is the application servers, databases, or programs all to re-development!
Second: through the phenomenon of analysis of potential demand
In many cases, customers are not professionals, in their endless description can not be expected to help us sort out the key points and technical difficulties, which requires us to go to the customer to analyze, summarize and sort out, especially customers talk about not much, but is the technical realization of the difficulty and strength of the place is particularly worth paying attention to.
Customers are often on the concept of demand is very vague, most of the time given the demand is general and the scale is difficult to control, which requires business people to listen to the customer's detailed description, to help customers to organize and analyze, and at the same time, predict the customer in the process of development changes and the future application of the potential need to change and upgrade the application may be modified.
For example, in the design of office automation systems for customers, may have to be reserved for customers to interact with their business units in the future channel; in the design of the mail system to consider the possible need for advertising management servers; the design of the network of e-stores in the future to increase the inventory of products in stock statistical analysis, and so on; limited to the consideration of the time and financial resources, the customer is usually able to accept a phased implementation of the development process, in the analysis of needs, the customer will be able to accept a phased implementation of the development process. Development process, in the demand analysis, early for the customer to envision future changes in demand in addition to making the project development smoother, but also for the further depth of the future business to lay down ...... >>
Question 8: What are the methods and tools for software requirements analysis 1. Questionnaire method, the developer of the user needs in some personalized, need to further clarify the needs of the user, through the use of questionnaires sent to the user in a way to achieve a thorough clarification of the project requirements of a method of obtaining demand. This method is suitable for cases where both the developer and the user are clear about the project requirements. Because developers and builders are clear about the needs of the project, the need for further communication between the two sides of the demand is relatively small, through the use of this simple questionnaire method can make the problem get a better solution
2. meeting discussion method, the developer and the user side of the demand for the convening of a number of discussion meetings to achieve a thorough clarification of the project requirements of a demand for a demand for access to the method is suitable for developers are not clear about the project requirements (generally the developer is just a new developer, the user side of the demand for the project requirements). This method is suitable for the development side is not clear about the project requirements (generally the development side is just starting to do this type of business projects) but the user side is clear about the project requirements. Because the user is clear about the needs of the project, the user can accurately express their needs, and the developer has professional software development experience, the user to provide the needs of the general can accurately describe and grasp
3. interface prototype method, the developer according to their own understanding of the user's needs, depicting the functional interface of the application system to communicate with the user to communicate with the user through the "interface prototype". Through the "interface prototype" as a carrier, to achieve the two sides gradually clear project requirements of a demand acquisition method. This method is more suitable for the development side and the user side are not clear about the project requirements. Because the developer and the user side are not clear about the project requirements, so this time it is more necessary to use a certain "carrier" to accelerate the excavation of the requirements and the two sides of the requirements to understand. In this case, the use of "visual" interface prototype method is preferable