仓库管理信息系统

更新时间:2023-05-14 12:44:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

仓库管理信息系统

【摘要】仓库管理是与我们日常生活息息相关的问题。大到公司、超市的仓库管理,小到图书馆的藏书管理,都可以认为是各种各样的仓库管理需求。随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,仓库管理的全面自动化、信息化则是其中极其重要的部分。仓库管理信息系统正是基于这样的需求背景下研制开发的。 本文按照软件工程思想和管理信息系统的开发步骤,设计并实现了一个仓库管理信息系统。以系统开发过程为主线,介绍了系统从需求分析,逻辑设计,总体设计,详细设计以及系统测试、实施各阶段的主要内容和成果,包括系统结构图、业务流程图、数据流程图、E-R模型、数据字典、物理表实现及其关系、功能模块算法流程、界面设计等等。最后对实现系统的优缺点进行了分析,提出了今后进一步完善系统的方向和方法。

设计实现的管理系统能够正确有效地完成仓库管理的日常入库出库等工作,极大提高了管理工作的效率和正确性,并能够根据需求进行灵活的查询,完成月底盘点等功能;系统与数据库管理系统结合,提供了功能较为强大的数据安全功能,防止了越权操作、误操作,并支持灾难性恢复;系统界面友好,操作简单,效率高易掌握。最后,该系统是典型的管理信息系统(MIS),其设计开发过程具有通用性,对类似工作的开展具有借鉴意义。

关键词:仓库管理; 数据库; 管理信息系统; 面向对象

摘 要 1

第一章 前言 2

1.1 项目开发背景 2

1.2 信息系统目标 3

1.3 系统开发方法 3

1.3.1 系统规划阶段 3

1.3.2 系统分析阶段 3

1.3.3 系统设计阶段 4

1.3.4 系统实施阶段 4

1.3.5 系统运行与维护阶段 4

1.4 开发工具选择 4

1.4.1 Delphi 7.0 简介 4

1.4.2 Delphi中的数据库系统开发 5

1.4.3 Access数据库系统 6

1.5 本系统开发方法及目标 7

第二章 系统需求分析 8

2.1 现行业务系统描述 8

2.2 现行系统存在的主要问题 9

2.3 可行性分析 9

2.3.1 技术可行性 10

2.3.2 经济可行性 10

2.3.3 运营可行性 11

第三章 系统逻辑设计 11

3.1 数据流程分析 11

3.2 数据词典描述 12

仓库管理信息系统

3.2.1 数据流的DD表 13

3.2.2 数据元素的DD表 14

3.2.3 数据存储的DD表 14

3.2.4 数据加工的DD表 15

3.2.5 外部项的DD表 15

3.3 软件模块结构设计 16

3.4 数据库设计 16

3.5 总体安全性可靠性方案 18

第四章 系统详细设计与实现 19

4.1 代码设计规范 19

4.2 人机界面设计 19

4.3 功能模块设计与实现 20

4.3.1 登录模块 20

4.3.2 基本信息维护模块 21

4.3.3 仓库操作模块 22

4.3.4 信息查询模块 22

4.3.5 系统其它功能模块 24

第五章 实施概况 24

5.1 操作系统和开发环境 24

5.2 系统测试 25

5.3 系统运行与维护 25

一章 公司介绍与系统的需求分析

1.1公司简介

佳雪公司是一个专销电动机的公司,主要业务是进行电动机的进货与分销,作为一个销售的中介公司,其

要求有入库与出库的主要数据库,可以简单的记录数据,并且可以进行多方面的查询,使得公司有较详细

的数据统计与分析。

其主要业务如以下图所示:

1. 厂商 仓库 顾客

图1.1.1

2.查询功能

1) 按型号查询

有两个结果:A生成 入库量、出库量、节余量

B生成 两个数据来源表,包括出库来源与入库来源;

2) 按单位查询

结果:生成 型号、产品名称、时间(入/出库)、单价

再生成出入库的两个基本情况表,包括供应商和顾客的基本情况,如型号、出/入库时间,单

价,发票编号、结帐情况;

3.本系统主要运用Visual Basic的内嵌数据库Access来记录数据;

仓库管理信息系统

4.产品信息:

序号(自动生成)、型号(文本)、入库时间(日期)、出库时间(日期)、数量(数字)、

