1
4.6 Web 建模 问题
– 如何表示 Web 应用系统的体系结构– 如何表示 Web 应用系统中一些特有的概念
• 如: HTTP,HTML,Form, Frameset, ASP, JSP, Session 等 Web 应用系统与传统的分布式应用有两个比较
明显的区别– 连接的持久性方面– 客户机形式的区别:客户机的 OS, browser
2
Web 建模– 仍然从用例分析开始– 由于连接是无状态的,如需要存储状态信息,则使
用 session( 或 cookies) , 并在模型图中表示– Web 页面,包括 HTML,JSP,ASP,Servlet 页面。在
建模时, Web 页面作为对象处理。– Web 类衍型:《 window 》,《 frameset 》,
《 frame 》,《 client page 》,《 Server page 》,《 client Script 》和《 Server Script 》
WAE ( Web application extension for UML ) Web 建模扩展 : 在 Rose, UML 中有实现。
3
WAE 中的建模符号 服务器页
– 用定义在类上衍型 《 Server Page 》表示
客户机页– 用定义在类上衍型 《 Client Page 》表示
《 Server Page 》
ServerPage
《 Client Page 》
ClientPage
4
WAE 中的建模符号 《 Build 》单向关联,表述服务器页与客户页
之间的关系– 一个服务器页可以创建多个客户机页,但一个客户
机页只能有一个服务器页创建。
《 Server Page 》
ServerPage
《 Client Page 》
ClientPage《 Build 》
5
WAE 中的建模符号 《 Link 》关联
– 表述两个客户页之间或一个客户机页到一个服务器页的超链接。
《 Server Page 》ServerPage
《 Client Page 》ClientPage
《 Link 》
《 Client Page 》ClientPage
《 Link 》
6
WAE 中的建模符号 表单
《 HTML Form 》Form
(from ClientPage)
《 Client Page 》ClientPage
《 HTML Form 》Form
(from ClientPage)
7
WAE 中的建模符号 《 Submit 》关联
《 Server Page 》
Orders
《 Client Page 》Orders_Client(from Orders)
《 HTML Form 》Form
(from Orders_client)
《 Build》
《 Submit》
8
Orders 类对应的文件 该例中服务器页 Orders 是一个 JSP 页面,在运行时会
生成 Orders_Client 客户机页。 该客户机页是一个 HTML 页面,其中包含了一个
Form. 用户通过这个 Form 输入一些数据,然后提交给服务器
页。<from Action=“Orders.jsp” Name=“Form”>
<input Name=“submit1” Type=“submit” Value=“Submit” >
<input Name=“password” Type=“password”>
<input Name=“customerId” Type=“text”
</form>
9
WAE 中的建模符号 框架集 frameset
– 一个框架集中有多个框架,利用框架,可以把一个浏览器分成多个子区域。
Book
Index
Content
10
WAE 中的建模符号 《 Include 》关联 Menu 类生成的代码: <jsp:include page=“Title.html”>
<jsp:include page=“Login.jsp”>
《 Server Page 》
Menu
《 Server Page 》
Login.jsp
《 HTML Form 》Title
Include
Include
11
WAE 中的建模符号 Session 与 JavaBean 的建模 如 Login.jsp 页面使用 JavaBean 中的
ValidateLoginBean
Servlet 的建模
《 Use Bean 》
《 Http_Servlet 》HelloWordServlet
HelloWorldServlet()doGet()
ValidateLoginBeanLogin.jsp Use Bean
6.4.3WAE 中的建模举例 导航建模
– 首先, WEB 设计者为每个主要用户接口视图勾画草图。这是些每个导航节点的相关元素的粗略图。这种草图技术经常被 WEB 设计者使用。
– 用合适的 UML 扩展来支持草图技术– 在设计了不同的 UI 视图后,故事情节串连场
景便可以开发,故事情节串连场景显示了用户接口视图的顺序。即客户从一个视图导航到另一个视图的顺序。
12
13
导航建模举例
14
15
用时序图表示对象间的调用流
16
6.4.4 UML 评论与问题研究 阅读并讨论 7.3 节
– UML 的积极作用 :• 统一• 表达能力丰富• 语言 ,
• 集成– UML 起不到的作用
• 语言而不是建模方法• 也不能作为一种形式化需求描述语言
17
UML 评论与问题研究– UML 中的缺点与问题
• 混淆“模型”与“语言”两个概念• 元—元模型与元模型:
– 元语言理论的忌讳:元语言中的符号不能出现在目标语言中
• 体系结构层次上的混乱• 形式化问题。半形式化• 类图和对象图并存问题。对象图必要吗?• 协作图问题。类图一定是静态的吗?全
局性动态模型?• 无道理的复杂性
18
五、 UML 最新进展 [ 邵 p210] UML2.0.doc
19
作业 2
1. 给出 ATM 机的用例图,典型的用例描述
2. 设计并综合运用各种 UML 图描述所要求的交互场景 设计文档要求包括以下内容: 1). 用 UML 图描述所使用的设计中各角色之间的交互关系,并说明其中的各个角色及交互关系在你的具体设计中分别体现为哪个设计元素 ( 可以用多个交互片断表示,但要合理衔接起来 ) 2).说明你的设计中包含了哪些特别的设计考虑并简要解释其作用
20
问题描述:在某公司月末的一次工资发放过程中,对各个员工所对应的对象执行工资计算操作 (假设工资计算所需要的各种参数都已读取在相应对象中 ) ,并将工资数额发送到该员工工资卡所对应的银行系统中同时自动发送一份 email 通知该员工,最后计算当月工资总额。 1.所有的员工对象按照公司组织结构 (公司、部门、项目组、员工四个级别 )组织在一起,员工在最底层,公司和部门经理除管理多个下级组织实体外还直接管理几名副经理,而项目组经理则直接管理员工。 2.公司经理、部门经理、项目经理和员工四类对象在许多方面都有所不同,工资计算方法也不同。 3. 每个员工银行卡对应的银行可能不同,这些银行都提供在线工资发放接口,但所使用的通信协议和数据格式都不同 ( 需要考虑到以后由于新员工的到来还可能增加新的银行接口要求 ) 。
Top Related