The web application development
process
1
Summary of the last lecture
• Web engineering extends Software
Engineering to Web applications
• Why web engineering?
• Web applications
• Categories of web applications
• Characteristics of web applications
2
Outline
• Development Process model
– software development process activities
• Requirement for a web development process
model
• Rational unified process model (RUP)
– suitability for web application development
3
1. Process model
• A set of related activities that leads to the
production of a software product
– development of software from scratch
– extending and modifying existing systems
• Common activities
– Software specification
– Designing and implementation
– System validation
– System evolution
4
1.1 Process activities
• Software specification:
• The functionality of the software and constraints on its
operation must be defined
– critical stage (can lead to problems in design and
implementation)
• Activities:
– Feasibility study
– Requirement elicitation and analysis
– Requirement specification
– Requirement validation
5
1.1 Process activities…
• Software design and implementation:
• Design is the description of
– System structure
– Data models
– Interface between components
• Implementation: Converting a system
specification into an executable system
6
1.1 Process activities…
• System validation:
• Intended to show that the system
– confirms its specification
– meets customer’s expectations
• Development testing
– tested by the people developed the components
• System testing
– finding component integration errors
• Acceptance testing
– System is tested by the customer’s provided data
7
1.1 Process activities…
• Software evolution:
• Software is flexible as compared to hardware
– Changes can be made to the system during
development or after the development
8
1.2 Common approaches
• The waterfall approach
• Iterative approach
• Reuse oriented approach
9
2. Requirements for a web application
development process
• Evolving from informational medium to
application medium
• Existing approaches are over-pragmatic
– lead to short development time
• Web engineering does not have its own
mature development process model
• SE development process models are adopted
10
2. Requirements for a web application
development process…
• Handling Short development cycles
– Development time is short
• Normally does not exceed six month
– Immediate delivery mechanism
• Capture share in the market
– Leaves less freedom for systematic development
process
11
2. Requirements for a web application
development process…
• Handling changing requirement
– Requirements often emerge during development
• as developer understand the unknown business
– Integrate changes rapidly to remain in competition
– User involvement is more critical
• due to emerging and unstable requirements
12
2. Requirements for a web application
development process…
• Reuse and integration
– to meet time constraints developer try to reuse
components
• Leads to integration issues
– Development can not be isolated from the
development of other applications within the
organization
13
2. Requirements for a web application
development process…
• Adapting to web application’s complexity
level
– process depends upon the level of complexity
– process is adapted dynamically
• for low complexity, it should be like lightweight
process
• for high complexity, it should be like heavyweight
process
14
3. Rational unified process
• RUP is a heavyweight, phase oriented, incremental
and iterative process
• Described in three perspectives
– Dynamic perspective: phases
– Static perspective: activities in phases
– Practice perspective: good engineering practices
15
3. Rational unified process
• RUP phases:
• Inception: Define the business case for the project
• Identify all stakeholders and their interaction
• Goals:
– Business case
• Identify and interact with external entities
• Asses the business contribution
• Artifacts:
– business case
16
3. Rational unified process
• RUP phases:
• Elaboration: establish understanding with the problem
• Goals:
– Establish software scope
– Discriminating critical use-cases
– Estimating cost, schedules and risks
• Artifacts:
– development plan, use-case model, architectural
description
17
3. Rational unified process
• RUP phases:
• Construction: involves system design, programming
and testing
• Goals:
– Develop the design
– Implement the design
– Validate the system
• Artifacts:
– System, training material
18
3. Rational unified process
• RUP phases:
• Transition: Installing the system in real environment
• Goals:
– Testing in real environment
– training
– Bug fixing, performance enhancements
• Artifacts:
– A documented system working correctly
19
3. Rational unified process
• RUP activities (workflows):
– Requirements
– analysis
– design
– implementation
– test
20
3. Rational unified process
• RUP good practices:
– Develop software iteratively
– Manage requirements
– Use component-based architectures
– Visually model software-using UML
– Verify software quality
– Control changes to software
21
3. Rational unified process…
phases
activities
22
3.1 RUP for web application
• Inception phase:
• Definition is problematic for web application
– no concrete view of the system at beginning
– has target group but needs are unknown
• Elaboration phase:
– due to short development time, first version has
priority over clearly defined end-product
23
3.1 RUP for web application…
• Construction phase:
– exists in web development process
• Transition phase:
– is meaningful for web application development
24
3.1 RUP for web application…
• Handling short development cycles:
– Conflicting
• short cycle means concession in modeling and
documentation while RUP is heavyweight
• Handling changing requirements:
– Conflicting with time constraints
• require concrete vision at the end of inception phase
which require more time in web application due to
evolving requirements
25
3.1 RUP for web application…
• Parallel development of different releases:
– can be met with RUP
• RUP only allow parallel development in construction
phase
• Reuse and integration:
– Conflicting
• It requires coordination with development processes
of other applications RUP does not describe this
26
3.1 RUP for web application…
• Adapting to a Web application’s complexity
level:
– RUP can be adopted for later stages when
complexity of web application is understood
27
Summary
• Development Process model
– software development process activities
– conventional software development approaches
• Requirement for a web development process
model
• Rational unified process model (RUP)
– suitability for web application development
28
References
• Chapter 10, Kappel, G., Proll, B. Reich, S. &
Retschitzegger, W. (2006). Web Engineering,
Hoboken, NJ: Wiley & Sons
• Chapter 2, Sommerville, Software Engineering,
ISBN-10: 0-13-703515-2 , PEARSON
29