第 13章 Web建模
1,Web建模的基本概念
Web建模主要考虑两个方面的问题:
1)如何表示 Web应用系统的体系结构(运行机制)
2)如何表示 Web应用系统中一些特有的概念
( Web页中的元素)
概念如,HTTP,HTML,Form,Frameset,JSP,ASP,
Session等。
1,Web建模的基本概念
Web应用系统与传统的分布式应用系统比较:
1)连接的持久性。
? Web应用系统通过浏览器与服务器建立连接,传统分布式应用系统
由应用程序与服务器建立连接。
? Web应用系统连接是暂时的(从网页或其它资源请求到获得响应的
时间段),传统分布式应用系统的连接具有持久的(由应用程序决定连接时
间),
2)客户机系统的形式。
Web应用系统的客户机系统的形式具有多样性,可硬件机器不同、
操作系统不同、浏览器不同。传统分布式应用系统的客户机系统一般情况下
具有统一的形式。
1,Web建模的基本概念
Web应用系统建模原则:
? 与其它系统建模一样,从用例分析开始。
? 由于连接是无状态的,通过 session,cookies,
application来保存信息,以在网页间传递信息,因此需
要在模型中表示。
? 主要元素是 Web页面( html,asp,aspx,jsp,servlet
等),建模时作为对象。
? 将对象正确划分到服务器端或 /和客户端,并进行
建模。
session,单个用户,一个会话期
cookies,单个用户,持久的
application:多个用户,持久的
1,Web建模的基本概念
Java Web应用系统执行过程



Web
服务器
JSP
引擎
执行
servlet字节码
文件
对应的 servlet
不存在或文件
已更新?
生成
servlet字节码
文件
Java
Bean
DB
Server
File
System
Yes
No
JSP扩展名
无扩展名
其它扩展名
2,Web应用系统的体系结构
Java Web应用系统的体系结构和 MVC框架结构



Action Servlet
(Controller)
JSP页面
(View)
Action Bean
业务对象
(Model)
access/
modify
response
响应
request
请求
从定向
forward returnaction router
返回动作路由
派发请求
dispatch request
access
提供了数据的内部表示,负
责维护应用的状态
负责对用户的输入或内
部事件进行解析,决定
要做的内容和步骤,控
制模型和视图作相应改

负责显示数据,不考
虑业务逻辑问题
虚线表示弱引用,
对基类的引用。
实线表示强引用。
2,Web应用系统的体系结构
MVC例子
时间控制器
(Controller)
时间的数字显示
(View)
时间模型
(Model)
计算机内可以用一个公式作
为时间模型
负责内部的时间模型表
示进行控制,如时间设
置、显示形式设置等
显示给用户的时间可
以是数字的、图形的
或声音的
Trygve Reenshaug提出 MVC的
想法:
表示信息结构的数据是相
对稳定的,对数据的操作和表
示经常会变,因此采用该结构
可以提供重用的软件。
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
关联版型
源 关联版型 目的
Client Page 聚合 HTML Form
HTML Form Submit Server Page
Client Page Link Server Page,Client Page
Server Page Build Client Page
Server Page Include Server Page,Client Page
Server Page Forward Server Page(JSP),Client Page
Server Page Redirect Server Page(ASP),Client Page
Server Page Use Bean Java Bean(JSP)
Server Page Use Com Object coclass(ASP)
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
S e r v e r P a g e
sp1
< < S e r v e r P a g e > >
sp2
C l i e n t P a g e
cp1
< < C l i e n t P a g e > >
cp2
H T M L F o r m
form1
< < H T M L F o r m > >
form2
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
<%!
private String fooBar()
{
}
%>
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
<html>
<body>
<a href=“help.html”>Help</a>
<a href=“login.jsp”>Login</a>
</body>
<html>
H e l p, h t m l
I n d e x, h t m l
L o g i n, j s p
< < L i n k > >
< < L i n k > >
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
<html>
<body>
<form name=“form’ action=“a.jsp” method=“post”>
<textarea name=“notes”></textarea>
<select name=“province”></select>
<input name=“status” type=“radio” value=“yes”>
<input name=“name” type=“text” value=“wsf”>
</form>
</body>
<html>
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
<html>
<body>
<form name=“form1’ action=“sp1.jsp” method=“post”>
<input name=“submit1” type=“submit” value=“Submit”>
<input name=“password” type=“password”>
<input name=“CustomerId” type=“text”>
</form>
</body>
<html>
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
<jsp:include page=“b.jsp”/>
<jsp:include page=“c.html”/>
b.jsp
a.jsp
< < I n c l u d e > >
c.html
< < I n c l u d e > >
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
<jsp:forward page=“forwardA.jsp”/>
<jsp:forward page=“forwardB.html”/>
<A href=“hrefC.jsp”>forward C</a>
N e w C l a s s 2 f o r w a r d A, j s p
< < F o r w a r d > >
N e w C l a s s 4
f o r w a r d B, h t m l
< < F o r w a r d > >
N e w C l a s s 6
h r e f C, j s p
< < L i n k > >
3,Web建模扩展 WAE
Web建模,可利用 UML的扩展机制对 UML的建模元素进行扩展,
来实现。
<jsp:useBean class=“DatabaseBean” id=“db”>
U s e B e a n, j s p _ C l i e n t
( f r o m U s e B e a n, j s p )
M y F o r m
( f r o m U s e B e a n, j s p _ C l i e n t )
U s e B e a n, j s p
< < B u i l d > >
< < S u b m i t > >
D a t a b a s e B e a n
< < U s e B e a n > >
4,Rose的 Web建模使用说明
..,操作,..