软件工程专业毕业设计指导规范(面向对象)

更新时间:2024-04-19 03:08:01 阅读量: 综合文库 文档下载

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

毕业设计(论文)指导规范

——面向对象部分

(适用于软件工程相关专业)

辽宁工程技术大学软件学院

2009年3月

引 言

编写本书的主要目的为正确引导学生用科学、正确、规范的方式编写毕业论文,并为以后从事软件工程项目的开发打下良好的基础。 为引导同学们正确使用本指导书,做如下说明: 1.本书是按照软件工程及科研项目的要求进行编写。

2.本规范的适用范围仅为基于企业管理信息系统的应用软件开发方向,网站制作、网络规划与集成、监测监控方向、嵌入式技术、基于计算机外围设备的软件编程等方向的论文指导规范可参考此规范的部分章节,但是,内容、步骤等可以不同。

3.本书所提供的样例部分仅为了说明问题而引用,仅供学生参考,万勿照搬。 4.有些内容,设计中可能没有涉及到,可简单交待或适当取舍。

5.本指导书的制定依据《企业管理信息系统开发规范》、《国家经济信息系统设计与应用标准规范》、《计算机软件产品开发规范》(1999)等资料。 6.样例部分内容如果不特殊说明,全部来自于《葫芦岛自来水公司用水管理信息系统设计方案》、《阜新北星高压泵有限公司“北鑫星”ERP系统设计方案》及《火电工程质量检验评定系统技术报告》。

7.本规范考虑到学生的调研情况等因素,可能没有实际的可行性分析的过程及项目,故《可行性分析》一章略过,学生写论文时,这一章亦可不写。 8.本规范由邱云飞老师、张宇老师、曲海成、刘玲玲老师编写,刘万军教授审核了全部内容,王永贵副教授等提出了修改意见。鉴于时间仓促,书中肯定存在缺陷和不足之处,希望各位老师、同学给予批评指正。

编者

2009年4月

I

软件工程专业毕业论文指导规范 1 项目概述

1.1 现系统概述

阜新北星高压泵有限公司(原阜新北鑫星液压有限公司),是以东北老工业基地和具有悠久历史的液压行业为依托,在市场经济条件下兴起的现代化股份制明星企业。公司座落于辽宁省阜新市重点开发的高新技术产业园区,占地面积三万多平方米。拥有一大批精干的具有丰富理论和实践经验的科技人才,产品加工制造采用进口的加工中心和高精密的数控机床,目前是阜新规模最大的高压齿轮油泵专业生产企业。其主导产品为CBTx、CBFx、CBP、P5100系列举升泵。P7600、CBG、CBP、CBF-E、CBF-F、CBZ、CMZ、CMS系列工程机械用泵及马达。广泛应用于工程机械、运输车辆、船舶、农机、煤炭、石化、机床、冶金、矿山、环保、勘探等领域。同时还可根据用户的要求,提供特殊规格的齿轮油泵和齿轮马达,各种进口工程机械用齿轮泵的设计、制造及维修。

针对目前工程机械市场所面临的恶劣环境,做为主要动力源的液压齿轮泵正经受着严峻考验。多年来公司注重新产品的研制开发和科技项目攻关,目前已有十一项技术荣获国家新型产品专利。其中超高压力齿轮泵已处于国际领先水平,非常适用超负荷自卸车的液压系统中。应用在重载自卸车的举升泵,被广大用户称为“泵王”,产品受到众多配套厂家的青睐。

为进一步提升企业的市场竞争力,优化资源配置,引入先进的管理思想和服务理念,规范企业生产经营流程,提高企业知名度,公司决定上一套ERP管理系统,以便于进一步加快企业信息化建设的步伐。

1.2公司组织机构

目前公司组织机构如下图1-1所示:

公司实行董事长监管下的总经理负责制,总经理和办公室负责协调生产部门、销售部门、技术部门、质量部门、人事部门和财务部门之间相互合作。整个ERP系统将上述部门连接成一体,共同协作完成整个公司的产品从进料到生产、到销售,最后和财务挂接整个过程。系统实施由总经理牵头,各部门主管领导负责,部门业务员配合系统研发人员来完成。

1

软件工程专业毕业论文指导规范 葫芦岛市自来水公司 财务科 人事科 办公室 营业科 工会 工程公司 技术科 渤海收费所 连山收费所 新区收费所 工业收费所 饮服收费所 计算中心 图1-1 公司组织机构图

Fig 1-1 Diagram of the Company's Organizational Structure

1.3 系统业务流程

经过前期调研分析和综合其它各方面相关理论知识,给出整个ERP系统的业务流程图如下图1-2所示:

整个ERP系统的开发主要围绕上述业务流程进行开发,开发过程采用面向对象的开发技术,具体开发过程见下面的章节。

1.4 系统功能模块

根据上述业务流程,整个ERP系统抽象出以下几个功能模块,如图1-3所示。

下面模块划分只是抽象意义上的划分,各模块之间需要共享数据,相互协作,完成整个系统流程,单一事物功能模块间是相互独立的。

2

软件工程专业毕业论文指导规范

图1-2 ERP系统流程

Fig 1-2 the Workflow of ERP System

系统管理模块工程管理模块采购管理模块销售管理模块北鑫星ERP系统库存管理模块生产管理模块能力计划模块工艺管理模块人事管理模块财务管理模块

图1-3 系统功能模块

Fig 1-3 Function Models of System

3

软件工程专业毕业论文指导规范 2 系统需求分析

2.1 需求陈述

通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈述应该阐明“做什么”而不是“怎样做”。它应该描述用户的需求而不是提出解决问题的方法。应该指出哪些是系统必要的性质,哪些是任选的性质。应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,因为这样做将限制实现的灵活性。对系统性能及系统与外界环境交互协议的描述,是合适的需求。此外,对采用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求。下面以北鑫星ERP系统中的销售管理模块为例说明如何进行系统需求陈述。

根据调研分析得知,北鑫星ERP系统销售管理模块共需要完成5项中心任务,即:客户管理,订单管理,发货单管理,销售策略管理,销售计划管理和售后服务管理。

每项任务具体描述如下: 1.客户管理

客户管理主要提供客户信息的录入,修改和查询服务,同时为订单管理和售后服务管理提供信息依据。 2.订单管理

根据客户订购的产品生成产品订单合同,在发货之前可以修改订单合同,合同状态为未完成。在发货之后,订单合同完成。该模块需要提供订单的生成,修改和查询,以及订单状态的修改。 3.发货单管理

在收到货款之后,填写发货单,配货。该模块需要提供发货单的生成,修改和查询,以及发货单状态的修改。 4.优惠策略制定

第一种优惠方式是客户如果购买的产品超过一定数量,客户再购买产品的时候,对产品的单价给出一定的优惠;第二种优惠方式是年终对所有客户购买的产品进行统计,如果超过一定数量,将以现金的形式给客户以奖励。

4

软件工程专业毕业论文指导规范 5.销售计划管理

