Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.

Slides:



Advertisements
Similar presentations
Project Analysis Course ( ) Final Project Report Overview.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Project Management
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
CS3773 Software Engineering Lecture 03 UML Use Cases.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 COST G9 - Work group 2 meeting Székesfehérvár, Hu Modeling real property transactions Radoš Šumrada Faculty of Civil and Geodetic.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
COST G9 - Work group 2 Cadastral science meeting Aalborg, Dk Modeling methodology for real estate transactions Radoš Šumrada Faculty.
© 2005 Prentice Hall3-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Introduction to Software Engineering Dr. Basem Alkazemi
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Ch5: Software Specification. 1 Overview  Use of specifications  Specification qualities  Classification of specification styles  Verification of specifications.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
Chapter 7: The Object-Oriented Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Introduction To System Analysis and design
Chapter 6 The Traditional Approach to Requirements
Software Engineering CS B Prof. George Heineman.
CLEANROOM SOFTWARE ENGINEERING.
Project Analysis Course ( ) Final Project Report Overview Prepared by: Sijali Petro Korojelo (Course Assistant)
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
SOFTWARE DESIGN.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 7 System models.
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Supporting Scenario-Based Requirements Engineering IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998 A. G. Sutcliffe, N. A. M.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Prof. Hany H. Ammar, CSEE, WVU, and
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Software Engineering Lecture 10: System Engineering.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 System Requirement Specification and System Planning.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
An Overview of Requirements Engineering Tools and Methodologies*
Object-Oriented Analysis and Design
Logical architecture refinement
Introduction to UML.
Software Design Lecture : 15.
Presentation transcript:

Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai

2 Outline Introduction Introduction TRADE and OO-Method TRADE and OO-Method A Requirements Engineering-Based Conceptual Modelling Approach A Requirements Engineering-Based Conceptual Modelling Approach Conclusions and Further Work Conclusions and Further Work

3 Introduction Software development process Software development process Requirement Analysis Requirement Analysis System Analysis System Analysis System Design System Design Implementation Implementation Testing Testing Maintenance Maintenance To provide a set of techniques and methods To provide a set of techniques and methods To capture software requirements To capture software requirements To provide a way To provide a way to move from requirement to a conceptual schema in a traceable way to move from requirement to a conceptual schema in a traceable way  improve the quality of the software production process  improve the quality of the software production process Translation (iterative, incremental) Requirement Model SA Model SD Model traceability

4 Full model-based code generation Introduction (cont’d) The approach combines a framework for requirements engineering (TRADE) and a graphical object-oriented method for conceptual modelling and code generation (OO-Methods). The approach combines a framework for requirements engineering (TRADE) and a graphical object-oriented method for conceptual modelling and code generation (OO-Methods). Providing a precise methodological guidance Providing a precise methodological guidance User requirement (TRADE) Conceptual schema (OO-Methods) Final software produce

5 Introduction (cont’d) Quality of the software production process Quality of the software production process Provide predictability Provide predictability Improve productivity Improve productivity traceability

6 TRADE and OO-Method The TRADE is a set of techniques and heuristics based on an analysis of structured and object- oriented specification methods. The TRADE is a set of techniques and heuristics based on an analysis of structured and object- oriented specification methods. Specifying external interaction s and their properties in TRADE Specifying external interaction s and their properties in TRADE Mission statement Mission statement Function refinement tree Function refinement tree Context diagrams Context diagrams Use case diagrams Use case diagrams Scenario diagrams Scenario diagrams Requirement Model

7 TRADE and OO-Method (cont’d) The OO-Method is an object-oriented method that provides a set of well-defined and complementary graphical techniques to build a conceptual schema of the system. The OO-Method is an object-oriented method that provides a set of well-defined and complementary graphical techniques to build a conceptual schema of the system.

8 A Requirements Engineering-Based Conceptual Modelling Approach

9 Requirements Modelling Phase The purpose of the RM is to accurately and precisely capture what the customer wants to have built. The purpose of the RM is to accurately and precisely capture what the customer wants to have built. Without high-level training in the notation can understand and review them Without high-level training in the notation can understand and review them The Objectory method introduces use case-driven analysis (UCDA) The Objectory method introduces use case-driven analysis (UCDA) Actor and use cases Actor and use cases UCDA is simple, and use case descriptions are based on natural concepts UCDA is simple, and use case descriptions are based on natural concepts Two disadvantages of using UCDA Two disadvantages of using UCDA The difficulty in finding the correct abstraction level to specify the use case The difficulty in finding the correct abstraction level to specify the use case Finding a process to analyze and translate the use case specification into a conceptual model Finding a process to analyze and translate the use case specification into a conceptual model

