1、目 录一、 需求分析31、问题背景及描述32、功能分析33、建立系统流程图34、建立数据流图45、建立数据字典56、算法描述67、建立E-R图78、建立状态图8二、概要设计101、软件体系结构模型102、用面向数据流的方法设计系统软件结构113、数据库逻辑结构设计15三、详细设计161、数据库物理结构设计162、模块过程设计与界面设计16四、心得体会23一、 需求分析1、问题背景及描述随着科学技术的发展,社会进步,计算机迅速的发展,仓库管理的方法也日新月异,以前全是由人管理的方法现存在很多的缺点:管理效率低,劳动强度大,信息处理速度低而且准确率也不够令人满意。为了提高仓库管理效率,减轻劳动强度
2、提高,信息处理速度和准确性;为仓库管理员提供更方便、科学的服务项目。为仓库管理员提供的一种更先进、科学的服务系统。于是我们便选择了由计算机来设计一个仓库管理系统的方案。让计算机对仓库进行自动管理,仓库管理员可以直接在计算机上实现仓库的信息管理,并能在一定程度上实现自动化。我们在现行系统初步调查的基础上提出了新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。2、功能分析通过初步分析,“仓库管理系统”应该具备以下主要功能:仓库各种信息的输入,包括入库,出库,还原,需求信息的输入等仓库管理的各种信息查询,修改和维护 鉴于课程设计的缘故,本系统仅仅实现部分简单功能。3、建立系统
3、流程图为了便于问题的论述与展开,在此加入了系统流程图的内容。通过对仓库管理过程的了解,可以知道仓库管理系统管理仓库信息的大致过程。首先,用户登陆仓库管理系统,通过一系列对系统的操作后,由系统返回给用户相应的结果。图1描绘了这个大致的流程。图1 仓库管理系统大致处理过程接下来对图1的黑匣子(仓库管理系统)的内容进行分解。通过仔细分析与了解,确定用户对系统的整个操作过程:用户登陆仓库管理系统,验证用户身份与权限,审核后操作仓库管理系统,用户可以查询仓库里的产品信息,管理员权限可修改和删除相关仓库的信息,用户还可以打印相关报表,还可以查看帮助文档。系统会根据用户的操作,给予相应的显示与处理结果。图2
4、图3图4是分析后得出的系统流程图。图2 仓库管理系统流程图1图3 仓库管理系统流程图2图4 仓库管理系统流程图34、建立数据流图系统流程图虽然很好地描绘了具体的系统,但是在系统流程图中把“做什么”和“怎样做”这两类不同范畴的知识混合在一起。我们的目标不是一成不变地复制现有的人工系统,而是开发一个既能够完成现有的所有功能,又能使操作更加规范或者功能更加完备的新系统,因此,应该着重描绘系统的逻辑功能。数据流图描述数据在软件系统内从输入流动到输出的过程中所经受的变换,通常用数据流图建立软件的功能模型。数据流图是系统逻辑功能的图形表示,图中没有任何的具体物理部件,仅仅描绘数据在软件中流动和被处理的逻辑
5、过程,不懂计算机技术的人也容易理解它,因此是分析员与用户之间极好的通信工具。根据前面划分的系统模块可以得到如下数据流图: 仓库管理系统整体数据流图图5 仓库管理系统数据流图5、建立数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。它的作用是在软件分析和设计过程中提供关于数据的描述信息。数据字典和数据流图共同构成系统的逻辑模型。数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进一步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了。本仓库管理系统根据划分的模块定义了如下数据字典:用户信息表表名:user内容:记载用户登陆的基本信息组
6、成:列名数据类型长度精度小数备注useridint4100主键usernamevarchar5000不为空userpwdvarchar5000不为空purviewvarchar5000不为空组织:按录入顺序。客户信息表表名:customerinfo内容:记载客户相关的基本信息组成:列名数据类型长度精度小数备注Cidint4100主键Cnamevarchar5000不为空Addrvarchar5000不为空PostCodeint4100不为空Phonevarchar5000不为空组织:按录入顺序。产品类型表表名:producttype内容:记载产品类型的基本信息组成:列名数据类型长度精度小数备注
7、Typeidint4100主键Typenamevarchar5000不为空组织:按录入顺序。库存信息表表名:store内容:记载产品库存的基本信息组成:列名数据类型长度精度小数备注Pidint4100主键Pnamevarchar5000不为空Ptypevarchar5000不为空Ppricefloat8530不为空Pnumint4100不为空MakeDatedatetime800不为空组织:按录入顺序。6、算法描述分析员以黑匣子的方式记录算法,所谓黑匣子就是不考虑一个功能的具体实现方法,只把它看作给予输入之后就能够产生一定输出的匣子。这正是在早期开发阶段分析员对算法应该持有的正确观点,目的是用
8、原理性算法准确地定义功能,算法的细节可以等到以后的详细设计阶段再确定。仓库管理系统中主要涉及算法方面的主要是产品的库存数量,随着仓库的使用,入库数量和出库数量随时发生变化,整个仓库中的库存量也就随之变化。这里采用IPO表记录该算法的初步描述。图6 描绘产品库存量初步算法的IPO表7、建立E-R图为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型,概念性数据模型是一种面向问题的数据模型,它描述从用户角度看到的数据。通常使用实体-联系图来建立数据模型,可以把实体-联系图简称为E-R图,相应地可以把E-R图描绘的数据模型称为E-R模型。E-R图中包含了实体(即数据对象)
9、、关系和属性等三种基本成分。通常,用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体或关系的属性,并用直线把实体(或关系)与其属性连接起来。图7 用户E-R图图8 客户E-R图图9 产品E-R图图10 仓库管理系统联系图8、建立状态图状态图(也叫状态转换图)通过描绘系统状态及引起系统转换的事件来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作。因此,可以用状态图建立软件系统的行为模型。状态是可以被观察到的系统行为模式,一个状态代表系统的一种行为模式,状态规定了系统对事件的响应方式。在状态图中第一的状态主要有:初态、终态和中间状态,在一张状态图中只能
10、有一个初态,而终态则可以有0个至多个。在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示,可以使用两条水平横线把它分成上、中、下3个部分,分别防止状态名、状态变量和活动表。事件是在某个特定时刻发生的事情,它是对引起系统动作或(或)从一个状态转换到另一个状态的外界事件的抽象。状态图中两个状态之间带箭头的连线表示状态转换,箭头指明了转换的方向。状态转换通常是由事件触发的,在这种情况下应该在表示状态转换的箭头上标出触发事件表达式。以下是仓库管理系统的状态图:登陆界面验证帐户输入密码不合法帐户验证权限合法帐户查询、修改自身信息;修改其他用户权限;添加新用户;查询
11、、修改、注销、添加客户信息;查询、修改、添加、删除产品信息和入库信息等查询、修改自身信息;查客户信息、出、入库信息和产品信息等管理权限普通权限图11 仓库管理系统状态图二、概要设计1、软件体系结构模型大型软件系统总是被分解成一系列子系统,由子系统提供一些相关的服务。软件体系结构设计过程就是识别出这些子系统,并建立子系统控制和通信的框架,最后给出软件体系结构的一个描述。1.1系统构成模型系统构成模型有容器模型、客户-服务器模型和抽象机模型三种。容器模型构成一个系统的子系统一定要浇灌换信息,以便能有效地在一起工作。子系统交换信息、协调工作有两种基本方法:全部共享书防在一个中央数据库中,所有子系统都
12、能从中存取数据;每个子系统用各自的数据库与其他子系统进行数据交互,通过消息传递来实现。一般情况下,大多数使用大量数据的系统都是围绕共享数据库(或称为容器)组织的,所以,基于一个共享数据库的系统的系统模型称为容器模型。这个模型适合于数据由一个子系统产生,而其他子系统共享使用的系统结构。这种类型的系统有命令控制系统、管理信息系统、CAD系统和CASE工具集成系统等。共享容器模型的优点是能够高效地共享大量的数据,生产数据的子系统不需要关心数据如何被其他子系统使用,可以集中进行备份、保密、访问控制和错误恢复等活动。其缺点是子系统一定要与容器数据一致,系统变更或进化比较困难,难以集成,以及很难将容器分布
13、到多台机器上。客户-服务器模型客户-服务器模型的主要组成部分是:一组给其他子系统提供服务的单机服务器;一组向服务器请求服务的客户机;一个连接客户和服务器的网络(可选)。客户机必须知道可用的服务器的名字和它们所提供的服务,并通过远程调用获取服务器提供的服务。反之,服务器没有必要知道客户机的身份,以及到底有多少客户机在运行。客户-服务器模型能够实现基于容器模型的系统,容器就充当了系统的服务器。子系统需要访问容器,因而扮演了客户机的角色。当然,当运行大量数据交换时,这种系统就会产生性能问题。客户-服务器模型的最大优点是:这是一个分布式结构,通过网络可以很容易地添加新的客户机和服务器,而不会影响系统的
14、其他部分。抽象机模型抽象机模型也称为分层模型,是建立子系统的接口模型,它把子系统组织成一系列的层次,每一层提供一组服务,每一层定义为一个抽象机。每个抽象机都是由其下层的抽象机的代码构成的。每一层提供给上一层服务,同时调用下一层的服务。每一层的实现只影响相邻层,不会影响到系统的其他各层。分层的方法支持系统的增量式开发,若一层开发完成,该层提供的服务就可以被用户使用了。分层的缺点是:用这种方法构建系统比较困难。几乎所有抽象机都需要的基本服务(如文件管理)需要由内层提供,因此,用户的服务可能需要访问较深层的抽象机。这一点有悖于一个外层只需要访问临近下层抽象机的分层原则。性能也可能是一个问题,因为需要
15、多层的指令解释过程。如果层次太多,层次管理就将成为系统的一个重要负担。根据三种系统构成模型的介绍,很明显地可以知道本仓库管理系统是基于容器模型设计的。仓库管理系统只使用到一个总数据库,而其中提供的所有服务都直接访问该数据库,因此本仓库管理系统具备容器模型的各种特性。1.2系统控制模式软件体系结构除了要明确系统构成模型之外,还要给出子系统的控制模式,使子系统能够根据控制模式工作。在体系结构层次上的控制模式主要反映子系统之间的控制流。系统控制模式有两种一般性的建模方法,即集中式控制和事件驱动控制。集中式控制在集中式控制模型中,一个子系统被定义为系统控制器来负责管理其他系统的执行。集中式控制模型又可
16、分为调用-返回模型和管理者模型两类。调用-返回模型。这是一个自上而下的子过程模型。控制始于系统(程序)的顶层,在子系统(程序)调用过程中,控制逐步传递到更低的层次中。该模型适用于顺序执行的系统。管理者模型。这是一种适用于并发系统的模型。一个系统组件被指定为系统管理者,控制其他系统过程的启动、终止和协调。一个过程就是一个能和其他过程并发执行的子系统或模块。事件驱动控制在集中式控制模型中,控制决断通常决定于一些系统状态变量值。相反,事件驱动的控制模型是通过外部产生的事件驱动系统的。有多种不同的基于事件驱动的系统,如电子表格、基于规则的产生式系统等。下面是两种事件驱动的控制模型。广播模型。发生的事件
17、广播到所有子系统,任何能处理该事件的子系统都会响应。该模型适用于基于网络的分布式系统。中断驱动模型。由中断处理器对来自外部的中断进行检测,然后在其他组件中处理这些中断。该模型适用于对定时有严格要求的实时系统。广播模型中的子系统注册其感兴趣的特别事件,当这些事件发生的时候,控制被转换到处理这些事件的子系统。所有的事件都可以被发送到所有的子系统,但这样做增加了子系统的开销。一般地,事件和消息处理器要维护子系统的注册和这些子系统所感兴趣的事件。广播模型的优点是进化比较简单,处理特别类型事件的新的子系统可以通过在事件处理器中注册这些事件来达到集成;其缺点是子系统相互竞争地处理事件,这可能会引起冲突。中
18、断驱动模型只用在硬件实时系统中,要求对一些事件能作出及时响应,这可以与集中式控制模型结合起来使用。中央管理者处理系统的一般性运转,而中断控制用于对紧急事件作出反应。而本仓库管理系统显然属于前者,所有的子系统都是由一个总的系统控制的,触发子系统的调用主要取决于系统状态量的改变。并且可以看出,仓库管理系统是属于管理者模型的。2、用面向数据流的方法设计系统软件结构2.1仓库管理软件结构在需求分析中,已经使用结构化方法分析了“仓库管理系统”。因此,可以从图16所示的仓库管理系统流图出发来设计仓库管理系统的结构。用户数据D1仓库数据2.1产品入库3.1维护模块D1仓库数据用户1.1客户管理1.2用户管理
19、1.3退出系统D2客户资料D3用户资料2.2产品出库2.3产品查询用 户 数 据3.2帮助模块图12 仓库管理系统数据流图下一个设计步骤是完成“第一级分解”。所谓“第一级分解”就是确定系统的总体控制结构。通常,变换分析得出的系统高层结构是一个“三叉”控制结构。针对“仓库管理”得出的高层控制结构如图16所示。仓库管理接收数据处理数据输出数据图13 仓库管理的“第一级分解”再下一个设计步骤是完成“第二级分解”。所谓“第二级分解”,就是把数据流图中的每个处理映射成软件结构中的一个适当的模块。变换分析的映射规则是从变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中“输入信息处
20、理控制模块”控制下的一个低层模块;然后沿着输出通路向外移动,把输出通路中每个处理映射成直接或间接接受“输出信息处理控制模块”控制的一个低层模块;最后把变换中心内的每个处理映射成接受“变换中心控制模块”控制的一个低层模块。对于“仓库管理”来说,“第二级分解”的结果如图17所示。仓库管理接收数据处理数据输出数据帮助信息验证用户权限收集数据审核数据修改更新统计数据汇总数据分析数据图14 仓库管理的“第二级分解”最后洋设计步骤是对仓库管理的初步结果优化。结合仓库管理的“第二级分解”图可以将其优化成如下的软件结构图。仓库管理接收数据处理数据打印报表验证用户权限收集数据审核数据修改更新统计数据汇总数据分析
21、数据图15 优化后的仓库管理软件结构系统帐户管理软件结构根据数据流图,能够得到系统帐户管理软件结构如下图所示。系统帐户管理修改更新授权验证用户查询用户图16 系统帐户管理软件结构综合上面的分析,可进一步得到包含系统帐户管理、仓库管理和系统数据管理三大子功能的软件结构如图20所示。仓库管理接收数据处理数据帮助信息验证用户权限收集数据审核数据修改更新统计数据汇总数据分析数据系统帐户管理修改更新授权查询用户图17 仓库管理系统细化的软件结构结合上述的分析描述,得到仓库管理系统的完整软件结构图,如图21所示。验证用户权限系统帐户管理修改更新授权仓库管理系统查询用户帮助模块帮助信息收集数据审核数据修改更
22、新汇总数据统计数据分析数据接收数据处理数据维护模块仓库管理图18 仓库管理系统的完整软件结构3、数据库逻辑结构设计数据库逻辑结构设计的任务是根据E-R模型和需求分析所产生的文档,并综合考虑所选择的具体DBMS的特点,设计出整个数据库的逻辑结构。一般来说,选择哪一种DBMS存放数据,是由系统分析员和用户(一般是企业的高级管理人员)决定的。需要考虑的因素包括DBMS产品的性能和价格,以及所设计的应用系统的功能复杂程度。如果选择的是关系型DBMS产品,那么逻辑结构的设计就是指设计数据库中所包含的各个关系模式的结构,包括关系模式的名称、每一关系模式中各属性的名称、数据类型和取值范围等内容。逻辑结构的设
23、计过程是:首先,根据需求阶段的设计结果和具体的DBMS产品的特点,将全局E-R模型转换成一个初始的关系模型。然后,对其中的每个关系模式进行分析,判断是否存在不合理的关系模式,如有则利用关系模式的规范化方法消除之。三、详细设计1、数据库物理结构设计数据库的物理结构设计是指为给顶的一个逻辑数据模型选择最适合应用环境的物理结构。关系数据库的物理结构主要是指数据的存取方法和存储结构。数据库的物理结构设计分为两个部分,首先是确定数据库的物理结构,其次是对所设计的物理结构进行评估。1.1确定数据库的物理结构为确定数据库的物理结构,设计人员必须了解下面的几个问题。详细了解给定的DBMS的功能和特点,特别是该
24、DBMS所提供的物理环境和功能;熟悉应用环境,了解所设计的应用系统中各部分的重要程度、处理频率、对响应时间的要求,并把它们作为物理结构设计过程中平衡时间和空间效率时的依据;了解外存设备的特性, 如分块原则、块因子大小的规定、设备的I/O特性等。在对上述问题进行了全面的了解之后,就可以进行物理结构的设计了。一般地,物理结构设计的内容包括如下几个方面。确定数据的存储结构。在此过程中需考虑存取时间、空间效率和维护代价间的平衡,如在引入冗余数据以加快存取速度时应兼顾系统的空间效率。选择合适的存取路径,例如确定应该为哪些关系模式建立索引,索引关键字是什么等。确定数据的存放位置,例如确定数据存放在一个磁盘
25、上还是多个磁盘上,什么数据该存放在高速存储器上,什么应该存放在低速存储器上等。确定存取分布,许多DBMS都提供了一些存储分配参数供设计者使用,例如缓冲区的大小和个数、块的长度、块因子的大小等,设计者必须规定其中的一些参数的位置。1.2评估物理结构由于在物理设计过程中需要考虑的因素很多,包括时间和空间效率、维护代价和用户的要求等,对这些因素进行权衡后,可能会产生多种物理设计方案。这一阶段需对各种可能的设计方案进行评价,评价的重点是系统的时间和空间效率,并从多个方案中选出较优的物理结构。2、模块过程设计与界面设计2.1验证用户身份功能模块功能描述验证用户身份功能模块用于对登陆系统的用户进行身份验证
26、,确定用户是否拥有使用该系统的资格以及该用户的权限。因此,任何用户登陆系统都调用此模块。主要算法if 用户名 and 口令 正确以该用户身份进入系统总控制界面并获得响应系统权限else提示“用户名或口令错误”累计错误三次,自动关闭本系统end if2.2系统总控制模块功能描述系统总控制模块是系统运行时的主控制程序,通过系统的主菜单集中各子功能模块,用户在该模块中通过选择菜单进入到相应的子模块。菜单设计系统菜单设计如下表所示。表1 系统菜单一级菜单系统输入维护帮助二、三级菜单客户管理产品查询修改产品信息系统信息用户管理产品入库退出系统产品出库主要算法每个菜单项调用相应模块,实现各自的功能。以退出
27、系统为例:if 退出系统提示“确认退出系统?”if 确认退出退出仓库管理系统else返回到仓库管理系统end ifend if其他功能菜单类似。2.3用户信息管理模块功能描述用户信息管理模块是对整个系统的用户进行权限分配的模块,通过调用该模块,具有查询用户基本信息和修改密码及权限的功能。系统第一次运行时只有超级用户具有用户权限分配的权限。调用方式用户在主控制界面中选择调用该模块。主要算法添加按钮触发的处理:用于添加新的用户,产生添加用户的界面。(仅限管理员权限)删除按钮触发的处理:用于删除选中的系统用户。(仅限管理员权限)修改密码按钮触发的处理:用于修改当前用户的密码,产生新的密码修改界面。修
28、改密码处理流程:输入原始密码重复输入原始密码if 两次密码相同匹配数据库用户密码if 与数据库密码相同继续输入新密码,修改成功else显示“您的密码不正确!”else显示“两次输入不相同!”上一页按钮触发的处理:显示上一页的记录。下一页按钮触发的处理:显示下一页的记录。首页按钮触发的处理:显示第一页的记录。末页按钮触发的处理:显示最后一页的记录。退出按钮触发的处理:关闭用户信息管理窗口并返回主控制界面。2.4客户信息管理模块功能描述客户信息功能模块是供系统使用人员对客户信息进行检索与查询并且进行修改的模块。通过调用该模块,能够按照不同的条件组合进行客户信息的查询,并可以对查询到的客户信息进行修
29、改。调用方式用户在主控制界面中选择相应选项打开客户信息界面,在界面中选择相应功能。主要算法查询条件下拉列表:选择查询的方式,然后于查询框中填写关键字进行搜索。添加按钮触发的处理:用于添加新的客户,产生添加客户的界面。(仅限管理员权限)删除按钮触发的处理:用于删除选中的客户的信息。(仅限管理员权限)修改按钮触发的处理:用于修改选中的客户的信息,产生客户信息修改界面。(仅限管理员权限)上一页按钮触发的处理:显示上一页的记录。下一页按钮触发的处理:显示下一页的记录。首页按钮触发的处理:显示第一页的记录。末页按钮触发的处理:显示最后一页的记录。退出按钮触发的处理:关闭客户信息管理窗口并返回主控制界面。
30、2.5产品入库功能模块功能描述产品入库功能模块是用于新的产品添加到仓库的处理模块。通过调用该模块,用户将产品的入库信息添加到仓库信息中。调用方式用户在主控制界面中选择相应选项打开产品入库界面,在界面中填写相应入库信息。主要算法产品类型下拉列表:选择入库产品的类型。产品名输入框:用于输入添加的产品的名称。产品价格输入框:用于输入添加的产品的价格。入库量输入框:用于输入添加的产品的数量。(按产品类型确定单位)生产日期输入框:用于填写入库产品的生产日期。入库按钮触发的处理:将用户填写的入库产品的信息添加到库存的产品信息中。重置按钮触发的处理:将用户填写的产品入库信息清空重新填写。退出按钮触发的处理:
31、关闭产品入库窗口并返回主控制界面。2.6产品出库功能模块功能描述产品出库功能模块是用于产品从仓库售出的处理模块。通过调用该模块,用户将产品的出库信息添加到仓库信息中。调用方式用户在主控制界面中选择相应选项打开产品出库界面,在界面中填写相应出库信息。主要算法产品名下拉列表:选择出库产品的名称。出库量输入框:用于输入售出的产品的数量。(按产品类型确定单位)出库按钮触发的处理:将用户填写的产品出库信息添加到库存的产品信息中。重置按钮触发的处理:将用户填写的产品入库信息清空重新填写。退出按钮触发的处理:关闭产品出库窗口并返回主控制界面。2.7产品信息管理模块功能描述产品信息管理模块是供系统使用人员对产
32、品信息进行检索与查询并且进行修改的模块。通过调用该模块,能够按照不同的条件组合进行产品信息的查询,并可以对查询到的产品信息进行修改。调用方式用户在主控制界面中选择相应选项打开产品信息界面,在界面中选择相应功能。主要算法查询条件下拉列表:选择查询的方式,然后于查询框中填写关键字进行搜索。查询按钮触发的处理:用于根据查询条件和用户输入的条件进行查询产品的相关信息并显示。修改按钮触发的处理:用于修改选中的产品的信息,产生产品信息修改界面。(仅限管理员权限)上一页按钮触发的处理:显示上一页的记录。下一页按钮触发的处理:显示下一页的记录。首页按钮触发的处理:显示第一页的记录。末页按钮触发的处理:显示最后
33、一页的记录。退出按钮触发的处理:关闭产品信息管理窗口并返回主控制界面。2.8打印功能模块功能描述打印功能主要用于打印产品的信息,方便仓库管理信息的整理和保存。调用方式用户在主控制界面中选择相应选项打开打印报表界面,在界面中选择打印功能。2.9数据维护模块功能描述本模块主要用于维护仓库系统的数据,经常备份仓库的各种信息数据,确保整个系统的可靠性,以便在出现意外情况时可以及时恢复仓库的全部数据。调用方式用户在主控制界面中选择相应选项打开数据恢复界面,在界面中选择相应功能。主要算法数据备份(手动)按钮触发的处理:立即开始备份当前仓库管理系统的各种数据。数据备份(自动)按钮触发的处理:用户设定数据自动
34、备份的时间,系统根据用户设定的时间自动将仓库管理系统中此刻的各种数据进行备份。退出按钮触发的处理:关闭产品信息管理窗口并返回主控制界面。四、测试黑盒测试:也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。测试用例设计:测试序号测试对象功能测试数据以及操作预期结果1能否正常登陆系统在登陆界面输入用户
35、名和密码,点击登陆跳出主界面2点击申请采购能否跳出订单页面在主界面点击采购跳出订单页面3订单内容能否存入订单表和采购计划表录入订单内容,点击提交提示成功,定单表和采购计划表被更新4能否查看已有订单点击检查盘点可以看到已有订单5能否录入入库信息点击订单表的入库按钮入库表被更新,产生入库单6能否正常执行出库申请点击出库申请按钮弹出出库单页面7能否正常录入出库信息填写出库单,点击确定提示成功,生成出库单8库存信息能否正常更新录入入库信息和出库信息库存表被更新白盒测试:也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中
36、的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。序号测试单元测试条件测试数据以及操作预期结果1用户登陆模块以不同格式的用户名登陆错误测试:1.用户名中包含字符2.用户名不存在3.用户名重复4该用户名已登陆点击登陆后提示用户名错误真确测试:1.录入系统已有的合法用户名点击登陆后跳出主页面2产品采购模块1.采购时间类型测试2.采购数量类型测试错误测试:1. 输入采购时间如11-2-32. 输入时间如2011-23. 输
37、入采购数量为11q4. 输入采购数量为1.1点击确定后提示输入时间格式错误提示输入数量格式错误真确测试:1.输入时间如2011-2-32.输入采购数量为11q点击确定后提示成功3库存信息管理模块1.检查能否对库存执行按特点条件的增删改查错误测试:输入执行操作的筛选条件:1.输入采购时间如11-2-32.输入时间如2011-2点击确定后提示时间格式不对正确测试:1. 输入时间如2011-2-32.输入经手人:aa3.输入产品名称如:诺基亚c608点击确定后显示查询到的信息4订单模块1.订单时间类型测试2.订单数量类型测试错误测试:1.输入订单时间如11-2-32.输入订单时间如2011-23.输
38、入订单数量为11q4.输入采购数量为1.1点击确定后在输入项目后面显示错误警告正确测试:1.输入订单时间如2011-2-32.输入订单数量为11点击确定后提示订单完成5出库申请模块出库时间类型测试出库产品测试出库数量类型测试申请人错误测试:1.输入申请出库时间如11-2-32.输入申请出库时间如2011-23.输入申请人为空4.输入出库数量为11e5输入产品为空点击确定后在输入项目后面显示错误警告正确测试:1.输入出库时间如2011-2-32.输入申请人为aa3.输入出库数量为114输入产品为诺基亚c6点击确定后提示申请成功6出库登记模块出库时间类型测试采购数量类型测试出库产品测试经手人测试错
39、误测试:1.输入出库时间如11-2-32.输入出库时间如2011-23.输入经手人为空4.输入出库数量为11e5输入产品为空点击确定后在输入项目后面显示错误警告正确测试:1.输入出库时间如2011-2-32.输入经手人为aa3.输入出库数量为114输入产品为诺基亚c6提示出库登记成功四、心得体会在紧张的复习过程中,完成整套系统的开发设计,自己也觉得比较欣慰,至少在校阶段确实学到了不少基础知识,在我未来的成长中会发挥相当重要的作用。在整个系统的制作过程中遇到了非常多的问题,例如对于一些概念理解不深使得在设计中有些不符合软件工程设计规约的地方等,在小组成员的共同努力下下,以及查询网上诸多相关资料,
40、都很好地找到了解决方案,使我从中获益匪浅。这应该是最后一次课程设计了,尽管时间不多,很多该有的功能都没有完成,希望在毕业设计中,可以做的更好,功能更强大。但愿在往后的工作中,可以更多地利用在学校学到的知识为自己的事业而打拼。个人工作业务总结本人于2009年7月进入新疆中正鑫磊地矿技术服务有限公司(前身为“西安中正矿业信息咨询有限公司”),主要从事测量技术工作,至今已有三年。在这宝贵的三年时间里,我边工作、边学习测绘相专业书籍,遇到不懂得问题积极的请教工程师们,在他们耐心的教授和指导下,我的专业知识水平得到了很到的提高,并在实地测量工作中加以运用、总结,不断的提高自己的专业技术水平。同时积极的参
41、与技术培训学习,加速自身知识的不断更新和自身素质的提高。努力使自己成为一名合格的测绘技术人员。在这三年中,在公司各领导及同事的帮助带领下,按照岗位职责要求和行为规范,努力做好本职工作,认真完成了领导所交给的各项工作,在思想觉悟及工作能力方面有了很大的提高。 在思想上积极向上,能够认真贯彻党的基本方针政策,积极学习政治理论,坚持四项基本原则,遵纪守法,爱岗敬业,具有强烈的责任感和事业心。积极主动学习专业知识,工作态度端正,认真负责,具有良好的思想政治素质、思想品质和职业道德。 在工作态度方面,勤奋敬业,热爱本职工作,能够正确认真的对待每一项工作,能够主动寻找自己的不足并及时学习补充,始终保持严谨
42、认真的工作态度和一丝不苟的工作作风。 在公司领导的关怀以及同事们的支持和帮助下,我迅速的完成了职业角色的转变。一、回顾这四年来的职业生涯,我主要做了以下工作:1、参与了新疆库车县新疆库车县胡同布拉克石灰岩矿的野外测绘和放线工作、点之记的编写工作、1:2000地形地质图修测、1:1000勘探剖面测量、测绘内业资料的编写工作,提交成果新疆库车县胡同布拉克石灰岩矿普查报告已通过评审。2、参与了库车县城北水厂建设项目用地压覆矿产资源评估项目的室内地质资料编写工作,提交成果为库车县城北水厂建设项目用地压覆矿产资源评估报告,现已通过评审。3、参与了新疆库车县巴西克其克盐矿普查项目的野外地质勘查工作,参与项
43、目包括:1:2000地质测图、1:1000勘查线剖面测量、测绘内业资料的编写工作;最终提交的新疆库车县康村盐矿普查报告已通过评审。4、参与了新疆哈密市南坡子泉金矿2009年度矿山储量监测工作,项目包括:野外地质测量与室内地质资料的编写,提交成果为新疆哈密市南坡子泉金矿2009年度矿山储量年报,现已通过评审。6、参与了新疆博乐市五台石灰岩矿9号矿区勘探项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工作,并绘制相应图件。7、参与了新疆博乐市托特克斜花岗岩矿详查报告项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、
44、测绘内业资料的编写工作,并绘制相应图件。通过以上的这些工作,我学习并具备了以下工作能力: 1、通过实习,对测绘这门学科的研究内容及实际意义有了系统的认识。加深对测量学基本理论的理解,能够用有关理论指导作业实践,做到理论与实践相统一,提高分析问题、解决问题的能力,从而对测量学的基本内容得到一次实际应用,使所学知识进一步巩固、深化。2、熟悉了三、四等控制测量的作业程序及施测方法,并掌握了全站仪、静态GPS、RTK等测量仪器的工作原理和操作方法。3、掌握了GPS控制测量内业解算软件(南方测绘 Gps数据处理)以及内业成图软件(南方cass)的操作应用。能够将外业测量的数据导入软件进行地形图成图和处理。4、在项目技术负责的指导下熟悉了测量技术总结的编写要求和方法,并参与了部分项目测量技术总结章节的编写工作。5、在项目负责的领导下参与整个测量项目的组织运作,对项目的实施过程有了深刻理解。通过在项目组的实习锻炼了自己的组织协调能力,为以后的工作打下了坚实基础。二、工作中尚存在的问题 从事测绘工作以来,深深感受到工作的繁忙、责任的重大,也因此没能全方位地进行系统地学习实践,主