软件工程毕业论文2_第1页
软件工程毕业论文2_第2页
软件工程毕业论文2_第3页
软件工程毕业论文2_第4页
软件工程毕业论文2_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计(论文)指导规范毕业设计(论文)指导规范 面向对象部分 (适用于软件工程相关专业) 辽宁工程技术大学软件学院辽宁工程技术大学软件学院 2009 年年 3 月月 引引 言言 编写本书的主要目的为正确引导学生用科学、正确、规范的方式编写毕业 论文,并为以后从事软件工程项目的开发打下良好的基础。 为引导同学们正确使用本指导书,做如下说明: 1本书是按照软件工程及科研项目的要求进行编写。 2本规范的适用范围仅为基于企业管理信息系统的应用软件开发方向,网站制 作、网络规划与集成、监测监控方向、嵌入式技术、基于计算机外围设备的 软件编程等方向的论文指导规范可参考此规范的部分章节,但是,内容、步 骤

2、等可以不同。 3本书所提供的样例部分仅为了说明问题而引用,仅供学生参考,万勿照搬。 4有些内容,设计中可能没有涉及到,可简单交待或适当取舍。 5本指导书的制定依据企业管理信息系统开发规范 、 国家经济信息系统设 计与应用标准规范 、 计算机软件产品开发规范 (1999)等资料。 6样例部分内容如果不特殊说明,全部来自于葫芦岛自来水公司用水管理信 息系统设计方案 、 阜新北星高压泵有限公司“北鑫星”erp 系统设计方案 及火电工程质量检验评定系统技术报告 。 7本规范考虑到学生的调研情况等因素,可能没有实际的可行性分析的过程及 项目,故可行性分析一章略过,学生写论文时,这一章亦可不写。 8本规范

3、由邱云飞老师、张宇老师、曲海成、刘玲玲老师编写,刘万军教授审 核了全部内容,王永贵副教授等提出了修改意见。鉴于时间仓促,书中肯定 存在缺陷和不足之处,希望各位老师、同学给予批评指正。 编者 2009 年 4 月 1 1 项目概述项目概述 1.11.1 现系统概述现系统概述 阜新北星高压泵有限公司(原阜新北鑫星液压有限公司) ,是以东北老工业 基地和具有悠久历史的液压行业为依托,在市场经济条件下兴起的现代化股份 制明星企业。公司座落于辽宁省阜新市重点开发的高新技术产业园区,占地面 积三万多平方米。拥有一大批精干的具有丰富理论和实践经验的科技人才,产 品加工制造采用进口的加工中心和高精密的数控机床

4、,目前是阜新规模最大的 高压齿轮油泵专业生产企业。其主导产品为 cbtx、cbfx、cbp、p5100 系列 举升泵。p7600、cbg、cbp、cbf-e、cbf-f、cbz、cmz、cms 系列工程机 械用泵及马达。广泛应用于工程机械、运输车辆、船舶、农机、煤炭、石化、 机床、冶金、矿山、环保、勘探等领域。同时还可根据用户的要求,提供特殊 规格的齿轮油泵和齿轮马达,各种进口工程机械用齿轮泵的设计、制造及维修。 针对目前工程机械市场所面临的恶劣环境,做为主要动力源的液压齿轮泵 正经受着严峻考验。多年来公司注重新产品的研制开发和科技项目攻关,目前 已有十一项技术荣获国家新型产品专利。其中超高压

5、力齿轮泵已处于国际领先 水平,非常适用超负荷自卸车的液压系统中。应用在重载自卸车的举升泵,被 广大用户称为“泵王”,产品受到众多配套厂家的青睐。 为进一步提升企业的市场竞争力,优化资源配置,引入先进的管理思想和 服务理念,规范企业生产经营流程,提高企业知名度,公司决定上一套 erp 管 理系统,以便于进一步加快企业信息化建设的步伐。 1.21.2公司组织机构公司组织机构 目前公司组织机构如下图 1-1 所示: 公司实行董事长监管下的总经理负责制,总经理和办公室负责协调生产部 门、销售部门、技术部门、质量部门、人事部门和财务部门之间相互合作。整 个 erp 系统将上述部门连接成一体,共同协作完成

6、整个公司的产品从进料到生 产、到销售,最后和财务挂接整个过程。系统实施由总经理牵头,各部门主管 领导负责,部门业务员配合系统研发人员来完成。 图 1-1 公司组织机构图 fig 1-1 diagram of the companys organizational structure 1.31.3 系统业务流程系统业务流程 经过前期调研分析和综合其它各方面相关理论知识,给出整个 erp 系统的 业务流程图如下图 1-2 所示: 整个 erp 系统的开发主要围绕上述业务流程进行开发,开发过程采用面向 对象的开发技术,具体开发过程见下面的章节。 1.41.4 系统功能模块系统功能模块 根据上述业务流

