Reflections on Software Engineering ≠ Computer Science

Software Engineering ≠ Computer Science

First, the English reading English than the last good job of this article to understand more

Probably because the last is about more than technology, it can be classified as science and technology English, do not know a lot of words

This time it is more biased in favor of argumentative

 

We need software that can be put together in a reasonable amount of time, for a
reasonable cost, that works something like its designers hoped for, and runs
with few errors.

We need software, designers expect to do, put in a proper time, there is a reasonable cost, it may appear that some of the wrong things at run time.

I think that translated into "almost no run-time error" it is reasonable

The question of whether a particular software system is highly maintainable
cannot be answered just by mechanically examining the software.

Just not what software it can not answer questions mechanically check. 

Just can not answer this question by mechanical inspection.

 

Google Translate is feeling translator estimate a bit, and then facing modify, in some places is still very awkward, I proposed two, also makes sense above, the following will specifically talk

  

Started to talk about the article, I will talk about in two ways

The first aspect, Software Engineering ≠ Computer Science

At first glance this topic, feel back program = algorithm + data structure that talked about many times on the topic

From the original author's own insights, the author feels like learning math learning algorithm, as a proof of concept of a concept then, each algorithm are well-founded

The author then began to engage in software engineering, software engineering, but found that unlike other algorithms or computer science, but the feeling is very tricky

Software engineering has been in development, according to the authors, structured programming, fourth generation languages, object-oriented programming later, and then later extreme programming, perhaps now is the open source programming

Always changing, can be said to be in development, but the development of software engineering is the development of a new much more likely to overthrow the old

This development with mathematics or physics or computer science are not the same

Has talked about getting in our reading assignments, various development model, we can not say which one is the best development model

Therefore, the most accepted theory is that people can:

The results from disciplines below the line might be used by people, but
their results are not directly affected by people.

Point of difference in people, objects, software engineering is a human face, rather than theoretical

It is a human raised demand, but also people maintain software, most importantly, people use software

We do say "playing games aircraft" it

Planes hit the aircraft, naturally the most important thing is to hit aircraft

So what is the plane hit it?

If this is a mathematical or physical problems, that we think is certainly determined the bullet path, then calculated the aircraft's path

Then simultaneous equations can be solved intersection, time can be solved

But software engineering is not the same, we do not find the intersection, as long as the timeline and continue to judge the distance aircraft bullets, when the distance is small enough even marked

Cite one example

For example, a ListView, and then we continue to receive the message, and the message than added to the ListView display

Then we first thought, definitely get a, Add a

But soon you receive it? The processing speed of the computer more than enough coming your persistence of vision

So there is really ListView steady increase in information, but you can not see anything

That comes on top of a mechanical check not solve the problem, because your logic is correct it entirely

ListView also according to your ideas Add Yeah, but you just can not solve practical problems

 

We can say that the first few decades of the history of computer development around the world are studying the hardware

And the last decade, the development of software more and more important and valued, but also continue to have the so-called "norms" to regulate a project

We have to admit that these "norms" for the development of software engineering hired a positive role

But after all, so far, the software works with the "other science" there are still some differences, can not be equated

 

The second aspect, software engineering, computer science =

Software engineering with computer science when you can equate it?

It is up to us to define what software engineering, computer science, and if we define

Computer science here, I'll direct "one concept" as a traditional science, such as mathematics

We went to the completion of a project, the completion of the method is not unique, what specific method, uncertainty

Similarly, we go solving a mathematical problem, the answer is unique, but not the only method

But this is just not enough, math problems, even though my approach is not good, solved the problem, it can be considered to OK

But not software engineering, I made a software, I have to maintain, even if I have to do the whole function, and also easy to operate user

So, think so, because people involved in software engineering and general science or not the same

But there's a problem, the math is clear demand

Given the conditions, solving

The software engineering is not the same, we first need to do requirements analysis, design documents and then write, then write code to write the user manual

Of course, you can also say you want to Agile

I just want to explain if the software works compared to a subject, but the subject did not even casual working, if there is "scientific" approach to solving it

So, if the meaning of the questions clear?

We need software, designers expect to do, put in a proper time, there is a reasonable cost, highly robust software

Well, we clearly know our existing conditions, such as the number of work, working hours, work efficiency, etc., as well as robustness, maintainability, scalability requirements, etc.

We are not able to choose the most appropriate option to work it?

In fact, I think this problem is not much dispute necessary, if the software works without its scientific words

There is a need to open a special class of software engineering called it, of OO development, meaning that the development of software development models are not, we go altogether every seat of your pants

 

To sum up, perhaps Software Engineering ≠ Computer Science, Software Engineering, but must be scientific

How to develop software is uncertain

But how to develop a software, I think it should still be determined

Reproduced in: https: //www.cnblogs.com/buaashine/archive/2012/12/07/2806382.html

Guess you like

Origin blog.csdn.net/weixin_34408624/article/details/94548455