Notes > Software Engineering Introduction
Software systems are needed to support some need within a business. Software engineering is the process by which these systems are created. There are many different types of systems: Information Systems, Operational Systems, Management Support Systems etc...
A software system typically controls a set of processes such as the activities of employees within a certain department or the flow of data within a database system. A Real-time system is always running and is ready to receive input at all times. Some real-time systems may be also be safety critical systems if they control something that is potentially hazardous. Some examples of real-time safety critical systems are the system that controls a nuclear power plant or an ari traffic control computer system. If either one of these computer systems failed, serious injuries and even fatalities could occur.
Software engineering can be viewed as a set of methodologies that help in the process of developing software. They do not guarantee a successful software project but they are very important nonetheless.
The aim of software engineering and its methodologies is to:
- Produce a high quality product (software system)
- Ensure user requirements for the software system are met
- Help in managing the system development more effectively
- Promote effective communication
- Reduce system development costs
If these goals are achieved, the results will be better documented software which is therefore easier to maintain in the future. The software system will also be more pleasing to the client and the system's users.
Software engineering can be defined as the following:
The professional discipline within Computer Science that is concerned with developing large applications. Software engineering requires technical expertise in building software systems as well as management skills which are necessary for managing programming teams, managing time, and managing the available finance.
Software engineering utilizes models in designing software systems. These models enable the overall design of the software system to be conveyed easily to clients and other relevant parties. These software system models are abstract and are vital for larger software projects.
Search for "Software Engineering" on:
eBay (UK) |
Search for "Software Engineering" on the rest of Computing Students: Software Engineering