Kiến trúc máy tính và hợp ngữ - Chapter 3: Software elicitation
Pre-work Planning
Gather information
Clear schedules for the working session
Refine session agenda
Finalize pre-session assignments
Prepare material for session (flip-charts,
presentations, marker.)
33 trang |
Chia sẻ: huyhoang44 | Lượt xem: 926 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính và hợp ngữ - Chapter 3: Software elicitation, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
What is Requirement Elicitation?
Participants in elicitation
Risks of requirements elicitation
Requirements elicitation techniques
The most common causes of poor
quality, cost overruns and late delivery of
software: Incorrect, incomplete, or
misunderstood requirement
Requirements elicitation is “the process
of discovering the requirements for a
system by communicating with
customers, system users and others who
have a stake in the system development”
Gather requirement from various sources:
identify requirement providers: stakeholders
Analyse the gathered information, looking
for implications, inconsistencies or
unresolved issues
Confirm understanding of the requirements
with the users
Synthesize appropriate statements of the
requirements
Requirement elicitation involves many people.
Customer/Client: Person who pays for the software
development. Ultimately, has the final word on what
will be the product
Software engineer: Expert who knows the
technology and process -> produce the requirements
specifications
The potential users: of the current system or future
systems indicate which functions to maintain or
improve
Articulation problems:
The user can’t express their needs
The users may not aware of their needs or not
understand how the technology may be able to
help them
The user may aware of a need but be afraid of
express it.
Users and developers misunderstand concepts or
relationships because they have different meanings
for common terms(ex:implementation)
Communication Barriers:
Users and developers come from different worlds
and have different professional vocabularies
The users have different concerns from those of
developer (high-level attributes vs low-level
technical issues)
Different personality types and different value
systems among people
Knowledge and cognitive limitations
The users and developers don’t have enough
domain or technical knowledge
The users and developers don’t remember exactly
what was said may misinterpret that
information late
Try to simplify the propblem or ignore parts of
problem distort the problem
State the problem in terms of favored solution
Human behavior issues:
Requirement elicitations is a social process
human behavior issues are involved
Conficts and ambiguities in the roles of
stakeholders lead to gap in requirements
Fear the new system will necessitate the changes
in behavior of individuals and group withhold
information
Technical issues
The problems are becoming increasingly complex
Requirements change over time
There are many sources of requirements..
Asking
Observing and inferring
Discussing and formulating
Negotiating
Studying and identifying problems
Discovering through creative process
Interview
Brainstorming
JAD
Prototype
The most commonly used requirements
gathering technique.
Three main objectives:
Record information to be used as input to
requirements analysis and modeling
Discover information from interviewee accurately
and efficiently
Reassure interviewee that his/her understanding
of the topic has been explored, listened to, and
valued
Process consists of three important
steps:
Planning and preparation
Conducting the interview
Postinterview follow-up.
Planning and preparation
Set goals and objectives for the interview
Select interviewees
Create an interview schedule
Designing Interview Questions
Closed-Ended Questions
Opened-Ended Questions
Probing Questions
Conducting the interview
Make the interviewee comfortable and
confident
Be polite and respectful!
Take careful notes
Don’ t afraid to ask
Postinterview follow-up
Prepare an interview report that
describes the information from the
interview.
Send the interview report to the
interviewee with a request to read it
and inform the analyst of clarifications
or updates.
Problem solving stages includes:
Problem Identification
Idea Generation
Idea Selection (decision making)
Implementation
Brainstorming requires multiple people,
the Project Manager functions as a
facilitator of the session
Two main activities:
The Storm: Generating as many ideas as
possible (quantity, not quality) – wild is
good!
Idea Selection : Filtering out of ideas
(combine, clarify, prioritize, improve) to
keep the best one(s) – may require some
voting strategy
Planning the Session
Define the problem
Identify participants
Create groups out of the participants (just 3-4
members/group). Each group should consist of
people from diverse and relevant backgrounds
Conducting the Session
After the Brainstorming Session
Give a reward or recognize the participant
follow-up and monitor the solution to closure.
An information gathering technique that
allows the project team, users, and
management to work together to
identify requirements for the system
JAD is a structured process
10 to 20 users meet together under the
direction of facilitator skilled in JAD
techniques.
Preparation
Pre-session Planning
Pre-work
Conduction the JAD session
Summary
Pre-session Planning
Evaluate project
Identify contentious issues and scope of JAD
session
Select JAD participants
Create preliminary agenda
Determine deliverables for the working
session
Enable participants to prepare for the session
Pre-work Planning
Gather information
Clear schedules for the working session
Refine session agenda
Finalize pre-session assignments
Prepare material for session (flip-charts,
presentations, marker...)
Set-up stage
Session leader welcomes participants,
presents task to be discussed, establishes
rules and what is on/off topic
Generate common understanding
Achieve agreement on decisions
Create the deliverables
Identify open issues and questions
Follow-up
Resolve open issues and questions
Evaluate the JAD process
Follow-up on action items
Re-evaluate project
Discuss "lessons learned"
Finalize deliverables
Facilitator - JAD expert
Good with people skills, enthusiastic, sets tone of
meeting
Set the meeting agenda and guide the discussion
Do not join in the discussion as a participant - do
not provide ideas or opinions on the topics under
discussion to remain neutral during the session.
Must be an expert in both group process
techniques and systems analysis and design
techniques.
Others:
Executive sponsor
User representatives
Information system representatives
Specialists
A new form of JAD called electronic JAD
or e-JAD
Each participant uses special software on
a networked computer to send
anonymous ideas and opinions to
everyone else.
All participants can contribute at the
same time, without fear of reprisal from
people with differing opinions.
A software requirements prototype is a
model or partial implementation of a
software system.
Helps developers, users, and customers
better understand system requirements
Helps clarify and complete requirements
Helps find new functionalities, discuss
usability, and establish priorities
Prototyping is effective in resolving
uncertainties early in the development
process
Focus prototype development on these
uncertain parts
Encourages user participation and mutual
understanding
Prototypes that focus on user-interface tends
to lose the focus of demonstrating/exploring
functionality
Prototypes can bring customers’ expectations
about the degree of completion unrealistically
up
Do not end-up considering a throwaway
prototype as part of the production system
Always clearly state the purpose of each prototype
before building it
Các file đính kèm theo tài liệu này:
- chapter_3_elicitation_2227.pdf