paper

profilesand
Chapter04.pptx

Chapter 4

Requirements Engineering

1

Learning Objectives (1 of 3)

After this chapter, you will be able to:

Explain system requirements and the challenges associated with the requirements engineering process

Compare and contrast functional and non-functional requirements

Apply team-based requirements engineering techniques, including joint application development (JAD), rapid application development (RAD), and agile methods

Develop a fact-finding plan for gathering requirements

Conduct an interview to gather system requirements

IST 603 - Chapter 4

2

2

Learning Objectives (2 of 3)

Use other requirements gathering techniques, including document review, observation, questionnaires and surveys, brainstorming, sampling, and research

Explain how requirements are gathered in agile projects

Utilize different requirements representation techniques, including natural language, diagrams, and models

Explain how to validate and verify requirements

Explain how tools can help with requirements engineering activities

IST 603 - Chapter 4

3

3

System Requirements

Requirement is simply what the system must do or what characteristics it must have

During Analysis

Written from the business perspective (or WHAT) – Business Requirements

Benchmarks to measure overall acceptability

During Design – business requirements evolve to more technical (or HOW) – System Requirements

Requirements engineering activities

Gathering requirements: understanding the problem

Representing requirements: describing the problem

Validating and verifying requirements:

IST 603 - Chapter 4

4

System Requirements

Types of requirements

Classified according to characteristics

Functional – process the system has to perform

System shall produce pay stubs for all employees

Employees shall be able to get on line access to their vacation hours

Non-functional or quality attributes – more behaviorial

System must support 50 simultaneous users

Website response time must not exceed 4 seconds

System should work on multiple platforms such as windows, Mac, and Unix

IST 603 - Chapter 4

5

System Requirements Example: Functional Requirements of a Word Processing Program

Printing

Users can select which pages to print

Users can preview pages before printing

Users can change the margins, paper size, and orientation of the page

Spell Checking

Users can check for spelling mistakes

Users can add words to the dictionary

Users can mark words as not misspelled

IST 603 - Chapter 4

6

System Requirements Example: Nonfunctional Requirements of a Word Processing Program

Operational Requirements

The system can operate in Windows and Mac environment

The system can read and write word documents, RTF, and HTML

The system will be able to import Gif, Jpeg, and BMP graphics file

Performance Requirements

Response time must be less than 7 seconds

Security Requirements

No special security requirements are anticipated

Cultural and Political Requirements

No special cultural or political requirements are anticipated

IST 603 - Chapter 4

7

System Requirements

Requirements challenges

Imprecision

My ‘English’ may not mean same as I intended

Can use abstract ‘precise’ language or other techniques to reduce ambiguity

Agreement

Specification needs to mean same to both analysts and users

Specifications need to be consistent

Creep

Feature creep can occur easily

Example: start with an object to paint a wall in a room, end with painting all walls, floor, changing doors and windows

IST 603 - Chapter 4

8

System Requirements

Additional considerations

Scalability: ability to handle increased business volume and transactions

Website designed to handle 25 simultaneous access. Business grows. Can it be scaled to handle 100 simultaneous access?

Security: make systems harder to infiltrate – dose not need emphasis in todays world, or does it?

Total cost of ownership: direct and indirect costs

Direct cost: software development, hardware purchase (lease), installation, networking, etc.

Can you think of a few indirect costs?

IST 603 - Chapter 4

9

System Development -Team-Based Techniques - JAD

Many development techniques emphasize user participation

End product is a requirement model

Joint application development (JAD)

Team oriented

Task force of users, managers, IT professionals participate in the JAD team

Can be used for

New systems

Enhancements to existing systems

System conversions

Purchase of a system

IST 603 - Chapter 4

10

10

Team-Based Techniques – JAD Roles

JAD PARTICIPANTS ROLE
Project leader Develops an agenda, facilitates meetings, lead JAD sessions
Top Managers Enterprise level authorization and support for project
Managers Department-level support, understanding of how the project must support business functions and requirements
Users Operational-level input, desired changes, input and output requirements, user interface issues, explanation regarding support of day to day tasks
System Analysts and other IT staff Technical assistance, issues such as security, backup, hardware, software, network capabilities
Recorder Documents JAD sessions, Works with Analysts in building system models

IST 603 - Chapter 4

11

11

Team-Based Techniques – Typical JAD Session Agenda (partial)

JAD PARTICIPANTS Activity
Project leader Introduce team members Discuss ground rules, goals and objectives of the session Explain methods of documentation
Project owner Explain the reason for the project. Express top management support and authorization
JAD Team members Discuss and document all system requirements Develop models and prototypes
Open discussion session moderated by the project leader Review the main business processes, tasks, user roles, input and output Identify specific areas of agreement and disagreement Review reports from breakout sessions

IST 603 - Chapter 4

12

12

Team-Based Techniques -JAD

JAD advantages and disadvantages

Disadvantages

More expensive than traditional methods

Can be cumbersome if the group is too large

Advantages

Allows key users to participate effectively

Users are more likely to feel a sense of ownership

Produces a more accurate statement of system requirements, a better understanding of common goals, and a stronger commitment to the success of the new system

IST 603 - Chapter 4

13

13

Team-Based Techniques - RAD

Produces a functioning information system

Rapid application development

Uses a group approach like JAD

Complete methodology

Includes a four-phase life cycle that parallels the traditional SDLC (Please see an examples of SDLC models – Waterfall Model and Spiral Model, the next two slides)

Reduces cost and development time

Increases the probability of success

Relies on prototyping and user involvement

IST 603 - Chapter 4

14

14

IST 603 - Chapter 4

15

Boehm’s Spiral Model

IST 603 - Chapter 4

16

Team-Based Techniques - RAD

IST 603 - Chapter 4

The four phases of the RAD model are requirements planning, user design, construction, and cutover. Notice the continuous interaction between the user design and construction phases.

17

17

Team-Based Techniques - RAD

RAD objectives

Cut development time and expense

Involve users in every phase of development

RAD advantages and disadvantages

Advantage

Helps develop systems quickly with cost savings

Disadvantages

Does not emphasize strategic business needs

Less time to develop quality, consistency, and design standards

IST 603 - Chapter 4

18

18

Team-Based Techniques – Agile Methods

Agile methods

Attempt to develop a system incrementally by building a series of prototypes and adjusting them to user requirements

Developers revise, extend, and merge earlier versions into the final product

Emphasize continuous feedback

Each incremental step is affected by what was learned in the prior steps

IST 603 - Chapter 4

19

19

Team-Based Techniques (7 of 8)

Scrum

Scrum sessions

Specific guidelines emphasize time blocks, interaction, and team-based activities that result in deliverable software

IST 603 - Chapter 4

20

20

Team-Based Techniques (8 of 8)

Agile method advantages and disadvantages

Advantages

Very flexible and efficient in dealing with change

Frequent deliverables constantly validate the project and reduce risk

Disadvantages

Team members need a high level of technical and interpersonal skills

Lack of structure and documentation can introduce risk factors

May be subject to significant change in scope

IST 603 - Chapter 4

21

21

Gathering Requirements

Identification of the system need

What business functions are supported by the current system?

What objectives and business requirements must be supported by the new system?

What are the benefits and costs of the proposed system?

What transactions the system will be required to process?

What are information needs of users and managers?

Must the system interface with an existing legacy system?

What business processes need to be redesigned?

What security issues exist?

What risks are acceptable?

What are the budget and time constraints?

IST 603 - Chapter 4

22

Gathering Requirements

First step in requirements engineering process

Requirements elicitation or fact-finding

Who? – who performs each of the procedure? Are these the correct people? Can some one else or other people perform these tasks more effectively?

What? – What is being done? Why is this process necessary?

Where? - where are these operations being performed? Could they be performed more effectively elsewhere?

When? – Why is it being performed at that time? Is that the best time?

How? – Why is this being performed in that manner? Can it be performed in some other manner more effectively?

IST 603 - Chapter 4

23

Gathering Requirements Through Interviews

The interview process

Determine the people to interview

Establish objectives for the interview

Develop interview questions

Prepare for the interview

Conduct the interview

Document the interview

Evaluate the interview

IST 603 - Chapter 4

24

24

Gathering Requirements Through Interviews

Determine the people to interview

Select the right people and ask the right questions

Consider candidates from both formal and informal structures

Decide on group and/or individual interviews

Establish objectives for the interview

Determine areas to be discussed

List facts that need to be gathered

Objectives depend on the role of the person being interviewed

IST 603 - Chapter 4

25

25

Gathering Requirements Through Interviews

Develop interview questions

Decide what to ask and how to phrase it

Avoid leading questions

Open-ended questions encourage spontaneous and unstructured responses – richer, but unstructured data

Close-ended questions limit the response – may miss important information

Range-of-response questions limit the response

IST 603 - Chapter 4

26

Type of Questions Examples
Closed-ended How many telephone orders are received per day? How do customers place orders? What information is missing from the monthly sales report?
Open-ended What do you think about the current system? What are some of the problems you face on a daily basis?
Probing .Why? Can you give me an example?

26

Gathering Requirements Through Interviews

Prepare for the interview

Careful preparation is essential

Limit the interview to no more than one hour

Verify time, place, length, and topics

If there are questions about documents, ask the interviewee to have samples available at the meeting

Avoid questioner bias and leading the interviewee

IST 603 - Chapter 4

27

27

Gathering Requirements Through Interviews

Conduct the interview

Develop a specific plan for the meeting

Begin by introducing yourself, describing the project, and explaining your interview objectives

Practice engaged listening

Allow the person enough time to think about the question and arrive at an answer

After an interview, summarize the session and seek a confirmation

IST 603 - Chapter 4

28

28

Gathering Requirements Through Interviews

Document the interview

Note taking should be kept to a minimum

After conducting the interview record the information quickly

Send memo to the interviewee expressing your appreciation

Evaluate the interview

In addition to recording the facts obtained in an interview, try to identify any possible biases

IST 603 - Chapter 4

29

29

