Sunteți pe pagina 1din 8

Advanced Software Engineering

Session 4 Analysis Modeling for WebApps (II)


(Detailed Picture of WebApp)

SIT725 Advanced Software Engineering

The Interaction Model

Composed of four elements:


use-cases sequence diagrams state diagrams a user interface prototype Each of these is an important UML notation and can be found from many resources such as O-O modeling, system analysis and design, as well as software engineering.

SIT725 Advanced Software Engineering

Sequence Diagram Example


:Room
new cust omer

:FloorPlan

:Product Component

:Billof Mat erials

FloorPlan Reposit ory

BoM Reposit ory

de sc ribes room * pl ac es room in f loor plan

sav e f loor p lan c onf ig ura t ion

selec t s p roduc t c om ponent * add t o Bo M

sav e bill of m at eria ls

Figure 18.5 Sequence diagram f or use-case:select Saf eHome component s


SIT725 Advanced Software Engineering

State Diagram Example


Validat ing user select log-in syst em st at us= input ready display msg = ent eruserid display msg = ent er pswd ent ry/ log-in request ed do: run user validat ion exit / set user access swit ch userid v alidat ed password validat ed
n e w cu st o m e r

Select ing user act ion select ot her f unct ions sy st em st at us= link ready display : nav igat ion choices ent ry/ validat ed user do: link as required exit / user act ion select ed

c ust omiz at ion complet e select e-c ommerc e (purc hase) f unct ionalit y

selec t cust omizat ion f unc t ionalit y next select ion Cust omizing syst em st at us= input ready display: basic inst ruct ions room being def ined ent ry / validat ed user do: process user select ion exit / cust omiz at ion t erminat ed select descript ive cont ent Def ining room syst em st at us= input ready display: room def . window select descript iv e cont ent Sav ing f loor plan syst em st at us= input ready display: st orage indicat or ent ry / f loor plan sav e select ed do: st ore f loor plan exit / save complet ed

ent ry / roomdef . select ed all rooms do: run room queries def ined do: st ore room v ariables exit / room complet ed Building f loor plan sy st em st at us= input ready display : f loor plan window ent ry/ f loor plan select ed do: insert room in place do: st ore f loor plan variables exit / room insert ion complet ed room insert ion complet ed select descript iv e cont ent

select sav e f loor plan select ent er room in f loor plan

SIT725 Advanced Software Engineering

Figure 1 8 .6 Part ial st at e diagram f or n e w c u s t o m e int r eract ion

Why Are Use-Cases, Sequence Diagrams and State Diagrams Necessary?


They all present related information Use-cases provide a rather one-dimension view of the interaction. Sequence diagrams present a second dimension that is more procedural (dynamic) in nature. State diagrams provide a third dimension that is more behavioral and contains information about potential navigation pathways that are not provided by use-cases or the sequence diagram. When all three dimensions are used, omissions or inconsistencies that might escape discovery in one dimension become obvious when a second (or third) dimension is examined.

SIT725 Advanced Software Engineering

The Functional Model

The functional model addresses two processing elements of the WebApp

user observable functionality that is delivered by the WebApp to end-users the operations contained within analysis classes that implement behaviors associated with the class.

An activity diagram can be used to represent processing flow

SIT725 Advanced Software Engineering

Activity Diagram
init ialize t ot alCost

no c omponent s remain on BoMList

c omponent s remain on BoMList

invoke calcS hipping Cost ret urns: shipping Cost

g et price and quant it y

invoke det ermineDiscount ret urns: discount

lineCost = price x quant it y

add lineCost t o t ot alCost

disc ount >0

t ot alCost= t ot alCost - discount

disc ount

<= 0

t axTot al= t ot alCost x t axrat e

priceTot al = t ot alCost + t axTot al + shipping Cost

SIT725 Advanced Software Engineering Figur e 1 8 .7

Act ivit y diagr am f or

c o m p u t e Pr i ( c) e ope r a t i on

The Configuration Model

Server-side

Server hardware and operating system environment must be specified Interoperability considerations on the server-side must be considered Appropriate interfaces, communication protocols and related collaborative information must be specified Browser configuration issues must be identified Testing requirements should be defined

Client-side

SIT725 Advanced Software Engineering

Relationship-Navigation Analysis

Relationship-navigation analysis (RNA) identifies relationships among the elements uncovered as part of the creation of the analysis model Steps:

Stakeholder analysisidentifies the various user categories and establishes an appropriate stakeholder hierarchy ( ) Element analysisidentifies the content objects and functional elements that are of interest to end users ( ) Relationship analysisdescribes the relationships that exist among the WebApp elements (content objects or functions) Navigation analysisexamines how users might access individual elements or groups of elements Evaluation analysisconsiders pragmatic issues (e.g., cost/benefit) associated with implementing the relationships defined earlier
9

SIT725 Advanced Software Engineering

Relationship Analysis-I

Is the element a member of a broader category of element? What attributes or parameters have been identified for the element? Does descriptive information about the element already exist? If so, where is it? Does the element appear in different locations within the WebApp? If so, where? Is the element composed of other smaller elements? If so, what are they? Is the element a member of a larger collection of elements? If so, what is it and what is its structure? Is the element described by an analysis class? Are other elements similar to the element being considered? If so, is it possible that they could be combined into one element?
10

SIT725 Advanced Software Engineering

Relationship Analysis-II

Is the element used in a specific ordering of other elements? Does its appearance depend on other elements? Does another element always follow the appearance of the element being considered? What pre- and post-conditions must be met for the element to be used? Do specific user categories use the element? Do different user categories use the element differently? If so, how? Can the element be associated with a specific formulations goal or objective? With a specific WebApp requirement? Does this element always appear at the same time as other elements appear? If so, what are they? Does this element always appear in the same place (e.g., same location of the screen or page) as other elements? If so, what are they?
11

SIT725 Advanced Software Engineering

Navigation Analysis-I

Should certain elements be easier to reach (require fewer navigation steps) than others? What is the priority for presentation? Should certain elements be emphasized to force users to navigate in their direction? How should navigation errors be handled? Should navigation to related groups of elements be given priority over navigation to a specific element. Should navigation be accomplished via links, via search-based access, or by some other means? Should certain elements be presented to users based on the context of previous navigation actions? Should a navigation log be maintained for users?
12

SIT725 Advanced Software Engineering

Navigation Analysis-II

Should a full navigation map or menu (as opposed to a single back link or directed pointer) be available at every point in a users interaction? Should navigation design be driven by the most commonly expected user behaviors or by the perceived importance of the defined WebApp elements? Can a user store his previous navigation through the WebApp to expedite future usage? For which user category should optimal navigation be designed? How should links external to the WebApp be handled? overlaying the existing browser window? as a new browser window? as a separate frame?
13

SIT725 Advanced Software Engineering

Summary

Analysis modeling transforms the requirements into a form that naturally leads to the design. Requirement analysis

User hierarchy, use-cases Base of system analysis Content model Interaction model

Analysis models

Use-cases Sequence diagrams State diagrams User interface prototype

Functional model Configuration model

Relationship-navigation analysis
14

SIT725 Advanced Software Engineering

Readings
R. S. Pressman and D. Lowe: Web Engineering, A Practitioners Approach, McGraw-Hill, 2009.

Chapter 7: Analysis Modeling for WebApps

(concentrate on the topics covered in the lecture)

Priestley: Practical Object-Oriented Design With UML, 2ed.

Chapter 10: Statecharts

Papers and other reading materials in Week 4 Readings folder on CloudDeakin.


SIT725 Advanced Software Engineering

15

S-ar putea să vă placă și