SlideShare a Scribd company logo
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 1
Chapter 13
 WebApp Design
Slide Set to accompany
Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman
Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman
For non-profit educational use only
May be reproduced ONLY for student use at the university level when used in conjunction
with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is
prohibited without the express written permission of the author.
All copyright information MUST appear if these slides are posted on a website for student
use.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 2
Design & WebApps
 When should we emphasize WebApp design?
 when content and function are complex
 when the size of the WebApp encompasses
hundreds of content objects, functions, and analysis
classes
 when the success of the WebApp will have a direct
impact on the success of the business
““There are essentially two basic approaches toThere are essentially two basic approaches to
design: the artistic ideal of expressing yourselfdesign: the artistic ideal of expressing yourself
and the engineering ideal of solving a problemand the engineering ideal of solving a problem
for a customer.”for a customer.”
Jakob NielsenJakob Nielsen
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 3
Design & WebApp Quality
 Security
 Rebuff external attacks
 Exclude unauthorized access
 Ensure the privacy of users/customers
 Availability
 the measure of the percentage of time that a
WebApp is available for use
 Scalability
 Can the WebApp and the systems with which it is
interfaced handle significant variation in user or
transaction volume
 Time to Market
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 4
Quality Dimensions for End-Users
 Time
 How much has a Web site changed since the last upgrade?
 How do you highlight the parts that have changed?
 Structural
 How well do all of the parts of the Web site hold together.
 Are all links inside and outside the Web site working?
 Do all of the images work?
 Are there parts of the Web site that are not connected?
 Content
 Does the content of critical pages match what is supposed to be
there?
 Do key phrases exist continually in highly-changeable pages?
 Do critical pages maintain quality content from version to version?
 What about dynamically generated HTML pages?
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 5
Quality Dimensions for End-Users
 Accuracy and Consistency
 Are today's copies of the pages downloaded the same as
yesterday's? Close enough?
 Is the data presented accurate enough? How do you know?
 Response Time and Latency
 Does the Web site server respond to a browser request
within certain parameters?
 In an E-commerce context, how is the end to end response
time after a SUBMIT?
 Are there parts of a site that are so slow the user declines to
continue working on it?
 Performance
 Is the Browser-Web-Web site-Web-Browser connection quick
enough?
 How does the performance vary by time of day, by load and
usage?
 Is performance adequate for E-commerce applications?
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 6
WebApp Design Goals
 Consistency
 Content should be constructed consistently
 Graphic design (aesthetics) should present a consistent
look across all parts of the WebApp
 Architectural design should establish templates that lead to
a consistent hypermedia structure
 Interface design should define consistent modes of
interaction, navigation and content display
 Navigation mechanisms should be used consistently across
all WebApp elements
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 7
WebApp Design Goals
 Identity
 Establish an “identity” that is appropriate for the business
purpose
 Robustness
 The user expects robust content and functions that are relevant to
the user’s needs
 Navigability
 designed in a manner that is intuitive and predictable
 Visual appeal
 the look and feel of content, interface layout, color
coordination, the balance of text, graphics and other media,
navigation mechanisms must appeal to end-users
 Compatibility
 With all appropriate environments and configurations
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 8
WebE Design Pyramid
Interface
design
Aesthetic design
Content design
Navigation design
Architecture design
Component design
user
technology
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 9
WebApp Interface Design
 Where am I? The interface should
 provide an indication of the WebApp that has been accessed
 inform the user of her location in the content hierarchy.
 What can I do now? The interface should always help the user
understand his current options
 what functions are available?
 what links are live?
 what content is relevant?
 Where have I been, where am I going? The interface must
facilitate navigation.
 Provide a “map” (implemented in a way that is easy to understand)
of where the user has been and what paths may be taken to move
elsewhere within the WebApp.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 10
Effective WebApp Interfaces
 Bruce Tognozzi [TOG01] suggests…
 Effective interfaces are visually apparent and
forgiving, instilling in their users a sense of control.
Users quickly see the breadth of their options, grasp
how to achieve their goals, and do their work.
 Effective interfaces do not concern the user with the
inner workings of the system. Work is carefully and
continuously saved, with full option for the user to
undo any activity at any time.
 Effective applications and services perform a
maximum of work, while requiring a minimum of
information from users.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 11
Interface Design Principles-I
 Anticipation—A WebApp should be designed so that it
