0% found this document useful (0 votes)
41 views

Lect 2 (Requirement Engineering)

This document discusses requirement engineering for web applications. It begins by defining requirement engineering and explaining why it is important, especially for complex web applications where requirements are often poorly executed. It then covers requirement engineering basics like identifying stakeholders, collecting functional and non-functional requirements iteratively, and writing requirements specifications. The document outlines typical requirement engineering activities like elicitation, documentation, validation and management. It concludes by discussing some distinguishing characteristics of requirement engineering for web applications and principles that are important, such as understanding the system context, involving stakeholders, and taking a risk-oriented approach.

Uploaded by

Faisal Shehzad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Lect 2 (Requirement Engineering)

This document discusses requirement engineering for web applications. It begins by defining requirement engineering and explaining why it is important, especially for complex web applications where requirements are often poorly executed. It then covers requirement engineering basics like identifying stakeholders, collecting functional and non-functional requirements iteratively, and writing requirements specifications. The document outlines typical requirement engineering activities like elicitation, documentation, validation and management. It concludes by discussing some distinguishing characteristics of requirement engineering for web applications and principles that are important, such as understanding the system context, involving stakeholders, and taking a risk-oriented approach.

Uploaded by

Faisal Shehzad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Requirement Engineering

Department of Computer Science


1 Govt. College University, Lahore
Summary of the previous lecture
 Web engineering extends Software Engineering to

Web applications

 Why web engineering?

 Web applications

 Categories of web applications

 Characteristics of web applications

Department of Computer Science


2 Govt. College University, Lahore
Outline
 Introduction to RE

 RE basics

 Requirements specification

 RE Activities

 RE specifics in web engineering

 Modeling Web Applications


1. Requirement Engineering
 Requirements Engineering: the principles,

methods, & tools for drawing, describing,


validating, and managing project goals and needs

 Given the complexity of Web apps, RE is a critical

initial stage activity, but often poorly executed

Department of Computer Science


4 Govt. College University, Lahore
1. Requirement Engineering…
 Costs:

 Inadequate software architectures

 “Unforeseen” problems

 budget overruns

 production delays

 “that’s not what I asked for”

 Low user acceptance

Department of Computer Science


5 Govt. College University, Lahore
1. Requirement Engineering…
 Why requirement engineering:

 requirements don’t define themselves (Bell & Thayer,


1976)
 removal of mistakes post hoc is up to 200 times more
costly (Boehm, 1981)
 iterative collection and refinement is the most
important function of a software engineer (Brooks,
1987)

Department of Computer Science


6 Govt. College University, Lahore
1. Requirement Engineering…
 Why requirement engineering:

 A study based on 340 companies in Austria, more than

two thirds consider the SRS as the major problem in


development process (1995)
 A study on Web applications, 16% systems fully meet

their requirement while 53% deployed systems do not


(Cutter Consortium, 2000)

Department of Computer Science


7 Govt. College University, Lahore
1. Requirement Engineering…
 Why requirement engineering:

 A study among 8000 projects, 30% of projects fail

before completion & almost half do not meet


customer requirements (Standish group, 1994)
 Unclear objectives, unrealistic schedules & expectations, poor

user participation

Department of Computer Science


8 Govt. College University, Lahore
2. RE basics
 Identify and involve the stakeholders

 those that directly influence the requirements

 customers, users, developers

 What are their expectations?

 may be misaligned or in conflict

 may be too narrowly focused or unrealistic

Department of Computer Science


9 Govt. College University, Lahore
2. RE basics…
 What is requirement?
 The descriptions of what the system should do
 services that it provides and the constraints on its
operation
 IEEE 601.12 definition of requirement:
 1) Solves a user’s problem
 2) Must be met or possessed by the system to satisfy a
formal agreement
 3) Documented representation of conditions in 1 and 2

Department of Computer Science


10 Govt. College University, Lahore
2. RE basics…
 Requirements types

 Functional requirements:

 statement of services

 how system reacts to input

 how system behaves in particular situation

 Non-functional requirements:

 constraints on services (timing, quality etc.)

 applies as a whole

Department of Computer Science


11 Govt. College University, Lahore
2. RE basics…
 Requirements are collected iteratively and change

 Keys to requirement definition:

 Negotiation

 Scenario-based discovery

 Clear definition of context and constraints

Department of Computer Science


12 Govt. College University, Lahore
3. Requirements specifications
 process of writing down the user and system requirements in
a requirements document
 User requirements (for users)

 should be understand able to users

 avoid notations, use simple tables, forms etc.

 System requirements (for Software engineers)

 starting point for the system design

 how system provides the services

Department of Computer Science


13 Govt. College University, Lahore
3. Requirements specifications…
 Natural language specification:

 Stories or itemized requirements

 create a standard format

 distinguish between mandatory and desirable

requirements
 don’t use the technical words

 associate rationale with each requirement

Department of Computer Science


14 Govt. College University, Lahore
3. Requirements specifications…
 Structured specification:

 Includes

 description

 inputs/outputs

 description of the action

 pre condition

 post condition

Department of Computer Science


15 Govt. College University, Lahore
4. RE Activities
Elicitation &
Negotiation

Management Documentation

Validation &
Verification
4. RE Activities…
 Elicitation and negotiation:
 RE engineer involve the stakeholder to define
 application domain
 services
 constraints
 Steps:
 requirement discovery
 Interviewing, scenarios, questionnaires, use-cases etc.
 classification and organization
 prioritization and negotiation

Department of Computer Science