10 RM techniques Mission statement Mission statement Describe the purpose of the system in one or two sentences. Describe the purpose of the system in one or two sentences. Function refinement tree Function refinement tree Deals with external interaction partitioning according to the different business areas or business objectives. Deals with external interaction partitioning according to the different business areas or business objectives. Use case model Use case model Include the use case specification to specify the composition of external interaction and the use case diagram to show communication between the environment (actors) and the system. Include the use case specification to specify the composition of external interaction and the use case diagram to show communication between the environment (actors) and the system.

11 Mission Statement and Function Refinement Tree

12 Use Cases Use cases were introduced in OOSE to represent external system functionality. Use cases were introduced in OOSE to represent external system functionality. A use case is an interaction between the system and an external actor. A use case is an interaction between the system and an external actor. The purpose of use case specification is to describe the flow of events in detail, including how the use case starts, ends, modified the system and interacts with actors. The purpose of use case specification is to describe the flow of events in detail, including how the use case starts, ends, modified the system and interacts with actors.

13

14 Conceptual Modelling Phase The purpose of the conceptual modelling phase is to represent use requirements in a specification of what the system does as if there were a perfect implementation technology available. The purpose of the conceptual modelling phase is to represent use requirements in a specification of what the system does as if there were a perfect implementation technology available. The OO-Method The OO-Method Object model Object model Simple class diagram Simple class diagram Dynamic model Dynamic model State diagram State diagram Collaboration diagram Collaboration diagram Functional model Functional model Textural model used to capture the semantic that is attached to any change of an object state as a consequence of a service occurrence Textural model used to capture the semantic that is attached to any change of an object state as a consequence of a service occurrence

15 Requirements Analysis Process (RAP) In order to evaluate whether that use case has been provided, we should show what functionality was allocated to which class or classes for each use case. In order to evaluate whether that use case has been provided, we should show what functionality was allocated to which class or classes for each use case. Identify the responsibility Identify the responsibility Allocate the identified responsibility Allocate the identified responsibility Use Case …

16 Notation and Technique The deal with the activity of identifying responsibilities within the use case specification and allocating them into class components The deal with the activity of identifying responsibilities within the use case specification and allocating them into class components Use sequence diagram Use sequence diagram Specify detailed behavior and low-level specification Specify detailed behavior and low-level specification There is at least one sequence diagram per use case, one for the basic course of action, and one for each alternative course of action (if any). There is at least one sequence diagram per use case, one for the basic course of action, and one for each alternative course of action (if any).

17

18 Validation, Verification and Traceability The purpose of the RAP is to obtain a consistent first version of the conceptual schema. The purpose of the RAP is to obtain a consistent first version of the conceptual schema. Validation, verification and traceability are key issues. Validation, verification and traceability are key issues. The traceability model we use is the structural and cross-reference-based model. The traceability model we use is the structural and cross-reference-based model. The validation consists of reviewing each one of the use cases and its corresponding sequence diagrams with the user to see that they provide the behavior implied in the use case specification. The validation consists of reviewing each one of the use cases and its corresponding sequence diagrams with the user to see that they provide the behavior implied in the use case specification.

19 Validation, Verification and Traceability (cont’d) Object Model Object Model The verification we carry out involves looking at all the identified classes and their services in the sequence diagrams. The verification we carry out involves looking at all the identified classes and their services in the sequence diagrams. To re-examine the use cases and the corresponding sequence diagram to find that missing behavior. To re-examine the use cases and the corresponding sequence diagram to find that missing behavior. For traceability purposes, we can represent the allocation and flowdown of use cases to classes by means of a function decomposition table. For traceability purposes, we can represent the allocation and flowdown of use cases to classes by means of a function decomposition table.

20 Validation, Verification and Traceability (cont’d)

21 Conclusions and Further Work Research in the requirements engineering area should be oriented towards properly embedding requirements engineering into the software production process as a whole. Research in the requirements engineering area should be oriented towards properly embedding requirements engineering into the software production process as a whole. The integration provides The integration provides Start from generally accepted notational standards and techniques to specify user requirements Start from generally accepted notational standards and techniques to specify user requirements Gives methodological guidance to convert these requirements into a precise conceptual schema Gives methodological guidance to convert these requirements into a precise conceptual schema Links this conceptual schema with model-based code generation techniques of the OO-Method Links this conceptual schema with model-based code generation techniques of the OO-Method