In previous chapter, we discussed system analysis and requirements stage in SDLC where everything was laid out on papers. SDLC makes sure that there is an actual need for the software being developed. Developers need to think of this first, especially in a business setting. After the need has been set, the plan will eventually be laid in terms of its projected functions and expected properties of a software. These stages are all about meeting with the managers, project supervisors and getting approval and even budget for the project at hand. The back-end operations were also laid and everyone will be ready to work on the actual software.
During this stage Developers will sit down and in reality work on the software that they have been planning to create probably for days, weeks or even years. Each of them already understands what they are about to do since the requirements of the software has already been laid out. All the inputs from previous stages of SDLC will now be implemented.
In this stage you will see the big difference of a program that has been created with SDLC. In business sense, developers will be working on something saleable while software that were not created with SDLC will just hope that what they perceive as a need will be the requirement for others as well. Although software that do not have to go through SDLC modeling still have a workflow, SDLC does not only requires workflow but also requires that the functions of the software be complemented with specific non-functional requirements. This is where the security of software is emphasized.
This stage has become relatively easier since there are already goals set for different developers. In this chapter, we will take a look the three types of design required to create software:
- Interface Design,
- Data Storage Design and
- Program Design.
In this stage, developers have to build the commands and tasks of the system. In this environment, they should always follow what was set before and use that as a goal. The GUI (graphical data interface) will be worked on extensively by developers enabling better interaction between the user and the program once they are launched. Basically, the interface is very important as this will dictate how the software will interact with the user.
On the other hand, developers should also be thinking of the interface’s relationship with other programs in the company. The interface should be at least familiar as it will follow the initial workflow of the programs in other departments. It is even important in small business setting since the interface will be universal and everyone has to understand the interface fast. It is important for developers to create programs that is easy to understand. The easier the interface could be understood, the faster the training. Thus there will be more time for actual operations since training do not directly yield anything for the company. But if they are deployed in operations quickly, there will be more time in taking care of the operations which is the most important part of any businesses.
Whether if it is for business or consumers, developers should emphasize on two options: the processing options and data options in their interface. Developers should understand that they should be creating an interface where the process is easy to understand. At the same time, they should also understand that the only reason for software being developed is to process the information. Therefore, it is important that the information or data be made readily available at any point of time.
Data Storage Design
The intended software or specifically the interface will only work if there is available information to be processed. Developers have to create software that knows where to look for information and store in the interface for data processing. The location where the data will be found is called the source data. Developers have to look for or if warrants, create a source data so that the software will have to work on something. Developers could create a source data of their own if they language of the source data is not the same with the expected information of the interface.
It is also important for software developers in terms of data storage to concentrate in the design of the data capturing software. Although we stress in function over looks, it is important for most user that the software is pleasing to the eye. There are even those that encourage uniformity to ensure that the software is easy to understand. Developers have to realize that even though they could create something original, they cannot force their own thinking or preference to the users. Most of us already know what to write in the data if we are presented with a familiar interface.
In this stage of system design, developers should also work on preventing bad data to enter the system. Although developers could prevent spam and anti-virus to the program, they cannot prevent bad information from happening if they do not create parameters for to restrict the entrance of the software. This is called input control as it gauges what is required so that the information could be processed faster. If bad dates will be accepted, it could easily proliferate and eventually crush the system down. With correct data storage design and internal control of information, developers can prevent the crash of the software.
When the interface and data source has been determined, it is time for the developers to concentrate on the output or the end result of the software created. Program Design will dictate on what type of output is expected. Just like the interface design, it is important for developers to be as creative as they are but they should be thinking of the program in its relation to the enterprise. The only time the software will be interactive to other programs is through its output. Developers should determine whether the output of their software is connected to software for another process or it would be simply on paper that could be passed on to another person.
Most of the time however, developers are always thinking of integrating the software to the present environment of businesses. If you take a look at this trend, it is another software that will be receiving the information and then it will be processed to another software where there is a possibility of another transfer.
These are the three types of design a developer usually follows. Whether or not they will be using a different programming language, web development toolkit or a software creation tool is up to them. However, they should be thinking that these tools have to create a good interface; easy access information and a good output so that the created software will be acceptable and can be easily used.
These three stages of design is created and adopted to create software that will be used for consumer and business setting. As long as they follow the original idea and expectations in systems requirements and functions, the software created is assured to be usable and effective for its intended users.