Abstract

This chapter provides an overview of software practice and engineering. The field of software development is very dynamic; new ideas are constantly being put forward and then attacked as useless or worse. Despite of this, there are a number of well-identified facts and principles that anyone with a substantial involvement in software should know. Programming is a high-level intellectual activity. The important role of clarity in programming can be seen from the definition of a small program; it must be such that the programmer's mind can completely grasp it. It is crucial for both the original programmer and any later readers to be able to understand the program. The structured, systematic approach to program design naturally leads to modularity in software. Software modules are programs that have a well-identified function. The modules should be natural for a logical subdivision of the program, and modular programming can help greatly to give clarity to the software. A companion to the modular software idea is the approach of isolating functionality and parameterizing software. Software has a number of different qualities or properties that are somewhat independent; the importance of these qualities depends on the use of the program.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call