A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION



Similar documents
Towards a New Methodology for Developing Web-Based Systems

Object-Oriented Systems Analysis and Design

Modeling the User Interface of Web Applications with UML

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

IMPLEMENTATION OF MOSRE FRAMEWORK FOR A WEB APPLICATION - A CASE STUDY

Web Engineering: Software Engineering for Developing Web Applications

Requirements Engineering for Web Applications

Capturing Web Application Requirements through Goal-Oriented Analysis

A Methodology for the Development of New Telecommunications Services

An Approach for Designing Ubiquitous Web Applications: A Case Study

How To Design An Information System

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Applying 4+1 View Architecture with UML 2. White Paper

GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS

Chap 1. Introduction to Software Architecture

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Quantitative and qualitative methods in process improvement and product quality assessment.

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Lecture 9: Requirements Modelling

A Process Model for Software Architecture

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Web Engineering: A New Discipline for Development of Web-based Systems

Karunya University Dept. of Information Technology

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

11 Tips to make the requirements definition process more effective and results more usable

SOFTWARE REQUIREMENTS

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Towards Web Design Frameworks (Wdfs)

Scenario-based Requirements Engineering and User-Interface Design

Requirements Engineering Process

Chapter 4 Software Lifecycle and Performance Analysis

Object-Oriented Design Guidelines

AN ANALYSIS OF MODEL-DRIVEN WEB ENGINEERING METHODOLOGIES. Received November 2011; revised March 2012

Section C. Requirements Elicitation

Modeling Interactions and Navigation in Web Applications

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation

3 The Development Process

2. Analysis, Design and Implementation

The Expressive Power of UML-based Web Engineering 1

Chapter 3. Technology review Introduction

Systematic Design of Web Applications with UML

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Chapter 8 Approaches to System Development

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

A FRAMEWORK FOR THE ANALYSIS AND COMPARISON OF HYPERMEDIA DESIGN METHODS

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Comparison of most adaptive meta model With newly created Quality Meta-Model using CART Algorithm

The use of Trade-offs in the development of Web Applications

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

Quantification and Traceability of Requirements

Partnering for Project Success: Project Manager and Business Analyst Collaboration

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

Requirements Engineering: A Roadmap

Software Engineering for Adaptive Hypermedia Systems

A Comparison of SOA Methodologies Analysis & Design Phases

How To Model Software Development Life Cycle Models

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Java (12 Weeks) Introduction to Java Programming Language

Assuming the Role of Systems Analyst & Analysis Alternatives

Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

The Role of the Software Architect

Advanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Analysis and Comparative Study of Traditional and Web Information Systems Development Methodology (WISDM) Towards Web Development Applications

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Week 1: Introduction. Transcript of Week 1 Podcast

A Rational Software & Context Integration white paper

Evaluation of Adaptive Course Construction Toolkit (ACCT)

A UML Introduction Tutorial

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment Marque Browne Manuel Honegger

Web Application Development Processes: Requirements, Demands and Challenges

Object Oriented Design

CSE4213 Lecture Notes

To introduce software process models To describe three generic process models and when they may be used

Requirements Analysis through Viewpoints Oriented Requirements Model (VORD)

Taking Care of Business, the Enterprise Architect

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Redesigned Framework and Approach for IT Project Management

Rapid Development of Modular Dynamic Web Sites using UML

10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd)

Masters of Science in Software & Information Systems

Engineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business

What is a life cycle model?

Scenario-based Evaluation of Software Architecture Styles from the Security Viewpoint

Managing Software Product Line

Hermes: Generic Designs for Mobile, Context-Aware Trails-Based Applications

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

Designing Business Processes in E-commerce Applications

CHAPTER 11 REQUIREMENTS

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Designing Well-Structured Websites: Lessons to be Learned from Database Schema Methodology.

A Case-Based Approach to Integrating an Information Technology Curriculum

Transcription:

