77范文网 - 专业文章范例文档资料分享平台

《数据库课程设计》任务与指导手册2013(V2.0) - 图文(6)

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

6.8 UI层窗体设计与用例的实现

除主窗体要考虑整体功能结构外,其它功能都是按用例逐一进行设计和实现的。部分用例的事件流相似且相关,可集中在同一个窗体内实现,如:借书证挂失、解除、补办与注销。 1. 用例:用户登录 - frmLogin窗体

用例:用户登录,参见5.4(1)节。 (1)登录窗体设计如下:

登录窗体控件如下: 序号 1 2 3 4 5 6 7 控件类型 label label TextBox TextBox Button Button label 控件(Name) label1 Label2 txtUserID txtUserPwd btnLogin btnClose lblReaderInfo 属性设置 Text = 用户编号 Text = 用户密码 PasswordChar = * Text = 登录 Text = 退出 Text = 登录信息: ForeColor = red (2)在frmLogin.cs文件中添加引用:

using BookManage.BLL; using BookManage.Model;

(3)在frmLogin类中添加成员;其中reader在窗体关闭后仍要求存在并可见(static)。

private int loginTimes = 0; //登录次数

private ReaderAdmin readerBLL = new ReaderAdmin();

public static Reader reader = null; //登录用户信息,可用于整个程序

(4)BLL层ReaderAdmin类添加方法:(登录用例之步骤:3. 系统根据借书证号获取读者对象。)

(5)添加“登录”和“退出”按钮的Click事件和方法:

26 / 46

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

(6)修改Program.cs程序:

(7) 测试 点击“登录”从数据库查询到某读者记录,但其照片为null时,程序在SqlHelper的成员函数DataRowToT(DataRow source)处发生错误,出错语句和原因:

value = Convert.ChangeType(source[pi.Name], ptype); 从“System.DBNull”到“System.Byte[]”的强制转换无效。

纠错:在出错语句前添加条件,语句如下:

if (!(pi.PropertyType.FullName == \ && source[pi.Name] == DBNull.Value))

27 / 46

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

2. frmMain主窗体界面

(1)主窗体添加控件:菜单栏(MenuStrip)和状态栏(StatusStrip)。状态栏里添加一个标签(ToolStripStatusLabel),命名(Name)为: tssUser。菜单栏添加菜单项如下: 序号 菜单项 1 图书管理 1.1 1.2 2 2.1 2.2 2.3 2.4 2.5 3 3.1 3.2 3.3 4 4.1 4.2 新书入库 图书信息维护 读者管理 办理借书证 借书证信息变更 借书证挂失与解除 注销借书证 读者类型管理 借阅管理 借书 续借 还书 用户管理 权限管理 密码修改 菜单(Name) 图书管理ToolStripMenuItem 新书入库ToolStripMenuItem 图书信息维护ToolStripMenuItem 读者管理ToolStripMenuItem 办理借书证ToolStripMenuItem 借书证信息变更ToolStripMenuItem 借书证挂失与解除ToolStripMenuItem 注销借书证ToolStripMenuItem 读者类型管理ToolStripMenuItem 借阅管理ToolStripMenuItem 借书ToolStripMenuItem 续借ToolStripMenuItem 还书ToolStripMenuItem 用户管理ToolStripMenuItem 权限管理ToolStripMenuItem 密码修改ToolStripMenuItem 属性设置 (2)根据登录用户的权限,确定菜单是否可用,并显示登录用户信息,有3个问题:

A. 获取登录窗口frmLogin中的读者对象reader。而进入主窗口时,登录窗口对象已经释放,故只能通过类名(而不是类对象)访问,申明reader为静态public static。

在frmLogin类中:public static Reader reader = null; 在frmMain等其它类中的访问方法:frmLogin.reader

B. 读者对象reader权限的判断方法,分配在BLL层/Model层? Model层代码如下:

C. 根据登录用户权限,在frmMain类中初始化菜单。添加InitMenu()方法:

28 / 46

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

3. 用例:借书证的办理、变更、挂失、解除、补办与注销 –frmReader窗体

借书证相关用例有:办理借书证、变更借书证、挂失借书证、解除挂失、补办借书证、注销借书证等。分析发现第一个步骤都相同,即借书证查询操作;办理新借书证、变更借书证有界面操作,然后再分别做插入和修改操作;而其它的挂失、解除挂失、补办、注销等没有界面操作,可以直接进行各自的业务操作。

方案一 设计3个窗口:

(1)查询窗口,并设计6个按钮控件:办理新证、变更、挂失、解除挂失、补办、注销等。 其中办理新证、变更在点击后分别转入下面2个窗口;另外4个按钮可调用相应业务逻辑方法直接完成。

(2)办理新借书证窗口,从查询窗口传入相关的信息(参见其用例),完成读者表记录的插入操作。

(3)变更借书证窗口,从查询窗口传入原借书证对象,完成读者表记录的修改操作。 此方案的设计与实现比较简单,用户操作简易、流畅。

设计改变了系统主菜单,frmMain类及其窗体的修改工作如下:

将主窗体菜单(6.8.2节)中的4个菜单项“2.1办理借书证”至“2.4注销借书证”去掉3个,仅保留一个菜单项,改其名为“借书证管理”,并添加其点击事件,事件的实现代码为:

方案二 设计1个窗口,如下:

29 / 46

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

此操作界面的控制较复杂,下面详细介绍其设计思想与实现技术。 (1)窗口界面设计

将界面设计成3个部分:

? 查询条件 工具栏(ToolStrip toolStrip1),其中控件:查找(ToolStripButton

btnQuery),Excel(ToolStripButton btnToExcel)。 ? 查询结果 组控件(GroupBox groupBox1),其中控件:网格控件(DataGridView

dgvReader,设置ReadOnly=true),办理借书证(Button btnNewDoc)、变更借书证(Button btnChangeDoc)、挂失(Button btnLossDoc)、解除挂失(Button btnUnlossDoc)、注销(Button btnCancelDoc)、退出(Button btnClose);另外,借阅信息(Label lblBorrowInfo)可用于显示读者的历史借阅记录数和未归还图书数量。

? 读者信息 组控件(GroupBox groupBox2),其中控件:确认办证(Button

btnAddReader)、确认变更(Button btnUpdateReader)、撤销(Button btnCancelChange);另外,图片控件(PictureBox picboxPhoto,设置BorderStyle= FixedSingle,SizeMode= StretchImage)、打开图片文件(Button btnLoadPictureFile)。 (2)界面操作状态的控制

添加枚举类型opStatus,表示3种窗口操作状态,参见下列代码。并在frmReader类中添加成员对象,其中:

DataTable dt -存放查询结果,并给DataGridView dgvReader提供数据。

Reader reader –存放读者信息,与读者信息组控件内的各控件进行数据交换,并与BLL、

30 / 46

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《数据库课程设计》任务与指导手册2013(V2.0) - 图文(6)在线全文阅读。

《数据库课程设计》任务与指导手册2013(V2.0) - 图文(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/415861.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: