VOSE / VORD Lecture 08.

Slides:



Advertisements
Similar presentations
Requirements Engineering Process
Advertisements

© Gerald Kotonya and Ian Sommerville Viewpoint-Oriented Requirements Methods.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Object-Oriented Analysis and Design
System Modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Different.
Ch 12: Object-Oriented Analysis
SWE Introduction to Software Engineering
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lecture 4 Class Responsibility Collaboration Cards
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 61 Requirements Engineering Processes l Processes used to discover, analyse and validate system.
Viewpoint-oriented requirements methods. Objectives To explain the notion of viewpoints in RE To explain the notion of viewpoints in structured analysis.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyze and.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
 To describe the principal requirements engineering activities and their relationships  To introduce techniques for requirements elicitation and analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Chapter 4 Requirements Engineering Processes Objectives l To describe the principal requirements engineering activities and their relationships l To.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
Faculty of Computer & Information Software Engineering Third year
Collecting Project Problem Requirements The ATCS Modeling Project: Informal Picture Follows.
Slide 1 System models. Slide 2 Objectives l To explain why the context of a system should be modelled as part of the RE process l To describe behavioural.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Week 3: Requirement Analysis & specification
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
UML (Unified Modeling Language)
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Viewpoint Oriented Requirement Definition (VORD) Amna Shifia Nisafani Department of Information Systems Subject : Requirement Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements Analysis Requirements Engineering (CI 2323) Daniel Siahaan.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 5 – System Modeling
CompSci 280 S Introduction to Software Development
Design Review.
Requirements Engineering Processes
Analysis Classes Unit 5.
Chapter 5 System modeling
Requirements Engineering Process
Chapter 5 – System Modeling
Use Case Model.
Requirement Management
SNS College of Engineering Coimbatore
System Modeling Chapter 4
Abstract descriptions of systems whose requirements are being analysed
Chapter 4 Entity Relationship (ER) Modeling
Requirements Engineering Processes
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Chapter 5 Architectural Design.
Chapter 4 System Modeling.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
UML Design for an Automated Registration System
Presentation transcript:

VOSE / VORD Lecture 08

Viewpoint-Oriented System Engineering (VOSE) VOSE was originally proposed as a framework for integrating development methods utilized in development of large, complex systems; it addresses the entire system development with a variety of participants (each with different views) Each participant’s role in development process and his/her specific view of the problem domain is captured Each viewpoint is associated with a particular developer --- a viewpoint owner. VOSE viewpoints (completed templates) are then grouped and analyzed for conflicts and resolved Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Viewpoint-Oriented System Engineering (VOSE) The VOSE viewpoint is a template which includes: A Style or a scheme of representing the view (e.g. designer and req. analyst may use different notational diagrams) Work-plan that describes the development strategy that uses the style to produce the specification The problem domain ( the particular perspective) described with the style Specification of the problem produced according to the Work-Plan Work history and the current development state Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Standard viewpoint template slots Style and Work-plan template Standard viewpoint template slots STYLE: Use Case Diagram to show actors and system’s functional interaction Work-plan: Use scenarios to show high level requirements Identify actors identify the processing function associated with each actor Link the actors to the functions Draw the system boundary Problem Domain Description 1 (actor 1 perspective) Actual Specification in Use Case diagram Work record Problem Domain Description 2 (actor 2 perspective) Problem Domain Description 3 (actor 3 perspective) View 1 View 2 View 3 Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Library example Consider a library item presented by the user at the issue desk for borrowing, returning or reserving ‘Library world’ can be partitioned into the domains of the issue desk and the library user Data-flow and state transition schemes are used to model the library item from point of view each domain Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Data-flow model -Issue desk domain Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

State transition model -Issue Desk Domain State transition - Library user domain Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Conflict resolution Important to ensure that consistency between different representations of the domains For similar styles conflicts are resolved by checking for the loss of continuity between the models For different styles the correspondences between representation schemes need to be identified to facilitate consistency checking Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Consistency checking Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Correspondence between transition and function Correspondence between state and data Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Mapping on different styles same domain Mapping on different domains same style Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Viewpoint-Oriented Requirements Definition (VORD) VORD is another variation on handling requirements with viewpoints It handle mostly interactive systems VORD defines two fundamental classes of viewpoints: Direct Viewpoints: These correspond directly to the clients of the system who receive services from the system and interacts with the system (through entering data and control information). Indirect viewpoints: These correspond to those who have interests (via putting constraints or expectations) in the services of the system but do not interact directly with the system themselves Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Examples of direct and indirect viewpoints A systems planning viewpoint which is concerned with future delivery of library services (indirect) A library user viewpoint which is concerned with accessing the system services through the internet (direct) A trade-union viewpoint which is concerned with the effects of system introduction on staffing levels and library staff duties Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Issues to be taken into account for interactive systems User interface. The ability to model and represent user interface requirements To address key role of end user interaction User classes. Interactive systems often have varied classes of users with varying y conflicting/requirements and expectations To enable system to expose potential conflicts Other systems. Interactive systems may interface with other systems in their environment Existing system may generate conflicting requirement for the intended system Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Requirement issues for interactive systems Indirect system concerns. The issues related to system design and implementation, The influence of the system on the organisation and the system’s influence on the environment. Quality of service. The closeness of the system to the end-user lends special significance to quality of the service delivered. Quality concerns include: Availability Performance Usability Form of delivery Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

