The Pro‘s and Con‘s of Employing the Unified Process for Web-Based Applications Renate Motschnig University of Vienna Department of Computer Science and Business Informatics Research Goals and Interests Develop a process model for the effective development of high-quality web-applications Primary process-model requirements: • Provide guidance yet sufficient room for individual solutions • Provide tool support • Respect special features of Webapplications Is the Unified Process qualified …from the point of view of our experience… Case Study – UniKid (http://www.univie.ac.at/unikid) • Social Web-application • … as source for examples Other case studies Overview IS the UP helpful in developing webapplications? • Special features of web-applications • Brief survey of Unified Process • Which features are helpful? • What is missing? • Conclusions • Further work Web-Application A web-application is a web-system (website) that allows its users to execute business logic with a web-browser. (Conallen, 1999). … User input affects the state of the “business“… A web-application provides a webinterface to an information- or knowledge management system. (Motschnig) Web-Application - Characteristics Rich content, structure essential Navigation is essential Design for maintenance and change Often: • Very diverse user profiles • integration of legacy systems Interfaces • Peak interaction • … Unified Process Generic Process Template Needs to be customized and instantiated Characteristics: • Iterative and incremental • Architecture-centric • Use-Case Driven Language (UML) integration and tool support Overview of the UP UniKid – Deliverables of the Inception Phase Deliverable of Inception phase 1. Iteration 2. Iteration Feature list started Refined First version of a business or domain Model existed to some reflected in glossary degree First cut of Use-Case Model done Refined First cut of Analysis Model - Done optionally: Implementation/Test model - test of use-cases planned First version of supplementary requirements done Continued First draft of candidate architecture description with views of individual models concept for software and content architecture Optional: proof-of-concept prototype - only for DB-module Initial risk list done Updated Use-Case ranking list - two priorities assigned Beginnings of a plan for the entire project very rudimentary Done First draft of business case for first phase only Done Time schedule, duration 1.5 days 6 weeks Use-Cases search child-care Inception look for information sitting partnership User mail contribution Editor publish contribution perform statistics enquire and maintain information forward information adapt and evolve system Member of university (1) process inputlist (2) edit ad (1.1) publish ad from inputlist (1.2) update or delete ad from inputlist (3) delete ad timer Ads of users not having authorization from the university must be explicitly published/ /deleted/updated v... (4) update ad (5) enquiry User Editor (6) inspect sample ad (7) print ad (8) inspect list of deleted ads Member of University (11) undelete (9) perform statistics (12) update samole ad (10) authentification (10.1) authentification via editorial (10.2) UniversityDB authentification UniversityDBs First Cut on System Architecture Relational Database Parent2Parent service Content Provision Web-Application Server Contacts and Discussion Complement to the Deliverables of the Inception Phase for Web-Applications Activity / Deliverable 1. Iteration 2. Iteration Initial collection of content material started continued, organized in a physical folder along topics Analysis of information available on the internet discussed documented systematically Initial documentation of relevant links listing only done in brief to be complemented Initial ideas on graphic layout and user interface - discussed, documented in notes Overview of the UP revisited Deliverables of the Elaboration Phase Deliverable Handling of deliverable Preferably a complete business (or domain) model which describes the context of the system not further refined New version of all models (complete between 10% 80%): use-case analysis design deployment, implementation done, also activity diagrams done for Parent2Parent package partly, for complex usecases - Executable architectural baseline basic, high-level navigation Architecture description done wrt. system- and content structure Updated risk list done, no new risks found Project plan for the construction and transition phases refined Completed business case done as one of the first tasks Time schedule, duration 6 weeks Complements to Deliverables of the Elaboration Phase for Web-Applications Deliverable or aspect: The way it was dealt with: concept and specification of graphic layout done and presented as prototype user interaction and navigation design specified in class diagrams and in story-board-like diagrams page structure view done as skeletons in HTML prototype of user interface (or its update) done and tested briefly concept for information update (e.g. html-editor, webeditor, etc.) decided means of interconnection with other web-sites (e.g. links, frames ) decided strategy for authorization specified in activity diagrams Construction Phase Basically refinement and implementation of DB and interfaces 2 increments: • Use - cases for user view • Use – cases for editor view Testing Use-Case driven • Detailed specification of use-cases including all alternative scenarios proved very worthwhile • Many “errors“ and inconsistencies found Navigation path driven – for content issues UP features found helpful: Customization of process template Tool and UML Thoughtful suggestion of deliverables per phase, UML diagrams (Use-Case, Class,..) Iterative and incremental proceeding Management workflow: • risk reduction, • planning aspects • initial and final business case The UP does not support: Graphic-layout considerations Content issues like acquisition,intuitive naming, structure, design decisions Navigation design Interaction design (good tools available) INTEGRATION of graphic, content and software techical issues within process • They are highly interdependent, need coordination What needs to be added? Content Web-Applikation Software aspects Graphic-layout Missing: O.K. with specialization: Missing: Acquisition Structuring Interlinking Navigation Integration Maintenance •Special NFR •Usability •Design for change •Performance, … •Special architecture Page structure Look and feel Integration with content and user-interaction …and a sensible integration of these workflows!!! Conclusions UP: highly valuable process template Supporting: • useful set of deliverables, incremental process • Language – process – tool integration • Management issues, risk reduction For full support, the UP needs to be complemented, in particular wrt. • Content and Graphics workflow • Navigation design (also diagramming technique required) • Integration of these workflows into the process Related and Further Work Content structuring concepts • Organize complexity Navigation design with templates Role of the web in knowledge construction, cooperative learning, organizational learning – as a complement to face-to-face meetings. … in order to use New Media to improve communication and problemsolving