1 引言
系统建模是软件开发过程中的核心部分,建模的目的是把要设计的结构和系统行为紧密结合在一起,更好的掌握系统应具有的功能,从而使开发的系统更好的满足用户的需求。
采用UML建模的过程分为需求建模、领域建模和设计实现三个阶段。UML有静态建模和动态建模两种建模机制。在系统对象模型中,用例图、类图、对象图用来定义系统对象及其之间的静态关系;构件图和配置图用来体现软件体系结构、硬件体系结构和通信机制;顺序图、协作图、状态图和活动图用来描述对象的状态及其之间的交互关系[1]。
2 维修管理子系统静态建模
维修管理子系统的主要功能包括前台接待、派工、领料、完工、结算、收银等操作。维修管理子系统用例图如图1所示。
3 架构分析
系统采用B/S结构开发,B/S结构的优点是访问系统不受时间和空间的限制,只要有一台能上网的电脑就能使用系统,客户端实现了零维护,统一了客户端,系统功能集中在服务器端,方便了系统扩展,简化了系统的开发、维护和使用。
系统前台采用Visual Studio.Net 2005,后台数据库采用Microsoft SQL server 2005,运行环境为企业内部网或广域网。将整个业务应用划分为表示层、业务逻辑层、数据访问层三层架构。三层体系结构不是指物理上的三层,也不是指放置三台机器,不仅仅只有B/S结构才是三层体系结构,三层是指逻辑上的三层[2]。
第一层为表示层,用户通过界面对系统进行操作,通过业务逻辑层来实现用户各种操作信息的添加、修改和删除操作。在ASP.NET中,用户表示层是通过ASPX页面实现的。
第二层是业务逻辑层,它处于数据访问层与表示层中间,承上启下。为每种业务做成一个类,在类中包含业务的所有方法,可以提高开发效率。
下面介绍一下用户登录类,类中有5个字段,4个属性,3个方法,这3个方法Add、update、Delete分别用于完成数据的添加、修改、删除操作。在系统开发过程中包含很多类,通过.NET提供的命名空间实现类的有效管理。命名空间提供了一种组织类的逻辑层次结构,在定义一个类时,可以把它放在一个命名空间里,用户登录类图如图2所示。
第三层是数据访问层,也称持久层,主要负责数据库的访问,提供数据库操作的接口和存储系统的所有数据,是系统的最底层[3]。在系统开发中创建一个共同的数据库操作类Database,它具有操作数据库常用的方法,如Close、Database、GetDataSet方法等。Database类图如图3所示,Database类中有5个字段,11个方法,用于完成打开数据库、关闭数据库、查询、获取数据集等操作。
4 E-R图分析
维修管理子系统主要数据有维修设备的信息、维修员工的信息、配件信息、财务信息等。维修管理模块E-R图如图4所示。
维修管理子系统涉及到的实体包括的属性如下:
1、用户
包括的属性有用户编号、用户名、用户密码、等级。
2、维修员工
包括的属性有维修员工编号、维修员工姓名、维修组编号。
3、维修项目
包括的属性有项目编号、项目名称、工时、工时单价。
4、维修派工
包括的属性有维修序号、维修号、派工日期、维修费用。
5、维修领料
包括的属性有领料单号、施工号、配件编号、配件名称、配件单位、领料数量、出库日期、类型、售价、领料金额、保管员、领料人。
6、客户信息
包括的属性有客户编号、维修设备品牌、客户电话、客户地址。
7、前台受理
包括的属性有设备编号、客户编号、客户单位、设备类型、设备品牌、客户电话、预计完工日期、维修类别、登记人。
8、完工审核
包括的属性有审核编号、施工号、审核员编号、审核员姓名、审核结论、审核日期。
5 命名空间和类的应用
在设计类和类成员过程中,使用命名空间解决了同一项目中类成员方法或者类名同名的问题,提高了研发效率。系统设计一个类,其他页面可以直接或间接继承此类,以最少的代码修改来约束整个站点,提高代码的重复使用性[4]。下面介绍一下数据库操作类和维修派工类的应用。
1、数据库操作类
数据库操作类的操作包括数据库的连接、DataReade操作、DataSet操作、获得DataView返回结果集操作、获得DataTable返回结果集等操作,下面代码是数据库的连接、关闭和执行查询并获得DataReader返回结果集的应用。
namespace DNWX
{
public class Database
{
private SqlConnection Conn;
private SqlCommand Cmd;
private SqlDataReader Reader;
private SqlDataAdapter da;
private string strConn;
public Database()
{ strConn = ConfigurationSettings.AppSettings[“DnwxConnectionString”];
Conn = new SqlConnection(strConn);
}
public void Close()
{ Conn.Close(); // 关闭数据库连接 }
/// 执行查询,获得DataReader返回结果集
public SqlDataReader ExecuteReader(string sql)
{ SqlDataReader result = null;
Cmd = new SqlCommand(sql,Conn);
try
{ Conn.Open();result = Cmd.ExecuteReader(); }
catch (Exception ex)
{ Console.WriteLine(“连接错误:”+sql); }
finally
{ this.Conn.Close(); }
return result;
}
}
}
2、维修派工类
维修派工类的操作包括增加数据、删除数据、更新数据、获取施工号日期、获取数据列表等操作,下面代码是维修派工中获得wxpg表中数据的应用。
namespace DNWX
{
public class WXPG
{
Database db = new Database();
public WXPG()
{ }
/// 获得数据列表
public DataSet GetList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(“select SGID,SGBH,CPBH,WXLX,PGRQ,PGJE”);
strSql.Append(“FROM WXPG”);
if (strWhere.Trim() != “”)
{
strSql.Append(“where”+ strWhere);
}
return db.GetDataSet(strSql.ToString());
}
}
}
6 结束语
系统采用B/S结构开发,运行环境为企业内部网或广域网。用户根据浏览器呈现的Web页面信息,向服务器提交服务请求,这些请求包括对数据库的查询、修改、插入等,服务器端对请求信息进行处理,并将处理结果通过网络返回给浏览器端[5],实现了无纸化、现代化办公,提高了工作效率。
参考文献:
[1] 车葵,程保中,牛晓太,邢书涛.UML在嵌入式系统开发中的研究与应用[J].计算机工程与设计,2009,30(15):3559-3564.
[2] 杨晋.大型B/S架构实验综合管理平台研究与实现[J]. 实验室研究与探索,2011,30(10):395-399.
[3] 彭茜.B/S结构的土地登记管理系统研究[J].测绘科学,2010,35(2):167-169.
[4] 雷蕾,陆新泉,李睿,洪宇.应用.NET框架命名空间技术实现Web测试自动化[J].计算机应用研究,2010,27(6):2160-2162.
[5] 王宏睿,王志龙,祝金国.制药设备维修管理系统的研究与开发[J].机械设计与制造,2009,(7):249-251.
作者简介:阎琦(1975-),男,硕士,研究方向:计算机软件与网络技术。