See a good post in csdn
Http://blog.csdn.net/panaimin/archive/2006/07/12/907957.aspx? Pending = true
I talked about the software engineering stuff, and I felt very interesting. So I posted a post and talked about my views.
Post Original article:
"I don't care about software engineering. I believe that people can control code. Normal people can control hundreds of thousands of lines of code for code with normal complexity. If the software has a good structure design, there are stable and reasonable interfaces between modules, so relying only on the human head, coupled with good programming habits, even in the face of large-scale software, should be able to control."
---------------------------------
I don't quite understand what Pan wrote!
"If the software is general .. Good structure design, XX stability ,,"
The biggest premise is that, in the case of better performance, coupled with the control of people mentioned later, a good project can be achieved. So what I want to ask is there a good architecture, design, and reasonable and stable Module Interface? If you are not mistaken, it should come from good analysis design, including architecture and business, right? How can we design a good analysis? It should come from architects, analysts! In architecture, it is impossible for analysts to think about the summary after completing one project after another? After analyzing and designing a project, the analyst must find a unified standard or template so that the following project can use the project experience, better service for future project development, should we say something bigger than making software development more engineering like building a house or building a bridge?
On the other hand, I also believe in the ability to create and control human brains. However, for more and more complex business logic, software is required to learn, standardize, and engineer like other industries. Because human brain thinking is limited in a single time, we need a set of engineering things to guide our work. Some people may say that we can solve these problems without engineering. I use my experience. That's right, it's very correct, and experience is very important, but what will experience be at another level? If we transform the experience of many people to standards and write data into books, isn't it engineering that we are talking about? (of course, the premise is that these solutions can be worth recording in books, to future generations for reference )?
I personally think that software engineering is a summary of some experiences. There should be no silver bullet or bull in solving problems or things. If there is one, I would rather believe that when a problem is solved, he will throw N solutions, then weigh the advantages and disadvantages of all aspects to get a more correct one.
After verification, this is indeed an effective solution!
In this case, software engineering is necessary in a certain context. Imagine that the Three Gorges dam can be solved without personal head or personal experience?
Of course, these are all benevolent and wise things.
It's a bit messy. I hope that the meaning of teacher Pan will not be misinterpreted. It's just a family of words. Thank you!
Find a similar but well-written article:
Http://www.zhangxun.com/tmpl_book.aspx? Sname = cc2e