基于uml的校外通信录系统的设计与实现_第1页
基于uml的校外通信录系统的设计与实现_第2页
基于uml的校外通信录系统的设计与实现_第3页
基于uml的校外通信录系统的设计与实现_第4页
基于uml的校外通信录系统的设计与实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于uml的校外通信录系统的设计与实现

1开发uml系统的应用在云南农业大学,我们的研究团队计划开发一个由许多子系统组成的学校网站系统。这个开发出于三个动机:1)服务所有大学的在校生、校友、教师,提供他们实用的、及时的信息,为他们进行信息交流建立互动平台;2)把面向对象和软件工程的思想、方法和技术,特别UML,运用于这个系统的整个开发过程,使参与项目的学生和老师能够学以致用,并且,为软件工程教学准备应用案例;3)促进本校师生与其它大学师生的、与社会的信息交流,促进本校的发展,扩大本校的社会影响。本文中所述通信录子系统,简称系统。目的是让在校生和校友通过浏览方式访问通信录,实现信息交流。以UML建模驱动系统开发:建立系统的需求分析的用例图模型,建立系统设计的类图、顺序图和活动图模型。同时,使用功能流程图、数据流图、关系数据表和ER图来帮助系统分析和设计。运用模块化和逐步求精原理,逐步建立模型。问题识别、系统分解、模型建立、程序构造、用户界面设计等均遵循面向对象方法。使用C#和ASP.NET编程,SQLServer支持数据库,采用B/S(Browser/Server)模式,运行在微软.NET环境上。2需求分析2.1开发通信录的用户传统的书面通信录、现代的手机通信录都有不便之处:难以携带、信息量小、信息更新不及时、信息互动性差、信息利用率低。因特网提供了方便快速的通信技术。网站通信录能容纳任意届、任意班,可包含全面信息(在保护隐私权的前提下),可由成员自己及时更新信息,信息充分共享。无论在何地何时,我们都可上网访问通信录,取得有用信息、进行实时通信。本通信录在院系下,以班为组织单位,同学之间可以相互通信。为此,区分四类用户:校友网站的普通用户、通信录的普通用户、通信录的班管理员、通信录的系统管理员。校友网站的普通用户指已注册过校友网站、但未注册过通信录的用户。此类用户可以登录校友网站,浏览公开信息、做一些有限的操作,但不可以访问通信录。通信录的普通用户指登录校友网站后,成功注册过通信录的用户。此类用户可以进入通信录,浏览相关信息,修改个人信息和留言。也称此类用户为班成员、或成员。通信录的班管理员是班成员,且管理其所在班的成员的信息和留言。通常,班管理员是一个班的最先注册用户。通信录的系统管理员负责管理系统的运行,对院系、专业、班、用户权限进行管理。2.2在用例图中引入数据库本系统主要包括以下功能:登录校友网站、登录通信录后,系统管理员可以对注册用户权限、院系信息、专业信息、班信息和个人信息进行管理,也可以留言。成员可以对自己的个人信息进行管理,并留言。此系统的参与者是系统管理员、班管理员和成员。系统管理员涉及的用例有:系统权限管理、维护院系信息、维护专业信息和维护班信息。班管理员处理用例:删除班成员。留言、修改个人信息是三种用户都做的操作。图1表示系统的全局用例图。需要说明,UML标准的用例图并不包含对数据库的表示。可是,在教学和系统开发的实践中,我们发现,在用例图中适当引入数据库表示,可清晰表达系统内的数据库与用例、与参与者之间的关系,帮助发现、设计数据库表本身。这里的6张数据库表将在后文详述。三种用户对留言具有相同和不同的操作。系统管理员可查询和删除任意一条留言(包括班内留言和个人留言)。班管理员可查询和删除班内留言(包括他人的个人留言),可添加和修改自己的个人留言。成员可查询、添加、修改和删除自己的个人留言。图2描述了这些细节,即是图1中留言的细化。2.3班信息的添加系统管理员管理用户权限:查询、修改、取消。维护院系、专业和班的信息就说对这些信息进行添加、查询、修改和删除。另外,三种用户都可维护自己的个人信息。从以上分析得知,本系统应该提供的功能如图3所示。这从功能划分、控制流的角度来观察系统。3系统设计3.1生成充放电方案为系统设计了9个类:User,校友网站用户;Member,系统成员;ClassAdministrator,班管理员;SystemAdministrator,系统管理员;Department,院系;Speciality,专业;Class,班类;Message,留言,处理班内的留言;AdminMessage,管理留言,系统管理员处理所有留言。图4是系统的类图。Member继承User,而它又被ClassAdministrator和SystemAdministrator同时继承。院系包含专业,专业包含班,班包含成员。考虑到在现实中,院系、专业、班、成员是独立存在的,所以,用聚合表示它们之间的包含关系。每个用户可以留言,也可以不留言,所以,Message类与Member类有关联。系统管理员可以删除、保留留言,所以,AdminMessage类与SystemAdministrator类有关联。下面说明每个类的属性和操作。1性现行属性有很多属性,图4没有逐一列出,而是用userMessage属性代表除userName、password和access以外的其它属性。userName存储已注册校友网站的用户名,其值是唯一的,password存储用户密码,access存储用户权限。2注册成功或失败继承了User类的所有属性,还定义了自己的4个属性:number、realName、phone、address分别为用户的学号、真实姓名、联系电话、联系地址。access是从User类继承来的。registerMember(no,uname,dpt,sname,cname,rname,add,des:String,phone:Integer,t:Date),用户注册通信录系统,参数分别是学号、用户名、院系ID、专业名称、班名称、现实名字、联系电话和地址、备注、入学时间,结果表示注册成功或失败。addMessage()、deleteMessage()、updateMessage()用户添加、删除和修改留言,返回结果表示操作成功与否。updateMember(no,uname,dpt,sname,cname,rname,add,des:String,phone:Integer,t:Date)更新个人信息,其参数和返回结果与注册操作一样。3删除/删除班内部投诉具有Member和User的所有属性和操作。deleteMember(uname:String)和deleteMessge(m:String),班管理员删除成员、删除班内留言,参数分别是用户名、留言ID,返回值都表示提示操作成功或失败。4添加、删除、修改院系信息的种类继承Member和User的所有属性和操作。addDepartment(dpt,name,des:String,num:Integer)、deleteDepartment(dpt:String)、updateDepartment(dpt,name,des:String,snum:Integer),分别是添加、删除、修改院系信息,参数分别是院系ID、院系名称、备注、专业数。addSpeciality(name,dpt,des:String,cnum:Integer)、deleteSpeciality(name:String)、updateSpeciality(name,dpt,des:String,cnum:Integer)分别是添加、删除、修改专业信息,参数分别是专业名称、院系ID、备注、班数。addClass(c,cname,sname,des:String,num:Integer)、deleteClass(c:String)、updateClass()分别是添加、删除、修改班信息,参数分别为班ID、班名称、专业名称、备注、成员数。deleteMember(uname:String)删除成员,deleteMessage(m:String)删除任意一条留言,参数留言ID。此类中所有操作的结果都表示操作成功与否。5院系由来显示院系信息。departmentID为院系编号,其值是唯一的。name为院系名称。specialtyNum为院系包含的专业数目。description为院系备注。showDepartment(),用户登录系统后,显示院系信息。6um、description显示专业信息。name为专业名称,classNum为包含的班数目,description为备注。showSpecialtyies(dpt:String),显示专业信息,参数为院系ID。7班名称、班名称、班注显示班信息。classID、Name、memberNum、description为班编号、班名称、班成员数、班备注。showClasses(sname:String)显示班信息,参数是专业名称。8修正缺陷投诉内容负责每个成员管理个人留言,显示留言。messageID为留言编号。content为留言内容。showMessages(uname:String)显示参数用户的所有个人留言。9疗效见图1负责系统管理员管理留言,提供显示留言的功能。messageID为留言编号,其值是唯一的。content为留言内容。showMessages()显示所有留言。3.2删除成员的功能图5是从通信录中删除成员的顺序图。它描述了四个对象之间的动态交互,即事件发生、消息传递的时间顺序:班管理员对象、成员表单对象、成员信息对象和数据库管理对象。班管理员已登录通信录系统,删除成员的步骤是:1)管理员提出删除成员请求;2)系统发送查询成员请求;3)构造查询信息;4)数据库操作对象返回查询结果;5)显示成员信息;6)管理员选择要删除的成员;7)管理员确认删除操作;8)构造成员表单对象,发送删除请求;9)构造成员信息对象,发送删除请求;10)数据库进行删除操作,返回结果信息;11)成员信息对象返回结果信息;12)显示删除后的结果。3.3几何通信图与yordon图的比较我们建立了班管理员删除成员的通信图;由于空间缘故,这里就不给出图形了。我们发现,对于此例,顺序图和通信图具有完全相同的表达能力;另一方面,顺序图在表达消息的时序上直观,而通信图在画对象之间的连接上灵活。我们还发现,通信图与Yordon图有很大的相似性:1)通信图中的对象和Yordon图中的模块都用方框代表,并且方框间皆由直线连接。2)通信图和Yordon图皆有带注释的箭头。通信图中箭头表示对象间消息传递方向,其注释表示消息;Yordon图中箭头表示模块间的调用,注释表示调用过程中来回传递的信息。3)在Yordon图中,注释箭头的尾部状态可以区分传递的信息是数据、或者控制信息。这并不奇怪,因为UML吸收了先前各种图形语言的思想。事实上,Yordon图是UML通信图的影响源之一。3.4uml活动图的形成图6描述了系统管理员在登录系统后,添加院系信息的动作、动作的结果,即对象状态的变化。此活动图有三个泳道。添加院系信息的步骤如下:1)系统显示目前所建立的全部院系信息;2)系统管理员选择添加院系;3)系统显示输入信息文本框;4)系统管理员输入各项信息;5)系统验证院系信息是否合法;6)若合法,系统添加院系信息;7)提示添加成功信息;8)结束。若输入信息不合法:1)提示添加失败;2)回到院系显示页面,重新输入信息;3)继续验证直到合法;4)进入第6步。UML活动图与程序流程图很相似。在此例中,若1)将输入菱形框的矩形框内的文字放入菱形框内,将矩形框删除,2)将起始状态、终止状态替换为流程图的起始标志、终止标志,3)将泳道删去,4)将菱形框输出箭头上的卫式条件的方括号删去,那么,此活动图便成了一个流程图。的确,UML活动图来源于程序流程图、Petri网、状态机等。活动图比起流程图来有更强的表达性:流程图对动作顺序的描述比较确定,活动图善于描述动作顺序的不确定性;流程图一般用来表示串行过程,活动图常用于并行过程。3.5强化用户体验管理除了运用UML,我们还运用数据流图来从不同的角度刻画系统。数据流图善于表现数据或信息的流向、存储。图7在抽象层次上刻画系统,数据源点和终点都是用户。它描绘登录信息输入通信录系统,输出时,信息变换成通信、留言信息。图8是系统管理员对权限管理的细化数据流图。它描述登录信息由系统管理员输入后,在系统中经历的处理、变换、流动和存储。图9是班管理员管理班的细化数据流图。班管理员输入登录信息,信息经历一系列处理、变换、流动和存储。3.6云财大数据分析建立名为SchoolmateWeb的数据库,包含8张表。其中,公用表:User,已注册校友网站的用户信息;Access,用户的权限信息。专用表:Department,院系信息;Specialty,专业信息;Class,班信息;Member,成员信息;Message,留言信息;City,城市信息。公用表是校友网站中所有子系统都可能用到的,专用表是为本子系统设计的。在表2中,通信录系统管理员的权限为11,通信录本班管理员的权限为12,通信录的普通用户的权限为13,校友网站普通用户的权限为14。在校友网站中,用户权限设置为2位数字,第一位表示子系统,第二位表示子系统内的用户分类,如第一位为1表示通信录子系统。表3、表4和表5分别存储云财大的所有院系信息、所有专业信息和注册过通信录系统的班信息。显示院系信息、专业信息时,显示其全部或部分信息。这三张表的关系用ER图表示,见图10。其中,忽略了表的属性。表6用于通信录系统用户注册和个人信息修改,以及班管理员管理班成员。它与User表通过用户名连接。表7存储用户的所有留言。显示用户留言时,显示此表中部分或全部留言。用户留言或对留言进行相关操作实际上是通过数据库接口访问和操作此表。表8存储城市名称和城市对应的省份代码。用户注册时,选择相应的省份,系统查询此表,在页面下拉菜单中列出选中省份对应的所有城市。这里给出表User、Member和Message的ER图,即图11。4克氏原螯虾系统数据库设计使用C#语言和ASP.NET编程,使用SQLServer数据库存储数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论