每年根据往年同期制定当前的销售计划。该模块主要提供计划的制定,修改和查询服务。 6.售后服务管理

产品在使用过程中出现问题后,记录产品的相关信息包括使用的客户信息,产品自身信息以及处理方案。

系统任务确定之后,下面的工作就是进行系统分析。

面向对象的分析的主要任务是分析问题领域,找出问题解决方案,发现对象,分析对象的内部构成和外部关系,建立软件系统的对象模型。

分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重要工作。分析问题领域的结果是对问题领域的清晰,精确的定义,明确目标系统将做什么。

分析问题领域的主要任务是:对问题领域进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围,功能需求,性能需求,应用环境及假设条件等。

实施面向对象分析的一般步骤如下:

1.分析用户需求,建立Use Case 并通过用例图来描述用户的需求。 2.通过建立域模型以识别类与对象,从而识别系统中的各种对象。

3.确定对象的内部特征,从而定义出各个属性与服务,以进一步细化类的结构。 4.识别对象之间的关系并使用设计模式对类的结构进行优化和改造。 5.获得对象之间的行为关系,绘制出各种动态图形(顺序图、协作图、状态图等)。

2.2 Use Case建模

2.2.1定义活动者

根据销售管理模块的需求可以确定4个活动者,即销售业务员,企业管理者,生产管理模块和库存管理模块。

销售业务员使用销售管理模块记录客户信息,填写订单合同,填写发货单和记录售后信息,以及查询相应的信息。

企业管理者使用销售管理模块查询订单信息,发货信息和客户信息,制定

5

软件工程专业毕业论文指导规范 销售优惠策略,制订销售计划。

生产管理模块是销售管理模块的外部系统活动者,从销售管理模块获得订单信息和销售计划。

库存管理模块是销售管理模块的外部系统活动者,从销售管理模块获得订单信息和发货信息。

工程管理模块是销售管理模块的外部系统活动者,为销售管理模块提供物料信息

2.2.2 Use Case图

根据系统需求分析,结合上节系统活动者的定义分析,得到系统销售管理模块的六个用例如下: 1.客户管理用例 2.订单管理用例 3.发货单管理用例 4.销售策略管理用例 5.销售计划管理用例 6.售后管理用例

结合活动者和用例得到销售管理模块的用例图如下图3-1所示。

客户管理订单管理生产管理模块销售业务员发货单管理销售策略管理库存管理模块销售计划管理售后管理企业管理者工程管理模块 图2-1销售管理Use Case 图

Fig3-1 Use Case for Sales Management

6

软件工程专业毕业论文指导规范 3 系统架构设计

软件的系统架构是指通过某种特定的技术平台,完成软件系统整体功能的开发过程。也可以通俗地理解为:总体设计和总体结构布局。 一般而言,软件系统架构有两个要素:

1.它是一个软件系统从整体到部分的最高层次的划分。

2.建造一个系统所做出的最高层次的,以后难以更改的,商业和技术的决定。

3.1架构设计目标

软件架构设计要达到如下的目标:

1.可行性(Feasible)。架构具有可行性是架构设计的基石。

2.可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。

3.安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。

