基于UML和.NET的高校网络管理信息系统

时间:2022-05-29 12:06:32

基于UML和.NET的高校网络管理信息系统

摘要:网络应用技术的发展使符合各类高校自身特色的信息平台需求量增大。介绍了的技术特点、数据访问方式及WEB服务,并从实际项目出发,基于MVC设计架构,融入Factory与Facade设计模式,应用面向对象的UML建模技术和平台设计并实现了一个运行高效、通用性较强的管理信息系统。对日常工作效率的提高、教学过程的规范以及促进信息化建设具有现实意义。

关键词:设计模式;信息系统;UML;;多层架构

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)14-3318-04

NMIS of Universities Based on UML and .NET

WU Ting, WANG Xi, ZHANG Hui

(School of Information Science and Technologe, Yancheng Teachers University, Yancheng 224002, China)

Abstract: With the rapid development of network Application Technology, an increasing demand for Information Platform with the self-characteristic in a variety of colleges and universities.It Introduces the database accessing method,Web Service and the technical characteristic of , from the practical view, using the object-oriented UML modeling,the MVC architecture l, for code separation, designing,a high performance, popular, safeNetwork Management Information System was developed whichimproves work efficiency, regulating the management of teaching process, encourage informationization construction, and has a certain practical value.

Key words: design mode; information system; UML; ; multilayer structure

互联网的发展及WEB的开发技术日趋成熟,各类高校都在构建符合自身特色的网络管理信息系统(Network Management Information System简称NMIS),旨在借助计算机技术推动学校各项工作的全面发展。目前各类高校管理系统的客户端程序设计复杂、信息内容和形式单一、软件维护和升级困难、不易进行信息共享等,已经不能充分发挥计算机在信息化管理中的作用。因此,系统也逐步由传统的C/S模式向多层架构的B/S模式转变,并出现了多种解决方案,UML建模与.NET技术相结合就是其中最典型的代表。

1 Web服务与.NET相关技术

Web服务的主要目标是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,多种不同平台上的系统应用依靠这个技术层来实施彼此的连接和集成。通过XML的媒介,客户端程序可以通过定义好的接口来调用Web服务提供的功能。库有两个核心的组件(并不是COM意义上的组件):Dataset 和.NET数据提供者。Dataset是非连接的、位于内存中的数据存储;.NET数据提供者是一套特有的组件,用于访问特殊类型的数据源,例如OLEDB数据源或SQLServer数据库等。中的功能直接与不同的数据访问需要相匹配。体系结构如图1所示。

的另一个核心元素是.NET数据提供程序,其目的是为了实现数据操作及其对数据的快速访问,为此包含了四个对象:Connection、Command、DataReader、DataAdapter。

2 系统的设计与实现

2.1 需求分析

某高校为了适应发展需要,决定对教务教学、网络办公、学生工作、党团工作、后勤、图书、科研等进行信息化管理,并且要求提供门户网站及强大的后台维护系统。

2.2 系统架构设计

多层结构是把整个应用程序根据完成功能的不同划分为几个逻辑的或物理的小的部分,每个部分完成诸如提供用户界面,数据存取等特定的功能[1] 随着软件工程的发展,对系统架构的研究开始超出软件设计阶段,逐步扩展到了整个软件生命周期[2]。为了提高子系统的独立性、可移植性、扩展性和灵活性。系统架构如图2所示。

1)表现层

用户界面应用程序通常包含Web页的呈现和行为、显示数据、据验证检查、为用户提供任务指南、从业务接口层接收结果向用户显示等功能。

2)对象实体层

主要存储在应用程序各层之间传递数据的瘦数据类或者业务实体,类及实体采用存储过程方式实现。在.NET中的具体实现方式:

1)强类型集合的实现方式

将业务逻辑划分为多个独立的业务单元或对象,每个对象包括一个业务是所对应的一组数据表字段。CasePlanViewData是被抽象出来的一个对象。System.Collections.CollectionBas是.NET为强类型集合提供的抽象基类,它使开发者创建强类型自定义集合变得更容易。通过继承这个基类,可以扩展和定义作用于集合的相关操作。自定义强类型集合代码示例结构如图3所示。

