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



Similar documents
CHAPTER 20 TESING WEB APPLICATIONS. Overview

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

Software Engineering Question Bank

Engineering Process Software Qualities Software Architectural Design

Object-Oriented Systems Analysis and Design

Schneps, Leila; Colmez, Coralie. Math on Trial : How Numbers Get Used and Abused in the Courtroom. New York, NY, USA: Basic Books, p i.

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

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

Chap 1. Introduction to Software Architecture

Karunya University Dept. of Information Technology

Increasing Development Knowledge with EPFC

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

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Business Modeling with UML

POLAR IT SERVICES. Business Intelligence Project Methodology

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

TOGAF usage in outsourcing of software development

Surveying and evaluating tools for managing processes for software intensive systems

Graphical Web based Tool for Generating Query from Star Schema

SYSTEMS ANALYSIS DESIGN

Foundations for Systems Development

Terrace Consulting Services

44-76 mix 2. Exam Code:MB Exam Name: Managing Microsoft Dynamics Implementations Exam

Agile So)ware Development

Data Modeling Basics

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

Announcements. Project status demo in class

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

Preface. PART I Background, Principles, Overview 1

System Development and Life-Cycle Management (SDLCM) Methodology. Approval CISSCO Program Director

Quantification and Traceability of Requirements

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

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

(Refer Slide Time: 01:52)

The role of integrated requirements management in software delivery.

Project Management Planning

ADAPTING THE SOFTWARE ENGINEERING PROCESS TO WEB ENGINEERING PROCESS

Custom Software Development Approach

What is BPM? Software tools enabling BPM

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

What is a life cycle model?

Selecting a Content Management System

A system is a set of integrated components interacting with each other to serve a common purpose.

The Unified Software Development Process

Information Management & Data Governance

Listening to the Customer s Voice 1

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

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

AGILE SOFTWARE TESTING

How To Write An Slcm Project Plan

A Systems Implementation Project Planning Guide. Solutions & Project Management Services for Systems & Operations Projects

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

CONTENTS Preface xv 1 Introduction

INFORMATION TECHNOLOGY GUIDELINE

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

A Business Process Services Portal

Change Management Procedures Re: The Peoplesoft Application at Mona

How To Develop Software

Federated, Generic Configuration Management for Engineering Data

SACWIS PLANNING FOR DEPARTMENT OF HUMAN SERVICES DRAFT - STRATEGIC IMPLEMENTATION PLAN: MILESTONES & TIMELINES FOR A FULL IMPLEMENTATION

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Requirements Engineering for Web Applications

<Business Case Name> <Responsible Entity> <Date>

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

zen Platform technical white paper

The Software. Audit Guide. ASQ Quality Press. Milwaukee, Wisconsin. John W. Helgeson

Software Development Methodology Development Process Aress

Basic Unified Process: A Process for Small and Agile Projects

NIST Cloud Computing Program Activities

Section C. Requirements Elicitation

Software Engineering UNIT -1 OVERVIEW

Prototyping Techniques for

Development Methodologies

Project Plan Version 0.0

User-Centric Client Management with System Center 2012 Configuration Manager in Microsoft IT

Chapter 8 Approaches to System Development

This alignment chart was designed specifically for the use of Red River College. These alignments have not been verified or endorsed by the IIBA.

Requirements engineering

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

Introduction to OpenUP (Open Unified Process)

Towards Collaborative Requirements Engineering Tool for ERP product customization

Responses to Inquiries RFP Software Quality Assurance Managed Services

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards?

Dealing with digital Information richness in supply chain Management - A review and a Big Data Analytics approach

Software Architecture Action Guide. Why do we care about Software Architecture?

Oracle Data Integrator: Administration and Development

UML TUTORIALS THE USE CASE MODEL

ComTrade Citrix Smart Plugin for HP Software (SPI for Citrix)

6 Contracts and Scenarios in the Software Development Process

CREDENTIALS & CERTIFICATIONS 2015

Transcription:

Table of Contents CHAPTER 1 Web-Based Systems 1 The Web 1 Web Applications 2 Let s Introduce a Case Study 3 Are WebApps Really Computer Software? 4 Are the Attributes of WebApps Different from the Attributes of Conventional Software? 4 What Categories Are Encountered as a WebApp Evolves? 7 WebApps A Philosophical View 10 CHAPTER 2 Web Engineering 12 What Is Web Engineering? 12 What Is Meant by Agile? 12 What Is a WebE Framework? 13 What Principles Should You Follow as You Adapt the Framework? 15 Is There Any Merit in an Old-School Approach? 16 The Components of Web Engineering 16 How Does Software Engineering Come into Play? 17 Why Is WebE Process Agility So Important? 18 What WebE Methods Reside within the Process Framework? 19 Isn t Web Engineering All about Tools and Technology? 19 Web Engineering Best Practices 21 Where We ve Been... Where We re Going 23 CHAPTER 3 A Web Engineering Process 24 Defining the Framework 24 Incremental Process Flow 27 How Are Framework Activities Conducted? 28 How Is the Framework Refined? 30 Generic Actions and Tasks for the WebE Framework 32 How Should the Communication Activity Be Refined? 32 What Tasks Are Required to Develop an Increment Plan? 33 What Is Modeling? 35 What Analysis Modeling Tasks Can Be Applied? 35 What Are the Elements of a Design Model? 37 What Design Modeling Tasks Can Be Applied? 38 What Construction Tasks Should Be Applied? 40 How Is a WebApp Increment Deployed? 41 Umbrella Activities 42 How Should a WebE Team Manage Change? 42 How Is the Quality of an Increment Ensured? 43 How Is Risk Managed? 43 How Should the Work Be Managed? 44 Where We ve Been... Where We re Going 44 iii

iv Table of Contents CHAPTER 4 Communication 46 The Communication Activity 46 Formulation 47 Who Should We Communicate With? 48 What Techniques Can You Use for Communication? 48 Won t There Be Different Viewpoints? 49 What Questions Should We Ask? 49 How Do We Encourage Collaboration? 51 Elicitation 53 What Happens Before an Elicitation Session? 53 How Do Stakeholders Prepare? 54 What Tasks Are Performed During an Elicitation Session? 55 What Are the User Categories for the WebApp? 56 How Are Content and Functional Requirements Identified? 57 How Are Constraints and Performance Issues Isolated? 58 What Are Usage Scenarios? 58 What Are Use Cases? 60 How Is a Use Case Created? 60 Identifying WebApp Increments 65 Negotiation 67 Where We ve Been... Where We re Going 68 CHAPTER 5 Planning 70 Understanding Scope 70 What Communication Work Products Are Relevant? 71 What if Further Details Are Required to Understand the Increment? 71 What if Gaps Still Exist in Your Understanding? 73 Refining Framework Activities 73 What Actions and Tasks Are Required? 74 What Work Products Will Be Produced? 76 What Is the Appropriate Way to Assess Quality? 77 How Should Change Be Managed? 78 Building a WebE Team 79 How Do We Recognize a Good WebE Team? 79 Why Don t Teams Jell and What Can Be Done to Help? 80 Can a WebE Team Manage Itself? 81 How Do We Build a Successful Team? 82 What Are the Characteristics of a Good Team Leader? 83 Managing Risk 84 How Do We Identify Risks? 84 How Do We Evaluate Risks? 85 How Do We Develop Contingency Plans? 86 Developing a Schedule 88 What Is Macroscopic Scheduling? 88 What Is Increment Scheduling? 89 How Do We Estimate Effort and Time? 91 How Do We Represent Task Interdependencies? 93