A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION Mrs. Swati Santosh Jamble Assistant Professor ATSS, College of Business Studies and Computer Application, Chinchwad Abstract Web applications development is gaining increasing importance in the business strategy of many organizations. Although the development of Web applications can be viewed as a form of software development, it has several inherent features. One of the most important features is the uncertainty in the domain understanding by customers and developers. In addition, Web solutions usually lead to changes in the business models and therefore in the requirements. In this context, tasks such as requirements elicitation, requirements specification, and validation of requirements are essential to ensure the quality of the resulting software product. This talk will present an overview of requirements management for software development with emphasis in Web applications development. This paper is a comparative study of the requirements handling in Web methodologies showing trends in the use of techniques for capturing, specifying and validating Web requirements. Keywords: Web Engineering, Requirements Engineering, Web methodology, Comparative Studies, survey Communicated by: (to be filled by the JWE editorial) 1. INTRODUCTION The growth of the Internet, Intranets, Extranets, and the World Wide Web has already had a significant impact on business, commerce, industry, banking and finance, education, government and entertainment sectors, and our personal and working life. However, in most cases, the development approach used for Web-based systems has been ad hoc, and Webbased systems have been kept running through a continual stream of patches. Overall, Webbased system development lacks rigour, a systematic approach, and quality control and assurance. As the complexity and sophistication of Web-based applications grow, there is now legitimate and growing concern about the manner in which they are created and their long-term quality and integrity. In the absence of disciplined process for developing Web-based systems, we may face serious problems in their successful development, deployment, operation of and 'maintenance.' Poorly developed Web-based applications that are mushrooming now have a high probability of failure. Worse, as Web-based systems grow more complex, a failure in one can and will propagate broad-based problems across many. When this happens, confidence in the Web may be shaken irreparably, causing a Web crisis [1]. The potential Web crisis could be more serious and widespread than the software crisis, which the software developers have been facing. The motivation for this work is to show the deficiencies that the current Web methodologies present and on the same time present a palette of requirements engineering techniques which could aid Web developers in their work. In addition, the comparison presented should help in 1

the continuous process of improvement of the existing Web methodologies and their tool support in order to focus more on requirements engineering, and therefore contribute to improve the quality of the Web applications that are built with these methodologies. 2. WEB ENGINEERING Web engineering is body of knowledge consisting of Technologies, Architectures, Design Methodologies and Development Processes, that will enable us to develop Complex and Maintainable Web Systems; Web Engineering-Based on Software Engineering, Web Engineering comprises the use of systematic and quantifiable approaches in order to accomplish the specification, implementation, operation, and maintenance of high quality Web applications. A Web application is a software system based on technologies and standards of the World Wide Web Consortium (W3C) that provides Web specific resources such as content and services through a user interface, the Web browser. 2.1 Disciplines required to developed Web System 3.REQUIREMENTS ENGINEERING Fig 1. Disciplines of Web Development Requirements Engineering (RE) is a set of activities concerned with identifying and communicating the purpose of a software-intensive system, and the contexts in which it will be used. Hence, RE acts as the bridge between the real-world needs of users, customers, and other constituencies affected by a software system, and the capabilities and opportunities afforded by software-intensive technologies. [4] 2

3.1. Requirements Engineering Activities Requirements Elicitation and Negotiation scenario-based methods, multi criteria decision processes, facilitation techniques, interviews, or document analysis Requirements Documentation Informal descriptions such as user stories, and semi-formal descriptions such as use cases are particularly relevant Requirements Verification and Validation Did we specify the right things? Did we specify things correctly? Requirements Management Continuous changes of requirements and constraints are a major characteristic integration of new requirements and changes to existing requirements 4. REQUIREMENTS ENGINEERING IN CURRENT WEB METHODOLOGIES The development of Web applications has several characteristics that differ from the development of other kinds of applications. On the one hand, many different kinds of stakeholders participate in the development process: analysts, customers, users, graphical designers, marketing, multimedia and security experts, etc. On the other hand, the main features of these systems are the navigational structure, the user interface and the personalization capability. The structure requires an intuitive guide to avoid that the user gets lost in the navigational space. The design of the user interface often has to take into account multimedia and marketing aspects. These special design aspects not only have to be handled differently during design, but already be considered during the requirements specification. In this chapter we give an overview of those Web approaches which propose specific techniques or models to deal with requirements. Of course, there are more Web methodologies in use which were not included in this survey. This study is focused on requirements, thus we describe mainly the requirement phase of each approach. Most of the methodologies analyzed and compared in this work provide a classification of requirements. However, the terminology used in these methodologies is not always the same. In order to make the description of each methodology comparable to the others, a general classification of requirements for Web applications is shown previously to the outline of the methods. It is based on the state of the art of Web methodologies. Functional requirements are capabilities that a system must exhibit in order to solve a problem. Functional requirements can be sub-classified in: i) Data requirements also known as conceptual requirements, content requirements or storage requirements. These requirements establish how information is stored and administrated by the application. ii) Interface requirements (to the user) also known as interaction requirements or user s requirements. They give an answer to how the user is going to interact with the Web application. iii) Navigational requirements represent users navigation needs through the hyperspace. 3

