河南科技大学软件工程课程设计报告正文部分.docx

上传人:b****6 文档编号:13328594 上传时间:2023-06-13 格式:DOCX 页数:25 大小:139.12KB
下载 相关 举报
河南科技大学软件工程课程设计报告正文部分.docx_第1页
第1页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第2页
第2页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第3页
第3页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第4页
第4页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第5页
第5页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第6页
第6页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第7页
第7页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第8页
第8页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第9页
第9页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第10页
第10页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第11页
第11页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第12页
第12页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第13页
第13页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第14页
第14页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第15页
第15页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第16页
第16页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第17页
第17页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第18页
第18页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第19页
第19页 / 共25页
河南科技大学软件工程课程设计报告正文部分.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

河南科技大学软件工程课程设计报告正文部分.docx

《河南科技大学软件工程课程设计报告正文部分.docx》由会员分享,可在线阅读,更多相关《河南科技大学软件工程课程设计报告正文部分.docx(25页珍藏版)》请在冰点文库上搜索。

河南科技大学软件工程课程设计报告正文部分.docx

河南科技大学软件工程课程设计报告正文部分

目录

第1章问题背景和问题的定义3

§1.1问题背景3

§1.2BOM定义3

§1.3BOM用途说明:

4

§1.4ERP中BOM的构造问题:

4

第2章需求分析6

§2.1系统概述6

§2.2总体描述6

§2.2.1关联图6

§2.3用户类和用户特性7

§2.4运行环境7

§2.5设计和实现的约束条件7

§2.6用户文档7

§2.7假设和依赖7

§2.8系统特性(功能)7

§2.9外部接口需求8

§2.10安全性9

§2.11分析模型9

§2.12关键用例模型11

第3章系统设计12

§3.1软件体系结构设计12

§3.2接基于ER图的数据库设计12

§3.3过程设计13

第4章系统实现15

§4.1编码规范化15

§4.1.1标识符15

§4.1.2注释15

§4.1.3视觉组织16

§4.2再结构化17

第5章系统测试18

§5.1用于代码检查的缺陷列表18

§5.2对程序模块进行单元测试分析19

§5.3测试用例请求文档21

§5.4黑盒测试22

结论24

参考文献25

第1章问题背景和问题的定义

 

§1.1问题背景 

物料清单是企业所有核心业务都要用到的共享管理文件,它对任何业务都是很重要的,不是某一业务所独占的文件。

使用物料清单最频繁的是计划部门,计划的有效性受物料清单的影响也最大。

物料清单的作用可以分以下几方面来谈。

1.用报表表达时间坐标上的产品结构。

2.联系与沟通企业各项核心业务的纽带。

采用计算机辅助企业生产管理,首先要使计算机能够读出企业所制造的产品构成和所有要涉及的物料,为了便于计算机识别,必须把用图示表达的产品结构转化成某种数据格式,这种以数据格式来描述产品结构的文件就是物料清单,即是BOM。

它是定义产品结构的技术文件,因此,它又称为产品结构表或产品结构树。

在某些工业领域,可能称为“配方”、“要素表”或其它名称。

在MRPⅡ和ERP系统中,物料一词有着广泛的含义,它是所有产品,半成品,在制品,原材料,配套件,协作件,易耗品等等与生产有关的物料的统称。

在通常的MRPⅡ和ERP系统中BOM是指由双亲件及子件所组成的关系树。

BOM可以是自顶向下分解的形式或是以自底向上跟踪的形式提供信息。

在MRPⅡ和ERP系统中中BOM是一种数据之间的组织关系,利用这些数据之间层次关系可以作为很多功能模块设计的基础,这些数据的某些表现形式是我们大家感到熟悉的汇总报表。

§1.2BOM定义

(1)狭义的BOM

狭义上的BOM(BillofMaterials)通常称为“物料清单”,就是产品结构(ProductStructure)。

仅仅表述的是对物料物理结构按照一定的划分规则进行简单的分解,描述了物料的物理组成。

一般按照功能进行层次的划分和描述。

广义的BOM=产品结构+工艺流程

(2)广义的BOM

广义上的BOM是产品结构和工艺流程的结合体,二者不可分割。

离开工艺流程谈产品结构,没有现实意义。

要客观科学的通过BOM来描述某一制造业产品,必须从制造工艺入手,才能准确描述和体现产品的结构。

二者结合的方法:

首先确定产品的工艺流程,然后描述每个工序(工艺流程的组成部分)上所使用的物料;由于生产组织方式的不同,各子物料有相应的生产子工艺流程,同样每个工序上存在物料的使用,这样就根据生产组织方式决定了BOM的层次。

(3)扩展的BOM

扩展的BOM在传统意义上的BOM上更加深入地体现“资源”的意义,已经变成BillofManufacturing,不仅仅包含工艺流程和产品结构,更多的是加入了对设备、人工和资金信息的集成和体现。

扩展的BOM公式:

BOM(BillofManufacturing)=工艺流程(Routing)+产品结构(ProductStructure)+资源(设备,人工,资金等)

BOM定义BOM于制造业实务呈现方式。

包括:

(1)产品图纸

(2)产品成本表

(3)材料用量列表

§1.3BOM用途说明:

1.了解产品之用料结构,便于生产工艺管理及物料管理,降低制造成本。

2.正确记录用料结构,避免采购遗漏造成停工待料等异常状况发生。

3.可用于批次领料,提高领料单单据输入效率。

4.用于产品毛需求计算、批次请购、提高请购单单据输入效率。

5.便于迅速正确进行产品标准成本计算,加强标准成本之管理及减低成本人员计算之负荷。

6.构建可供选配的产品库,加快产品选配。

§1.4ERP中BOM的构造问题:

前面已经提到,BOM是系统中最重要的基础数据库,它几乎与企业中的所有职能部门都有关系,ERP系统中BOM构造的好坏,直接影响到系统的处理性能和使用效果。

因此,根据实际环境,,灵活地构造BOM是十分关键的。

就一般情况而言,构造BOM应注意以下方面。

1、在BOM中,每一个项目(零件)必须有一个唯一的编码。

对于同一个项目,不管它出现在哪些产品中,都必须具有相同的编码。

对于相似的项目,不管它们的差别有多么小,也必须使用不同的编码。

2、为了管理上的方便,有时可以将同一零件的不同状态视为几个不同的项目,构造在产品的BOM中。

3、BOM中的零件,部件的层次关系一定要反映实际装配过程,在实际装配中,有时不一定把某些零件装配成某个有名称的组件,或者由于工艺上的考虑需要将某些零件归在一起加工(例如箱子与箱盖)。

形成临时组件,但这些组件在产品的零件明细表和装配图上并没有反映出来,但必须在计划管理中反映出来,这就需要在BOM中设置一种物理上并不存在的项目,通常称为”虚单”或”虚拟件”,其目的是简化MRP的编程过程和减少零件之间的影响。

4、根据生产实际情况,有时为了强化某些工装,模具的准备工作,还可以将这些工具构造在BOM中。

这样就可以将一些重要的生产准备工作纳入计划中。

有时为了控制某个重要的零件在加工过程中的某些重要环节,比如,进行质量检测等,还可将同一个零件的不同加工状态视为不同的零件,构造在BOM中。

5、为了满足不同部门获取零件的不同信息,可以灵活地设计BOM中每个项目的属性。

例如,计划方面的,成本方面,库存方面,订单方面。

 

第2章需求分析

 

§2.1系统概述

产品结构子系统,目标系统具有如下的特性:

FE-1:

一个品名对应一个元件品号

FE-2:

输入Bom,导入数据库,生产Bom清单

FE-3:

查看仓库源信息

FE-4:

增加元件库源记录,录入元件信息

FE-5:

录入产品工艺路线之前,需录入每道工艺信

§2.2总体描述

§2.2.1关联图

下图2-1演示了系统的外部实体和系统接口。

图2-1“产品结构子系统”关联图

§2.3用户类和用户特性

用户类

描述

操作员(优先考虑)

操作员可操作产品结构实现各功能

分管经理

对操作员录入的BOM进行审批

§2.4运行环境

OE-1:

“产品结构子系统”的操作将通过产品结构子系统软件来完成。

OE-2:

装有windows操作系统的电脑。

OE-3:

access数据库。

§2.5设计和实现的约束条件

CO-1:

系统的设计、编码和文虎文档将遵照(ProcessImpact公司内联网开发标准)版本1.3【2】。

CO-2:

系统将采用Access数据库。

CO-3:

编程软件为VC++6.0。

CO-4:

所有脚本都用C++语言来编写。

§2.6用户文档

UD-1:

系统将提供一个分层和跨链接的HTML联机帮助系统,他描述并演示了所有系统功能。

UD-2:

如果是一个新用户第一次使用该系统,系统可以根据用户的要求,提供一个联机教程,这样用户可以使用静态教程菜单来具体实践一下如何操作。

