没有合适的资源?快使用搜索试试~ 我知道了~
UML辅助网站规划和设计指南,以事例来讲解如何使用UML来设计网站,适合没有经验的人看!
资源推荐
资源详情
资源评论
一、概述
Web 网站往往具有复杂与高度动态的特点。为了让 Web 应用在短时间之内开始运作,开发周期应该
尽量地短。许多时候,开发者直接进入编写代码这一阶段,却不去仔细考虑自己想要构造的是什么样的网
站以及准备如何构造:服务器端代码往往是毫无准备的即兴式编写,数据库表也是随需随加,整个应用的
体系有时候呈现一种无规划状态。然而,只要我们运用一些建模技术和软件工程技术,就能够让开发过程
更加流畅,确保 Web 应用将来更容易维护。
UML(Unied Modeling Language,统一建模语言)是一种通用的可视化建模语言,用于对软件
进行描述、可视化处理、构造和建立软件系统的文档。UML 适用于各种软件开发方法、软件生命周期的
各个阶段、各种应用领域以及各种开发工具。UML 能够描述系统的静态结构和动态行为:静态结构定义
了系统中重要对象的属性和操作以及这些对象之间的相互关系;动态行为定义了对象的时间特性和对象为
完成目标任务而相互进行通信的机制。UML 不是一种程序设计语言,但我们可以用代码生成器将 UML 模
型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代码转换为 UML 模型。
本文介绍用 UML 为 Web 网站建模的一些方法。全面采用 UML 技术是一个复杂的过程,但 UML 的
某些部分很容易使用,而且它能够帮助你用更少的时间构造出更好的系统。
为了示范 UML 在网站建设中的应用,本文将构造一个支持无线用户、提供各个地区天气报表和交通
流量报表的网站。本文不准备详细介绍 UML 本身。但为了方便起见,附录中简要介绍了常见的 UML 符号
和术语。要了解更多有关 UML 的信息,请参见文章最后的参考资源。
二、规划阶段
不论你是从头开始构造网站、移植网站还是增加某个重要的功能,为了确保设计决策的最优化,进行
一些先期规划是必要的。如果你和其他人协作完成一项工程,就工作总量及其分配达成明确的共识具有不
可估量的作用。在规划期间,你应该努力对系统的以下方面形成正确的认识:
用户和角色。
应用需求。
各个界面之间的转换流程。
要用到的工具和技术。
2.1 用户
了解使用系统的用户是很重要的。不仅系统分析要求你接触一些用户(通过问卷调查、email,或者
面对面交谈),而且你经常还要让系统能够控制不同的用户角色和权限。通过对用户进行分类并了解他们
的需求,你就可以找出线索来确定数据库的安全机制、功能限制方法、用户界面分组、培训和帮助需求、
对具体内容的需求,甚至还可以从侧面了解到潜在广告客户的分布。
图 1:参与者/角色 层次图
上图显示了几组不同的网站用户(在 UML 中称为 Actor,即参与者)。在这里,最普通的用户类型
(“Site User”)位于图的顶端,实线箭头表示 generalization 关系(“泛化”关系,参见本文附录说明,
下同),它表示 Site User 又可以具体分成两类用户:Guest,Registered User。这两类用户共有的特
征在“Site User”参与者中说明,而 Guest 和 Registered User 各自私有的特征则在对应的参与者中说明。
通常,你可以直接为参与者加上说明文档,无需单独编写说明用户的文档,但具体与你所用的 UML 工具
有关。在本例中,Registered User 又可以细分为 Wireless User 和 Administrator 两种类型,系统对
这些用户的处理方式应有所不同。
2.2 定义需求
在正式开始编写代码之前,你应该对准备构造一个怎样的系统有一个清晰的认识。虽然在编写代码的
同时也可以逐步完成这一工作,而且这种做法也很有吸引力,但借助图形和文字资料事先集体进行讨论效
率要高得多。为网站编写详细的需求说明往往不那么合算,但你应该有时间画出几个草图、写下几段注解
去说明网站准备提供的服务。这就要用到 Use Case 图(用例图)。Use Case 可以看成一组功能——它
可能对应网站上的一个页面、一个必须编写的程序,或者网站上可能发生的一个动作(比如,验证用户登
录,改变用户的配置文件,清除过期的帐号,等等)。下面就是一个能够帮助你规划网站的 Use Case 图。
注意,该图并没有显示出网站的所有 Use Case,通常我们需要多个 Use Case 图才能描述完整的网站功
能。
图 2:Use Case 图
即使是在这样一个简单的 Use Case 图中,我们也能够轻松地表达出大量的信息。例如,include 关
系说明两个 Use Case 包含同样的身份验证功能;extend 关系说明天气页面可能以 WML 或者 HTML 格
式显示;generalization 关系说明各个具体的表现过程将遵从“Render HTML Page”或者“Render
WML Page”所描述的基本行为规则以达到维持统一的风格效果和统一宏观行为模式的目的。
上图也显示出无线用户能够访问网站中其他用户不能访问的某些区域。在这个 Use Case 图中,只有
无线用户能够访问交通流量报表。这是因为我们已经得知只有在旅途中的移动用户才需要交通流量报表,
而且不想再花时间把交通流量报表制作成其他标记语言形式。由此,“Get Tra$c Report”Use Case 不
需要分成 WML 和 HTML 两种显示形式,它可以直接包含“Render WML Tra$c Report”这个 Use
Case。
一般地,你应该为这些 Use Case 加上简单的说明。具体地说,你应该描述每一个 Use Case 里将要
发生什么,谁可以使用它,它如何启动、如何停止,以及某些时候可能发生的特殊事件(称为
variation,即变化)。
2.3 用户界面组织
在制作 Use Case 的过程中,你会得到一些指示网站需要哪些用户界面的线索。也许你早就有了设计
某些页面的绝妙主意,但 Use Case 帮助我们从另外一个角度来看问题。用户是否确实需要那么多的界面?
某个页面是否过于复杂?网站的导航设施是否简单易用,即从主页访问常用服务是否很方便?在勾画界面
草图、制作网站原型之前,你应该先在 Use Case 图中解决这些问题。
当 Use Case 逐渐清晰时,我们就可以开始勾画出网站的大致结构。有些人会强调说页面和文件应该
用相应的构件图(Component Diagram)建模,其实类图(Class Diagram)工具也很方便。请参见
下图:
剩余18页未读,继续阅读
资源评论
khan7923
- 粉丝: 4
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 机械设计整经机上纱自动化sw20非常好的设计图纸100%好用.zip
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功