Lecture 4/2/16. Learning Objective Establishing requirements Define requirements Requirements discovery vs requirements gathering Classifying Requirements.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Use Case Diagrams Damian Gordon.
Object-Oriented Analysis and Design LECTURE 3: REQUIREMENTS DISCIPLINE.
Karolina Muszyńska Based on:
9/10/2004Use Case Workshop 1 CSC480 Software Engineering Workshop 1 Requirements Modeling.
Alternate Software Development Methodologies
User-Interface Design Process Lecture # 6 1Gabriel Spitz.
Requirements Engineering, Daniela DamianGILD project -- Feb 5, 2003 GILD and requirements management Daniela Damian University of Victoria.
Introduction To System Analysis and Design
Identifying Needs and Establishing Requirements John Thiesfeld Jeff Morton Josh Edwards.
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
Documenting Requirements using Use Case Diagrams
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Object Oriented Analysis Process
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases.
Identifying needs and establishing requirements Chapter 7a.
Requirements (recap)‏
Identifying needs and establishing requirements Chapter 7b.
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Part 2: Requirements Days 7, 9, 11, 13 Chapter 2: How to Gather Requirements: Some Techniques to Use Chapter 3: Finding Out about the Users and the Domain.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Identifying needs and establishing requirements. Overview The importance of requirements Different types of requirements Data gathering Task descriptions:Scenarios.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Requirements Gathering : Determining the scope of the system 1. Elicitiation – fact finding 2. Specification 3. Validation.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Identifying Needs and Establishing Requirements
CS3205: Identifying needs and establishing requirements
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
1www.id-book.com Identifying needs and establishing requirements Chapter 10.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Project Analysis Course ( ) Course Overview Project ideas Presentation.
CS305: Fall 2008 Identifying needs and establishing requirements Readings: 1) Chapter 10 of the ID-Book textbook 2) Chapter 2 from Task-Centered User Interface.
Lecture 7: Requirements Engineering
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Lecture 5: (Ref. Chapter 7) Identifying Needs and Establishing Requirements.
User Interfaces 4 BTECH: IT WIKI PAGE:
Systems Development Life Cycle
Identifying needs and establishing requirements Data gathering for requirements.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Introduction to Rational Unified Process
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Identifying Needs and Establishing Requirements Presenters: Veronica Gasca Jennifer Rhough.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It describes what is a user doing or will.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Requirements in the product life cycle Chapter 7.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
GATHERING DATA Supplementary Note. What are requirements? A requirement is a statement about an intended product that specifies what it should do or how.
UA. Unified Approach ( UA ) It combines best practices, methods process, guidelines & methodology (Rumbaugh, Booch and Jacobson) along with UML notations.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Systems Analysis Lecture 5 Requirements Investigation and Analysis 1 BTEC HNC Systems Support Castle College 2007/8.
Identifying Needs and Establishing Requirements Kelly Kim Haimin Lee.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Week 10: Object Modeling (1)Use Case Model
Presentation transcript:

Lecture 4/2/16

Learning Objective Establishing requirements Define requirements Requirements discovery vs requirements gathering Classifying Requirements Techniques for eliciting requirements Sources of Requirements Managing Requirements

What are requirements? Features of a product or service that enable its users to achieve specific objectives Example: ATM must allow customers to withdraw cash Online registration system must allow the student to register for a course Requirements help us to define objectives and constraints of a system Example : A customer must be allowed to change the pin on his/her ATM card (objective) The password must be between 6 and 15 characters in length (constraint)

Requirements Discovery Phase that takes place at the start if the project Supports the definition of the scope of the systems Aim is to elicit objectives from a broad group of stakeholders Typically more chaotic than requirements gathering (which is an on-going and ordered process as we know what we are searching for)

Classifying Requirements Functional requirements specify the behaviour of the system and the constraints on that behaviour Example Functional Requirements - Deposit a Check using an ATM machine Customer inserts bank card Systems asks for password Customer enters password If password is correct the system displays a menu of options from which a customer can pick one. (If the password is incorrect the system requests the password again) …….

Continued… Non-functional requirements specify non-behavioural properties of the system and the constraints on those properties Usability Reliability Performance Maintainability Security