发票编号(文本)、单价(货币)、厂商名称(文本)、供应商名称(文本)、厂商与供应商的电话(数

字)、结帐情况(是/否)[是为0,否为-1]

1. 2分析与描述

一.根据1.1章节的具体要求,总结出以下的数据流程:

图1.2.1 数据流程

二.根据以上情况,按要求设计了几个相关的数据库

表:出库、入库

查询:查询结余、出库查询、入库查询、型号出库查询、型号入库查询 l 主要的出库表属性如以下表所示:

字段名 属性 字段大小

序号 自动生成 长整型

型号 文本 50

产品名称 文本 50

出库数量 数字 长整型

单价 货币 自动小数

出库时间 日期 年-月-日

发票编号 文本 50

顾客电话 文本 50

结帐情况 是/否 2

表1.2.1

l 由于入库表与出库想类似,所以在此不做详细介绍。

l 为了方便查询,因此在出库与入库的基础上增加了几个查询表,具体字段如下:

1. 查询结余:型号、产品名称、出库数量、入库数量

2. 出库查询:顾客名称、型号、出库时间、单价、出库数量OF SUM、发票编号、结帐情况

3. 入库查询:供应商名称、型号、入库时间、单价、入库数量OF SUM、发票编号、结帐情况

4. 出库型号查询:型号、产品名称、顾客名称、单价、发票编号、结帐情况

5. 入库型号查询:型号、产品名称、供应商名称、单价、发票编号、结帐情况

1.3数据库的主要特点

u 数据库中的每一个表都必须符合下面几个特征:

*表中的每一个单元的内容只有一个值

*所有字段的名称都不相同

*记录的前后次序和字段的左右次序可以变化,不受限制

*数据库中的表的上下次序不受限制

*表中不应有内容完全相同的记录

*表中的每一个字段都必须有相同的数据类型

使用Visual Basic开发应用程序的两个主要思想:

仓库管理信息系统

*可视设计

*事件驱动编程

Visual Basic应用程序不同于其他语言开发的单一性程序。使用Visual Basic编程时,必须首先确定应用

程序如何与用户交互,如鼠标单击,用户必须编写代码控制这些事件的响应方法。 使用Visual Basic开发数据库应用程序的一般步骤如下所示:

(1) 建立数据库

(2) 建立用户界面

(3) 编写代码

(4) 调试运行

(5) 编译应用程序

(6) 发布应用程序

界面设计

(1) 控件的位置

(2) 界面元素的一致性

(3) 保持界面的简明

(4) 使用颜色和图象:增加视觉的感染力

(5) 图象和图标:增加应用程序的视觉上的趣味

(6) 选取字体

Visual Basic应用程序的结构:

由于Visual Basic应用程序是基于对象的,所以应用程序的代码结构就是该程序在屏幕上物理表示的

模型。根据定义,对象包含数据和代码。在屏幕上看到的窗体代表属性,这些属性定义了窗体的外观和内

在特性。版权所有:/381103193

本设计主要是运用Data控件。

Data控件主要是打开、访问并操作已有的数据库,它是Visual Basic 访问数据库的最常用的工具之一。

由于Data控件使用Microsoft的Jet引擎来实现数据访问(与Microsoft Access 所用的数据库引擎相同)

,使用户可以无缝地访问很多标准的数据库格式,而且无需编写任何代码就可以创建数据应用程序,因此

这种Visual Basic 内部的Data控件最合适小的(桌面)数据库,诸如Access和ISAM数据库等。

由于Data控件是Visual Basic 的内部控件,因此可以直接在标准工具箱中找到该控件。

在程序运行过程中,只要用鼠标单击控件上的箭头按钮,系统将自动修改Data控件指向的记录和显示在

仓库管理信息系统

约束控件中的数据,而不需要编写任何代码。

可以将多个Data控件同时添加到一个工程甚至是同一个窗体中。另外,每个控件可以连接到不同的数据

库或同一个数据库的不同表上,还可以和代码一起查询满足的语句的表的记录集。

使用Data控件可以显示、编辑和更新来字各种已有的数据库信息。此外,还可以访问和操作远程的开放

式数据库连接。

除了使用Data控件之外,还运用的Visual Basic 6.0的新增控件功能,Dblistbox它不象标准的列表框或

