Third party library routines are an example of

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

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 and enhanced. 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 unanticipated needs. 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. Modular Structure 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. Abstraction 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

Ask a homework question - tutors are online