系统不会将采用这一模板的BOM信息存储到数据库中。

§2.7假设和依赖

DE-1:

仓库源中产品号唯一

DE-2:

仓库源满足Bom中所需产品

§2.8系统特性(功能)

   录入bom中的各产品和数量,数量默认为1,然后查看bom信息生成bom清单

§2.9外部接口需求

§2.9.1用户界面

录入bom主界面

查看仓库存储

BOM显示

§2.9.2硬件接口

硬件接口未确定。

§2.9.3软件接口

SI-1:

产品结构系统

ST-1.1:

录入Bom,产品名需已经纯在仓库源中

ST-1.2:

仓库源中元件品的数量为0时删除记录

ST-1.3:

向仓库输入记录时,若产品名已存在则输入失败5.其它非功能性需求

§2.10安全性

SE-1:

所有涉及功能信息或个人身份信息的网络事物,都要按照BR-33进行加密操作。

SE-2:

遵守数据库参照完整性,实体完整性。

§2.11分析模型

§2.11.1数据模型

此处展示了“产品结构子系统”的部分数据模型,数据字典中描述的实体及它们之间的关系

(1)实体关系模型

“产品结构子系统”部分数据模型

§2.11.2.功能模型(数据流图)

§2.11.3行为模型

状态图(一个关键业务的状态描述),下图状态转换图,展示了可能的订单状态和允许的状态变更

订单状态的状态转换图

§2.11.4.数据字典

元件品号=用数字对元件进行唯一标识

元件品名=用ascII码

成本=以人民币为单位

损耗率=整数表示,隐含百分号

单位=表示元件有多少个(只,盒)

工艺路线=子产品经过特定工艺生成母产品

失效日期=当前日期大于失效日期,元件失效

§2.12关键用例模型

用例编号:

CP-1

用例名称:

BOM

简述/背景:

产品结构子系统

主参与者及利益:

获得权限的员工,分管经理

基本流:

1.获得权限的员工录入品名及数量。

2.获得权限的员工点击录入BOM。

3.系统显示录入的结果。

4.获得权限的员工点击查看仓库存储。

5.系统显示库源报表。

扩展流:

La:

录入多个BOMLa1:

对库源报表内容进行增删改。

La2:

返回到第2步

第3章系统设计

§3.1软件体系结构设计

§3.2接基于ER图的数据库设计

ER图如下

用户的需求具体体现在各种信息的提供、保存、删除和查询,这就要求数据库结构能够满足各种信息的输入和输出。

收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典。

数据库逻辑设计就是将E—R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。

转换过程中常见规则有:

(1)一个实体型转换为一个关系模式;

(2)一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;

(3)一个一对多的联系可以转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;

(4)一个多对多的关系转换成一个关系模式。

根据以上四条规则,下面将E—R图转换成关系模型,给出数据库中各表结构的定义(字段,数据类型);

仓库源bom(元件品号,品名,数量,成本,价格,有效日期,失效日期,工艺路线)

Bom清单(品名,数量)

学生表:

列名

数据类型[长度]

允许空

约束

元件品号

Char[10]

主键

品名

Char[10]

数量

Char[10]

成本

Int[4]

价格

Char[10]

有效日期

Char[10]

失效日期

Char[10]

工艺路线

Char[10]

课程表:

列名

数据类型[长度]

允许空

约束

品名

Char[10]

主键

数量

Varchar[20]

§3.3过程设计

PAD图如下

 

第4章系统实现

 

§4.1编码规范化

对实现要不断地结构化,抽象和分块

§4.1.1标识符

(1)常量

全大写,分隔符,类属前缀如WM_ERROR_。

对于底层硬件的错误可以用

常量整数来表示,但是面向对象开发则是用类表示的。

(2)变量

首字母小写,不要加分隔符,如简单类型:

加b前缀(Boolean类型变量),加i整型(int类型变量)

(3)函数

首字母小写,表示充分的含义,表示出段落处理的逻辑,函数是用来做什么的,依据什么,条件是什么。

同时建议不使用分隔符。

如表示动作和加工:

get/set属性对。

(4)控件

加控件前缀,录入信息。

如txtStudentName,cmbProvince

(5)全局量

加GLOBAL_前缀,如数据库连接GLOBAL_connect

(6)枚举

前有前缀,而其元素全大写,单词之间下划线分隔。

§4.1.2注释

行注释

用//,//与语句同行

函数注释

