0% found this document useful (0 votes)
199 views28 pages

Requirements Engineering For Web Applications

This document discusses requirements engineering for web applications. It describes how poor requirements can lead to problems like budget overruns and user dissatisfaction. Requirements engineering aims to identify, describe, validate, and manage requirements. Requirements come from various stakeholders and include functional requirements describing system capabilities, and non-functional requirements describing desired properties and levels of service. The document outlines typical requirement engineering activities and notes specific challenges for web applications like multidisciplinary teams and unpredictable environments. It also discusses modeling web applications and common web application architecture components.

Uploaded by

Toufiq
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)
199 views28 pages

Requirements Engineering For Web Applications

This document discusses requirements engineering for web applications. It describes how poor requirements can lead to problems like budget overruns and user dissatisfaction. Requirements engineering aims to identify, describe, validate, and manage requirements. Requirements come from various stakeholders and include functional requirements describing system capabilities, and non-functional requirements describing desired properties and levels of service. The document outlines typical requirement engineering activities and notes specific challenges for web applications like multidisciplinary teams and unpredictable environments. It also discusses modeling web applications and common web application architecture components.

Uploaded by

Toufiq
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/ 28

Requirements Engineering for Web Applications

Requirement Engineering

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Disciplines required to develop Web Systems

3
Typical life cycle

4
Introduction
• Typical consequences for poor requirements are:
 Inadequate software architectures
 “Unforeseen” problems
 Budget overruns
 Production delays
 “That’s not what I asked for”
 Low user acceptance
• RE deals with: principles, methods and tools to
 Identify
 Describe
 Validate
 Manage

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Where do requirements come from?
• Starting point for requirement elicitation process is
stakeholders.
• The objectives and expectations of stakeholders are
quite diverse:
 Customer Constraint-shall be available online by date.
 Quality objective of customer-shall support 2500 users.
 Technology expectation of developer-shall use J2EE.
 Quality objective of user-customer data shall be secured.
 Usability objective of customer-user shall be able to find a
product in less than 3 mins.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Definition of Requirement Engineering
IEEE defines a requirement as-
1. A condition or capability needed by a user to
solve a problem or achieve an objective.
2. A condition or capability that must be met or
possessed by a system to satisfy a contract,
standard, specification or other formally
imposed documents.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Requirement Engineering (Continue..)

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Requirement Engineering (Continue..)

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Requirement Types
Functional requirements describe a system’s capabilities
and services
◦ e.g., "The user can select an icon to view articles in the
shopping cart at any given time."

Non-functional requirements describe the properties of


capabilities and the desired level of services
◦ e.g., "The Web application shall support at least 2500
concurrent users.“
◦ Other non-functional requirements refer to project constraints
and system interfaces

10
Requirement Types [2]
 Functional requirements are frequently described using use case scenarios and
formatted specifications
 Contents Requirements
 Quality Requirements
◦ security, performance, or usability
 System Environment Requirements
◦ how a Web application is embedded in the target environment
◦ ubiquitous web - environment requirements have to specify the details
 User Interface Requirements
 Evolution Requirements
◦ future capabilities, future security requirements
 Project Constraints
◦ budget and schedule, technical limitations, standards, mandated development
technology, deployment rules, maintenance aspects, operational constraints, legal,
or cultural aspects affecting

11
Disciplines required to develop Web Systems

12
Requirement Engineering Activities
• Requirement Elicitation and Negotiation
Requirements are results of a learning and consensus building
process. Ex: creativity techniques, scenario-based methods,
interviews etc.
• Requirement Documentation
Agreements should be refined and described. Use cases are
relevant.
• Requirement Verification and Validation
validate- Did we specify the right thing?
verify-Did we specify things correctly?
• Requirement Management
Requirements are frequently changing.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


RE specifics in web Engineering
• Multidisciplinary : Include multimedia experts, content authors,
domain experts etc.
• Unavailability of stakeholders : Potential web users are
unknown.
• Volatility of requirements and constraints : Web applications
and environments are dynamic, constraints are harder to
stabilize.
• Unpredictable operational environment : Changing BW affect
the mobile applications.
• Impact of legacy systems :
 Web developers face the challenge to integrate legacy system.
 The components need to be integrated strongly influence the
