版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)指导规范——面向对象部分(适用于软件工程相关专业)辽宁工程技术大学软件学院2009年3月PAGEIII引言编写本书的主要目的为正确引导学生用科学、正确、规范的方式编写毕业论文,并为以后从事软件工程项目的开发打下良好的基础。为引导同学们正确使用本指导书,做如下说明:1.本书是按照软件工程及科研项目的要求进行编写。2.本规范的适用范围仅为基于企业管理信息系统的应用软件开发方向,网站制作、网络规划与集成、监测监控方向、嵌入式技术、基于计算机外围设备的软件编程等方向的论文指导规范可参考此规范的部分章节,但是,内容、步骤等可以不同。3.本书所提供的样例部分仅为了说明问题而引用,仅供学生参考,万勿照搬。4.有些内容,设计中可能没有涉及到,可简单交待或适当取舍。5.本指导书的制定依据《企业管理信息系统开发规范》、《国家经济信息系统设计与应用标准规范》、《计算机软件产品开发规范》(1999)等资料。6.样例部分内容如果不特殊说明,全部来自于《葫芦岛自来水公司用水管理信息系统设计方案》、《阜新北星高压泵有限公司“北鑫星”ERP系统设计方案》及《火电工程质量检验评定系统技术报告》。7.本规范考虑到学生的调研情况等因素,可能没有实际的可行性分析的过程及项目,故《可行性分析》一章略过,学生写论文时,这一章亦可不写。8.本规范由邱云飞老师、张宇老师、曲海成、刘玲玲老师编写,刘万军教授审核了全部内容,王永贵副教授等提出了修改意见。鉴于时间仓促,书中肯定存在缺陷和不足之处,希望各位老师、同学给予批评指正。编者2009年4月软件工程专业毕业论文指导规范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公司组织机构图Fig1-1DiagramoftheCompany'sOrganizationalStructure1.3系统业务流程经过前期调研分析和综合其它各方面相关理论知识,给出整个ERP系统的业务流程图如下图1-2所示:整个ERP系统的开发主要围绕上述业务流程进行开发,开发过程采用面向对象的开发技术,具体开发过程见下面的章节。1.4系统功能模块根据上述业务流程,整个ERP系统抽象出以下几个功能模块,如图1-3所示。下面模块划分只是抽象意义上的划分,各模块之间需要共享数据,相互协作,完成整个系统流程,单一事物功能模块间是相互独立的。图1-2ERP系统流程Fig1-2theWorkflowofERPSystem图1-3系统功能模块Fig1-3FunctionModelsofSystem2系统需求分析2.1需求陈述通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈述应该阐明“做什么”而不是“怎样做”。它应该描述用户的需求而不是提出解决问题的方法。应该指出哪些是系统必要的性质,哪些是任选的性质。应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,因为这样做将限制实现的灵活性。对系统性能及系统与外界环境交互协议的描述,是合适的需求。此外,对采用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求。下面以北鑫星ERP系统中的销售管理模块为例说明如何进行系统需求陈述。根据调研分析得知,北鑫星ERP系统销售管理模块共需要完成5项中心任务,即:客户管理,订单管理,发货单管理,销售策略管理,销售计划管理和售后服务管理。每项任务具体描述如下:1.客户管理客户管理主要提供客户信息的录入,修改和查询服务,同时为订单管理和售后服务管理提供信息依据。2.订单管理根据客户订购的产品生成产品订单合同,在发货之前可以修改订单合同,合同状态为未完成。在发货之后,订单合同完成。该模块需要提供订单的生成,修改和查询,以及订单状态的修改。3.发货单管理在收到货款之后,填写发货单,配货。该模块需要提供发货单的生成,修改和查询,以及发货单状态的修改。4.优惠策略制定第一种优惠方式是客户如果购买的产品超过一定数量,客户再购买产品的时候,对产品的单价给出一定的优惠;第二种优惠方式是年终对所有客户购买的产品进行统计,如果超过一定数量,将以现金的形式给客户以奖励。5.销售计划管理每年根据往年同期制定当前的销售计划。该模块主要提供计划的制定,修改和查询服务。6.售后服务管理产品在使用过程中出现问题后,记录产品的相关信息包括使用的客户信息,产品自身信息以及处理方案。系统任务确定之后,下面的工作就是进行系统分析。面向对象的分析的主要任务是分析问题领域,找出问题解决方案,发现对象,分析对象的内部构成和外部关系,建立软件系统的对象模型。分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重要工作。分析问题领域的结果是对问题领域的清晰,精确的定义,明确目标系统将做什么。分析问题领域的主要任务是:对问题领域进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围,功能需求,性能需求,应用环境及假设条件等。实施面向对象分析的一般步骤如下:1.分析用户需求,建立UseCase并通过用例图来描述用户的需求。2.通过建立域模型以识别类与对象,从而识别系统中的各种对象。3.确定对象的内部特征,从而定义出各个属性与服务,以进一步细化类的结构。4.识别对象之间的关系并使用设计模式对类的结构进行优化和改造。5.获得对象之间的行为关系,绘制出各种动态图形(顺序图、协作图、状态图等)。2.2UseCase建模2.2.1定义活动者根据销售管理模块的需求可以确定4个活动者,即销售业务员,企业管理者,生产管理模块和库存管理模块。销售业务员使用销售管理模块记录客户信息,填写订单合同,填写发货单和记录售后信息,以及查询相应的信息。企业管理者使用销售管理模块查询订单信息,发货信息和客户信息,制定销售优惠策略,制订销售计划。生产管理模块是销售管理模块的外部系统活动者,从销售管理模块获得订单信息和销售计划。库存管理模块是销售管理模块的外部系统活动者,从销售管理模块获得订单信息和发货信息。工程管理模块是销售管理模块的外部系统活动者,为销售管理模块提供物料信息2.2.2UseCase图根据系统需求分析,结合上节系统活动者的定义分析,得到系统销售管理模块的六个用例如下:1.客户管理用例2.订单管理用例3.发货单管理用例4.销售策略管理用例5.销售计划管理用例6.售后管理用例结合活动者和用例得到销售管理模块的用例图如下图3-1所示。图2-1销售管理UseCase图Fig3-1UseCaseforSalesManagement3系统架构设计软件的系统架构是指通过某种特定的技术平台,完成软件系统整体功能的开发过程。也可以通俗地理解为:总体设计和总体结构布局。一般而言,软件系统架构有两个要素:1.它是一个软件系统从整体到部分的最高层次的划分。2.建造一个系统所做出的最高层次的,以后难以更改的,商业和技术的决定。3.1架构设计目标软件架构设计要达到如下的目标:1.可行性(Feasible)。架构具有可行性是架构设计的基石。2.可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。3.安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。4.可定制化(Customizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。5.可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。6.可维护性(Maintainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。7.可升级性(Scalable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。8.客户体验(CustomerExperience)。软件系统必须易于使用。软件的最终用户很可能是不具有计算机专业技术的人员。3.2系统架构设计下面我们将根据架构设计原则和信息系统原理来建立系统的架构设计模型。将信息系统中比较关心的对象分层,可分为三层:用户界面层、业务层、数据访问层(如下图3-2所示),再把各层中的一些公共部分提出来:权限管理、异常处理,这样得到包图如图3-2-1所示:图3-2系统体系架构图Fig3-2TheDiagramofSystemArchitecture图3-2-1销售管理模块包图Fig3-2-1PackageDiagram1.用户界面包用户界面包的职责是:(1)与用户的交互,接收用户的各种输入以及输出各种提示信息或处理结果。(2)对于输入的数据进行数据校验,过滤非法数据。(3)向业务处理对象发送处理请求。用户界面包图展开如图3-3所示:图3-3用户界面包展开图Fig3-3PackageDiagramofUsersInterface用户界面包包含的类见图2-4:图3-4用户界面类图Fig3-4ClassDiagramofUsersInterface2.业务逻辑包业务逻辑包的职责是:(1)实现各种业务处理逻辑或处理算法。(2)验证请求者的权限。(3)向数据访问对象发送数据持久化操作的请求。(4)向用户界面层返回处理结果。业务逻辑包图展开如图3-5所示:图3-5业务逻辑包图展开Fig3-5PackageDiagramofBusiness业务逻辑包包含的类见图3-6:图3-6业务逻辑类图Fig3-6ClassDiagramofBusiness3.数据访问包数据访问层的职责是:(1)实现数据的持久化操作。(2)实现事务处理。数据访问包图展开如图2-7所示:图3-7数据访问包图展开Fig3-7PackageDiagramofDataAccess数据访问包包含的类见图3-8:图3-8数据访问类图Fig3-8ClassDiagramofDataAccess对于每一个业务处理中需要持久化操作的对象都可以对应为一个数据库访问对象,在很多业务处理中需要请求多个数据库访问对象来进行数据的读写操作,而这些操作又必须在同一个事务中,这时需要用同一个数据库连接对象来进行统一的事务处理。这里的数据库连接类的创建用到了单件(Singleton)模式,保证一个类仅有一个实例,一个客户在同一时刻只能用一个数据库连接对象。4.权限管理包权限管理的主要职责是:(1)验证请求者的请求权限。(2)提供请求者的权限列表。权限管理包图展开如图3-9所示:图3-9权限管理包图展开Fig3-9PackageDiagramofAccessAuthorization权限管理包包含的类见图3-10:图3-10权限管理类图Fig3-10ClassDiagramofAccessAuthorization5.异常处理包异常处理的职责:(1)汇报运行时的详细异常信息。(2)记录异常处理日志。异常处理包图展开如图3-11所示:图3-11异常处理包图展开Fig3-11PackageDiagramofExceptionProcessing异常处理包包含的类见图3-12:图3-12异常处理类图Fig3-12ClassDiagramofExceptionProcessing因为异常处理类型比较多,如:系统异常、数据库异常、业务逻辑异常等,针对不同类型的异常处理方式也容易变,如:显示错误,记录文本日志,记录数据库日志等,所以这里使用了桥接(Bridge)模式来实现,使各部分的变化比较独立。3.3系统架构类图将包图展开,得到类图,它是架构的静态结构图,表达了各个类之间的静态联系。北鑫星ERP系统中的销售管理模块系统架构类图如下图3-13所示。图3-13系统架构类图Fig3-13ClassDiagramofSystemArchitecture4系统详细设计本部分设计主要涉及软件系统的动态建模和系统类图的详细设计。软件系统的动态模型分为交互模型和活动状态模型,其中的交互模型主要由顺序图和协作图构成,活动状态模型主要包括活动图和状态图。通过为软件系统项目建立动态模型,从而产生体现系统动态行为的可视化分析结果——包括对象的时间特性和对象为完成目标任务而相互进行通信的机制、对象行为的改变和状态变化情况,以及对象可能出现的各种活动状况等信息。4.1系统交互图4.1.1系统架构类交互图系统架构类的工作流程:1.用户界面对象在接收了用户的输入请求后,向业务代理对象发送处理请求。2.业务代理对象接收到请求后,向权限管理对象发送验证权限请求。3.权限管理对象验证权限后将验证结果返回给业务代理对象。4.业务代理对象根据验证结果进行以下处理:对于不符合权限的请求则返回提示信息;对于符合权限的请求,则将请求转发给业务对象。5.业务对象进行业务处理。对于业务处理中的数据持久化操作,通过访问数据库访问对象进行操作,期间的任何异常都交给异常处理对象处理。最后返回处理结果信息给业务代理对象。6.业务代理对象将处理结果信息返回给用户界面。系统架构类的交互图如图4-1所示:4.1.2活动者与模块间的交互与销售管理模块进行交互的活动者(角色)主要包括销售业务员和企业管理者。销售业务员和企业管理者与销售管理模块的交互图如下图4-2和图4-3所示:图4-1系统架构类的交互图Fig4-1InteractiveDiagramofSystemArchitectureClass图4-2销售业务员与销售管理交互图Fig4-2InteractiveDiagrambetweenSalesmanandSalesManagement图4-3企业管理者与销售管理交互图Fig4-3InteractiveDiagrambetweenBusinessAdministrationandSalesManagement下面对销售业务员、企业管理者参与销售管理活动的情况进行动态建模,由于篇幅限制,在此仅以销售业务员与销售管理模块中的订单管理进行时序图、协作图、状态图和活动图的建模。定单管理主要涉及:1.根据客户订购的产品生成产品订单合同,在发货之前可以修改订单合同,合同状态为未完成。在发货之后,订单合同完成。2.提供订单的查询功能(按订单编号、订单生成时间、客户名称、操作员编号等查询)。销售业务员创建订单合同的时序图如下图4-4所示。图4-4销售业务员创建订单合同的时序图Fig4-4TimingDiagramforSalesmanMakingOrder4.1.3系统协作图交互图用来说明系统如何实现一个用例或用例中的一个特殊场景。UML提供两类交互图:时序图和协作图。时序图按时间顺序描述系统元素之间的交互;协作图则按照时间和空间顺序来描述系统元素之间的交互。根据上节描述的销售业务员创建订单合同的时序图,给出销售业务员创建订单合同的协作图如下图4-5所示。4.1.4系统状态图状态图是通过类对对象的生命周期建立模型来描述对象随时间变化的动态行为。状态图显示了一个状态机,它基本上是一个状态机中的元素的一个投影,也就意味着状态图包括状态机的所有特性。在订单管理模块中,主要有创建订单合同、修改订单合同状态、查询订单合同3种状态,这三种状态完成过程非常相似,所以下面仅给出销售业务员创建订单合同的状态图如下图4-6所示。图4-5销售业务员创建订单合同的协作图Fig4-5CollaborationDiagramforSalesmanMakingOrder图4-6销售业务员创建订单合同的状态图Fig4-6StateDiagramforSalesmanMakingOrder4.1.5系统活动图活动图是描述活动是如何协同工作的。当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。在订单合同管理模块中,主要涉及销售业务员的活动。销售业务员首先登录系统,然后查看客户订购信息,根据需要生成订单合同;还可以对未发货的订单合同进行修改;同时可以查询订单合同相关信息等活动。完成活动后退出系统,下面给出销售业务员的活动图,如下图4-7所示。图4-7销售业务员在订单管理模块的活动图Fig4-7ActivityDiagramforSalesmanMakingOrder4.2业务逻辑对象类设计4.2.1发现业务逻辑类本小节的主要任务是对系统架构类图中的业务逻辑类进行设计,由系统分析中的UseCase交互图我们可以发现业务逻辑类包括客户类,订单类,发货单类,销售策略类,销售计划类和售后类。根据UseCase交互图中的消息找到对象类相应的方法。4.2.2业务逻辑对象类图系统业务逻辑对象类图如下图4-8所示。图4-8销售管理对象类图Fig4-8ObjectClassDiagramforSalesManagement从上面的对象类图中我们发现,这些对象类中都有创建,维护和查询三个类似的方法,尽管返回值不同,这样我们就可以把这些方法抽象出来做成接口。优化后的对象类图见图4-9。图4-9优化的销售管理对象类图Fig4-9OptimalObjectClassDiagramforSalesManagement4.3数据库设计关系型数据库是目前应用最广泛的数据库。既然是面向对象系统设计,数据库设计当然也要是面向对象的。现在要考虑如何对类进行持久化操作,即如何将对象类映射到关系数据库的二维表。目前可以采用数据库建模工具来实现,象PowerDesigner、Rose等。4.3.1ER图客户类,订单类,售后类,销售单类,销售计划类和销售策略类都是基础类,可以直接映射为一个表。架构设计中的操作员类是一个用于管理系统操作角色的类,也要直接映射为一个表。销售管理模块的ER模型图见图4-10。图4-10销售管理模块ER图Fig4-10E-RDiagramofSalesManagement4.3.2物理表结构图将销售管理ER模型中的实体转换为物理表,得到物理表结构如下:
Customer(客户信息表)表4-1(Table4-1)主键字段名称数据类型长度字段说明1CustomerIDvarchar20客户编号CustomerNamevarchar30客户名称CustomerTypevarchar20客户类别SalesmanIDvarchar10业务员编号Countryvarchar30国家Provincevarchar30省份Cityvarchar30城市Addressvarchar50地址Contractvarchar10联络人Telvarchar30电话Faxvarchar25传真1ShippingIDvarchar25送货地代号ShippingCountryvarchar30送货地国家ShippingProvincevarchar30送货地省份ShippingCityvarchar30送货地城市ShippingAddressvarchar50送货地地址ShippingContractvarchar10送货地联络人ShippingTelvarchar30送货地电话ShippingFaxvarchar25送货地传真CO(订单表)表4-2(Table4-2)主键字段名称数据类型长度字段说明1COIDvarchar20订单编号CustomerIDvarchar20客户编号CODatedatetime订单日期1ShippingIDnvarchar25送货地代号DelveryDatedatetime送货日期1Itemvarchar20物料编号COQtydecimal(14,2)订货数量Currencyvarchar10币种Pricedecimal(18,4)单价Moneydecimal(18,4)金额Finishbit1是否完成DelQtydecimal(14,2)实际发货数量Remarksvarchar50备注Delivery(发货单表)表4-3(Table4-3)主键字段名称数据类型长度字段说明1DelIDvarchar20送货单编号CustomerIDvarchar20客户编号1ShippingIDvarchar25送货地代号DelDatedatetime送货日期1COIDvarchar20订单编号Revvarchar20版次1Itemvarchar20物料编号LotNovarchar30批号Storevarchar20仓库Binvarchar20货位DelQtydecimal(14,2)送货数量PackageIDvarchar20包装编号PackageQtydecimal(14,2)20包装数量PackagePricedecimal(18,4)包装单价PackageMoneydecimal(18,4)包装金额Ccobit1(是1,否0)是否消耗COFinishbit是否完成Remarksvarchar50备注Marketing(营销策略表)表4-4(Table4-4)主键字段名称数据类型长度字段说明1CustomerIDvarchar20客户编号1Itemvarchar20物料编号PriceLevelint价格级别CutPricedecimal(18,4)优惠单价4-5(Table4-5)主键字段名称数据类型长度字段说明1SFIDvarchar20销售计划号1Itemvarchar20物料编号FcDatedatetime需求日期FcQtydecimal(14,2)预测数量CosQtydecimal(14,2)消耗数量FPvarchar10预测区间Finishbit1是否完成Remarksvarchar50备注AfterService(售后服务表)表4-6(Table4-6)主键字段名称数据类型长度字段说明1CustomerIDvarchar20客户编号1IndictDatedatetime投诉日期Companyvarchar30用户单位CoAddressvarchar50公司地址FaultAddressvarchar50目前故障地址OwnerNamevarchar10车主姓名OwnerTelvarchar50车主联系方式DriverNamevarchar10司机DriverTelvarchar50司机联系方式CustomerServicevarchar30代理服务单位Managervarchar10客服负责人CSAddressvarchar50客服地址CSTelvarchar50客服联系方式CarFactoryvarchar30车辆生产厂家ServiceTermint4质保期CarTypevarchar30车辆型号1Bodyworkvarchar30车架号LoadWeightdecimal(14,2)载重量BuyDatedatetime购车日期UseTimeint4使用时间ProductModelvarchar30产品型号ProductQtydecimal(14,2)产品数量Faultvarchar30故障说明OverServicebit1是否过保SimpleReasonntext初步分析原因DealStatevarchar30处理情况DelStatebit1发货情况DelModelvarchar30发货型号DelAddressvarchar50发货地址DelModevarchar20发货方式DelManagervarchar10发货负责人Consigneevarchar10收货人ConsigneeTelvarchar50收货人联系方式Expensebit1是否需付服务费用Paybit1是否已办理付款BackStatevarchar50旧件返还情况CheckConclusionntext检测鉴定结论DealIdeantext后期处理意见Users(用户表)表4-7(Table4-7)主键字段名称数据类型长度字段说明1UserNamevarchar20用户名1Passwordvarchar100密码RealNamevarchar20真实姓名DepartmentIDvarchar20部门编号Authorityint权限级别ISAuthorityint是否授权RegisterDatedatetime注册日期ModifyDatedatetime修改日期4.4开发环境的选择4.4.1系统开发工具本系统采用VisualStuido2005作为ERP系统开发工具。VisualStudio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。使用VisualStudio2005,专业开发人员能够:使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境,在统一的开发环境中开发并调试多层次的服务器应用程序使用集成的可视化数据库设计和报告工具,创建SQLServer2005解决方案4.4.2数据库的选择SQLServer2000是一个具备完全Web支持的数据库产品,其特点如下:真正的客户机/服务器体系结构。1.图形化用户界面,使系统管理和数据库管理更加直观、简单。丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地2.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。3.很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑Windows2000的大型多处理器等多种平台使用。4.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。5.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。4.4.3系统网络架构设计本ERP系统采用B/S结构,系统网络架构图见图4-11。图4-11系统网络架构图Fig4-11NetArchitectureDiagramofSystem客户机配置情况如下表4-8所示。(Table4-8)支持软件安装情况如下表4-9所示。(Table4-9)服务器OS:MsWindows2003ServerSQLServer2000数据库管理软件客户机OS:MsWindowsxpProfessional/MsWindows2000ProfessionalMicrosoftoffice2003Adobe6.0IE5.0以上5编码5.1概述开发工具及编程脚本 简述编程脚本的特点,不宜占用过多的篇幅。5.2脚本习惯说明如变量的取名规则,全局变量说明等。5.3脚本开发工具的控件、驱动事件、脚本。如果脚本量较大,则可作为附录附在论文的后面。6测试6.1测试原则及测试方法概述软件测试是为了发现错误而不断执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程按顺序逐个对测试项目做出说明。软件测试过程应该遵循如下的原则:1.尽早地和不断地进行软件测试。不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中。坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期,杜绝某些发生错误的隐患。2.测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。测试以前应当根据测试的要求选择测试用例(Testcase),用来检验程序员编制的程序,因此不但需要测试的输入数据,而且需要针对这些输入数据的预期输出结果。3.程序员应避免检查自己的程序。程序员应尽可能避免测试自己编写的程序,程序开发小组也应尽可能避免测试本小组开发的程序。如果条件允许,最好建立独立的软件测试小组或测试机构。这点不能与程序的调试(debuging)相混淆。调试由程序员自己来做可能更有效。4.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。合理的输入条件是指能验证程序正确的输入条件,不合理的输入条件是指异常的,临界的,可能引起问题异变的输入条件。软件系统处理非法命令的能力必须在测试时受到检验。用不合理的输入条件测试程序时,往往比用合理的输入条件进行测试能发现更多的错误。5.充分注意测试中的群集现象。在被测程序段中,若发现错误数目多,则残存错误数目也比较多。这种错误群集性现象,已为许多程序的测试实践所证实。根据这个规律,应当对错误群集的程序段进行重点测试,以提高测试投资的效益。6.严格执行测试计划,排除测试的随意性。测试之前应仔细考虑测试的项目,对每一项测试做出周密的计划,包括被测程序的功能、输入和输出、测试内容、进度安排、资源要求、测试用例的选择、测试的控制方式和过程等,还要包括系统的组装方式、跟踪规程、调试规程,回归测试的规定,以及评价标准等。对于测试计划,要明确规定,不要随意解释。7.应当对每一个测试结果做全面检查。有些错误的征兆在输出实测结果时已经明显地出现了,但是如果不仔细地全面地检查测试结果,就会使这些错误被遗漏掉。所以必须对预期的输出结果明确定义,对实测的结果仔细分析检查,抓住征侯,暴露错误。8.妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。测试过程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。图6-1显示出软件测试经历的4个步骤。图6-1软件测试的过程Fig6-1Softwaretestsprocess软件测试的种类大致可以分为人工测试和基于计算机的测试。而基于计算机的测试由可以分为白盒测试和黑盒测试。1.黑盒测试根据软件产品的功能设计规格,在计算机上进行测试,以证实每个实现了的功能是否符合要求。这种测试方法就是黑盒测试。黑盒测试意味着测试要在软件的接口处进行。就是说,这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求分析规格说明,检查程序的功能是否符合它的功能说明。用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。2.白盒测试根据软件产品的内部工作过程,在计算机上进行测试,以证实每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。这种测试方法就是白盒测试。白盒测试把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。以上是测试的内容的概述,在论文中,要写你用到的测试方法及过程。6.2测试项目测试用例1.模块名称。2.操作过程及数据。3.预期结果4.实际结果5.偏差6.用例类别下面以银行业务《XXXXXX银行帐务系统》进行说明,鉴于本用例是一个计划用例,故没有给出实际的测试结果。表6-1系统测试案例tab6-1systemtestscase模块测试用例描述操作过程及数据预期结果用例类别银行利率维护查询对于各字段分别输入正常值进行查询。进入“银行利率维护-添加”界面,分别在“利率类型”、“开始时间”、“终止时间”、“利率”、“维护人”、“维护日期”输入域中输入正常值,然后进行“查询”。查询成功,查询出的利率信息被显示到“银行利率维护”列表中。功能点对于多字段进行组合查询进入“银行利率维护-添加”界面,分别以下列条件进行组合查询:
1、“利率类型”和“维护日期”;
2、“开始时间”和“利率”;
3、“终止时间”、“维护人”和“维护日期”,
然后进行“查询”。可以根据条件查询出结果,查询出的利率信息被显示到“银行利率维护”列表中。功能点对“开始时间”进行查询,但其中的“年份”输入不合法。进入“银行利率维护-添加”界面,在“开始时间”中输入以下值(其它输入域为空):
1、1600-05-05;
2、20042-05-05,
其它的输入域输入正常值,然后进行“查询”。不能查询成功,系统提示:开始时间的“年份”输入不正确。界面校验对“开始时间”进行查询,但其中的“月份”输入不合法。进入“银行利率维护-添加”界面,在“开始时间”中输入以下值(其它输入域为空):
1、2004-13-05;
2、2004-5-05,
其它的输入域输入正常值,然后进行“查询”。不能查询成功,系统提示:开始时间的“月份”格式不正确。界面校验当“维护日期”为空时进行查询。进入“银行利率维护-添加”界面,在“维护日期”中输入以下值(其它输入域为空):
1、空;
2、空格;
然后进行“查询”。未知界面校验对查询结果进行操作_添加对查询结果进行操作进入“银行利率维护-添加”界面,在查询出结果后,对查询进行修改和删除操作。己经被使用过的利率数据不能被修改和删除。关联正常添加一条银行利率信息进入“银行利率维护-添加”界面,在各输入域中输入合法的数据,然后“保存”。添加成功关联正常添加一条银行利率信息,但不进行保存。进入“银行利率维护-添加”界面,在各输入域中输入合法的数据,然后关闭“银行利率维护”页面,然后再进入此页面。不能加入成功。关联添加一条银行利率信息,但“开始时间”没有输入。进入“银行利率维护-添加”界面,增加一条利率信息,其中对“开始时间”不做输入,其它的输入域输入正常值。不能加入成功系统提示:开始时间的输入不能为空。界面校验添加一条银行利率信息,但“开始时间”的年份输入不合法。进入“银行利率维护-添加”界面,增加一条利率信息,其中“开始时间”的输入值为:
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、!@#$%^&*(),
其它的输入域输入正常值。不能加入成功系统提示:开始时间的输入只能为数字。界面校验添加一条银行利率信息,但“终止时间”没有输入。进入“银行利率维护-添加”界面,增加一条利率信息,其中对“终止时间”不做输入,其它的输入域输入正常值。不能加入成功系统提示:终止时间的输入不能为空。界面校验添加一条银行利率信息,但“终止时间”的输入含有字符。进入“银行利率维护-添加”界面,增加一条利率信息,其中“终止时间”的输入值为:
1、2004-02-3a;
2、2004-五-36;
3、!@#$%^&*(),
其它的输入域输入正常值。不能加入成功系统提示:终止时间的输入只能为数字。界面校验打印欠费情况证明查询输入标准的“单位编号”进行查询进入“打印欠费情况证明”界面,在“单位编号”中输入标准的单位编号,例如:1234567890,然后进行“查询”。查询出与输入编号相应的结果,并且将其它输入域的内容自动填充。功能点输入不存在的“单位编号”进行查询进入“打印欠费情况证明”界面,在“单位编号”中输入一个不存在的单位编号,然后进行“查询”。查询结果为空功能点输入不合法的“单位编号”进行查询。进入“打印欠费情况证明”界面,在“单位编号”输入域中分别输入如下值:
1、12345678901;
2、abcd001,
然后进行“查询”。不能查询出相应的数据,系统提示:单位编号只能输入10位以下的数字。界面校验输入超长的“单位编号”进行查询。进入“打印欠费情况证明”界面,在“单位编号”输入域中输入10000位的数字,然后进行“查询”。不能查询出相应的数据,系统提示:单位编号只能输入10位以下的数字。界面校验输入含有特殊字符的“单位编号”进行查询。进入“打印欠费情况证明”界面,在“单位编号”输入域中输入:
1、12^&*()_
2、34~!@#$%
然后进行“查询”操作。不能查询出相应的数据,系统提示:单位编号的输入不正确。界面校验输入标准的“台账日期”进行查询进入“打印欠费情况证明”界面,在“台账日期”中输入一己存在欠费记录的台账日期,然后进行“查询”。查询出与输入时间相应的结果。功能点查询时,“台账日期”的年份输入不合法。进入“打印欠费情况证明”界面,在“台账日期”中输入以下值(其它输入域为空):
1、160005;
2、999805,
然后进行“查询”。系统提示:台账日期的年份输入不正确。界面校验查询时,“台账日期”的月份输入不合法。进入“打印欠费情况证明”界面,在“台账日期”中输入以下值(其它输入域为空):
1、200413;
2、200450,
然后进行“查询”。系统提示:台账日期的月份格式不正确。界面校验查询时,“台账日期”的的输入不合法。进入“打印欠费情况证明”界面,在“台账日期”中输入以下值(其它输入域为空):
1、20040225;
2、20040510,
然后进行“查询”。系统提示:台账日期只能输入YYYYMM格式的日期。界面校验查询时,“台账日期”的输入含有字符。进入“打印欠费情况证明”界面,在“台账日期”中输入以下值(其它输入域为空):
1、2004023a;
2、2004五36;
3、!@#$%^&*(),
然后进行“查询”。系统提示:台账日期只能输入YYYYMM格式的日期。界面校验打印不执行查询操作,直接打印欠费证明。进入“打印欠费情况证明”界面,然后执行“打印”操作。不能正常打印,系统提示:没有内容,不能打印。功能点在查询为空时打印欠费证明。进入“打印欠费情况证明”界面,在查询结果为空时执行“打印”操作。系统将打印“无欠缴社会保险费证明”。功能点在查询不为空时打印欠费证明。进入“打印欠费情况证明”界面,在查询结果为以下情况时执行“打印”操作:
1、查询出的欠费记录有1条;
2、查询出的欠费记录有多条(大于5条)。系统将打印“欠费情况证明”。功能点置不到账标志征收查询查询“征收”数据,执行空条件查询。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在所有输入域中都不输入内容,然后回车进行查询。查询出全部的“征收”数据信息。功能点查询“征收”数据,输入标准的“批次”数据进行查询。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”中输入标准的批次,其它输入域为空,然后回车进行查询。查询出与输入数据相应的结果,并且显示在“查询结果”列表中。功能点查询“征收”数据,输入不存在的“批次”数据进行查询。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”中输入一个不存在的批次,其它输入域为空,然后回车进行查询。查询结果为空功能点查询“征收”数据,输入不合法的“批次”数据进行查询。。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”输入域中分别输入如下值:
1、X1;
2、abcd001;
3、一百一,
然后回车进行查询。不能查询出相应的数据,系统提示:批次只能输入X位以下的数字。界面校验查询“征收”数据,输入超长的“批次”数据进行查询。。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”输入域中输入10000位的数字,其它输入域为空,然后回车进行查询。不能查询出相应的数据,系统提示:批次只能输入X位以下的数字。界面校验查询“征收”数据,输入含有特殊字符的“批次”数据进行查询。。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“批次”输入域中输入:
1、12^&*()_
2、34~!@#$%
然后回车进行查询操作。不能查询出相应的数据,系统提示:批次只能输入X位以下的数字。界面校验查询“征收”数据,输入标准的“台账期号”进行查询进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入一己存在记录的台账期号,其它输入域为空,然后回车进行查询。查询出与输入时间相应的结果,并且显示在“查询结果”列表中。功能点查询“征收”数据,查询时,“台账期号”的年份输入不合法。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入以下值(其它输入域为空):
1、160005;
2、999805,
然后回车进行查询。系统提示:台账期号的年份输入不正确。界面校验查询“征收”数据,查询时,“台账期号”的月份输入不合法。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入以下值(其它输入域为空):
1、200413;
2、200450,
然后回车进行查询。系统提示:台账期号的月份格式不正确。界面校验查询时,“台账期号”的的输入不合法。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入以下值(其它输入域为空):
1、20040225;
2、20040510,
然后回车进行查询。系统提示:台账期号只能输入YYYYMM格式的日期。界面校验查询“征收”数据,查询时,“台账期号”的输入含有字符。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入以下值(其它输入域为空):
1、2004023a;
2、2004五36;
3、!@#$%^&*(),
然后回车进行查询。系统提示:台账期号只能输入YYYYMM格式的日期。界面校验查询“征收”数据,查询时,“台账期号”的输入超长。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“台账期号”中输入10000位数字,然后回车进行查询。系统提示:台账期号只能输入YYYYMM格式的日期。界面校验查询“征收”数据,输入标准的“费款所属期”进行查询。进入“置不到帐标志”界面,选择“确认类别”为“征收”,在“费款所属期”中输入一己存在记录的费款所属期,其它输入域为空,然后回车进行查询。查询出与输入时间相应的结果,并且显示在“查询结果”列表中。功能点查询“征收”数据,选择“到账标志”为“己到账”进行查询。进入“置不到帐标志”界面,选择“确认类别”为“征收”,选择“到账标志”为“己到账”,其它输入域不输入内容,然后回车进行查询。查询出相应的结果,并将结果显示在“查询结果”列表中。功能点6.3软件测试结论按顺序给出每一项需求测试的结论。包括:证实的软件能力;局限性(即项需求未得到充分测试的情况及原因)。6.3.1软件能力经过测试所表明的软件能力。6.3.2缺陷和限制说明测试所揭露的软件缺陷和不足,以及可能给软件运行所带来的影响。6.3.3建议提出为弥补上述缺陷的建议。6.3.4测试结论说明能否通过。下面以《XXXXXX银行帐务系统》的测试报告为例,说明软件系统测试结论。表6-2XXXXXX银行帐务系统软件问题统计分析表tab6-2XXXXXXbankBookkeepingsystemsoftwarequestionstatisticsanalyticaltable问题数量代码行数(千行)50提交bug总数59有效bug总数52发现bug效率88%bug密度(个/千行)1.04关闭bug数48遗留bug数4遗留bug比率8%测试用例数583测试用例密度(个/千行)11.7图6-2XXXXXX银行帐务系统软件测试结果Fig6-2XXXXXXbankbookkeepingsystemsoftwaretestsresult图6-3XXXXXX银行帐务系统软件测试结果Fig6-3XXXXXXbankbookkeepingsystemsoftwaretestsresult上述软件系统所发现的问题,已经得到全面纠正,系统可以投入运行。结束语设计中所使用的新技术、新方法、个人独创的或有新意的地方,以及通过该设计所得到的心得体会,系统的缺陷或以后在理论、技术或其他方面需加强的地方。
致谢以简短的文字,对在毕业设计(论文)过程中给予直接帮助的导师或单位、个人表示自己的谢意。
参考文献毕业设计(论文)要求有10篇以上的中外文参考文献,其中至少有一篇与设计(论文)内容相关的外文文献。参考文献是论文中引用文献的目录表。毕业设计(论文)引用的文献应以近期发表的与毕业设计(论文)直接有关的文献为主。凡引用本人或他人已公开或未公开发表文献中的学术思想、观点或研究方法、设计方案等,不论借鉴、评论、综述,还是用做立论依据,都应编入参考文献目录。直接引用的文字应直录原文并加引号。直接、间接引用都不应断章取义。参考文献的著录方法采用我国国家标准GB7714-87《文后参考文献著录规则》中规定采用的“顺序编码制”,中外文混编。文后参考文献表中,各条文献按在论文中的文献引用序号顺序排列。各类文献的著录格式及示例:1.专著顺序号著者.书名[M].版本.其他责任者.出版地:出版者,出版年.页码.示例:[1]夏小华,高为柄.非线性系统控制及解耦[M].第2版.北京:科学出版社,2001.2.期刊顺序号作者.题名[J].其他责任者.刊名,年,卷(期):页码.示例:[2]高为柄,程勉,夏小华,(等).非线性控制系统的发展[J].自动化学报,2003,17(4):513~523.3.论文集顺序号作者.题名[A].见:编者.文集名[C].出版地:出版者,出版年.页码.示例:[3]FoxRL,WillmertKD.不等式约束的连杆曲线最优化设计[A].见:机构学译文集编写组.机构学译文集[C].北京:机械工业出版社,2002.232~242.4.技术标准顺序号标准代号标准顺序号—发布年标准名称示例:[4]GB3100~3102—93量和单位.5.学位论文顺序号作者.题名:[D].保存地:保存者,年份.示例:[5]陈淮金.多机电力系统分散最优励磁控制器的研究:[D].北京:清华大学电机工程系,2004.6.会议论文顺序号作者.题名[Z].会议名称,会址,会议年份.示例:[6]夏小华,高为柄.稳定设计中的分解和参数化方法[Z].全国控制与决策会议,黄山,2005.此规范未尽事宜,各教学单位要制定统一标准;无法执行此规范的专业(如英语)可单独制定规范,但必须经教务处批准公布后方可执行。附录A译文附录B原文附录C程序清单附录D其他目录TOC\o"1-3"\h\z1项目概述 11.1现系统概述 11.2公司组织机构 11.3系统业务流程 21.4系统功能模块 22系统需求分析 42.1需求陈述 42.2UseCase建模 52.2.1定义活动者 52.2.2UseCase图 63系统架构设计 73.1架构设计目标 7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 昆明医科大学海源学院《应急管理信息系统》2023-2024学年第一学期期末试卷
- 江西财经职业学院《飞机结构基础》2023-2024学年第一学期期末试卷
- 湖南三一工业职业技术学院《新课程理念与地理课程改革》2023-2024学年第一学期期末试卷
- 湖南安全技术职业学院《有限元方法》2023-2024学年第一学期期末试卷
- 【物理】《流体压强与流速的关系》(教学设计)-2024-2025学年人教版(2024)初中物理八年级下册
- 高考物理总复习《恒定电流》专项测试卷含答案
- 重庆工信职业学院《广告策划与设计》2023-2024学年第一学期期末试卷
- 郑州电力职业技术学院《应用技术开发》2023-2024学年第一学期期末试卷
- 中国民用航空飞行学院《信息系统审计》2023-2024学年第一学期期末试卷
- 郑州美术学院《建筑设备自动化课程设计》2023-2024学年第一学期期末试卷
- XX小学体育特色建设三年发展规划
- 高考专题复习:《史记 孙子吴起列传》分析
- 风电工程需要编写的专项施工方案及危大工程目录
- 二级综合医院评审标准实施细则
- 新大《新疆地质概论》教案第6章 矿产资源
- EGD杀生剂剂化学品安全技术说明(MSDS)zj
- GB/T 12229-2005通用阀门碳素钢铸件技术条件
- 超分子化学-第三章 阴离子的络合主体
- 控制变量法教学课件
- 血压计保养记录表
- 食品的售后服务承诺书范本范文(通用3篇)
评论
0/150
提交评论