7、程,整个 erp 系统抽象出以下几个功能模块,如图 1-3 所 示。 下面模块划分只是抽象意义上的划分,各模块之间需要共享数据,相互协 作,完成整个系统流程,单一事物功能模块间是相互独立的。 葫芦岛市自来水公司 财 务 科 人 事 科 营 业 科 办 公 室 工 会 工 程 公 司 技 术 科 渤 海 收 费 所 连 山 收 费 所 工 业 收 费 所 新 区 收 费 所 计 算 中 心 饮 服 收 费 所 图 1-2 erp 系统流程 fig 1-2 the workflow of erp system 北鑫星erp系统 工程管理模块 系统管理模块 采购管理模块 销销售售管管理理模模块块 生

8、产管理模块 库存管理模块 能力计划模块 工艺管理模块 人事管理模块 财务管理模块 图 1-3 系统功能模块 fig 1-3 function models of system 2 2 系统需求分析系统需求分析 2.12.1 需求陈述需求陈述 通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境 及假设条件等。总之,需求陈述应该阐明“做什么”而不是“怎样做” 。它应该 描述用户的需求而不是提出解决问题的方法。应该指出哪些是系统必要的性质, 哪些是任选的性质。应该避免对设计策略施加过多的约束,也不要描述系统的 内部结构,因为这样做将限制实现的灵活性。对系统性能及系统与外界环境交 互协议

9、的描述,是合适的需求。此外,对采用的软件工程标准、模块构造准则、 将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求。下面 以北鑫星 erp 系统中的销售管理模块为例说明如何进行系统需求陈述。 根据调研分析得知,北鑫星 erp 系统销售管理模块共需要完成 5 项中心任 务,即:客户管理,订单管理,发货单管理,销售策略管理,销售计划管理和 售后服务管理。 每项任务具体描述如下: 1客户管理 客户管理主要提供客户信息的录入,修改和查询服务,同时为订单管理 和售后服务管理提供信息依据。 2订单管理 根据客户订购的产品生成产品订单合同,在发货之前可以修改订单合同, 合同状态为未完成。在发货

10、之后,订单合同完成。该模块需要提供订单的生 成,修改和查询,以及订单状态的修改。 3发货单管理 在收到货款之后,填写发货单,配货。该模块需要提供发货单的生成,修 改和查询,以及发货单状态的修改。 4优惠策略制定 第一种优惠方式是客户如果购买的产品超过一定数量,客户再购买产品的 时候,对产品的单价给出一定的优惠;第二种优惠方式是年终对所有客户购买 的产品进行统计,如果超过一定数量,将以现金的形式给客户以奖励。 5销售计划管理 每年根据往年同期制定当前的销售计划。该模块主要提供计划的制定, 修改和查询服务。 6售后服务管理 产品在使用过程中出现问题后,记录产品的相关信息包括使用的客户信 息,产品自

11、身信息以及处理方案。 系统任务确定之后,下面的工作就是进行系统分析。 面向对象的分析的主要任务是分析问题领域,找出问题解决方案,发现对 象,分析对象的内部构成和外部关系,建立软件系统的对象模型。 分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先 进行的重要工作。分析问题领域的结果是对问题领域的清晰,精确的定义,明 确目标系统将做什么。 分析问题领域的主要任务是:对问题领域进行抽象,提出解决方案;对未来 的系统进行需求分析,确定系统的职责范围,功能需求,性能需求,应用环境 及假设条件等。 实施面向对象分析的一般步骤如下: 1分析用户需求,建立 use case 并通过用例图来描述

12、用户的需求。 2通过建立域模型以识别类与对象,从而识别系统中的各种对象。 3确定对象的内部特征,从而定义出各个属性与服务,以进一步细化类的结构。 4识别对象之间的关系并使用设计模式对类的结构进行优化和改造。 5获得对象之间的行为关系,绘制出各种动态图形(顺序图、协作图、状态图 等) 。 2.22.2 useuse casecase建模建模 .1 定义活动者定义活动者 根据销售管理模块的需求可以确定 4 个活动者,即销售业务员,企业管理 者,生产管理模块和库存管理模块。 销售业务员使用销售管理模块记录客户信息,填写订单合同,填写发货单 和记录售后信息,以及查询相应的信息。 企业管