anticipates the use’s next move.
 Communication—The interface should communicate the status
of any activity initiated by the user
 Consistency—The use of navigation controls, menus, icons,
and aesthetics (e.g., color, shape, layout)
 Controlled autonomy—The interface should facilitate user
movement throughout the WebApp, but it should do so in a
manner that enforces navigation conventions that have been
established for the application.
 Efficiency—The design of the WebApp and its interface should
optimize the user’s work efficiency, not the efficiency of the
Web engineer who designs and builds it or the client-server
environment that executes it.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 12
Interface Design Principles-II
 Focus—The WebApp interface (and the content it presents) should
stay focused on the user task(s) at hand.
 Fitt’s Law—“The time to acquire a target is a function of the distance to
and size of the target.”
 Human interface objects—A vast library of reusable human interface
objects has been developed for WebApps.
 Latency reduction—The WebApp should use multi-tasking in a way that
lets the user proceed with work as if the operation has been completed.
 Learnability— A WebApp interface should be designed to minimize
learning time, and once learned, to minimize relearning required when
the WebApp is revisited.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 13
Interface Design Principles-III
 Maintain work product integrity—A work product (e.g., a form
completed by the user, a user specified list) must be automatically
saved so that it will not be lost if an error occurs.
 Readability—All information presented through the interface should be
readable by young and old.
 Track state—When appropriate, the state of the user interaction should
be tracked and stored so that a user can logoff and return later to pick
up where she left off.
 Visible navigation—A well-designed WebApp interface provides “the
illusion that users are in the same place, with the work brought to
them.”
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 14
Aesthetic Design
 Don’t be afraid of white space.
 Emphasize content.
 Organize layout elements from top-left to
bottom right.
 Group navigation, content, and function
geographically within the page.
 Don’t extend your real estate with the scrolling
bar.
 Consider resolution and browser window size
when designing layout.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 15
Content Design
 Develops a design representation for content
objects
 For WebApps, a content object is more closely aligned
with a data object for conventional software
 Represents the mechanisms required to
instantiate their relationships to one another.
 analogous to the relationship between analysis classes and
design components described in Chapter 11
 A content object has attributes that include content-
specific information and implementation-specific
attributes that are specified as part of design
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 16
Design of Content Objects
ProductComponent
partNumber
partName
partType
description
price
createNewItem()
displayDescription()
display TechSpec
Sensor Camera ControlPanel SoftFeature
CompDescription
Photograph
horizontal dimension
vertical dimension
border style
Schematic
horizontal dimension
vertical dimension
border style
Video
horizontal dimension
vertical dimension
border style
audiovolume
TechDescription
text color
font style
font size
linespacing
text imagesize
backgroundcolor
MarketingDescription
text color
font style
font size
linespacing
text imagesize
backgroundcolor
is part of
1
1
1 1..* 0..1 0..1 1
1
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 17
Architecture Design
 Content architecture focuses on the manner in which content objects
(or composite objects such as Web pages) are structured for
presentation and navigation.
 The term information architecture is also used to connote structures that
lead to better organization, labeling, navigation, and searching of content
objects.
 WebApp architecture addresses the manner in which the application is
structured to manage user interaction, handle internal processing
tasks, effect navigation, and present content.
 Architecture design is conducted in parallel with interface design,
aesthetic design and content design.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 18
Content Architecture
Hierarchical
structure
Grid
structure
Linear
structure
Network
structure
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 19
MVC Architecture
 The model contains all application specific content and processing
logic, including
 all content objects
 access to external data/information sources,
 all processing functionality that are application specific
 The view contains all interface specific functions and enables
 the presentation of content and processing logic
 access to external data/information sources,
 all processing functionality required by the end-user.
 The controller manages access to the model and the view and
coordinates the flow of data between them.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 20
MVC Architecture
browser
client
controller
manages user requests
selects model behavior
selects view response
view
prepares datafrom model
request updates from model
presents view selected by
controller
model
encapsulates functionality
encapsulates content objects
incorporates all webAppstates
server
external data
behavior request
(state change)
datafrommodel
update request
view selection
user request
or data
HTMLdata
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 21
Navigation Design
 Begins with a consideration of the user
hierarchy and related use-cases
 Each actor may use the WebApp somewhat
differently and therefore have different navigation
requirements
 As each user interacts with the WebApp, she
