24
3231 Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 12

3231 Software Engineering

  • Upload
    sheila

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

Lecture 12. 3231 Software Engineering. By Germaine Cheung Hong Kong Computer Institute. Chapter 19 Design Modeling for WebApps. Interface Design Workflow-I. Review information contained in the analysis model and refine as required. Develop a rough sketch of the WebApp interface layout. - PowerPoint PPT Presentation

Citation preview

Page 1: 3231 Software Engineering

3231 Software Engineering

By Germaine CheungHong Kong Computer Institute

Lecture 12

Page 2: 3231 Software Engineering

Chapter 19

Design Modeling for WebApps

Page 3: 3231 Software Engineering

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.

Page 4: 3231 Software Engineering

Mapping User Objectives

objective #1

objective #2

objective #3

objective #4

objective #5

objective #n

List of user objectives

Home page text copy

graphic

graphic, logo, and company name

Navigation menu

Menu bar major functions

Page 5: 3231 Software Engineering

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.

Page 6: 3231 Software Engineering

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.

Page 7: 3231 Software Engineering

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

Page 8: 3231 Software Engineering

Design of Content ObjectsProductComponent

partNumber partName partType description price

createNewItem () displayDescription () display TechSpec

Sensor Camera ControlPanel SoftFeature

CompDescript ion

Photograph

horizontal dimension vertical dimension border style

Schematic

horizontal dimension vertical dimension border style

Video

horizontal dimension vertical dimension border style audio volume

TechDescript ion

text color font style font size line spacing text image size background color

MarketingDescription

text color font style font size line spacing text image size background color

is part of

1

1

1 1..* 0..1 0..1 1

1

Page 9: 3231 Software Engineering

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.

Page 10: 3231 Software Engineering

Content Architecture

Hierarchicalstructure

Grid structure

Linearstructure

Networkstructure

Page 11: 3231 Software Engineering

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.

Page 12: 3231 Software Engineering

MVC Architecture

browser

client

controllermanages user requests selects model behavior selects view response

viewprepares data from model request updates from model presents view selected by controller

modelencapsulates functionality encapsulates content objects incorporates all webApp states

server

external data

behavior request (state change)

data from model

update request

view selection

user request or data

HTML data

Page 13: 3231 Software Engineering

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”

Page 14: 3231 Software Engineering

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

NN3link13

link12

link34

link24

NSU

Page 15: 3231 Software Engineering

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

schematicvideo

MarketingDescription

techDescription

CompDescription

<<navigation link>> purchase ProductComponent

<<navigation link>> show ProductComponent

<<navigation link>> purchase ProductComponent

Page 16: 3231 Software Engineering

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.

Page 17: 3231 Software Engineering

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.

Page 18: 3231 Software Engineering

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. _

Page 19: 3231 Software Engineering

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.

Page 20: 3231 Software Engineering

Patterns Repositories

Hypermedia Design Patterns Repository – http://www.designpattern.lu.unisi.ch/

InteractionPatterns by TomErickson – http://www.pliant.org/personal/Tom_Erickson/InteractionPatterns.html

Web Design Patterns by Martijn vanWelie – http://www.welie.com/patterns/

Improving Web Information Systems with Navigational Patterns – http://www8.org/w8-papers/5b-hypertext-media/improving/improving.html

An HTML 2.0 Pattern Language – http://www.anamorph.com/docs/patterns/default.html

Common Ground - A Pattern Language for HCI Design – http://www.mit.edu/~jtidwell/interaction_patterns.html

Patterns for Personal Web Sites – http://www.rdrop.com/~half/Creations/Writings/Web.patterns/index.html

Indexing Pattern Language – http://www.cs.brown.edu/~rms/InformationStructures/Indexing/Overview.html

Page 21: 3231 Software Engineering

OOHDMObject-Oriented Hypermedia Design Method (OOHDM)

work products

design mechanisms

design concerns

Classes, sub-systems,relationships, attributes

Classification,composition,aggregation,generalizationspecialization

Modeling semanticsof the applicationdomain

conceptual design navigational designabstract interface

designimplementation

Nodes, links, accessstructures, navigationalcontexts, navigationaltransformations

Mapping betweenconceptual andnavigation objects

Takes into account userprofile and task.Emphasis on cognitiveaspects.

Abstract interfaceobjects, responses toexternal events,transformations

Mapping betweennavigation andperceptible objects

Modeling perceptibleobjects, implementingchosen metaphors.Describe interface fornavigational objects

executableWebApp

Resourceprovided bytargetenvironment

Correctness;Applicationperformance;completeness

Page 22: 3231 Software Engineering

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

customercontinuescomponent selection

Page 23: 3231 Software Engineering

Design Metrics

Does the user interface promote usability?Are the aesthetics of the WebApp appropriate for the application domain and pleasing to the user?Is the content designed in a manner that imparts the most information with the least effort?Is navigation efficient and straightforward?Has the WebApp architecture been designed to accommodate the special goals and objectives of WebApp users, the structure of content and functionality, and the flow of navigation required to use the system effectively?Are components designed in a manner that reduces procedural complexity and enhances the correctness, reliability and performance?

Page 24: 3231 Software Engineering

The End