A modern specification language such as UML will be used. Generation and selection of test cases. This course explores the nature of the software development process and means for controlling the process so as to improve the product and control development costs and risks. Issues including development organization, project planning, configuration management, quality assurance, standards, validation and verification, and process monitoring and process improvement are presented and explored. Techniques for improving the level of maturity of the software development process are considered.
Risk is inherent in virtually every software engineering project.
Two kinds of risk are opportunity risk, which is the loss from avoiding risk, and failure risk, which is the loss from taking a risk, but failing to achieve the corresponding goal. The loss may be financial, or it may be competitiveness in a market, or the development and acquisition of reusable software components, or many other valuable things. This course covers topics such as people, process, infrastructure, and implementation in software risk management. May be repeated for credit with permission of the advisor. Special Topics 1-6 698.