软件工程课程设计仓库管理系统Word文件下载.docx
- 文档编号:21171278
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:26
- 大小:88.79KB
软件工程课程设计仓库管理系统Word文件下载.docx
《软件工程课程设计仓库管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计仓库管理系统Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
本仓库管理系统根据划分的模块定义了如下数据字典:
①用户信息表
表名:
user
内容:
记载用户登陆的基本信息
组成:
列名
数据类型
长度
精度
小数
备注
userid
int
4
10
主键
username
varchar
50
不为空
userpwd
purview
组织:
按录入顺序.
②客户信息表
表名:
customerinfo
记载客户相关的基本信息
Cid
Cname
Addr
PostCode
Phone
按录入顺序。
③产品类型表
producttype
内容:
记载产品类型的基本信息
Typeid
Typename
④库存信息表
store
记载产品库存的基本信息
Pid
Pname
Ptype
Pprice
float
8
53
Pnum
MakeDate
datetime
6、算法描述
分析员以黑匣子的方式记录算法,所谓黑匣子就是不考虑一个功能的具体实现方法,只把它看作给予输入之后就能够产生一定输出的匣子。
这正是在早期开发阶段分析员对算法应该持有的正确观点,目的是用原理性算法准确地定义功能,算法的细节可以等到以后的详细设计阶段再确定。
仓库管理系统中主要涉及算法方面的主要是产品的库存数量,随着仓库的使用,入库数量和出库数量随时发生变化,整个仓库中的库存量也就随之变化。
这里采用IPO表记录该算法的初步描述.
图6描绘产品库存量初步算法的IPO表
7、建立E-R图
为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型,概念性数据模型是一种面向问题的数据模型,它描述从用户角度看到的数据.
通常使用实体-联系图来建立数据模型,可以把实体-联系图简称为E—R图,相应地可以把E—R图描绘的数据模型称为E-R模型。
E-R图中包含了实体(即数据对象)、关系和属性等三种基本成分。
通常,用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体或关系的属性,并用直线把实体(或关系)与其属性连接起来。
图7用户E—R图
图8客户E-R图
图9产品E-R图
图10仓库管理系统联系图
8、建立状态图
状态图(也叫状态转换图)通过描绘系统状态及引起系统转换的事件来表示系统的行为。
此外,状态图还指明了作为特定事件的结果系统将做哪些动作。
因此,可以用状态图建立软件系统的行为模型。
状态是可以被观察到的系统行为模式,一个状态代表系统的一种行为模式,状态规定了系统对事件的响应方式。
在状态图中第一的状态主要有:
初态、终态和中间状态,在一张状态图中只能有一个初态,而终态则可以有0个至多个。
在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示.中间状态用圆角矩形表示,可以使用两条水平横线把它分成上、中、下3个部分,分别防止状态名、状态变量和活动表。
事件是在某个特定时刻发生的事情,它是对引起系统动作或(或)从一个状态转换到另一个状态的外界事件的抽象。
状态图中两个状态之间带箭头的连线表示状态转换,箭头指明了转换的方向.状态转换通常是由事件触发的,在这种情况下应该在表示状态转换的箭头上标出触发事件表达式。
以下是仓库管理系统的状态图:
登陆界面
验证帐户
输入密码
不合法帐户
验证权限
合法帐户
查询、修改自身信息;
修改其他用户权限;
添加新用户;
查询、修改、注销、添加客户信息;
查询、修改、添加、删除产品信息和入库信息等
查客户信息、出、入库信息和产品信息等
管理权限
普通权限
图11仓库管理系统状态图
二、概要设计
1、软件体系结构模型
大型软件系统总是被分解成一系列子系统,由子系统提供一些相关的服务。
软件体系结构设计过程就是识别出这些子系统,并建立子系统控制和通信的框架,最后给出软件体系结构的一个描述。
1.1系统构成模型
系统构成模型有容器模型、客户-服务器模型和抽象机模型三种。
⑴容器模型
构成一个系统的子系统一定要浇灌换信息,以便能有效地在一起工作。
子系统交换信息、协调工作有两种基本方法:
全部共享书防在一个中央数据库中,所有子系统都能从中存取数据;
每个子系统用各自的数据库与其他子系统进行数据交互,通过消息传递来实现.
一般情况下,大多数使用大量数据的系统都是围绕共享数据库(或称为容器)组织的,所以,基于一个共享数据库的系统的系统模型称为容器模型。
这个模型适合于数据由一个子系统产生,而其他子系统共享使用的系统结构。
这种类型的系统有命令控制系统、管理信息系统、CAD系统和CASE工具集成系统等。
共享容器模型的优点是能够高效地共享大量的数据,生产数据的子系统不需要关心数据如何被其他子系统使用,可以集中进行备份、保密、访问控制和错误恢复等活动.其缺点是子系统一定要与容器数据一致,系统变更或进化比较困难,难以集成,以及很难将容器分布到多台机器上。
⑵客户-服务器模型
客户—服务器模型的主要组成部分是:
一组给其他子系统提供服务的单机服务器;
一组向服务器请求服务的客户机;
一个连接客户和服务器的网络(可选)。
客户机必须知道可用的服务器的名字和它们所提供的服务,并通过远程调用获取服务器提供的服务.反之,服务器没有必要知道客户机的身份,以及到底有多少客户机在运行。
客户—服务器模型能够实现基于容器模型的系统,容器就充当了系统的服务器。
子系统需要访问容器,因而扮演了客户机的角色。
当然,当运行大量数据交换时,这种系统就会产生性能问题。
客户-服务器模型的最大优点是:
这是一个分布式结构,通过网络可以很容易地添加新的客户机和服务器,而不会影响系统的其他部分。
⑶抽象机模型
抽象机模型也称为分层模型,是建立子系统的接口模型,它把子系统组织成一系列的层次,每一层提供一组服务,每一层定义为一个抽象机。
每个抽象机都是由其下层的抽象机的代码构成的.每一层提供给上一层服务,同时调用下一层的服务。
每一层的实现只影响相邻层,不会影响到系统的其他各层.分层的方法支持系统的增量式开发,若一层开发完成,该层提供的服务就可以被用户使用了。
分层的缺点是:
用这种方法构建系统比较困难。
几乎所有抽象机都需要的基本服务(如文件管理)需要由内层提供,因此,用户的服务可能需要访问较深层的抽象机。
这一点有悖于一个外层只需要访问临近下层抽象机的分层原则。
性能也可能是一个问题,因为需要多层的指令解释过程。
如果层次太多,层次管理就将成为系统的一个重要负担。
根据三种系统构成模型的介绍,很明显地可以知道本仓库管理系统是基于容器模型设计的。
仓库管理系统只使用到一个总数据库,而其中提供的所有服务都直接访问该数据库,因此本仓库管理系统具备容器模型的各种特性。
1.2系统控制模式
软件体系结构除了要明确系统构成模型之外,还要给出子系统的控制模式,使子系统能够根据控制模式工作。
在体系结构层次上的控制模式主要反映子系统之间的控制流.
系统控制模式有两种一般性的建模方法,即集中式控制和事件驱动控制。
⑴集中式控制
在集中式控制模型中,一个子系统被定义为系统控制器来负责管理其他系统的执行.集中式控制模型又可分为调用-返回模型和管理者模型两类。
①调用—返回模型。
这是一个自上而下的子过程模型。
控制始于系统(程序)的顶层,在子系统(程序)调用过程中,控制逐步传递到更低的层次中.该模型适用于顺序执行的系统.
②管理者模型。
这是一种适用于并发系统的模型.一个系统组件被指定为系统管理者,控制其他系统过程的启动、终止和协调。
一个过程就是一个能和其他过程并发执行的子系统或模块。
⑵事件驱动控制
在集中式控制模型中,控制决断通常决定于一些系统状态变量值。
相反,事件驱动的控制模型是通过外部产生的事件驱动系统的。
有多种不同的基于事件驱动的系统,如电子表格、基于规则的产生式系统等。
下面是两种事件驱动的控制模型。
①广播模型。
发生的事件广播到所有子系统,任何能处理该事件的子系统都会响应.该模型适用于基于网络的分布式系统.
②中断驱动模型。
由中断处理器对来自外部的中断进行检测,然后在其他组件中处理这些中断。
该模型适用于对定时有严格要求的实时系统。
广播模型中的子系统注册其感兴趣的特别事件,当这些事件发生的时候,控制被转换到处理这些事件的子系统。
所有的事件都可以被发送到所有的子系统,但这样做增加了子系统的开销.一般地,事件和消息处理器要维护子系统的注册和这些子系统所感兴趣的事件。
广播模型的优点是进化比较简单,处理特别类型事件的新的子系统可以通过在事件处理器中注册这些事件来达到集成;
其缺点是子系统相互竞争地处理事件,这可能会引起冲突。
中断驱动模型只用在硬件实时系统中,要求对一些事件能作出及时响应,这可以与集中式控制模型结合起来使用。
中央管理者处理系统的一般性运转,而中断控制用于对紧急事件作出反应。
而本仓库管理系统显然属于前者,所有的子系统都是由一个总的系统控制的,触发子系统的调用主要取决于系统状态量的改变。
并且可以看出,仓库管理系统是属于管理者模型的.
2、用面向数据流的方法设计系统软件结构
2.1仓库管理软件结构
在需求分析中,已经使用结构化方法分析了“仓库管理系统”。
因此,可以从图16所示的仓库管理系统流图出发来设计仓库管理系统的结构。
用户数据
D1
仓库数据
2.1
产品入库
3.1
维护模块
用户
1.1
客户管理
1.2
用户管理
1.3
退出系统
D2
客户资料
D3
用户资料
2.2
产品出库
2.3
产品查询
用户数据
3.2
帮助模块
图12仓库管理系统数据流图
下一个设计步骤是完成“第一级分解"
.所谓“第一级分解”就是确定系统的总体控制结构。
通常,变换分析得出的系统高层结构是一个“三叉”控制结构。
针对“仓库管理"
得出的高层控制结构如图16所示。
仓库管理
接收数据
处理数据
输出数据
图13仓库管理的“第一级分解”
再下一个设计步骤是完成“第二级分解”。
所谓“第二级分解”,就是把数据流图中的每个处理映射成软件结构中的一个适当的模块。
变换分析的映射规则是从变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中“输入信息处理控制模块”控制下的一个低层模块;
然后沿着输出通路向外移动,把输出通路中每个处理映射成直接或间接接受“输出信息处理控制模块”控制的一个低层模块;
最后把变换中心内的每个处理映射成接受“变换中心控制模块"
控制的一个低层模块.
对于“仓库管理”来说,“第二级分解”的结果如图17所示。
帮助信息
验证用户权限
收集数据
审核数据
修改更新
统计数据
汇总数据
分析数据
图14仓库管理的“第二级分解”
最后洋设计步骤是对仓库管理的初步结果优化。
结合仓库管理的“第二级分解"
图可以将其优化成如下的软件结构图。
打印报表
图15优化后的仓库管理软件结构
⒉系统帐户管理软件结构
根据数据流图,能够得到系统帐户管理软件结构如下图所示。
系统帐户管理
修改更新授权
验证用户
查询用户
图16系统帐户管理软件结构
综合上面的分析,可进一步得到包含系统帐户管理、仓库管理和系统数据管理三大子功能的软件结构如图20所示.
图17仓库管理系统细化的软件结构
结合上述的分析描述,得到仓库管理系统的完整软件结构图,如图21所示。
仓库管理系统
图18仓库管理系统的完整软件结构
3、数据库逻辑结构设计
数据库逻辑结构设计的任务是根据E-R模型和需求分析所产生的文档,并综合考虑所选择的具体DBMS的特点,设计出整个数据库的逻辑结构。
一般来说,选择哪一种DBMS存放数据,是由系统分析员和用户(一般是企业的高级管理人员)决定的。
需要考虑的因素包括DBMS产品的性能和价格,以及所设计的应用系统的功能复杂程度。
如果选择的是关系型DBMS产品,那么逻辑结构的设计就是指设计数据库中所包含的各个关系模式的结构,包括关系模式的名称、每一关系模式中各属性的名称、数据类型和取值范围等内容.
逻辑结构的设计过程是:
首先,根据需求阶段的设计结果和具体的DBMS产品的特点,将全局E—R模型转换成一个初始的关系模型。
然后,对其中的每个关系模式进行分析,判断是否存在不合理的关系模式,如有则利用关系模式的规范化方法消除之。
三、详细设计
1、数据库物理结构设计
数据库的物理结构设计是指为给顶的一个逻辑数据模型选择最适合应用环境的物理结构。
关系数据库的物理结构主要是指数据的存取方法和存储结构。
数据库的物理结构设计分为两个部分,首先是确定数据库的物理结构,其次是对所设计的物理结构进行评估.
1.1确定数据库的物理结构
为确定数据库的物理结构,设计人员必须了解下面的几个问题。
①详细了解给定的DBMS的功能和特点,特别是该DBMS所提供的物理环境和功能;
②熟悉应用环境,了解所设计的应用系统中各部分的重要程度、处理频率、对响应时间的要求,并把它们作为物理结构设计过程中平衡时间和空间效率时的依据;
③了解外存设备的特性,如分块原则、块因子大小的规定、设备的I/O特性等.
在对上述问题进行了全面的了解之后,就可以进行物理结构的设计了。
一般地,物理结构设计的内容包括如下几个方面。
①确定数据的存储结构。
在此过程中需考虑存取时间、空间效率和维护代价间的平衡,如在引入冗余数据以加快存取速度时应兼顾系统的空间效率.
②选择合适的存取路径,例如确定应该为哪些关系模式建立索引,索引关键字是什么等。
③确定数据的存放位置,例如确定数据存放在一个磁盘上还是多个磁盘上,什么数据该存放在高速存储器上,什么应该存放在低速存储器上等。
④确定存取分布,许多DBMS都提供了一些存储分配参数供设计者使用,例如缓冲区的大小和个数、块的长度、块因子的大小等,设计者必须规定其中的一些参数的位置。
1。
2评估物理结构
由于在物理设计过程中需要考虑的因素很多,包括时间和空间效率、维护代价和用户的要求等,对这些因素进行权衡后,可能会产生多种物理设计方案。
这一阶段需对各种可能的设计方案进行评价,评价的重点是系统的时间和空间效率,并从多个方案中选出较优的物理结构。
2、模块过程设计与界面设计
2。
1验证用户身份功能模块
⑴功能描述
验证用户身份功能模块用于对登陆系统的用户进行身份验证,确定用户是否拥有使用该系统的资格以及该用户的权限。
因此,任何用户登陆系统都调用此模块。
⑵主要算法
if用户名and口令正确
以该用户身份进入系统总控制界面并获得响应系统权限
else
提示“用户名或口令错误”
累计错误三次,自动关闭本系统
endif
2.2系统总控制模块
系统总控制模块是系统运行时的主控制程序,通过系统的主菜单集中各子功能模块,用户在该模块中通过选择菜单进入到相应的子模块。
⑵菜单设计
系统菜单设计如下表所示。
表1系统菜单
一级菜单
系统
输入
维护
帮助
二、三
级菜单
修改产
品信息
系统信息
⑶主要算法
每个菜单项调用相应模块,实现各自的功能.
以退出系统为例:
if退出系统
提示“确认退出系统?
”
if确认退出
退出仓库管理系统
返回到仓库管理系统
endif
其他功能菜单类似.
2.3用户信息管理模块
用户信息管理模块是对整个系统的用户进行权限分配的模块,通过调用该模块,具有查询用户基本信息和修改密码及权限的功能.系统第一次运行时只有超级用户具有用户权限分配的权限.
⑵调用方式
用户在主控制界面中选择调用该模块.
①添加按钮触发的处理:
用于添加新的用户,产生添加用户的界面。
(仅限管理员权限)
②删除按钮触发的处理:
用于删除选中的系统用户.(仅限管理员权限)
③修改密码按钮触发的处理:
用于修改当前用户的密码,产生新的密码修改界面。
修改密码处理流程:
输入原始密码
重复输入原始密码
if两次密码相同
匹配数据库用户密码
if与数据库密码相同
继续输入新密码,修改成功
显示“您的密码不正确!
显示“两次输入不相同!
④上一页按钮触发的处理:
显示上一页的记录.
⑤下一页按钮触发的处理:
显示下一页的记录。
⑥首页按钮触发的处理:
显示第一页的记录.
⑦末页按钮触发的处理:
显示最后一页的记录。
⑧退出按钮触发的处理:
关闭用户信息管理窗口并返回主控制界面.
2.4客户信息管理模块
客户信息功能模块是供系统使用人员对客户信息进行检索与查询并且进行修改的模块。
通过调用该模块,能够按照不同的条件组合进行客户信息的查询,并可以对查询到的客户信息进行修改。
用户在主控制界面中选择相应选项打开客户信息界面,在界面中选择相应功能。
①查询条件下拉列表:
选择查询的方式,然后于查询框中填写关键字进行搜索。
②添加按钮触发的处理:
用于添加新的客户,产生添加客户的界面。
③删除按钮触发的处理:
用于删除选中的客户的信息.(仅限管理员权限)
④修改按钮触发的处理:
用于修改选中的客户的信息,产生客户信息修改界面。
⑤上一页按钮触发的处理:
⑥下一页按钮触发的处理:
⑦首页按钮触发的处理:
⑧末页按钮触发的处理:
⑨退出按钮触发的处理:
关闭客户信息管理窗口并返回主控制界面。
5产品入库功能模块
产品入库功能模块是用于新的产品添加到仓库的处理模块。
通过调用该模块,用户将产品的入库信息添加到仓库信息中。
用户在主控制界面中选择相应选项打开产品入库界面,在界面中填写相应入库信息。
①产品类型下拉列表:
选择入库产品的类型.
②产品名输入框:
用于输入添加的产品的名称。
③产品价格输入框:
用于输入添加的产品的价格。
④入库量输入框:
用于输入添加的产品的数量.(按产品类型确定单位)
⑤生产日期输入框:
用于填写入库产品的生产日期.
⑥入库按钮触发的处理:
将用户填写的入库产品的信息添加到库存的产品信息中。
⑦重置按钮触发的处理:
将用户填写的产品入库信息清空重新填写。
关闭产品入库窗口并返回主控制界面。
6产品出库功能模块
产品出库功能模块是用于产品从仓库售出的处理模块。
通过调用该模块,用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 仓库 管理 系统