VORD The VORD method is based on three main iterative steps, namely: 1. Viewpoint identification and structuring 2. Viewpoint documentation 3. Viewpoint requirements analysis, specification and validation Round edged boxes – processes Square boxes – products Each product can be viewed as check point for a review process Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Iterative VORD process model First step in VORD To identify and structure the relevant VPs in the problem domain Start point for VP identification is to abstract statements organizational needs etc Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Iterative VORD process model Second step in VORD To document identified VPs by documenting Viewpoint, identifier, label and description VP Type – direct or indirect VP Attributes – identify the application domain VP requirements – a set of required services, control requirement Event scenario for the description of VPs Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Iterative VORD process model Third step in VORD To identify and resolve errors and conflicts End result is ‘ Requirement Specification Document’ Viewpoint specializations or subclasses. Viewpoint history that describes the evolution of viewpoint requirements Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Interactive system definition Interactive systems can be defined as: The class of systems whose operations involve a significant degree of user interaction. Common media for interaction include the keyboard, voice recognition, video, touch screen, mouse etc. The process of formulating the software requirements for such systems must take into account the important issues associated with such systems. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Using VORD to specify an interactive system The ATM is a good example of an interactive system it embodies all the attributes discussed earlier. VORD method can be used to formulate the requirements of the ATM. VORD has been primarily developed to support the specification of interactive systems and focuses on the external entities that interact with the system or affect its development. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

ATM requirements A simplified ATM contains an embedded software system to drive the machine hardware and to communicate with the bank’s customer database. 1. The system accepts customer requests and produces cash and account information, and provides for limited message passing and funds transfer. 2. The ATM is also required to make provisions for major classes of customers, namely customers whose account is with the bank which owns the ATM (home customers) and customers from other banks who have ATM access (foreign customers). 3. ATM users are issued with a cash-card and a personal identification number (PIN) that they must use to access the ATM services. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

ATM requirements (contd..) 4. Home customers receive all the services provided by the ATM. Foreign customers can only receive a subset of ATM services (i.e. they can only access the ATM to withdraw cash). 5. The ATM is also required to update the customer account database each time there is a cash withdrawal or funds transfer. 6. All the services provided by the ATM are subject to certain conditions, which can be considered at different levels. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

ATM requirements (contd.) 6.1 The top level sets out conditions necessary for accessing the services. These include a valid ATM cash-card and correct personal identification number (PIN). 6.2 The next level is concerned with service requests and is subject to the availability of particular services. 6.3 At lowest level, all services provided by the ATM are subject to specific conditions set out for their provision. For example, customers can only withdraw cash to a maximum of their balance. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Viewpoint notation VORD uses a simple graphical notation to represent a viewpoint: A rectangular box represents the viewpoint. The viewpoint identifier is shown on the top left-hand corner of the box and the viewpoint label in the lower half of the box. The viewpoint type is shown on the top right half of the box. A viewpoint attribute is indicated by a vertical line dropping from the left side of the box. Viewpoint specializations or sub-classes are shown from left to right. The notation is augmented with viewpoint information templates Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Identifying ATM Viewpoints The process of understanding the system under analysis, places a lot of reliance on the ‘system authorities’ These are people or documents with an interest or specialist knowledge of the application domain. They include system end-users, system procurers, system engineers and documentation of existing system(s). VORD has generalised these ‘system authorities’ into a set of abstract viewpoint classes, which can be used as a starting point for finding viewpoints specific to the problem domain. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Abstract viewpoint classes Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Using abstract viewpoints to identify application specific viewpoints Eliminate viewpoint classes which are not relevant for the specific system being specified. In the ATM example, let us assume that there is no external certification authority and no environmental effects. We therefore do not need to look for viewpoints under these headings. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Using abstract viewpoints to identify application specific viewpoints Consider the system stakeholders i.e. those people who will be affected by the introduction of the system. If these stakeholders fall into classes which are not part the organisational class hierarchy, add these classes to it. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Using abstract viewpoints to identify application specific viewpoints Using a model of the system architecture, identify system viewpoints, i.e. viewpoints representing other systems. In the example of the ATM we can identify two main sub- system, the customer database and card database. We note that architectural models of systems almost always exist because new systems must be integrated with existing organisational systems. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Using abstract viewpoints to identify application specific viewpoints Identify system operators who use the system on a regular basis, who use the system on an occasional basis and who request others to use the system for them. All of these are potential viewpoints. We can identify four instances of direct viewpoint in this example namely the bank customer (regular), ATM operator (occasional), the bank manager (occasional). Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Using abstract viewpoints to identify application specific viewpoints For each indirect viewpoint class which has been identified, consider the roles of the principal individual who might be associated with that class. For example, under the viewpoint class ‘customer’, we might be interested in the roles of ‘regulations officer’, ‘maintenance manager’, ‘operations manager’ etc. There are often viewpoints associated with these roles. In the ATM example, there are many possible indirect viewpoints but we will confine our analysis to a security officer and a organisational policy, represented by the bank viewpoint. Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

ATM viewpoints Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Bank staff viewpoint documentation Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Bank customer viewpoint documentation Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Documenting other viewpoints Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST

Documenting viewpoint attributes Software Requirement Engineering, by Asst Prof Athar Mohsin-MCS-NUST