函数注释采用/**……*/,在每个函数的前面要有必要的注释信息,包括:

函数名称;功能

描述;输入、输出及返回值说明;调用关系及被调用关系说明等。

/**

*函数名:

*功能描述:

*输入参数:

<按照参数定义顺序><@param后面空格后跟着参数的变量名字(不是类型),空格后跟着对该参数的描述。

>

*返回值:

-类型<说明><返回为空(void)的构造函数或者函数,@return可以省略;如果返回值就是输入参数,必须用与输入参数的@param相同的描述信息;必要的时候注明特殊条件写的返回值。

>

*异常:

<按照异常名字的字母顺序>

*创建人:

*日期:

*/

模块(类)注释

模块(类)注释采用/**……*/,在每个模块的头部要有必要的注释信息,包括:

工程名;版本号;作者;创建时间;模块功能描述

/**

*版本号:

*模块的描述:

*项目工程名:

*模块的作者:

*领域:

*创建日期:

*/

§4.1.3视觉组织

缩进、函数内的代码的分块(变量声明,主体部分,开始初始化,结尾回收,分成几个段落),函数内的模块化,单一入口和出口,上下块之间仍然遵循结构化的规则

例如:

//程序的一开始先检查所有的precondition,前置条件是否满足,否则不予执行。

