0% found this document useful (0 votes)
259 views46 pages

Determining System Requirements

This document discusses various approaches and methods for determining system requirements. It begins by introducing the systems development life cycle (SDLC) and its traditional phases. It then discusses both traditional and adaptive SDLC approaches. The main focus is on requirements determination, including traditional methods like interviewing and observing users. Key aspects of requirements covered include business requirements, user requirements, functional requirements, non-functional requirements, and external interfaces. Guidelines are provided for effective interviewing during the requirements determination process.

Uploaded by

rajesh shekar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
259 views46 pages

Determining System Requirements

This document discusses various approaches and methods for determining system requirements. It begins by introducing the systems development life cycle (SDLC) and its traditional phases. It then discusses both traditional and adaptive SDLC approaches. The main focus is on requirements determination, including traditional methods like interviewing and observing users. Key aspects of requirements covered include business requirements, user requirements, functional requirements, non-functional requirements, and external interfaces. Guidelines are provided for effective interviewing during the requirements determination process.

Uploaded by

rajesh shekar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46

Determining System

Requirements
Introduction

An organizational approach to systems analysis

2
Systems Development Life Cycle (SDLC)
• Traditional methodology used to plan, analyze, develop,
maintain, and replace information systems.
• Phases in SDLC:
• Planning
• Analysis
• Design
• Implementation
• Maintenance

3
Traditional Waterfall SDLC

One phase begins


when another
completes, with
little backtracking
and looping.

A traditional waterfall SDLC: rarely used

4
The Heart of the Systems Development Process
The analysis–design–code–test loop The heart of systems development

Current practice combines analysis, design, and implementation


into a single iterative and parallel process of activities.
Predictive Approaches

• Joint Application Development (JAD)


• Rapid Application Development (RAD): incremental
• Object Oriented Approach

6
Adaptive Approaches: Agile
• Motivated by recognition of software development as fluid,
unpredictable, and dynamic
• Three key principles
• Adaptive rather than predictive
• Emphasize people rather than roles
• Self-adaptive processes

7
Agile Methodology
Agile Framework
Agile framework: SCRUM
Object-Oriented Analysis and Design (OOAD)

• Based on objects rather than data or processes


• Object: a structure encapsulating attributes and
behaviors of a real-world entity
• Object class: a logical grouping of objects sharing the
same attributes and behaviors
• Inheritance: hierarchical arrangement of classes
enable subclasses to inherit properties of superclasses

11
Rational Unified Process (RUP)
• An object-oriented systems development methodology
• RUP establishes four phase of development: inception, elaboration,
construction, and transition.
• Each phase is organized into a number of separate iterations.

12
Requirements
• Eliciting Requirements
• Expressing Requirements
• Prioritizing Requirements
• Analyzing Requirements
• Managing Requirements

• Eliciting vs Gathering
• Right product and product done right
Requirements
•  Requirements are specific descriptions of your client's
needs

• Of the following, which would you consider software


