Sponsors: DoD and ARL
Many software projects fail to deliver acceptable systems within schedule and budget. Many of these failures might have been avoided if the project team properly assessed and alleviated the risk factors. The objectives of software risk management are to identify, address and eliminate software risk items before they become major problems in the software project. Although many software process models have been proposed, identification of high-risk software components is an important management goal in any software development effort. However, risk management is seldom applied as an explicit project management activity. Consequently, it is difficult to identify high-risk objects in a software development process. In addition, studies have repeatedly shown that most of the cost of software development stems from requirements defects. Since defects in requirements can cost hundred or more times as much to fix as defects in testing and maintenance phases. If we can identify those high-risk components in the early stage of the software life-cycle, then we can eliminate these problems earlier and reduce hundreds or more time of manitenance and re-development cost. The concept of software architecture has emerged as a new way to improve our ability to construct large-scale software systems. In this project, we are developing techniques and tools for measuring and verfying object-oriented software architecture of real-time systems.