基于dotnet的软件项目平台设计与实现*
2016-04-15陆婷婷殷佳庭
陆婷婷, 殷佳庭
(芜湖职业技术学院 网络工程学院,安徽 芜湖 241003)
基于dotnet的软件项目平台设计与实现*
陆婷婷, 殷佳庭
(芜湖职业技术学院 网络工程学院,安徽 芜湖 241003)
摘要:为了能满足新生管理时用户集中、处理数据量大的要求,同时满足学生最大范围地使用平台,新生管理平台的开发采用B/S模式,简要介绍了新生管理平台的关键开发技术;从研究新生管理平台的需求出发,在理清新生管理平台主要功能需求的基础上,利用UML建模工具对系统进行建模,建立系统需求的用例图,完成了新生管理平台的各个模块;系统采用Asp.net和SQL Server2005作为开发工具,用VS2008作为IDE集成开发环境,程序的开发框架采用三层的软件开发架构。
关键词:新生系统;三层架构;UML;开发技术
迄今为止,国内的大部分高校在新生入学时仍然采用的是传统的手工操作方式。就安徽省芜湖市的高校而言,一般需要花上3-4 d的时间,消耗的时间比较长。新生成功报到后,将会有一大批的材料需要整理,归类信息存放在EXCEL表格、WORD文档中进行存档,这虽然能理清一些工作头绪,随着文件和数据的增多,对于一些文件数据的查找,数据的更新和操作都会带来一系列的问题,所以,要充分利用现有的软硬件资源,将新生管理平台的使用作为新生管理上的一个重要任务做。
所讨论的主要内容是根据安徽省芜湖市周边的一些兄弟院校管理工作的需要,开发出一个能更好的适应高等职业院校管理者和教师的新生管理平台。
1开发技术
1.1asp.net介绍
asp.net是一个已编译的,基于.NET的开发环境,现在比较流行的VB.net、C#.net或者Jscript.net等语言都可以使用.net。.net framework框架均可用于任何asp.net应用程序。相关的技术开发人员非常容易上手,查看相关的帮助文档,而且现在这种技术都很流行,网络上有大量的Blog、搜索引擎,非常容易学到相关知识。.net framework中包括托管的公共语言运行时,类型安全,继承等[1]。
1.2.net framework介绍
.net framework的框架中一个非常重要内容是Common Language Runtime,简称CLR,翻译名称叫公共运行时。公共运行时就像是一个中央处理器一样,主要用于提供内存管理、进程管理等核心服务。对类型的安全等进行强制的类型检查,以确保应用程序的安全性,在.net中有很多的托管代码,都是以公共语言运行时为目的,还存在另外一种概念就是非公共运行时,这种是不以CLR为目的的代码。
1.3软件开发模式B/S
B/S模式(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互[2]。
2需求分析
需求分析的详细定义是指要完成一个软件项目,理清软件开发的功能、目标、范围等需求,为软件工程的后期做好充分的准备[3]。找出系统的用例,可以从执行者入手,对每个执行者提出一些问题,然后从执行者对这些问题的答案中获取用例。
下面给出一些主要功能模块的用例图(图1-图3)。
图1 通知管理的用例图Fig.1 Notice management example chart
新生在登录系统成功可以看到此模块的相关功能,辅导员在发布通知前,可以先保存通知,并且可以对通知进行编辑操作。当辅导员把通知编写好以后,就可以向学生发布。学生在这个模块上只有查看的权限,不能对通知进行编辑修改等操作,因为这个功能主要是为辅导员所使用。
图2 贫困管理的用例图Fig.2 Poor student management example chart
学生录入自己的基础数据后,就可以进行贫困申请,新生的贫困信息主要包含两个部分,一个是新生的基本个人信息,如学生有残疾等;一个是学生的家庭贫困信息,这两个信息都将作为辅导员评选贫困生的基本条件。辅导员可以查看学生的具体贫困信息,也可以修改和删除学生的贫困信息,辅导员拥有这些操作的全部权限。
图3 宿舍分配的用例图Fig.3 Dormitory allocation example chart
教务人员导入学生的宿舍信息,辅导员在获取新生的宿舍信息后,可以对新生进行宿舍的分配,新生在填写完报名数据后,可以到辅导员处领取宿舍号。
3数据库设计
3.1数据的准确性
新生入学管理平台在处理学生的注册数据时,需注意数据录入的准确性。其准确性将会关系到系统运行的质量。一旦输入了错误的数据,将会导致系统不能正常工作,系统工作将会失去意义。数据库的设计在新生入学管理平台等管理系统上占据着非常重要的地位,其设计的合理性,有利于程序的实现。由于大多数管理系统在运行时,基本上都是采用手工输入的方式,所以,新生入学管理平台应提供一定的纠错处理能力,以保证能接受准确有效的数据,需要给出相应的错误提示。
3.2数据的一致性与完整性
管理平台中的数据大多都是共享使用,不同的数据表之间都建立了一定的关联关系,所以,新生入学管理平台在进行数据库的设计时,也要考虑数据的一致性;数据库在设计时,也要考虑到数据的完整性,对数据完整性进行约束,对于管理平台中的一些不需要的或者错误的无效数据,管理平台都要对其进行拒绝处理。新生入学管理平台在设计数据库时,进行了详细的数据字典的设计,保证了数据的一致性和完整性。
3.3数据的共享与独立性
新生入学管理平台在设计时,按照角色进行划分,各个角色所管理的数据彼此独立,数据也提供共享。比如,学生在发送信息给辅导员时,所使用的消息表中的数据提供共享。根据不同用户的不同需求,设计出提供相关功能的数据表,以满足新生入学管理平台的需要。
3.4数据表设计
考虑到不同用户角色的使用用途,归纳总结出新生管理平台所使用的数据表。
(1) 诚信信息。诚信信息表主要负责记录学生的诚信信息,字段主要包括学生的学号、诚信内容、备注和记录的时间。
(2) 缴费信息。缴费信息表主要要与记录学生的缴费信息,对一些未缴费或者欠费的记录都在表中进行登记。所涉及的字段包括身份证、应缴的学费、所欠费用以及备注信息。
(3) 联系方式。联系方式表主要用于记录学生的家庭成员信息,表记录了新生的2个家庭联系人信息,所涉及的字段包括学生的身份证、称呼、联系方式和联系地址。
(4) 贫困成员表。贫困信息表主要用于记录学生的家庭贫困信息,根据贫困生信息申请表,将一些主要的信息登记在表中,主要涉及的字段包括新生的身份证、家庭成员姓名、年龄、同学生的关系等。
(5) 权限表。权限表主要用于记录教务人员和辅导员的权限信息,主要包括用户名、用户密码、联系电话字段信息。
(6) 通知信息。通知信息表主要用于记录辅导员发布的通知,供学生登录页面时查看,主要包含通知时间、所通知的班级、通知的内容等。
(7) 宿舍分配。宿舍分配主要用于学生的宿舍分配信息,从总务部门获取的宿舍分配表,主要包含的字段为宿舍号、系别、班级、空白床位等信息。
4新生管理平台主要模块实现
4.1 平台的文件组织结构
新生管理平台详细的文件组织结构如图4所示:
BLL文件夹存放的是业务逻辑层相应的文件;DAL主要存放数据操作相关的类文件,这些文件有大量方法的定义,供BLL中的文件调用;Models是实体类,这些实体类只有相应的成员变量和属性,这个类主要是供DAL和BLL这两个层做调用;StuManager目录主要存放的是前台显示层中的文件,其中包含用于页面显示控制的css文件、同客户端交互的js文件,而且还包含一些第三方控件目录;新生管理平台中的3个使用者分别对应admin管理员目录、student新生目录以及teacher教师目录等,在每个使用者目录中都有相应的aspx文件和cs文件。
4.2登录模块的实现
登录部分的功能实现比较简单,通过调用BLL.userBLL.ValidateUser方法检查教务人员和辅导员老师登录的合法性,通过调用BLL.StuBLL.ValidateUser这个方法来检查新生登录的合法性。当教务人员输入合法的用户名和密码后,平台将会跳转到admin/Default.aspx页面中,当辅导员老师成功登录后,页面将会跳转到teacher/Default.aspx中,学生登录成功,将会跳转到student/S_Default.aspx的页面中,其中admin,teacher和student分别为3种不同角色的操作目录。
图4 文件组织结构Fig.4 File organization srtucture
需要提出的一点就是,在实现登录的功能中,平台充分考虑到了网络上讨论比较多的SQL注入式攻击的问题和用户的身份验证的问题[4]。
4.3数据导入模块的实现
此部分的功能主要是通过两个方法来实现的,一个是将文件上传至服务器的UpLoadXls方法,另一个是将数据写入StuManager数据库中的学生资料表的ImportXlsToData方法。
主要涉及的数据表:学生资料表等。
4.4报名录入模块的实现
新生报名录入模块的操作流程比较简单,根据需求分析,新生在入学报名时,必须要用自己的身份证和准考证登录进去,才能填写相关的信息。
新生登录成功后,将获取新生的身份证号,根据身份证信息查询出学生的高考录取资料,将这些查询出来的资料信息显示在页面上,这个功能主要通过调用BLL.StuBLL.Stu_GetData这个方法实现;还有一个信息就是学生的联系方式,必须要学生进行填写,这个功能调用的方法是BLL.ContactBLL.Contact_GetData。学生在入学报名录入的页面中输入相应的数据,对于一些已经录入过的数据,将不允许学生进行重复的录入,以红色为前景色进行显示,这个功能主要通过BLL.ContactBLL.Contact_InputData的调用实现。
主要涉及的数据表:学生资料表、联系方式等。
4.5通知管理模块的实现
通知管理模块这个功能,主要还是为了让学生在用身份证和准考证进行登录成功后,第一时间能看到入学报名后要知道的一些相关信息。辅导员在管理平台预先发布,学生在成功登录的时候立马就能看到。
模块涉及的主要方法原型如下:
∥教师的id,查询辅导员老师所管理的班级信息
public static string GetClassFromid(string teacherid);
∥输入教师的姓名,获取教师的手机信息
public static string GetData(string teachername)
∥具体的通知内容的发布
public static bool SendNotice(Models.Notice notice)
涉及到的数据表:通知信息表、辅导员表等。
4.6新生宿舍分配模块的实现
页面在加载的时候,显示来自数据库中的宿舍分配表的信息,而且一定要是本班的宿舍,对男女宿舍进行详细的显示。通过调用BLL.SuSheBLL.FindALLAvailable这个方法进行实现,具体的信息是放在asp.net中的DataList控件进行显示;具体的宿舍分配,是通过调用BLL.SuSheBLL.AllocatSuShe方法实现。在宿舍的分配中,此外,还考虑到对于重复申请宿舍的学生将不给予申请,这在ALLocatSuShe这个方法中已经具体实现;宿舍分配完成后,将学生已经分配好的宿舍号信息加入到学生资料表中,输入学生的身份证号码和学生的宿舍号信息,调用BLL.StuBLL.InsertSuSheInfoToStu这个方法进行实现。
除了给学生分配宿舍外,学生的具体分配宿舍的信息也会在页面中进行显示并且提供查询,主要通过BLL.SuSheBLL.GetSuSheInfo方法进行实现,方便对学生的宿舍进行管理。
模块涉及的主要方法原型如下:
∥在学生资料表中插入学生的宿舍信息
public static bool InsertSuSheInfoToStu(string ssh, string sfz)
∥根据身份证,查询学生的基本信息
public static DataTable Stu_GetStuData(string sfz)
∥查询某个班级空白的宿舍信息
public static DataTable FindALLAvailable(string bj)
∥具体的分配宿舍,修改宿舍分配表
public static bool AllocatSuShe(string ssh)
5系统测试
5.1测试环境
服务器:
CPU 型号:Intel Xeon E3-1230
主频:3.3 GHZ内存容量:4.00 GB
操作系统:Microsoft Windows Server 2003
客户端:
CPU 型号:Inter(R) Core(TM)2 Duo T5750
主频:2.0 GHZ内存容量:3 GB
操作系统:Microsoft Windows XP Professional SP3
5.2测试报名管理模块
测试结果如图5所示。从图5中可知,最大用户并发数量为5个,总的吞吐量为2 105 911字节,每秒平均击键3.406次,应用服务器响应时间快,吞吐量高,处理大容量数据的并发能力强,性能良好。
图5 报名管理模块的测试结果Fig.5 Entry management module test result
5.3测试贫困管理模块
测试的结果如图6所示。模块测试的数据量没有上面讨论的新生报名模块大,因为贫困生对新生管理平台来说,用户相对较少。从图6中可以看出,运行性能良好,应用服务器处理速度快,比新生报名模块的处理速度要快的多。
图6 贫困管理模块的测试结果Fig.6 Poor student management module test result
6总结
通过新生管理平台的开发,详述了软件项目平台的开发过程。新生管理平台还需要经过大量数据的测试,在管理平台的开发过程中,使用的测试数据不是很多,每个专业的学生数量20个左右,新生报道人数也并不是很多,所以,从性能上来说,软件项目的实用性没有问题,不过Bug等错误可能还存在,需求上可能还有做得不够,代码部分还有很多需要优化。
参考文献(References):
[1]董婧.基于.NET三层架构的WebGIS优化应用研究[J].内蒙古师范大学学报(自然科学(汉文版)), 2013,45(6):90-92
DONG J.Optimization Application of WebGIS Based on .NET Three Layer Architecture[J].Journal of Inner Mongolia Normal University(Natural Science Edition),2013,45(6):90-92
[2] 谭前进,冯媛.基于ASP.NET的网络课程资源库系统设计与实现[J].新乡学院学报,2014,36(4):81-82
TAN Q J,FENG Y.Design and Implementation of Network Curriculum Resource Library System Based on .NET ASP[J].Journal of Xinxiang College,2014,36(4):81-82
[3] 王宇华,印桂生.基于本体的需求模型到UML模型转换方法[J].哈尔滨工程大学学报,2012,35(6):71-73
WANG Y H,YIN GUISHENG.Transformation Method from Requirement Model to UML Model Based Ontology[J].Journal of Harbin Engineering University,2012,35(6):71-738
[4] 吴小欣.ASP.NET网站的系统架构和性能优化的探讨[J].电子设计工程,2015,32(9):91-93
WU X X.Discussion on the System Structure and Performance Optimization of ASP.NET Website[J].Electronic Design Engineering,2015,32(9):91-93
责任编辑:田静
Design and Implementation of Software Project Platform Based on Dotnet
LU Ting-ting, YIN Jia-ting
(Network Engineering School,Wuhu Institute of Technology,Anhui Wuhu 241003,China)
Abstract:In order to satisfy the processing of large amount of data and centralized users when the new students are managed,while to satisfy the new students to use the platform on maximum range,the development of new students management platform uses B/S model.This paper briefly introduces the key development techniques for new students management platform,uses UML modeling tool to model the system from the demand of the research on the new students management platform and based on clarifying the main function demand of the platform,sets up case diagram for the system demand,and achieves each module for the platform by taking Asp.net,SQL Server 2005 as the system development tool,by using VS2008 as IDE integration development environment,and by using three-layer software development framework as the program development framework.
Key words:new students management system; three-layer framework; UML; development technique
中图分类号:TP272
文献标志码:A
文章编号:1672-058X(2016)01-0077-06
作者简介:陆婷婷(1985-),女,安徽巢湖人,讲师,硕士,从事程序开发、系统架构设计研究.
*基金项目:芜湖职业技术学院2013年教学研究项目(WZ[2013]JY11).
收稿日期:2015-09-11;修回日期:2015-10-23.
doi:10.16055/j.issn.1672-058X.2016.0001.017