13、理者使用销售管理模块查询订单信息,发货信息和客户信息,制定 销售优惠策略,制订销售计划。 生产管理模块是销售管理模块的外部系统活动者,从销售管理模块获得订 单信息和销售计划。 库存管理模块是销售管理模块的外部系统活动者,从销售管理模块获得订 单信息和发货信息。 工程管理模块是销售管理模块的外部系统活动者,为销售管理模块提供物 料信息 .2 useuse casecase 图图 根据系统需求分析,结合上节系统活动者的定义分析,得到系统销售管理 模块的六个用例如下: 1客户管理用例 2订单管理用例 3发货单管理用例 4销售策略管理用例 5销售计划管理用例 6售后管理用例 结合活动者

14、和用例得到销售管理模块的用例图如下图 3-1 所示。 销售业务员 客户管理 销售策略管理 销售计划管理 售后管理 企业管理者 库存管理模块 生产管理模块 订单管理 发货单管理 工程管理模块 图 2-1 销售管理 use case 图 fig3-1 use case for sales management 3 3 系统架构设计系统架构设计 软件的系统架构是指通过某种特定的技术平台,完成软件系统整体功能的开 发过程。也可以通俗地理解为:总体设计和总体结构布局。 一般而言,软件系统架构有两个要素: 1它是一个软件系统从整体到部分的最高层次的划分。 2建造一个系统所做出的最高层次的,以后难以更改的,

15、商业和技术的决 定。 3.13.1 架构设计目标架构设计目标 软件架构设计要达到如下的目标: 1可行性(feasible)。架构具有可行性是架构设计的基石。 2可靠性(reliable)。软件系统对于用户的商业经营和管理来说极为重 要,因此软件系统必须非常可靠。 3安全行(secure)。软件系统所承担的交易的商业价值极高,系统的安 全性非常重要。 4可定制化(customizable)。同样的一套软件,可以根据客户群的不同 和市场需求的变化进行调整。 5可扩展性(extensible)。在新技术出现的时候,一个软件系统应当允 许导入新技术,从而对现有系统进行功能和性能的扩展。 6可维护性(m

16、aintainable)。软件系统的维护包括两方面,一是排除现 有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可 以有效地降低技术支持的花费。 7可升级性(scalable)。软件必须能够在用户的使用率、用户的数目增 加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可 能性。 8客户体验(customer experience)。软件系统必须易于使用。软件的最 终用户很可能是不具有计算机专业技术的人员。 3.23.2 系统架构设计系统架构设计 下面我们将根据架构设计原则和信息系统原理来建立系统的架构设计模型。 将信息系统中比较关心的对象分层,可分为三层:用

17、户界面层、业务层、数据 访问层(如下图3-2所示),再把各层中的一些公共部分提出来:权限管理、异 常处理,这样得到包图如图3-2-1所示: 用用户户界界面面层层 业业务务逻逻辑辑层层 数数据据访访问问层层 asp.net web forms user interface processing enterprise services business components bisiness entities dal interfacedal factory sql server dal sql server daab 图3-2 系统体系架构图 fig3-2 the diagram of syst

18、em architecture 用用户户界界面面业业务务逻逻辑辑 权权限限管管理理 数数据据访访问问 异异常常处处理理 图3-2-1 销售管理模块包图 fig3-2-1 package diagram of sales management model 1.用户界面包 用户界面包的职责是: (1)与用户的交互,接收用户的各种输入以及输出各种提示信息或处理 结果。 (2)对于输入的数据进行数据校验,过滤非法数据。 (3)向业务处理对象发送处理请求。 用户界面包图展开如图3-3所示: 用用户户界界面面 输入,输出 数据效验 发送业务处理请求 图 3-3 用户界面包展开图 fig3-3 packag

19、e diagram of users interface 用户界面包包含的类见图 2-4: +数据效验() +业务处理() #输入输出元素 #业务代理对象 用用户户界界面面类类 输输入入界界面面输输出出界界面面 图 3-4 用户界面类图 fig3-4 class diagram of users interface 2.业务逻辑包 业务逻辑包的职责是: (1)实现各种业务处理逻辑或处理算法。 (2)验证请求者的权限。 (3)向数据访问对象发送数据持久化操作的请求。 (4)向用户界面层返回处理结果。 业务逻辑包图展开如图3-5所示: 业业务务逻逻辑辑 实现各种业务处理逻辑或处理算法。 验证请求者

20、的权限。 向数据访问对象发送数据持久化操作的请求。 向用户界面层返回处理结果。 图 3-5 业务逻辑包图展开 fig3-5 package diagram of business 业务逻辑包包含的类见图 3-6: +业务处理() #数据库连接对象 #数据库访问对象 业业务务逻逻辑辑类类 +业务处理() #权限管理对象 #业务对象 业业务务代代理理类类 图 3-6 业务逻辑类图 fig3-6 class diagram of business 3.数据访问包 数据访问层的职责是: (1)实现数据的持久化操作。 (2)实现事务处理。 数据访问包图展开如图2-7所示: 数数据据访访问问 实现数据的持