Table of Contents v Managing Quality 94 What Quality Assurance Mechanisms Can the Team Use? 95 What Are the Mechanics of a Pair Walkthrough? 95 What Are the Mechanics of a Team Walkthrough? 96 Do Criteria for Quality Exist for WebApps? 97 Managing Change 98 How Should Criticality and Impact of a Change Be Assessed? 99 When Do We Delay Making the Change? 99 Should Changes Be Made to All Related Work Products? 102 Tracking the Project 103 Are There Any Macroscopic Indicators of Progress Problems? 103 What Criteria Are Used to Track Progress? 104 Outsourcing WebE Work 104 How Do We Initiate an Outsourced Project? 105 How Do We Select Candidate Outsourcing Vendors? 106 How Can We Assess the Validity of Price Quotes and the Reliability of Estimates? 106 What Level of Project Management Will Be Needed? 106 How Do We Assess the Schedule and Manage Scope? 107 Where We ve Been... Where We re Going 107 CHAPTER 6 The Modeling Activity 109 Modeling as a Concept 110 How Do We Judge the Usefulness of a Model? 110 Can Models Be Used to Understand Business Constraints? 111 The Models We Create 112 What Does the Process Tell Us About Modeling? 113 What Does the WebApp Tell Us About Modeling? 113 Modeling Frameworks 114 Is There a Modeling Framework for the Web? 115 How Does Modeling Relate to the WebE Process? 116 Modeling Languages 119 What Capabilities Should Exist to Model Functionality? 120 What Capabilities Should Exist to Model Information Content? 121 What Generic Capabilities Should Exist in a Modeling Language? 122 Existing Modeling Approaches 124 Where We ve Been... Where We re Going 126 CHAPTER 7 Analysis Modeling for WebApps 129 Understanding Analysis in the Context of WebE 129 How Much Analysis Is Enough? 130 Can We Analyze Using a Prototype? 130 Is Analysis Distinct from Design? 132 Analysis Modeling for WebApps 133 What Are the Inputs to Analysis Modeling? 133

vi Table of Contents What Are the Outputs from Analysis? 135 What Analysis Tasks Can and Should We Carry Out? 135 What Tools Can We Use to Help Us Model? 136 How Do We Decide Whether Modeling Is Necessary and Which Approach Is Best? 136 Understanding the Users 138 Why Is It Necessary to Revisit the User Hierarchy? 139 Do We Apply Usage Scenarios As Is? 141 The Content Model 144 What Are the Structural Elements of the Content Model? 144 What Is an Information Exchange and How Is It Represented? 145 How Are Content Objects Defined? 146 Is There a Simple Way to Depict Content Relationships and Content Hierarchy? 150 How Do We Select and Represent Analysis Classes for WebApps? 151 The Interaction Model 152 Where Do Use Cases Come into Play? 152 What Are Sequence Diagrams and When Should They Be Developed? 153 How Do State Diagrams Represent the Behavior of a WebApp? 154 Do We Really Need Use Cases, Sequence Diagrams, and State Diagrams to Fully Describe the Interaction Model? 154 Why Is It a Good Idea to Build an Interface Prototype? 155 The Functional Model 156 The Configuration Model 158 Relationship-Navigation Analysis 159 How Do We Establish Relationships Between Content Objects and Functionality? 160 How Do We Analyze Navigational Requirements? 161 Where We ve Been... Where We re Going 163 CHAPTER 8 WebApp Design 165 Design for WebApps 165 What Does a WebApp Designer Need to Know? 166 What Is Logical Design? 167 What Is Physical Design? 167 What Information Is Created as a Consequence of Design? 168 Design Goals 168 Design and WebApp Quality 171 How Do Users Perceive Quality? 171 Is There a User-Centric Model for Assessing Design Quality? 172 What Is a Quality Framework? 175 Is There a Way to Assess Content Quality? 178 Is There a Single Quality Checklist I Can Use? 178 The Design Process 180 What Are the Elements of WebApp Design? 180

Table of Contents vii What Are the Characteristics of the Design Process? 183 What Does an Incremental WebE Process Imply for the Design Activity? 184 Initial Design of the Conceptual Architecture 185 Initial Design of the Technical Architecture 188 Where We ve Been... Where We re Going 190 CHAPTER 9 Interaction Design 193 Interface Design Principles and Guidelines 194 What Principles Do We Apply to Design Effective Interfaces? 194 What About Some Pragmatic Design Guidelines? 200 Interface Design Workflow 200 Interface Design Preliminaries 202 How Do We Understand the Characteristics of WebApp Users? 203 How Do We Elaborate the Content Objects That Are Identified? 204 What Tasks Do the Users Perform? 206 How Do We Elaborate the Tasks That Are Identified? 208 How Do We Design for Different Users with Different Roles? 209 How Is Content Integrated into the Interface Description? 211 Interface Design Steps 212 How Are Interface Objects and Actions Translated into a Layout? 212 What About the Design of Navigation Mechanisms for the Interface? 215 Why Is Interface Consistency So Important? 218 Aesthetic Design 218 How Do We Create an Aesthetically Pleasing Layout? 219 What Leads to an Effective Graphic Design? 221 Usability 222 Design Issues 223 What Factors Affect Response Time and What Can We Do to Improve It? 223 How Should We Design Help Facilities? 224 How Should the Interface Handle Errors? 225 What Is Accessibility and How Does It Apply to Interface Design? 226 What Is Internationalization and How Does It Apply to WebApps? 227 Where We ve Been... Where We re Going 228 CHAPTER 10 Information Design 230 Information Architecture 231 What Is an Information Architecture? 231 What Are the Elements of an Information Architecture? 233

