Discussion on software pre-Architecture (2) -- requirement Establishment

Source: Internet
Author: User

Today, we will talk about services. In the 21st century, service is becoming increasingly popular in the IT field. More and more concepts are involved in this term: service. From Web service to SOA, services are everywhere.

In my eyes, the software industry is a service industry. The goal of software development is summarized in the simplest sentence-to develop the best software in the shortest time, this sentence is the core of my entire "software pre-construction" series. The key points are still the two words: the fastest, the best!

Well, the center is established. Now let's start from these two points.

Let's talk about quick first. I believe everyone will come up with the concept of quick prototype. The biggest feature of quick prototyping is in the demand phase. For example, I like to bring a skilled business artist to meet your needs, I will immediately ask the artist to develop an interface with the fastest speed and hand it over to the user for review. When the user finishes talking about the demand, the artist will be asked to develop a system overall design drawing in the shortest time, whether using Photoshop or standard design, you can submit it to the user.

There is a saying "A picture is worth a thousand words". For a user, he will not care about your internal implementation structure. In his opinion, the interface isProgramInterface completion, basically means that the entire project is almost completed. Therefore, I highly recommend a sentence called"CodeNot moved, the interface goes first ".

The fastest way to say, below is the best. What is the best for users? Your interface is ugly and inefficient, but for users, if your software cannot meet their functional requirements, your software will be worthless. Just as if a user wants a Pinyin input method, even if you make the five input methods smarter, the user will not buy it. So how can the software meet the functional requirements of users to the maximum extent? My consistent practice is text use cases. In my opinion, text use cases are more clear and more acceptable than use cases. After all, you can draw a circle on paper, some people think it is the sun, some people think it is the eggs. But when you write down the word "sun" on the paper, no one will read the two words as "eggs ".

To write a text case, you must clearly write down each step described by the user, analyze each step, and ask the user how to handle an error in a step. For example, in a football game, a user describes an extraordinary process like this:

1. Athletes do fake actions

2. Athletes kick the ball in the opposite direction.

3. Athletes chase the ball

Now you should ask the user:

1. What should I do if an athlete falls down during a false action?

2. What if an athlete fails to kick the ball?

In other words, you must consider errors and exceptions in any situation.

Next we need to figure out every concept of a user. We still use football games as an example. When the user mentions the concept of false action, we may naturally give this concept to the word: pretend to play football but not. But we have never thought about whether to play to the left or to the right, whether it is a false shot or false pass. Therefore, this concept is ambiguous and should be clear.

Well, let's talk about this. Next, I remember that I used to take this course in college: software demand analysis and design. The instructor defined the requirement to know what the user needs!

Finally, let's talk about the document's problems. "Software Engineering" emphasizes that there are documents step by step. I personally understand the role of this document:

1. It provides an interface for transparent access between the layer and the layer. For example, in the requirement document, the designer can not access the specific requirement personnel, but cannot deal with the customer, he only needs to call the requirement document interface.

2. The topic of this series, "pre-construction ". Let's review the meaning of the pre-architecture. It is to use the insights gained from experience to develop new solutions. On Saturday, I attended sun technology day. The speaker said this sentence and translated it into Chinese: "Open source is the trend of today ". One of the biggest advantages of open source is that it can share the results to others for learning. The same is true for pre-structures. Documents are handed over to others, and others can gain experience from the documents.

therefore, my judgment on documents is that documents that can be understood by others are good documents. Summarize the full text in this format: it is a good requirement analysis to thoroughly understand the customer's needs.

Related Article

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.