组合框那样需要使用AddItem方法添加列表项。另外,它们还可以有选择地把某个选定的字段传递给另一

个Data控件,使得它对于“查找表”应用程序很理想。

与其他的约束控件不同,这些控件可以同时显示多个记录。约束数据列表控件类似于普通的列表框控件,

可以显示记录集中的数据,网格中的每一行代表记录集中的一个记录。

第二章 管理系统的设计与分析

2.1进入界面

l 由于系统的的界面比较单一,因此在设计过程中运用了许多网上下载的图片来增添界面的可观性。

l 在考虑到操作员的技术水平有限,因此在控件方面只运用了COMMAND,这样不仅能是界面清楚,更能是

操作者很快学会,简单易懂。

l 图2.1.1是进入本系统的状态图,单击“确定”可以进入界面,如按“系统信息”的话,将显示本系统

的具体软硬件情况。

图2.1.1

当图2.1.1中的“确定”按钮被激活时,将进入图2.1.3的屏幕,界面的图片是图片引入的,接着将进入正

式的编辑或查询状态。

具体的系统情况如图2.1.2所示:

图2.1.2

图2.1.3

仓库管理信息系统

2. 2入库界面

l 当激活入库按钮时将出现以下的界面(图2.2.1)

图2.2.1

l 入库窗体(图2.2.1)及其各个控件的主要属性

控件类型 控件名 主要属性

Form Frmrsg1 Caption=“入库情况”

Data Data1

Databasename=“A\db2.mdb”Recordsettype=1’DynasetCaption=“入库情况”

CommandDialog Command1 Caption=“上一个”

Command2 Caption=“下一个”

Command3 Caption=“确定”

Command4 Caption=“取消”

Command5 Caption=“退出”

Command6 Caption=“增加”

Command7 Caption=“修改”

Command8 Caption=“删除”

Lable Lable1 Caption=“序号”

Lable2 Caption=“型号”

Lable3 Caption=“产品名称”

Lable4 Caption=“数量”

Lable5 Caption=“单价”

Lable6 Caption=“入库时间”

Lable7 Caption=“发票名称”

Lable8 Caption=“供应商名称”

Lable9 Caption=“电话”

Lable10 Caption=“结帐情况”

Text Text1 Caption=“序号”Datasource=“data1”

Text2 Caption=“型号”Datasource=“data1”

Text3 Caption=“产品名称”Datasource=“data1”

Text4 Caption=“数量”Datasource=“data1”

Text5 Caption=“单价”Datasource=“data1”

Text6 Caption=“入库时间”Datasource=“data1”

Text7 Caption=“发票名称”Datasource=“data1”

Text8 Caption=“供应商名称”Datasource=“data1”

Text9 Caption=“电话”Datasource=“data1”

Text10 Caption=“结帐情况”Datasource=“data1”

表2.2.1

l 控件说明

Ø 增加新记录

当单击“确定”按钮后,“确定”和“取消”两个按钮显示,同时使其他的按钮不可见,这样做是为了防

仓库管理信息系统

止用户的误操作。

其主要程序如下:

Private Sub Command5_Click()

xg = True

'显示“确定”和“取消”两个按钮

Command3.Visible = True

Command4.Visible = True

'取消其他按钮功能

Command5.Enabled = False

Command6.Enabled = False

Command7.Enabled = False

Command8.Enabled = False

Command1.Enabled = False

Command2.Enabled = False

Data1.Recordset.AddNew '添加一个新记录

Text1.SetFocus '光标在TEXT1处

end sub

Ø 修改记录

在调用EDIT方法之前,约束控件中的数据是只读的,用户无法对其进行修改。调用了EDIT方法后,用户可

以在约束控件中修改记录的值。如果在对当前记录进行修改之前修改,未使用EDIT方法,将发生运行时错

误。

其主要程序如下:

Private Sub Command6_Click()

xg = True

Command3.Enabled = True

Command4.Enabled = True

'取消其他按钮功能

Command5.Enabled = False

Command6.Enabled = False

Command7.Enabled = False

Command8.Enabled = False

Command1.Enabled = False

Command2.Enabled = False

'对记录进行编辑

Data1.Recordset.Edit

Text1.SetFocus

End Sub

仓库管理信息系统