requirements?
A. As a hotel manager, I want to be able to check guests in.
B. I'm required to make you sign a contract.
C. Account holders will enter their banking pin into a numeric
keypad
D. Users are male?
Requirements
• You have a big list of requirements for your client needs.
What's next?
•  In Scrum, what is the step which happens after
requirements have been elicited and expressed from the
client and placed in a large list, also known as a product
backlog?
A. Development,
B. Requirements prioritization,
C. Product architecture design,
D. Further requirements elicitation.
Requirements
Requirements
• Business Requirements
Business requirements outline the purpose of a software
project. They give the product owners a reason to pursue the
project in the first place. ”Why” product is needed?
A business requirement must define product needs that
provide tangible and quantifiable business value. An example
of a business requirement is, I need this product to appeal to
clothing designers in India to raise our revenue by $50,000 per
year.
Requirements
• Business Rule
Business rules constrain how the product functions. They also specify
rules that need to be followed in order for the project to be considered
successful, or even appropriate.
• A privacy policy where the business requires data be stored securely
and not shared with non essential personnel.
• A brand uniformity requirement where the products to be developed
must be visually consistent with other products owned by the client.
• A government regulation such as a requirement to maintain user
data, and any information regarding its manipulation for a specific
period of time according to local or international laws.
User Requirements
• User requirements outline exactly what tasks the users can do with the
product. Users are those individuals who will end up using your
software. Since end users are so critical to a product's success, a great
deal of time is usually spent developing these requirements. These can
be thought of as the core functionality of the product being developed. 
• Use Cases are a good way to show the relationship between the system
and the user.  We're specifically showing the different user stories and
the ways in which they can interact with the system
• User Stories should be created so that one can better express client's
requirements
As a _____ I want to ______ so that _______. They follow this form so that
we can make sure we capture the who, what, and why of the requirement.
User Requirement
• After 3 unsuccessful login attempts by user, user should be locked out
• User interface should be menu driven providing dialog boxes, radio
buttons, help screens, dropdown list boxes for user inputs
Functional Requirement
• A functional requirement is a behavior that the product should do or support. They
can be expressed with inputs and outputs and a description of the behavior itself.
• Imagine a client wants a mobile point of sale product, which takes credit card
payments through the client's proprietary credit card reader. It then sends a
receipt back to the user with the transaction details.
• We have one input, the data from the credit card reader, and one output, the
receipt from the transaction. So you could say the system must read data from the
credit card reader and the system must also send a transaction receipt to the end
user.
• A functional requirement, which states that a user should be able to pay using a
PIN pad, is not specific. This could be broken into a few deeper, more specific
requirements, like a user should be able to swipe a debit or credit card. A user will
be able to insert a credit card or debit card into a chip reader. And a user will be
able to enter their PIN when their card has been swiped or inserted.
Functional Requirement
1.The system shall allow employees to view the owner of any product.
An employee should be able to contact the correct owner in one phone
call x% of the time.
2.The system shall send a verification mail to a user registering for the
first time to the shopping site
3.The system should be integrated with Banking API
Non-Functional Requirement
• The client also mentions that this product should meet the highest standards
of security as well as visual design. That last part about the product meeting
the highest standards of security, as well as visual design, are what we call
Non-Functional Requirements
• Non-Functional Requirements serve as a description of how well a product
must perform. Non-Functional Requirements really address the quality factor
of the product.
• Security requirements
• Error prevention or Reliability
• Ease of use or navigation
• Performance requirement like response time
• Maintainability
External Interfaces
• Connect with other components of the system
• External interfaces, physical product setting, and
development constraints.
• Which devices or platforms the development team will
support, or how much memory, bandwidth, or processing
power they're limited to using

* Acknowledgement: Coursera Software Product Management


Performing Requirements Determination

25
The Process of Determining Requirements
• Good Systems Analyst Characteristics:
• Impertinence—question everything
• Impartiality—consider all issues to find the best
organizational solution
• Relaxing constraints—assume anything is possible
• Attention to details—every fact must fit
• Reframing—challenge yourself to new ways

26
Deliverables and Outcomes
• Deliverables for Requirements Determination:
• From interviews and observations —interview transcripts,
observation notes, meeting minutes
• From existing written documents — mission and strategy
statements, business forms, procedure manuals, job descriptions,
training manuals, system documentation, flowcharts
• From computerized sources — Joint Application Design session
results, CASE repositories, reports from existing systems, displays
and reports from system prototype

27
Traditional Methods for Determining Requirements
• Interviewing individuals
• Interviewing groups
• Observing workers
• Studying business documents
• Group Techniques
• NGT
• Brainstorming
• Focus Groups
28
Guidelines for Effective Interviewing
• Interview Guide is a document for developing, planning and
conducting an interview.
• Plan the interview.
• Prepare interviewee: appointment, priming questions.
• Prepare agenda, checklist, questions.
• Listen carefully and take notes (record if permitted).
• Review notes within 48 hours.
• Be neutral.
• Seek diverse views.
29
Interviewing and Listening (Cont.)

Typical interview guide

30
Choosing Interview Questions
• Each question in an interview guide can include both verbal and non-
verbal information.
• Open-ended questions: questions that have no prespecified answers
• Closed-ended questions: questions that ask those responding to choose from
among a set of specified responses

31
Interviewing Groups
• Drawbacks to individual interviews:
• Contradictions and inconsistencies between interviewees
• Follow-up discussions are time consuming
• New interviews may reveal new questions that require additional interviews with
those interviewed earlier
• Interviewing several key people together
• Advantages
• More effective use of time
• Can hear agreements and disagreements at once
• Opportunity for synergies
• Disadvantages
• More difficult to schedule than individual interviews

