SlideShare une entreprise Scribd logo
1  sur  30
CHAPTER 19
DESIGN MODELING FOR WEBAPPS

1

Lizelle Eunice F. Taruc
DESIGN & WEBAPPLICATION


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

2
DESIGN & WEBAPP QUALITY


Security
Rebuff external attacks
 Exclude unauthorized access
 Ensure the privacy of users/customers




Availability




Scalability




the measure of the percentage of time that a WebApp is
available for use
Can the WebApp and the systems with which it is
interfaced handle significant variation in user or
transaction volume

Time to Market
3
QUALITY DIMENSIONS FOR ENDUSERS







Time
Structural
Content
Accuracy and Consistency
Response Time and Latency
Performance

4
WEBAPP DESIGN GOALS
Consistency
 Identity
 Robustness
 Navigability
 Visual appeal
 Compatibility


5
WEBE DESIGN PYRAMID
user

Interface
design
Aesthetic design
Content design
Navigation design
Architecture design
Component design
technology

6
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
7
understand) of where the user has been and what paths may be
taken to move elsewhere within the WebApp.
EFFECTIVE WEBAPP INTERFACES


Bruce Tognozzi 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.

8
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 clientserver environment that executes it.

9
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 multitasking 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.

10
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.”

11
INTERFACE DESIGN WORKFLOW-I
Review information contained in the analysis
model and refine as required.
 Develop a rough sketch of the WebApp interface
layout.
 Map user objectives into specific interface
actions.
 Define a set of user tasks that are associated
with each action.
 Storyboard screen images for each interface
action.
 Refine interface layout and storyboards using
input from aesthetic design.


12
MAPPING USER OBJECTIVES
Menu bar
major functions

List of user object ives

graphic, logo, and company name
object ive #1
object ive #2
object ive #3
object ive #4
object ive #5

graphic
object ive #n

Home page text copy
Navigation
menu

13
INTERFACE DESIGN WORKFLOW-II
 Identify

user interface objects that are
required to implement the interface.
 Develop a procedural representation of
the user’s interaction with the interface.
 Develop a behavioral representation of the
interface.
 Describe the interface layout for each
state.
 Refine and review the interface design
model.

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
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 content16
specific information and implementation-specific
attributes that are specified as part of design
DESIGN OF CONTENT OBJECTS
ProductComponent
partNumber
partName
partType
description
price

is part of

1

1

createNewItem ( )
displayDescription ( )
display TechSpec

Sensor

Camera

ControlPanel

CompDescript ion

SoftFeature

1

1
Market ingDescript ion
t ext color
f ont st yle
f ont size
line spacing
t ext image size
background color

1..*

0..1

0..1

Phot ograph

Schemat ic

Video

horizont al dimension
vert ical dimension
border st yle

horizont al dimension
vert ical dimension
border st yle

horizont al dimension
vert ical dimension
border st yle
audio volume

1
TechDescript ion
t ext color
f ont st yle
f ont size
line spacing
t ext image size
background color

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
CONTENT ARCHITECTURE

Linear
structure

Network
structure

Grid
structure

Hierarchical
structure

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
MVC ARCHITECTURE

co n t ro ller

user request
or dat a
browser

manages user request s
select s model behav ior
select s v iew response

behav ior request
( st at e change)

v iew select ion

m o d el
encapsulat es f unct ionalit y
encapsulat es cont ent object s
incorporat es all webApp st at es
client
dat a f rom model

HTML dat a

view

updat e request

prepares dat a from model
request updat es from model
present s v iew select ed by
cont roller

ext ernal dat a

21
serv er
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
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

link 12

NN 2

NN 1

link 24
NN 4

NSU
23

link 13

NN 3

link 34
CREATING AN NSU
<<navigat ion link>>
request alt ernat ive

<<navigat ion link>>
recommend component ( s)
<<navigat ion link>>
select Room

Product Component

<<navigat ion link>>
ret urn t o Room
<<navigat ion link>>
view BillOf Mat erials

<<navigat ion link>>
show Product Component

Room

<<navigat ion link>>
show descript ion
<<navigat ion link>>
purchase Product Component

BillOf Mat erials
CompDescript ion
<<navigat ion link>>
purchase Product Component

Market ingDescript ion
phot ograph
t echDescript ion

24
video

schemat ic
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
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
HYPERMEDIA DESIGN PATTERNS-I






Architectural patterns.
 assist in the design of content and WebApp architecture
 many architectural patterns are available (e.g., Java
Blueprints at java.sun.com/blueprints/)
Component construction patterns.
 recommend methods for combining WebApp components
