Belgrade, Serbia

Software Engineering

Table of contents

⇑Software Engineering at Metropolitan University

Language: English Studies in English
Subject area: computer science
University website: www.metropolitan.edu.rs
Type: PhD/Doctoral programme
Academic degree: Doctor of Science
Language: English, Serbian

⇑Definitions and quotes

Engineering
Engineering is the creative application of science, mathematical methods, and empirical evidence to the innovation, design, construction, operation and maintenance of structures, machines, materials, devices, systems, processes, and organizations. The discipline of engineering encompasses a broad range of more specialized fields of engineering, each with a more specific emphasis on particular areas of applied mathematics, applied science, and types of application. See glossary of engineering.
Software
Computer software, or simply software, is a part of a computer system that consists of data or computer instructions, in contrast to the physical hardware from which the system is built. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.
Software Engineering
Software Engineering is the application of engineering to the development of software in a systematic method.
Software
One of the difficulties in thinking about software is its huge variety. A function definition in a spreadsheet cell is software. A smartphone app is software. The flight management system for an Airbus A380 is software. A word processor is software. We shouldn't expect a single discipline of software engineering to cover all of these, any more than we expect a single discipline of manufacturing to cover everything from the Airbus A380 to the production of chocolate bars, or a single discipline of social organization to cover everything from the United Nations to a kindergarten. Improvement in software engineering must come bottom-up, from intense specialized attention to particular products.
Michael A. Jackson in: K. De Grave (ed.) Formalism & Intuition in Software Development; A conversation with Michael A. Jackson conducted by Edgar G. Daylight and Bas van Vlijmen. 2015
Software Engineering
The entire history of software engineering is that of the rise in levels of abstraction. Executable UML is the next logical, and perhaps inevitable, evolutionary step in the ever-rising level of abstraction at which programmers express software solutions. Rather than elaborate an analysis product into a design product and then write code, application developers of the future will use tools to translate abstract application constructs into executable entities. Someday soon, the idea of writing an application in Java or C++ will seem as absurd as writing an application in assembler does today. And the code generated from an Executable UML model will be as uninteresting and typically unexamined as the assembler pass of a third generation language compile is today.
Grady Booch (2002) "The Limits of Software" Lecture September 2002; Partly cited in: Gerry Boyd (2003) "Executable UML: Diagrams for the Future." published at devx.com, February 5, 2003.
Engineering
When I looked at the science of engineering and saw that it had disappeared after its ancient heritage, that its masters have perished, and that their memories are now forgotten, I worked my wits and thoughts in secrecy about philosophical shapes and figures, which could move the mind, with effort, from nothingness to being and from idleness to motion. And I arranged these shapes one by one in drawings and explained them
Al-Muradi, The Book of Secrets in the Results of Ideas, 11th century; Translated and cited at leonardo3.net/bookofsecrets/index, 2015
Privacy Policy