Ø 删除记录版权所有:/381103193

当用户单击“删除”命令按钮时,为了防止用户误删除数据,程序将调用Msgbox()函数以弹出对话框,

询问用户是否真的要删除该记录。如果用户单击对话框上的“确定”按钮,程序调用记录集的Delete方法

,将记录集的当前记录设置为空,并从原始的表中删掉当前记录。但是删除的记录仍然是当前记录,只是

将其变为了无效的记录,任何对其的引用都会产生错误。

其主要程序如下:

Private Sub Command6_Click()

xg = True

Command3.Enabled = True

Command4.Enabled = True

'取消其他按钮功能

Command5.Enabled = False

Command6.Enabled = False

Command7.Enabled = False

Command8.Enabled = False

Command1.Enabled = False

Command2.Enabled = False

'对记录进行编辑

Data1.Recordset.Edit

Text1.SetFocus

End Sub

Private Sub Command7_Click()

ss = MsgBox("真的要删除吗?", vbYesNo + vbInformation, "删除记录") '如果要删除

If (ss = vbYes) Then

Data1.Recordset.Delete

Data1.Recordset.MoveNext

If Data1.Recordset.EOF Then

Data1.Recordset.MoveLast

Command2.Enabled = False

End If

End If

End Sub

Ø 移动数据

当用户单击“上一个”和“下一个”按钮是,系统将自动转换数据,但注意,当移至第一个记录时,“下

仓库管理信息系统

一个”按钮将失效;移至最后一个记录是,“上一个”按钮也将失效。

其中在设计程序时,为了防止“NO Current Record”这样的错误,在移动记录指针时测试记录集的BOF

和EOF属性。如果单击“上一个”和“下一个”命令按钮将导致记录指针指向空指针,则分别调用

Movefirst和Movelast方法,这是防止“NO Current Record”错误出现的最简单和最有效的方法。与此同

时,如果记录集的BOF属性为True,则置“上一个”命令按钮为非激活状态,是用户无法再单击该按钮。同

样,当记录集的BOF属性为True时,置“下一个”命令按钮为非激活状态。 其主要程序如下:

Private Sub Command1_Click()

xg = False

Data1.Recordset.MovePrevious

'如果是第一个记录,BOF属性为TRUE

If Data1.Recordset.BOF Then

Data1.Recordset.MoveFirst

Command1.Enabled = False

Else

Command2.Enabled = True

Command1.Enabled = True

End If

End Sub

Private Sub Command2_Click()

xg = False

Data1.Recordset.MovePrevious

'如果当前记录是记录集中最后一个记录,EOF属性为TRUE

If Data1.Recordset.BOF Then

Data1.Recordset.MoveLast

Command2.Enabled = False

Else

Command2.Enabled = True

Command1.Enabled = True

End If

End Sub

Ø 用Updata方法确认增加和修改

当用户修改和增加完一个记录的数据后,需要将数据保存到数据库中。可以通过调用记录集的Updata方法

仓库管理信息系统

把数据保存到数据库中。单击“确定”按钮时,记录将被记如数据库。 其主要程序如下:

Private Sub Command3_Click()

On Error GoTo error1

xg = True

Data1.Recordset.Update

Command3.Enabled = False

Command4.Enabled = False

Command2.Enabled = True

Command1.Enabled = True

Command4.Enabled = True

Command5.Enabled = True

Command6.Enabled = True

Command7.Enabled = True

Command8.Enabled = True

Exit Sub

error1: MsgBox Err.Description, vbOKOnly, "错误提示"

End Sub

Ø 用CancelUpdata方法放弃增加和修改

如果用户修改了约束控件里的数据后,在没有单击“确定”命令按钮之前,想放弃刚才的增加或修改,则

可以单击“取消”命令。

由于其程序与Updata方法相似,因此不做重复解释。

Ø 定义Data_Validata事件过程

对于一个新记录或编辑的记录,如果不能维护引用完整性或不能反映该旧路的实体原型,那么它就是无效

的,并且破坏了数据库的完整性。为了在“入库情况”表中建立一个有效的记录,就必须要有主关键字段

“型号”的值。因此,对已经存在和新增加的旧路都要先测试其“型号”字段之后才可以执行更新操作。

其主要程序如下:

'当约束控件中内容改变时

If Text2.DataChanged Then

Save = True

If Data1.Recordset.RecordCount > 1 Then

Command1.Enabled = True

Command2.Enabled = True

End If

Else

If Text2.Text = "" And xg = True Then

仓库管理信息系统

ss = MsgBox("必须要有‘型号’!", vbOKOnly + vbInformation, "提示") Action = False

Command3.Visible = True

Command4.Visible = True

Command1.Visible = True

Command2.Visible = True

Command7.Visible = True

Command8.Visible = True

Command5.Visible = True

Command6.Visible = True

End If

End If

If Action = data_actionunload Or Action = data_actionclose Then Save = True

End If

End Sub

2.3出库界面

当单击“出库”按钮的时候,系统将进入出库信息输入界面,如(图2.3.1)所示,其基本情况与入库相

类似,依次不做具体介绍。

图2.3.1

2.4查询界面

l 当用户单击“查询”按钮时,系统将出现密码登陆框,因为查询的是内部资料,因此,需身份验证,如

图2.4.1

图2.4.1

l 随后将进入查询功能,如图2.4.2

图2.4.2

l 用户可根据不同需要进行“按型号”和“按单位”的查询。

Ø 单击“按型号”,系统将进入以型号为关键字段的查询,如图2.4.3。其中根据SQL语句的查询,选出出

库型号与入库型号相同的记录,统计出入库与出库的总数量,然后可按“上一个”和“下一个”进行查询

,也可按出库与入库分别查询记录。

图2.4.3

Ø 当用户单击“查询出库”按钮是,系统进入界面,如图2.4.4

图2.4.4

仓库管理信息系统

l 图2.4.4窗体及其上面控件的属性设置

控件类型 控件名 主要属性

Form frmdblist Caption=“查询出库”

Data Data1 DatabaseName=“a:\db2.mdb”RecordsetType=1RecordSource=“出库型号”

Frame Frame1 Caption=“具体情况”

Lable Lable1 Cqption=“产品名称”

Lable2 Cqption=“单价”

Lable3 Cqption=“发票编号”

Lable4 Cqption=“顾客名称”

Lable5 Cqption=“结帐情况”

Text Text1 Datafield=“具体情况”Datasource=“Data1”

Text2 Datafield=“具体情况”Datasource=“Data1”

Text3 Datafield=“具体情况”Datasource=“Data1”

Text4 Datafield=“具体情况”Datasource=“Data1”

Text5 Datafield=“具体情况”Datasource=“Data1”

DBlist Dblist1 Listfield=“型号”Rowsource=“Data1”

表2.4.1

Ø 单击Dblist框中的型号,Frame中将自动显示记录,以供用户查询。 l 当用户单击“查询入库”按钮时,将出现图2.4.5的界面。

图2.4.5

l 再回到查询界面,单击“按单位”按钮,此时系统将进入按单位查询的截面,如图2.4.6

图2.4.6

Ø 分别按“顾客”和“供应商”按钮,系统将分别进入不同的查询界面,如图

2.4.7和图2.4.8

由于以下两个窗口的属性以及其设计方法类似与图4.3,因此也不做详细介绍。 图2.4.7

图2.4.8

2.5退出程序

l 再回到登陆主窗口,(图2.1.3),单击“退出”按钮,系统将退出程序,显示以下窗口(图2.5.1),

单击图中的“再见”,此程序也将结束。

图2.5.1

第三章 系统运行与调试

测试本身的目的是尽可能地暴露程序中的错误,因此在编译完成后,我也尝试用现实数据来进行正确的调

试。在从中曾出现过以下几个具体问题:

1. MSDN不存在

2. 524数据转换错误

仓库管理信息系统

3. 当单击“上一个”和“下一个”按钮时会出现数据不存在而退出程序

4. DBLIST控件不能正确引入数据

当出现以上问题是,经过严密与反复的调试同样用了一些方法来解决

1. 改变数据原来的设计方法,改用文本型的数据为多

2. 仔细表明正确的日期输入法

3. 当进行数据更新时,没有确定或取消,系统将提示以下对话框,如图3.1 图3.1

4.当主要关键字段“型号”没有输入时,系统也将提示以下对话框,如图

3.2

图3.2

5.当用户要删除记录时,为了保证不误操作,系统也将提出一个对话框,如图3.3

