tailieunhanh - Lecture Software requirements engineering - Lecture­ 31: Methods for requirements engineering

After this chapter the student should have acquired the following knowledge and skills: State activities: entry, do, and exit activities; composite states and nested states; concurrency; OCL syntax; OCL constraints and contracts. | Methods for Requirements Engineering Lecture-31 Recap No ideal requirements method System models can be considerably enriched by combining different techniques Data-flow model is based on the notion that systems can be modelled as a set of interacting functions The object-oriented approach is based on the notion that systems can be modelled as a set of interacting objects Formal methods are based on mathematical principles and are intended to achieve a high degree of confidence that a system will conform to its specifications Library Management System Using Structured Method 3 Library Management System using Object Oriented Method 4 Library Management System using Formal Method 5 Today’s lecture 6 Formal methods for requirement engineering Why we need formal methods? Current methods of software development involves only combination of diagrams, text, tables etc. No methods are used to test the correctness of the end result in each of stages of software development for . requirement | Methods for Requirements Engineering Lecture-31 Recap No ideal requirements method System models can be considerably enriched by combining different techniques Data-flow model is based on the notion that systems can be modelled as a set of interacting functions The object-oriented approach is based on the notion that systems can be modelled as a set of interacting objects Formal methods are based on mathematical principles and are intended to achieve a high degree of confidence that a system will conform to its specifications Library Management System Using Structured Method 3 Library Management System using Object Oriented Method 4 Library Management System using Formal Method 5 Today’s lecture 6 Formal methods for requirement engineering Why we need formal methods? Current methods of software development involves only combination of diagrams, text, tables etc. No methods are used to test the correctness of the end result in each of stages of software development for . requirement specification, design etc. This may lead to contradictions, ambiguities, incompleteness, vagueness etc. This may not be a good option for safety-critical or mission critical systems, where failure may have high price Formal methods Formal methods are mathematically based. They are an attempt to deal with contradictions, ambiguities, vagueness, incomplete statements, and mixed levels of abstraction. They are most valuable for systems which have: safety concerns (., airplane systems, medical devices) security concerns Formal Methods Concepts Formal Specification Methods Formal specification Formal Proofs Model checking Abstraction Formal Specification The translation of non-mathematical description (diagrams, table, natural language) into a formal specification language It represents a concise description of high-level behavior and properties of a system Well-defined language semantics support formal deduction about the specification Type of Formal Specifications Model Oriented: .