encounters a series of navigation semantic
units (NSUs)
 NSU—“a set of information and related navigation
structures that collaborate in the fulfillment of a
subset of related user requirements”
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 22
Navigation Semantic Units
 Navigation semantic unit
 Ways of navigation (WoN)—represents the best navigation
way or path for users with certain profiles to achieve their
desired goal or sub-goal. Composed of …
• Navigation nodes (NN) connected by Navigation links
NN1
NN2
NN4
NN3
link13
link12
link34
link24
NSU
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 23
Creating an NSU
<<navigation link>>
select Room
Room
<<navigation link>>
recommend component(s)
ProductComponent
BillOfMaterials
<<navigation link>>
view BillOfMaterials
<<navigation link>>
show description<<navigation link>>
return to Room
<<navigation link>>
request alternative
photograph
schematic
video
MarketingDescription
techDescription
CompDescription
<<navigation link>>
purchase ProductComponent
<<navigation link>>
show ProductComponent
<<navigation link>>
purchase ProductComponent
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 24
Navigation Syntax
 Individual navigation link—text-based links, icons,
buttons and switches, and graphical metaphors..
 Horizontal navigation bar—lists major content or
functional categories in a bar containing appropriate
links. In general, between 4 and 7 categories are listed.
 Vertical navigation column
 lists major content or functional categories
 lists virtually all major content objects within the WebApp.
 Tabs—a metaphor that is nothing more than a variation
of the navigation bar or column, representing content or
functional categories as tab sheets that are selected
when a link is required.
 Site maps—provide an all-inclusive tab of contents for
navigation to all content objects and functionality
contained within the WebApp.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 25
Component-Level Design
 WebApp components implement the following
functionality
 perform localized processing to generate content and
navigation capability in a dynamic fashion
 provide computation or data processing capability
that are appropriate for the WebApp’s business
domain
 provide sophisticated database query and access
 establish data interfaces with external corporate
systems.
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 26
OOHDM
 Object-Oriented Hypermedia Design Method (OOHDM)
work product s
design mechanisms
design concerns
Classes,sub-systems,
relationships,attributes
Classification,
composition,
aggregation,
generalization
specialization
Modelingsemantics
oftheapplication
domain
conceptual design navigational design
abstract interface
design
implementation
Nodes,links,access
structures,navigational
contexts,navigational
transformations
Mappingbetween
conceptual and
navigationobjects
Takesintoaccountuser
profileandtask.
Emphasisoncognitive
aspects.
Abstractinterface
objects,responsesto
external events,
transformations
Mappingbetween
navigationand
perceptibleobjects
Modelingperceptible
objects,implementing
chosenmetaphors.
Describeinterfacefor
navigational objects
executable
WebApp
Resource
providedby
target
environment
Correctness;
Application
performance;
completeness
These slides are designed to
accompany Software Engineering: A
Practitioner’s Approach, 7/e (McGraw-
Hill, 2009) Slides copyright 2009 by
Roger Pressman. 27
Conceptual Schema
BillOfMaterials
identifier
BoMList
numberItems
priceTotal
addEntry()
deleteEntry ()
editEntry()
name()
computePrice()
BoMItem
quantity
partNumber
partName
partType
price
addtoList ()
deletefromList ()
getNextListEntry ()
ProductComponent
partNumber
partName
partType
description
price
createNewItem()
getDescription()
getTechSpec
Sensor Camera ControlPanel SoftFeature
customer selects component
Order
orderNumber
customerInfo
billOfMaterials
shippingInfo
billingInfo
Room
roomName
dimensions
exteriorWindows
exteriorDoors
component recommendation
requested
customer
requests purchase
customercontinues
component selection

More Related Content

What's hot

SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
Abrar ali
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
ppp mmm
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
RohitGoyal183
 
Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)
BALAJI A
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
NayyabMirTahir
 
SE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGSE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERING
Abrar ali
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
Preeti Mishra
 
Process models
Process modelsProcess models
Process models
Student
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
Priyanka Shetty
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
Mohammed Romi
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
Sharbani Bhattacharya
 
Ch01 SE
Ch01 SECh01 SE
Ch01 SE
mahirazainab
 
Mobile Information Architecture
Mobile Information ArchitectureMobile Information Architecture
Mobile Information Architecture
Lifna C.S
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
Ian Sommerville
 