Data Gathering Techniques Questionnaires: Series of questions designed to elicit specific information from us. The questions may require different kinds of answers: some require a simple Yes/No, others ask us to choose from a set of pre-supplied answers. Interviews: Interviews involve asking someone a set of questions. Often interviews are face-to- face, but they don ’ t have to be (more on next page).

Data Gathering Techniques (continued) Interviews: Forum for talking to people Structured, unstructured or semi-structured Props, e.g. sample scenarios of use, prototypes, can be used in interviews Good for exploring issues But are time consuming and may be infeasible to visit everyone

Data-gathering techniques Focus groups and workshops: Interviews tend to be one on one, and elicit only one person ’ s perspective. It can be very revealing to get a group of stakeholders together to discuss issues and requirements. Naturalistic Observation: It can be very difficult for humans to explain what they do or to even describe accurately how they achieve a task. (more on next page)

Data-gathering Techniques (continued) Naturalistic observation: Spend time with stakeholders in their day-to-day tasks, observing work as it happens Gain insights into stakeholders ’ tasks Good for understanding the nature and context of the tasks But, it requires time and commitment from a member of the design team, and it can result in a huge amount of data Ethnography is one form : entire class devoted to this.

Data-gathering Studying documentation: Procedures and rules are often written down in a manual and these are a good source of data about the steps involved in an activity and any regulations governing a task. Use All of the above In Combination : Constraints of Time and Money

Sources of Authority Sponsors Domain Experts Stakeholders Users

Data Gathering Guidelines Focus on identifying the stakeholders Involve all the stakeholder groups Need more than on person from stakeholder group(s) Use a combination of data gathering techniques For example: use observation to understand the context, interviews to target specific user groups, questionnaires to reach a wider population, and focus groups to build a consensus view

Data Gathering Guidelines Cont. Support the data-gathering sessions with suitable props, such as prototypes if available. Run a pilot session if possible to ensure that your data-gathering session is likely to go as planned In an ideal world, you would understand what you are looking for and what kinds of analysis you want to do, and design the data-capture exercise to collect the data you want. However, data gathering is expensive and often a tightly constrained resource.

Managing Requirements To manage requirements effectively, certain tasks must be performed conscientiously: Document and update requirements Document sources Separate requirements into distinct units Uniquely identify each requirement Verify requirements and document these Prioritise requirements

Data interpretation and analysis What: structure and record description of requirement When: Start soon after data gathering session

Data interpretation and analysis Main Requirement analysis models in object-oriented systems Use cases diagrams: consists of actors and user cases, discussed later Class diagrams More … How to develop those diagrams? UML tools( useful in practice)

Unified Approach The unified approach (UA) is a conceptual model, based on methodologies by Booch, Rumbaugh, and Jacobson Tries to combine best practices, processes, and guidelines along with the Object Management Group’s unified modeling language (UML)

UML UA utilizes the Unified Modeling Language which is a set of notations and conventions used to describe and model an application UML doesn’t specify a methodology or what steps to follow to develop an application, that is the task of UA

Processes of the Unified Approach (UA) Use-case driven development Object-oriented analysis Object-oriented design Incremental development and prototyping Continuous testing

We begin by working with the users to produce a conceptual model Then we expand that into a logical model by adding all the features that were not apparent to the users Finally we make all our design decisions and document them on the physical model Conceptual, Logical & Physical Models

It is essential that you are user-driven in your modeling Use OO techniques to understand their business People skills and listening skills Deliverables: the documents and other products generated at each stage Models as Communication Tools

UML Unified modelling language is a language for specifying, constructing, visualizing and documenting the artefacts of software intensive systems Focus on a standard modelling language not a standard process Promotes a development process that is use-case driven, architecture centric, iterative and incremental

UML UML provides several types of diagrams to represent applications under development. class diagram sequence diagram statechart diagram component diagram deployment diagram. activity diagram

Activity Example – Car Insurance Prospective customers fill out an insurance application, which provides information about the customer and his or her vehicles. This information is sent to an agent, who sends it to various insurance companies to get quotes for insurance. When the responses return, the agent then determines the best policy for the type and level of coverage desired and gives the customer a copy of the insurance policy proposal and quote.

Complete Application Process Application Create Quote Determine Best Policy Generate Policy Proposal and Quote Determine Best Coverage