Sei sulla pagina 1di 32

An Introduction to Web Engineering

Week 1

Syllabus

http://www.csun.edu/~twang/595WEB/Syllab p // / g/ / y us

Introduction Session

Introduce I t d yourself lf
Name,majors,expertise,experiences,keywordsrelatedto webengineering. engineering

Software Project Success Rate


Data on 280,000 projects completed in 2000 - Standish Group Data

http://www.softwaremag.com/archive/2001feb/CollaborativeMgt.html

Definition of Software Engineering

Software f Engineering g gisdefined f asthe applicationofscienceandmathematicsby p of fcomputer p equipment q p whichthecapabilities aremadeusefultomanviacomputer programs, p g ,p procedures, ,andassociated documentation.

A Survey by the Cutter Consortium

ThetopproblemareasoflargescaleWeb applicationprojects
Failuretomeetbusinessneeds(84%) Projectscheduledelays(79%) Budgetoverrun(63%) L kof Lack ff functionalities i li i (53%) Poorqualityofdeliverables(52%)

Definition of Web Engineering

WebEngineering g gistheapplication pp of f systematicandquantifiableapproaches (concepts, ( p ,methods, ,techniques, q ,tools) )tocost effectiverequirementsanalysis,design, p ,testing, g,operation, p ,and implementation, maintenanceofhighqualityWebapplications.

Chapter 1: Web-Based Web Based Systems


IntheearlydaysoftheWeb,webuiltsystems usinginformality,urgency,intuition, andart
Informality leadstoaneasyworkenvironment environmentone oneinwhich youcandoyourownthing. Urgency leadstoactionandrapiddecisionmaking. Intuition isanintangiblequalitythatenablesyoutofeel feel your waythroughcomplexsituations. Art leadstoaestheticformandfunctiontosomethingthat pleasesthosewhoencounterit. p

Problemisthisapproachcanandoftendoes leadtoproblems

The Web
Anindispensabletechnology
Invirtuallyeveryaspectofmodernliving

Atransformativetechnology
Changesthewaywedothings Changesthewayweacquireanddisseminateinformation

Anevolvingtechnology Bottomlinehighimpactoneveryoneinthe modernworld

WebApps
ThetermWebapplication (WebApp) encompasses:
everythingfromasimpleWebpagethatmighthelpa consumercomputeanautomobileleasepaymenttoa comprehensivewebsitethatprovidescompletetravel servicesforbusinesspeopleandvacationers. Includedwithinthiscategory g yarecomplete p websites, , specializedfunctionalitywithinwebsites,andinformation processingapplicationsthatresideontheInternetoron anIntranetorExtranet. Extranet

WebApp Attributes
Networkintensiveness Contentsensitive Concurrency Unpredictableload Performance Availability Datadriven Continuousevolution Immediacy Security Aesthetics

WebApp Types
Informational Download Customizable C t i bl Interaction Userinput Transactionoriented Serviceoriented Portals P t l Databaseaccess Datawarehousing

CO OMPLEXITY

UBIQUITOUS
Location-Aware Service Multi-Platform Delivery Customized Service

SEMANTIC WEB
Knowledge Management Recommender System Syndication

COLLABORATIVE
Chat room E-Learning Platform P2P-Service

SOCIAL WEB
Virtual Shared Workspace Collaborative Filtering Weblogs

WORKFLOW-BASED
E-Government B2B Solution TRANSACTIONALPatient Workflow Online Banking Online Shopping Booking System

PORTAL-ORIENTED
Community-Portal Online Shopping Mall Business Portal

INTERACTIVE
Virtual Exhibition News Site Travel Planning

DOCUMENT-CENTRIC
Static Homepage Web Radio Company Web Site

DEVELOPMENT HISTORY

Categories of Web Applications

Why Web Engineering?


AsWebApps becomelargerandmorecomplex,
Informalityremains,butsomedegreeofrequirements gatheringandplanningarenecessary Urgencyremains,butitmustbetemperedbyarecognitionthat decisionsmayhavebroadconsequences Intuitionremains remains,butitmustbeaugmentedbyproven managementandtechnicalpatterns Artremains,butitmustbecomplementedwithsoliddesign

Bottomline:
wemustadapttheoldschoolapproachtotherealitiesofaWeb 2.0world

Chapter 2: Web Engineering


Wedefineitthisway:
an agile,yetdisciplinedframework forbuildingindustry quality WebApps.

Wemustunderstandthemeaningof:
Agile Disciplinedframework Industryquality

