软件工程课程设计-仓库管理系统_第1页
软件工程课程设计-仓库管理系统_第2页
软件工程课程设计-仓库管理系统_第3页
软件工程课程设计-仓库管理系统_第4页
软件工程课程设计-仓库管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容一、需求分析31.问题背景和描述32.功能分析33.建立系统流程图34.建立数据流图45.建立数据字典56.算法描述67.建立电子病历图78.建立状态图8二、概要设计101.软件架构模型102.用面向数据流的方法11设计系统软件结构3.数据库15的逻辑结构设计三。详细设计161.数据库16的物理结构设计2.模块过程设计和接口设计16四.体验23一、需求分析1.问题的背景和描述随着科学技术的发展、社会的进步和计算机的飞速发展,仓库管理的方法日新月异。过去,人们管理的所有方法都有许多缺点:管理效率低、劳动强度大、信息处理速度慢、准确性不理想。为了提高仓库管理效率,降低劳动强度,提高信息处理速度

2、和准确性;为仓库管理人员提供更方便、更科学的服务项目。更先进、更科学的仓库保管员服务体系。因此,我们选择了用计算机设计一个仓库管理系统。通过让计算机自动管理仓库,仓库管理员可以直接在计算机上实现仓库信息管理,并在一定程度上实现自动化。在对现有系统进行初步调查的基础上,我们提出了新的系统目标,即新系统建立后需要达到的运行指标,这是系统开发和评价的基础。2.泛函分析经初步分析,“仓库管理系统”应具有以下主要功能:1.仓库中各种信息的输入,包括入库、出库、恢复、需求信息的输入等。仓库管理的各类信息的查询、修改和维护从课程设计来看,该系统只实现了一些简单的功能。3.建立系统流程图为了便于问题的讨论和发

3、展,这里增加了系统流程图。通过对仓库管理过程的了解,我们可以了解仓库管理系统对仓库信息管理的一般过程。首先,用户登录仓库管理系统,经过一系列操作后,系统将相应的结果返回给用户。图1描述了这一总体流程。图1。仓库管理系统的一般处理程序接下来,分解图1中黑盒(仓库管理系统)的内容。通过仔细的分析和理解,确定了系统的整个运行过程:用户登录仓库管理系统,验证用户的身份和权限,验证后运行仓库管理系统。用户可以查询仓库中的产品信息,管理员可以修改和删除相关的仓库信息。用户还可以打印相关报告和查看帮助文档。根据用户的操作,系统会给出相应的显示和处理结果。图2、图3和图4是分析后得到的系统流程图。图2仓库管理

4、系统1流程图图3仓库管理系统流程图2图4仓库管理系统流程图34.建立数据流程图虽然系统流程图很好地描述了具体的系统,但是它混合了两种不同的知识:“做什么”和“如何做”。我们的目标不是复制现有的人工系统,而是开发一个新的系统来完成所有现有的功能,并使操作更加标准化或更加完整。因此,我们应该着重描述系统的逻辑功能。数据流图描述了软件系统从输入到输出的数据转换过程,通常用数据流图来建立软件的功能模型。数据流图是系统逻辑功能的图形表示。它没有任何特定的物理组件,但只描述了软件中数据流动和处理的逻辑过程。不了解计算机技术的人很容易理解它,所以它是分析师和用户之间的一个极好的交流工具。根据以上划分的系统模

5、块,可以得到如下的数据流程图:仓库管理系统总体数据流程图图5仓库管理系统的数据流图5.建立数据字典数据字典是一个集合数据字典和数据流图一起构成了系统的逻辑模型。在数据字典中定义数据的方法是从上到下分解数据。当数据被分解成不需要进一步定义的元素,并且每个参与工程的人都清楚这些元素的含义时,分解过程就结束了。仓库管理系统根据划分的模块定义了以下数据字典:(1)用户信息表表名:用户内容:记录用户登录的基本信息成分:列名数据类型长度准确小数评论useridint4100主关键字用户名可变长字符串5000不是空的userpwd可变长字符串5000不是空的范围可变长字符串5000不是空的组织:按顺序输入。

