How is Software Created?
COMP1260 > Application Software
IntroductionWhether we like it or not, computer software plays a major role in our world. From running the traffic lights, to managing our money, software offers great support for a growing society. Since computer software is very important to us, it is even more important to know what software is and how it is created.
|
...by studentsI am a Computer Science student, so I have personal experience in creating software. If you were considering choosing a path in Computer Science you would create many different kinds of software. In Comp 3020, we had to make a Movie Organizing program, going through requirements gathering, design and implementation phases. In Comp 2150, we had to make a program that performed like eBay. In addition, there is a course in Software Engineering, which teaches how to engineer software. |
What Is Software
To understand how software is created, we need to know what software is. Software is a collection of programs and procedures that are designed to perform a task on a computer. The programs in the software are a series of instructions that the computer can read, analyze and do tasks on. The programs in software could each do a different thing. One program could calculate 2+2, while a different program could display the answer on the screen. People who design software can combine many programs together to perform a desired task.
How is Software Created
Now that we know what software is, we can focus on how software is created. We learned that software is a series of programs that perform a task, and that each program is a series of instructions that perform another task. From this we can see that software is created by combining and creating programs that achieve different tasks, which combine to achieve the overall task. So to know how software is created, we need to know how these programs are created.
Writing and Compiling Programs
Programs are written (created, coded, programmed) in a programming language. A programming language is a language that expresses the computations done by a machine into a format similar to our spoken languages. When the programmer is done writing the program, the program must then be compiled into machine code. Compiling is a process done by other programs to translate the code into instructions that the computer can understand. Once the code is compiled, the programming can then execute the program.
Development Models
Software development is a little more in depth than just writing code. Software engineers have to create software carefully and efficiently, to reduce cost of development and make a stable and effective product. Developers follow a development model that governs how they create software. A development model is a structure of software creation that software developers follow. Modern software development is usually completed by several programmers instead of just one. This fact makes the importance of following a development model more important. Several different development models exist, that help structure the creation of software, such as: agile, cleanroom, DSDM, iterative, RAD, RUP, spiral, waterfall, XP, scrum, asnd V-model. We will look at a common model in order to get an idea of what is currently done to create software.
Waterfall Model
The waterfall model[1] is a series of steps programmers employ to create software. The steps are as follows
- Requirements Gathering
- Finding requirements for software
- Software Design
- Designing the structure of the software
- Implementation of Design
- Actual programming of programs in software
- Integration of Software
- Combining all the separate programs together, and checking if it meets requirements
- Testing and Debugging
- Testing the program and fixing anything that is wrong
- Installation
- Installing and integrating software into its proper environment
- Maintenance
- Updating software and correcting more errors
After each step is finished, the process continues to the next step. This process is kind of like building a house, once you build the foundation, you can’t really rebuild it again. This doesn’t mean that the development won’t have error correcting. Good design of software makes it more flexible to incorporate new features.
Summary
Let’s take a look back and see what we've learned
- What is Software? - A collection of programs that complete a task on a computer
- How is Software Created? - created by programming instructions the computer can understand
- What is Programming? - writing instructions, compiling them into something the computer can understand
- Developing Software - Waterfall model and its steps
For information on this topic, please follow the links in further readings.
The next topic in this chapter will be on Software Suites.
Further Readings
References
- ↑ Adrian Als & Charles Greenidge, Waterfall Model. September 29, 2005. Accessed on November 30,2008. http://scitec.uwichill.edu.bb/cmp/online/cs22l/waterfall_model.htm
Previous Page: Freeware and Shareware |
Next Page: Software Suites |