Chapter 12 user interface design
Chapter 12 user interface designChapter 12 user interface design
Chapter 12 user interface design
SHREEHARI WADAWADAGI
 
User interface-design
User interface-designUser interface-design
User interface-design
DarkHorse Technologies Pvt Ltd
 
Software engineering project(srs)!!
Software engineering project(srs)!!Software engineering project(srs)!!
Software engineering project(srs)!!
sourav verma
 

What's hot (20)

SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
SE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGSE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERING
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
 
Process models
Process modelsProcess models
Process models
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Ch01 SE
Ch01 SECh01 SE
Ch01 SE
 
Mobile Information Architecture
Mobile Information ArchitectureMobile Information Architecture
Mobile Information Architecture
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Chapter 12 user interface design
Chapter 12 user interface designChapter 12 user interface design
Chapter 12 user interface design
 
User interface-design
User interface-designUser interface-design
User interface-design
 
Software engineering project(srs)!!
Software engineering project(srs)!!Software engineering project(srs)!!
Software engineering project(srs)!!
 

Similar to Chapter 13

Seii unit5 ui_design
Seii unit5 ui_designSeii unit5 ui_design
Seii unit5 ui_design
Ahmad sohail Kakar
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
VandanaVipparthi
 
Web01 091024130908-phpapp01
Web01 091024130908-phpapp01Web01 091024130908-phpapp01
Web01 091024130908-phpapp01
Jay Patel
 
Software Design.pptx
Software Design.pptxSoftware Design.pptx
Software Design.pptx
nandhini manoharan
 
software
softwaresoftware
software
mansab MIRZA
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
Saqib Raza
 
Effective Software Process The Software Quality Dilemma
Effective Software Process The Software Quality DilemmaEffective Software Process The Software Quality Dilemma
Effective Software Process The Software Quality Dilemma
hossamsetra1
 
Agile Development software engineering process model
Agile Development software engineering process modelAgile Development software engineering process model
Agile Development software engineering process model
GovadaDhana
 
Chapter_03.ppt
Chapter_03.pptChapter_03.ppt
Chapter_03.ppt
oluobes
 
Does your website have these elements of responsive web design?
Does your website have these elements of responsive web design? Does your website have these elements of responsive web design?
Does your website have these elements of responsive web design?
Experience Dynamics
 
Slides chapter 19
Slides chapter 19Slides chapter 19
Slides chapter 19
Priyanka Shetty
 
Chapter_25.ppt
Chapter_25.pptChapter_25.ppt
Chapter_25.ppt
PranavHirulkar1
 
Slides chapter 16
Slides chapter 16Slides chapter 16
Slides chapter 16
Priyanka Shetty
 
Designing usable web applications (part 1) experience dynamics web seminar
Designing usable web applications (part 1)  experience dynamics web seminarDesigning usable web applications (part 1)  experience dynamics web seminar
Designing usable web applications (part 1) experience dynamics web seminar
Experience Dynamics
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
Deniz Kılınç
 
Chapter_14 sp1718.ppt
Chapter_14 sp1718.pptChapter_14 sp1718.ppt
Chapter_14 sp1718.ppt
ahmedmagdy733949
 
1.Design Modelling for Web Apps.pdf software engineering
1.Design Modelling for Web Apps.pdf software engineering1.Design Modelling for Web Apps.pdf software engineering
1.Design Modelling for Web Apps.pdf software engineering
SukhmanSingh91
 
WebE_chapter_16.ppt
WebE_chapter_16.pptWebE_chapter_16.ppt
WebE_chapter_16.ppt
UsamaPatel9
 
Web engineering
Web engineeringWeb engineering
Web engineering
•sreejith •sree
 
How to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology ChoicesHow to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology Choices
Minds Task Technologies
 

Similar to Chapter 13 (20)

Seii unit5 ui_design
Seii unit5 ui_designSeii unit5 ui_design
Seii unit5 ui_design
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Web01 091024130908-phpapp01
Web01 091024130908-phpapp01Web01 091024130908-phpapp01
Web01 091024130908-phpapp01
 
Software Design.pptx
Software Design.pptxSoftware Design.pptx
Software Design.pptx
 
software
softwaresoftware
software
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
 
