Types of Software
Generally Software are of two types.
- System software
- Application software
System Software is a software platform that allows application software to interact with the systems of the computer. Examples of system software are operating systems, system server and device drivers.
Application software is a type of software that allows the user to interact with their computer and perform certain tasks. Examples of the application software include all the software that you use on your computer to perform tasks like browsers, MS office, etc.
Requirements for creating a Software
- Programming language
- IDE ( Integrated development Environment)
- SDK (Software Development Kit)
- A desktop computer or Laptop
Personal skills required for creating software
- Problem solving ability
- Learning a programming language
- Determination and patience
Steps wise software making process
- Software idea
- how the software is meant to do its job
- Writing pseudo code
- Writing original code
- Deploying of software
Step 1 – Software idea
This is the beginning when an idea strikes your mind. You have seen a problem that most of the people around you are facing in their day to day life and you know how to solve this problem with a computer. That’s it! This is something you can put your time and energy on. You have got the solution, now you just need to convert this solution into a computer program. This is something that will push you to learn new skills, polish your existing skills, and it will also make your resume look better.
Step 2 – How the software is meant to do its job?
Now you have an idea about creating a software, but this isn’t enough to just start writing the code. You will have to determine what are the steps that your software needs to follow in order to solve a particular problem and that is called an Algorithm.
“Algorithm – A process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.”
Break your software into small parts, see what each part has to do
For example – a very simple camera app has to do the following functions
- Button to take picture
- Saving the picture in gallery
- Flashlight on/off
- Zoom in/out
Write all the functions your software needs to perform in a series.
Step 3 – Writing a pseudo code
“Pseudocode – Pseudocode is an informal high-level description of the operating principle of a computer program or other algorithm”
Write a description of the steps your program needs to follow in order to perform a particular task. Pseudocode is just the basic description of your program, it should not be language specific. Pseudocode helps you to find out the steps your program needs to follow in order to execute properly. This makes writing code a bit easier. You can then translate your pseudocode to any language you want.
Example of pseudocode for a simple camera app
- Start the camera app
- display an output from the camera on the screen
- focus the image
- press the camera button to save the image
- save the image in the gallery
Now you can use this simple pseudocode to create a camera app that takes picture and save it in the gallery.
Step 4 – Writing the actual code
Now when you have designed the UI (user interface) of your app or the software program and you have also prepared the pseudocode for your app. It is the time to write some real code.
- Pick up a programming language of your choice for example Java, python, C++, or any other language that you are familiar with.
- Download and install the IDE (Integrated development environment), SDK (Software development kit) related to the type of language you are going to write your software in.
- Carefully write your code, You should take care about any Runtime or Compile time errors. Also take good care about the syntax.
- Test your code for any bugs. Fix all the bugs.
Step 5 – Software deployment
Now that your software is completely ready. You have tested it for any errors or bugs. your software is ready to go to the devices of your users.
It is the time to Release your software. Software deployment helps you to distribute, install, update, or uninstall your software remotely.
Categories: How to