1 of 83

CHAPTER 02

REQUIREMENTS ENGINEERING

FOR WEB APPLICATIONS

2 of 83

CHAPTER OUTLINES

2.1 Introduction

2.2 Fundamentals of Requirements Engineering

2.3 RE Activities- Process, Planning and Design

2.4 RE Specifics in Web Engineering

2.5 Principles of RE of Web Applications

2.6 Types of Requirements

2.7 Notations and Tools for RE

2.8 Conclusion

2

3 of 83

LEARNING OUTCOMES

  • By the end of this chapter, student should be able to:

    • Understand the fundamentals of Requirements Engineering
    • Describe RE activities - process, planning and design
    • Discuss RE specifics in web engineering
    • Highlight principles of RE of web applications
    • Differentiate types of Requirements Engineering
    • Describe the notations and tools for RE

3

4 of 83

2.1 INTRODUCTION

4

5 of 83

INTRODUCTION

5

6 of 83

INTRODUCTION

  • What do you understand from the scenario shown in the previous slide?

6

7 of 83

LEARNING OUTCOME #01

Understand the fundamentals of Requirements Engineering.

8 of 83

2.2 FUNDAMENTALS OF � REQUIREMENTS ENGINEERING (RE)

9 of 83

RE DEFINITION AND GOAL

  • Definition

  • Goal

9

10 of 83

RE PROCESS

  • What are the requirement engineering processes?

10

Figure 2.1 : Requirements Engineering Process

11 of 83

RE PROBLEMS

  • What happen to a project if it is developed without RE?

11

12 of 83

RE PROBLEMS (CONT’D.)

  • List the problems due to poor RE.

12

13 of 83

RE BENEFITS

  • Why RE is important?

13

14 of 83

THE CHALLENGES

  • What are the main challenges in Requirement Engineering?

14

15 of 83

THE SOLUTION

  • What is requirements elicitation?

15

16 of 83

REQUIREMENT DEFINITION

  • Define requirement as by IEEE Std. 610.12.

  • List TWO (2) types of requirement.

16

17 of 83

TYPES OF REQUIREMENT

  • What is the difference between functional and non-functional requirement?
    • Functional requirements

    • Non-functional requirements

17

18 of 83

NON-FUNCTIONAL REQUIREMENTS

  • Both client and developer must ________________ on the non-functional requirements to identify the minimum critical number of _____________________.
  • Use the ______________ of non-functional requirements to generate _____________.
  • List the examples of non-functional requirements.

  • All these requirements are summarized in SRS document, which act as ______________ between the developer and the customer.

18

19 of 83

REQUIREMENT ELICITATION POINTS

  • What are the main points to consider during eliciting project requirements from the customer?

19

20 of 83

LO #01 SUMMARY

  • By the end of this chapter, student should be able to:

Understand the fundamentals of Requirements Engineering

    • Concept of Requirement Engineering
    • Fundamentals of Requirement Engineering

20

21 of 83

LEARNING OUTCOME #02

Describe RE activities - process, planning and design

22 of 83

2.3 RE ACTIVITIES�PROCESS, PLANNING AND DESIGN

22

23 of 83

RE ACTIVITIES

  • RE is an umbrella activity. Define umbrella activity.

  • List all the activities of RE.

23

24 of 83

RE ACTIVITIY 01

24

25 of 83

REQUIREMENTS ELICITATION DESCRIPTION

  • RE methods aim at improving communication among the developers, clients and the users.
  • What are the developer's tasks?

25

26 of 83

REQUIRMENTS ELICITATION TECHNIQUES

  • List FIVE (5) ways in achieving the elicitation goal.

26

27 of 83

REQUIREMENTS ELICITATION TECHNIQUES (CONT’D.)

  • Briefly describe:

    • Interview

    • Brainstorming

    • Facilitated Application Specification Technique (FAST)

    • Quality Function Deployment (QFD)

    • Use case approach

27

28 of 83

REQUIREMENTS ELICITATION TECHNIQUES (CONT’D.)

  • Define the followings:

    • Scenario

    • Use case

    • Natural language

28

29 of 83

INFORMATION ELICITATION METHODS

  • List TWO (2) information elicitation methods

29

30 of 83

JOINT APPLICATION DESIGN (JAD)

  • What is the main aims of JAD?

  • Briefly describe JAD process.

30

31 of 83

JOINT APPLICATION DESIGN (JAD) (CONT’D.)

  • What is the final deliverable of JAD process?

  • List JAD actors.

31

32 of 83

JOINT APPLICATION DESIGN (JAD) (CONT’D.)

  • List and describe JAD activities.

32

33 of 83

MAINTAINING TRACEABILITY

  • Discuss traceability.

33

34 of 83

MAINTAINING TRACEABILITY (CONT’D.)

  • Discuss the approaches used in maintaining traceability.

34

35 of 83

RE ACTIVITY 02

35

36 of 83

DOCUMENTING THE RE

  • Describe requirements analysis document (RAD).

  • Who are the audience for the RAD?

36

37 of 83

DOCUMENTING THE RE (CONT’D.)

  • Discuss the requirement engineering documentation process.

37

38 of 83

RE ACTIVITY 03

38

39 of 83

VERIFICATION AND VALIDATION

  • Differentiate verification and validation.
    • Verification

    • Validation

  • How does requirements validation happen in traditional projects and in Web engineering field?

39

40 of 83

RE ACTIVITY 04

40

41 of 83

REQUIREMENTS MANAGEMENT

  • Describe the two main activities of requirement management.

41

42 of 83

LO #02 SUMMARY

  • By the end of this chapter, student should be able to:

