6.1.1 系统开发概述
本部分主要介绍一个基于WebML(The Web Modeling Language)开发的会议管理信息系统(Conference Management System,CMS)。
WebML是应用于数据密集型网站建模的一种可视化语言,WebML建模和设计的主要功能有以下几个方面。
①多层次的结构分布,包括信息结构、页面组成、导航和演示。
②为由内容单位组成的页面提供了新颖的视觉效果表达方式,定义了对象的结构模式。
③支持新功能,如导出数据、用户建模和个性化、数据录入和更新操作、多设备输出。
④广泛使用可扩展标记语言(XML)和可扩展样式表语言(XSL)进行网站设计和部署。
在CMS中应用WebML的优势可以概括为以下几点。
A.提供丰富的结构模式,包括基本对象的领域概念以及主要的用户角色。
B.定义了结构模式的一些站点视图,针对特定类别的用户需求提供不同的一组页面和功能的超文本模块,例如,作者或项目委员会。
C.由项目委员会触发的业务规则,可动态改变的网站视图。指定用户可以修改网站视图,网站功能的改进是由会议管理工作流程的需求来决定的。
6.1.2 WebML简介
应用WebML设计一个数据密集型网站,需要指定大量抽象概念及其特征,这就会应用到WebML的子模型。
1)WebML子模型的基本构成
WebML由结构模型、推导模型、超文本模型、演示模型四个子模型构成。结构模型描述的是概念数据的组织方式,它与实体——关系模型相兼容。一个典型的结构模型的应用是用户和组的建模,为促进个性化,它将指定的有关用户或用户群组的信息保存在网站上。推导模型是对拥有冗余数据的结构模型的扩展,以使其适应不同的要求。超文本模型是对实际超文本的网页和链接的定义,它构成了应用程序,可以进一步细分为组合模型和导航模型。组合模型涉及网页及其以基本互联内容单元为单位的内部组织的定义;导航模型描述了页面和内容单位之间的联系,它应提供方便的信息位置和浏览功能。演示模型是给出标记语言(例如HTML或XML)来表达呈现页面中的默认规则。演示规则使用XSL样式表进行编码。
被打包成模块化结构的WebML超文本可以被称为网站视图。每个网站视图代表一个不同的应用,以满足一系列明确的需求,例如,一个特定的设备的访问或一个特定的用户群的需求。
结构、组合、导航和演示模型能够对只读网站进行描述。通过更新操作,它们可以同指定的读取访问相对应,能够嵌入超文本模型。它们调用导航的作用,并允许一个指定的常见的互动模式作为数据录入,进行个人数据管理等应用。
(1)结构模型
WebML结构模型是一个适于数据设计的概念模型,在其他学科中已经广泛应用,如数据库设计、软件工程和知识表示。它与实体—关系数据模型相兼容,使用UML类图,用于概念数据库设计和面向对象的建模。结构模型的基本要素是被定义为数据元素容器的实体和实体之间的语义连接的关系。实体有其自身的特征,被称为属性,它具有关联类型。实体可以用泛化层次结构来表示,而关系可以通过基数约束来限制。
(2)推导模型
推导是向结构模式中增加冗余信息的过程,它用以增强其表现力、定义不同的视图和相同数据的分组。推导使用一种名为WebML—OQL的概念语言,以查询的方式表现出来。它适用于结构模式的元素,并构建额外的概念。结构模型中的每一个元素都可以用查询(实体、属性和关系)来导出。一个重要的应用是派生实体,它引入了一组相关的对象,在一些其他的超媒体的设计方法中也称为集合。通过分组到派生实体对象的共同属性,它能够为网站内容提供有意义的访问索引。
(3)超文本模型
超文本模型包括组合模型和导航模型。
①组合模型。组合模型是指定由超文本所构成的页面,它是由内容单元所组成的一个页面。Web站点的页面实际上是信息传送到读者的一个容器。基本的内容单元用来发布结构模型中描述的信息,可以使用六种单元类型组成页面:数据、多数据、索引、过滤器、滚轮和直接单元。数据单元用于发布一个单一的对象的信息(例如文章),而其余类型的单元代表着可相互替代的方式来浏览一组对象(例如会议报道的一系列文章)。组合的单元被定义为网站顶部的结构模式,设计人员根据每个单元的内容决定相关实体或关系。
②导航模型。导航模型是网页间的链接关系拓扑模式,它表示网页和内容单元如何链接而形成超文本。
导航建模的目的是指定链接,以达到如下目的。
A.将焦点的演示从一个网页引导到另一个。
B.将信息从一个单元或页面传递到另一个单元或页面。
C.产生一些其他作用,例如更新操作的执行。
组合模型与导航模型的关系十分紧密,这是因为在一个模型中的功能可能影响到另一个模型,例如,在一个页面中显示一组相关单元,必须建立起正确的链接。总的来说,它们形成了完全定义信息内容,并连接WebML网站拓扑结构的超文本模型。
(4)演示模型
演示模型表示网页的物理外观和感觉,由WebML的页面呈现基准样式表来确定。样式表单指明了页面的布局以及将被插入到该布局中的内容元素,它不依赖于用于页面呈现的具体语言。
2)WebML的设计过程
WebML网站建模过程是一个典型的螺旋式设计过程,每一个设计循环反复以下步骤。
(1)需求搜集
搜集应用需求,包括网站的主要目标,它的目标受众、内容以及网站的风格,需求的个性化以及相关数据的约束条件。
(2)数据设计
WebML沿用实体—关系模型方法进行网站数据设计。
(3)超文本设计
WebML的主要成分是页面(pages)、单元(units)和链接(links)。超文本设计识别页面和单元,使用链接联系它们,并形成模块化的结构:区域(area)、网站视图(site view)。
(4)布局呈现设计
迭代中,一旦所有的页面十分稳定之后,Web样式结构设计师为每一个页面增加呈现的样式。
(5)用户和群组设计
基于个性化需求,Web管理员定义用户配置特性,可能为每一个用户群组创建不同的网站视图。
(6)定制化设计
识别配置驱动的数据派生和保证有效的网站个性化的商业规则。
6.1.3 会议管理信息系统分析
会议管理系统(CMS)旨在为会议论文提交、评价和选择发布过程提供支持。
1)会议管理参与者
在CMS中,不同的用户组可能执行不同的活动。
①项目委员会主席负责管理整个会议,建立项目委员会并指定成员。
②项目组成员负责审查由项目委员会主席分派的论文。他们同时也参与论文验收的最后讨论。
③审稿人评审由筹委会指定的论文。
④作者能够提交一个或多个论文。
为了访问系统,除了项目委员会主席外的所有用户都必须进行登记。
2)会议管理的生命周期
会议生命周期可以分为若干阶段,每个阶段的特点是由用户的一些活动来具体划分的。
(1)会议启动
这一阶段,只有项目委员会主席可以访问系统。他/她通过输入基本信息、定义会议议题和主题、组建项目委员会来创立会议——他/她预先指定项目委员会成员。
(2)论文提交
作者可以通过会议网站进行注册,并提交一篇或多篇论文。然后,在此期间,他们还可以进行修改操作。当提交关闭后,作者不再有访问该网站的权限。同时,项目委员会成员可以表达自己对会议议题和主题及所提交上来的论文的看法。
(3)论文投标
项目委员会成员对提交到会议议题的论文表达自己的看法,并且至少保证有一个话题匹配他们的首选主题。
(4)论文分配
考虑到项目委员会成员关于议题、主题的个人评价的偏好,由项目委员会主席分派论文给项目委员会成员进行审查。
(5)论文评审
一旦论文评审过程启动,项目委员会成员可以为其他审稿人进行注册,并分派相关论文来审查。然后,项目委员会成员和任何一个审稿人都能够通过系统对论文进行评论,并且一直可以对评论进行编辑,直到他们确定完成论文的评审。在这一阶段,任何一个项目委员会成员都能够看到其他成员或审稿人对论文所作的评论。
(6)最终讨论
项目委员会成员可以访问所有的评价,以准备在项目委员会会议上进行最终讨论。
(7)录用通知
项目委员会主席宣布论文是录用还是退稿。录用的论文通过电子邮件通知作者。这时,非注册用户和注册用户可以登录到会议网站查看最终会议方案的网站页面。
会议生命周期的演变由项目委员会主席进行明确的安排,通过下达适当的命令和对会议状态的不断推进来管理会议网站。
3)结构模型
WebML设计过程以结构模型的定义为起始,它指定数据的组织方式。它会在启动阶段初步定义一个包括基本信息对象的骨架图,这样能够得到最相关的概念。
(1)识别基本信息对象
下面是会议管理系统中的一组基本信息对象和关系。(图6-2)
图6-2 初始结构模型骨架图的基本关系
不同角色与不同的用户组相关联,并且属于每个群组的各个用户分别由两个WebML实体“组”和“用户”(注意这些实体是默认添加到所有WebML项目中的)表示。
会议管理通过“会议(Conference)”“议题(Track)”和“主题(Subject)”三个实体来进行描述。实体“会议”用来存储有关会议的基本信息,另外两个实体表达会议的议题和主题。
会议论文通过实体“论文(Paper)”来表示,它存储着作者在提交论文时所输入的数据,同时也存储着有关论文评审结果的导出数据,例如由审稿人给出的优等、中等和差等的评价数据。此外,实体“合著者(Coauthor)”可以代表不同于通信作者的其他作者,而通信作者是唯一需要注册会议网站的作者。
实体“偏好(Preference)”代表所有的项目委员会成员对所提交的论文所作的标记(论文是优秀或者是不优秀),这表示他们对论文的客观评价。(www.zuozong.com)
审稿人进行检查、撰写和提交评论,这一过程由实体“审查(Review)”来表示。
图6-3为每个实体的详细属性。以实体用户为例,用户属性包括用户名称、密码、电子邮件、机构名称等。
下面是会议管理系统的数据字典。(表6-1)
图6-3 结构模型实体的详细属性
表6-1 数据字典
续表
续表
(2)识别关系
①实体“用户(User)”在这一架构中处于核心位置,它几乎同所有的其他实体相关联,这其中的关系包括如下内容。
A.用户(User)—群组(Group)关系。它表示的是用户属于一个或多个群组。用户所属的群组决定着这一用户能够获取的网站视图。
B.用户(User)—议题(Track)和用户(User)—主题(Subject)关系。它表示的是一个项目委员会成员对于一个或多个议题或主题能够表达他/她的客观评价。
C.用户(User)—论文(Paper)关系。它定义了用户和论文之间的关系,每个作者可以上传一篇或多篇论文。
D.用户(User)—审查(Review)关系。它将项目委员会成员或者审稿人同一个或多个评论相连接。
E.用户(User)—偏好(Preference)关系。它关系着项目组成员对不同论文给出的客观评价。
②除了用户(User)与其他实体之间的关系外,由实体论文(Paper)也分离出一些其他的关系。
A.论文(Paper)—议题(Track)和论文(Paper)—主题(Subject)关系。它表达的是每个论文同一个议题、一个(或多个)主题的关联。
B.论文(Paper)—审查(Review)关系。它意味着每篇论文同一个或多个(不超过三个)评论(由项目委员会成员或者审查者提交的)的关联。
C.论文(Paper)—偏好(Preference)关系。它是每个论文与项目组成员对论文给出的客观评价之间的关联。
D.论文(Paper)—合著者(Coauthor)关系。它是每个论文与合著者之间的关联。
此外,还存在会议(Conference)—议题(Track)和会议(Conference)—主题(Subject)的关系。它是指会议同议题与主题之间的关联。
4)超文本模型
在定义了结构模型后,需要定义网站视图来将流程的设计关联到不同的用户组。
(1)识别用户角色
CMS用户参与到会议管理中,扮演着以下不同的角色。
①项目主席的责任。a.启动会议。例如,向系统中输入基本信息,包括会议名称、会议场所、会议开始与结束日期、论文提交日期、论文审查与录用的通知。b.确定会议议题和主题。c.成立项目委员会,预先指定项目委员会成员。d.基于项目委员会成员关于议题和主题的安排向审稿人分派论文。e.基于审稿人和项目委员会成员的最后讨论确定论文录用和退稿的最终名单。
②项目委员会成员的责任。a.确定会议议题和主题。b.在提交论文程序结束后,确定符合议题和主题的论文。c.审查主席指派的论文。d.指定来自项目委员会以外的人员作为论文的审稿人。项目委员会成员必须由项目主席在系统中预先注册(之后他们可以修改个人的信息)。
③审稿人的责任是对一篇或多篇论文进行评价和审查。
④作者需要提交一篇或多篇论文,他们必须在提交论文前进行注册。
⑤非注册用户是那些会议中没有涉及的用户,但是他们可以浏览网站信息。
(2)识别网站视图
表6-2显示了网站视图、用户角色和会议阶段的关系。在会议的每一个阶段,按照用户所扮演的角色不同,用户可以获取不同的网站视图环境的支持。
①项目委员会主席的网站视图是在会议的整个会议生命周期中他/她所配置的视图环境。它配置的权限允许他/她解决不同的问题,包括会议启动、论文分派、论文录用还是退稿等,并拥有管理用户组网站视图归属的权限。
②“所有人—登录”的网站视图可以使用户以项目委员会主席、项目委员会成员、审稿人或作者的身份登录系统。在登录之后,根据用户所属群组和当前会议阶段,每个用户将连接到适当的网站视图。
③“所有人—登录”的网站视图能够使非注册用户注册成为作者。
④登录暂停的网站视图包含一些静态的信息,例如一个警告,并且当用户角色不可用的时候发送给注册的用户(项目委员会成员、作者、审稿人)。
⑤作者提交开放的网站视图允许注册作者提交一篇或多篇论文。
⑥项目委员会成员选择主题和议题的网站视图,允许(项目委员会)的成员确定会议议题和主题。
⑦项目委员会成员投标的网站视图允许项目委员会成员在论文审查过程之前,确定他们对所提交论文的客观评价。
⑧项目委员会成员插入评论的网站视图允许项目委员会成员输入他们的评论,并可以指定其他审稿人。
⑨审稿人插入评论的网站视图允许审稿人输入他们的评论。
⑩项目委员会成员最终讨论的网站视图允许项目委员会成员查阅审查的结果,以参与论文录用与否的最终讨论。
⑪在审查过程结束后,“所有人—会议流程”的网站视图会呈现给所有用户(非注册用户、作者、外聘审稿人和项目委员会成员),它包含了本次会议的最终方案。
表6-2 网站视图、用户角色、会议阶段的关系图
6.1.4 会议管理信息系统实施
CMS网站的实现是应用了WebML工具套件。它能够将WebML自动转换为一组JSP1.1的页面模板,可以在任何支持JSP的Web服务器上运行。页面的呈现通过构造一个简单的XSL样式表来呈现,它可以统一地应用于所有页面,以产生所需的外观和感觉。为了优化再现图形,还可以使用商业的HTML编辑器来修饰单个页面。
作为站点导航的一个例子,下面我们介绍项目委员会主席启动会议的一系列HTML页面。
如图6-4所示,登录页面允许项目委员会主席将用户名和密码输入系统。正如窗口底部所示,这个时候尚未有会议创建。
图6-4 登录页面
项目委员会主席的网站视图中的所有内页包含一个标志性的导航栏,见图6-5左侧。通过它,能够移动到不同的页面来实现不同的管理活动。通过选择会议创建的对话框,会出现一个子菜单,见图中虚线框部分,它可以让项目委员会主席调用如下功能:①创建会议;②修改会议;③创建主题和议题;④修改和
图6-5 项目委员会主席的网站视图
删除主题与议题。正如图6-5中所示,指示建立会议基本步骤的简短文本也会显示出来。
创建会议界面允许主席输入关于会议的相关数据并加以管理。(图6-6)
图6-6 创建会议界面
会议数据修改界面允许主席通过输入新的数据来修改有关会议信息。(图6-7)
图6-7 会议数据修改界面
主题和议题的创建界面允许主席创建会议的主题和议题。(图6-8)
图6-8 主题和议题的创建界面
主题和议题修改与删除界面允许修改或删除某一会议的主题和议题。管理者可以从页面顶端的索引中选择一个主题或议题,然后点击删除键删除所选的主题或议题,或者通过在输入框中插入新的数据来修改它,然后点击提交(Submit)按钮。(图6-9)
WebML语言是带有导航功能的一种正式语言,它能在概念层次上很好地表达数据密集型网站的需求。应用WebML建模的会议管理系统可以很好地支持网站设计的所有活动。在整个设计过程中,WebML提供了图形化、形式化的规范,并且有可视化的设计工具的支持。借助这些,设计者和使用者都能很容易地理解所表示的系统。
图6-9 主题和议题修改与删除界面
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。