[DSBW Spring 2009] Unit 03: WebEng Process Models


Published on

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

[DSBW Spring 2009] Unit 03: WebEng Process Models

  1. 1. Unit 3  Process Models for Web Application Development RUP  Agile methods   Business Models for Electronic Commerce dsbw 2008/2009 2q 1
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  17. 17. XP Iteration dsbw 2008/2009 2q 17
  18. 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. 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
  20. 20. From Agile to Heavyweight dsbw 2008/2009 2q 20
  21. 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. 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. 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. 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. 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. 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. 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. 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. 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