Reading Notes-silver bullet in software engineering

Source: Internet
Author: User

(I recently read two articles about "silver bullet" and made some notes. The English is basically a reference to the original article)

I. No Silver Bullet: Essence and Accidents of Software Engineering

This is a classic paper on Software Engineering published by Fred Brooks in 1987.

(Link:Http://www.cs.umd.edu/class/spring2003/cmsc838p/General/NoSilverBullet.html)

The so-called "silver bullet", according to my understanding of this article, may be a magic thing that can make the rapid development of software. In foreign Legends, a silver bullet can kill a werewolf. In China, silver bullet is a tool that can subscribe to any demons and ghosts. As for "no silver bullet", I checked Wikipedia (http://en.wikipedia.org/wiki/No_Silver_Bullet ): "The so-called" no silver bullet "means that no technology or method can increase the productivity of software engineering by ten times in ten years."

In this article, the author pointed out from the very beginning that he could no longer look forward to the silver bullet, and his tone was still firm. Similar to the following sentences, he often appeared:

"No such faith comforts the software engineer"

"I do not believe we will find productivalid magic here"

And wrote:

"The first step toward the management of disease was replacement of demon theories and humors theories by the germ theory ."

We should analyze the nature of software engineering from a scientific perspective. Do not think that the development of the software industry can be achieved overnight. It is also proposed below :"Anomaly is not that software progress is so slow, but that computer hardware progress is so fast"I think this idea is quite interesting. Perhaps it is because of the rapid development of the hardware industry that people are anxious about the speed of development of the software industry. This is the power of comparison.

Many of the following content are not understood. After all, it is the work of everyone and it is very professional. The following are some of my impressive points:

1."The complexity of software is an essential property, not an accidental one ."

The complexity of a software is an essential attribute, while the complexity refers to the fact that no two parts of the software entity are the same. As the composition elements increase, the complexity is usually non-linear. Complexity also brings about a series of problems, such as project extension and difficulty in communication among members. (If it is difficult for the author to list the two sections, the comparison is shown .)

2. "Past Breakthroughs Solved Accidental Difficulties"

The author believes that some progress and achievements have been made, such as advanced languages, time-sharing technologies, and a unified development environment.

3. "The most radical possible solution for constructing software is not to construct it at all"

This sentence reminds me of the reusability of software. If similar software already exists, you don't have to build it from scratch. You can buy it from others and improve and increase the demand.

4 ."Requirements refinement and rapid prototyping.The hardest single part of building a software system is deciding precisely what to build ."

The purpose of software construction is to implement the corresponding functions, and the functions are determined by the requirements. Therefore, it is very important to define the requirements clearly for software construction. However, the reality is that, in most cases, users may not be able to accurately define their own needs, which is a fuzzy description. Moreover, the demand is changing, and the frequency of change may be much higher than the frequency of software development. So the spread on the Internet: programmers have to work overtime today, because the boss's needs have changed to o

5."Whereas the difference between poor conceptual designs and good ones may lie in the soundness of design method, the difference between good designs and great ones surely does not. great designs come from great designers. software construction is acreative process."

"Good" is different from "great. Creativity is important.

II. There Is a Silver Bullet

This is an article written by Brad J Cox in 04 (link: http://www.drdobbs.com/there-is-a-silver-bullet/184407534/), the above article "no silver bullet" is 87 years, after 17 years, some people have made different opinions on the silver bullet issue.

I think the following paragraphs reflect the author's important points, which are excerpted here:

"But if you view these same facts from a new perspective, a more optimistic conclusion emerges. the software crisis is not an immovable obstacle but an irresistible force -- a vast economical incentive that will grow toward infinity as the global economy moves into the information age.

To turn Brooks' own metaphor in a new ction, there is a silver bullet. it is a tremendously powerful weapon, propelled by vast economical forces that mere technical obstacles can resist only briefly. but as Brooks wocould agree, it is not a technology, a whiz-bang injection that will slay the software werewolf without effort on our part or vast side effects on our value systems and the balance of power between software producers and consumers.

The silver bullet is a cultural change rather than a wrong iCal change"

My understanding of these paragraphs: I think the software crisis is the cause of economic development. The powerful weapon "silver bullet" is based on the economy. Of course, it also involves economics (producers and consumers), Culture (value system) and other issues.

In fact, I think it is very abstract and cultural transformation? This is a very ambitious proposition.

The paradigm and object-oriented technology are mentioned later. Basically, I don't have to take notes. (However, the paradigm reminds me of discretization. Attaches the paradigm to Wikipedia http://en.wikipedia.org/wiki/Paradigm)

 

Reading Notes-silver bullet in software engineering

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.