Wiki Definition of requirements analysis

Source: Internet
Author: User
Tags final

In software engineering, requirements analysis refers to all the work that is required to describe the purpose, scope, and definition of a new system when creating a new or changing existing computer system. Requirement analysis is a key process in software engineering.

In this process, the system analyst and the software engineer determine the customer's needs. Only when these needs are identified will they be able to analyze and seek solutions to the new system. In the history of software engineering, it has long been thought that demand analysis is the simplest step in software engineering, but over the past decade more and more people have come to realize that it is the most critical process in the whole process. If the analyst fails to recognize the needs of the customer correctly in the analysis of requirements, the final software is virtually impossible to meet the needs of the customer, or the software cannot be completed in the required time.

Directory

1 challenges

1.1 Main difficulties

1.2 People holding critical information

1.3 Software Developers

1.4 Resolution Method

2 Main Technical

2.1 Interviews with people who hold important information

2.2 Demand work will

2.3 List requirements as Contract Documents

2.4 Prototypes (Prototype)

2.5 Use Cases

2.6 Identify key information holders

Challenge

The successful completion of demand analysis is a daunting challenge. The first thing to do is to make sure that all those who hold critical information are not easy in themselves, and then get the information available from them and turn that information into a clear and complete form. At the same time, analysts also have to consider the possible limitations.

Besides, they have to consider a project

• Is it feasible

• Whether it can be completed in the prescribed time

• Whether the price is affordable

• Is it legal

• Compliance with ethical

At the beginning of a new project people are often very excited, often trying to belittle the need for analysis of demand. But the analysis of past projects proves that a thorough and relentless analysis of requirements can reduce the cost of a project and reduce its technical risk.

Major difficulties

As engineers become more aware of the need analysis, today we understand the main difficulties of demand analysis more clearly: demand analysis needs to be accomplished by experts with sufficient experience, technical knowledge and language skills; the needs of the customer at the outset are often incomplete, too optimistic, and overly influenced by the old system or process. The use of complex tools and different techniques for demand analysis often eliminates the hope of obtaining a complete and meticulous result.

The person who holds the key information

It is possible for customers to prevent demand analysis from progressing smoothly with the following possibilities:

• The customer doesn't understand what he needs

• Customers are unwilling to fix their needs in a series of regulations written on paper

• Customers insist on new requirements after price and time determination

• The analyst communicates with the customer too slowly

• Customers do not participate in the review or can not participate in the review

• Lack of technical knowledge on the customer

• Customer lack of knowledge of software development

Software developers

But software developers also have their responsibilities. As software developers collect money to develop their software, their responsibilities are even more indefensible. The difficulties caused by software developers are:

• Software engineers and their customers often use a different vocabulary. Sometimes they think that there is a complete agreement between each other, but when they show the final result, they find that it is not. Developers have an obligation to overcome this difficulty, they take the customer's money, and therefore have this obligation.

• Software developers tend to like to change the needs of their customers so that they conform to an existing system or pattern rather than developing a new system according to the needs of the customer.

• Requirements analysis is often done by programmers, not by job analysts. Programmers often lack the skills to understand the operational processes and business processes of real things.

Solving method

One way to address these difficulties is to use professional operations or system analysts who, through specialized training, fill the gap between the business and computer worlds. This method can achieve a certain effect, but it is quite difficult for the customer to find the corresponding person with similar skills. In addition, the methods used today for demand analysis still have great drawbacks, and they are not effective enough.

Since the 1990, new technologies have been developed such as prototyping, unified Modeling Language, use cases and agile software development.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.