Why Teams call analytics are critical to your entire business
[DSBW Spring 2009] Unit 03: WebEng Process Models
1. Unit 3
Process Models for Web Application Development
RUP
Agile methods
Business Models for Electronic Commerce
dsbw 2008/2009 2q 1
2. Process Models
A web/software development process model has four roles:
Provide guidance about the order of a team's activities.
Specify artifacts that should be developed.
Direct the tasks of individual developers and the team as a whole.
Offer criteria for monitoring and measuring the project's products and
activities.
The process model should define the
workflows, activities, artifacts, and roles in the development process
A workflow is set of activities—
requirements, analysis, design, implementation, testing, and
deployment—that ultimately produce tangible and observable
results: artifacts
An artifact is any persistent piece of information that is produced
during the process: models, source code, documents, etc.
Artifacts often undergo significant change during the
process, resulting in series of versions that should be controlled and
dsbw traceable.
2008/2009 2q 2
3. The Rational Unified Process (RUP)
Goal: to support the development of a high-quality product within a fixed
period of time and at a fixed price.
Use case driven
Architecture-centric
Key aspects:
Iterative and incremental
dsbw 2008/2009 2q 3
4. RUP: Overview
Analyze
business and
perceived
problems
Analyze
Develop Develop
Deploy
the Iterate
vision project
system
understood
document plan
problem
[Pass acceptance critera]
Develop
domain
Maintain
model
<<defines>> system
Manage artifact versions
dsbw 2008/2009 2q 4
5. RUP: Iterate
UP Phas es
In ce p t io n Elab o r at io n Co n s t r u c t io n T r an sit io n Pr o d u ct io n
Wor kflow s
Requirements
A nalys is
Design
Implementation
Test
Support
Iterations #1 #2 #n-1 #n
dsbw 2008/2009 2q 5
6. RUP Models: Dependencies and traceabilities
Project
Management
Model
Requirements
Engineering
Model Test
Model
Domain
Model
Analysis Design Implementation
Model Model Model
Deployment
Model
dsbw 2008/2009 2q 6
7. Artifacts in the Requirements Engineering Model
Vision Document (revised)
Functional requirements
Non-functional requirements:
Business requirements: standards, legislations, regulations
Architectural requirements: acceptable response times, acceptable
Web browser versions, etc.
New!
User experience (UX) document:
Defines the targeted look-and-feel for the application, the emotion that
the application is trying to establish with the user
The user experience (UX) team is responsible for both developing and
implementing this document .
dsbw 2008/2009 2q 7
8. Artifacts in the Analysis Model
Use Case Model
Use Case diagrams
Conceptual Model
Domain class diagrams
Textual integrity constraints
System Behavior Model
System’s sequence diagrams
System’s operation contracts
State Model
State diagrams
dsbw 2008/2009 2q 8
9. Artifacts in the Design Model
Physical Architecture
Description of architectural tiers, processes, protocols, etc.
Logical Architecture:
Web Presentation Layer:
External Design (UX Model)
Internal Design
Class Diagrams using the Web Application Extension for UML
Sequence Diagrams
Domain Layer
Data Access Layer
Database Design
dsbw 2008/2009 2q 9
10. The Process Model should be tailored considering …
The development team:
Large vs. small teams
Heterogeneous vs homogeneous teams
Skill level
The nature of the application
Human-critical applications: medical devices, spacecraft
systems, thermonuclear controls, etc.
Web applications: they are not human-critical. Still, other factors should
be considered:
Evolving technologies
Greater emphasis on nonfunctional requirements:
security, availability, accessibility, etc.
Priorities:
Fast vs. complete
Fast vs. correct
dsbw 2008/2009 2q 10
11. Another way of building software is possible …
Most process models are too ―heavy‖
Too many things are done with no direct relation with programming
software.
Traditional process models are too rigid
The do not fit well when requirements are incomplete and unstable.
They are not appropriate when frequent releases and short
development iterations are required.
Customers should participate more actively
Lesser focus on the process and more on people
Alternative: Agile methods
dsbw 2008/2009 2q 11
12. Agile Methods
Examples:
AD - Agile Database Techniques
AM -Agile Modeling
ASD - Adaptive Software Development
Crystal
FDD - Feature Driven Development
DSDM - Dynamic Systems Development Method
Lean Software Development
Scrum
TDD - Test-Driven Design
XBreed
XP - eXtreme Programming
All of them are adhered to the Agile Alliance (www.agilealliance.org)
and its Manifesto
dsbw 2008/2009 2q 12
13. Manifesto for Agile Software Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working Software over comprehensive documentation
Customer Collaboration over contract negotiation
Responding to Change over following a plan
That is, while there is value in the items on the right,
we value the items on the left more.
dsbw 2008/2009 2q 13
14. The Twelve Principles of Agile Development
Customer satisfaction through early and continuous delivery of
1)
valuable software
2) Welcome changing requirements, even late in development
3) Deliver working software frequently (2 weeks – 2 months)
4) Business people and developers must work together daily
5) Build projects around motivated individuals
6) Face-to-face conversation
7) Working software is the primary measure of progress
8) Agile processes promote sustainable development
9) Continuous attention to technical excellence and good design
10) Simplicity
11) Self-organizing teams.
12) Regular adaptation to changing circumstances
dsbw 2008/2009 2q 14
15. eXtreme Programming (XP)
The four variables to be controlled
Cost, Time, Quality, and Scope
The five values to be promoted:
Communication, Simplicity, Feedback, Courage and Respect
The five principles that should guide us:
Rapid feedback, Assuming simplicity, Incremental changes, Embracing
change, Quality work
The twelve practices:
Planning game, small releases, simple designs, automated
testing, continuous integration, refactoring, pair programming, collective
ownership, 40-hour week, on-site customer, coding standard, metaphor
dsbw 2008/2009 2q 15
16. The XP Process
[changed/new requirement] [next iteration]
[project end]
Release Iteration Publication
Planning [all acceptance
tests successful]
[otherwise]
dsbw 2008/2009 2q 16
18. Agile vs. Heavyweight: A comparison
Agile Methods Heavyweight Methods
Approach Adaptive Predictive
Success Business Value Conformation to plan
Measurement
Project Size Small Large
Management Style Decentralized Autocratic
Change Adaptability Change Sustainability
Perspective to Change
Culture Leadership-Collaboration Command-Control
Documentation Low Heavy
Emphasis People-Oriented Process-Oriented
Cycles Numerous Limited
Domain Unpredictable/Exploratory Predictable
Team Size Small/Creative Large
Upfront Planning Minimal Comprehensive
Return on Investment Early in the project End of the project
dsbw 2008/2009 2q 18
19. Agile vs. Heavyweight: When they should be used
Agile Methods Heavyweight Methods
Objective Rapid Value High Assurance
Scope (requirements) Subject to change Well Known
Largely emergent Largely Stable
Unknown, Uncertain
Resources Uncertain budget Sufficient Budget
(money, infrastructure Money tight
)
Time Unclear & Not well Defined Clear & Defined Milestones
Milestones
Risks Unknown risks Well understood risks
Major Impact New Minor Impact
Technology
Architecture Design for current needs Design for current and future
needs
Developers Agile, co- Process-oriented, Adequately
located, collaborative Skillful
Customers Collaborative, dedicated, Knowledgeable, representative, c
co-located, knowledgeable ollaborative
Refactoring/Cost of Inexpensive Expensive
Change
dsbw 2008/2009 2q 19
21. The Business Process Engineering Hierarchy
Information strategy planning (ISP)
strategic goals defined
success factors/business rules identified
business model created
Business area analysis (BAA)
processes/services modeled
interrelationships of processes and data
(Web) Application Engineering
modeling applications/procedures that
address (BAA) and constraints of ISP
dsbw 2008/2009 2q 21
22. Business Models
Business Model
A set of planned activities (sometimes referred to as business
processes) designed to result in a profit in a marketplace.
E-commerce Business Model
A business model focused to use the characteristics and
opportunities of Internet and the Web in a strategic way
dsbw 2008/2009 2q 22
23. E-commerce Business Model Categories
Business-to-Consumer (B2C)
Business-to-Business (B2B)
Consumer-to-Consumer (C2C)
Peer-to-Peer (P2P)
Mobile commerce (M-commerce)
dsbw 2008/2009 2q 23
24. B2C Models (1/3)
Portal
Offers an integrated package of services and content such as
search, news, e-mail, chat, downloads, etc.
Variants:
Horizontal/General: Yahoo.com, MSN.com
Vertical/Specialized (Vortal): Universia.es
Revenue model: Advertising, subscription fees, transaction fees.
E-tailer (Electronic retailer)
Online version of retail store.
Variants:
Virtual merchant: Amazon.com
Click-and-mortar: capraboacasa.com
Online mall: fashionmall.com
Manufacturer-direct: dell.com
Revenue model: Sales of goods, transaction fees.
dsbw 2008/2009 2q 24
25. B2C Models (2/3)
Content Provider
Information and entertainment providers such as newspapers, sports
sites, etc.
Revenue model: Advertising, subscription fees, affiliate referral fees.
Transaction broker
Processors of online sales transactions, such as stockbrokers and
travel agents.
Revenue model: transaction fees
Market creator
Creators of virtual markets that bring buyers and sellers together.
Variant: online auctions (eBay.com)
Revenue model: transaction fees
dsbw 2008/2009 2q 25
26. B2C Models (3/3)
Service provider:
Companies that make money by selling a service, rather than a
product.
Revenue model: sales of services.
Community Provider
Sites where individuals with particular interests, hobbies and common
experiences can come together and compare notes.
Revenue model: Advertising, subscription, affiliate referral fees.
dsbw 2008/2009 2q 26
27. B2B Models
B2B Hub: Brings buyers and sellers together to reduce procurement
costs.
E-Distributor: Connecting businesses directly with other
businesses, reducing sales cycles and mark-up.
B2B Service Provider
Traditional: Supports companies through online business services.
Application Service Provider (ASP): Rents Internet-based software
applications to businesses.
Matchmaker: Helps businesses find what they want and need on
the Web
Infomediary
Audience Broker: Gathers information about consumers and uses it to
help advertisers find the most appropriate audience
Lead Generator: Gathers customer data, and uses it to direct vendors
to customers.
dsbw 2008/2009 2q 27
28. Emergent Business Models
Consumer-to-Consumer (C2C)
Electronically-facilitated transactions between consumers through some
third party
Existent model: Market Creator (B2C)
Peer-to-Peer (P2P)
Use of P2P networks for business: besides File Sharing, companies are
also interested in Distributing Computing, Content Distribution, e-market
place, Distributed Search engines, Groupware and Office Automation
via P2P network.
M-commerce
A new distribution channel: mobile devices
dsbw 2008/2009 2q 28
29. References
CONALLEN, J. Building Web Applications with UML Second
Edition. Addison-Wesley 2002.
KAPPEL, Gerti et al: Web Engineering. Wiley, 2006. Chapter 10
KHAN, Ali. A Tale of two Methodologies: Heavyweight versus Agile.
Minor Research Project in IS 615-690, University of
Melbourne, 2004.
R. G. Pressman, D. Lowe: Web Engineering. A Practitioner’s
Approach. McGraw Hill, 2008. Chapters 2-3.
www.agilealliance.org
www.extremeprogramming.org
dsbw 2008/2009 2q 29