1、信息系统开发实验报告河北省自考“计算机信息管理(独立本科段)”专业实验报告姓名: * 准考证号: * 实验地点: * 实验课程: 信息系统开发 实验名称: 信息系统的开发(设备管理系统) 实验目的:通过实际建立一个完整的信息系统来加深对信息系统开发理论知识的理解与认识,掌握和解决信息系统规划、分析、设计、实施、运行与测试等实际问题的能力。 实验设备:一、软件环境:中文Windows XP,PowerBuilder9.0,SQL Anywhere二、硬件环境:586以上的PC系列机,内存512M,硬盘空闲空间大于1G实验内容、步骤、图形与结论(答题不要超过装订线,可另附白纸书写):实验内容为某企
2、业设计一个设备管理系统问题描述:请为某企业设计一个设备管理系统。手式管理用的记录表有:1设备信息表,内容包括:设备编号、设备名称、设备类型、规格型号、数量、总价值、产地。2设备类型表,内容包括:设备类型编号、设备类型。功能需求:设备信息的浏览、添加、删除、保存操作。设备类型的浏览、添加、删除、保存操作。按设备编号进行查询。按设备类型进行设备数量统计。对于各种数据进行升序和降序的排序操作。折旧率计算。上机考试要求:1根据问题描述,设计出设备信息表SBXX和设备类型表SBLX的表结构,并定义它们的主键和外键。解: 根据设备管理系统问题分析描述,并结合系统所要满足的功能需求,借助E-R图等工具设计出
3、设备管理系统的数据库表结构。 根据设备信息表所给出的信息,设计出设备信息表SBXX,表结构如下所示:表1 设备信息表SBXX列标题列名数据类型宽度小数位数是否空值缺省值主/外键设备编辑SbbhChar4NoP设备名称SbmcChar20No类型编号LxbhChar4NoF规格型号GgxhChar20Yes数量SlIntegerYes总价值ZjzNumber102Yes产地CdChar10Yes 根据设备类型表所给出的信息,设计出设备类型表SBLX,表结构如下所示:表2 设备类型表SBLX列标题列名数据类型宽度小数位数是否空缺省值主/外键类型编号LxbhChar4NoP类型名称LxmcChar2
4、0No2在D盘的考核目录下创建名为Sbgl的数据库。在库中创建设备信息表sbxx和设备类型sblx,并设置其主键和外键。解:创建名为Sbgl的数据库:(1)开始程序SybasePowerBuilder 9.0 PowerBuilder 9.0打开主窗口。(2)单击工具栏的Database按钮(打开数据库画板)打开ODB ODBC再打开Utilities双击Create ASA Database,在打开的对话框中的“Database Name”编辑框中输入数据库名,并通过“”按钮输入数据的全路径(D:考核Sbgl.db),其他可保持默认;最后,单击“OK”按钮,系统将成功创建数据库Sbgl。运行
5、结果如下图(1)所示:图(1)在库中创建设备信息表sbxx和设备类型sblx,并设置其主键和外键(1)在Sbgl数据库中建立设备信息表Sbxx:右击数据库画板的table文件夹New Table出现创建表结构的界面根据表1添加并定义字段Exit(Save change to?)是(Y)输入表名SbxxOK。(2)用同样的方法,在Sbgl数据库中建立设备类型表Sblx(3)为数据表指定主键: 在表Sbxx中设置主键Sbbh:选中数据表Sbxx,右击鼠标并在弹出的快捷菜单中左击Add to layout;在打开的画板中,右击表结构Sbxx的标题栏并在弹出的快捷菜单中左击NewPrimary Key
6、,在弹出的列表框中选择字段Sbbh作为主键。 用同样的方法,为表Sblx指定主键lxbh(4)为数据表Sbxx指定外键:在表Sbxx的结构中,右击标题栏并在弹出的快捷菜单中左击NewForeign Key,在弹出的对话框的General选项卡中,在Foreign Key右侧输入外键名Lxbh,并在下方的列表框中选择字段Lxbh作为外键字段。在Primary Key选项卡中,在Table右侧指定参照的表名为Sblx,保存所做设置。得到的表结构如图(2)所示:图(2)3创建一个名为exam的应用程序对象,其应用程序文件名为exam.pbl。解:(1) 先建一个工作空间Sbgl.pbw:在工具栏中单
7、击New按钮Workspace选项卡WorkspaceOK选择路径D:/考核,并在“文件名”右侧输入文件名Sbgl,然后保存。(2) 再建应用程序对象exam.pbl:在工具栏中单击New按钮Target选项卡Application图标OK在“Application Name”中输入“exam”;在“Library:”中选择路径为:D:/考核,得到图(3)的形式,再单击Finish按钮。图(3)4在该应用中创建一个菜单m_main,其结构如下: 设备管理系统系统 编辑 操作设备管理设备浏览设备类型退出 添加删除保存 设备编辑查询设备类型统计排序折旧计算并为“添加”、“删除”、“保存”、“设备编
8、号查询”、“设备类型统计”、“退出”分配图标,形成如下所示的工具栏。解:在工具栏中单击New按钮PB Object选项卡 Menu图标OK在弹出的菜单设计区域设置菜单项:(1)设置主菜单项“系统”“编辑”“操作” : 在左窗格中右击“Untitled0”在弹出的快捷菜单中选择“Insert Submenu Item”在编辑框中输入一级菜单项“系统” 用同样的方法,设置其他主菜单项“编辑”、“操作”。(2)设置下拉菜单:A.设置主菜单项“系统”下的下拉菜单: 右击菜单项“系统”在弹出的快捷菜单中选择“Insert Submenu Item”在编辑框中输入“设备管理” 用同样的方法,设置其他子菜单
9、项“设备浏览”、“设备类型”、“-”“退出”。“-”为分隔线的设置方法 B用同样的方法,设置主菜单项“编辑”、“操作”下的下拉菜单。(3) 设置主菜单“操作”的下拉菜单中的菜单项“排序”的子菜单: 右击“排序”在弹出的快捷菜单中选择“Insert Submenu Item” 在编辑框中输入子菜单项“升序” 用同样的方法,设置子菜单项“降序”。为“添加”、“删除”、“保存”、“设备编号查询”、“设备类型统计”、“退出”分配图标,形成相应的工具栏。 单击选中“添加”在右侧的菜单描绘器中选择TooBar选项卡设置ToolbaritemName属性的属性值,在右侧的下拉列表框中找到相应的图标,即可生成
10、工具栏中一个图标。 用同样的方法分别设置工具栏的其他项。在右侧的菜单描绘器中选择TooBar选项卡设置其ToolBarItemSpace和ToolBarItemOrder项来分组,并确定在工具栏中的先后顺序。(3)单击菜单File 选择“Save”在弹出的对话框中为所建菜单取名为“m_main”OK。生成的菜单结构如图(4)所示:图(4)5在该应用中创建一个MDI主窗口w_main,标题为“设备管理系统”。解:(1)在工具栏中单击New按钮PB Object选项卡 Window图标OK在弹出的窗口设计区域右侧的属性栏中设置以下几项属性(在General选项卡中):(1)Title:设备管理系统
11、(2)Window type:mdi!(3)单击File菜单Save在弹出的对话框中为所建MDI主窗口取名为“w_main”OK。6建立MDI主窗口w_main与菜单m_main的关联。解:在窗口设计区域右侧的属性栏中,在General选项卡中,设置Menuname属性单击右侧的“”按钮在弹出的对话框中选择上题中所建菜单“m_main”。7请创建一个新窗体w_sb,设置窗口标题为“设备信息”。解:在工具栏中单击New按钮PB Object选项卡 Window图标OK在弹出的窗口设计区域右侧的属性栏中设置新窗体的Title属性(在General选项卡中)为:设备信息。单击File菜单Save在弹
12、出的对话框中为所建MDI主窗口取名为“w_sb”OK。8向窗口w_sb内添加一个数据窗口控件dw_1。解: 单击工具栏中的StaticText图标右侧向下的黑色三角按钮在弹出的面板中选择“Create DataWindow Control”在窗体中单击,可看到添加数据窗口控件成功,并且默认名字为dw_1拖动鼠标,将数据窗口控件调整为合适大小,保存并退出。9创建一个数据窗口对象d_sbxx,其显示风格是Grid,数据源选取数据表sbxx的全部列。解:(1)在工具栏中单击New按钮DataWindow选项卡 Grid图标OK(2)在选择数据源对话框中选择Quick Select类型的数据源,再按N
13、ext按钮,选择表sbxx中的所有字段,按Add AllOKNextFinish。即可看到数据窗口的模样。(3)退出时,为数据窗口对象命名为d_sbxx。10将窗口w_sb的数据窗口控件dw_1与数据窗口对象d_sbxx相关联。解: 打开窗口w_sb单击选中窗口中的数据窗口控件dw_1在右侧的属性栏中选择General选项卡设置其DataObject属性:单击右侧的“”按钮在弹出的对话框中选择数据窗口对象d_sbxxOK。至此,已将窗口w_sb的数据窗口控件dw_1与数据窗口对象d_sbxx相关联。11编写代码,使得单击菜单“设备管理”时,以工作表方式(MDI子窗口)打开w_sb。解:(1)
14、打开应用程序对象exam.pbl,在应用程序对象exam.pbl的Open事件中加入如下代码: SQLCA.DBMS=ODBC /设置事务对象SQLCA属性 SQLCA.AutoCommit=False /定义程序是手工提交事务 SQLCA.DBParm=Connectstring=DSN=sbgl /DBMS所需的额外信息 CONNECT USING SQLCA; /连接数据库 If SQLCA.SQLCode0 Then /判断是否连接成功 MessageBox(数据库连接失败!,SQLCA.SQLErrText,StopSign!,OK!) ELSE OPEN(w_main) END I
15、F 所加代码窗口如图(5)所示:图(5)(2) 在应用程序对象exam.pbl的Close事件中加入如下代码: DISCONNECT USING SQLCA; /断开与数据库的连接 IF SQLCA.SQLCode0 Then /判断断开是否成功 MessageBox(数据库断开失败!,SQLCA.SQLErrText,StopSign!,OK!) End If所加代码窗口如图(6)所示:图(6)(3) 打开菜单对象m_main,在“设备管理”菜单项上单击画板工具栏上的Script图标,打开代码编辑器,为其Clicked事件加入如下代码:OpenSheet(w_sb,w_main,2,casc
16、aded!) /以工作表的方式打开窗口w_sb所加代码如图(7)所示:图(7)(4)打开窗口w_sb,在窗口w_sb的Open事件中写脚本:dw_1.settransobject(sqlca) /给数据窗口控件DW_1设置通讯区域sqlcadw_1.retrieve() /从数据库的SBXX表中检索全部数据单击工具栏上的Run图标运行程序在弹出的“设备管理系统”窗口中单击 “系统”菜单单击菜单项“设备管理”,则以工作表方式打开窗口w_sb。运行情况如下图(8)所示:图(8)12编写代码,使得在打开“设备管理”窗口后,单击菜单项“添加”、“删除”和“保存”,在当前活动窗体(w_sb)内的数据窗口
17、dw_1实现数据的“添加”、“删除” 和“保存”功能。解:(1) 打开菜单对象m_main,在“编辑”主菜单下单击选中“添加”菜单项,单击画板工具栏上的Script图标,打开代码编辑器,为其Clicked事件加入如下代码:window actsheet actsheet=w_main.GetActiveSheet() /取得当前活动窗口if isvalid(actsheet) then actsheet.triggerevent(ue_add) /存在活动窗口时,触发活动窗口的ue_add事件else /不存在活动窗口时 messagebox(警告,请先打开一个管理窗口!)end if所加代码
18、窗口如图(9)所示:图(9)(2)打开菜单对象m_main,在“编辑”主菜单下单击选中“删除”菜单项,单击画板工具栏上的Script图标,打开代码编辑器,为其Clicked事件加入如下代码:window actsheetactsheet=w_main.getactivesheet() /取得当前活动窗口if isvalid(actsheet) then actsheet.triggerevent(ue_del) /存在活动窗口时,触发活动窗口的ue_del事件else /不存在活动窗口时 messagebox(警告,请先打开一个活动窗口!)end if所加代码窗口如图(10)所示:图(10)(
19、3)打开菜单对象m_main,在“编辑”主菜单下单击选中“保存”菜单项,单击画板工具栏上的Script图标,打开代码编辑器,为其Clicked事件加入如下代码:window actsheetactsheet=w_main.Getactivesheet() /取得当前活动窗口if isvalid(actsheet) then actsheet.triggerevent(ue_save) /触发活动窗口的ue_save事件else /不存在活动窗口时 messagebox(警告,请先打开一个管理窗口!)end if所加代码窗口如图(11)所示:图(11) (4) 打开设备信息窗口w_sb,自定义一
20、个用户事件ue_add,设置Event Name为“ue_add”,设置Event ID为空。打开设备信息窗口w_sb的代码编辑器,选择用户事件ue_add,加入如下代码:dw_1.retrieve() /从数据库的SBXX表中检索全部数据long therow therow=dw_1.insertrow(0) /在SBXX表的尾部插入一行dw_1.scrolltorow(dw_1.rowcount() /在指定行设置为当前行dw_1.setfocus() /将焦点设置到控件DW_1所加代码窗口如图(12)所示:图(12) (5) 打开设备信息窗口w_sb,自定义一个用户事件ue_del,设置
21、Event Name为“ue_del”,设置Event ID为空。打开设备信息窗口w_sb的代码编辑器,选择用户事件ue_del,加入如下代码:integer ii=messagebox(提示信息,确认要删除行?,exclamation!,yesnocancel!)if i=1 then dw_1.deleterow(0) /删除当前行end if if dw_1.update()=1 then commit;else rollback; messagebox(错误,数据库内容删除失败)end if dw_1.retrieve() /刷新显示所加代码窗口如图(13)所示:图(13) (6) 打
22、开设备信息窗口w_sb,自定义一个用户事件ue_save,设置Event Name为“ue_save”,设置Event ID为空。打开设备信息窗口w_sb的代码编辑器,选择用户事件ue_save,加入如下代码:if dw_1.update()=1 then /实现保存功能 commit;else rollback; messagebox(错误,数据库内容更新失败)end ifdw_1.retrieve() /刷新显示所加代码窗口如图(14)所示:图(14)(7)单击工具栏上的Run图标运行程序在弹出的“设备管理系统”窗口中单击 “系统”菜单单击菜单项“设备管理”单击“编辑”菜单中的“添加”添加一条记录单击“编辑”菜单中的“保存”保存新加记录。系统运行情况如下图(15)所示:图(15)添加一条记录(8)删除新加记录:单击“编辑”菜单中的“删除”系统运行情况如下图(16)所示:图(16)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1