为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

系统可行性分析

2017-10-14 32页 doc 279KB 26阅读

用户头像

is_421808

暂无简介

举报
系统可行性分析系统可行性分析 第一章 系统可行性分析 1.1引言 随着计算机技术的飞速发展,计算机在社会管理中应用的普及,利用计算机实现资产设备档案管理势在必行。对于企业来说,利用计算机支持学校高效率完成资产设备管理的日常事务,是适应现代化制度要求、推动企业信息管理走向科学化、规范化的必要条件;同时计算机有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高资产设备档案管理的效率,也是企业信息化的重要条件。 1.2 系统简介 资产设备档案管理系统是一个企业单位不...
系统可行性分析
系统可行性分析 第一章 系统可行性分析 1.1引言 随着计算机技术的飞速发展,计算机在社会管理中应用的普及,利用计算机实现资产设备档案管理势在必行。对于企业来说,利用计算机支持学校高效率完成资产设备管理的日常事务,是适应现代化要求、推动企业信息管理走向科学化、化的必要条件;同时计算机有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高资产设备档案管理的效率,也是企业信息化的重要条件。 1.2 系统简介 资产设备档案管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以资产设备档案管理系统能够为用户提供充足的信息和快捷的查询手段。用Visual Basic构建的资产设备档案管理系统,数据库采用最先进的Oracle 9i,能实现资产类别的增加、删除、修改和档案的增加、插入、修改、删除、查询、预览、编辑、报表、刷新、移动、按某个属性显示等功能,此外,在程序中还了用户登陆,并设定了密码,以确保本系统应用的安全性。本管理系统设计合理、界面美观、操作方便、运行稳定、功能完备,为进行现代化的资产设备档案管理工作起到了重要作用,具有较高的实用价值。 1.3开发工具选择 随着计算机的日益普及和网络的发展,数据库的应用范围越来越广,数据库应用的功能也越来越强,因此编写数据库应用程序的难度日益加大。目前,用于数据库的开发工具更是层出不穷。要从众多的数据库中 选出适当的数据库开发平台并不是一件很容易的事。 微软公司的Visual Basic 6.0是Windows应用程序开发工具,是目 , 前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。 1.4数据库后台支持 Oracle 9i数据库是目前业内伸缩性最好、功能最齐全的数据库。无论是用于驱动网站、打包应用程序、数据仓库或者是OLTP应用程序,Oracle 9i数据库都是任何专业计算机环境的技术基础。Oracle公司核心技术产品的Oracle 9i的系列产品:Oracle 9i Database、Oracle 9i Application Server 和Oracle 9i Developr Suite。每一个都被重新构建以提供对最新技术的支持,同时这些产品帮助定义使用数据、进行商务活动以及支持公司更好地采用技术的新方法。 第二章 系统需求分析 2.1项目要求 资产设备档案管理系统要求对档案信息安全高效的进行分类和管理,提高工作效率,便于操作,能有效地对各种数据进行修改、查询、增加、删除。 2.1.1性能要求 在本系统中,既要求方便、快捷、有效地完成各项工作,还要求系统有良好的适应性;可靠的安全性和功能的完整性;并且录入数据合法性的校验程度要高,数据查询速度快。 2.1.2数据输入 用户添加的合法的资产类被信息和档案信息,以及用户查询时可以输入任意的查询条件。 2.1.3数据输出 资产设备类别和用户查询出的档案信息结果和报表。 2.2系统功能分析 系统开发的总体任务是实现资产设备档案信息关系的系统化、规范化和自动化。 系统功能分析是在系统开发的总体任务的基础上完成的。系统需要完成功能主要有: 2.2.1、用户管理分为:用户注册、更改密码和用户删除。 1用户注册:必需输入不重复的用户名和密码、确认密码,完成注册。 2更改密码:方便用户使用具有自己个性特色的用户名和密码。 3用户删除:首先必须密码确认后,才有权限删除已经过期的用户信息。 2.2.2、资产设备类别管理:根据用户的需要来实现类别的增加、删除、 修改。 1类别增加时会让你选择同层增加还是下层增加; 2修改,已经使用的类别和包含子类别的类别不允许修改; 3删除和修改是一样的,已经使用的和包含子类别的不允许删除。 2.2.3、资产设备档案维护:增加、插入、移动、删除、显示顺序选择, 转化Excel格式等操作。 1增加:首先要选择你要增加的类别,然后点[增加],再在弹出的界面输入你要增加的信息,各种内容可以直接输入,也可以点击旁边的按钮进行选择,没有的内容需要输入。然后[确定],系统会自动检查你输入的信息,无误后增加成功,并给用户以提示。 2插入:首先在资产/设备档案列表中用鼠标选择要插入的资产/设备的插入位置,然后点击资产/设备列表下方的[插入]按钮进入资产/设备档案录入界面,然后录入资产/设备名称、资产/设备型号、资产/设备编号、使用部门、存放地点、保管员、折旧方法、数量、单价、累计折旧等信息,资产/设备信息录入正确后,然后选择[在此资产/设备前面插入],还是[在此资产/设备后面插入],则实现插入成功。 3资产/设备档案修改: 首先用鼠标选择要修改的资产/设备,然后点击资产/设备列表下方的[修改]按钮进入资产/设备档案修改界面,然后录入资产/设备名称、资产/设备型号、资产/设备编号、使用部门、存放地点、保管员、折旧方法、数量、单价、累计折旧等信息,如果有自定义项目,还可以录入自定义项目信息。软件自动检验资产/设备编号唯一性,资产/设备信息录入正确后,点击[确定]按钮完成资产/设备档案信息修改。 4资产/设备档案删除: 首先用鼠标选择要删除的资产/设备,然后点击资产/设备列表下方的[删除]按钮,弹出一对话框,问你是否要删除你选中的行,点[是]完成资产/设备档案信息删除,点[否]取消删除。 5资产/设备档案移动:资产/设备在列表中的位置是允许移动的,首先用鼠标选择要移动的资产/设备,然后点击资产/设备列表下方的[移动]按钮,然后出现移动选择窗口,输入移动的位数及[向前移动]还是[向后移动]完成资产/设备位置移动。 6资产/设备档案显示顺序选择:软件提供了[按录入顺序排序][按资产/设备编号顺序排序][按资产/设备名称排序]3种排序方法,用户可以根据习惯及单位具体情况自由选择排序方法,排序选择位于资产/设备在列表中的左下方,可以用鼠标点下拉框进行选择,选择后 按[回车] 键就可以看到资产设备列表中的显示顺序。 7将资产/设备档案内容转换为EXCEL数据格式:点击资产/设备档案列表下方的[转换为EXCEL]按钮,会出现转换项目选择窗口,可以任意选择要转换的项目,在这里是一条或多条记录的选中。也可以用移动按钮移动项之间的顺序,这里我们是记录一条一条的移动,点击[向上移动],或者[向下移动],记录就会相应的改变位置。如果选中多条连续的记录也可以移动,最后点击[确定转化]按钮,软件会自动打开一个空的EXCEL表,然后把你选中的记录数据转换为EXCEL式。 2.2.4、资产设备档案查询 1直接查询:可以直接通过点击资产/设备类别表中的类别,从档案资产/设备列表中就直接查询到对应类别的档案资料。 2间接查询:可以点击界面右下角的[查询条件]按钮,进入查询条件选择界面,输入要查询的条件(软件提供了资产/设备名称、资产/设备规格、资产/设备编号等多种查询条件),查询条件可以选择一种条件,也可以选择多种条件,条件可以是一个字,也可以是多个字。输入好查询条件后再选择是[模糊查询]还是[严格查询],建议用模糊查询。 2.3数据库需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。 针对资产设备档案管理系统的需求,通过详细的分析,设计如下所示的数据项和数据结构: 保管员表:{NAME} 用户表:{USERNAME,USERID,NUM} 存放地点表:{存放地点} 部门表:{使用部门} 资产类别名表:{ID,NAME,FATHERID,IMAGE,SELECTIMAGE} 资产设备档案表:{资产设备名称,资产设备型号,资产设备编号,使用部门,存 放地点,保管员,折旧方法,数量,单价,累计折旧,资产类别,显示序号, 插入序号,其他 第二章 总体设计 3.1 引言 在完成了软件的需求分析之后,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现,”这个问题。根据需求分析,建设一个安全、 可靠、开放、高效的资产设备档案管理系统,首先寻找实现目标系统的各种不同的,然后从中分析获得最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的资产设备档案管理系统。 3.2数据库设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。另外,合理的数据库结构将非常有利于程序的实现。 本系统中所涉及到的主要实体共有六个数据表 各表的物理结构如下: 保管员表: 字段名称 类型字段大小其他说明 NAME 保管员姓名文本16 用户表: 字段名称类型字段大小其他说明 USERNAME文本20 用户名 USERID 用户密码 文本16 NUM 数字用户权限,1为管理员 存放地点表 字段名称类型字段大小其他说明 存放地点 文本60 部门表 字段名称 类型字段大小其他说明 使用部门 文本30 资产类别名表: 字段名称类型字段大小说明 ID 文本16 类别编号 NAME 文本20 类别名 FATHERID 该类别父编号文本16 IMAGE类别图象 数字 SELECTIMAGE类别被选中的图象数字 资产设备档案表 字段名称 类型字段大小说明 资产设备名称 文本20 资产设备型号文本20 资产设备编号 文本20 使用部门 文本20 存放地点 文本20 保管员 文本 16 折旧方法 文本30 数量 文本 单价 文本 累计折旧文本20 资产类别 文本20 显示序号记录显示给用户的顺序数字 插入序号记录插入的顺序 数字 其他 文本100记录附加信息 3.3 流程图 系统登陆 用户登录档案查询类别管理档案管理 理 格 式 转 换 码 改 第四章、详细设计 4.1引言 详细设计是软件开发时期的第三个阶段,也是软件设计的第二步,它的根本目标是确定应该怎样具体地实现所要求的系统。在概要设计已经确定了软件系统的总体结构,给予了系统中各个组成模块的功能和模块间的联系之后,详细设计主要是考虑“怎样实现”这个软件系统,设计出程序的“蓝图”,给出各个模块的详细过程性描述。 4.2 系统登陆模块 根据系统的需求,结合实际管理的情况,本系统应具有如下功能模块: 本系统的登录需要进行身份验证,当用户输入用户名和密码后,将会和系统配置中的用户名和密码进行比较,采用内置计数器的方法来判别输入次数,三次密码输入错误便强行终止系统运行,防止非法用户恶意套取密码。 如果没有用户名可以注册,但记住第一个注册的默认是管理员,只有他有权删除所有用户,如果第一个注册用户也被删除,则删除用户时的登陆密码为空。 4.2.1系统主界面: 用户成功登陆后进入主界面,如下 4.2.1用户管理模块 在此,一般用户可以在次修改密码,管理员可以修改密码和进 入“用户管理”查看和删除所有用户信息。 4.2.2资产设备类别管理模块 在此,用户可以电击相应的按纽执行增加、删除或者修改等信息的操作。 4.2. 3档案增加和维护模块 在主界面点[档案增加和维护]进入该界面,你可以点左边的 各类别,然后右边列表显示的是该类别的所有记录。在此简单介 绍一下[增加],[修改],[转化Excel],其他按纽不一一重复了。 4.2.3.1增加界面 各种内容可以直接输入,也可以点击旁边的按钮进行选择,没有的内容需要输入。但是 [资产类别]是系统默认的,不允许用户输入,是默认的你当前选中的类别。输入信息后点[确定],系统自动检验资产设备编号是否重复,和数字型的你是否输入的非数字,会给用户相应的提示,正确则增加成功。 在此界面,点最下面一行的按纽可以进入相应信息的添加、删除、修改等操作。 4.2.3.2修改界面 进入该界面,首先显示给用户的是你要修改前的信息,用户修改后,点[修改确定]系统自动检验编号是否唯一和数字型的是否非数字,都正确则提示修改成功。 4.2.3.3转化Excel 进入该界面可以选中一行或多行然后实现上移和下移操作,在确定转化前请选中你要转化的对象,然后系统会自动打开一张Excel,并把你选中的信息在excel中显示。 4.2.4资产设备档案查询 查询的实现,一般查询你可以在档案增加和维护界面点左边的各类别,则右边的列表框里会显示该类别的相应信息。如果直接查询不方便,可以在资产设备档案增加界面点[条件查询]进入查询界面,也可以在主界面点[档案查询]。输入要查询的条件(软件提供了资产/设备名称、资产/设备规格、资产/设备编号等多种查询条件),查询条件可以选择一种条件,也可以选择多种条件,条件可以是一个字,也可以是多个字。 输入好查询条件后再选择是[模糊查询]还是[严格查询],即可实现查询。 第五章 编码 5.1引言 编码的目的是实现人和计算机的通信,指挥计算机按人的意志正确工作。目前,人和计算机通信仍然必须使用人工设计的语言,也即是程序设计语言。作为系统设计的一个步骤,编码是设计的自然结果。 5.2代码命名 在系统开发时,使用什么样的程序设计语言是一个重要的抉择,适宜的程序设计语言能使根据设计去完成编码时困难最少,可以减少需要的程序测试量,并且可以得出更容易阅读和更容易维护的程序。因此,在编码时,应该考虑到实际情况来命名代码。在具体的代码编写过程中,按照软件工程学的要求,对涉及到的过程、函数和变量进 行科学的命名,使得代码清晰、易懂。 5.3代码实施 5.3.1用户登录 为了保证系统信息的安全,在进入本系统时必须进行身份验证。用户输入的用户名和密码和系统中的用户名进行比较,三次密码输入错误便强行终止系统运行,防止非法用户恶意套取密码 代码描述: Private Sub Command1_Click() ’登录 Dim tmpRes5 As New ADODB.Recordset If Combo1.Text = "" Then MsgBox "请选择用户名", vbOKOnly, "提示信息" Else tmpRes5.Open "select * from 用户 where username= '" & Combo1.Text & "'", m_adoconn, adOpenKeyset, adLockOptimistic If tmpRes5.Fields("userid").Value <> Text1.Text Then NN = NN + 1 If NN < 4 Then MsgBox "“密码错误”,请重新输入" Else MsgBox "你输入密码错误次数已经三次,系统退出" End End If Else Unload Me Frm_main.Show End If End If End Sub 5.3.2连接数据库 '建立数据库连接 Public m_adoconn As ADODB.Connection Set m_adoconn = New ADODB.Connection m_adoconn.CursorLocation = adUseClient m_adoconn.ConnectionString= "Provider=OraOLEDB.Oracle.1;Password=" + "test" _ + ";USER ID=" + "ora_zzf" _ + ";DATA SOURCE=" + "test" _ + ";PERSIST SECURITY INFO=TRUE" m_adoconn.Open 'MsgBox "susess" 5.3.3数据编辑 数据编辑模块的功能是能够提供各种方式让管理员添加信息,修改、删除现有的信息。数据添加模块的功能是扩展现有数据库,让管理员能够快速高效的将新的数据添加进去,并且要保证数据的有效性和合法性,不能造成数据的重复和重叠。而在修改过程中,不能造成主键的相同。否则将会使系统丧失有效性。 下面以资产设备档案信息编辑为例: (1) 数据录入: Dim tmpRes As New ADODB.Recordset Dim tmpRes1 As New ADODB.Recordset Dim tmpRes2 As New ADODB.Recordset Dim tmpRes3 As New ADODB.Recordset tmpRes.Open "select * from 资产设备档案表", m_adoconn, adOpenKeyset, adLockOptimistic tmpRes.AddNew 'Text1.Text = GetSequence '判断“资产设备编号”不能为空 If Text3.Text = "" Then MsgBox "[资产设备编号]不能为空,请输入" Text3.SetFocus Exit Sub End If '判断“资产设备编号(主键)”不能重复 tmpRes2.Open "select count(*) as num from 资产设备档案表 where 资产设备编号='" & Text3.Text & "'", m_adoconn If tmpRes2.Fields("num").Value > 0 Then MsgBox "[资产设备编号]重复,请重新输入" Text3.SetFocus Exit Sub End If '判断“数量”不能为非数字型 If Text5.Text = "" Then Else If IsNumeric(Text5.Text) = False Then MsgBox "数量必须为数字型" Text5.SetFocus Exit Sub End If End If '判断“单价“必须为数字型 If Text5.Text = "" Then Else If IsNumeric(Text6.Text) = False Then MsgBox "单价必须为数字型" Text6.SetFocus Exit Sub End If End If '设置显示序号 tmpRes1.Open "select count(*) as num1 from 资产设备档案表 ", m_adoconn CountNum1 = tmpRes1.Fields("num1").Value CountNum1 = CountNum1 + 1 tmpRes1.Close Set tmpRes1 = Nothing '设置插入序号 tmpRes3.Open "select max(插入序号) as num2 from 资产设备档案表 ", m_adoconn If IsNull(tmpRes3.Fields("num2").Value) Then CountNum2 = 1 Else CountNum2 = tmpRes3.Fields("num2").Value CountNum2 = CountNum2 + 1 tmpRes3.Close End If Set tmpRes3 = Nothing tmpRes.Fields("资产设备名称").Value = Text1.Text tmpRes.Fields("资产设备型号").Value = Text2.Text tmpRes.Fields("资产设备编号").Value = Text3.Text tmpRes.Fields("使用部门").Value = Combo1.Text tmpRes.Fields("存放地点").Value = Combo2.Text tmpRes.Fields("保管员").Value = Combo3.Text tmpRes.Fields("折旧方法").Value = Text4.Text If Text5.Text <> "" Then tmpRes.Fields("数量").Value = Text5.Text End If If Text6.Text <> "" Then tmpRes.Fields("单价").Value = Text6.Text End If tmpRes.Fields("累计折旧").Value = Text7.Text tmpRes.Fields("资产类别").Value = Text8.Text tmpRes.Fields("其他").Value = Text9.Text tmpRes.Fields("显示序号").Value = CountNum1 tmpRes.Fields("插入序号").Value = CountNum2 tmpRes.Update tmpRes.Close Set tmpRes = Nothing Command1.Enabled = False Command2.Enabled = False MsgBox "增加成功!" Unload Me Frm_Dang_AN.Show (2)数据修改 Dim tmpRes As New ADODB.Recordset Dim tmpRes1 As New ADODB.Recordset If Text3.Text = SS Then tmpRes.Open "select * from 资产设备档案表 ", m_adoconn, adOpenKeyset, adLockOptimistic If SS = tmpRes.Fields("资产设备编号").Value Then tmpRes.Fields("资产设备名称").Value = Text1.Text tmpRes.Fields("资产设备型号").Value = Text2.Text 'tmpRes.Fields("资产设备编号").Value = Text3.Text tmpRes.Fields("使用部门").Value = Combo1.Text tmpRes.Fields("存放地点").Value = Combo2.Text tmpRes.Fields("保管员").Value = Combo3.Text tmpRes.Fields("折旧方法").Value = Text4.Text tmpRes.Fields("数量").Value = Val(Text5.Text) tmpRes.Fields("单价").Value = Val(Text6.Text) tmpRes.Fields("累计折旧").Value = Text7.Text tmpRes.Fields("资产类别").Value = Text8.Text tmpRes.Fields("其他").Value = Text9.Text tmpRes.Update tmpRes.Close Set tmpRes = Nothing Exit Sub '因为ID是唯一的,没有必要再找下去了 End If Else tmpRes.Open "select * from 资产设备档案表 ", m_adoconn, adOpenKeyset, adLockOptimistic tmpRes1.Open "select count(*) as num1 from 资产设备档案表 where 资产设备编号='" & Combo1.Text & "'", m_adoconn If tmpRes1.Fields("num1").Value > 0 Then MsgBox "该资产设备编号已存在,请重新修改", , "提示" Exit Sub Else Do While Not tmpRes.EOF If tmpRes.Fields("资产设备编号").Value = SS Then tmpRes.Fields("资产设备名称").Value = Text1.Text tmpRes.Fields("资产设备型号").Value = Text2.Text tmpRes.Fields("资产设备编号").Value = Text3.Text tmpRes.Fields("使用部门").Value = Combo1.Text tmpRes.Fields("存放地点").Value = Combo2.Text tmpRes.Fields("保管员").Value = Combo3.Text tmpRes.Fields("折旧方法").Value = Text4.Text tmpRes.Fields("数量").Value = Val(Text5.Text) tmpRes.Fields("单价").Value = Val(Text6.Text) tmpRes.Fields("累计折旧").Value = Text7.Text tmpRes.Fields("资产类别").Value = Combo4.Text tmpRes.Fields("其他").Value = Text9.Text tmpRes.Update tmpRes.Close Command1.Enabled = False MsgBox "修改成功,请[返回]" Exit Sub Else tmpRes.MoveNext End If Loop End If End If (3)删除记录 If SDF.SelectedItem Is Nothing Then MsgBox "请选择您要删除的记录", , "提示" Else If MsgBox("确认要把资产设备编号为“" & SDF.SelectedItem.Text & "”的记录删除吗?(Y/N)", vbYesNo, "是否确认删除") = vbNo Then Exit Sub Else Dim tmpRes As New ADODB.Recordset tmpRes.Open "select * from 资产设备档案表 order by 显示序号", m_adoconn, adOpenKeyset, adLockOptimistic Do While Not tmpRes.EOF If tmpRes.Fields("资产设备编号").Value = DF.SelectedItem.Text Then m_adoconn.Execute "delete from 资产设备档案表 where 资产设备编号='" & SDF.SelectedItem.Text & "'" tmpRes.MoveNext Do While Not tmpRes.EOF tmpRes.Fields("显示序号").Value = tmpRes.Fields("显示序号").Value - 1 tmpRes.MoveNext Loop tmpRes.Close Set tmpRes = Nothing Fun1 ‘调用函数,功能实现列表框信息的更新 Exit Sub Else tmpRes.MoveNext End If Loop End If 5.3.4数据移动(向前移动) Dim Num As Integer If Text1.Text = "" Then MsgBox "请输入您要移动的位数", , "提示" Exit Sub Else If IsNumeric(Text1.Text) = False Then MsgBox "“移动位数”必须为数字型" Text1.Text = "" Text1.SetFocus Exit Sub Else If Val(Text1.Text) < 1 Then MsgBox "输入的“移动的位数”必须为正数", , "提示" Exit Sub Else Num = Val(Text1.Text) Dim tmpRes10 As New ADODB.Recordset Dim tmpRes4 As New ADODB.Recordset tmpRes4.Open "select * from 资产设备档案表 where 资产设备编号='" & SS & "'", m_adoconn ‘SS是一个全局变量,在这里是当前 ‘被选中的记录的资产设备编号信息 '设置显示序号 CountNum1 = tmpRes4.Fields("显示序号").Value tmpRes4.Close Set tmpRes4 = Nothing If Num >= CountNum1 Then MsgBox "你输入“移动位数”大于选中行前的记录总数,请重新输入移动的位数", , "提示" Text1.Text = "" Text1.SetFocus Exit Sub Else tmpRes10.Open "select * from 资产设备档案表 order by 显示序号", m_adoconn, adOpenKeyset, adLockOptimistic Do While Not tmpRes10.EOF If tmpRes10.Fields("显示序号").Value >= CountNum1 - Num Then If tmpRes10.Fields("显示序号").Value < CountNum1 Then tmpRes10.Fields("显示序号").Value = tmpRes10.Fields("显示序号").Value + 1 Else If tmpRes10.Fields("显示序号").Value = CountNum1 Then tmpRes10.Fields("显示序号").Value = CountNum1 - Num tmpRes10.Update tmpRes10.Close Set tmpRes10 = Nothing MsgBox "移动成功" Unload Me Frm_Dang_AN.Show Exit Sub End If End If End If tmpRes10.MoveNext Loop End If End If End If End If 5.3.5转化Excel表 代码描述: Dim Xlapp As Object Dim SS As Integer Dim I As Integer Dim xlsheet As Excel.Worksheet Set Xlapp = CreateObject("excel.application") Xlapp.Workbooks.Add Xlapp.Visible = True Set xlsheet = Xlapp.Worksheets.Add With xlsheet .Range("C1") = " 资产设备档案信息" .Range("C1").Font.Size = 20 .Range("A2") = "设备编号" .Range("B2") = "设备名称" .Range("C2") = "设备型号" .Range("D2") = "使用部门" .Range("E2") = "存放地点" .Range("F2") = "保管员 " .Range("G2") = "折旧方法" .Range("H2") = "数量 " .Range("I2") = "单价 " .Range("J2") = "累计折旧" .Range("K2") = "其他 " .Range("L2") = "类别名称" SS = 3 For I = 1 To SDF.ListItems.Count If SDF.ListItems(I).Selected = True Then .Cells(SS, 1) = SDF.ListItems(I).Text .Cells(SS, 2) = SDF.ListItems(I).SubItems(1) .Cells(SS, 3) = SDF.ListItems(I).SubItems(2) .Cells(SS, 4) = SDF.ListItems(I).SubItems(3) .Cells(SS, 5) = SDF.ListItems(I).SubItems(4) .Cells(SS, 6) = SDF.ListItems(I).SubItems(5) .Cells(SS, 7) = SDF.ListItems(I).SubItems(6) .Cells(SS, 8) = SDF.ListItems(I).SubItems(7) .Cells(SS, 9) = SDF.ListItems(I).SubItems(8) .Cells(SS, 10) = SDF.ListItems(I).SubItems(9) .Cells(SS, 11) = SDF.ListItems(I).SubItems(10) .Cells(SS, 12) = SDF.ListItems(I).SubItems(11) SS = SS + 1 End If Next End With Set xlsheet = Nothing Set Xlapp = Nothing 第六章、测试 6.1引言 软件测试是保证软件质量的关键步骤,它是对软件需求分析、设计规格说明书和编码的最终复审,确切的说,软件测试就是为了发现错误 而执行的过程。 它在软件生命周期中分为两个阶段,通常在编写出每个模块之后就对它做测试的为 单元测试,另外还有综合测试。 6.2软件测试的目标和方法 总体来说,测试的目标就是暴露程序中的错误 ,好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案,成功的测试则是发现了至今为止尚未发现的错误的测试。我们应该认识到测试决不能证明程序是正确的,即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。 测试的方法综合起来可分为两种:黑盒测试和白盒测试。 对于软件测试而言,黑盒测试法(又称功能测试法)是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用。而白盒测试法(又称结构测试法)是把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作。 6.3软件测试 在软件测试中,除非是测试一个小程序,否则一开始就把整个系统作为一个单独的实体来测试是不现实的。因此,大型软件系统的测试一般有模块测试、子系统测试、系统测试、验收测试等。由于本系统是个小程序,我们可以将测试分为单元测试和集成测试。 6.3.1单元测试 单元测试集中检验软件设计的最小单元—模块。单元测试可以使用白盒测试法,而且对多个模块的测试可以并行地进行。在软件测试时,为了尽早发现软件中存在的问题,通常在编写出每个模块之后就对它做必要的测试,可减轻系统测试的负担,明显地降低测试成本。 6.3.1.1系统管理 以用户登录和用户管理为例 (1)当用户进入系统登陆界面后,如果用户在添加个人信息时没 有输入用户名这一栏时,系统会如下所示报错。 (2) 当用户输入的是正确用户名,而输入错误密码或不输入密码,三次之后系统会如下所示报错。 2、用户注册 当用户注册时,如果添加的用户名已经存在的话,系统会如下所示报错。 如果用户名不重复,但是两次输入密码不一致,系统也会报错: 6.3.2集成测试 集成测试是组装软件的系统技术,比较常用的是自顶向下和自底向上两种方法。 自顶向下的测试方法,能够在测试阶段的早期实现并验证系统的主要功能。主要的测试是从主控制模块开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。在把附属与主控制模块的那些模块组装到软件结构中去时,或者使用深度优先的策略,或者使用宽度优先的策略。 本系统的集成测试采用渐增式测试,结合上面单元测试的测试结果,把已测试好的登录模块逐个与新加进来的模块再重新一起测试,一步步地进行测试。在测试中会遇到一些问题,例如:在档案修改界面,由于我设置的数量这一字段的类型是数字,因此如果输入的内容是文本类型的话,系统将会报错;可是我想把数量修改为空时,系统则错误。而在增加时如果为空,我可以让它不操作,则数据库里数量记录可以为空,实在没办法了我就把它置零val(text6.text),这个办法不够完美,但总算把漏洞给弥补了。 总 结 经过三周的努力,经过测试证明,系统基本能满足资产设备档案管理方面的需要。实现了系统管理、信息管理、代码维护、信息查询等功能,在操作方面尽量做到满足用户的使用习惯。使我真实的体会到了软件开发的过程,在充分学习和感受许多学校学不到知识的同时,我明显的感觉到自己的知识和能力方面我都还有很多不足,我以后要更加努力学习专业知识和技术,争取早日容入开发团队。 但由于自己水平有限,加上时间仓促,还存在许多不足:比如界面设计不够美观,有的出错处理不够完美等。 设计即将结束了,我能顺利完成还多亏陈艳华经理的指导,他渊博的知识和耐心的指导值得我学习,还有许岩涛的帮助和刘冰的探讨,正是他们的热心帮助,我的设计才得以顺利完成,在此一并感谢。 参考文献 [1] 龚沛曾 陆尉民 杨志强 《Visual Basic 程序设计教程(6.0版)》 高等教育出版社 2000年 [2] 求是科技 林陈雷 郭安源 葛晓东 《Visual Basic教育信息化系统 开发实例导航》人民邮电出版社 2003年 [3] 萨师煊 王珊 《数据库系统概论》 第三版 高等教育出版社2003年 [4] 张海藩 《软件工程导论》第三版 清华大学出版社,1998年 [5] 刘韬 骆娟 何旭洪 《Visual Basic数据库系统开发实例导航》 第 二版 人民邮电出版社 2003年
/
本文档为【系统可行性分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索