Modern software engineering processes and lifecycle models ensure that developers follow systematic approaches to engineer software for functional correctness. The next frontier is to be able to take a similar engineering approach towards the other aspects such as performance, reliability, availability, usability and evolvability.
A number of techniques and methods have been evolved over the past 50 years to analyze and test for each of these "ilities", however most software engineers are barely aware that they exist, so approaches to obtaining desired behaviour are very ad hoc. One difficulty in taking a systematic engineering approach to determining the system profile is that there are tradeoffs among these attributes.
This talk will present a framework for taking such a systematic engineering
approach. The framework includes an attribute classification (not
unique), a process, and a basket of technologies for specification, design,
analysis and testing. It will briefly indicate the results obtained
when this framework was piloted at Motorola India.
Colloquia Series page.