(e.g., content objects, functions) into composite
components.
Navigation patterns.
 assist in the design of NSUs, navigation links and the
overall navigation flow of the WebApp. _

27
HYPERMEDIA DESIGN PATTERNS-II


Presentation patterns
how to organize user interface control functions for better
usability
 how to show the relationship between a interface action and the
content objects it affects
 how to establish effective content hierarchies, and many others.




Behavior/user interaction patterns
how the interface informs the user of the consequences of a
specific action
 how a user expands content based on usage context and user
desires
 how to best describe the destination that is implied by a link
 how to inform the user about the status of an on-going
interaction, and others.


28
OOHDM
 Object-Oriented

Hypermedia Design Method (OOHDM)
concept ual design

wo r k p r o d u ct s

nav igat ional design

abst ract int erface
design

implement at ion

Classes, sub-systems,
relationships, attributes

Nodes, links, access
structures, navigational
contexts, navigational
transformations

Abstract interface
objects, responses to
external events,
transformations

executable
WebApp

Mapping between
conceptual and
navigation objects

Mapping between
navigation and
perceptible objects

Resource
provided by
target
environment

Takes into account user
profile and task.
Emphasis on cognitive
aspects.

Modeling perceptible
objects, implementing
chosen metaphors.
Describe interface for
navigational objects

Correctness;
Application
performance;
completeness

Classification,
composition,
d e sig n m e ch an ism s aggregation,
generalization
specialization

d e sig n co n ce r n s

Modeling semantics
of the application
domain

29
CONCEPTUAL SCHEMA
cust omer select s component
ProductComponent

component recommendat ion
request ed

partNumber
partName
partType
description
price

BillOfMaterials
identifier
BoMList
numberItems
priceTotal

createNewItem ( )
getDescription ( )
getTechSpec

R
oom
roomName
dimensions
exteriorWindows
exteriorDoors

Sensor

Camera

ControlPanel

addEntry ( )
deleteEntry ( )
editEntry ( )
name( )
computePrice ( )

SoftFeature

BoMItem

cust omercont inues
component select ion
Order
orderNumber
customerInfo
billOfMaterials
shippingInfo
billingInfo

cust omer
request s purchase

quantity
partNumber
partName
partType
price
addtoList ( )
deletefromList ( )
getNextListEntry ( )

30

Contenu connexe

Tendances

Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)Manoj Reddy
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenanceakiara
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 
Basis path testing
Basis path testingBasis path testing
Basis path testingHoa Le
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineeringkirupasuchi1996
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23koolkampus
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteriaUmaselvi_R
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface designPreeti Mishra
 

Tendances (20)

Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Builder pattern
Builder patternBuilder pattern
Builder pattern
 
Software design
Software designSoftware design
Software design
 
Static analysis
Static analysisStatic analysis
Static analysis
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Basis path testing
Basis path testingBasis path testing
Basis path testing
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
 
Cohesion & Coupling
Cohesion & Coupling Cohesion & Coupling
Cohesion & Coupling
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
System Modelling
System ModellingSystem Modelling
System Modelling
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
Design notation
Design notationDesign notation
Design notation
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
 

En vedette (10)

Chapter 13
Chapter 13Chapter 13
Chapter 13
 
Slides chapter 19
Slides chapter 19Slides chapter 19
Slides chapter 19
 
Oo hdm powerpoint 1
Oo hdm powerpoint 1Oo hdm powerpoint 1
Oo hdm powerpoint 1
 
Metodologia oohdm
Metodologia oohdmMetodologia oohdm
Metodologia oohdm
 
oohdm
oohdmoohdm
oohdm
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
 

Similaire à Software Engineering chapter 19

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 engineeringSukhmanSingh91
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringMeghaj Mallick
 
Lecture14 abap on line
Lecture14 abap on lineLecture14 abap on line
Lecture14 abap on lineMilind Patil
 
Components of a Generic Web Application Architecture
Components of  a Generic Web Application ArchitectureComponents of  a Generic Web Application Architecture
Components of a Generic Web Application ArchitectureMadonnaLamin1
 
Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Shubham Goenka
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdfFariha Tasnim
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdfFariha Tasnim
 
RESUME BUILDER WEB APPLICATION
RESUME BUILDER WEB APPLICATIONRESUME BUILDER WEB APPLICATION
RESUME BUILDER WEB APPLICATIONIRJET Journal
 
demystifying_the_architectures_of_a_mobile_app_development.pptx
demystifying_the_architectures_of_a_mobile_app_development.pptxdemystifying_the_architectures_of_a_mobile_app_development.pptx
demystifying_the_architectures_of_a_mobile_app_development.pptxsarah david
 
Haresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar
 
React JS Components & Its Importance.docx
React JS Components & Its Importance.docxReact JS Components & Its Importance.docx
React JS Components & Its Importance.docxReact Masters
 
Myles_Portfolio
Myles_PortfolioMyles_Portfolio
Myles_PortfolioMike Myles
 
VIPER Architecture
VIPER ArchitectureVIPER Architecture
VIPER ArchitectureAhmed Lotfy
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobilenaral
 
A Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application ArchitectureA Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application Architecturestevefary
 
Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023stevefary
 
CV_portfolio_WZou
CV_portfolio_WZouCV_portfolio_WZou
CV_portfolio_WZouJewelZou
 

Similaire à Software Engineering chapter 19 (20)

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
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
Lecture14 abap on line
Lecture14 abap on lineLecture14 abap on line
Lecture14 abap on line
 
Components of a Generic Web Application Architecture
Components of  a Generic Web Application ArchitectureComponents of  a Generic Web Application Architecture
Components of a Generic Web Application Architecture
 
Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)
 
UI architecture & designing
UI architecture & designingUI architecture & designing
UI architecture & designing
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdf
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdf
 
RESUME BUILDER WEB APPLICATION
RESUME BUILDER WEB APPLICATIONRESUME BUILDER WEB APPLICATION
RESUME BUILDER WEB APPLICATION
 
demystifying_the_architectures_of_a_mobile_app_development.pptx
demystifying_the_architectures_of_a_mobile_app_development.pptxdemystifying_the_architectures_of_a_mobile_app_development.pptx
demystifying_the_architectures_of_a_mobile_app_development.pptx
 
Haresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar - Visual Resume
Haresh Karkar - Visual Resume
 
React JS Components & Its Importance.docx
React JS Components & Its Importance.docxReact JS Components & Its Importance.docx
React JS Components & Its Importance.docx
 
Myles_Portfolio
Myles_PortfolioMyles_Portfolio
Myles_Portfolio
 
VIPER Architecture
VIPER ArchitectureVIPER Architecture
VIPER Architecture
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
 
A Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application ArchitectureA Comprehensive Guide to Web Application Architecture
A Comprehensive Guide to Web Application Architecture
 
Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023Web Application Architecture: A Comprehensive Guide for Success in 2023
Web Application Architecture: A Comprehensive Guide for Success in 2023
 
CV_portfolio_WZou
CV_portfolio_WZouCV_portfolio_WZou
CV_portfolio_WZou
 

Dernier

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 

Dernier (20)

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 

