web engineering and technology unit i. categories/types of web-based systems categoryexamples...
TRANSCRIPT
Web Engineering and Technology
Unit I
Categories/Types of Web-Based Systems
Category Examples
Document centric Online newspapers, manuals
Interactive Registration forms
Transactional Online banking
Workflow-oriented Status monitoring, Business-to-Business solutions (B2B solutions) in e-commerce, e-government applications
Collaborative work Distributed authoring
Social web Discussion groups
Web portals Shopping malls
DownloadUser Input
Web Application Characteristics• Network
intensiveness
• Concurrency
• Unpredictable load
• Performance
• Availability
• Data driven
• Content sensitivity
• Continuous evolution
• Immediacy
• Security
• Aesthetics
Web Engineering
• WebE is the process used to create high quality Web-based applications (WebApps)
• WebE draws heavily on the principles and management activities found in software engineering processes
• Web Engineering is the application of systematic and quantifiable approaches (concepts, methods, techniques, tools) to cost-effective requirements analysis, design, implementation, testing, operation, and maintenance of high-quality Web applications.
Goals of Web Engineering
• Develop High Quality Web applications
– Effective
– Efficient
– Achieve desired application
• Maintain and evolve
– Plan for change – solution may change the problem
• Encourage the use of systematic, disciplined and quantifiable approaches and process models
WebE Process Overview
• Formulation of the problem• Planning• WebApp requirements analysis• Architectural, navigational, and interface design• System implementation using specialized
languages and tools associated with the Web• Configuration management, quality control, and
maintenance mechanisms are established early
Web Engineering Activities (1/3)
• Requirements specification and analysis• Web-based system analysis and design• Web development methodologies and techniques• Migration of legacy systems to Web environments• Web-based real-time applications development• Web-based multimedia application development• Testing, verification and validation techniques and tools• Quality assessment, control and assurance
Web Engineering Activities (2/3)
• Management of access to applications and privileges• Configuration and project management• “Web metrics” – metrics for estimation of development
effort• Performance specification and evaluation• Update and maintenance• Development models, teams, and staffing• Human and cultural aspects• User-centric development
Web Engineering Activities (3/3)
• Graphics, animation and streaming
• Copyright, legal and social aspects
WebE Process Model:
Formulation
• Goals and objectives– What is the motivation for the WebApp?
– Why is the WebApp needed?
– Who will use the WebApp?
• Informational goals – user's intention for using the content
• Applicative goals – ability to perform tasks within the WebApp
WebE Process Model:
Planning
• Estimate project cost• Evaluate risks• Define finely granulated schedule for first
increment• Define coarser schedule for subsequent increments
WebE Process Model:
Analysis
• Establishes requirements and identifies content items
• Content analysis
– content provided by WebApp is identified
• Interaction analysis
– use-cases developed to describe user interaction
• Functional analysis
– usage scenarios used to define operations and functions applied to WebApp content
• Configuration analysis
– WebApp environment described in detail
WebE Process Model:
Engineering
• Content design
• Production tasks
• Architectural design
• Navigation design
• Interface
WebE Process Model:
Page Generation and Testing
• Content and technical designs are merged to produce executable web pages
• Testing exercises WebApp navigation, attempts to uncover errors in applets/scripts/forms, and checks for environment incompatibilities
WebE Process Model:
Customer Evaluation
• Each increment of the WebApp is reviewed
• Changes required by customer are applied to next increment
Difference between SE and WebE - Agility
Main Reasons for not applying SE principles to WebE:• Business � strategies and rules change rapidly• Management demands near-� instantaneous – almost immediate
reaction• Responsiveness (even when such demands are completely
unreasonable).• Stakeholders often don’t understand the consequences of the
Web and keep changing their mind even as they demand rapid delivery
• An � agile approach helps cope with this fluidity and uncertainty
What is an Agile Process?
• „ Agile Web engineering combines a philosophy and a set of development guidelines. The philosophy encourages:
– „ customer satisfaction
– „ informal methods
– „ overall development simplicity
– „ early incremental delivery of the Web Application
– „ small, highly motivated project teams
– „ minimal work products
• „ An agile process stresses delivery over analysis and design (although these activities are not discouraged), and active and continuous
communication between developers and customers.
Activities
Web Engineering Software Engineering
Customer Communication Software Project Management
Planning Formal Technical Reviews
Modeling Risk Management
Construction Software Quality Assurance
Delivery and Feedback Measurement
Software configuration management
Reusability management
Work product preparation and production
Web Engineering Models
• Content Modeling
• Hypertext Modeling
• Presentation Modeling