32
Nominal Group Technique (NGT)
• A facilitated process that supports idea generation by groups
• Process
• Members come together as a group, but initially work separately.
• Each person writes ideas.
• Facilitator reads ideas out loud, and they are written on a blackboard or
flipchart.
• Group openly discusses the ideas for clarification.
• Ideas are prioritized, combined, selected, reduced.
• NGT exercise used to complement group meetings or as part of JAD
effort.
33
Directly Observing Users
• Direct Observation
• Watching users do their jobs
• Obtaining more firsthand and objective measures of employee interaction
with information systems
• Can cause people to change their normal operating behavior
• Time-consuming and limited time to observe

34
Analyzing Procedures and Other Documents
• Document Analysis
• Review of existing business documents
• Can give a historical and “formal” view of system requirements

• Useful document: Written work procedure


• For an individual or work group
• Describes how a particular job or task is performed
• Includes data and information used and created in the process

35
Analyzing Procedures and Other Documents
• Types of information to be discovered:
• Problems with existing system
• Opportunity to meet new need
• Organizational direction
• Names of key individuals
• Values of organization
• Special information processing circumstances
• Reasons for current system design
• Rules for processing data

36
Contemporary Methods for Determining System
Requirements
• Joint Application Design (JAD)
• Group Support
Brainstorming
Focus Group
• CASE tools
• Used to analyze existing systems
• Help discover requirements to meet changing business conditions
• System prototypes (RAD)
• Iterative development process
• Rudimentary working version of system is built
• Refine understanding of system requirements in concrete terms

37
Joint Application Design (JAD)
• Intensive group-oriented requirements determination technique
• Team members meet in isolation for an extended period of time
• Highly focused
• Resource intensive
• Upper CASE Tools used for documentation

38
JAD (Cont.)

Illustration of the typical room layout for a JAD


Source: Based on Wood and Silver, 1995
39
JAD (Cont.)
• JAD Participants:
• Session Leader: facilitates group process
• Users: active, speaking participants
• Managers: active, speaking participants
• Sponsor: high-level champion, limited participation
• Systems Analysts: should mostly listen
• Scribe: record session activities
• IS Staff: should mostly listen
• End Result
• Documentation detailing existing system
• Features of proposed system
40
Prototyping During Requirements
Determination
• Rapid Application Development: Quickly converts
requirements to working version of system
• Once the user sees requirements converted to system, will
ask for modifications or will generate additional requests
• Most useful when:
• User requests are not clear.
• Few users are involved in the system.
• Designs are complex and require concrete form.
• There is a history of communication problems between analysts and users.
• Tools are readily available to build prototype

41
Prototyping During Requirements Determination
• Drawbacks
• Tendency to avoid formal documentation
• Difficult to adapt to more general user audience
• Sharing data with other systems is often not considered
• Systems Development Life Cycle (SDLC) checks are often bypassed
• Prototype may be discarded

42
Radical Methods for Determining System
Requirements
• Business Process Reengineering (BPR): search for and implementation of radical
change in business processes to achieve breakthrough improvements in products
and services
• Goals
• Reorganize complete flow of data in major sections of an organization.
• Eliminate unnecessary steps.
• Combine steps.
• Become more responsive to future change.
• Identification of processes to reengineer
• Key business processes
• Structured, measured set of activities designed to produce specific output for a particular customer or market
• Focused on customers and outcome

43
Requirements Determination using Agile
Methodologies
• Continual user involvement
• Replace traditional SDLC waterfall with iterative analyze – design – code – test
cycle
• Agile usage-centered design
• Focuses on user goals, roles, and tasks
• The Planning Game
• Based on eXtreme programming
• Exploration, steering, commitment

44
Agile Usage-Centered Design Steps
• Gather group of programmers, analysts, users, testers, facilitator.
• Document complaints of current system.
• Determine important user roles.
• Determine, prioritize, and describe tasks for each user role.
• Group similar tasks into interaction contexts.
• Associate each interaction context with a user interface for the system and
prototype the interaction context.
• Step through and modify the prototype.

45
The Planning Game from eXtreme
Programming

eXtreme Programming’s Planning Game

46

You might also like