Chapter 1: WebChapter 1: Web-Based SystemsBased Systems • In the early days of the Web, we built systems using informality, urgency, intuition,and art – Informalityleads to an easy work environment—one in which you can do your own thing – Urgencyleads to action and rapid decision making
Teach Yourself JAVA in 21 Days M T W T F S S 21 ii P2/V4SQC6 TY Java in 21 Days 030-4 louisa 12 31 95 FM LP#4 Conventions Note: A Note box presents interesting pieces of information related to the surround-ing discussion Technical Note: A Technical Note presents specific technical information related to the surrounding discussion Tip:
and create effective design solutions days 1–4 The Elements of Design At the beginning of the curriculum, easing students into their start with graphic design and the design process is important One of the most difficult aspects of design for students to initially grasp is that graphic design is seldom a representational depiction of an object,
web design Currently living in Chicago, Illinois, Shay is a designer and front-end developer with a passion for solving problems while building creative and intuitive websites He specializes in web and product design and front-end development, specialties that he regularly writes and speaks about
ACCESSIBILITY: Relates to web design/coding standards and refers to how easy it is for everyone to use your website, including people who are visually impaired or in any way physically handicapped, or limited by older or less common computers and software These days with the smaller screen sized tablets and smart-phones, accessibility for use
The goal of the Full Stack Web Developer Nanodegree program is to equip learners with the unique skills they need to build database-backed APIs and web applications A graduate of this program will be able to: • Design and build a database for a software application • Create and deploy a database-backed web API (Application Programming
![An Introduction to Web Engineering An Introduction to Web Engineering](https://pdfprof.com/EN_PDFV2/Docs/PDF_3/135327_3Week1.pdf.jpg)
135327_3Week1.pdf
An Introduction to Web
Engineering
Week 1
SyllabusSyllabus
•htt p : // www.csun.edu / ~twan g/
595WEB
/ S y llab p// / g/ /y us
Introduction SessionIntroduction
Session
It dlf
• I n t ro d uceyourse lf -Name,majors,expertise,experiences,keywordsrelatedto webengineeringweb engineering . Software Project Success RateSoftware Project Success Rate Data on 280,000 projects completed in 2000 -Standish Group Data
Definition of Software EngineeringDefinition
of
Software
Engineering
•So f twareEn g ineerin g isde f inedasthe fgg f applicationofscienceandmathematicsby whichtheca p abilitieso f com p utere q ui p ment pfp qp aremadeusefultomanviacomputerp ro g rams , p rocedures , andassociated pg ,p,documentation .
A Survey by the Cutter ConsortiumA
Survey
by the
Cutter
Consortium
•ThetopproblemareasoflargeͲscaleWeb applicationprojects -Failuretomeetbusinessneeds(84%)-Projectscheduledelays(79%) -Budgetoverrun(63%)
Lkffilii(53%)
- L ac k o f f unct i ona li t i es (53%) -Poorqualityofdeliverables(52%)
Definition ofWeb EngineeringDefinition
of Web
Engineering
•WebEn g ineerin g isthea pp licationo f ggppf systematicandquantifiableapproaches( conce p ts , methods , techni q ues , tools ) tocos t Ͳ ( p, ,q,) effectiverequirementsanalysis,design, im p lementation , testin g , o p eration , and p,g ,p, maintenanceofhighͲqualityWebapplications.
Chapter1:Web
-
Based Systems
Chapter
1: Web Based
Systems
•IntheearlydaysoftheWeb,webuiltsystemsusinginformality,urgency,intuition,andart
Informality
leadstoaneasyworkenvironment oneinwhich -
Informality
leads to an easy work environment - one in which youcandoyourownthing. -Urgencyleadstoactionandrapiddecisionmaking. -
Intuition
isanintangiblequalitythatenablesyouto " feel " your -
Intuition
is an intangible quality that enables you to feel your waythroughcomplexsituations. -Artleadstoaestheticformandfunction - tosomethingthat p leasesthosewhoencounterit. p •Problemis - thisapproachcanandoftendoes leadtoproblemslead to problems
TheWebThe
Web •Anindispensabletechnology -Invirtuallyeveryaspectofmodernliving •Atransformativetechnology -Changesthewaywedothings-
Changesthewayweacquireanddisseminateinformation
•Anevolvingtechnology•Bottomline - highimpactoneveryoneinthe modernworldmodern world
WebAppsWebApps
•ThetermWebapplication(WebApp) encompasses: -everythingfromasimpleWebpagethatmighthelpa consumercomputeanautomobileleasepaymenttoa comprehensivewebsitethatprovidescompletetravelcomprehensive website that provides complete travel servicesforbusinesspeopleandvacationers. -
Includedwithinthiscate
g or y arecom p letewebsites , gyp, specializedfunctionalitywithinwebsites,andinformationͲ processingapplicationsthatresideontheInternetoronanIntranetorExtranetan
Intranet
or
Extranet
.
WebApp
Attributes
WebApp
Attributes
•Networkintensiveness•
Concurrency
•Contentsensitive•
Continuousevolution
•
Concurrency
•Unpredictableload •
Continuous
evolution •Immediacy •Performance•Security•Availability •
Datadriven
•Aesthetics Data driven
WebApp
Types
WebApp
Types •Informational•TransactionͲoriented•Download
Ct ibl
•ServiceͲoriented Ptl • C us t om i za bl e •
Interaction
• P or t a l s •
Databaseaccess
Interaction
•Userinput
Database
access •Datawarehousing TY
UBIQUITOUS
OMPLEXI
COLLABORATIVE
SOCIAL
WEB •Location-Aware Service •Multi-Platform Delivery •Customized Service
SEMANTIC
WEB •Knowledge Management •Recommender System •Syndication CO
WORKFLOW-BASED
•Chat room •E-Learning Platform •P2P-Service
SOCIAL
WEB •Virtual Shared Workspace •Collaborative Filtering •Weblogs
TRANSACTIONAL
•Online Banking •Online Shopping
Booking System
•E-Government •B2B Solution •Patient Workflow
PORTAL-ORIENTED
•Community-Portal •Online Shopping Mall •Business Portal
INTERACTIVE
•Virtual Exhibition •News Site •Travel Planning •
Booking System
DOCUMENT-CENTRIC
•Static Homepage •Web Radio •Company Web Site
DEVELOPMENT HISTORY
Categories of Web Applications
WhyWeb Engineering?Why
Web
Engineering?
•AsWebApps becomelargerandmorecomplex, -Informalityremains,butsomedegreeofrequirements gatheringandplanningarenecessarygathering and planning are necessary -Urgencyremains,butitmustbetemperedbyarecognitionthatdecisionsmayhavebroadconsequences- IntuitionremainsbutitmustbeaugmentedbyprovenIntuition remains , but it must be augmented by proven managementandtechnicalpatterns -Artremains,butitmustbecomplementedwithsoliddesign •Bottomline: -wemustadapttheoldͲschoolapproachtotherealitiesofaWeb2.0world
Chapter 2:
WebEngineering
Chapter
2: Web
Engineering
•Wedefineitthisway: - anagile,yetdisciplinedframework f orbuildingindustryͲ qualityWebApps. •Wemustunderstandthemeaningof: -Agile-Disciplinedframework -Industryquality
Why Agility?Why
Agility?
•
BusinessstrategiesandruleschangerapidlyBusiness
strategies and rules change rapidly •ManagementdemandsnearͲinstantaneous i(hhdd respons i veness ( evenw h ensuc h d eman d sare completelyunreasonable •Stakeholdersoftendon'tunderstandthe consequencesoftheWebandkeepchangingtheir mindevenastheydemandrapiddelivery •An ag il e app r oac hh e l ps cope wi t h t hi s fl u i d i ty a n d ag eapp oacepscopettsudtyad uncertainty.
What is an Agile Process?What
is an Agile
Process?
•AgileWebengineeringcombinesaphilosophyanda setofdevelopmentguidelines.Thephilosophy encourages: -customersatisfaction- earlyincrementaldeliveryoftheWebApp -small,highlymotivatedprojectteamsinformalmethods - informal methods -minimalworkproducts- overalldevelopment simplicity . overall development simplicity .
What is an Agile Process
?(cont " d) What is an Agile
Process
? (contd) • An agileprocessstressesdeliveryoveranalysisand An agile process stresses delivery over analysis and design(althoughtheseactivitiesarenot discouraged),andactiveandcontinuous communicationbetweendevelopersandcustomers. •http://agilemanifesto.org/
Underlying Agility Principles
- I
Underlying
Agility
Principles
I •Ourhighestpriorityistosatisfythecustomerthroughearlyand continuousdeliveryofvaluablesoftware. •Welcomechangingrequirements,evenlateindevelopment.Agile processesharnesscontinuouschangeforthecustomer'scompetitiveprocesses harness continuous change for the customer's competitive advantage. •Deliverworkingsoftwareincrementsfrequently,fromasoftenasevery fewdaystoeveryfewmonthswithapreferencetotheshorterfew days to every few months , with a preference to the shorter timescales. •Businesspeopleanddevelopersmustworktogetherdailythroughoutthe project. •Buildprojectsaroundmotivatedpeople.Givethemtheenvironmentand supporttheyneed,andtrustthemtogetthejobdone.Themostefficient andeffectivemethodofconveyinginformationtoandwithina developmentteamisface to faceconversation development team is face r to r face conversation .
Underlying Agility Principles
- II
Underlying
Agility
Principles
II •Workingsoftwareistheprimarymeasureofprogress. •Agileprocessespromotesustainabledevelopment.Thesponsors, develo p ers , andusersshouldbeabletomaintainaconstant p ace p,p indefinitely. •Continuousattentiontotechnicalexcellenceandgooddesignenhances a g ilit y . gy •Simplicity - theartofmaximizingtheamountofworknotdone - is essential.• The bestarchitecturesrequirementsanddesignsemergefromself • The best architectures , requirements , and designs emerge from self r organizingteams. •Atregularintervals,theteamreflectsonhowtobecomemoreeffective, thentunesandadjustsitsbehavioraccordinglythen tunes and adjusts its behavior accordingly .
What is aWebE Framework?What
is a WebE
Framework?
•AframeworkisasetofactivitiesthatwillalwaysbeperformedforeveryWebengineeringproject- thoughthenatureoftheactivitiesmi
g htvar y tosuitthe p ro j ect. gypj •Eachframeworkactivityiscomposedofasetofactions i •Act i onsencompass -worktasks -workproducts q alitass rancepointsand - q u alit y ass u rance points , and -projectmilestones •
Aframeworkalsohasasetof
" umbrellaactivities " A framework also has a set of umbrella activities
A Generic FrameworkA
Generic
Framework
TheWebE Framework: ActivitiesThe
WebE
Framework:
Activities
•Communication.Involvesheavyinteractionandcollaborationwiththe customer(andotherstakeholders)andencompassesrequirements gatheringandotherrelatedactivities. •Planning.EstablishesanincrementalplanfortheWebEwork. •Modeling.Encompassesthecreationofmodelsthatassistthedeveloper dhbddbdh an d t h ecustomerto b etterun d erstan d We b
Apprequirementsan
d t h e design •Construction.CombinesboththegenerationofHTML,XML,Java,and similarcodewithtestingthatisrequiredtouncovererrorsinthecodesimilar code with testing that is required to uncover errors in the code . •Deployment.DeliversaWebAppincrementtothecustomerwho evaluatesitandprovidesfeedbackbasedontheevaluation.
Adapting the FrameworkAdapting
the
Framework
•Adapttotheproblem,totheproject,totheteam,andtothe organizationalculture •Andcontinuetoadaptthroughouttheprojectascircumstanceschange! •Adaptationleadsto: •Overallflowofactivities,actions,andtasksandtheinterdependenciesamongthem• Degreetowhichworktasksaredefinedwithineachframeworkactivity •
Degree
to which work tasks are defined within each framework activity •Degreetowhichworkproductsareidentifiedandrequired •Mannerinwhichqualityassuranceactivitiesareapplied
•Mannerinwhichprojecttrackingandcontrolactivitiesareapplied•Overalldegreeofdetailandrigorwithwhichtheprocessisdescribed
•Degreetowhichcustomersandotherstakeholdersareinvolvedwiththeproject •Levelofautonomygiventothesoftwareprojectteam • DegreetowhichteamorganizationandrolesareprescribedDegree to which team organization and roles are prescribed
The Influence of Software EngineeringThe
Influence
of
Software
Engineering
•Quality:fosteracontinuousprocessimprovementculture •Process:the g luethatholdsthetechnolo gy la y ersto g ether ggyyg •Methods:providethetechnicalhowͲto's•
Tools:supportfortheprocessandthemethods
•
Tools:
support for the process and the methods
WebE MethodsWebE
Methods
•Communicationmethods •
RequirementsanalysismethodsRequirements
analysis methods •Designmethods•Constructionmethods •Testingmethods
What aboutTools andTechnology?What
about Tools and
Technology?
...toolsandtechnolo gy arever y im p ortant , gyyp, butthey'llworkwellonlyifthey'reusedwithin thecontextofanagileframeworkforWebengineeringandinconjunctionwithprovenengineering and in conjunction with proven methodsforunderstandingtheproblem, designingasolution,andtestingitthoroughly.
WebE Best PracticesWebE
Best
Practices
•Takethetimetounderstandbusinessneedsandproductobjectives,even ifthedetailsoftheWebApp arevague. •DescribehowuserswillinteractwiththeWebApp usingascenarioͲbased approach. •Alwaysdevelopaprojectplan,evenifit'sverybrief. •S p endsometimemodelin g whatitisthat y ou're g oin g tobuild. pgygg •Reviewthemodelsforconsistencyandquality. •Usetoolsandtechnologythatenableyoutoconstructthesystemwithas manyreusablecomponentsaspossiblemany reusable components as possible . •Don'treinventwhenyoucanreuse. •Don'trelyonearlyuserstodebugtheWebApp - designanduse hbflh compre h ensivetests b e f orere l easingt h esystem.
LabActivitiesLab
Activities
•Or g anizeateam. g •Notethateachteamconsistsoffour/five td t s t u d en t s. •
SubmitteaminformationincludingstudentSubmit
team information including student names,studentIDs,andemailaddresses. (Team)Homework Assignment 1(Team)
Homework
Assignment
1 •Studyassigned(Web1.0and)Web2.0 patterns(seethenextslidesforassignment)patterns (see the next slides for assignment) andprepareforpresentationslides.
Pttilidhldild
• P resen t a ti ons lid ess h ou ld i nc l u d e, description,casestudy,andvisual tti(fi )fhtt represen t a ti on (fi gure ) o f eac h pa tt ern. •Duedateis7:00pm,January31 st (Team) Homework Assignment 1(cont " d) (Team)
Homework
Assignment
1(contd)
T 1 SOA SS T eam 1 SOA , S aa S Team 2 Participation-Collaboration, Asynchronous Particle Update Team 3 Mashup, RUE, Structured InformationTeam 4 The Synchronized Web, Collaborative Tagging Team 5 Declarative Living and Tag Gardening, Semantic Web (Team)Homework Assignment 2 (Team)
Homework
Assignment
2 •StudyWebEngineeringProcesses(Ch.3or relatedmaterials) and preparefor related materials) and prepare for presentationslides. •Presentationslidesshouldinclude,all activitiesandtasksfordevelopingyougroup projects. •Duedateis7:00 p m,Januar y 31
st py