web applications and services introduction to web engineering
Post on 28-Dec-2015
227 Views
Preview:
TRANSCRIPT
Today’s Topics Software and the World Wide Web Implications and Challenges Application & Technology Types The WebE Process Analysis, Design & Testing Issues Management Issues
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
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…
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
Challenges [2] Immediacy
time to market = days or weeks Security
difficult to control accessstrong security measures required
Aestheticslook & feel > technical design?
Application Categories Informational
read-only content, simple linking Download
variety of data types downloaded Customizable
user personalizes site content Interaction
supports community of users
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
Database Accessquery & extract information
Data Warehousingaccess collections of databases
Categories [3]
Fundamental Technology Component-Based Development
CORBA, COM/DCOM, EJB:web deployment architectures
Securitypolicy & appropriate design
Internet StandardsHTML, XML, HTTP, CGI, etc.:web communication protocols
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
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)
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!
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
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
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”
Hypertext Design Patterns Cycle
return to previously visited node Web Ring
“grand tour” of a subject Contour
intersecting cycles Counterpoint
provide additional narrative
Design Patterns [2] Mirrorworld
provide alternate perspectives Sieve
provide choices which guide user Neighborhood
consistent navigation overlay
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
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
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
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
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
The WebE Team Content developers & providers
sales, marketing, research, … Web publisher
liaison between technical staff and content developers
Web engineerSE activities, web technologies
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
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
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
top related