Effective Software Process The Software Quality Dilemma
Effective Software Process The Software Quality DilemmaEffective Software Process The Software Quality Dilemma
Effective Software Process The Software Quality Dilemma
 
Agile Development software engineering process model
Agile Development software engineering process modelAgile Development software engineering process model
Agile Development software engineering process model
 
Chapter_03.ppt
Chapter_03.pptChapter_03.ppt
Chapter_03.ppt
 
Does your website have these elements of responsive web design?
Does your website have these elements of responsive web design? Does your website have these elements of responsive web design?
Does your website have these elements of responsive web design?
 
Slides chapter 19
Slides chapter 19Slides chapter 19
Slides chapter 19
 
Chapter_25.ppt
Chapter_25.pptChapter_25.ppt
Chapter_25.ppt
 
Slides chapter 16
Slides chapter 16Slides chapter 16
Slides chapter 16
 
Designing usable web applications (part 1) experience dynamics web seminar
Designing usable web applications (part 1)  experience dynamics web seminarDesigning usable web applications (part 1)  experience dynamics web seminar
Designing usable web applications (part 1) experience dynamics web seminar
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Chapter_14 sp1718.ppt
Chapter_14 sp1718.pptChapter_14 sp1718.ppt
Chapter_14 sp1718.ppt
 
1.Design Modelling for Web Apps.pdf software engineering
1.Design Modelling for Web Apps.pdf software engineering1.Design Modelling for Web Apps.pdf software engineering
1.Design Modelling for Web Apps.pdf software engineering
 
WebE_chapter_16.ppt
WebE_chapter_16.pptWebE_chapter_16.ppt
WebE_chapter_16.ppt
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
How to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology ChoicesHow to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology Choices
 

Recently uploaded

AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 

Recently uploaded (20)

AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 

