software engineering lecture 23: web engineering
TRANSCRIPT
![Page 1: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/1.jpg)
Software Engineering
Lecture 23: Web Engineering
![Page 2: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/2.jpg)
Today’s Topics Software and the World Wide Web Implications and Challenges Application & Technology Types The WebE Process Analysis, Design & Testing Issues Management Issues
![Page 3: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/3.jpg)
The Wild, Wild Web Chaotic growth and application of new
technology “Get it done fast, get it on the web, fix it up later” Little, attention paid to software process (ad hoc
approach) Very rapid software development, strict
performance requirements, high technical risk
![Page 4: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/4.jpg)
Implications Very high cost of software construction and
maintenance Poor software infrastructure for long-term
support Lack of software quality
In the days ahead - as the dot-com revolution slows and investors look for sound business models, planning, and profitability - an engineered approach to web software will grow in importance…
![Page 5: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/5.jpg)
ChallengesHow to adapt SE methods?
WebApps have these attributes:
Network Intensivelarge-scale client-server (Internet)
Content-Driventext, graphics, audio, video, …
Continuous Evolutionsome sites are updated hourly
![Page 6: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/6.jpg)
Challenges [2] Immediacy
time to market = days or weeks Security
difficult to control accessstrong security measures required
Aestheticslook & feel > technical design?
![Page 7: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/7.jpg)
Application Categories Informational
read-only content, simple linking Download
variety of data types downloaded Customizable
user personalizes site content Interaction
supports community of users
![Page 8: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/8.jpg)
Categories [2] User Input
HTML forms-based input data Transaction-Oriented
user requests (e.g. on-line orders) Service-Oriented
searches, advice, brokering, etc. Portal
links a variety of content, services
![Page 9: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/9.jpg)
Database Accessquery & extract information
Data Warehousingaccess collections of databases
Categories [3]
![Page 10: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/10.jpg)
Defining Quality[from SEPA 5/e]
![Page 11: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/11.jpg)
Fundamental Technology Component-Based Development
CORBA, COM/DCOM, EJB:web deployment architectures
Securitypolicy & appropriate design
Internet StandardsHTML, XML, HTTP, CGI, etc.:web communication protocols
![Page 12: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/12.jpg)
The WebE Process Immediacy & continuous evolution
iterative, incremental process User population is diverse
extensive user modeling Architecture is highly specialized
complex design Content emphasizes aesthetics
content designed in parallel
![Page 13: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/13.jpg)
WebE Process Model[from SEPA 5/e]
![Page 14: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/14.jpg)
Formulation General Questions• What is the motivation for the app?
• Why is the app needed?
• Who will use the app?
Specific Goals• Informational Goals
content & information provided
• Applicative Goalsability to perform specified tasks
Statement of Scope (Integration)
![Page 15: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/15.jpg)
Analysis Content Analysisidentify, model content spectrum
Interaction Analysisuse cases, sequence diagrams
Functional Analysisspecify all required operations
Configuration Analysisspecify environment, infrastructure
Accurate estimates of schedule & costdepend on a detailed analysis!
![Page 16: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/16.jpg)
The “Designer’s Dilemma”
“Solve the immediate business problem, while defining an architecture than can evolve over time”
Otherwise, you make compromises that force costly rework or a loss of quality over time
![Page 17: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/17.jpg)
Four Design Elements Design Principles & Methods
modularity & information hiding;UML modeling & O-O design
Golden Rulesdesign heuristics for hypermedia
Design Patternsfunctions, documents, graphics,…
Templatesreusable, skeletal structures
![Page 18: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/18.jpg)
Architecture DesignDefine overall site structure: Linear Structures
predictable sequence of operations Grid Structures
two-dimensional categorization Hierarchical Structures
“convenience vs. confusion” Networked
“flexibility vs. confusion”
![Page 19: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/19.jpg)
Linear Structures [from SEPA 5/e]
![Page 20: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/20.jpg)
GridStructure
[from SEPA 5/e]
![Page 21: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/21.jpg)
Hierarchical Structure [from SEPA 5/e]
![Page 22: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/22.jpg)
[from SEPA 5/e]NetworkedStructure
![Page 23: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/23.jpg)
Hypertext Design Patterns Cycle
return to previously visited node Web Ring
“grand tour” of a subject Contour
intersecting cycles Counterpoint
provide additional narrative
![Page 24: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/24.jpg)
Design Patterns [2] Mirrorworld
provide alternate perspectives Sieve
provide choices which guide user Neighborhood
consistent navigation overlay
![Page 25: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/25.jpg)
Navigation Design
“Defining pathways to content and services”: Identify differing user navigation requirements &
goalswill differ per user type
Define the mechanics of achieving navigationmay differ per user type
![Page 26: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/26.jpg)
Navigation [2] Select from available mechanisms links, buttons,
imagemaps, menus Optimize navigation
minimize user effort Respect other criteria
site aesthetics & content design Adopt conventions
audiovisual cues, feedback, maps
![Page 27: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/27.jpg)
Interface Design “First impression is everything” Server errors are deadly Minimize volumes of text Avoid “under construction” signs Avoid long pages & scrolling Navigation aids everywhere Functionality > Aesthetics
![Page 28: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/28.jpg)
Testing Web Applications Review the content model
like copy-editing written docs Review the design model
identify navigation errors Unit test components & pages
content, links, forms, scripts, etc. Integration testing
build & test the architecture;thread-based testing on use cases
![Page 29: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/29.jpg)
Testing [2] Perform validation testing
test all user-visible actions, output Perform cross-platform testing
hardware, OS, browser, etc. Perform user testing
tester population covers all possible user roles
![Page 30: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/30.jpg)
The WebE Team Content developers & providers
sales, marketing, research, … Web publisher
liaison between technical staff and content developers
Web engineerSE activities, web technologies
![Page 31: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/31.jpg)
WebE Team [2] Support specialist
continuing day-to-day support Administrator (“Webmaster”)
day-to-day operation• Operational policies
• Support & feedback process
• Security policy & procedures
• Traffic analysis
• Change control & support coordination
![Page 32: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/32.jpg)
Management & Outsourcing Many web apps are outsourced to development
specialistsanalyze, specify & plan internally
Little historical data, metricsdefine explicit progress reviews
Accurate estimation, risk planning & scheduling require detailed understanding of scopeconstant communication
![Page 33: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/33.jpg)
Configuration Management Haphazard updates are dangerous:
• Unauthorized posting of new info
• Erroneous or poorly-tested functions
• Security holes
• “Economically unpleasant consequences”
Four issues: content, people, scalability, politics
![Page 34: Software Engineering Lecture 23: Web Engineering](https://reader033.vdocument.in/reader033/viewer/2022052603/56649f225503460f94c3a002/html5/thumbnails/34.jpg)
Questions?