Software development is the translation of a user need and converting that need
into a resolution through designed software. The main and important things for
developing software are:
The requirements should be appropriate and complete and should meet the need
of users. Object orientation is not as easy as is normally thought Communicating
with the client is difficult; care should be taken to communicate with the
client in their language rather using computer language. This leaves them
confused. The problem should not be over thought, or under estimated.
Software development is one of the key aspects in the computerized world. When
considering the code quality, there are three aspects. The first aspect is
developer testing. The second important task is improving code quality. The
third task is to improve the code quality and testing because it facilitates:
software reliability, code modifications, keeping code entropy.
The first step of software development is Requirements.
The second step of the software development cycle is Architecture. The
software architecture of a computer program or computing system is the
structure of the system.
The third step of the software development process is design. Software
design involves identification of the end result, the likely difficulties, and
planning in a manner as would result in a comprehensive software solution. The
developer has to foresee what problems are likely to arise, and accordingly
design the software program.
The fourth step of the software development cycle is computer programming.
It is the process of writing, testing, debugging/debugging/trouble shooting,
and maintaining the source code of computer programming.
The fifth step is software testing. It is the process used for access of
quality of computer software.
The last step of the software development process is software deployment. It
is the activities that make a software system available for use. Some of the
deployment activities are release, install, activate, deactivate, adapt,
update, uninstall and retire.
The designed software should have many aspects to consider such as
extensibility, robustness, reliability, security, maintainability,
compatibility, modularity and reusability.
Ultimately, software designed and installed should be such as would promote
easy portability, and adaptability. In designing software for the user, care
needs to be taken as would take of the present and future of the end user.
In other words, the software developed should be such as would meet future
requirements of the client. For this the developer has to spend time with the
end user and project the likely future requirements.