Describe RE activities - process, planning and design

    • Describe requirement elicitation methods.
    • Describe requirement documentation process.
    • Differentiate requirement validation and verification.
    • Describe requirement management activities.

42

43 of 83

LEARNING OUTCOME #03

Discuss RE specifics in web engineering.

44 of 83

2.4 RE SPECIFICS IN WEB ENGINEERING

44

45 of 83

RE IN TRADITIONAL SE & WEB E

  • List the differences between RE in traditional software engineering and in web engineering.

45

46 of 83

RE IN TRADITIONAL SE & WEB E (CONT’D.)

  • Describe the followings:
    1. Multidisciplinary

    • Non-availability of stakeholders

46

47 of 83

RE IN TRADITIONAL SE & WEBE (CONT’D.)

    • Volatility of requirements

    • Dynamic operational environment

47

48 of 83

RE IN TRADITIONAL SE & WEB E (CONT’D.)

    • Affect of old systems

    • Importance of quality factors

48

49 of 83

RE IN TRADITIONAL SE & WEB E (CONT’D.)

    • Quality of content

    • Lesser developer experience

49

50 of 83

RE IN TRADITIONAL SE & WEB E (CONT’D.)

    • Rigid delivery dates

    • Vulnerability issues

50

51 of 83

LO #03 SUMMARY

  • By the end of this chapter, student should be able to:

Discuss RE specifics in web engineering

51

52 of 83

LEARNING OUTCOME #04

Highlight principles of RE of web applications

53 of 83

2.5 PRINCIPLES OF RE IN �WEB APPLICATIONS

53

54 of 83

PRINCIPLES OF RE IN WEB APPLICATIONS

  • List the FIVE (5) Principles of RE in web applications.

54

55 of 83

PRINCIPLE 1

  • Analyze the present business scenarios
    • According to Boehm, business analysis is useful to find out the value of a Web application with respect to the resources it uses.
    • What are the advantages for understanding a system?

55

56 of 83

PRINCIPLE 2

  • Stakeholders’ feedback and involvement
    • Requirements of stakeholders must be located and negotiated again and again to cope with the dynamically changing needs of the projects.
    • The multidisciplinary and unavailability of stakeholders are the specifics of the RE for Web engineering.
    • So, what are the requirements that necessary for any Web application?

56

57 of 83

PRINCIPLE 3

  • Iterative approach of requirements definition
    • As a project progresses, the development results can be slowly refined in more concrete terms, while continuously ensuring their consistency.
    • Requirements are volatile, i.e., they may change any time.
    • What is the best approach? Why?

57

58 of 83

PRINCIPLE 4 �

  • System architecture
    • A complex Web architecture makes the Web site code also complex. This makes its testing difficult.
    • What is the best solution?

58

59 of 83

PRINCIPLE 5

  • Risk identifications
    • A good project manager must identify the risks as the project starts. It is so because the late identification of a risk can led to project failure.
    • What is Risk Mitigation? Why it is important?

59

60 of 83

LO #04 SUMMARY

  • By the end of this chapter, student should be able to:

Highlight principles of RE of web applications

      • Identify 5 principles of RE of web applications.
      • Understand the present business scenarios.
      • Understand the requirements of stakeholder.
      • Understand iterative approach of web applications.
      • Define the system architecture.
      • Identify the risks.

60

61 of 83

LEARNING OUTCOME #05

Differentiate types of Requirements Engineering.

62 of 83

2.6 TYPES OF REQUIREMENTS

62

63 of 83

WEB ENGINEERING PROJECT REQUIREMENTS

  • List all the requirement categories.

63

64 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION

  • Describe the following project requirements.
    1. Web functional requirements

    • Contents requirements

64

65 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION (CONT’D.)

3. Quality requirements/ Non-functional requirements

65

66 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION (CONT’D.)

3a. Specification quality

66

67 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION (CONT’D.)

3b. Design quality

67

68 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION (CONT’D.)

3c. Development / software construction quality

3d. Conformance quality

68

69 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION (CONT’D.)

4. Environment of system-based requirements

69

70 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION (CONT’D.)

5. GUI-related requirements

70

71 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION (CONT’D.)

6. Evolution requirements

71

72 of 83

WEB ENGINEERING PROJECT REQUIREMENTS DESCRIPTION (CONT’D.)

7. Constraints on the project

72

73 of 83

LO #05 SUMMARY

  • By the end of this chapter, student should be able to:

Differentiate types of Requirements Engineering

    • Distinguish 9 types of requirements engineering

73

74 of 83

LEARNING OUTCOME #06

Describe the notations and tools for RE.

.

75 of 83

2.7 NOTATIONS & TOOLS FOR RE

75

76 of 83

NOTATIONS FOR RE

  • Many methods are available for showing all of the requirements gathered.
  • List the methods.

76

77 of 83

TOOLS FOR RE

  • What is an analysis tool?

  • What is a system model?

  • What is the advantage of analysis tools?

77

78 of 83

TOOLS FOR RE (CONT’D.)

  • List the case tool examples.

78

79 of 83

LO #06 SUMMARY

  • By the end of this chapter, student should be able to:

Describe the notations and tools for RE

      • Identify RE representation and methods.
      • List tools for RE

79

80 of 83

2.8 CONCLUSION

81 of 83

CONCLUSION

  • The process of gathering, analyzing, categorizing and modeling the requirements of Web users is known as requirement engineering.
  • It discusses the requirement of the Web application-based projects.
  • It is mandatory, otherwise, certain requirements are missed out and result in customer dissatisfaction.

81

82 of 83

REFERENCES

Chopra, Rajiv, Web Engineering, PHI Learning Pvt. Ltd., 2016, ISBN: 9788120352544

82

83 of 83

THANK YOU��END OF CHAPTER 02

83