requirements and architectural style of the future system.
 A waterfall approach will not succeed. An iterative approach as
proposed in Twin Peaks model is more appropriate.
Tanzila Rahman, Lecturer, Dept. of CSE, JU
RE specifics in web Engineering (Cont.)

Fig: The Twin-Peaks Model

Tanzila Rahman, Lecturer, Dept. of CSE, JU


RE specifics in web Engineering (Cont.)
• Significance of Quality Aspects: Security, availability, usability etc
depends on the performance of web application.
• Quality of the User Interface : Need to be aware of the IKIWISI (I
Know It When I See It) phenomenon.
• Quality of Content: Quality characteristics include accuracy,
objectivity, credibility, relevance, actuality, completeness, or
clarity.
• Developer Inexperience: Inexperience with new technologies
can lead to wrong estimation.
• Firm Delivery Dates: Design-to-schedule projects, where all
activities and decisions have to meet a fixed final project
deadline. The negotiation and prioritization of requirements are
particularly crucial under such circumstances.
Tanzila Rahman, Lecturer, Dept. of CSE, JU
Modeling web applications
(Web modeling)
Overview
 Web modeling is a branch of Web engineering which addresses
the specific issues related to design and development of large-scale
Web applications.
 In particular, it focuses on the design notations and visual
languages that can be used for the realization of robust, well-
structured, usable and maintainable Web applications. 
 Several languages and notations have been devised for Web
application modeling.
- UML
- HDM - W2000: For hypermedia and hypertext modeling.
- OOHDM (Object Oriented Hypermedia Design Method): method
for the development of Web applications.
- WebML (Web Modeling Language): visual notation and
methodology for designing complex data-intensive Web applications.
- etc.
Tanzila Rahman, Lecturer, Dept. of CSE, JU
Web Application Architectures
Important properties of software architecture
• Architecture describes structure: system structure,
decomposition into components, interface and
relationships.
• Architecture forms the transition from analysis to
implementation: break functional requirements into
software components in an iterative way.
• Architecture can be looked at from different view
points: conceptual view, runtime view, process view,
implementation view.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Important properties of software architecture(Cont)

• Architecture makes a system understandable: breaking


down different perspective allow us to manage.

• Architecture represents the framework for a flexible


system: forms the framework in which the software
system can evolve.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Factors influencing the development of Architectures

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Categorizing Architectures
• Distributed object middleware (DOM) : allows to
access remote objects transparently. Based on
RPC(Remote Procedure call). Ex: CORBA,
DCOM(distributed component object model),
EJB(Enterprise Java Beans).
• Virtual Shared Memory (VSM) : it lets distributed
process access common data. The processes
themselves access a shared memory. Data can be
anywhere. Ex: Corso, Equip.
• Message Oriented Middleware (MOM): Offer
functionalities for asynchronous transmission of
message. Ex: Sun’s JMS(java messaging service), MS’.
Tanzila Rahman, Lecturer, Dept. of CSE, JU
Categorizing Architectures (Cont.)
• Peer to peer(P2P): direct communication
between two devices. Ex: JXTA, Xmiddle.
• Service Oriented Middleware (SOM): enhances
DOM by the service (objects and behavior). Ex:
Sun’s Jini system.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Components of Generic web application architecture

• Client: a browser is controlled by a user to


operate the web application.
• Firewall: Software regulating the
communication between insecure networks
and secure networks.
• Proxy: used to temporarily store web pages in
a cache.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Components of Generic web application architecture

• Web server: software that supports various


web protocols like HTTP to process client
request.
• Database server: supplies an organization’s
production data in structured form (table).
• Media server: used for content streaming of
non-structured bulk data (audio/video)

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Components of Generic web application architecture

• Content management server: similar to


database server. Holds contents to serve an
application. These contents are normally
available in the form of semi-structured data,
e.g., XML documents.
• Application server: holds functionality required
by several applications.
• Legacy application: is an older system that is
integrated as an internal or external component.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Functionalities of Proxies
• Caching proxies: to save BW.
• Link proxies: used as an intermediate server
to forward client request for URLs to the
actual server.
• History proxies: used to manage a user’s
history.

Tanzila Rahman, Lecturer, Dept. of CSE, JU

You might also like