6、客户信息表表名:customerinfo内容:记录与客户相关的基本信息成分:列名数据类型长度准确小数评论国际开发委员会int4100主关键字Cname可变长字符串5000不是空的地址可变长字符串5000不是空的邮政编码int4100不是空的电话可变长字符串5000不是空的组织:按顺序输入。产品类型表表名:producttype内容:记录产品类型的基本信息成分:列名数据类型长度准确小数评论Typeidint4100主关键字键入名称可变长字符串5000不是空的组织:按顺序输入。库存信息表表名:商店内容:记录产品库存的基本信息成分:列名数据类型长度准确小数评论Pidint4100主关键字Pname可

7、变长字符串5000不是空的Ptype可变长字符串5000不是空的Pprice漂浮物8530不是空的Pnumint4100不是空的制造日期日期时间800不是空的组织:按顺序输入。6.算法描述分析师以黑盒的形式记录算法,这意味着他们不考虑一个函数的具体实现方法,而只是把它看作一个在给出输入后能产生一定输出的盒子。这正是分析师在早期开发阶段应该持有的正确观点。目的是用原理算法精确定义函数,算法的细节可以在详细设计阶段确定。仓库管理系统中涉及的主要算法是产品的库存数量。随着仓库的使用,入库数量和出库数量随时变化,整个仓库的库存也是如此。这里,首次公开募股表用来记录算法的初步描述。图6描绘了产品库存的初

8、步算法的IPO表7.建立电子病历图为了清晰、准确地描述用户的数据需求,系统分析师通常会建立一个概念性的数据模型,这是一个面向问题的数据模型,从用户的角度描述数据。实体关系图通常用于建立数据模型,简称为E-R图,E-R图所描述的数据模型也相应地称为E-R模型。E-R图包含三个基本组件:实体(即数据对象)、关系和属性。通常,矩形框用于表示实体,连接相关实体的菱形框用于表示关系,椭圆或圆角矩形用于表示实体或关系的属性,直线用于连接实体(或关系)及其属性。图7用户电子病历图图8客户电子病历图图9产品的电子病历图图10仓库管理系统联系图8.建立状态图状态图(也称为状态转换图)通过描述系统的状态和导致系统

9、转换的事件来表示系统的行为。此外,状态图指出了特定事件发生后系统将采取的操作。因此,可以利用状态图建立软件系统的行为模型。状态是可以观察到的系统行为模式。状态代表系统的行为模式,状态指定系统响应事件的方式。状态图中的第一状态主要包括初始状态、最终状态和中间状态。在状态图中,只能有一个初始状态,而可以有0到更多的最终状态。在状态图中,初始状态由实心圆表示,最终状态由一对同心圆表示(内圆是实心圆)。中间状态由一个圆角矩形表示,它可以由两条水平水平线分为上、中、下三部分,以分别防止状态名、状态变量和活动表。事件是发生在某个特定时间的事情状态图中两个状态之间带有箭头的连接线表示状态转换,箭头表示转换的

10、方向。状态转换通常由事件触发,在这种情况下,触发事件表达式应标记在代表状态转换的箭头上。以下是仓库管理系统的状态图:着陆界面验证帐户输入口令非法账户验证权限合法账户查询和修改您自己的信息;修改其他用户权限;添加新用户;查询、修改、取消和添加客户信息;查询、修改、添加和删除产品信息和仓储信息等。查询和修改您自己的信息;检查客户信息、进出信息和产品信息等。行政权力普通权威图11仓库管理系统状态图二、概要设计1.软件架构模型大型软件系统总是被分解成一系列子系统,这些子系统提供一些相关的服务。软件体系结构设计的过程是识别这些子系统,建立子系统控制和通信的框架,最后给出软件体系结构的描述。1.1系统组成

11、模型有三种系统组合模型:容器模型、客户机-服务器模型和抽象机器模型。(1)集装箱模型组成一个系统的子系统必须为信息浇水,这样它们才能有效地一起工作。子系统交换信息和协调工作有两种基本方法:所有共享的书籍都保存在一个中央数据库中,所有子系统都可以从中访问数据;每个子系统使用自己的数据库与其他子系统交互,这是通过消息传输实现的。通常,大多数使用大量数据的系统都是围绕共享数据库(或容器)组织的,因此基于共享数据库的系统模型被称为容器模型。该模型适用于数据由一个子系统生成并由其他子系统共享的系统结构。这类系统包括指挥控制系统、管理信息系统、计算机辅助设计系统和计算机辅助设计工具集成系统。共享容器模型的

