Software engineering is a multi layered and very complex system of the design, application, operation and development of different types of software. As technology continues to advance software will need to progress along with it. Out of date software can not run on certain operating systems and is thus considered obsolete. Software provides thousands of functions depending on what it was created to do and some have the ability to perform more than one function. Software engineer typically create new software with the intent of outdoing the last version of it. Before delving into Software engineering it is important to understand some aspects of software to have a better appreciation for it.
Software is a term that is thrown around a lot, especially in today’s technologically driven society. Software by its simplest definition is simply a piece of information that directs a computer mainframe to perform a certain function. Software is usually used in conjunction with hardware. Hardware is the physical properties of the computer such as the processor, mouse and keyboards. Its easy to think of hardware as the physical components of a person bodies eg. the bones, teeth, liver, spleen and muscles. While the software could be compared to a person’s genes, dna and hormones which direct a person more discrete functions. Both the software and the hardware are equally important and both are needed to use a computer.
There are three major categories of software that can be found on almost every kind of computer. The System software, application software and embedded software all promote different parts of a computers function and help it operate correctly. The system software is responsible for the basic functions of a computer. It is the thing that connects with the hard drive that allows response commands to be carried out. An example of this would be the click and open command that is used when a user highlights a certain word with the mouse’s cursor.
Application software allows for a deeper level of use on a computer. This type of software allows a user to access games, music, video, and go online. This type of software is invaluable as it allows you to interact with other users via social websites and email. Embedded software also known as firmware is a type of software that is used to control machines and devices that are not considered computers. Examples of this include, televisions, smart phones, cameras, toys and security systems.
The first programs and programming language was created in the fifties as a way to add a bit of flexibility to these early computers. During the sixties there was a large explosion of new software being created to help these computer process information faster. As software became more advanced the hardware surrounding it was forced to keep up with it, resulting in better and more efficient computers being created. Open source software began in the late nineties and has progressed ever since.