Reusability: The degree to which a software module or other work product can be used in more than one computing program or software system [IEEE]. It is the ability of a component/module to function and integrate in more than one environment. It is always manifested in and is considered as characteristics of high quality software. To achieve this quality, component or modules should be designed and implemented so that they can be reused in many different systems.
Maintainability:The ease with which a software system or component can be modified to correct faults, improve performance, or other attributes, or adapt to a changed environment [IEEE]. Maintainability provides a way of measuring the ease with which a program can be corrected if an error is encountered, adapted if its environment changes, or enhanced if the customer desires a change in requirements.
Flexibility: The ease with which a system or component can be modified for use in applications or environments other than those for which it was specifically designed [IEEE]. This concept encompasses the hardware, software and software combination in using a system. It is the effort required to modify an operational programs when environment of the system where it is running is changed.
Testability: The effort required to test a program to ensure that it performs its intended function.
Extensibility: It refers to the ease with which a program or module can be adopted with newer requirements with out affecting the existing one. It is the ability or property of a module that allows changes in many aspects such as performance, functionality, etc… within the same existing framework while retaining partial or complete compatibility among systems that belong to the same framework. Extensibility like other qualities can be achieved in varying degrees. An extensible system allows easy addition of new designs in an exiting one.
Related Post:
No comments:
Post a Comment