iv) Personalization requirements also known as customization or adaptation requirements. They describe how a Web application has to (dynamically) adapt itself, depending on the user or environment profile. v) Transactional requirements, also known as internal functional requirements or service requirements, express what the Web application has to compute internally, without considering interface and interaction aspects. Non-functional requirements act to constraint the solution, e.g. portability requirements; reuse requirements, usability requirements, availability requirements, performance requirements, etc. 4.1 WSDM: Web Site Design Method The method consists of the following phases: User Modelling, Conceptual Design, Implementation Design and the actual Implementation. The User Modelling phase consists of two sub-phases: User Classification and User Class Description. The Conceptual Design phase also consists of two sub-phases: the Object Modelling and the Navigational Design. Software life cycle phases such as Evaluation, Maintenance and Innovation are not considered in this paper. We also do not discuss possible iteration loops. Figure 1 shows an overview diagram of WSDM. 4.2 SOHDM: Scenario-based Object-Oriented Hypermedia Design Methodology SOHDM proposes a process to get the conceptual model of the application out of these scenarios. The proposed conceptual model is represented by a class diagram. 4.3 RNA: Relationship-Navigational Analysis RNA is a methodology that offers a sequence of steps to develop Web applications focusing mainly on analysis.rna only provides some guidelines of the actions to be performed in each phase. 4.4 HFPM: Hypermedia Flexible Process Modeling The Hypermedia Flexible Process Modeling (HFPM) presented by Olsina is a wide engineering-based approach, which includes analysis-oriented descriptive and prescriptive process modeling strategies. It includes technical, management, cognitive and participatory tasks. 4.5 OOHDM: Object Oriented Hypermedia Design Model OOHDM is a widely accepted method for the development of Web applications, whose first versions focused on design and did not include requirements engineering. 4.6 UWE: UML-based Web Engineering UML-based Web Engineering (UWE) is a methodological approach for the development of Web applications based on the Unified Process. It is based mainly on the most relevant concepts provided by other methods, but defines a UML notation (UML profile), sticks to the 4

diagrammatic techniques proposed by the UML and defines a systematic and semi-automatic design process. 4.7 W2000 W2000 is an approach that also extends UML notation to model multimedia elements. These multimedia elements are inherited from HDM (Hypermedia Design Model). 4.8 WebML: Web Modelling Language The Web Modelling Language (WebML) is a high-level specification language for hypermedia applications. The methodology focuses on requirements collection and requirements specification. 4.9 NDT - Navigational Development Techniques NDT (Navigational Development Techniques) is a technique to specify and analyze the navigation aspects in Web applications. NDT focuses on the elicitation and specification techniques selected by NDT for the capture and definition of requirements. 4.10 Design-driven Requirements Elicitation The Design-driven Requirements Elicitation is a part of the design-driven process proposed by Lowe and Eklund in order to develop Web applications. It consists of capturing, defining and validating requirements during the design process 5 COMPARATIVE STUDY We have based our comparative study on three main aspects. The first one is the analysis of the types of requirements handled by each methodology. The second aspect is the study of the techniques employed and the phases covered in each approach. The last one evaluates the degree of detail of each approach in terms of its development process, the applied techniques and the results produced. 5.1 Types of Requirements Using the classification introduced at the beginning of section 3, the first objective of this comparison was to establish which types of requirements are treated by each approach. Table 1 shows these results for the methodologies briefly described in sections 4.1 to 4.10 and the six types of requirements: data, user interface, navigation, adaptive, transactional and nonfunctional. 5

Data User Interface Navigational Adaptive Transactional WSDM Y Y Y SOHDM Y Y Y RNA Y Y Y Y HFPM Y Y Y Y OOHDM Y Y Y UWE Y Y Y Y Y W200O Y Y Y webml Y Y Y Y NDT Y Y Y Y Y Y DDDP Y Y Y Y Y Y Table 1: Requirements Handled by Each Approach 6 CONCLUSIONS Non- Functional In this work we have presented the state of the art of requirements engineering in methodologies used for the development of Web applications. To achieve this purpose, we started describing the structure of the requirements engineering process and the most common techniques used in such a process in the classic software development for non-web applications. The process includes three main activities: capture, definition and validation of requirements. In a second step we gave an outline of the methodologies for the Web describing how these approaches cover the aspects related to requirements engineering. Finally, the approaches are compared from different points of view, such as types of requirements handled, activities covered and techniques used, orientation and depth of the applied techniques. References 1. Zelnick, N., Nifty Technology and Non-conformance: The Web in Crisis, Computer, October 1998, pp 115 116 and 119. 2. http://www.dimi.uniud.it/seminario-requirements-engineering-in-the-development-of-webapplications/ 3. http://en.wikipedia.org/wiki/web_engineering 4. http://www.cs.toronto.edu/~sme/papers/2004/fore-chapter01-v7.pdf 6