The software programmer should have knowledge of the software areas to be used in the project. The software areas include system software, business software, real time software. Those who have software responsibility are under immense pressure to have accounts, use budgets, stick to schedules from being missed and improve quality. It is essential to use the Computer aided software engineering tools. It must be understood that software development is not a mechanistic process like manufacturing. Once this is understood, then it will be easy for the progress.


Project requirements continuously change but the change must be easily accommodated. It is true that software requirements change, but the impact of change varies with time to time at which it is introduced. It is essential to give serious attention to up front definition, early requests for change must be accommodated easily. The customer can review requirements and recommend modifications with relatively little impact on cost. When changes are requested during software design, the cost impact increases rapidly.

Need for change

Changes in function, performance, interface and other characteristics during implementation of code and test have effect on cost. Changes when requested after software is in production can be expensive than the same change requested earlier. A working program is only one part of software configuration that includes many elements. The proper documentation provides a foundation for successful engineering and guidance for the software support. Better quality leads to reduced rework. And reduced rework results in faster delivery times. The methods for poor management and technical practices should be avoided.

While designing the software, programmer must consider the following points.

• What is the problem needed to be solved?
• What characteristics are used to solve the problem?
• How will the solution be realized?
• What approach will be used to uncover errors that were made in the design and construction of the entity?
• How will be the entity be supported over the long term?

During definition, the software engineer attempts to identify what information to be processed, what function and performance are desired. In order to understand the nature of the program to be built, the software engineer must understand the information domain for the software.

Requirements for both the systems and the software are documented and reviewed with the customer. In code generation, the design must be translated into machine readable form. If design is performed in detailed manner, code generation can be accomplished mechanistically. The programmer must follow the testing strategies ensuring all statements have been tested. The tests are needed to uncover errors and ensure that defined input will produce actual results that agree with required results.

The programmer should notice that there will be change in software due to change in environment after it is delivered to the customer. Change will occur because errors may encountered, because the software must be adapted to accommodate changes in environment. The support and maintenance chart of manual instruction should be printed and provided to the user with the hard copy of the software.

About Author / Additional Info: