APP下载

基于UML和.NET的高职院校新生报到系统的设计与实现

2009-08-27李跃田

软件工程 2009年8期
关键词:高职

李跃田

摘要:基于UML和.NET的高职院校新生报到系统,运用先进的OOD和OOA软件编程思想和方法,使用先进的UML和.NET开发工具,解决了高职院校存在的新生报到中的问题,简化了工作程序,提高了工作效率。

关键词:UML;.NET;高职;报到

1 引言

随着全国高校网上录取系统的使用,各高校开始使用信息管理系统来管理学生的报到。但高职院校有着自己的特点,一是招生的层次比较多,有普通高职、对口高职、三二转段、五年一贯制、普通中专、职业中专等;二是录取数据来源不统一,有通过全国普通高校网上录取系统录取的,也有通过省招生办办理的,还有通过市招生录取和自主录取的;三是退档、补录和转专业等特殊要求,由于高职院校的报到率普遍不高,所以要组织所有未报到的学生退档,然后补录新的学生,学生还可以在报到时临时再调整专业,这些数据都非常重要不能有一点错误。数据及过程复杂性增加了工作的难度,严重影响了工作效率,而错误还是很难避免。

面向对象的设计方法(OOD)具有封装性、继承性和多态性等特点,在各个领域的应用系统软件开发过程中都取得了良好的应用效果,因此也逐渐成为软件开发的主流方法。统一建模语言(UML)为面向对象的软件开发提供了一个丰富的、统一的平台,并且已经成为当今建模语言的主流标准。

由于要求的复杂性,现在市场上各种管理软件不能满足我们实际的需要,为了解决实际工作中存在的问题,我院组织计算机专业力量,运用面向对象的设计思想,基于UML和.NET平台的C#设计实现了B/S结构的新生报到系统。

2 需求分析

新生报到过程中,主要涉及招生就业处和财务处两个部门参与数据的修改,教务处及各系部主要是数据的查询。报到数据来源是这样的:普通高职和对口高职来源于全国普通高校网上录取系统,五年一贯制专科、三二转段、普通中专和职业中专数据来源于各级招生主管部门。我们事先把这些数据导入到系统中。系统要完成的功能包括:用户管理、组织新生报到管理、交费管理、各种统计等主要模块。其流程图如图1所示。

3 UML建模

面向对象的统一建模语言UML提供了从不同的角度去观察和展示系统各种特征的标准方法,在UML中,从任何一个角度对系统所做的抽象都可以用用例图、类图、对象图、状态图、时序图等模型图来描述,而这些来自不同角度的模型图最终组成了系统的完整模型。

3.1用例分析

用例是系统参与者与系统在交互过程中所需要完成的事物,识别用例最好的方法就是从系统的参与者开始,考虑每个参与者是如何使用系统的。参与者通过向系统输入或请求系统输出某些事件来触发系统的执行。参与者由参与用例时所担当的角色来表示。每个参与者可以参与一个或多个实例。它通过交换信息与用例发生交互。参与者有三大类:系统用户、与所建造的系统交互的其他系统、一些可以运行的进程。这里我们只考虑系统用户。

经过分析、与招生工作人员和财务工作人员交谈、填写各种调查表并把这些原始材料加以抽象,抽象出四种系统用户:系统管理员、招生工作人员、财务工作人员、学院(系)用户和普通人员(浏览者)。以招生用户为例,用例图如图2所示。

3.2静态结构分析

在分析了系统的用例后,需要对系统进一步地分析,以便发现其中的类或对象,并初步确定类的属性和操作,以及类之间的关系。即分析系统的静态结构。

根据以前的需求分析,有不同的用户对软件系统进行操作,所以用户及操作的内容都称为对象,根据分析发现共有17个对象:用户、学生报名表、报到通知单、报到名单、未报到名单、录取名单、未录取名单、招生计划表、录取统计表、未录取统计表、报到统计表、未报到统计表、收费标准表、收据、欠费学生名单、欠费统计表。

根据抽象出的对象,建立类图,用户类图与消息类图,以招生用户为例,如图3所示。

3.3对象之间的交互分析

在描述对象之间的交互时,可以使用时序图或协作图,这里我们重点分析对象间消息传递的时间顺序,即使用时序图。每个用例都可以建立一个时序图,将用例执行中各个参与的对象之间的消息传递过程表现出来。由于本系统中用例很多,时序图也很多,以招生工作人员接受统招学生报到时序图为例,如图4所示。

4 概要设计

在软件需求分析阶段,已经分析出该系统“做什么”的问题,并把这些需求通过通过各种视图以及规格说明书描述了出来,这也是目标系统的逻辑模型。进入设计阶段,就要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件总的体系结构,称为软件概要设计或结构设计。

4.1概要设计的原则

(1)单一职责原则。即:类的职责简单而且集中,避免相同的职责分散到不同的类之中,避免一个类承担过多的职责;减少类之间的耦合;当需求变化时,只修改一个地方。

(2)开放封闭原则。软件实体(类,模块,函数)应该是可以扩展的,但是不可修改的,模块可以操作一个抽象体。由于模块依赖于一个固定的抽象体,因此它可以是不允许修改的;同时,通过从这个抽象体派生,也可扩展此模块的行为功能。

(3)合成/聚合复用原则(CARP)。尽量使用合成/聚合、尽量不使用继承。即在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新的对象通过向这些对象委派达到复用已有功能的目的。这样做的好处是:新对象存取成分对象的惟一方法是通过成分对象的接口;复用是黑箱复用,支持包装,所需的依赖较少,每一个新的类可以将焦点集中在一个任务上,可以在运行时间内动态进行,新对象可以动态地引用与成分对象类型相同的对象。只是通过使用这种复用建造的系统会有较多的对象需要管理。

4.2数据库设计

根据C#语言特点,我们对需求分析中的类进行了必要的调整。调整后的类图如图5所示。

5 详细设计

详细设计阶段以概要设计文档为依据,确定怎样具体地实现所要求的系统,得出对目标系统的精确描述,包括每个模块的数据结构和算法,确定模块的细节:外部接口、内部接口、输入输出和局部数据。为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义,对数据结构进行物理设计,即确定数据库的物理结构。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。网站总体设计如图6所示,并针对每个面页书写其中包含的页面元素(表单,表格、图像),详细代码部分在此不再赘述。

6 结束语

由于本软件的构建应用了OO思想,软件为三层结构,层与层之间功能划分清楚,层内类与类的依赖程度很低,修改很容易,在使用过程中很好的满足了用户的要求,得到用户的好评。

参考文献

[1] CRAIG L.UML和模式应用(第三版)[M].李洋,郑龚,译.北京:机械工业出版社,2006.

[2] 邵维忠,杨芙清.面向对象的系统设计[M].北京:清华大学出版社,2004.

[3] 王凯明.创建基于.NET的通用数据库访问层[J].电脑编程技巧与维护,2003,10:60-64.

[4] 刘怀亮,相洪贵.软件质量保证与测试[M].北京:冶金工业出版社,2007.

猜你喜欢

高职
高职应用文写作教学改革与创新
高职大学生孝文化教育浅探
高职人才培养模式创新探讨
关于提高高职人才培养质量的思考
关于中职与高职衔接