Requirements modelling motivations: I We need a language for communicating shared perceptions of the requirements for the target system between human stakeholders.

Slides:



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

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,
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Introduction to Software Engineering Dr. Basem Alkazemi
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
Lecture 3: Requirements Modeling Intro Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of Wollongong.
Project Life Cycle Jon Ivins DMU. Introduction n Projects consist of many separate components n Constraints include: time, costs, staff, equipment n Assets.
Model Eco-systems Decision Systems Lab University of Wollongong.
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
Modeling challenges: Compliance (1/2) Compliance management has emerged as a major problem following major corporate governance scandals (e.g. Enron, WorldComm)
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 2 Introduction to Database Development.
Introduction to Database Development. 2-2 Outline  Context for database development  Goals of database development  Phases of database development.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Software Quality Assurance For Software Engineering && Architecture and Design.
Chapter 4 Introduction to Database Development. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Context for database.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
System Analysis & Design
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Database Design, Application Development, and Administration, 5 th Edition Copyright © 2011 by Michael V. Mannino All rights reserved. Chapter 2 Introduction.
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
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Design.
ITEC224 Database Programming
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
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.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 4 Introduction to Database Development. Outline Context for database development Goals of database development Phases of database development.
A language to describe software texture in abstract design models and implementation.
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
1 Introduction to Software Engineering Lecture 1.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
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 ++
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Formal Methods.
Requirements Validation
MADALINA CROITORU Software Engineering week 3 Madalina Croitoru IUT Montpellier.
Assignment Help From Requirements Elicitation to Elicitation.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Requirements Analysis
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Daniel Amyot, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of Waterloo);
Software Engineering Lecture 10: System Engineering.
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.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Requirements Analysis and Specification
Software Requirements analysis & specifications
Modern Systems Analysis and Design Third Edition
Chapter 20 Object-Oriented Analysis and Design
Modern Systems Analysis and Design Third Edition
Department of Computer Science Abdul Wali Khan University Mardan
Presentation transcript:

Requirements modelling 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 modelling motivations: II Modelling 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 Modelling 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 Modelling 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

Challenges with requirements modeling Model discovery Consistency Completeness Change management Compliance Transformation Negotiation Model merging Expressive adequacy: –Context –Rationale –Traceability –Goals –Non-functional objectives

Modeling challenges: Model discovery (1/2) The pain point: Modelling is a fundamental pre-requisite for the effective deployment of any IT system. Examples: –Business process modelling –Data modelling –Enterprise modelling –Requirements modelling –Design modelling etc Modelling is painfully hard Modelling is painfully labour intensive

Modeling challenges: Model discovery (2/2) Requirements elicitation (several techniques, separate lecture on the topic) Rapid Model Discovery toolkit: –Mines” enterprise repositories consisting of: Legacy (or “live”) text documents Legacy (or “live”) models in other notations –To obtain “quick-and-dirty” proto-models in the target notation (e.g., a process model, or an enterprise model) –Analysts edit these proto-models to obtain the final model –Analyst “edits” trigger further mining, adjustment and adaptation of proto-models