Is Software Engineering Really Engineering?
نویسنده
چکیده
There are numerous definitions of software engineering. Sommerville [l] notes “their common factors are that it is concerned with software systems built by teams rather than individuals, uses engineering principles in the development of these systems and includes both technical and non-technical aspects”. The IEEE Software Engineering Technical Council in its web page “encourages the application of engineering methods and principles to the development of computer software”. The common element in the preceding definitions is the application of engineering principles. However what is the generally accepted view of engineering. The dictionary [2] states that engineering is the “practical application of scientific knowledge in the design and construction of . ...“. Certainly software engineering involves the design and construction of software but the application of scientific knowledge is questionable. Before we decide that this rules out software engineering as a new branch of engineering, it is constructive to examine the history of engineering. Classical and medieval engineers did not have a quantified basis for their designs [3]. In fact the scientific approach to technology did not emerge until the late eighteenth century and did not make a significant impact on engineering practice until late last century [4]. In fact up until then most technology was based on the traditional skills developed through experience and passed on by means of an apprenticeship system. In many ways this is where software engineering fits today. The development of modem engineering is based on the increasing use of theory. While many engineering theories are based on scientific theories, many used in design “have to be content with a less firm foundation” [5]. For instance the design of stirred mixing vessels has no scientific theory as its basis, rather it uses dimensionless analysis to scale a known vessel design to a larger system. Where does this place software engineering. I would argue that it fits in the craft stage of the engineering evolutionary cycle. What is required is the software engineering theories need to be developed. This raises the question as to whether current research in software engineering is designed to assist in formulating these theories. Our research should place more emphasis on formulating models, based on scientific principles wherever possible, and validating these models. Current research is too often based on statistical analysis of data without sufficient underlying theory. Only when we adopt such an approach will software engineering enter into the twentieth century of engineering.
منابع مشابه
Are Software Metrics Really Any Use?
This statement, when applied to software engineering, reflects harshly upon the software engineer that believes themselves to really be a computer scientist. The fundamentals of any science lie in its ability to prove or refute theory through observation. Software engineering is no exception to this yet, to date, we have failed to provide satisfactory empirical evaluations of many of the theori...
متن کاملCommon Sense
I like your columns, but they’re really all just common sense,” a client told me. He didn’t have a software background, and my columns were his first introduction to systematic ways of understanding software projects. To my chagrin, the net effect of a well-written column appeared to be that he thought software engineering was trivial! The idea that good software engineering “is all just common...
متن کاملDéjà Vu All Over Again: Is Software Engineering REALLY an Idea Whose Time Has Come and Gone?
متن کامل
What Is End-User Software Engineering and Why Does It Matter?
End-user programming has become ubiquitous, so much so that there are more end-user programmers today than there are professional programmers. End-user programming empowers—but to do what? Make really bad decisions based on really bad programs? Enter software engineering’s focus on quality. Considering software quality is necessary, because there is ample evidence that the programs end users cr...
متن کاملSoftware Engineering 2 - Specification of Systems and Languages
A solution to get the problem off, have you found it? Really? What kind of solution do you resolve the problem? From what sources? Well, there are so many questions that we utter every day. No matter how you will get the solution, it will mean better. You can take the reference from some books. And the software engineering 2 specification of systems and languages is one book that we really reco...
متن کاملEmbracing Composite Metrics in Software Experiments
Traditionally most Software Engineering experiments tend to formulate hypotheses and analyze an independent variable or a series of independent variables. This approach greatly reduces the type of research questions which can be explored. In addition, most Software Engineering situations are highly complex with many intertwined or ill-defined concepts, processes and “objects”. Hence, the questi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995