We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byTyshawn Munt
Modified about 1 year ago
© Colin Potts C6-1 Some future trends in requirements engineering Colin Potts Georgia Tech
© Colin Potts C6-2 Domain modeling & formal specs. l Domain modeling »Model a generic system or system template, not a specific system »Specify new systems by customizing the template l Formal specification »Use mathematically formal language to specify parts of a system »Prove properties of the specification to guarantee quality
© Colin Potts C6-3 Domain modeling l Use any engineering technique to specify a generic system »Typically use OOA, because it supports generalization directly l When specifying a system, refine the template »i.e. instantiate, specialize or modify
© Colin Potts C6-4 Domain modeling: Evaluation l Little experience »Several DARPA evaluation projects (C3I, etc.) l Domain modeling in practice has been confused with reuse of OO code »because domain modeling is a kind of reuse of analysis model fragments »and OO representations lend themselves to more abstract descriptions
© Colin Potts C6-5 Formal requirements specification l Mathematically rigorous specification »Rationale: critical systems failures will eventually lead to enforcement of engineering stds. l Several flavors of formal specification »Model-based specification is the most likely to achieve practical value »cf. Information modeling with richer constraints
© Colin Potts C6-6 Model-oriented formal specifications l Extension of ER modeling »ER diagrams are like type and function declarations »Cardinality constraints are logical rules »Other rules that cannot be shown in an ER diagram can be specified l Behavior is specified in operations »Preconditions and postconditions for each operation l Languages »Z, VDM, Fusion (OOA) method
© Colin Potts C6-7 Admissibility System states are legal configurations of attribute/relationship values What are the rules that specify these legal states? »And only these states »Need to specify these succinctly –Not as a transition diagram Conceivable states Admissible states
© Colin Potts C6-8 Model-based specification of behavior System behavior is modeled as a collection of state-changing operations »The preconditions of an operation state when it can occur –Not when it is triggered »Postconditions define the effects Permitted operation illegal operation
© Colin Potts C6-9 Simple Z example Container contents: Nat capacity: Nat contents < capacity schema declarations predicate/ invariant
© Colin Potts C6-10 Z operation schema Fill changes Container amount? : Nat contents + amount? < capacity contents' = contents + amount? precondition postcondition
© Colin Potts C6-11 Class exercise: Z modifications l As a class »Specify a new operation –Write the operation schema for dispense, an operation that dispenses fluid from the container »Add a new rule –Let the container have a warning light that goes on when the container becomes more than 80% full »What kinds of proof obligations arise in the two cases? »How does using model-based specification clarify your understanding of the (very trivial) problem domain?
© Colin Potts C6-12 Formal specification: evaluation l Maturity »Encouraging experiences in industrial projects, incl. –IBM (CICS) –Tektronix (oscilloscope embedded software) –Inmos (transputer FP microcode) l Advantages »Precision helps understand reqts and design implications l Limitations »Requires retraining (but not advanced math) l Trend »Increasing investment with need for dependable software & accountability for effects
Information Systems: Databases Define the role of general information systems Describe the elements of a database management system (DBMS) Describe the.
Formal Methods. Software Engineering and Formal Methods Every software engineering methodology is based on a recommended development process Proceeding.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Formal Methods 1. Software Engineering and Formal Methods Every software engineering methodology is based on a recommended development process proceeding.
Chapter 25 Formal Methods Formal methods Specify program using math Develop program using math Prove program matches specification using.
Notes on: Is Proof More Cost- Effective Than Testing? by Steve King, Jonathan Hammond, Rob Chapman, Andy Pryor Prepared by Stephen M. Thebaut, Ph.D. University.
©Ian Sommerville 2000Software Engineering, Chapter 10 Slide 1 Chapter 10 Formal Specification.
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
School of Computing and Mathematics, University of Huddersfield CIA2326: Week 11 LECTURE: Formal Specification TUTORIAL/PRACTICAL: Finish off last weeks.
Requirements Expression and Modelling Requirements Expression Modelling Exchanging Requirements.
© Colin Potts C1-1 Requirements Documentation Colin Potts Georgia Tech.
Modelling Class T16: Conceptual Modelling – Architecture Image from
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
© Colin Potts C4-1 Information-oriented approaches Colin Potts Georgia Tech.
© Andrew IrelandDependable Systems Group Static Analysis and Program Proof Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University.
1 / 29 CS 425/625 Software Engineering System Models Based on Chapter 7 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
MCA –Software Engineering Kantipur City College. Topics include Formal Methods Concept Formal Specification Language Test plan creation Test-case.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 10 Slide 1 Formal Specification.
1 UML Basic Training. UML Basic training2 Agenda Definitions: requirements, design Basics of Unified Modeling Language 1.4 SysML.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
Formal Methods. What Are Formal Methods Formal methods refers to a variety of mathematical modeling techniques that are applicable to computer system.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Page 1 Building Reliable Component-based Systems Chapter 1 - Basic Concepts in Component-Based Software Engineering Chapter 1 Basic Concepts in Component-Based.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
Lecture 16 March 22, 2011 Formal Methods CS 315 Spring Adapted from slides provided by Jason Hallstrom and Murali Sitaraman (Clemson)
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Chapter 9 Formal Specifications.
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 02. Objects,
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
ECSE Software Engineering 1I HO 3 © HY 2012 Lecture 3 Formal Methods through an Introduction to Z Formal Methods A notation for formal specification.
Robust Design Strategies I Gruia-Catalin Roman and Christopher Gill Washington University in St. Louis.
© D. Wong 2002 © D. Wong CS610 / CS710 Database Systems I Daisy Wong.
Formal Engineering Methods for Software Development --An Introduction to SOFL-- Shaoying Liu Department of Computer Science Faculty of Computer and Information.
The Z Specification Language Based on J. M. Spivey. An Introduction to Z and formal specifications, Software Engineering Journal, 4(1):40-50, January,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Formal Methods in Software Engineering1 Lecture 17 Describing Syntax and Semantics.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
© 2017 SlidePlayer.com Inc. All rights reserved.