Software engineering

Software engineering is a field of engineering, for designing and writing programs for computers or other electronic devices.  A software engineer, or programmer, writes software and compiles the software to make instructions the computer can follow. 

Good quality software is easier to fix and add new features. Good documentation and good design are parts of good software. Becoming a software engineer requires experience and practice writing code. Software engineering may be very difficult work.    The software release life cycle includes getting the requirements, planning, writing, documenting and testing the software before it is released. When it is released, it is given to other people to use, who are called the "end users". Good software should be user friendly, which means it is easy to use.

Steps in creating software
Software engineering can broadly be split into the following steps:
 Requirements say what the software should do.
 Software design is usually done on paper. It says what the different parts of the software are, and how they talk to each other.
 After the design phase is done, each component (part) of the software is coded.  Code is what tells the computer exactly what to do at each step.
 Testing is done to see if the components meet the requirements and that the system as a whole meet the requirements.
 Part or all of this process can be repeated if software bugs are found or new requirements are needed.

Tools used in creating software
Software engineers use many tools and practices in making software.  Some of the most common are:
 Flowcharts
 UML diagram
 Debugging tools
 Compiler
 Text editor, usually part of an IDE - Integrated Development Environment
 Database

 Related pages 
 Software development

 Other websites 

The British Computer Society
The Institution of Electrical and Electronics Engineers
Computer Degrees and Careers 
Software engineering -Citizendium

Notes

Category:Software
Category:Engineering disciplines
Category:Computer science