Chapter 13

  • 1. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 1 Chapter 13  WebApp Design Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use.
  • 2. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 2 Design & WebApps  When should we emphasize WebApp design?  when content and function are complex  when the size of the WebApp encompasses hundreds of content objects, functions, and analysis classes  when the success of the WebApp will have a direct impact on the success of the business ““There are essentially two basic approaches toThere are essentially two basic approaches to design: the artistic ideal of expressing yourselfdesign: the artistic ideal of expressing yourself and the engineering ideal of solving a problemand the engineering ideal of solving a problem for a customer.”for a customer.” Jakob NielsenJakob Nielsen
  • 3. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 3 Design & WebApp Quality  Security  Rebuff external attacks  Exclude unauthorized access  Ensure the privacy of users/customers  Availability  the measure of the percentage of time that a WebApp is available for use  Scalability  Can the WebApp and the systems with which it is interfaced handle significant variation in user or transaction volume  Time to Market
  • 4. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 4 Quality Dimensions for End-Users  Time  How much has a Web site changed since the last upgrade?  How do you highlight the parts that have changed?  Structural  How well do all of the parts of the Web site hold together.  Are all links inside and outside the Web site working?  Do all of the images work?  Are there parts of the Web site that are not connected?  Content  Does the content of critical pages match what is supposed to be there?  Do key phrases exist continually in highly-changeable pages?  Do critical pages maintain quality content from version to version?  What about dynamically generated HTML pages?
  • 5. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 5 Quality Dimensions for End-Users  Accuracy and Consistency  Are today's copies of the pages downloaded the same as yesterday's? Close enough?  Is the data presented accurate enough? How do you know?  Response Time and Latency  Does the Web site server respond to a browser request within certain parameters?  In an E-commerce context, how is the end to end response time after a SUBMIT?  Are there parts of a site that are so slow the user declines to continue working on it?  Performance  Is the Browser-Web-Web site-Web-Browser connection quick enough?  How does the performance vary by time of day, by load and usage?  Is performance adequate for E-commerce applications?
  • 6. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 6 WebApp Design Goals  Consistency  Content should be constructed consistently  Graphic design (aesthetics) should present a consistent look across all parts of the WebApp  Architectural design should establish templates that lead to a consistent hypermedia structure  Interface design should define consistent modes of interaction, navigation and content display  Navigation mechanisms should be used consistently across all WebApp elements
  • 7. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 7 WebApp Design Goals  Identity  Establish an “identity” that is appropriate for the business purpose  Robustness  The user expects robust content and functions that are relevant to the user’s needs  Navigability  designed in a manner that is intuitive and predictable  Visual appeal  the look and feel of content, interface layout, color coordination, the balance of text, graphics and other media, navigation mechanisms must appeal to end-users  Compatibility  With all appropriate environments and configurations
  • 8. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 8 WebE Design Pyramid Interface design Aesthetic design Content design Navigation design Architecture design Component design user technology
  • 9. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 9 WebApp Interface Design  Where am I? The interface should  provide an indication of the WebApp that has been accessed  inform the user of her location in the content hierarchy.  What can I do now? The interface should always help the user understand his current options  what functions are available?  what links are live?  what content is relevant?  Where have I been, where am I going? The interface must facilitate navigation.  Provide a “map” (implemented in a way that is easy to understand) of where the user has been and what paths may be taken to move elsewhere within the WebApp.
  • 10. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 10 Effective WebApp Interfaces  Bruce Tognozzi [TOG01] suggests…  Effective interfaces are visually apparent and forgiving, instilling in their users a sense of control. Users quickly see the breadth of their options, grasp how to achieve their goals, and do their work.  Effective interfaces do not concern the user with the inner workings of the system. Work is carefully and continuously saved, with full option for the user to undo any activity at any time.  Effective applications and services perform a maximum of work, while requiring a minimum of information from users.
  • 11. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 11 Interface Design Principles-I  Anticipation—A WebApp should be designed so that it anticipates the use’s next move.  Communication—The interface should communicate the status of any activity initiated by the user  Consistency—The use of navigation controls, menus, icons, and aesthetics (e.g., color, shape, layout)  Controlled autonomy—The interface should facilitate user movement throughout the WebApp, but it should do so in a manner that enforces navigation conventions that have been established for the application.  Efficiency—The design of the WebApp and its interface should optimize the user’s work efficiency, not the efficiency of the Web engineer who designs and builds it or the client-server environment that executes it.
  • 12. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 12 Interface Design Principles-II  Focus—The WebApp interface (and the content it presents) should stay focused on the user task(s) at hand.  Fitt’s Law—“The time to acquire a target is a function of the distance to and size of the target.”  Human interface objects—A vast library of reusable human interface objects has been developed for WebApps.  Latency reduction—The WebApp should use multi-tasking in a way that lets the user proceed with work as if the operation has been completed.  Learnability— A WebApp interface should be designed to minimize learning time, and once learned, to minimize relearning required when the WebApp is revisited.
  • 13. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 13 Interface Design Principles-III  Maintain work product integrity—A work product (e.g., a form completed by the user, a user specified list) must be automatically saved so that it will not be lost if an error occurs.  Readability—All information presented through the interface should be readable by young and old.  Track state—When appropriate, the state of the user interaction should be tracked and stored so that a user can logoff and return later to pick up where she left off.  Visible navigation—A well-designed WebApp interface provides “the illusion that users are in the same place, with the work brought to them.”
  • 14. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 14 Aesthetic Design  Don’t be afraid of white space.  Emphasize content.  Organize layout elements from top-left to bottom right.  Group navigation, content, and function geographically within the page.  Don’t extend your real estate with the scrolling bar.  Consider resolution and browser window size when designing layout.
  • 15. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 15 Content Design  Develops a design representation for content objects  For WebApps, a content object is more closely aligned with a data object for conventional software  Represents the mechanisms required to instantiate their relationships to one another.  analogous to the relationship between analysis classes and design components described in Chapter 11  A content object has attributes that include content- specific information and implementation-specific attributes that are specified as part of design
  • 16. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 16 Design of Content Objects ProductComponent partNumber partName partType description price createNewItem() displayDescription() display TechSpec Sensor Camera ControlPanel SoftFeature CompDescription Photograph horizontal dimension vertical dimension border style Schematic horizontal dimension vertical dimension border style Video horizontal dimension vertical dimension border style audiovolume TechDescription text color font style font size linespacing text imagesize backgroundcolor MarketingDescription text color font style font size linespacing text imagesize backgroundcolor is part of 1 1 1 1..* 0..1 0..1 1 1
  • 17. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 17 Architecture Design  Content architecture focuses on the manner in which content objects (or composite objects such as Web pages) are structured for presentation and navigation.  The term information architecture is also used to connote structures that lead to better organization, labeling, navigation, and searching of content objects.  WebApp architecture addresses the manner in which the application is structured to manage user interaction, handle internal processing tasks, effect navigation, and present content.  Architecture design is conducted in parallel with interface design, aesthetic design and content design.
  • 18. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 18 Content Architecture Hierarchical structure Grid structure Linear structure Network structure
  • 19. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 19 MVC Architecture  The model contains all application specific content and processing logic, including  all content objects  access to external data/information sources,  all processing functionality that are application specific  The view contains all interface specific functions and enables  the presentation of content and processing logic  access to external data/information sources,  all processing functionality required by the end-user.  The controller manages access to the model and the view and coordinates the flow of data between them.
  • 20. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 20 MVC Architecture browser client controller manages user requests selects model behavior selects view response view prepares datafrom model request updates from model presents view selected by controller model encapsulates functionality encapsulates content objects incorporates all webAppstates server external data behavior request (state change) datafrommodel update request view selection user request or data HTMLdata
  • 21. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 21 Navigation Design  Begins with a consideration of the user hierarchy and related use-cases  Each actor may use the WebApp somewhat differently and therefore have different navigation requirements  As each user interacts with the WebApp, she encounters a series of navigation semantic units (NSUs)  NSU—“a set of information and related navigation structures that collaborate in the fulfillment of a subset of related user requirements”
  • 22. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 22 Navigation Semantic Units  Navigation semantic unit  Ways of navigation (WoN)—represents the best navigation way or path for users with certain profiles to achieve their desired goal or sub-goal. Composed of … • Navigation nodes (NN) connected by Navigation links NN1 NN2 NN4 NN3 link13 link12 link34 link24 NSU
  • 23. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 23 Creating an NSU <<navigation link>> select Room Room <<navigation link>> recommend component(s) ProductComponent BillOfMaterials <<navigation link>> view BillOfMaterials <<navigation link>> show description<<navigation link>> return to Room <<navigation link>> request alternative photograph schematic video MarketingDescription techDescription CompDescription <<navigation link>> purchase ProductComponent <<navigation link>> show ProductComponent <<navigation link>> purchase ProductComponent
  • 24. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 24 Navigation Syntax  Individual navigation link—text-based links, icons, buttons and switches, and graphical metaphors..  Horizontal navigation bar—lists major content or functional categories in a bar containing appropriate links. In general, between 4 and 7 categories are listed.  Vertical navigation column  lists major content or functional categories  lists virtually all major content objects within the WebApp.  Tabs—a metaphor that is nothing more than a variation of the navigation bar or column, representing content or functional categories as tab sheets that are selected when a link is required.  Site maps—provide an all-inclusive tab of contents for navigation to all content objects and functionality contained within the WebApp.
  • 25. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 25 Component-Level Design  WebApp components implement the following functionality  perform localized processing to generate content and navigation capability in a dynamic fashion  provide computation or data processing capability that are appropriate for the WebApp’s business domain  provide sophisticated database query and access  establish data interfaces with external corporate systems.
  • 26. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 26 OOHDM  Object-Oriented Hypermedia Design Method (OOHDM) work product s design mechanisms design concerns Classes,sub-systems, relationships,attributes Classification, composition, aggregation, generalization specialization Modelingsemantics oftheapplication domain conceptual design navigational design abstract interface design implementation Nodes,links,access structures,navigational contexts,navigational transformations Mappingbetween conceptual and navigationobjects Takesintoaccountuser profileandtask. Emphasisoncognitive aspects. Abstractinterface objects,responsesto external events, transformations Mappingbetween navigationand perceptibleobjects Modelingperceptible objects,implementing chosenmetaphors. Describeinterfacefor navigational objects executable WebApp Resource providedby target environment Correctness; Application performance; completeness
  • 27. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw- Hill, 2009) Slides copyright 2009 by Roger Pressman. 27 Conceptual Schema BillOfMaterials identifier BoMList numberItems priceTotal addEntry() deleteEntry () editEntry() name() computePrice() BoMItem quantity partNumber partName partType price addtoList () deletefromList () getNextListEntry () ProductComponent partNumber partName partType description price createNewItem() getDescription() getTechSpec Sensor Camera ControlPanel SoftFeature customer selects component Order orderNumber customerInfo billOfMaterials shippingInfo billingInfo Room roomName dimensions exteriorWindows exteriorDoors component recommendation requested customer requests purchase customercontinues component selection