From the above definitions we could derive the fact that both attempt to give as short a description of what is software engineering as possible, while facilitating the reader in the process of general subject comprehension. However, it would be necessary to continue the research and study in the area of software engineering in order to fully grasp the subject, and this is partially what the rest of this document is concerned with. On the other hand, the difference between the two definitions is that the first feeds the reader with the directions for a further study of software engineering via engineering as a set of principles in general, whereas the second one tends to break down the actual software engineering into definite steps, which also works as a direction for a profounder study of the term.
This part of the text deals with the question what is systems engineering and how it compares with software engineering. ‘Systems engineering is the branch of engineering concerned with the development of large and complex systems, where a system is understood to be an assembly or combination of interrelated elements or parts working together toward a common objective’. ‘It focuses on methods to solve problems, rather than the solutions of the problems, i.e. the means rather than the ends. Furthermore, it places an explicit/high priority on economics and cost’.
Since we already covered both software engineering and systems engineering we may safely proceed to their similarities and differences. The major similarity between the two is that they are both branches of general studies of engineering; therefore they share some basic principles of this science. One of these principles is the fact that they are both similar means towards slightly, but not completely irrelevant, ends, i.e. supervisory and management tools that a practitioner benefits from in the process of overlooking the development of software in the case of the former; and in the approach towards problem solving in the case of the latter.
One major difference is that software engineering deals with three stages, i.e. definition (before), development (during) and maintenance (after), while systems engineering deals solely with one, single stage, i.e. the approach towards a problem. An additional difference, although not as significant as the one previously mentioned, is that systems engineering seems to be rather complicated and more difficult to describe in comparison with other engineering principles in general, not only software engineering. This occurs due to the fact that it focuses on methodology rather than physical manifestations of science and engineering hardware.
In this part of the text there is an attempt to show how software engineering fits in the science of engineering as a whole. What actually is engineering? ‘Engineering is the activity of applying scientific knowledge to the design, building and control of machines, roads, bridges, electrical equipments etc’. Another definition is: ‘The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice is applied with judgment to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind’.
Since the assignment demands a personal opinion the following argument contains a certain amount of subjectivity. Is software engineering an engineering principle? It can be strongly argued that it is indeed; nevertheless, the crucial question we may be asking ourselves is whether it is partially, largely or completely an engineering principle, i.e. in what amount.
Software engineering, according to the author’s opinion, is largely an engineering principle owing to the fact that it actually applies knowledge from various scientific areas in order to regulate, supervise and manipulate software development with efficiency and effectiveness being the primary aspects considered for the final product, i.e. do something right and do it fast. Nonetheless, because it does not apply methods only from mathematical and natural sciences and because it is simply a branch of an immense science it is not considered safe enough to state that it is completely and solely an engineering principle.
To sum up, we covered the definitions of software engineering, systems engineering and engineering as a general science, and, subsequently, the understanding, evaluation, and comparison of these terms, as well as their interrelation. Therefore, there is enough evidence suggesting the significance of the study, and profound understanding of these terms for a person starting a career in any branch of engineering, which is apparently a science of limitless dimensions. However, it is highly recommended not to halt on the information provided in this document for a greater and deeper understanding of the terms, after all, we just scratched the tip of an iceberg.
BIBLIOGRAPHY
-
parrington n. and roper m. (1989) understanding software testing. Chichester:Ellis horwood limited
-
pressman r. s. (1993) a manager’s guide to software engineering. R. r. Donnelly & sons company
-
pressman r. s. (1988) software engineering a beginner’s guide. Hamco corporation
-
parnas d.l. et al (2001) software fundamentals. lucent technologies and Daniel m. hoffman
- oxford advanced learner’s dictionary fourth edition (1989)
Oxford, Advanced Learner’s Dictionary, Oxford University Press, 2000
ABET, Accreditation Board for Engineering and Technology