viii Table of Contents What Are the Characteristics of a Good Information Architecture? 233 How Do We Develop an Information Architecture? 236 Organizing Content 237 Structuring the Information Space 238 What Information Structures Are Possible? 239 What Makes a Good Structure? 242 Blueprints: Adding Detail to a Structure 245 What Form Does a Blueprint Take? 245 Accessing Information 247 How Do We Ensure That the User Understands the Context and Doesn t Get Lost? 247 How Do We Help the User Move Through the Information Structure? 249 What Guidelines Are Available for Implementing Searching Mechanisms? 250 Can Searching Mechanisms Lead to Problems? 252 Wireframe Models 252 Navigation Design: Creating the Detailed Structure 254 How Have Information Design and Navigation Design Models Evolved? 254 How Is the RMM Model Used for Navigation Design? 256 How Can WebML Be Used to Create a Navigation Design? 259 Is It Possible to Create Models That Link Content and Functionality? 259 Does the Structure of the Web Itself Have an Impact? 262 Summarizing the Design Process 262 Where We ve Been... Where We re Going 265 CHAPTER 11 Functional Design 268 WebApp Functionality 268 The Nature of WebApp Functionality 269 What Are Typical Examples of Functionality? 270 Can Functionality Be Categorized? 270 Is It Always Possible to Distinguish Between Information and Function? 272 Functional Design in the Design Process 274 What Are the Elements of a Functional Design Process? 274 How Much Functional Design Is Enough? 276 How Would Initial Functional Design Be Conducted for SafeHomeAssured.com? 277 Functional Architecture 279 What Does a Functional Architecture Look Like? 280 How Do We Develop the Functional Architecture? 280 What About Functionality for Exception Handling? 282 Can Architectural Patterns Be Used During Functional Design? 284

Table of Contents ix Detailed Functional Design 286 How Can WAE Modeling Be Used for Detailed Design? 286 Why Is WebML Appropriate for Workflow Modeling? 287 State Modeling 291 Where We ve Been... Where We re Going 294 CHAPTER 12 Construction and Deployment 296 Construction and Deployment within the WebE Process 297 What Is the Interplay Between Construction and Deployment? 297 What Role Do Deployment Environments Play? 299 Construction 302 Is There a Generic Set of Construction Tasks? 303 What Is Refactoring and How Should It Be Applied? 303 Construction Principles and Concepts 305 Deployment 308 Is There a Generic Set of Deployment Tasks? 308 What Deployment Principles Should Guide the WebE Team? 309 How Are Version Control and CMS Used? 311 Construction and the Use of Components 312 What Is a Generic Component? 313 How Is an Object-Oriented Component Defined? 313 How Is a Conventional Component Defined? 315 What Are the Characteristics of a Good Component? 316 Component-Level Design Guidelines 318 Component Design Steps 320 Where We ve Been... Where We re Going 323 CHAPTER 13 Design Patterns 326 Patterns: Understanding the Concept 326 What Exactly Is a Pattern? 327 What Does a Pattern Look Like? 328 WebApp Patterns: Design Focus and Granularity 329 How Is Design Focus Used to Identify Patterns? 329 Why Is Granularity an Important Characteristic of a Pattern? 330 Pattern Repositories 331 What Is a Patterns Repository? 331 What Patterns Sources Are Available for Web Engineers? 331 Can a WebE Team Create Its Own Set of Patterns? 332 How Do We Find and Use Patterns? 334 Example Patterns 336 Is It Possible to Define Patterns That Address Problems at the Business Level? 336 Since Interaction Is Pervasive, There Must Be Many Interaction Patterns. True? 336 What Navigation Patterns Are Available? 341 Where Do Content and Presentation Patterns Fit In? 344 Where We ve Been... Where We re Going 347