4.可定制化(Customizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。

5.可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。

6.可维护性(Maintainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。

7.可升级性(Scalable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。 8.客户体验(Customer Experience)。软件系统必须易于使用。软件的最终用户很可能是不具有计算机专业技术的人员。

3.2 系统架构设计

下面我们将根据架构设计原则和信息系统原理来建立系统的架构设计模型。将信息系统中比较关心的对象分层,可分为三层:用户界面层、业务层、数据访

7

软件工程专业毕业论文指导规范 问层(如下图3-2所示),再把各层中的一些公共部分提出来:权限管理、异常处理,这样得到包图如图3-2-1所示:

用户界面层ASP.NET WEB FormsUser Interface ProcessingBisiness EntitiesBusiness Components业务逻辑层Enterprise ServicesDal Interface数据访问层SQL Server Dal Dal FactorySQL Server DAAB

图3-2 系统体系架构图

Fig3-2 The Diagram of System Architecture

用户界面业务逻辑数据访问权限管理异常处理

图3-2-1 销售管理模块包图

Fig3-2-1 Package Diagram of Sales Management Model

1.用户界面包

用户界面包的职责是:

(1)与用户的交互,接收用户的各种输入以及输出各种提示信息或处理结

8

软件工程专业毕业论文指导规范 果。

(2)对于输入的数据进行数据校验,过滤非法数据。 (3)向业务处理对象发送处理请求。 用户界面包图展开如图3-3所示:

输入,输出数据效验发送业务处理请求用户界面

图3-3 用户界面包展开图

Fig3-3 Package Diagram of Users Interface

用户界面包包含的类见图2-4:

用户界面类#输入输出元素#业务代理对象+数据效验()+业务处理()输入界面输出界面图3-4 用户界面类图

Fig3-4 Class Diagram of Users Interface

2.业务逻辑包

业务逻辑包的职责是:

(1)实现各种业务处理逻辑或处理算法。 (2)验证请求者的权限。

(3)向数据访问对象发送数据持久化操作的请求。 (4)向用户界面层返回处理结果。

业务逻辑包图展开如图3-5所示:

实现各种业务处理逻辑或处理算法。验证请求者的权限。向数据访问对象发送数据持久化操作的请求。向用户界面层返回处理结果。业务逻辑

图3-5 业务逻辑包图展开

Fig3-5 Package Diagram of Business

9

软件工程专业毕业论文指导规范

业务逻辑包包含的类见图3-6:

业务代理类#权限管理对象#业务对象+业务处理()业务逻辑类#数据库连接对象#数据库访问对象+业务处理()

图3-6 业务逻辑类图

Fig3-6 Class Diagram of Business

3.数据访问包

数据访问层的职责是:

(1)实现数据的持久化操作。 (2)实现事务处理。

数据访问包图展开如图2-7所示:

实现数据的持久化操作。实现事务处理。数据访问图3-7 数据访问包图展开

Fig3-7 Package Diagram of Data Access

数据访问包包含的类见图3-8:

数据库访问类#数据库连接对象+读取()+写入()数据库连接类+开始事务()+提交事务()+回滚事务()图3-8数据访问类图

Fig3-8 Class Diagram of Data Access

对于每一个业务处理中需要持久化操作的对象都可以对应为一个数据库访问对象,在很多业务处理中需要请求多个数据库访问对象来进行数据的读写操作,而这些操作又必须在同一个事务中,这时需要用同一个数据库连接对象来进行统一的事务处理。这里的数据库连接类的创建用到了单件(Singleton)模式,保证一个类仅有一个实例,一个客户在同一时刻只能用一个数据库连接对象。 4.权限管理包

权限管理的主要职责是:

(1)验证请求者的请求权限。 (2)提供请求者的权限列表。

权限管理包图展开如图3-9所示:

10

软件工程专业毕业论文指导规范 验证请求者的请求权限提供请求者的权限列表权限管理

图3-9权限管理包图展开

Fig3-9 Package Diagram of Access Authorization

权限管理包包含的类见图3-10:

操作员类权限管理类#操作员对象+验证权限(in 操作员代码, in 权限列表)+获取权限列表(in 操作员代码)-操作员代码-操作员名称-权限列表+登陆()+退出()+是否已构建权限列表()+构建权限列表()

图3-10权限管理类图

Fig3-10 Class Diagram of Access Authorization

5.异常处理包

异常处理的职责:

(1)汇报运行时的详细异常信息。 (2)记录异常处理日志。

异常处理包图展开如图3-11所示:

汇报运行时的详细异常信息记录异常处理日志异常处理 图3-11异常处理包图展开

Fig3-11 Package Diagram of Exception Processing

异常处理包包含的类见图3-12:

异常处理类#异常处理对象异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现

图3-12异常处理类图

Fig3-12 Class Diagram of Exception Processing

因为异常处理类型比较多,如:系统异常、数据库异常、业务逻辑异常等,

11

软件工程专业毕业论文指导规范 针对不同类型的异常处理方式也容易变,如:显示错误,记录文本日志,记录数据库日志等,所以这里使用了桥接(Bridge)模式来实现,使各部分的变化比较独立。

3.3 系统架构类图

将包图展开,得到类图,它是架构的静态结构图,表达了各个类之间的静态联系。北鑫星ERP系统中的销售管理模块系统架构类图如下图3-13所示。

输入界面用户界面类#输入输出元素#业务代理对象+数据效验()+业务处理()输出界面业务代理类#权限管理对象#业务对象+业务处理()业务逻辑类#数据库连接对象#数据库访问对象+业务处理()数据库访问类#数据库连接对象+读取()+写入()权限管理类#操作员对象+验证权限(in 操作员代码, in 权限列表)+获取权限列表(in 操作员代码)数据库连接类+开始事务()+提交事务()+回滚事务()操作员类-操作员代码-操作员名称-权限列表+登陆()+退出()+是否已构建权限列表()+构建权限列表()异常处理类#异常处理对象异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现

图3-13 系统架构类图

Fig3-13 Class Diagram of System Architecture

12

软件工程专业毕业论文指导规范 4 系统详细设计

本部分设计主要涉及软件系统的动态建模和系统类图的详细设计。软件系统的动态模型分为交互模型和活动状态模型,其中的交互模型主要由顺序图和协作图构成,活动状态模型主要包括活动图和状态图。通过为软件系统项目建立动态模型,从而产生体现系统动态行为的可视化分析结果——包括对象的时间特性和对象为完成目标任务而相互进行通信的机制、对象行为的改变和状态变化情况,以及对象可能出现的各种活动状况等信息。

4.1 系统交互图

4.1.1系统架构类交互图

系统架构类的工作流程:

1.用户界面对象在接收了用户的输入请求后,向业务代理对象发送处理请求。 2.业务代理对象接收到请求后,向权限管理对象发送验证权限请求。 3.权限管理对象验证权限后将验证结果返回给业务代理对象。

4.业务代理对象根据验证结果进行以下处理:对于不符合权限的请求则返回提示信息;对于符合权限的请求,则将请求转发给业务对象。

5.业务对象进行业务处理。对于业务处理中的数据持久化操作,通过访问数据库访问对象进行操作,期间的任何异常都交给异常处理对象处理。最后返回处理结果信息给业务代理对象。

6.业务代理对象将处理结果信息返回给用户界面。 系统架构类的交互图如图4-1所示:

4.1.2 活动者与模块间的交互

与销售管理模块进行交互的活动者(角色)主要包括销售业务员和企业管理者。

销售业务员和企业管理者与销售管理模块的交互图如下图4-2和图4-3所示:

13

软件工程专业毕业论文指导规范 用户界面类请求业务处理类业务代理类权限管理类业务逻辑类数据访问类异常处理类验证权限权限不符验证结果权限符合,请求业务处理业务处理读取写入异常处理异常处理消息1处理结果显示处理结果显示

图4-1系统架构类的交互图

Fig4-1 Interactive Diagram of System Architecture Class

14

软件工程专业毕业论文指导规范 销售业务员创建客户信息客户管理订单管理发货单管理售后管理维护客户信息查询客户信息创建订单合同维护订单合同查询订单合同创建发货单维护发货单修改发货单状态修改订单状态查询发货单创建售后信息维护售后信息查询售后信息 图4-2销售业务员与销售管理交互图

Fig4-2 Interactive Diagram between Salesman and Sales Management

15

软件工程专业毕业论文指导规范 企业管理者创建销售策略销售策略管理销售计划管理维护销售策略查询销售策略创建销售计划维护销售计划查询销售计划图4-3 企业管理者与销售管理交互图

Fig4-3 Interactive Diagram between Business Administration and Sales Management

下面对销售业务员、企业管理者参与销售管理活动的情况进行动态建模,由于篇幅限制,在此仅以销售业务员与销售管理模块中的订单管理进行时序图、协作图、状态图和活动图的建模。 定单管理主要涉及:

1.根据客户订购的产品生成产品订单合同,在发货之前可以修改订单合同,合同状态为未完成。在发货之后,订单合同完成。

2.提供订单的查询功能(按订单编号、订单生成时间、客户名称、操作员编号等查询)。

销售业务员创建订单合同的时序图如下图4-4所示。

16

软件工程专业毕业论文指导规范 登录订单信息验证生成订单合同顶层包::销售业务员1:输入用户名和密码2:提交订购信息4:提示验证结果3:验证结果5:生成订单命令6:提交订购信息7:提示生成订单合同成功

图 4-4 销售业务员创建订单合同的时序图 Fig4-4 Timing Diagram for Salesman Making Order

4.1.3 系统协作图

交互图用来说明系统如何实现一个用例或用例中的一个特殊场景。UML提供两类交互图:时序图和协作图。时序图按时间顺序描述系统元素之间的交互;协作图则按照时间和空间顺序来描述系统元素之间的交互。

根据上节描述的销售业务员创建订单合同的时序图,给出销售业务员创建订单合同的协作图如下图4-5所示。

4.1.4 系统状态图

状态图是通过类对对象的生命周期建立模型来描述对象随时间变化的动态行为。状态图显示了一个状态机,它基本上是一个状态机中的元素的一个投影,也就意味着状态图包括状态机的所有特性。

在订单管理模块中,主要有创建订单合同、修改订单合同状态、查询订单合同3种状态,这三种状态完成过程非常相似,所以下面仅给出销售业务员创建订

17

软件工程专业毕业论文指导规范 单合同的状态图如下图4-6所示。

1:输入用户名和密码登录3:提示验证结果销售业务员6:提示订单合同生成4:提交订单生成命令2:提交订购信息订单合同生成5:提交订单生成命令订单信息验证

图 4-5 销售业务员创建订单合同的协作图

Fig4-5 Collaboration Diagram for Salesman Making Order

用户名和密码错误登录系统输入用户名和密码错误正确数据更新状态登录成功页面提交客户订购请求添加到数据库订单信息验证状态订单信息不完整提交客户订购信息客户订购信息页

图 4-6 销售业务员创建订单合同的状态图 Fig4-6 State Diagram for Salesman Making Order

4.1.5 系统活动图

活动图是描述活动是如何协同工作的。当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。在订单合同管理模块中,主要涉及销售业务员的活动。

18

软件工程专业毕业论文指导规范 销售业务员首先登录系统,然后查看客户订购信息,根据需要生成订单合同;还可以对未发货的订单合同进行修改;同时可以查询订单合同相关信息等活动。完成活动后退出系统,下面给出销售业务员的活动图,如下图4-7所示。

登录系统订单合同管理模块订单合同生成订单合同查询订单合同修改订购信息是否完整是生成订单合同否否是否发货是修改订单合同退出订单合同管理

图 4-7 销售业务员在订单管理模块的活动图 Fig4-7 Activity Diagram for Salesman Making Order

4.2 业务逻辑对象类设计

4.2.1发现业务逻辑类

本小节的主要任务是对系统架构类图中的业务逻辑类进行设计,由系统分析中的Use Case交互图我们可以发现业务逻辑类包括客户类,订单类,发货单类,销售策略类,销售计划类和售后类。 根据Use Case交互图中的消息找到对象类相应的方法。

4.2.2业务逻辑对象类图

系统业务逻辑对象类图如下图4-8所示。

19

软件工程专业毕业论文指导规范 客户-客户编号-客户名称-客户类别-业务员编号-国家-省份-城市-地址-联络人-电话-传真-送货地代号-送货地国家-送货地省份-送货地城市-送货地地址-送货地联络人-送货地电话-送货地传真+创建客户信息()+维护客户信息()+查询客户信息() : 客户11销售计划-销售计划号-物料编号-需求日期-预测数量-消耗数量-预测区间-是否完成-备注+创建销售计划()+维护销售计划()+查询销售计划() : 销售计划0..1*售后1-客户编号-投诉日期-目前故障地址-车主姓名-车主联系方式-司机-司机联系方式-代理服务单位-客服负责人-客服地址-客服联系方式-车辆生产厂家-质保期-车辆型号-车架号-载重量-购车日期-使用时间-产品型号-产品数量-故障说明-是否过保-初步分析原因-处理情况-发货情况-发货型号-发货地址-发货方式-发货负责人-收货人-收货人联系方式-是否需付服务费用-是否已办理付款-旧件返还情况-检测鉴定结论-后期处理意见+创建售后信息()+维护售后信息()+查询售后信息() : 售后订单-订单编号-客户编号-订单日期-送货地代号-送货日期-物料编号-订货数量-币种-单价-金额-是否完成-实际发货数量-备注+创建订单()+维护订单()+查询订单() : 订单+修改订单()11**1发货单-送货单编号-客户编号-送货地代号-送货日期-订单编号-版次-物料编号-批号-仓库-货位-送货数量-包装编号-包装数量-包装单价-包装金额-是否消耗CO-是否完成-备注+创建发货单()+维护发货单()+查询发货单() : 发货单-修改发货单状态()销售策略-客户编号-物料编号-价格级别-优惠单价+创建价格策略()+维护价格策略()+查询价格策略() : 销售策略

图4-8销售管理对象类图

Fig4-8 Object Class Diagram for Sales Management

从上面的对象类图中我们发现,这些对象类中都有创建,维护和查询三个类似的方法,尽管返回值不同,这样我们就可以把这些方法抽象出来做成接口。优化后的对象类图见图4-9。

20

软件工程专业毕业论文指导规范 <<接口>>基础操作+创建(in 创建对象 : 业务基类)+维护(in 维护对象 : 业务基类)+查询() : 业务基类业务基类客户-客户编号-客户名称-客户类别-业务员编号-国家-省份-城市-地址-联络人-电话-传真-送货地代号-送货地国家-送货地省份-送货地城市-送货地地址-送货地联络人-送货地电话-送货地传真+创建客户信息()+维护客户信息()+查询客户信息() : 客户11销售计划-销售计划号-物料编号-需求日期-预测数量-消耗数量-预测区间-是否完成-备注+创建销售计划()+维护销售计划()+查询销售计划() : 销售计划0..1*售后1-客户编号-投诉日期-目前故障地址-车主姓名-车主联系方式-司机-司机联系方式-代理服务单位-客服负责人-客服地址-客服联系方式-车辆生产厂家-质保期-车辆型号-车架号-载重量-购车日期-使用时间-产品型号-产品数量-故障说明-是否过保-初步分析原因-处理情况-发货情况-发货型号-发货地址-发货方式-发货负责人-收货人-收货人联系方式-是否需付服务费用-是否已办理付款-旧件返还情况-检测鉴定结论-后期处理意见+创建售后信息()+维护售后信息()+查询售后信息() : 售后订单-订单编号-客户编号-订单日期-送货地代号-送货日期-物料编号-订货数量-币种-单价-金额-是否完成-实际发货数量-备注+创建订单()+维护订单()+查询订单() : 订单+修改订单()11**1发货单-送货单编号-客户编号-送货地代号-送货日期-订单编号-版次-物料编号-批号-仓库-货位-送货数量-包装编号-包装数量-包装单价-包装金额-是否消耗CO-是否完成-备注+创建发货单()+维护发货单()+查询发货单() : 发货单-修改发货单状态()销售策-客户编号-物料编号-价格级别-优惠单价+创建价格策略()+维护价格策略()+查询价格策略() : 销售策略

图4-9优化的销售管理对象类图

Fig4-9 Optimal Object Class Diagram for Sales Management

4.3 数据库设计

关系型数据库是目前应用最广泛的数据库。既然是面向对象系统设计,数据

21

软件工程专业毕业论文指导规范 库设计当然也要是面向对象的。现在要考虑如何对类进行持久化操作,即如何将对象类映射到关系数据库的二维表。目前可以采用数据库建模工具来实现,象PowerDesigner、Rose 等。

4.3.1 ER图

客户类,订单类,售后类,销售单类,销售计划类和销售策略类都是基础类,可以直接映射为一个表。架构设计中的操作员类是一个用于管理系统操作角色的类,也要直接映射为一个表。销售管理模块的ER模型图见图4-10。

订单表发货单表销售策略表客户表销售计划表***制定销售策略记录客户**发货订货11111操作员表制定销售计划

图4-10 销售管理模块ER图 Fig4-10 E-R Diagram of Sales Management

4.3.2 物理表结构图

将销售管理ER模型中的实体转换为物理表,得到物理表结构如下:

22

软件工程专业毕业论文指导规范

Customer(客户信息表)

表4-1(Table 4-1)

主键 1 1

字段名称 CustomerID CustomerName CustomerType SalesmanID Country Province City Address Contract Tel Fax ShippingID ShippingCountry ShippingCity ShippingAddress ShippingTel ShippingFax

数据类型 varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar

20 30 20 10 30 30 30 50 10 30 25 25 30 30 30 50 10 30 25

长度 字段说明 客户编号 客户名称 客户类别 业务员编号 国家 省份 城市 地址 联络人 电话 传真 送货地代号 送货地国家 送货地省份 送货地城市 送货地地址 送货地联络人 送货地电话 送货地传真

ShippingProvince varchar

ShippingContract varchar

CO(订单表)

表4-2(Table 4-2)

主键 1 1 1

字段名称 COID CustomerID CODate ShippingID DelveryDate Item COQty Currency Price Money Finish DelQty Remarks

数据类型 varchar varchar datetime nvarchar datetime varchar decimal(14,2) varchar decimal(18,4) decimal(18,4) bit

decimal(14,2) varchar

20 20 25 20 10 1 50

长度

字段说明 订单编号 客户编号 订单日期 送货地代号 送货日期 物料编号 订货数量 币种 单价 金额 是否完成 实际发货数量 备注

23

软件工程专业毕业论文指导规范

Delivery(发货单表)

表4-3(Table 4-3)

主键 1 1 1 1

字段名称 DelID CustomerID ShippingID DelDate COID Rev Item LotNo Store Bin DelQty PackageID PackageQty PackagePrice PackageMoney Cco Finish Remarks

数据类型 varchar varchar varchar datetime varchar varchar varchar varchar varchar varchar decimal(14,2) varchar decimal(14,2) decimal(18,4) decimal(18,4) bit bit varchar

20 20 25 20 20 20 30 20 20 20 20

1(是1,否0) 50

长度

字段说明 送货单编号 客户编号 送货地代号 送货日期 订单编号 版次 物料编号 批号 仓库 货位 送货数量 包装编号 包装数量 包装单价 包装金额 是否消耗CO 是否完成 备注

Marketing(营销策略表)

表4-4(Table 4-4)

主键 1 1

主键 1 1

字段名称 CustomerID Item PriceLevel CutPrice

字段名称 SFID Item FcDate FcQty CosQty FP Finish Remarks

数据类型 varchar varchar int

decimal(18,4)

20 20

长度 20 20 10 1 50 长度

字段说明 客户编号 物料编号 价格级别 优惠单价 字段说明 销售计划号 物料编号 需求日期 预测数量 消耗数量 预测区间 是否完成 备注

4-5(Table 4-5)

数据类型 varchar varchar datetime decimal(14,2) decimal(14,2) varchar bit varchar

24

软件工程专业毕业论文指导规范

AfterService(售后服务表)

表4-6(Table 4-6)

主键 1 1 1

字段名称 CustomerID IndictDate Company CoAddress FaultAddress OwnerName OwnerTel DriverName DriverTel Manager CSAddress CSTel CarFactory ServiceTerm CarType Bodywork LoadWeight BuyDate UseTime ProductModel ProductQty Fault OverService SimpleReason DealState DelState DelModel DelAddress DelMode DelManager Consignee ConsigneeTel Expense Pay

数据类型 varchar datetime varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar int varchar varchar decimal(14,2) datetime int varchar decimal(14,2) varchar bit ntext varchar bit varchar varchar varchar varchar varchar varchar bit bit

20 30 50 50 10 50 10 50 30 10 50 50 30 4 30 30 4 30 30 1 30 1 30 50 20 10 10 50 1 1

长度

字段说明 客户编号 投诉日期 用户单位 公司地址 目前故障地址 车主姓名 车主联系方式 司机 司机联系方式 代理服务单位 客服负责人 客服地址 客服联系方式 车辆生产厂家 质保期 车辆型号 车架号 载重量 购车日期 使用时间 产品型号 产品数量 故障说明 是否过保 初步分析原因 处理情况 发货情况 发货型号 发货地址 发货方式 发货负责人 收货人 收货人联系方式

是否需付服务费用

是否已办理付款 CustomerService varchar

25

软件工程专业毕业论文指导规范

BackState DealIdea

varchar ntext

50

旧件返还情况 检测鉴定结论 后期处理意见

CheckConclusion ntext

Users(用户表)

表4-7(Table 4-7)

主键 1 1

字段名称 UserName Password RealName DepartmentID Authority ISAuthority RegisterDate ModifyDate

数据类型 varchar varchar varchar varchar int int datetime datetime

20 100 20 20

长度

字段说明 用户名 密码 真实姓名 部门编号 权限级别 是否授权 注册日期 修改日期

4.4 开发环境的选择

4.4.1系统开发工具

本系统采用VisualStuido2005作为ERP系统开发工具。Visual Studio 是微软公司推出的开发环境,是目前最流行的 Windows 平台应用程序开发环境。使用Visual Studio 2005, 专业开发人员能够:使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境 ,在统一的开发环境中开发并调试多层次的服务器应用程序 使用集成的可视化数据库设计和报告工具,创建SQL Server 2005解决方案

4.4.2数据库的选择

SQL Server2000是一个具备完全Web支持的数据库产品,其特点如下: 真正的客户机/服务器体系结构。

1.图形化用户界面,使系统管理和数据库管理更加直观、简单。 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地 2.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。

26

软件工程专业毕业论文指导规范 3.很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑Windows 2000的大型多处理器等多种平台使用。

4.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页

面上。

5.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS

中才有。

4.4.3 系统网络架构设计

本ERP系统采用B/S结构,系统网络架构图见图4-11。 Internet路由器数据库服务器 Web服务器防火墙 交换机客户机 客户机客户机交换机 交换机

图4-11系统网络架构图

Fig4-11 Net Architecture Diagram of System

客户机配置情况如下表4-8所示。

(Table 4-8)

支持软件安装情况如下表4-9所示。 服务器

(Table 4-9)

1.OS:Ms Windows 2003 Server 2. SQL Server 2000数据库管理软件

27

软件工程专业毕业论文指导规范 客户机 1. OS:Ms Windows xp Professional/ Ms

Windows 2000 Professional

2. Microsoft office 2003Adobe 6.0IE 5.0以上

28

软件工程专业毕业论文指导规范 5 编码

5.1 概述开发工具及编程脚本

简述编程脚本的特点,不宜占用过多的篇幅。

5.2 脚本习惯说明

如变量的取名规则,全局变量说明等。

5.3 脚本

开发工具的控件、驱动事件、脚本。如果脚本量较大,则可作为附录附在论文的后面。

29

软件工程专业毕业论文指导规范 6 测试

6.1 测试原则及测试方法概述

软件测试是为了发现错误而不断执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程按顺序逐个对测试项目做出说明。软件测试过程应该遵循如下的原则:

1. 尽早地和不断地进行软件测试。

不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中。坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期,杜绝某些发生错误的隐患。

2. 测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。

测试以前应当根据测试的要求选择测试用例(Test case),用来检验程序员编制的程序,因此不但需要测试的输入数据,而且需要针对这些输入数据的预期输出结果。

3. 程序员应避免检查自己的程序。

程序员应尽可能避免测试自己编写的程序,程序开发小组也应尽可能避免测试本小组开发的程序。如果条件允许,最好建立独立的软件测试小组或测试机构。这点不能与程序的调试(debuging)相混淆。调试由程序员自己来做可能更有效。

4. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。

合理的输入条件是指能验证程序正确的输入条件,不合理的输入条件是指异常的,临界的,可能引起问题异变的输入条件。软件系统处理非法命令的能力必须在测试时受到检验。用不合理的输入条件测试程序时,往往比用合理的输入条件进行测试能发现更多的错误。

5. 充分注意测试中的群集现象。

在被测程序段中,若发现错误数目多,则残存错误数目也比较多。这种错误群集性现象,已为许多程序的测试实践所证实。根据这个规律,应当对错误群集的程序段进行重点测试,以提高测试投资的效益。

6. 严格执行测试计划,排除测试的随意性。

测试之前应仔细考虑测试的项目,对每一项测试做出周密的计划,包括被测程序的功

30

软件工程专业毕业论文指导规范 能、输入和输出、测试内容、进度安排、资源要求、测试用例的选择、测试的控制方式和过程等,还要包括系统的组装方式、跟踪规程、调试规程,回归测试的规定,以及评价标准等。对于测试计划,要明确规定,不要随意解释。

7. 应当对每一个测试结果做全面检查。

有些错误的征兆在输出实测结果时已经明显地出现了,但是如果不仔细地全面地检查测试结果,就会使这些错误被遗漏掉。所以必须对预期的输出结果明确定义,对实测的结果仔细分析检查,抓住征侯,暴露错误。

8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。 测试过程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。图6-1显示出软件测试经历的4个步骤。

图6-1 软件测试的过程

Fig6-1 Software tests process

软件测试的种类大致可以分为人工测试和基于计算机的测试。而基于计算机的测试由可以分为白盒测试和黑盒测试。

1. 黑盒测试

根据软件产品的功能设计规格,在计算机上进行测试,以证实每个实现了的功能是否符合要求。这种测试方法就是黑盒测试。黑盒测试意味着测试要在软件的接口处进行。就是说,这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求分析规格说明,检查程序的功能是否符合它的功能说明。

用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。

2. 白盒测试

31

软件工程专业毕业论文指导规范 根据软件产品的内部工作过程,在计算机上进行测试,以证实每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。这种测试方法就是白盒测试。白盒测试把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

以上是测试的内容的概述,在论文中,要写你用到的测试方法及过程。

6.2 测试项目测试用例

1. 模块名称。 2. 操作过程及数据。 3. 预期结果 4. 实际结果 5. 偏差 6. 用例类别

下面以银行业务《XXXXXX银行帐务系统》进行说明,鉴于本用例是一个计划用例,故没有给出实际的测试结果。

32

软件工程专业毕业论文指导规范 表6-1 系统测试案例 tab6-1 system tests case 模块 测试用例描述 操作过程及数据 预期结果 查询成功,查询出的利率信息被显示到“银行利率维护”列表中。 可以根据条件查询出结果,查询出的利率信息被显示到“银行利率维护”列表中。 用例 类别 功能点 进入“银行利率维护-添加”界面,分别在“利对于各字段分别输入正率类型”、“开始时间”、“终止时间”、“利率”、常值进行查询。 “维护人”、“维护日期”输入域中输入正常值,然后进行“查询”。 进入“银行利率维护-添加”界面,分别以下列条件进行组合查询: 对于多字段进行组合查1、“利率类型”和“维护日期”; 询 2、“开始时间”和“利率”; 3、“终止时间”、“维护人”和“维护日期”, 然后进行“查询”。 进入“银行利率维护-添加”界面,在“开始时查询 对“开始时间”进行查询,间”中输入以下值(其它输入域为空): 但其中的“年份”输入不1、1600-05-05; 合法。 2、20042-05-05, 银行 其它的输入域输入正常值,然后进行“查询”。 利率维护 进入“银行利率维护-添加”界面,在“开始时 对“开始时间”进行查询,间”中输入以下值(其它输入域为空): 但其中的“月份”输入不1、2004-13-05; 合法。 2、2004-5-05, 其它的输入域输入正常值,然后进行“查询”。 进入“银行利率维护-添加”界面,在“维护日期”中输入以下值(其它输入域为空): 当“维护日期”为空时进1、空; 行查询。 2、空格; 然后进行“查询”。 对询果行查结进操对查询结果进行操作 正常添加一条银行利率信息 进入“银行利率维护-添加”界面,在查询出结果后,对查询进行修改和删除操作。 进入“银行利率维护-添加”界面,在各输入域中输入合法的数据,然后“保存”。 功能点 不能查询成功,系统提示:开始时间的“年份”输入不正确。 界面校验 不能查询成功,系统提示:开始时间的“月份”格式不正确。 界面校验 未知 界面校验 己经被使用过的利率数据不能被修改和删除。 添加成功 关联 关联 33

软件工程专业毕业论文指导规范 作_添正常添加一条银行利率加 信息,但不进行保存。 添加一条银行利率信息,但“开始时间”没有输入。 进入“银行利率维护-添加”界面,在各输入域中输入合法的数据,然后关闭“银行利率维护”页面,然后再进入此页面。 进入“银行利率维护-添加”界面,增加一条利率信息,其中对“开始时间”不做输入,其它的输入域输入正常值。 进入“银行利率维护-添加”界面,增加一条利添加一条银行利率信息,率信息,其中“开始时间”的输入值为: 但“开始时间”的年份输1、1600-05-05; 入不合法。 2、20042-05-05, 其它的输入域输入正常值。 进入“银行利率维护-添加”界面,增加一条利添加一条银行利率信息,率信息,其中“开始时间”的输入值为: 但“开始时间”的月份输1、2004-13-05; 入不合法。 2、2004-5-05, 其它的输入域输入正常值。 进入“银行利率维护-添加”界面,增加一条利添加一条银行利率信息,率信息,其中“开始时间”的输入值为: 但“开始时间”的“日”1、2004-02-30; 的输入不合法。 2、2004-05-35, 其它的输入域输入正常值。 进入“银行利率维护-添加”界面,增加一条利率信息,其中“开始时间”的输入值为: 添加一条银行利率信息,1、2004-02-3a; 但“开始时间”的输入含2、2004-五-36; 有字符。 3、!@#$%^&*(), 其它的输入域输入正常值。 进入“银行利率维护-添加”界面,增加一条利添加一条银行利率信息,率信息,其中对“终止时间”不做输入,其它的但“终止时间”没有输入。 输入域输入正常值。 不能加入成功。 不能加入成功系统提示:开始时间的输入不能为空。 不能加入成功系统提示:开始时间的年份输入不正确。 关联 界面校验 界面校验 不能加入成功系统提示:开始时间的月份格式不正确。 界面校验 不能加入成功系统提示:开始时间的日的格式不正确。 界面校验 不能加入成功系统提示:开始时间的输入只能为数字。 不能加入成功系统提示:终止时间的输入不能为空。 界面校验 界面校验 34

软件工程专业毕业论文指导规范 添加一条银行利率信息,但“终止时间”的输入含有字符。 输入标准的“单位编号”进行查询 输入不存在的“单位编号”进行查询 输入不合法的“单位编号”进行查询。 打印输入超长的“单位编号”欠费查询 进行查询。 情况 证明 输入含有特殊字符的“单位编号”进行查询。 输入标准的“台账日期”进行查询 查询时,“台账日期”的年份输入不合法。 进入“银行利率维护-添加”界面,增加一条利率信息,其中“终止时间”的输入值为: 1、2004-02-3a; 2、2004-五-36; 3、!@#$%^&*(), 其它的输入域输入正常值。 进入“打印欠费情况证明”界面,在“单位编号”中输入标准的单位编号,例如:1234567890,然后进行“查询”。 进入“打印欠费情况证明”界面,在“单位编号”中输入一个不存在的单位编号,然后进行“查询”。 进入“打印欠费情况证明”界面,在“单位编号”输入域中分别输入如下值: 1、12345678901; 2、abcd001, 然后进行“查询”。 进入“打印欠费情况证明”界面,在“单位编号”输入域中输入10000位的数字,然后进行“查询”。 进入“打印欠费情况证明”界面,在“单位编号”输入域中输入: 1、12^&*()_ 2、34~!@#$% 然后进行“查询”操作。 进入“打印欠费情况证明”界面,在“台账日期”中输入一己存在欠费记录的台账日期,然后进行“查询”。 进入“打印欠费情况证明”界面,在“台账日期”中输入以下值(其它输入域为空): 1、160005; 2、999805, 然后进行“查询”。 不能加入成功系统提示:终止时间的输入只能为数字。 查询出与输入编号相应的结果,并且将其它输入域的内容自动填充。 界面校验 功能点 功能点 界面校验 查询结果为空 不能查询出相应的数据,系统提示:单位编号只能输入10位以下的数字。 不能查询出相应的数据,系统提示:单位编号只能输入10位以下的数字。 不能查询出相应的数据,系统提示:单位编号的输入不正确。 界面校验 界面校验 查询出与输入时间相应的结果。 系统提示:台账日期的年份输入不正确。 功能点 界面校验 35

软件工程专业毕业论文指导规范 查询时,“台账日期”的月份输入不合法。 查询时,“台账日期”的的输入不合法。 查询时,“台账日期”的输入含有字符。 打印 不执行查询操作,直接打印欠费证明。 在查询为空时打印欠费证明。 在查询不为空时打印欠费证明。 置不到账标志 查询“征收”数据,执行空条件查询。 征收查询“征收”数据,输入查询 标准的“批次”数据进行 查询。 查询“征收”数据,输入不存在的“批次”数据进行查询。 进入“打印欠费情况证明”界面,在“台账日期”中输入以下值(其它输入域为空): 1、200413; 2、200450, 然后进行“查询”。 进入“打印欠费情况证明”界面,在“台账日期”中输入以下值(其它输入域为空): 1、20040225; 2、20040510, 然后进行“查询”。 进入“打印欠费情况证明”界面,在“台账日期”中输入以下值(其它输入域为空): 1、2004023a; 2、2004五36; 3、!@#$%^&*(), 然后进行“查询”。 进入“打印欠费情况证明”界面,然后执行“打印”操作。 进入“打印欠费情况证明”界面,在查询结果为空时执行“打印”操作。 进入“打印欠费情况证明”界面,在查询结果为以下情况时执行“打印”操作: 1、查询出的欠费记录有1条; 2、查询出的欠费记录有多条(大于5条)。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在所有输入域中都不输入内容,然后回车进行查询。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”中输入标准的批次,其它输入域为空,然后回车进行查询。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”中输入一个不存在的批次,其它输入域为空,然后回车进行查询。 系统提示:台账日期的月份格式不正确。 界面校验 系统提示:台账日期只能输入YYYYMM格式的日期。 界面校验 系统提示:台账日期只能输入YYYYMM格式的日期。 不能正常打印,系统提示:没有内容,不能打印。 系统将打印“无欠缴社会保险费证明”。 系统将打印“欠费情况证明”。 界面校验 功能点 功能点 功能点 查询出全部的“征收”数据信息。 查询出与输入数据相应的结果,并且显示在“查询结果”列表中。 功能点 功能点 功能点 查询结果为空 36

软件工程专业毕业论文指导规范 查询“征收”数据,输入不合法的“批次”数据进行查询。。 查询“征收”数据,输入超长的“批次”数据进行查询。。 查询“征收”数据,输入含有特殊字符的“批次”数据进行查询。。 查询“征收”数据,输入标准的“台账期号”进行查询 查询“征收”数据,查询时,“台账期号”的年份输入不合法。 查询“征收”数据,查询时,“台账期号”的月份输入不合法。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”输入域中分别输入如下值: 1、X1; 2、abcd001; 3、一百一, 然后回车进行查询。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”输入域中输入10000位的数字,其它输入域为空,然后回车进行查询。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”输入域中输入: 1、12^&*()_ 2、34~!@#$% 然后回车进行查询操作。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入一己存在记录的台账期号,其它输入域为空,然后回车进行查询。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入以下值(其它输入域为空): 1、160005; 2、999805, 然后回车进行查询。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入以下值(其它输入域为空): 1、200413; 2、200450, 然后回车进行查询。 不能查询出相应的数据,系统提示:批次只能输入X位以下的数字。 界面校验 不能查询出相应的数据,系统提示:批次只能输入X位以下的数字。 不能查询出相应的数据,系统提示:批次只能输入X位以下的数字。 界面校验 界面校验 查询出与输入时间相应的结果,并且显示在“查询结果”列表中。 功能点 系统提示:台账期号的年份输入不正确。 界面校验 系统提示:台账期号的月份格式不正确。 界面校验 37

软件工程专业毕业论文指导规范 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入以下值(其查询时,“台账期号”的它输入域为空): 的输入不合法。 1、20040225; 2、20040510, 然后回车进行查询。 进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入以下值(其查询“征收”数据,查询它输入域为空): 时,“台账期号”的输入1、2004023a; 含有字符。 2、2004五36; 3、!@#$%^&*(), 然后回车进行查询。 查询“征收”数据,查询进入“置不到帐标志”界面,选择“确认类别”时,“台账期号”的输入为“征收”,在“台账期号”中输入10000位数超长。 字,然后回车进行查询。 进入“置不到帐标志”界面,选择“确认类别”查询“征收”数据,输入为“征收”,在“费款所属期”中输入一己存在标准的“费款所属期”进记录的费款所属期,其它输入域为空,然后回车行查询。 进行查询。 查询“征收”数据,选择进入“置不到帐标志”界面,选择“确认类别”“到账标志”为“己到账”为“征收”,选择“到账标志”为“己到账”,其进行查询。 它输入域不输入内容,然后回车进行查询。 系统提示:台账期号只能输入YYYYMM格式的日期。 界面校验 系统提示:台账期号只能输入YYYYMM格式的日期。 界面校验 系统提示:台账期号只能输入YYYYMM格式的日期。 查询出与输入时间相应的结果,并且显示在“查询结果”列表中。 查询出相应的结果,并将结果显示在“查询结果”列表中。 界面校验 功能点 功能点 38

软件工程专业毕业论文指导规范 6.3 软件测试结论

按顺序给出每一项需求测试的结论。包括:证实的软件能力;局限性(即项需求未

得到充分测试的情况及原因)。

6.3.1 软件能力

经过测试所表明的软件能力。

6.3.2 缺陷和限制

说明测试所揭露的软件缺陷和不足,以及可能给软件运行所带来的影响。

6.3.3 建议

提出为弥补上述缺陷的建议。

6.3.4 测试结论

说明能否通过。

下面以《 XXXXXX银行帐务系统》的测试报告为例,说明软件系统测试结论。

39

软件工程专业毕业论文指导规范 表6-2 XXXXXX银行帐务系统软件问题统计分析表

tab6-2 XXXXXX bank Bookkeeping system software question statistics analytical table

问题

代码行数(千行)

提交bug总数 有效bug总数 发现bug效率

bug密度(个/千行) 关闭bug数 遗留bug数 遗留bug比率

测试用例数

测试用例密度(个/千行)

数量 50 59 52 88% 1.04 48 4 8% 583 11.7

图6-2 XXXXXX银行帐务系统软件测试结果

Fig6-2 XXXXXX bank book keeping system software tests result

40

软件工程专业毕业论文指导规范

图6-3 XXXXXX银行帐务系统软件测试结果

Fig6-3 XXXXXX bank book keeping system software tests result

上述软件系统所发现的问题,已经得到全面纠正,系统可以投入运行。

41

软件工程专业毕业论文指导规范 结束语

设计中所使用的新技术、新方法、个人独创的或有新意的地方,以及通过该设计所得到的心得体会,系统的缺陷或以后在理论、技术或其他方面需加强的地方。

42

软件工程专业毕业论文指导规范 致谢

以简短的文字,对在毕业设计(论文)过程中给予直接帮助的导师或单位、个人表示自己的谢意。

43

软件工程专业毕业论文指导规范 参考文献

毕业设计(论文)要求有10篇以上的中外文参考文献,其中至少有一篇与设计(论文)内容相关的外文文献。

参考文献是论文中引用文献的目录表。毕业设计(论文)引用的文献应以近期发表的与毕业设计(论文)直接有关的文献为主。凡引用本人或他人已公开或未公开发表文献中的学术思想、观点或研究方法、设计方案等,不论借鉴、评论、综述,还是用做立论依据,都应编入参考文献目录。直接引用的文字应直录原文并加引号。直接、间接引用都不应断章取义。参考文献的著录方法采用我国国家标准GB7714-87《文后参考文献著录规则》中规定采用的“顺序编码制”,中外文混编。文后参考文献表中,各条文献按在论文中的文献引用序号顺序排列。

各类文献的著录格式及示例: 1.专著

顺序号 著者.书名[M].版本.其他责任者.出版地:出版者,出版年.页码. 示例:

[1] 夏小华,高为柄.非线性系统控制及解耦[M].第2版.北京:科学出版社,2001. 2.期刊

顺序号 作者.题名[J].其他责任者.刊名,年,卷(期):页码. 示例:

[2] 高为柄,程勉,夏小华,(等).非线性控制系统的发展[J].自动化学报,2003,17(4): 513~523.

3.论文集

顺序号 作者.题名[A].见:编者.文集名[C].出版地:出版者,出版年.页码. 示例:

[3] Fox R L, Willmert K D.不等式约束的连杆曲线最优化设计[A].见:机构学译文集编写组. 机构学译文集[C].北京:机械工业出版社,2002.232~242.

4.技术标准

顺序号 标准代号 标准顺序号—发布年 标准名称 示例:

[4] GB3100~3102—93 量和单位. 5.学位论文

顺序号 作者.题名:[D].保存地:保存者,年份.

44

软件工程专业毕业论文指导规范 示例:

[5] 陈淮金.多机电力系统分散最优励磁控制器的研究:[D].北京:清华大学电机工程系,2004.

6.会议论文

顺序号 作者.题名[Z].会议名称,会址,会议年份. 示例:

[6] 夏小华,高为柄.稳定设计中的分解和参数化方法[Z].全国控制与决策会议,黄山,2005.

此规范未尽事宜,各教学单位要制定统一标准;无法执行此规范的专业(如英语)可单独制定规范,但必须经教务处批准公布后方可执行。

45

软件工程专业毕业论文指导规范 附录

附录一 程序清单 附录二 系统代码清单 附录三 其它

46

软件工程专业毕业论文指导规范 目 录

1 项目概述 .................................................................. 1 1.1 现系统概述 ............................................................. 1 1.2公司组织机构 ........................................................... 1 1.3 系统业务流程 ........................................................... 2 1.4 系统功能模块 ........................................................... 2 2 系统需求分析 .............................................................. 4 2.1 需求陈述 ............................................................... 4 2.2 USE CASE建模 ............................................................ 5 2.2.1定义活动者 ......................................................... 5 2.2.2 Use Case图 ........................................................ 6 3 系统架构设计 .............................................................. 7

3.1架构设计目标 ......................................................... 7 3.2 系统架构设计 ......................................................... 7 3.3 系统架构类图 ........................................................ 12 4 系统详细设计 ............................................................. 13 4.1 系统交互图 ............................................................ 13 4.1.1系统架构类交互图 .................................................. 13 4.1.2 活动者与模块间的交互 .............................................. 13 4.1.3 系统协作图 ........................................................ 17 4.1.4 系统状态图 ........................................................ 17 4.1.5 系统活动图 ........................................................ 18 4.2 业务逻辑对象类设计 .................................................... 19 4.2.1发现业务逻辑类 .................................................... 19 4.2.2业务逻辑对象类图 .................................................. 19 4.3 数据库设计 ............................................................ 21 4.3.1 ER图 ............................................................. 22 4.3.2 物理表结构图 ...................................................... 22 4.4 开发环境的选择 ........................................................ 26 4.4.1系统开发工具 ...................................................... 26 4.4.2数据库的选择 ...................................................... 26 4.4.3 系统网络架构设计 .................................................. 27 5 编码 ..................................................................... 29 5.1 概述开发工具及编程脚本 ................................................ 29 5.2 脚本习惯说明 .......................................................... 29 5.3 脚本 .................................................................. 29 6 测试 ..................................................................... 30 6.1 测试原则及测试方法概述 ................................................ 30 6.2 测试项目测试用例 ...................................................... 32

II

软件工程专业毕业论文指导规范 6.3 软件测试结论 .......................................................... 39 6.3.1 软件能力 .......................................................... 39 6.3.2 缺陷和限制 ........................................................ 39 6.3.3 建议 .............................................................. 39 6.3.4 测试结论 .......................................................... 39 结束语 ..................................................................... 42 致谢 ....................................................................... 43 参考文献 ................................................................... 44 附录 ....................................................................... 46

III

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

Top