Lecture 3: Requirements Modeling Intro Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of Wollongong.

Slides:



Advertisements
Similar presentations
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
Advertisements

Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Professor John Hosking, Dean of Engineering and Computer Science Models, Modelling, MBSE.
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
© Farhan Mir 2008 IMS MIS Development BBA (IT) 6 th (Lectures ) (Information System Development Methodologies) Course Lecturer: Farhan Mir.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Capturing the requirements
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Software engineering for supply chains:
Requirements Engineering: What is RE? UFCE4S-10-3 Lecture One Stewart Green.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Requirement Engineering – A Roadmap
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Requirements modelling motivations: I We need a language for communicating shared perceptions of the requirements for the target system between human stakeholders.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec17 1 Lecture 17: Formal Modeling Methods Formal Modeling Techniques.
CMPT 275 Software Engineering
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
The Software Development Life Cycle: An Overview
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Requirements Expression and Modelling
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
A language to describe software texture in abstract design models and implementation.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Formal Methods.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
November 2003J. B. Wordsworth: J3ISDQR41 Information Systems Development Quality and Risk (4)
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Prof. Hany H. Ammar, CSEE, WVU, and
Requirements Analysis
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Chapter 4 Requirements Engineering (1/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Daniel Amyot, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of Waterloo);
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Miguel Garzón, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of.
1 Software Requirements Descriptions and specifications of a system.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VII. System Specification (I)
Chapter 4 – Requirements Engineering
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Requirements Engineering A Roadmap
Software Design Methodology
Department of Computer Science Abdul Wali Khan University Mardan
Presentation transcript:

Lecture 3: Requirements Modeling Intro Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of Wollongong

Requirements modeling motivations: I We need a language for communicating shared perceptions of the requirements for the target system between human stakeholders We would like to perform some automated (or semi-automated) analysis of models specified in this language –Analysis can reveal inconsistencies Disagreements between stakeholders Conflicting or infeasible requirements Confusion over terminology, scope etc. –Analysis can reveal ambiguities –Analysis can test for correctness Does the model have the properties that we expect ? We can check by: –Reasoning with the model to understand its consequences (e.g., checking a formal model for its logical consequences) –Partially executing or animating a model (executable specifications)

Requirements modeling motivations: II Modeling can guide elicitation –A partially constructed model can help surface hidden (or implicit) requirements –A partially constructed model can suggest the right questions to ask Modeling can provide a measure of progress –One measure of progress is completeness of a model Measuring completeness is a difficult problem Completeness of formal theories provides one viable approach Modeling forms the basis for tool support for downstream phases of the life-cycle Can we support an automated (or semi-automated) goal- oriented decomposition: early-phase requirements -> late- phase requirements -> architectures/designs -> (possibly) code

Models: Desirable Features (From Loucopoulos and Karakostas, 1995) Implementation independence –Separation between requirements model and software design Formal semantics –We want a clear specification of meaning associated with the modelling language Ease of analysis –Ability to analyse for ambiguity, incompleteness, inconsistency Traceability –Ability to cross-reference components of a model and to link to both upstream and downstream artefacts (as well as source stakeholders) Abstraction Constructability –Ability to define and compose components of a model (divide-and- conquer modelling) Minimality –No redundancy Executability

Types of modeling languages (From Loucopoulos and Karakostas, 1995) Natural language –Highly expressive and flexible –Poorly defined semantics, making analysis difficult –Best used for elicitation and for annotating (commenting) models Semi-formal notation –Captures structure and some semantics –Can perform some analysis and reasoning over models –Examples: diagrams, tables, structured English etc. Formal notation –Precise semantics hence easy analysis and reasoning –Problem: Practitioner inaccessibility

Current approaches to modelling Enterprise modelling: We wish to represent –Organizational goals –Organizational structure –Activities, processes, products –Actors and their roles –Examples: Information modeling: ERD Organizational modeling: i*, SSM, ISAC Goal modeling: KAOS, CREWS Modelling functional requirements –Examples: Structured analysis: SADT, SSADM, JSD Object-oriented analysis: OOA, OOSE, OMT, UML Formal methods: SCR, RSML, Z, Larch, VDM Modelling non-functional requirements –Examples: QFD, timed Petri nets (performance), task models (usability), probabilistic MTTF (reliability)

Formal requirements modeling Important for safety- and mission-critical systems Formal modeling techniques closely tied in with verification techniques used to establish the correctness of the models Most formal methods come with: –A language for describing (behavioural) models of the proposed system –A specification language for describing the properties to be verified –A verification method to determine if a given model satisfies certain properties