12、优点是它可以有效地共享大量数据。生成数据的子系统不需要关心其他子系统如何使用数据,而是可以专注于备份、安全性、访问控制和错误恢复。其缺点是子系统必须与容器数据一致,很难改变或发展系统,很难集成,并且很难将容器分布到多台机器上。客户-服务器模式客户机-服务器模型的主要组成部分是:一组为其他子系统提供服务的独立服务器;向服务器请求服务的一组客户端;连接客户端和服务器的网络(可选)。客户端必须知道可用服务器的名称和它们提供的服务,并通过远程调用获得服务器提供的服务。相反,服务器不需要知道客户端的身份和运行的客户端数量。客户-服务器模型可以实现基于容器模型的系统,容器作为系统的服务器。子系统需要访问容

13、器,所以它扮演客户端的角色。当然,当运行大量数据交换时,这个系统会有性能问题。客户机-服务器模式的最大优点是它是一种分布式结构,新的客户机和服务器可以很容易地通过网络添加,而不会影响系统的其他部分。抽象机器模型抽象机器模型,也称为分层模型,是建立子系统的接口模型。它将子系统组织成一系列层,每一层提供一组服务,每一层被定义为一个抽象的机器。每个抽象机器都是由它的下层抽象机器的代码组成的。每一层提供上层的服务,同时调用下层的服务。每一层的实现只影响相邻层,不影响系统的其他层。分层方法支持系统的增量开发。如果第一层的开发完成,则用户可以使用第一层提供的服务。分层的缺点是很难用这种方式构建系统。几乎所

14、有抽象机器所需的基本服务(如文件管理)都需要由内层提供,因此用户的服务可能需要访问更深层的抽象机器。这与分层原则相反,即外层只需要访问较低层的抽象机器。性能也是一个问题,因为它需要多层的指令解释过程。如果层级过多,层级管理将成为系统的重要负担。通过对三种系统组成模型的介绍,可以看出仓库管理系统是基于集装箱模型设计的。仓库管理系统只使用一个主数据库,其中提供的所有服务都直接访问该数据库,因此仓库管理系统具有集装箱模型的各种特征。1.2系统控制模式软件体系结构不仅要定义系统组成模型,还要给出子系统的控制模式,使子系统能够按照控制模式工作。体系结构级别的控制模式主要反映子系统之间的控制流。系统控制模

15、式有两种通用的建模方法,即集中控制和事件驱动控制。(1)集中控制在集中式控制模型中,子系统被定义为管理其他系统执行的系统控制器。集控模式可分为回拨模式和经理模式。(1)回拨模式。这是一个自上而下的子流程模型。控制从系统(程序)的顶层开始,并在子系统(程序)调用期间逐渐转移到较低的层。该模型适用于顺序执行系统。管理者模式。这是一个适用于并发系统的模型。系统组件被指定为系统管理器,以控制其他系统进程的启动、终止和协调。进程是可以与其他进程同时执行的子系统或模块。事件驱动控制在集中控制模型中,控制决策通常由一些系统状态变量值决定。相反,事件驱动的控制模型通过外部生成的事件来驱动系统。有许多不同的事件

16、驱动系统,如电子表格和基于规则的生产系统。以下是两个事件驱动的控制模型。(1)广播模式。发生的事件被广播给所有子系统,任何能够处理这些事件的子系统都会做出响应。该模型适用于基于网络的分布式系统。中断驱动模型。来自外部的中断由中断处理器检测,然后这些中断在其他组件中处理。该模型适用于对时序有严格要求的实时系统。广播模型中的子系统记录它们感兴趣的特殊事件,当这些事件发生时,控制转移到处理这些事件的子系统。所有事件都可以发送到所有子系统,但是这样做会增加子系统的开销。通常,事件和消息处理器维护子系统的注册以及这些子系统感兴趣的事件。广播模型的优点是进化相对简单,通过在事件处理器中注册这些事件,可以集成处理特殊类型事件的新子系统;它的缺点是子系统相互竞争来处理事件,这可能导致冲突。中断驱动模式仅用于硬

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论