if(false{

returnNULL;

}

//主体部分

//恢复现场

//回收内存

//关闭资源

§4.2再结构化

高层设计人员给出的软件结构不可能那么细致,需要程序实现人员再次向下分块

和结构化。

函数的调用的第一个层次利用一目了然的函数调用体现处理的逻辑,如:

一个数据库的事务处理,用函数的形式表达第一层次的处理逻辑

generateGlobalConnection();

opeanTransaction();

saveTransRec();

transferAccount();

commitTransaction();

再如:

界面编程的时候,事件处理的再结构化,窗体启动的时候,要做很多的

初始化工作

form_load(){

init();

}

privatevoidinit(){

initState();

createObject();

}

 

第5章系统测试

 

§5.1用于代码检查的缺陷列表

S1级 :

发现影响被测系统正确运行的严重问题:

 

——导致系统崩溃; 

——主业务流程出现断点;

 ——内存泄漏。

 

——出现不可挽救的数据丢失或损坏; 

——导致死机;  

S2级:

发现影响被测模块正确运行的严重问题:

 

——导致程序模块丢失或未实现;

 ——被测数据处理错误; 

——软件错误导致数据丢失;

 ——用户需求未实现。

S3级:

发现影响被测功能正确实现的问题。

 S4级:

一般性的错误或功能实现有不完善处。

S5级:

建议性问题。

 ——名词拼写错误

 ——界面布局或色彩问题

 ——文档的可阅读性

缺陷标识

缺陷类型

缺陷位置

缺陷描述

缺陷优先级

缺陷严重程度

提交人

提交日期

修复人

缺陷状态

00001

一般性错误

Shurushuling.cpp

数量不能为零

S4

一般

2014-6-25

已修复

00002

页面布局

界面

按钮位置未对齐

S5

轻微

2014-6-25

已修复

00003

用户需求未实现

Cangku.cpp

函数未定义

S2

较严重

2014-6-25

已修复

00004

名词拼写错误

ABOUT对话框

内容错误

S5

较严重

2014-6-25

已修复

 

§5.2对程序模块进行单元测试分析

模块

测试项目检查结果分析解决方案

模块接口测试

 

参数表正确无无

全局变量正确无无

文件正确无无

局部数据结构设计

 

类型是否一致是无无

变量未说明无无无

变量未初始化无无无

是否错误地初始否无无

化值和默认值

是否有错误的变量否无无

上溢下溢地址异常无无无

独立路径测试

 

应为计算错误,

比较不正确,控制无无无

流不适当而造成的

错误

出错处理测试

 

错误信息是否难以否无无

理解

出错信息是否否无无

难以定位

出错信息是否与实是无无

际相符

对异常处理是否适是无无

在错误处理前系统否无无

是否已经开始干预

边界条件

 

实际数值是否与期是无无

望一致

实际数值有/无序有序无无

实际数值是否在规是无无

定范围内

是否引用不可用资否无无

实际数值是否非零是无无

,非NULL,在一个

集合中

是否恰好有足够的是无无

所有事情的发生是是无无

否有序,是否是在正

确的时刻,是否恰好

和及时

§5.3测试用例请求文档

实段名称

描述

标识符

1110

测试项

产品结构树的建立

测试环境要求

VC++6.0,MicrosoftAccess2010

输入数据

品名,数量

输出数据

将品名,数量暂存到内存中

测试用例之间关联

1101BOM录入

 

实段名称

描述

标识符

1101

测试项

BOM录入

测试环境要求

VC++6.0,MicrosoftAccess2010

输入数据

内存中的品名,数量

输出数据

将品名,数量记录到数据库中

测试用例之间关联

1110产品结构树的建立

 

实段名称

描述

标识符

1111

测试项

查询库源

测试环境要求

VC++6.0,MicrosoftAccess2010

输入数据

数据库查询指令

输出数据

所有库源情况

测试用例之间关联

1011增加新的库源记录

实段名称

描述

标识符

1011

测试项

增加新的库源记录

测试环境要求

VC++6.0,MicrosoftAccess2010

输入数据

一条记录的各项数据

输出数据

将输入的数据存储到数据库中

测试用例之间关联

1111查询库源

§5.4黑盒测试

§5.4.1划分等价类

输入条件

有效等价类

无效等价类

元件品号(长整型数字)

[02,147,483,647,]

<0/>2,147,483,647

数量

[1,2,147,483,647]

<1/>2,147,483,647

元件数量

同上

同上

有效日期

XXXX-XX-XX,年份小于2100,月份[1,12],日期[1,31]

其他不同的

失效日期

同上,且失效日期必须大于有效日期

同上

§5.4.2边界测试

测试目的

测试数据

元件品号元件数量

品号与其数量到达最小边界

01

品号与其数量到达最大边界

2,147,483,6472,147,483,647

品号超出最小边界

-11

数量超出最小边界

00

品号超出最大边界

2,147,483,6481

数量超出最大边界

02,147,483,648

测试目的

测试数据

数量

数量到达最小边界

1

数量到达最大边界

2,147,483,647

数量超出最小边界

0

数量超出最大边界

2,147,483,648

测试目的

测试数据

有效日期失效日期

有效日期与失效日期到达最小边界

2010-01-012010-01-01

有效日期与失效日期到达最大边界

2100-12-312100-12-31

有效日期超出最小边界

2009-12-312010-01-01

失效日期超出最小边界

2010-01-012009-12-31

有效日期超出最大边界

2101-01-012010-01-01

失效日期超出最大边界

2010-01-012101-01-01

 

结论

BOM是PDM/MRPⅡ/ERP信息化系统中最重要的基础数据,其组织格式设计和合理与否直接影响到系统的处理性能,因此,根据实际的使用环境,灵活地设计合理且有效的BOM是十分重要的。

BOM不仅是MRPⅡ系统中重要的输入数据,而且是财务部门核算成本,制造部门组织生产等的重要依据,因此,BOM的影响面最大,对它的准确性要求也最高。

正确地使用与维护BOM是管理系统运行期间十分重要的工作。

此外,BOM还是CIMS/MIS/MRPⅡ/ERP与CAD,CAPP等子系统的重要接口,是系统集成的关键之处,因此,用计算机实现BOM管理时,应充分考虑它于其他子系统的信息交换问题。

BOM信息在MRPⅡ/ERP系统中被用于MRP计算,成本计算,库存管理。

BOM有各种形式,这些形式取决于它的用途,BOM的具体用途有:

1、是计算机识别物料的基础依据。

2、是编制计划的依据。

3、是配套和领料的依据。

4、根据它进行加工过程的跟踪。

5、是采购和外协的依据。

6、根据它进行成本的计算。

7、可以作为报价参考。

8、进行物料追溯。

9、使设计系列化,标准化,通用化。

经过两个星期的努力,本组设计和完成的产品结构子系统中的部分模块,能为一个中小型规模的企业提供基本的业务支持.在开发的过程中由于缺乏必要的系统分析与总体设计导致在后来的开发阶段问题多多,而且由于数据库的逻辑结构设计的有些错误,字段的属性设置不合理,导致在对数据库的操作实现上漏洞百出。

因此,在以后的做数据库相关的工程类型的实验时要对以上的不足加以警惕,争取开发出来一个实用性强的更加完善的系统。

通过本次的实验,对软件工程有了更具体的认识,这也是这次最大的收获。

参考文献

[1]5.郑秋生.c/c++程序设计教程.北京:

电子工业出版社,2008.2

[2]张茹.数字版权管理.北京:

北京邮电大学出版社,2008

[3]谭浩强.C程序设计.北京:

清华大学出版

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2