Gathering Requirements Using Other Techniques

Document review

Review current documentation

Helps understand the current (as-is) system

User created forms, reports, statements are indication of the need to improve the current system

Observation

Provides additional perspective and a better understanding of the system procedures

Should be planned in advance

Goal of the observer(s) is to keep a low profile during observation to avoid disruption

The Hawthorne - the tendency of some people to work harder and perform better when they are participants in an experiment – observation

May bias observation results

IST 603 - Chapter 4

30

30

Gathering Requirements Using Other Techniques

Questionnaires and surveys

Make sure questions collect the right data in a form that can be used to further the fact finding effort

Can be traditional forms, fill-in forms, or on the Internet or a company intranet

IST 603 - Chapter 4

31

31

Gathering Requirements Using Other Techniques

Interviews versus questionnaires

Interview is more familiar and personal

Costly and time-consuming process

Questionnaire gives the opportunity to provide input and suggestions

Recipients can answer questions at their convenience

Brainstorming: small group discussion of a specific problem, opportunity, or issue

Structured brainstorming

Unstructured brainstorming

IST 603 - Chapter 4

32

32

Gathering Requirements Using Other Techniques

Sampling

Systematic sample: selection of every tenth customer for review

Stratified sample: selection of five customers from each of four postal codes

Random sample: selection of any 20 customers

Objective of a sample: ensure it represents the overall population accurately

IST 603 - Chapter 4

33

33

Gathering Requirements Using Other Techniques

Research

Internet, IT magazines, and books

Used to obtain background information, technical material, and news about industry trends and developments

Attending professional meetings, seminars, and discussions with other IT professionals

Site visits

IST 603 - Chapter 4

34

34

Selecting the Appropriate Data Gathering Technique

Interviews JAD Questionnaires Document Analysis Observation
Type of information As-is, improvements, to-be As-is, improvements, to-be As-is, improvements As-is As-is
Depth of information High High Medium Low Low
Breadth of information Low Medium High High Low
Integration of information Low High Low Low Low
User involvement Medium High Low Low Low
Cost Medium Low-medium Low Low Low-medium

IST 603 - Chapter 4

35

35

Gathering Requirements In Agile Projects

Agile methods used for requirements gathering

Variation on interviews that focuses on features, user stories, scenarios, and storyboards is used

Requirements are gathered and successively refined

IST 603 - Chapter 4

36

Representing Requirements

Principles for documentation

Record information as soon as it is obtained

Use the simplest recording method

Record findings in a way that they can be understood by someone else

Organize documentation so related material is located easily

IST 603 - Chapter 4

37

37

Representing Requirements (2 of 5)

Natural language

Vast majority of requirements are represented using unstructured natural language

Diagrams

Graphical methods and nontechnical language that represent the system at various stages

Functional decomposition diagrams

Top-down representation of a function or process

IST 603 - Chapter 4

38

Representing Requirements

IST 603 - Chapter 4

This Visible Analyst FDD shows a library system with five top-level functions. The Library Operations function includes two additional levels of processes and sub-processes. Source: Screenshot used with permission from Visible Systems Corporation.

39

Representing Requirements

Business process diagrams

Represent one or more business processes

Business process modeling notation (BPMN) includes various shapes and symbols to represent events, processes, and workflows

IST 603 - Chapter 4

40

Swim Lane

Swim Lane

Representing Requirements

Data flow diagrams

Show how the system stores, processes, and transforms data

IST 603 - Chapter 4

41

Representing Requirements (5 of 5)

Models

Provide a more formal representation of system requirements

Unified Modeling Language (UML)

Use case diagram

Visually represents the interaction between users and the information system

Sequence diagram

Shows timing of interactions between objects

IST 603 - Chapter 4

42

Validating And Verifying Requirements

Requirements validation and verification (V&V)

Concerned with demonstrating that the requirements define the system that the customer really wants

Validation: Are the correct requirements stated?

Verification: Are the requirements stated correctly?

IST 603 - Chapter 4

43

Tools

All requirements can be helped through the judicious use of tools

Productivity software

Personal information manager

Word processing software

Spreadsheet software

Database management software

Presentation graphics software

Collaboration software

Graphic modeling tools

IST 603 - Chapter 4

44

Summary

Systems analysis phase

Includes requirements modeling, data and process modeling, and consideration of development strategies

Objective is to understand the proposed project, ensure that it will support business requirements, and build a solid foundation for the systems design phase

Popular team-based approaches

JAD, RAD, and agile methods

IST 603 - Chapter 4

45

45

Summary

Requirements gathering process

Interviewing, document review, observation, questionnaires, sampling, and research

Systems analysts use various tools and techniques to represent system requirements

All requirements engineering activities can be helped through the judicious use of tools

IST 603 - Chapter 4

46

46

Process OrderProcess BillingCreate Shipping DataObtain Credit DataValidate Credit StatusAssign Customer NumberExisting CustomerNew CustomerBusiness Process Diagram

Create InvoiceVerify OrderAssemble OrderAccepted OrderServices PerformedExample of A Data Flow Diagram