domingo, 27 de janeiro de 2013

Software Engineering ≠ Computer Science

Software Engineering different from Computer Science, by Chuck Connel. Several ideas: methods, in engineering, are approximate, but physics formulae are exact. They are mathematics formulae. And software is mathematics. There are no approximations, so no engineering. This is a fundamental quality of sotware. There is no "usually" or "in general".

Author said "The line is the property "directly involves human activity". Software engineering has this property, while traditional computer science does not. The results from disciplines below the line might be used by people, but their results are not directly affected by people.": this is not so. If the algortihm is correct, the software is maintenable and safe.

Agree that "Software engineering will never be a rigorous discipline with proven results, because it involves human activity." Agree for the requirements, not the algorithm.

Also agree that "If some area of software engineering is solved rigorously, you can just redefine software engineering not to include that problem." So, a good practice is to use more good software.

And "We should stop trying to prove fundamental results in software engineering and accept that the significant advances in this domain will be general guidelines."

See also Is Software Engineering Engineering? by Peter J. Denning and Richard D. Riehle. (march 2009 | vol. 52 | no. 3 | communications of the acm) Comments: Software is the opposite of engineering. Problems has to be formulated in mathematical terms in order for the solution to be perfect. And abstraction - which is difficult - solves the complexity.

See also Software Developers' Views of End-Users and Project Success.

Nenhum comentário:

Postar um comentário