PORTABILITY REUSABILITY ROBUSTNESS RELIABILITY CORRECTNESS VERIFIABILITY PERFORMANCE EFFICIENCY
PORTABILITY REUSABILITY ROBUSTNESS RELIABILITY CORRECTNESS VERIFIABILITY PERFORMANCE EFFICIENCY UNDERSTANDABILITY REPAIRABILITY MAINTAINABILITY EVOLVABILITY VISIBILITY INTEROPRABILITY internal external p 10 co 970, Viren SCALABILITY
• • • If we put requirement in the spec. , its accomplishment becomes issue of correctness, if we don’t; it becomes issue of robustness. The border line between them is the spec. of the system. Performance affects usability: if a software system uses too much disk space, it may be too expensive to run. If too much memory used, it may affect othere applications that are run on the same system. Performance affects scalability: eg. An algorithm that is quadratic may work on small inputs but not work on lager ones. Correctness and performance affect user-friendliness: a software system producing wrong answers in not friendly, regardless of how fancy the interface is. Also a software system that produces answers late is also not good. The need for repair-ability decreases as reliability increases. Repair-ability depends on the number of modules in s/w and complexity of system. Reusability affect reliability: we discussed the example of C/C++, the components reused get error free after repeatedly being used. So increase the reliability as robust block of code. Thus reusability increases the robustness of product. Understandability internally helps the developers, and externally it is same as user friendliness. Understandability paves way for reusability of components among developers. Visibility refers to documentation of software process and if seen as external quality, it is necessary for knowing the current status of the product. Visibility improves the efficiency of “process” itself, which in turn improves performance of product. (next diagram) Efficiency of process to some extent does guarantee the timeliness of delivery of product in part or finished state. (next diagram) Interoperability: the quality that allows a product to be used with other existing or newly evolved system or product. Like a pdf reader application than can allow some “marker” module to be attached with it. So interoperability boosts usability. And also evolve-ability. p 10 co 970, Viren
Qualities related to software “process” Of models being used Of development models / components reusability robustness visibility reliability How good a product is. Loc? efficiency productivity performance timeliness Delivery of product in part/finished p 10 co 970, Viren Of product state/process state
- Slides: 3