2)数据实体自动赋值的实现方式

使用System.Reflection(反射)命名空间下的类,代码可以在运行时读取这些属性标签,即定制属性可以直接影响代码运行的方式。如果应用程序读写数据到数据库中,就可以通过定制属性和反射的配合使,把类和属性标记为对应的数据库表和列。然后在运行时从程序集中读取这些属性,使程序可以自动从数据库的相应位置检索和写入数据。

3)业务外观层

该层主要用于向基础业务对象提供一致的接口,并将客户端同基础业务逻辑的更改隔离开。为Web层提供处理账户、类别浏览和查询等界面,将用户界面与各种业务功能的实现分别处理,增加系统的可维护性、可扩展性。

主要的实现功能如下:从用户界面层接收用户输入;决定请求传递到业务逻辑层还是数据访问层;将响应从业务逻辑层或是数据访问层返回到用户界面层。

子系统因为不断演化而变得越来越复杂,同时客户类与子系统类之间也存在很大的依赖性。当引入外观对象后,可以为子系统中的一组接口提供一个一致的界面,将客户类与子系统类分离。采用Facade设计模式,从总体设计架构上分出了业务接口层。它为子系统中较一般的设施提供了一个单一而简单的界面。

4)业务逻辑层(Business System)

是业务逻辑处理的集中部分,包含各种业务规则和逻辑的实现。业务逻辑层需要处理的内容:从业务接口层接收请求;根据编码的业务规则处理请求;使用数据访问层获取数据或将数据发送到数据访问层;将处理结果传回业务接口层。

为了使系统能够屏蔽SQL Server数据库和Oracle数据库调用的差异,引入Factory模式。Pddx.IDAL接口对于数据库访问类公开的每个方法都声明一个方法,对于SQLServer和Oracle数据库,各自创建实现数据库调用的特定具体类:SQLServerDAL和OracleDAL,用以执行接口中的每一项操作。工厂类Pddx.DALFactory支持运行时确定加载哪一个具体类,从配置文件中读入一个值以确定应该使用反射加载哪一个程序集。通过.NET的反射命名空间,可以加载某个特定程序集并用该程序集创建某个对象的实例。

3 UML系统分析

UML(The Unified Model Language,标准建模语言)是软件标准化的建模语言,是说明、构造,并且记录一个软件集成系统的中间产品的可视化语言。在用UML建模时,用例图描述需要,从用户的角度出发描述系统的功能、需要,展示系统外部的各类角色与系统内部的各种用例之间的关系[3]。

3.1 功能描述

选择具代表性的图书管理子系统展开图书借阅管理需求UML分析。图书管理子系统主要包括图书信息管理、图书借阅管理等功能模块,支持网上借阅。

3.2 借图用例及事件流

图书借阅用例的事件流描述[4]:

A.前置条件:在这个用例开始之前,借阅者必须登陆到系统中。

B.后置条件:如果这个用例成功,在系统中建立并存储借阅记录,等待管理员批复。

C.扩充点:无。

D.事件流。

a基流:当借阅者想借阅书籍时,用例启动。

a-1 借阅者查找到想要借阅的书籍。

a-2 借阅者根据系统信息填写借阅单。

a-3 如果需蓦借阅者可以修改和删除借阅信息。

a-4 借阅者确定借阅单信息后,提交表单,待图书管理员批复。

E-1:查找书籍不存在,系统显示提示信息,用例中止。

E-2:查找书籍已经被借阅,系统显示提示信息,用例中止。

E-3:系统中不存在该借阅者,系统显示提示信息,用例中止。

图书借阅用例如图4所示。

图书借阅时序如图5所示。

3.3 功能模块划分

根据需求及UML系统分析,将系统划分为两大部分:管理信息系统和门户网站。其功能模块详细划分如图6所示。

3.4 数据实体功能实现

存储过程(Stored Procedure)是指一组作为单个代码单元一起存储于数据库中的T-SQL语句(Transact-SQL),可以将其理解为存储在数据库中,经预先编译,可外部直接调用的程序代码。系统数据实体采取存储过程,数据访问层以函数形式调用具体存储过程功能,避免代码中出现数据访问底层语句。以下是“图书查询”存储过程(asp_SelectByCondtion_book_book) 代码:

