Requirements Engineering Requirements Elicitation Process Lecture-8.

Slides:



Advertisements
Similar presentations
Requirements Engineering Process
Advertisements

SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 2 – Software Processes
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
Alternate Software Development Methodologies
©G. Kotonya and I. Sommerville 1998 Slide 1 Requirements Elicitation and Analysis Chapter 3.
Software Engineering 6/e, Chapter 8
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 SWE Introduction to Software Engineering Lecture 27 – User Interface Design (Chapter 16)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
Requirements Engineering Processes
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 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
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 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
 To describe the principal requirements engineering activities and their relationships  To introduce techniques for requirements elicitation and analysis.
Software Requirements Engineering CSE 305 Lecture-2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Chapter 4 Requirements Engineering Processes Objectives l To describe the principal requirements engineering activities and their relationships l To.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing Requirements.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Slide 1 Requirements Elicitation and Analysis. Slide 2 Objectives u To describe the processes of requirements elicitation and analysis. u To introduce.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Lecture 2 Developing Requirements
Software Engineering, 8th edition. Chapter 7 1 Courtesy: ©Ian Sommerville 2006 March 20 th, 2008 Lecture # 12 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Chapter 4 Requirements Engineering (3/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Prototyping Rapid software development to validate requirements.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Requirements Validation
Requirements Elicitation and Analysis Lecture 3. L EARNING OUTCOMES To describe the processes of requirements elicitation and analysis. To distinguish.
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CS223: Software Engineering Lecture 8: Requirement Engineering.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 Requirements Elicitation – 3 Lecture # Specific Elicitation Techniques Interviews Scenarios Observations and social analysis Requirements reuse.
A focus group is actually gathering of people who are customers or users representatives for a product to gain its feedback. The feedback can be collected.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Requirements Engineering Processes
Software Prototyping.
Prototyping Lecture # 08.
EKT 421 SOFTWARE ENGINEERING
SE-565 Software System Requirements III. Requirements Elicitation
Requirements Engineering Processes
Presentation transcript:

Requirements Engineering Requirements Elicitation Process Lecture-8

Recap 2  Elicitation process  Stakeholder analysis  Elicitation techniques  Interviews  How to create effective questionnaire?  Interview template

Today’s lecture 3  Elicitation process  Elicitation techniques  Scenarios  Observation and social analysis  Prototyping

Scenarios  Scenarios are stories which explain how a system might  be used. They should include  A description of the system state before entering the scenario  The normal flow of events in the scenario  Exceptions to the normal flow of events  Information about concurrent activities  A description of the system state at the end of the scenario  Scenarios are examples of interaction sessions which describe how a user interacts with a system  Discovering scenarios exposes possible system interactions and reveals system facilities which may be required 4Software Requirements Engineering

Library scenario - document ordering  Log on to EDDIS system  Issue order document command  Enter reference number of the required document  Select a delivery option  Log out from EDDIS  This sequence of events can be illustrated in a diagram 5Software Requirements Engineering

Library Scenario 6Software Requirements Engineering

Scenarios and OOD  Scenarios are an inherent part of some object-oriented development methods  The term use-case (i.e. a specific case of system usage) is sometimes used to refer to a scenario  There are different views on the relationship between use cases and scenarios:  A use-case is a scenario  A scenario is a collection of use-cases. Therefore, each exceptional interaction is represented as a separate use-case 7Software Requirements Engineering

Observation and social analysis  People often find it hard to describe what they do because it is so natural to them. Sometimes, the best way to understand it is to observe them at work  Ethnography is a technique from the social sciences which has proved to be valuable in understanding actual work processes  Actual work processes often differ from formal, prescribed processes  An ethnographer spends some time observing people at work and building up a picture of how work is done 8Software Requirements Engineering

Ethnography guidelines  Assume that people are good at doing their job and look for non-standard ways of working  Spend time getting to know the people and establish a trust relationship  Keep detailed notes of all work practices. Analyze them and draw conclusions from them  Combine observation with open-ended interviewing  Organize regular de-briefing session where the ethnographer talks with people outside the process  Combine ethnography with other elicitation techniques 9Software Requirements Engineering

Ethnography in elicitation 10Software Requirements Engineering

Ethnographic perspectives  The work setting viewpoint  This describes the context and the physical location of the work and how people use objects to carry out tasks. Therefore, in a study of a help desk (say), this would describe the objects which the helper had to hand and how these were organized.  Social and organizational perspectives  This tries to bring out the day -to-day experience of work as seen by different people who are involved. Each individual typically sees the work in a different ways and this viewpoint tries to organize and integrate all of these perceptions.  The workflow viewpoint  This viewpoint presents the work from a series of work activities with information flowing from one activity to another. 11Software Requirements Engineering

Requirements reuse  Reuse involves taking the requirements which have been developed for one system and using them in a different system  Requirements reuse saves time and effort as reused requirements have already been analyzed and validated in other systems  Currently, requirements reuse is an informal process but more systematic reuse could lead to larger cost savings 12Software Requirements Engineering

Reuse possibilities  Where the requirement is concerned with providing application domain information.  Where the requirement is concerned with the style of information presentation. Reuse leads to a consistency of style across applications.  Where the requirement reflects company policies such as security policies. 13Software Requirements Engineering

Prototyping  A prototype is an initial version of a system which may be used for experimentation  Prototypes are valuable for requirements elicitation because users can experiment with the system and point out its strengths and weaknesses. They have something concrete to criticize  Rapid development of prototypes is essential so that they are available early in the elicitation process 14Software Requirements Engineering

Prototyping benefits  The prototype allows users to experiment and discover what they really need to support their work  Establishes feasibility and usefulness before high development costs are incurred  Essential for developing the ‘look and feel’ of a user interface  Can be used for system testing and the development of documentation  Forces a detailed study of the requirements which reveals inconsistencies and omissions 15Software Requirements Engineering

Types of prototyping  Throw-away prototyping  Intended to help elicit and develop the system requirements.  The requirements which should be prototyped are those which cause most difficulties to customers and which are the hardest to understand. Requirements which are well-understood need not be implemented by the prototype.  Evolutionary prototyping  Intended to deliver a workable system quickly to the customer.  Therefore, the requirements which should be supported by the initial versions of this prototype are those which are well-understood and which can deliver useful end -user functionality. It is only after extensive use that poorly understood requirements should be implemented. 16Software Requirements Engineering

Prototyping costs and problems  Training costs - prototype development may require the use of special purpose tools  Development costs - depend on the type of prototype being developed  Extended development schedules - developing a prototype may extend the schedule although the prototyping time may be recovered because rework is avoided  Incompleteness - it may not be possible to prototype critical system requirements 17Software Requirements Engineering

Approaches to prototyping  Paper prototyping  A paper mock -up of the system is developed and used for system experiments  ‘Wizard of Oz’ prototyping  A person simulates the responses of the system in response to some user inputs  Executable prototyping  A fourth generation language or other rapid development environment is used to develop an executable prototype 18Software Requirements Engineering

Executable prototype development  Fourth generation languages based around database systems  Visual programming languages such as Visual Basic or Object Works  Internet-based prototyping solutions based on World Wide Web browsers and languages such as Java 19Software Requirements Engineering

Summary Software Requirements Engineering20  Scenarios  Requirements reuse  Observation and social analysis  Prototyping