21、久化操作。 实现事务处理。 图 3-7 数据访问包图展开 fig3-7 package diagram of data access 数据访问包包含的类见图 3-8: +开始事务() +提交事务() +回滚事务() 数数据据库库连连接接类类 +读取() +写入() #数据库连接对象 数数据据库库访访问问类类 图 3-8 数据访问类图 fig3-8 class diagram of data access 对于每一个业务处理中需要持久化操作的对象都可以对应为一个数据库访 问对象,在很多业务处理中需要请求多个数据库访问对象来进行数据的读写操 作,而这些操作又必须在同一个事务中,这时需要用同一个数据

22、库连接对象来 进行统一的事务处理。这里的数据库连接类的创建用到了单件(singleton)模 式,保证一个类仅有一个实例,一个客户在同一时刻只能用一个数据库连接对 象。 4.权限管理包 权限管理的主要职责是: (1)验证请求者的请求权限。 (2)提供请求者的权限列表。 权限管理包图展开如图3-9所示: 权权限限管管理理 验证请求者的请求权限 提供请求者的权限列表 图 3-9 权限管理包图展开 fig3-9 package diagram of access authorization 权限管理包包含的类见图 3-10: +登陆() +退出() +是否已构建权限列表() +构建权限列表() -操

23、作员代码 -操作员名称 -权限列表 操操作作员员类类 +验证权限(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 p

24、rocessing 异常处理包包含的类见图 3-12: 异异常常处处理理实实现现 #异常处理对象 异异常常处处理理类类 异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现 图 3-12 异常处理类图 fig3-12 class diagram of exception processing 因为异常处理类型比较多,如:系统异常、数据库异常、业务逻辑异常等, 针对不同类型的异常处理方式也容易变,如:显示错误,记录文本日志,记录 数据库日志等,所以这里使用了桥接(bridge)模式来实现,使各部分的变化

25、比较独立。 3.33.3 系统架构类图系统架构类图 将包图展开,得到类图,它是架构的静态结构图,表达了各个类之间的静 态联系。北鑫星erp系统中的销售管理模块系统架构类图如下图3-13所示。 异异常常处处理理实实现现 #异常处理对象 异异常常处处理理类类 异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现异异常常处处理理实实现现 + 登陆 () + 退出 () + 是否已构建权限列表 () + 构建权限列表 () - 操作员代码 - 操作员名称 - 权限列表 操操作作员员类类 + 读取() + 写入() #数据库连接对象 数

26、数据据库库访访问问类类 + 验证权限 (in 操作员代码 , in 权限列表 ) + 获取权限列表 (in 操作员代码 ) # 操作员对象 权权限限管管理理类类 输输入入界界面面 输输出出界界面面 + 数据效验() + 业务处理() #输入输出元素 # 业务代理对象 用用户户界界面面类类 + 业务处理() #数据库连接对象 #数据库访问对象 业业务务逻逻辑辑类类 + 业务处理() #权限管理对象 # 业务对象 业业务务代代理理类类 + 开始事务() + 提交事务() + 回滚事务() 数数据据库库连连接接类类 图 3-13 系统架构类图 fig3-13 class diagram of sys

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

28、用户的输入请求后,向业务代理对象发送处理请求。 2.业务代理对象接收到请求后,向权限管理对象发送验证权限请求。 3.权限管理对象验证权限后将验证结果返回给业务代理对象。 4.业务代理对象根据验证结果进行以下处理:对于不符合权限的请求则返回提 示信息;对于符合权限的请求,则将请求转发给业务对象。 5.业务对象进行业务处理。对于业务处理中的数据持久化操作,通过访问数据 库访问对象进行操作,期间的任何异常都交给异常处理对象处理。最后返回 处理结果信息给业务代理对象。 6.业务代理对象将处理结果信息返回给用户界面。 系统架构类的交互图如图 4-1 所示: .2 活动者与模块间的交互活动

29、者与模块间的交互 与销售管理模块进行交互的活动者(角色)主要包括销售业务员和企业管 理者。 销售业务员和企业管理者与销售管理模块的交互图如下图 4-2 和图 4-3 所示: 用户界面类业务代理类权限管理类业务逻辑类数据访问类异常处理类 请求业务处理类 权限不符 验证权限 验证结果 权限符合,请求业务处理 业务处理 读取 写入 异常处理 异常处理 消息1 处理结果显示 处理结果显示 图 4-1 系统架构类的交互图 fig4-1 interactive diagram of system architecture class 销售业务员 客户管理订单管理发货单管理 创建客户信息 维护客户信息 查询

30、客户信息 创建订单合同 维护订单合同 售后管理 查询订单合同 创建发货单 维护发货单 查询发货单 修改发货单状态 创建售后信息 维护售后信息 查询售后信息 修改订单状态 图 4-2 销售业务员与销售管理交互图 fig4-2 interactive diagram between salesman and sales management 销售策略管理销售计划管理 创建销售策略 维护销售策略 查询销售策略 创建销售计划 维护销售计划 查询销售计划 企业管理者 图 4-3 企业管理者与销售管理交互图 fig4-3 interactive diagram between business admin

31、istration and sales management 下面对销售业务员、企业管理者参与销售管理活动的情况进行动态建模, 由于篇幅限制,在此仅以销售业务员与销售管理模块中的订单管理进行时序图、 协作图、状态图和活动图的建模。 定单管理主要涉及: 1根据客户订购的产品生成产品订单合同,在发货之前可以修改订单合同, 合同状态为未完成。在发货之后,订单合同完成。 2提供订单的查询功能(按订单编号、订单生成时间、客户名称、操作员编 号等查询) 。 销售业务员创建订单合同的时序图如下图 4-4 所示。 顶层包:销售业务员 登录 订单信息验证 生成订单合同 1:输入用户名和密码 2:提交订购信息 4

32、:提示验证结果 3:验证结果 5:生成订单命令 6:提交订购信息 7:提示生成订单合同成功 图 4-4 销售业务员创建订单合同的时序图 fig4-4 timing diagram for salesman making order .3 系统协作图系统协作图 交互图用来说明系统如何实现一个用例或用例中的一个特殊场景。uml 提 供两类交互图:时序图和协作图。时序图按时间顺序描述系统元素之间的交互; 协作图则按照时间和空间顺序来描述系统元素之间的交互。 根据上节描述的销售业务员创建订单合同的时序图,给出销售业务员创建 订单合同的协作图如下图 4-5 所示。 .4

33、系统状态图系统状态图 状态图是通过类对对象的生命周期建立模型来描述对象随时间变化的动态 行为。状态图显示了一个状态机,它基本上是一个状态机中的元素的一个投影, 也就意味着状态图包括状态机的所有特性。 在订单管理模块中,主要有创建订单合同、修改订单合同状态、查询订单 合同 3 种状态,这三种状态完成过程非常相似,所以下面仅给出销售业务员创 建订单合同的状态图如下图 4-6 所示。 销售业务员 登录 订单信息验证 订单合同生成 1:输入用户名和密码 2:提交订 购信息 3:提示验证结果 4:提交订单生成命令6:提示订单 合同生成 5:提交订单生成命令 图 4-5 销售业务员创建订单合同的协作图 f

34、ig4-5 collaboration diagram for salesman making order 登录系统 输入用户名 和密码错误 登录成功页面 用户名和 密码错误 正确 客户订购信息页 提交客户 订购请求 订单信息验证状态 数据更新状态 订单信息 不完整 提交客户 订购信息 添加到数据库 图 4-6 销售业务员创建订单合同的状态图 fig4-6 state diagram for salesman making order .5 系统活动图系统活动图 活动图是描述活动是如何协同工作的。当一个操作必须完成一系列事情, 而又无法确定以什么样的顺序来完成这些事情时,活动图

35、可以更清晰地描述这 些事情。在订单合同管理模块中,主要涉及销售业务员的活动。 销售业务员首先登录系统,然后查看客户订购信息,根据需要生成订单合 同;还可以对未发货的订单合同进行修改;同时可以查询订单合同相关信息等 活动。完成活动后退出系统,下面给出销售业务员的活动图,如下图 4-7 所示。 登录系统 订单合同管理模块 订单合同生成 订单合同修改 订单合同查询 修改订单合同 生成订单合同 退出订单合同管理 订购信息 是否完整 是 否 是否发货 是否 图 4-7 销售业务员在订单管理模块的活动图 fig4-7 activity diagram for salesman making order 4

36、.24.2 业务逻辑对象类设计业务逻辑对象类设计 .1 发现业务逻辑类发现业务逻辑类 本小节的主要任务是对系统架构类图中的业务逻辑类进行设计,由系统分 析中的 use case 交互图我们可以发现业务逻辑类包括客户类,订单类,发货单 类,销售策略类,销售计划类和售后类。 根据 use case 交互图中的消息找到 对象类相应的方法。 .2 业务逻辑对象类图业务逻辑对象类图 系统业务逻辑对象类图如下图 4-8 所示。 +创建客户信息() +维护客户信息() +查询客户信息() : 客户 -客户编号 -客户名称 -客户类别 -业务员编号 -国家 -省份 -城市 -地

37、址 -联络人 -电话 -传真 -送货地代号 -送货地国家 -送货地省份 -送货地城市 -送货地地址 -送货地联络人 -送货地电话 -送货地传真 客客户户 +创建订单() +维护订单() +查询订单() : 订单 +修改订单() -订单编号 -客户编号 -订单日期 -送货地代号 -送货日期 -物料编号 -订货数量 -币种 -单价 -金额 -是否完成 -实际发货数量 -备注 订订单单 +创建发货单() +维护发货单() +查询发货单() : 发货单 -修改发货单状态() -送货单编号 -客户编号 -送货地代号 -送货日期 -订单编号 -版次 -物料编号 -批号 -仓库 -货位 -送货数量 -包装编

38、号 -包装数量 -包装单价 -包装金额 -是否消耗co -是否完成 -备注 发发货货单单 +创建售后信息() +维护售后信息() +查询售后信息() : 售后 -客户编号 -投诉日期 -目前故障地址 -车主姓名 -车主联系方式 -司机 -司机联系方式 -代理服务单位 -客服负责人 -客服地址 -客服联系方式 -车辆生产厂家 -质保期 -车辆型号 -车架号 -载重量 -购车日期 -使用时间 -产品型号 -产品数量 -故障说明 -是否过保 -初步分析原因 -处理情况 -发货情况 -发货型号 -发货地址 -发货方式 -发货负责人 -收货人 -收货人联系方式 -是否需付服务费用 -是否已办理付款 -旧

39、件返还情况 -检测鉴定结论 -后期处理意见 售售后后 +创建价格策略() +维护价格策略() +查询价格策略() : 销售策略 -客户编号 -物料编号 -价格级别 -优惠单价 销销售售策策略略 +创建销售计划() +维护销售计划() +查询销售计划() : 销售计划 -销售计划号 -物料编号 -需求日期 -预测数量 -消耗数量 -预测区间 -是否完成 -备注 销销售售计计划划 * 11 * 1 1 0.1 1 1 * 图 4-8 销售管理对象类图 fig4-8 object class diagram for sales management 从上面的对象类图中我们发现,这些对象类中都有创建,

40、维护和查询三个 类似的方法,尽管返回值不同,这样我们就可以把这些方法抽象出来做成接口。 优化后的对象类图见图 4-9。 +创建客户信息() +维护客户信息() +查询客户信息() : 客户 -客户编号 -客户名称 -客户类别 -业务员编号 -国家 -省份 -城市 -地址 -联络人 -电话 -传真 -送货地代号 -送货地国家 -送货地省份 -送货地城市 -送货地地址 -送货地联络人 -送货地电话 -送货地传真 客客户户 +创建订单() +维护订单() +查询订单() : 订单 +修改订单() -订单编号 -客户编号 -订单日期 -送货地代号 -送货日期 -物料编号 -订货数量 -币种 -单价 -

41、金额 -是否完成 -实际发货数量 -备注 订订单单 +创建发货单() +维护发货单() +查询发货单() : 发货单 -修改发货单状态() -送货单编号 -客户编号 -送货地代号 -送货日期 -订单编号 -版次 -物料编号 -批号 -仓库 -货位 -送货数量 -包装编号 -包装数量 -包装单价 -包装金额 -是否消耗co -是否完成 -备注 发发货货单单 +创建售后信息() +维护售后信息() +查询售后信息() : 售后 -客户编号 -投诉日期 -目前故障地址 -车主姓名 -车主联系方式 -司机 -司机联系方式 -代理服务单位 -客服负责人 -客服地址 -客服联系方式 -车辆生产厂家 -质保

42、期 -车辆型号 -车架号 -载重量 -购车日期 -使用时间 -产品型号 -产品数量 -故障说明 -是否过保 -初步分析原因 -处理情况 -发货情况 -发货型号 -发货地址 -发货方式 -发货负责人 -收货人 -收货人联系方式 -是否需付服务费用 -是否已办理付款 -旧件返还情况 -检测鉴定结论 -后期处理意见 售售后后 +创建价格策略() +维护价格策略() +查询价格策略() : 销售策略 -客户编号 -物料编号 -价格级别 -优惠单价 销销售售策策 +创建销售计划() +维护销售计划() +查询销售计划() : 销售计划 -销售计划号 -物料编号 -需求日期 -预测数量 -消耗数量 -预测

43、区间 -是否完成 -备注 销销售售计计划划 * 11 * 1 1 0.1 1 1 * +创建(in 创建对象 : 业务基类) +维护(in 维护对象 : 业务基类) +查询() : 业务基类 基基础础操操作作 业业务务基基类类 图 4-9 优化的销售管理对象类图 fig4-9 optimal object class diagram for sales management 4.34.3 数据库设计数据库设计 关系型数据库是目前应用最广泛的数据库。既然是面向对象系统设计,数 据库设计当然也要是面向对象的。现在要考虑如何对类进行持久化操作,即如 何将对象类映射到关系数据库的二维表。目前可以采用数

44、据库建模工具来实现, 象powerdesigner、rose 等。 .1 erer 图图 客户类,订单类,售后类,销售单类,销售计划类和销售策略类都是基础 类,可以直接映射为一个表。架构设计中的操作员类是一个用于管理系统操作 角色的类,也要直接映射为一个表。销售管理模块的 er 模型图见图 4-10。 操作员表 订单表发货单表销售策略表销售计划表客户表 订货 发货 制定销售策略 记录客户 制定销售计划 * * * 1 1 1 1 1 * 图 4-10 销售管理模块 er 图 fig4-10 e-r diagram of sales management .2 物

45、理表结构图物理表结构图 将销售管理 er 模型中的实体转换为物理表,得到物理表结构如下: customer(客户信息表) 表 4-1(table 4-1) 主键主键字段名称字段名称数据类型数据类型长度长度字段说明 1customeridvarchar20 客户编号 customernamevarchar30 客户名称 customertypevarchar20 客户类别 salesmanidvarchar10 业务员编号 countryvarchar30 国家 provincevarchar30 省份 cityvarchar30 城市 addressvarchar50 地址 contractv

46、archar10 联络人 telvarchar30 电话 faxvarchar25 传真 1shippingidvarchar25 送货地代号 shippingcountryvarchar30 送货地国家 shippingprovincevarchar30 送货地省份 shippingcityvarchar30 送货地城市 shippingaddressvarchar50 送货地地址 shippingcontractvarchar10 送货地联络人 shippingtelvarchar30 送货地电话 shippingfaxvarchar25 送货地传真 co(订单表) 表 4-2(table

47、 4-2) 主键主键字段名称字段名称数据类型数据类型长度长度字段说明字段说明 1coidvarchar20 订单编号 customeridvarchar20 客户编号 codatedatetime 订单日期 1shippingidnvarchar25 送货地代号 delverydatedatetime 送货日期 1itemvarchar20 物料编号 coqtydecimal(14,2) 订货数量 currencyvarchar10 币种 pricedecimal(18,4) 单价 moneydecimal(18,4) 金额 finishbit1 是否完成 delqtydecimal(14,2

48、) 实际发货数量 remarksvarchar50 备注 delivery(发货单表) 表 4-3(table 4-3) 主键主键字段名称字段名称数据类型数据类型长度长度字段说明字段说明 1delidvarchar20 送货单编号 customeridvarchar20 客户编号 1shippingidvarchar25 送货地代号 deldatedatetime 送货日期 1coidvarchar20 订单编号 revvarchar20 版次 1itemvarchar20 物料编号 lotnovarchar30 批号 storevarchar20 仓库 binvarchar20 货位 del

49、qtydecimal(14,2) 送货数量 packageidvarchar20 包装编号 packageqtydecimal(14,2)20 包装数量 packagepricedecimal(18,4) 包装单价 packagemoneydecimal(18,4) 包装金额 ccobit 1(是 1,否 0)是否消耗 co finishbit 是否完成 remarksvarchar50 备注 marketing(营销策略表) 表 4-4(table 4-4) 主键主键字段名称字段名称数据类型数据类型长度长度字段说明字段说明 1customeridvarchar20 客户编号 1itemvar

50、char20 物料编号 pricelevelint 价格级别 cutpricedecimal(18,4) 优惠单价 4-5(table 4-5) 主键主键字段名称字段名称数据类型数据类型长度长度字段说明字段说明 1sfidvarchar20 销售计划号 1itemvarchar20 物料编号 fcdatedatetime 需求日期 fcqtydecimal(14,2) 预测数量 cosqtydecimal(14,2) 消耗数量 fpvarchar10 预测区间 finishbit1 是否完成 remarksvarchar50 备注 afterservice(售后服务表) 表 4-6(table

51、 4-6) 主键主键字段名称字段名称数据类型数据类型长度长度字段说明字段说明 1customeridvarchar20 客户编号 1indictdatedatetime 投诉日期 companyvarchar30 用户单位 coaddressvarchar50 公司地址 faultaddressvarchar50 目前故障地址 ownernamevarchar10 车主姓名 ownertelvarchar50 车主联系方式 drivernamevarchar10 司机 drivertelvarchar50 司机联系方式 customerservicevarchar30 代理服务单位 manag

52、ervarchar10 客服负责人 csaddressvarchar50 客服地址 cstelvarchar50 客服联系方式 carfactoryvarchar30 车辆生产厂家 servicetermint4 质保期 cartypevarchar30 车辆型号 1bodyworkvarchar30 车架号 loadweightdecimal(14,2) 载重量 buydatedatetime 购车日期 usetimeint4 使用时间 productmodelvarchar30 产品型号 productqtydecimal(14,2) 产品数量 faultvarchar30 故障说明 ov

53、erservicebit1 是否过保 simplereasonntext 初步分析原因 dealstatevarchar30 处理情况 delstatebit1 发货情况 delmodelvarchar30 发货型号 deladdressvarchar50 发货地址 delmodevarchar20 发货方式 delmanagervarchar10 发货负责人 consigneevarchar10 收货人 consigneetelvarchar50 收货人联系方 式 expensebit1 是否需付服务 费用 paybit1 是否已办理付 款 backstatevarchar50 旧件返还情况

54、 checkconclusionntext 检测鉴定结论 dealideantext 后期处理意见 users(用户表) 表 4-7(table 4-7) 主键主键字段名称字段名称数据类型数据类型长度长度字段说明字段说明 1usernamevarchar20 用户名 1passwordvarchar100 密码 realnamevarchar20 真实姓名 departmentidvarchar20 部门编号 authorityint 权限级别 isauthorityint 是否授权 registerdatedatetime 注册日期 modifydatedatetime 修改日期 4.44.

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

56、 server2000 是一个具备完全 web 支持的数据库产品,其特点如下: 真正的客户机/服务器体系结构。 1图形化用户界面,使系统管理和数据库管理更加直观、简单。 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地 2sql server 与 windows nt 完全集成,利用了 nt 的许多功能,如发送 和接受消息,管理登录安全性等。sql server 也可以很好地与 microsoft backoffice 产品集成。 3很好的伸缩性,可跨越从运行 windows 95/98 的膝上型电脑 windows 2000 的大型多处理器等多种平台使用。 4对 web 技术的支持

57、,使用户能够很容易地将数据库中的数据发布到 web 页 面上。 5sql server 提供数据仓库功能,这个功能只在 oracle 和其他更昂贵的 dbms 中才有。 .3 系统网络架构设计系统网络架构设计 本 erp 系统采用 b/s 结构,系统网络架构图见图 4-11。 internet 交换机 web服务器数据库服务器 客户机 客户机 客户机 防火墙 交换机 交换机 路由器 图 4-11 系统网络架构图 fig4-11 net architecture diagram of system 客户机配置情况如下表 4-8 所示。 (table 4-8) 支持软件安装情况如下

58、表 4-9 所示。 (table 4-9) 服务器 1os:ms windows 2003 server 2sql server 2000 数据库管理软件 客户机 1os:ms windows xp professional/ ms windows 2000 professional 2microsoft office 2003adobe 6.0ie 5.0 以上 5 5 编码编码 5.15.1 概述开发工具及编程脚本概述开发工具及编程脚本 简述编程脚本的特点,不宜占用过多的篇幅。 5.25.2 脚本习惯说明脚本习惯说明 如变量的取名规则,全局变量说明等。 5.35.3 脚本脚本 开发工具的控

59、件、驱动事件、脚本。如果脚本量较大,则可作为附录附在论文的后 面。 6 6 测试测试 6.16.1 测试原则及测试方法概述测试原则及测试方法概述 软件测试是为了发现错误而不断执行程序的过程。或者说,软件测试是根据软件开 发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期 的输出结果) ,并利用这些测试用例去运行程序,以发现程序错误的过程按顺序逐个对测 试项目做出说明。软件测试过程应该遵循如下的原则: 1 尽早地和不断地进行软件测试。 不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发 的各个阶段中。坚持在软件开发的各个阶段的技术评审,这样才能在开

60、发过程中尽早发 现和预防错误,把出现的错误克服在早期,杜绝某些发生错误的隐患。 2 测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。 测试以前应当根据测试的要求选择测试用例(test case) ,用来检验程序员编制的程 序,因此不但需要测试的输入数据,而且需要针对这些输入数据的预期输出结果。 3 程序员应避免检查自己的程序。 程序员应尽可能避免测试自己编写的程序,程序开发小组也应尽可能避免测试本小 组开发的程序。如果条件允许,最好建立独立的软件测试小组或测试机构。这点不能与 程序的调试(debuging)相混淆。调试由程序员自己来做可能更有效。 4 在设计测试用例时,应当包括合

温馨提示

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

评论

0/150

提交评论