This preview shows page 1. Sign up to view the full content.
Unformatted text preview: e quality of the product in any way.
Note that overall costeffectiveness also requires that a software product is capable of being readily modified
It has been found that software products that meet these goals do not generally cause
unusual stress during their various phases of development and are easily adaptable to
Principles of Software Engineering
The principles of software engineering are the generally accepted guidelines that should
be followed to produce a software product for meeting the goals of software engineering.
These guidelines are described below.
Precise Requirements Definition The requirements of a software product must be precisely defined to ensure that the
resulting product meets the users' true needs. Ill-defined and fluid nature of software
requirements generally lead to problems in the later phases of the software life cycle.
Software systems should be structured in a modular fashion so that they are easy to
program, implement and maintain. A modular design helps in distribution of different
modules to multiple programmers allowing the product to be developed in a shorter time.
It also helps in easier testing, debugging and maintenance of software products because
individual modules can be independently tested, debugged and maintained. Feature
enhancements can be done by adding new modules. Modular design also enables
software reusability because if a module already exists for a desired functionality, it can
be used as it is or with minor customization. Third party library routines are an example
of reusable software modules.
As far as practicable, software systems should use abstraction and information hiding.
For example, in modular design, the implementation details of each module should be
hidden inside the module and only the module interface should be made visible outside to
allow other modules to interact with the module. The concept of object-oriented
programming has been introduced to take care of this aspect of software enginee...
View Full Document
- Spring '14