图3.3

6.为了便有运行,还将程序打包,进行安装,在打包过程中,也出现以下对话框,如图3.4

图3.4

第四章 思想小结

在短短的两个月内,通过参考各种VB编程书籍、网上查找信息以及老师的耐心知道下,完成了这次毕业设

计——浙江佳雪仓库管理系统。

起初,我看了许多书籍,对该公司的要求也只是初步了解,因此在分析软件需求中碰到了一些麻烦,但通

过赵敏媛老师的正确引导下,把系统分析了比较透彻了。在编译过程中,最让我印象深刻的是用DATA控件

访问数据,由于DATA控件的局限性,因此在查询时,碰到了一些不能查询数据的麻烦,但VB6.0中有新增

的DBLIST功能,可以直接通过此控件来访问数据库,当我找到此方法时,那么所完成的查询就更为完善了

这次毕业实际不尽使我了解了VB在数据库方面编程的概要,更让我知道了计算机的变成秘诀在于严密的思

考与仔细的推敲,只有这样,才会有一个完善的软件生成。当然这次的管理系统也一定存在着许多不足之

处,但可以适合与如佳雪公司这样的小型销售型公司,但为将来的升级提供了更多的方便的途径。

仓库管理信息系统

完成这次设计,心理非常高兴,也有一点成就感,因为这是我独立完成的第一个软件,我相信它将在今后

的工作生活中为我带来不小的影响。

最后,我还要感谢多方面的支持以及帮助过我的人,尤其是我的指导老师,她仔细认真的态度,对我的帮

助是非常大的,使得我更完善地完成了次管理系统。

ASP仓库管理系统

本文来自: 凹丫丫() 详细出处参考:/Article/info_834.html

1. 系统功能设定模块 仓库管理系统

自定义整个系统的管理规则,包括定义管理员及其操作口令的功能;

2. 基本资料维护模块 仓库管理系统

对每批产品生成唯一的基本条码序列号标签,用户可以根据自己的需要定义序列号,每种型号的产品都有固定的编码规则,在数据库中可以对产品进行添加、删除和编辑等操作;

3. 采购管理模块 仓库管理系统

采购定单:当需要采购的时候,可以填写采购定单,此时并不影响库存;

采购收货:当采购定单被批准,完成采购后到货的时候,首先给货物帖上条形码序列号标签,然后在采购收货单上扫描此条形码,保存之后,库存自动增加。 仓库管理系统

其他入库:包括借出货物归还、退货等只需要填写采购收货单;

4. 仓库管理模块 仓库管理系统

产品入库:采购入库或者其他入库,自动生成入库单号,货品及可选择方便快捷,可以区分正常入库、退货入库等不同的入库方式。

产品出库:销售出库或者其他出库,可以自动生成出库单号,可以区分正常出库、赠品出库等不同的出库方式;

库存管理:不需要手工管理,当入库和出库时,系统自动生成每类产品的库存数量,查询方便;

特殊品库:当客户需要区分产品时,可以建立虚拟的仓库管理需要区分的产品,各功能和正常品库一致。 调拨管理:针对不同的库之间需要调拨,可以自动生成调拨单号,支持货品在不同的仓库中任意调拨。 盘点管理:用户随时可以盘点仓库,自动生成盘点单据,使盘点工作方便快捷。

库存上限报警:当库存数量不满足一个量的时候,系统报警。

5. 销售管理模块 仓库管理系统

销售定单:当销售出库的时候,首先填写销售出库单,此时不影响库存;

销售定单:当销售出库的时候,将销售出库产品序列号扫描至该出库单上,保存之后,库存报表自动减少该类产品。

6. 报表生成模块 仓库管理系统

月末,季度末以及年末销售报表、采购报表以及盘点报表的自动生成功能,用户自定义需要统计的报表;

7. 查询功能 仓库管理系统

采购单查询,销售单查询,单个产品查询,库存查询等(用户定义)。

查询都是按照某个条件:条形码序列号、出库日期、出库客户等来查询。

包含资料:源程序+论文(15000字以上)+可执行程序+答辩稿ppt+开题报告+外文翻译

本文来自: 凹丫丫() 详细出处参考:/Article/info_834.html

本文来源:https://www.bwwdw.com/article/sh6e.html

Top