Software Engineering chapter 19

  • 1. CHAPTER 19 DESIGN MODELING FOR WEBAPPS 1 Lizelle Eunice F. Taruc
  • 2. DESIGN & WEBAPPLICATION  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 2
  • 3. DESIGN & WEBAPP QUALITY  Security Rebuff external attacks  Exclude unauthorized access  Ensure the privacy of users/customers   Availability   Scalability   the measure of the percentage of time that a WebApp is available for use Can the WebApp and the systems with which it is interfaced handle significant variation in user or transaction volume Time to Market 3
  • 4. QUALITY DIMENSIONS FOR ENDUSERS       Time Structural Content Accuracy and Consistency Response Time and Latency Performance 4
  • 5. WEBAPP DESIGN GOALS Consistency  Identity  Robustness  Navigability  Visual appeal  Compatibility  5
  • 6. WEBE DESIGN PYRAMID user Interface design Aesthetic design Content design Navigation design Architecture design Component design technology 6
  • 7. 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 7 understand) of where the user has been and what paths may be taken to move elsewhere within the WebApp.
  • 8. EFFECTIVE WEBAPP INTERFACES  Bruce Tognozzi 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. 8
  • 9. 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 clientserver environment that executes it. 9
  • 10. 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 multitasking 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. 10
  • 11. 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.” 11
  • 12. INTERFACE DESIGN WORKFLOW-I Review information contained in the analysis model and refine as required.  Develop a rough sketch of the WebApp interface layout.  Map user objectives into specific interface actions.  Define a set of user tasks that are associated with each action.  Storyboard screen images for each interface action.  Refine interface layout and storyboards using input from aesthetic design.  12
  • 13. MAPPING USER OBJECTIVES Menu bar major functions List of user object ives graphic, logo, and company name object ive #1 object ive #2 object ive #3 object ive #4 object ive #5 graphic object ive #n Home page text copy Navigation menu 13
  • 14. INTERFACE DESIGN WORKFLOW-II  Identify user interface objects that are required to implement the interface.  Develop a procedural representation of the user’s interaction with the interface.  Develop a behavioral representation of the interface.  Describe the interface layout for each state.  Refine and review the interface design model. 14
  • 15. 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
  • 16. 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 content16 specific information and implementation-specific attributes that are specified as part of design
  • 17. DESIGN OF CONTENT OBJECTS ProductComponent partNumber partName partType description price is part of 1 1 createNewItem ( ) displayDescription ( ) display TechSpec Sensor Camera ControlPanel CompDescript ion SoftFeature 1 1 Market ingDescript ion t ext color f ont st yle f ont size line spacing t ext image size background color 1..* 0..1 0..1 Phot ograph Schemat ic Video horizont al dimension vert ical dimension border st yle horizont al dimension vert ical dimension border st yle horizont al dimension vert ical dimension border st yle audio volume 1 TechDescript ion t ext color f ont st yle f ont size line spacing t ext image size background color 17
  • 18. 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
  • 20. 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
  • 21. MVC ARCHITECTURE co n t ro ller user request or dat a browser manages user request s select s model behav ior select s v iew response behav ior request ( st at e change) v iew select ion m o d el encapsulat es f unct ionalit y encapsulat es cont ent object s incorporat es all webApp st at es client dat a f rom model HTML dat a view updat e request prepares dat a from model request updat es from model present s v iew select ed by cont roller ext ernal dat a 21 serv er
  • 22. 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
  • 23. 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 link 12 NN 2 NN 1 link 24 NN 4 NSU 23 link 13 NN 3 link 34
  • 24. CREATING AN NSU <<navigat ion link>> request alt ernat ive <<navigat ion link>> recommend component ( s) <<navigat ion link>> select Room Product Component <<navigat ion link>> ret urn t o Room <<navigat ion link>> view BillOf Mat erials <<navigat ion link>> show Product Component Room <<navigat ion link>> show descript ion <<navigat ion link>> purchase Product Component BillOf Mat erials CompDescript ion <<navigat ion link>> purchase Product Component Market ingDescript ion phot ograph t echDescript ion 24 video schemat ic
  • 25. 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
  • 26. 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
  • 27. HYPERMEDIA DESIGN PATTERNS-I    Architectural patterns.  assist in the design of content and WebApp architecture  many architectural patterns are available (e.g., Java Blueprints at java.sun.com/blueprints/) Component construction patterns.  recommend methods for combining WebApp components (e.g., content objects, functions) into composite components. Navigation patterns.  assist in the design of NSUs, navigation links and the overall navigation flow of the WebApp. _ 27
  • 28. HYPERMEDIA DESIGN PATTERNS-II  Presentation patterns how to organize user interface control functions for better usability  how to show the relationship between a interface action and the content objects it affects  how to establish effective content hierarchies, and many others.   Behavior/user interaction patterns how the interface informs the user of the consequences of a specific action  how a user expands content based on usage context and user desires  how to best describe the destination that is implied by a link  how to inform the user about the status of an on-going interaction, and others.  28
  • 29. OOHDM  Object-Oriented Hypermedia Design Method (OOHDM) concept ual design wo r k p r o d u ct s nav igat ional design abst ract int erface design implement at ion Classes, sub-systems, relationships, attributes Nodes, links, access structures, navigational contexts, navigational transformations Abstract interface objects, responses to external events, transformations executable WebApp Mapping between conceptual and navigation objects Mapping between navigation and perceptible objects Resource provided by target environment Takes into account user profile and task. Emphasis on cognitive aspects. Modeling perceptible objects, implementing chosen metaphors. Describe interface for navigational objects Correctness; Application performance; completeness Classification, composition, d e sig n m e ch an ism s aggregation, generalization specialization d e sig n co n ce r n s Modeling semantics of the application domain 29
  • 30. CONCEPTUAL SCHEMA cust omer select s component ProductComponent component recommendat ion request ed partNumber partName partType description price BillOfMaterials identifier BoMList numberItems priceTotal createNewItem ( ) getDescription ( ) getTechSpec R oom roomName dimensions exteriorWindows exteriorDoors Sensor Camera ControlPanel addEntry ( ) deleteEntry ( ) editEntry ( ) name( ) computePrice ( ) SoftFeature BoMItem cust omercont inues component select ion Order orderNumber customerInfo billOfMaterials shippingInfo billingInfo cust omer request s purchase quantity partNumber partName partType price addtoList ( ) deletefromList ( ) getNextListEntry ( ) 30