Why Agility?
Businessstrategiesandruleschangerapidly Managementdemandsnearinstantaneous responsiveness i ( (evenwhen h such hd demands d are completelyunreasonable Stakeholdersoftendontunderstandthe consequencesoftheWebandkeepchangingtheir mindevenastheydemandrapiddelivery agile eapp approach oac helps e pscopewith t t this sfluidity u d tya and d Anag uncertainty.

What is an Agile Process?


AgileWebengineeringcombinesaphilosophyanda setofdevelopmentguidelines.Thephilosophy encourages:
customersatisfaction earlyincrementaldelivery oftheWebApp small,highlymotivatedprojectteams informalmethods minimalworkproducts overalldevelopmentsimplicity.

What is an Agile Process? (contd) (cont d)

Anagileprocessstressesdeliveryoveranalysisand design(althoughtheseactivitiesarenot discouraged),andactiveandcontinuous communicationbetweendevelopersandcustomers. http://agilemanifesto.org/

Underlying Agility Principles - I


Ourhighestpriorityistosatisfythecustomerthroughearlyand continuousdeliveryofvaluablesoftware. Welcomechangingrequirements,evenlateindevelopment.Agile processesharnesscontinuouschangeforthecustomer'scompetitive advantage. Deliverworkingsoftwareincrementsfrequently,fromasoftenasevery fewdaystoeveryfewmonths, months withapreferencetotheshorter timescales. Businesspeopleanddevelopersmustworktogetherdailythroughoutthe project. Buildprojectsaroundmotivatedpeople.Givethemtheenvironmentand supporttheyneed,andtrustthemtogetthejobdone.Themostefficient andeffectivemethodofconveyinginformationtoandwithina developmentteamisfacetofaceconversation conversation.

Underlying Agility Principles - II


Workingsoftwareistheprimarymeasureofprogress. Agileprocessespromotesustainabledevelopment.Thesponsors, developers, p ,andusersshouldbeabletomaintainaconstantpace p indefinitely. Continuousattentiontotechnicalexcellenceandgooddesignenhances agility. g y Simplicitytheartofmaximizingtheamountofworknotdoneis essential. Thebestarchitectures, architectures requirements, requirements anddesignsemergefromself organizingteams. Atregularintervals,theteamreflectsonhowtobecomemoreeffective, thentunesandadjustsitsbehavioraccordingly. accordingly

What is a WebE Framework?


Aframeworkisasetofactivitiesthatwillalways be performedforevery Webengineeringproject thoughthe natureoftheactivitiesmight g vary ytosuittheproject. p j Eachframeworkactivityiscomposedofasetofactions Actions i encompass
worktasks workproducts q alit assurance quality ass rancepoints, points and projectmilestones

Aframeworkalsohasasetofumbrella umbrellaactivities activities

A Generic Framework

The WebE Framework: Activities


Communication. Involvesheavyinteractionandcollaborationwiththe customer(andotherstakeholders)andencompassesrequirements gatheringandotherrelatedactivities. Planning. EstablishesanincrementalplanfortheWebEwork. Modeling. Encompassesthecreationofmodelsthatassistthedeveloper and dthe h customertobetter b understand d dWebApp b requirementsand dthe h design Construction. CombinesboththegenerationofHTML,XML,Java,and similarcodewithtestingthatisrequiredtouncovererrorsinthecode. code Deployment. DeliversaWebAppincrementtothecustomerwho evaluatesitandprovidesfeedbackbasedontheevaluation.

Adapting the Framework


Adapttotheproblem,totheproject,totheteam,andtothe organizationalculture
Andcontinuetoadaptthroughouttheprojectascircumstanceschange!

Adaptationleadsto:
Overallflowofactivities,actions,andtasksandtheinterdependenciesamongthem Degreetowhichworktasksaredefinedwithineachframeworkactivity Degreetowhichworkproductsareidentifiedandrequired Mannerinwhichqualityassuranceactivitiesareapplied Mannerinwhichprojecttrackingandcontrolactivitiesareapplied Overalldegreeofdetailandrigorwithwhichtheprocessisdescribed Degreetowhichcustomersandotherstakeholdersareinvolvedwiththeproject Levelofautonomygiventothesoftwareprojectteam Degreetowhichteamorganizationandrolesareprescribed

The Influence of Software Engineering

Quality:fosteracontinuousprocessimprovementculture Process:theg gluethatholdsthetechnology gylayers y together g Methods:providethetechnicalhowtos Tools:supportfortheprocessandthemethods

WebE Methods
Communicationmethods Requirementsanalysismethods Designmethods Constructionmethods Testingmethods

What about Tools and Technology?

toolsandtechnology gyarevery yimportant, p , buttheyllworkwellonlyiftheyreusedwithin thecontextofanagileframeworkforWeb engineeringandinconjunctionwithproven methodsforunderstandingtheproblem, designingasolution,andtestingitthoroughly.

WebE Best Practices


Takethetimetounderstandbusinessneedsandproductobjectives,even ifthedetailsoftheWebApp arevague. DescribehowuserswillinteractwiththeWebApp usingascenariobased approach. Alwaysdevelopaprojectplan,evenifitsverybrief. Spend p sometimemodeling gwhatitisthatyoure y going g gtobuild. Reviewthemodelsforconsistencyandquality. Usetoolsandtechnologythatenableyoutoconstructthesystemwithas manyreusablecomponentsaspossible. possible Dontreinventwhenyoucanreuse. DontrelyonearlyuserstodebugtheWebAppdesignanduse comprehensive h testsb before f releasing l the h system.

Lab Activities

Organize g ateam. Notethateachteamconsistsoffour/five students. t d t Submitteaminformationincludingstudent names,studentIDs,andemailaddresses.

(Team) Homework Assignment 1

Studyassigned(Web1.0and)Web2.0 patterns(seethenextslidesforassignment) andprepareforpresentationslides. Presentation P t ti slides lid should h ldi include, l d description,casestudy,andvisual representation t ti (fi (figure) )of feach hpattern. tt Duedateis7:00pm,January31st

(Team) Homework Assignment 1(cont 1(contd) d)

T Team 1 Team 2 Team 3 Team 4 Team 5

SOA SaaS SOA, S S Participation-Collaboration, Asynchronous Particle Update Mashup, RUE, Structured Information The Synchronized Web, Collaborative Tagging Declarative Living and Tag Gardening, Semantic Web

(Team) Homework Assignment 2


StudyWebEngineeringProcesses(Ch.3or relatedmaterials)andpreparefor presentationslides. Presentationslidesshouldinclude,all activitiesandtasksfordevelopingyougroup projects. pm,January y31st Duedateis7:00p

Potrebbero piacerti anche