Why write a software function specification?
1, improve the efficiency of research and development: can be developed before the development of software, in the design of the exposure to all possible logic problems to adjust the availability of the problem, rather than in the development of the time, thereby significantly improve efficiency, reduce research and development losses.
2, improve the communication efficiency to the partners: easy to design, test, operations, customer service, operations and other partners to learn and understand the software, without having to use all the content of the same time also disturb the programmer constantly ask, just know what this is, how to use, what effect. The partner meets the user and tells the user how to use the software.
3, without the SOFTWARE function specification, it is impossible to develop a schedule.
650) this.width=650; "src=" Http://img.mp.itc.cn/upload/20160524/02f4c975a726416d887f7917a7d079ef_th.jpg "style=" border:0px;margin:0px;padding:0px;font-size:0px; "alt=" 02f4c975a726416d887f7917a7d079ef_th.jpg "/>
What is a spec book?
In a nutshell, it means what the software does.
The SOFTWARE function specification is a formal document used to describe in detail the potential functionality, performance, and interactivity of a product to a software developer. When the developer writes the program code, the functional specification is a guideline and an ongoing reference book.
Building (not kennel) and bridges need blueprints, travel to see the map, even if there is no map, at least there are some survival skills as a guide, such as the compass and the North Star to identify the direction. However, there is no such thing as a guide to do things, is to gamble. Is born, is dead, resigned to fate.
This article is not for gamblers, the target audience is the software practitioners, including the indispensable damned yards, as well as project managers, tests, product dogs and other people.
People who have written code have this feeling, a person writing code is very cool, as long as the software related to all the knowledge loaded into the head, and then in some or many programming languages to say the logic written down, the last magical thing happened, a normal work of the SOFTWARE product began to have life.
With the size of the software growing, it is difficult for a person to put all the knowledge of the details into the head, into the same as Adam Smith mentioned nail production workshop, the era of division and collaboration.
In software engineering, the biggest cost is communication. Specific data I did not, but the software development process, the importance of human cost is a consensus, the most difficult thing between people is to communicate, so the communication cost amplification will not deviate from the right direction.
However, how to ensure efficient communication is a worldwide problem, but it is not an incurable disease.
First of all, to have a smart person, this is a prerequisite, because in addition to the software itself knowledge and skills, but also to grasp the software itself to solve the problem of the industry's knowledge and skills, after all, software in most cases will not exist in isolation. Therefore, software practitioners need to be able to quickly understand the industry knowledge required by current software.
Second, to recognize the relationship between software development costs and maintenance costs, the industry consensus is that maintenance costs are much greater than development costs.
Finally, to ensure that the relevant knowledge of the inheritance, since the software needs long-term maintenance, then personnel change is inevitable, to let the latter quickly grasp the current state of the software.
Reading the above points, readers should have guessed: The SOFTWARE function specification is very important.
However, a few years ago, some software engineering methodology gave us a misleading saying that documentation was not important. In fact, people are talking about reducing unnecessary documents.
So what's the important document? There are a number of important documents, one of which is: Software function spec.
In the abstract of this article, we describe the functional specifications.
software Function Specification book is an official document used to describe in detail the potential functionality, performance, and interactivity of a product for a software developer. When the developer writes the program code, the functional specification is a guideline and an ongoing reference book.
Functional specifications are the same as the blueprints for building, the compass of the Wilderness expedition. Indispensable.
At the end of the question, do you have a software function specification in your team?
This article is from the "Programmer's Caprice" blog, please be sure to keep this source http://cxykz.blog.51cto.com/11696626/1787418
Developer Essentials: The importance of the SOFTWARE function specification book