CREATE

[dbo].[asp_selectBycondtiont_book_borrow]

@condition nvarchar(50)

As

SET NOCOUNT ON

Declare @strSql NvarChar(1000)

SELECT @strSql =’Select * from [dbo].[t_book_borrow]’+@condition EXEC(@strsq)

--endregion

GO

其他存储过程类似,使用 Codesmith开发辅助工具自动生成其他存储过程。

3.5 数据访问层功能实现

主要对数据实体的存储过程以函数形式调用,实现对SQL、Oracle异构数据库支持。图书借阅管理数据访问(t_book_borrowDao.cs)代码如下:

Namespace pddx.DAL

{

//按照条件选择

Public Data Table SelectByCondition(string strCondition)

{

Try{

Sqlparameter[]arParams=newSqlparameter[1]Arparams[0]=newSqlParameter(“@condition”,SqlDbType.NVarChar) arParams[0].Value=strcondition; //设定字段参数

DataSet ds= SqlHelper.ExecuteDataset(DALConfig.connectionString,

CommandType.StoredProcedure,”[dbo].[usp_SelectByCondtionT_book_borrow]”.arParams”); //参数赋值

ds.Tables[0]TableName=“bbooks”;

return ds.Tables[0];

}

…… //异常处理

解决完数据库实体的设计之后,就处理和数据库交互部分。该层访问后端数据库的功能都由SQLHelper.cs类实现,而不同功能模块对应的类都从该帮助类中调用实际功能。

3.6 业务逻辑层功能实现

处理图书借阅的功能封装于t_books_borrow.cs类中。参考业务逻辑层处理内容的要求,可以将各种逻辑功能封装成组件,根据需要和其他功能组件组合。

图书借阅业务类(t_book_borrow.cs)代码如下:

……

namespace pddx.BLL

{

Public class t_book_borrowbiz

……

//按照条件选择

Public DataTable selectByCondition(string condition)

{

try{

t_book_borrowDao dao=new t_book_borrowDao();

return dao.SelectByConditiion(condition);

}

Catch(Exception exc)

{Throw exc; }

}

……

3.7 业务外观层功能实现

根据各个模块的需要,对业务规则进行高层次的封装。框架没有限制使用何种方式实现业务外观层。目标系统采取Web Service来提供服务,采用IIS为Web服务器平台,可以很方便的部署Web Service。这样,如果业务有扩展需要,只需提供统一接口,就能方便实现。目标系统与网站IT业务的结合,就是通过Web Service方式,将在线投票、查询等业务封装在相应类文件中。

3.8 对象实体层功能实现

主要存储在应用程序各层之间传递数据的瘦数据类或者业务实体。表示层收集数据的时候,图书的信息就作为一个实体来设计,完成后用户接口处理组件会把信息实体作为参数传送给BLL层的业务逻辑组件,业务逻辑部分再把信息实体作为参数传送给数据处理组件,做最后处理,提交数据库或返回错误。

4 总结

以某学院网络信息系统的项目背景为依据,采取UML建模语言进行需求分析,建立明确、直观的需求文档,列出了部分数据表结构,根据多层架构的设计思想与模块功能划分,构建目标系统的整体架构。最后,对各层进行了设计与系统具体实现,对教育现代化改革及教育信息化管理进程具有一定的促进意义。

参考文献:

[1] 田志峰,冷文浩. .Net分层架构下参数自适应存储过程的开发实现[J].计算机应用与软件,2007,24(5):81-83.

[2] 梅宏,申峻嵘.软件体系结构研究进展[J].Joumalofsoftware,2006,17(6).

[3] 张晓龙,程文.基于UML和.NET技术的高校科技信息管理系统实现[J].计算机工程与设计,2008,29(4):993-995.

[4] 谢小轩.企业应用集成综述[J].计算机工程与应用,2002(4):89-92.

[5] 冀振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社,2003.

[6] Tom Programming in C#[M].].Beijing:Tsinghua University Press,2004.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:网络考试系统的功能分析与设计 下一篇:基于多Agent的IT“双师”技能测评系统研究与设...