17 Govt. College University, Lahore
4. RE Activities…
 Documentation:

 requirements are documented after consensus

 Requirement verification and validation:

 validated: doing right things?

 verification: doing things right?

Department of Computer Science


18 Govt. College University, Lahore
4. RE Activities…
 Requirements management:

 understanding and controlling changes

 problem analysis and change specification

 change analysis and costing

 change implementation

Department of Computer Science


19 Govt. College University, Lahore
5. RE specifics in web engineering
 Distinguishing characteristics:
 Multidisciplinary:
 experts from different disciplines i.e. media experts,
content experts, usability experts etc.
 challenging to achieve consensus
 Unavailability of stakeholders:
 many stakeholders such as users are unknown during
RE Activities
 need to find suitable representatives

Department of Computer Science


20 Govt. College University, Lahore
5. RE specifics in web engineering
 Distinguishing characteristics:

• Rapidly changing requirements & constraints:

 environment is highly dynamic

 harder to stabilize requirements

 Unpredictable operational environment:

 impossible to control the operation environment

 affects the quality requirements


 change of bandwidth can change response time

Department of Computer Science


21 Govt. College University, Lahore
5. RE specifics in web engineering
 Distinguishing characteristics:

• Legacy Systems:

 constrained by existing system

 existing components drive the possibilities

 Quality aspects:

 are decisive i.e. performance, security, availability

 harder to get exact specification

Department of Computer Science


22 Govt. College University, Lahore
5. RE specifics in web engineering
 Distinguishing characteristics:
• User interface:
 key success-critical aspect
 should be aware of IKIWISI
 Quality of content:
 accuracy, objectivity, credibility, relevance, actuality,
completeness, or clarity

Department of Computer Science


23 Govt. College University, Lahore
5.1 RE principles for web engineering
 Understanding the system context
 web apps are always a component of a larger entity
 why do we need the system?
 how will people use it?
 Involving the stakeholders
 get all groups involved
 balance – one group’s gain should not come at the
expense of another
 repeat the process of identifying, understanding and
negotiating

Department of Computer Science


24 Govt. College University, Lahore
5.1 RE principles for web engineering…

 Iteratively define requirements

 requirements need to be consistent with other system

aspects (UI, content, test cases)


 start with key requirements at a high level; basis for:

 feasible architectures

 key system use cases

 initial plans for the project


Department of Computer Science
25 Govt. College University, Lahore
5.1 RE principles for web engineering…

 Risk Orientation

 risk management is at the heart of the analysis process

 what are the greatest risks?


 integration issues / legacy systems

 expected vs. actual system quality

 how to mitigate risks?


 prototyping (avoid IKIWISI)

 show changes to customer iteratively

 integrate existing systems sooner than later

Department of Computer Science


26 Govt. College University, Lahore
6. System modeling
 Process of developing abstract models of a system
 Representing system using graphical notations
 UML

Department of Computer Science


27 Govt. College University, Lahore
6. System modeling
 each model presents a different view or perspective
of the system
 External perspective: system context and environment

 Interaction perspective: how system interact with


environment
 Structural perspective: how system is organized

 Behavioral perspective: dynamic behavior of the


system
Department of Computer Science
28 Govt. College University, Lahore
6. System modeling…
 Models are used during

 RE phase to derive system requirements

 use-case diagram, activity diagram

 design phase to describe the system to engineers

 class diagrams, sequence diagrams etc.

 after implementation

 to document system’s structure and operation

Department of Computer Science


29 Govt. College University, Lahore
6. System modeling…
 Why system modeling?

 reduce complexity

 document design decisions

 facilitate communication among team members

Department of Computer Science


30 Govt. College University, Lahore
6. System modeling…
Levels Modeling dimensions:
User interface

Application Logic

Phases
Structure Analysis Design Implementation

Behavior

Aspects

 Levels – the “how” & “what” of an application


 Aspects – objects, attributes, and relationships; function & processes
 Phases – Development cycle

Department of Computer Science


31 Govt. College University, Lahore
6. System modeling…
Levels
Presentation
Hypertext
Customization
Content

Phases
Structure Analysis Design Implementation

Behavior

Aspects
 Levels – Information, node/link structure, UI & page layout separate.
 Aspects – Same as Software Applications
 Phases – Approach depends upon type of application
 Customization – Context information (user’s preferences, bandwidth restriction,
device characteristic etc.) and allow to adopt web application accordingly
 Influence other three dimensions
Department of Computer Science
32 Govt. College University, Lahore
6. System modeling…
 Requirement modeling
 use-case diagram
 activity diagram

 Content modeling
 class diagram

 Navigational modeling
 to model nodes and navigational structure among
them
 Presentation modeling
 model user interface, page-layout
Department of Computer Science
33 Govt. College University, Lahore
SUMMARY
 Introduction to RE
 RE basics
 Requirements specification
 RE Activities
 RE specifics in web engineering
 Modeling Web Applications

Department of Computer Science


34 Govt. College University, Lahore
References
 Chapter 2, Kappel, G., Proll, B. Reich, S. & Retschitzegger,W. (2006).
Web Engineering, Hoboken, NJ:Wiley & Sons
 Chapter 3, Kappel, G., Proll, B. Reich, S. & Retschitzegger,W. (2006).
Web Engineering, Hoboken, NJ:Wiley & Sons
 Chapter 4, Sommerville, Software Engineering,
ISBN-10: 0-13-703515-2 , PEARSON

Department of Computer Science


35 Govt. College University, Lahore

You might also like