2. Web Engineering Fundamentals
Total Page:16
File Type:pdf, Size:1020Kb
2.2. WebWeb EngineeringEngineering FundamentalsFundamentals 1. IntroductionIntroduction 2. RequirementsRequirements AnalysisAnalysis 3. WebWeb ModelingModeling 4. WebWeb ArchitecturesArchitectures 5. WebWeb AccessibilityAccessibility SWE 444: Internet & Web Application Development 2.1 ResourcesResources BookBook Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, 1st ed. Hoboken, NJ: Wiley & Sons. ISBN: 04700-1554-3. OnlineOnline materialmaterial INFSCI 2955: Web Engineering Department of Information Science and Telecommunications, University of Pittsburgh Website: http://www.sis.pitt.edu/~jgrady/ SWE 444: Internet & Web Application Development 2.2 2.12.1 IntroductionIntroduction toto WebWeb EngineeringEngineering WhatWhat isis WebWeb Engineering?Engineering? ““TheThe applicationapplication ofof systematicsystematic andand quantifiablequantifiable approachesapproaches toto costcost--effectiveeffective analysis,analysis, design,design, implementation,implementation, testing,testing, operation,operation, andand maintenancemaintenance ofof highhigh--qualityquality WebWeb applications.applications.”” –– KappelKappel etet al.al. ExtendsExtends SoftwareSoftware EngineeringEngineering toto WebWeb applications,applications, butbut withwith WebWeb--centriccentric approaches.approaches. SWE 444: Internet & Web Application Development 2.4 DefiningDefining WebWeb ApplicationsApplications AA WebWeb applicationapplication isis aa systemsystem thatthat utilizesutilizes W3CW3C standardsstandards && technologiestechnologies toto deliverdeliver WebWeb--specificspecific resourcesresources toto clientsclients (typically)(typically) throughthrough aa browser.browser. A strict definition that ensures software and UI aspects of the Web are examined carefully TechnologyTechnology ++ interaction.interaction. Web site with no software components? Web services? SWE 444: Internet & Web Application Development 2.5 TheThe CaseCase forfor WebWeb EngineeringEngineering ApplicationApplication developmentdevelopment onon thethe WebWeb remainsremains largelylargely adad hochoc.. Spontaneous, one-time events Individual experience Little or no documentation for code/design ShortShort--termterm savingssavings leadlead toto longlong--termterm problemsproblems inin operation,operation, maintenance,maintenance, usability,usability, etc.etc. BecauseBecause WebWeb appsapps areare soso interdependent,interdependent, thethe problemproblem isis compounded.compounded. SWE 444: Internet & Web Application Development 2.6 TheThe CaseCase forfor WebWeb EngineeringEngineering (cont.)(cont.) RootRoot CausesCauses ofof poorpoor designdesign Development as an authoring activity Development is “easy” Techniques that should not be used are misapplied. Techniques that should be used are not. ParticularlyParticularly alarmingalarming givengiven…… Most projects are now Web-based More “mission-critical” apps moving to the Web SWE 444: Internet & Web Application Development 2.7 TheThe CaseCase forfor WebWeb EngineeringEngineering (cont.)(cont.) Top project pitfalls (Cutter, 2000) 84% - Failure to meet business objectives 79% - Project schedule delays 63% - Budget overrun 53% - Lack of functionality Web Engineering’s solution: Clearly defined goals & objectives Systematic, phased development Careful planning Iterative & continuous auditing of the entire process SWE 444: Internet & Web Application Development 2.8 CategoriesCategories ofof WebWeb ApplicationsApplications Ubiquitous Semantic Web Social Web Collaborative Workflow Based Portal Transactional Oriented Complexity Interactive Doc-Centric Development History SWE 444: Internet & Web Application Development 2.9 DocumentDocument--CentricCentric WebWeb sitessites Precursors to Web applications Static HTML documents Manual updates Pros Simple, stable, short response times Cons High management costs for frequent updates & large collections More prone to inconsistent/redundant info Example: static home pages SWE 444: Internet & Web Application Development 2.10 InteractiveInteractive && TransactionalTransactional Come with the introduction of CGI and HTML forms Simple interactivity Dynamic page creation Web pages and links to other pages generated dynamically based on user input Content updates -> Transactions Decentralized Database connectivity Increased complexity Examples: news sites, booking systems, online banking SWE 444: Internet & Web Application Development 2.11 WorkflowWorkflow--BasedBased ApplicationsApplications DesignedDesigned toto handlehandle businessbusiness processesprocesses acrossacross departments,departments, organizationsorganizations && enterprisesenterprises BusinessBusiness logiclogic definesdefines thethe structurestructure TheThe rolerole ofof WebWeb servicesservices Interoperability Loosely-coupled Standards-based Examples:Examples: B2BB2B && ee--GovernmentGovernment HighHigh complexity;complexity; autonomousautonomous entitiesentities SWE 444: Internet & Web Application Development 2.12 CollaborativeCollaborative && SocialSocial WebWeb Unstructured,Unstructured, cooperativecooperative environmentsenvironments Support shared information workspaces to create, edit and manage shared information InterpersonalInterpersonal communicationcommunication isis paramountparamount ClassicClassic example:example: WikisWikis TheThe SocialSocial WebWeb Anonymity traditionally characterized WWW Moving towards communities of interest Examples: Blogs, collaborative filtering systems, social bookmarking (e.g., del.icio.us) Integration with other forms of web applications (e..g, NetFlix) SWE 444: Internet & Web Application Development 2.13 PortalPortal--OrientedOriented SingleSingle pointspoints--ofof--entryentry toto heterogenousheterogenous informationinformation Yahoo!, AOL.com, portal.kfupm.edu.sa SpecializedSpecialized portalsportals Business portals (e.g., employee intranet) Marketplace portals (horizontal & vertical) Community portals (targeted groups) SWE 444: Internet & Web Application Development 2.14 UbiquitousUbiquitous CustomizedCustomized servicesservices delivereddelivered anywhereanywhere viavia multiplemultiple devicesdevices HCIHCI isis criticalcritical Limitations of devices (screen size, bandwidth?) Context of use StillStill anan emergingemerging field;field; mostmost devicesdevices havehave singlesingle focus:focus: Personalization Location-aware Multi-platform delivery SWE 444: Internet & Web Application Development 2.15 SemanticSemantic WebWeb BernersBerners--Lee:Lee: InformationInformation onon thethe WebWeb shouldshould bebe readablereadable toto machines,machines, asas wellwell asas humans.humans. UsingUsing metadatametadata andand ontologiesontologies toto facilitatefacilitate knowledgeknowledge managementmanagement acrossacross thethe WWW.WWW. ContentContent syndicationsyndication (RSS,(RSS, Atom)Atom) promotespromotes rere-- useuse ofof knowledgeknowledge IsIs thethe SemanticSemantic WebWeb eveneven possible?possible? SWE 444: Internet & Web Application Development 2.16 CharacteristicsCharacteristics ofof WebWeb AppsApps HowHow dodo WebWeb applicationsapplications differdiffer fromfrom traditionaltraditional applications?applications? Or,Or, anotheranother way,way, whatwhat SoftwareSoftware EngineeringEngineering methodsmethods && techniquestechniques cancan bebe adaptedadapted toto WebWeb Engineering?Engineering? 33 dimensionsdimensions ofof thethe ISO/IECISO/IEC 91269126--11 standardstandard Product Usage Development SWE 444: Internet & Web Application Development 2.17 CharacteristicsCharacteristics -- ProductProduct Product-related characteristics constitute the “building blocks” of a Web application Content Document character & multimedia (# of dimensions?) Quality demands: current, exact, consistent, reliable Navigation Structure (Hypertext) Non-linearity Potential problems: Disorientation & cognitive overload User interface (Presentation) Aesthetics Self-explanation SWE 444: Internet & Web Application Development 2.18 CharacteristicsCharacteristics -- UsageUsage Much greater diversity compared to traditional non-Web applications Users vary in numbers, cultural background, devices, h/w, s/w, location etc Social Context (Users) Spontaneity - scalability Heterogeneous groups Technical Context (Network & Devices) Quality-of-Service Multi-platform delivery Natural Context (Place & Time) Globality Availability SWE 444: Internet & Web Application Development 2.19 CharacteristicsCharacteristics -- DevelopmentDevelopment The Development Team Multidisciplinary – print publishing, s/w devt, marketing & computing, art & technology Community (including Open Source) Technical Infrastructure Lack of control on the client side Immaturity Process Flexibility Parallelism Integration Internal – with existing legacy systems External – with Web services Integration issues: correct interaction, guaranteed QoS SWE 444: Internet & Web Application Development 2.20 2.22.2 RequirementsRequirements EngineeringEngineering OverviewOverview IntroductionIntroduction toto RequirementsRequirements EngineeringEngineering FundamentalsFundamentals SpecificsSpecifics inin WebWeb EngineeringEngineering PrinciplesPrinciples AdaptingAdapting traditionaltraditional RequirementsRequirements EngineeringEngineering toto WebWeb applicationsapplications SWE 444: Internet & Web Application Development 2.22 IntroductionIntroduction Requirements Engineering (RE) – the principles, methods, & tools for eliciting, describing, validating, and managing