x Table of Contents CHAPTER 14 Technologies and Tools 348 General Issues 348 How Does Separation of Concerns Impact Tools and Technologies? 349 Which Technology Open Source or Proprietary? 350 What Is the Impact of Application Categories on WebE Technology? 351 Implementation Tools and Technologies 352 What Are Application Frameworks? 353 How Are Content Management Systems and Version Control Technologies Applied? 354 What If a Search Capability Must Be Provided with Our WebApp? 354 Development Tools and Technologies 355 Can I Acquire Tools That Will Help Me with the Modeling Activity? 355 Are There Testing Tools That Focus Specifically on WebApps? 356 Are There Tools That Can Assist with the Management of the WebE Process? 357 Where We ve Been... Where We re Going 358 CHAPTER 15 Testing WebApps 359 Testing Concepts 359 What Are the Dimensions of Quality? 360 What Types of Errors Occur within a WebApp Environment? 361 What Testing Strategy Should We Apply? 361 How Much Test Planning Is Necessary? 362 The Testing Process An Overview 363 Content Testing 367 What Are the Objectives of Content Testing? 367 How Is Database Testing Used to Validate Content? 368 User Interface Testing 370 Is There a Viable Interface Testing Strategy? 371 How Do We Test Specific Interface Mechanisms? 371 How Do We Test Interface Semantics? 374 Usability Testing 375 Compatibility Testing 378 Component-Level Testing 379 Navigation Testing 381 How Do We Test Navigation Syntax? 381 How Do We Test Navigation Semantics? 382 Configuration Testing 384 How Do We Test the Server Side? 385 How Do We Test the Client Side? 386 Security and Performance Testing 386

Table of Contents xi How Do We Determine if the WebApp Is Secure? 387 How Should We Test WebApp Performance? 389 What Are the Objectives of Performance Testing? 390 How Does Load Testing Assess Performance? 390 How Does Stress Testing Assess Performance? 391 Where We ve Been... Where We re Going 396 CHAPTER 16 Change and Content Management 397 Change 397 What Are the Attributes of a Change? 398 Why Are Changes Requested? 398 What Elements of the WebApp Change? 399 Change Management for Web Engineering 399 Why Do We Need Change Management? 400 What Issues Should We Consider? 400 What Is the Basic Change Management Activity? 402 How Should We Identify the Objects That Will Change? 402 How Should We Control a Change That Is About to Be Made? 403 How Do We Manage Different Versions of the WebApp or Its Components? 406 How Can a WebE Team Ensure That a Change Has Been Properly Implemented? 407 How Do We Let Stakeholders Know What Changes Have Been Made? 407 Content Management 408 How Is a Content Management System Used? 408 What Are the Major Elements of a CMS? 409 Criteria for Implementing a CMS 412 How Does Volume Affect Content Management? 413 Does the Population of Content Creators Have an Effect on CMS? 414 How Does the Change Volume Affect the Formality of Change Management? 415 How Does Publication Volume Affect Content Management Formality? 415 Where We ve Been... Where We re Going 419 CHAPTER 17 Future Directions 419 The Changing Nature of the Web and WebApps 419 How Will Delivery of Web-Based Content and Functionality Change? 420 How Will WebApps Change? 420 What Will Web Engineers Have to Do to Accommodate These Changes? 421 Can the Web Serve as a Platform for Application Software? 422

xii Table of Contents Can the Future Web Be an OS? 423 How Will the Semantic Web Change Things? 424 Evolving Web Technologies and Web 2.0 425 What Is Web 2.0? 425 What Technologies Support Web 2.0? 427 What Are Some Key Issues That Should Be Considered as Technology Evolves? 431 What s Next for Web 2.0? 432 One View of the Future 433 The Changing Nature of Web Engineering 435