ImageVerifierCode 换一换
格式:PPTX , 页数:236 ,大小:3.82MB ,
资源ID:6434901      下载积分:20 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6434901.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(软件工程课件全书电子教案教材课件.pptx)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

软件工程课件全书电子教案教材课件.pptx

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/21 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/21 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/21 Monday,#,软件工程概念,企业级卓越人才培养,第,一,章,学习目标,了解软件工程的概念,理解软件工程的分类,理解软件的生命周期,理解,UML,的作用、组成,软件的概述、特点,软件的特点是:,(1),软件具有抽象性。,(2),软件没有明显的制造过程

2、。,(3),软件没有老化问题。,(4),软件对计算机系统有依赖性。,(5),软件的开发至今手工。,(6),软件本身是复杂的。,(7),软件成本相当昂贵。,(8),相当多的软件工作涉及到社会因素。,软件的分类,按功能划分:,按规模划分:,按工作方式划分:,按服务对象的范围划分:,软件发展和软件危机,计算机软件经历了三个发展阶段:,程序设计阶段,约为,50,至,60,年代,程序系统阶段,约为,60,至,70,年代,软件工程阶段,约为,70,年代以后,几十年来最根本的变化体现在:,人们改变了对软件的看法。,软件的需求是软件发展的动力。,软件工作的范围从只考虑程序的编写扩展到涉及整个软件生存周期。,软

3、件发展和软件危机,软件危机归结起来有:,缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。,软件需求在开发的初期阶段提得不够明确,或是未能得到确切的表达。,开发过程没有统一的、公认的方法论和规范指导,参加的人员各行其事。,未能在测试阶段充分做好检测工作,提交用户的软件质量差,在运行中暴露出大量的问题。,软件开发中的方法,对于开发中小型系统的人员来说,理解优秀方法学的基础是非常必要的。我们可以从以下几个方面得知:,方法学有助于对编码设置规则,即使是了解方法学的基本步骤,也能增进对问题的理解,提高解决方案的质量。,在每个阶段,方法学指定了下一步的工作,我们不会为下一步要干什么

4、而烦恼,方法学有助于编写出扩展性更高、可靠性更高、更容易调试的代码。,一个优秀的方法能够解决如下问题:规划、调度、分配资源、工作流、活动、任务等等。,软件开发的几个阶段,软件生存周期的六个步骤。,制定计划。,需求分析。,软件设计。,程序编写。,软件测试。,运行维护。,软件的生命周期,瀑布模型,软件的生命周期,螺旋模型,软件的生命周期,喷泉模式,软件工程的目标,付出较低的开发成本;,达到要求的软件功能;,取得较好的软件性能;,开发的软件易于移植;,需要较低的维护费用;,能按时完成开发工作,及时交付使用。,软件工程的原则,抽象。,信息隐蔽。,模块化。,局部化。,确定性。,一致性。,完备性。,可验证

5、性。,面向对象方法学,统一建模语言,/,统一过程(,UML/UP,),UML,是一种用于描述、可视化和构架软件系统以及商业建模的语言。,UP,代表了在大型、复杂系统的建模领域得到认可的,优秀的软件工程方法,。,什么是,UML,UML,是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。它具有以下一些特点:,不是一种可视化的程序设计语言,而是一种可视化的建模语言。,不是工具或知识库的规格说明,而是一种建模语言规格说明是一种表示的标准。,不是过程也不是方法,但允许任何一种过程和方法使用它。,什么是,UML,所以我们可以说:,UML,是一种语言。,UML,是一种可视化的建模语言。,UM

6、L,是一种可用于详细描述的语言。,UML,是一种构造语言。,UML,是一种文档化语言。,为什么需要,UML,易于使用,表达能力强。,与具体的实现无关。,与具体的过程无关。,简单并且可扩展。,为,OOA/D,中涌现出的高级概念提供支持。,与最好的软件工程实践经验集成。,可升级具有广阔的适用性和可用性。,有利于面对对象工具的市场成长。,UML,的发展,探索阶段:,Booch,、,Rumbaugh,和,Jacobson,联合行动。,UML,的标准化:,对象管理小组(,OMG,)在,1997,年,1,月提交,UML 1.0,版的文档及其他资料。,工业化:,继续促进统一建模语言的推广。,UML,的组成,

7、UML,在软件开发中的应用,需求分析,UML,的用例视图可以表示客户的需求。,UML,在软件开发中的应用,分析,分析阶段主要考虑所要解决的问题,可用,UML,的逻辑视图和动态视图来描述。,UML,在软件开发中的应用,构造,在构造或程序设计阶段,把设计阶段的类转换成某种面向对象程序设计语言的代码。,UML,在软件开发中的应用,测试,对系统的测试通常分为单元测试、集成测试、系统测试和接受测试几个不同级别。,总结,软件的概念、特点。,软件生存周期的六个阶段。,瀑布模型及其优缺点。,软件工程的原则。,UML,的构成。,用例视图、静态视图的概念和用途。,静态视图,企业级卓越人才培养,第,二,章,学习目标

8、,了解静态视图的作用,理解静态视图包含哪些元素,掌握类图、类关系,类,类元用来描述结构和行为特性的机制,它包括类、接口、数据类型、信号、组件、节点等等。,关系,在进行系统建模时,不仅要抽象出形成系统词汇的事物,还必须对这些事物间的关系进行建模。,关系是事物间的联系。,关系,在类的关系中,最常用的有以下,4,种。,依赖(,Dependency,),泛化(,Generalization,),关联(,Association,),实现(,Realization,),依赖,依赖是按两个元素之间的关系,对一个元素(提供者)的改变可能会影响或提供消息给其他元素(客户)。,依赖关系,依赖,UML,建模过程中,

9、常用依赖指明一个类把另一个类作为它的操作的特征标记中的参数。,当被使用的类发生变化时,那么另一个类的操作也会受到影响,因此这个被使用类此时已经有了不同的接口行为。,泛化,泛化是一般事物(称为超类或父类)和该事物的较为特殊的种类(称为子类)之间的关系。,子类继承父类的属性和操作,除此之外通常子类还添加新的属性和操作,或者修改了父类的某些操作。,泛化关系,泛化,泛化有两个主要的用途:定义多态、描述继承。,关联,关联是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。,关联,关联,在实际建模过程中,在关联实例中说明两个类间存在多少个相互连接是很重要的。,修饰,语意,0,1,0,或,1,1

10、,为,1,0,*,或,0,n,0,或更多,1,*,或,1,n,1,或更多,*,或,n,0,或更多,实现,实现是规格说明和其现实间的关系。它表示不继承结构而只继承行为。,实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,其中接口只是行为的说明而不是结构或者实现。,对照图,在某一时刻一个系统特定的静态配置叫做快照。,快照的图包含对象的图像,因此也叫对象图。,实例,在建立系统的静态视图的过程是对系统领域问题及其解决方案的分析和设计的过程。,以“图书馆管理系统”为例来建立相应的静态视图。,建立类图步骤,建立类图的步骤如下:,研究分析问题领域,确定系统的需求,发现对象和对象类,明确类的属

11、性和操作,发现类之间的静态关系,一般与特殊关系,部分和整体关系,研究类之间的继承性和多态性,设计类和联系,绘制对象类图并绘制相应得说明,类的生成,读者类的基本信息,名字,邮编,地址,城市,省份,借书,预留书籍,书籍类的基本信息,书名,作者,序列号,类型,使用,Rational Rose,绘制类图,开始菜单打开“Rational Rose Enterprise Edition”,使用,Rational Rose,绘制类图,建立工程,点击,“,Save As,”,,弹出如下对话框,输入项目名及其保存路径。,使用,Rational Rose,绘制类图,建立工程,然后就可以看到如下图所示界面,使用,R

12、ational Rose,绘制类图,建立工程,我们先创建一个类视图如下图所示:,使用,Rational Rose,绘制类图,建立工程,类视图名称修改为“,Test”,,并双击类视图,可以看到工具箱如下图所示:,使用,Rational Rose,绘制类图,建立工程,点击工具箱中的类,在编辑区画出一个类,把,NewClass,改成,BrowserInformation,如下图所示:,使用,Rational Rose,绘制类图,建立工程,双击并添加方法,getBrowerInformation(),:,使用,Rational Rose,绘制类图,画,UML,图,用同样的方法创建,Persistent

13、,类,然后单击工具栏上的“”图标,接着点击,Persistent,类,并延伸到,BrowserInformation,,表明相互继承的关系,:,使用,Visio 2013,绘制类图,从开始菜单打开“Micrisoft Visio 2013”,使用,Visio 2013,绘制类图,在搜索栏中搜索“uml”,出现对话框,使用,Visio 2013,绘制类图,点击“UML静态结构图”,使用,Visio 2013,绘制类图,点击创建,使用,Visio 2013,绘制类图,开始制作类图,把左边的类拖到右边,使用,Visio 2013,绘制类图,双击里面的类名并更改为BrowerInformation,并

14、用同样的方法创建Persistent类。然后把左边工具栏中的继承图标,这是两个类实现了继承,总结,静态视图的关键元素。,类的定义及其在,UML,中的图形表示。,最常用的,4,种类的关系:依赖(,Dependency,)、泛化(,Generalization,)、关联(,Association,)、实现(,Realization,)。,用例视图,企业级卓越人才培养,第,二,章,学习目标,了解用例视图的作用,理解如何识别用例,理解用例间的关系,概述,UML,中的用例视图描述了一组用例、参与者以及它们之间的关系,因此用例图包括以下,3,个方面内容:,用例,参与者,用例之间的关系,参与者,参与者(,A

15、ctor,,也称角色)是系统外部的一个实体,它以某种方式参与了用例的执行过程。,参与者可以是人、另一个计算机系统或一些可运行的进程。,角色,参与者,参与者是一个群体概念,代表的是一类能使用某个功能的人或事,不是指某个个体。,参与者与系统进行通信的收、发消息机制,与面向对象编程中的消息机制很像。,参与者可以分成主要参与者和次要参与者,也可以分成主动参与者和被动参与者。,参与者,在获取用例前要先确定系统的参与者,可以根据以下一些问题来寻找系统的参与者:,谁或什么使用该系统,交互时,它们扮演什么角色,谁安装系统,谁启动和关闭系统,谁维护系统,参与者,在获取用例前要先确定系统的参与者,可以根据以下一些

16、问题来寻找系统的参与者:,与该系统交互的是什么系统,谁从系统获取信息,谁提供信息给系统,有什么事情发生在固定的事件,参与者,在建模参与者过程中,记住以下要点:,参与者对于系统而言总是外部的,因此它们在你的控制之外,参与者直接同系统交互,这可以帮助定义系统边界,参与者表示人和事物与系统发生交互时所扮演的角色,而不是特定的人或者特定的事物。,一个人或事物在与系统发生交互时,可以同时或不同时扮演多个角色。例如,某研究生担任某教授的助教,同职业的角度看,它扮演了两个角色,学生和助教。,参与者,在建模参与者过程中,记住以下要点:,每一个参与者需要有一个具有业务一样的名字,在建模中,不推荐使用诸如,New

17、Actor,这样的名字。,每个参与者必须有简短的描述,从业务角度描述参与者是什么。,像类一样,参与者可以具有分栏,表示参与者属性和它可接受的事件。一般情况下,这种分栏使用的并不多,很少显示在用例图中。,用例图,用例是一个叙述型的文档,用来描述参与者使用系统完成某个事件使的事情发生顺序。,图形上的用例用一个椭圆来表示,用例的名字可以书写在椭圆的内部或下方。,识别用例,用例是一个叙述型的文档,用来描述参与者使用系统完成某个事件使的事情发生顺序。,图形上的用例用一个椭圆来表示,用例的名字可以书写在椭圆的内部或下方。,用例间的关系,用例除了与其参与者发生关联外,还可以参与系统中的多个关系,这些关系包括

18、:泛化关系、包含关系和扩充关系。,关系,功能,表示法,关联,参与者与其参与执行的用例之间的通信途径,扩展,在基础用例上插入基础用例不能说明的扩展部分,用例泛化,用例之间的一般和特殊关系,其中特殊用例继承了一般用例的特性并增加了新的特性,包括,在基础用例上插入附加的行为,并且具有明确的描述,实例,购买的商品入库;,将积压的商品退给供应商;,将商品移送到销售部门;,销售部门将商品移送到仓库;,实例,管理员盘点仓库;,供应商提供各种货物;,用户查询销售部门的营销记录;,用户查询仓库中所有变动记录。,实例,创建以下参与者。,操作员,管理员,供应商,商品领料人,商品退料人,实例,建立如下用例:,仓库进货

19、,仓库退货,仓库领料,仓库退料,商品调拨,仓库盘点,实例,建立如下用例:,库存查询,业务分析,仓库历史记录查询,供应商信息维护,仓库信息维护,用户管理,实例,对用例进行分类:,操作员:仓库进货、仓库退货、仓库领料、仓库退料、商品调拨、用户管理。,管理员:仓库进货、仓库退货、仓库盘点、商品调拨、库存查询、业务分析、仓库历史记录查询、供应商信息维护、仓库信息维护、用户管理。,实例,对用例进行分类:,供应商:仓库进货、仓库退货。,领料人:仓库领料。,退料人:仓库退料。,实例,仓库信息系统的用例图,总结,在,UML,中用例图的用途。,参与者的定义。,用例的图形表示。,用例的多个关系:泛化、包含、扩充。

20、,动态视图,企业级卓越人才培养,第,四,章,学习目标,了解动态视图包含哪些内容,理解时序图的作用,掌握活动图的作用,时序图,时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换,时序图描述了类与类之间相互交换,以完成期望行为的消息。,时序图的概念和内容,我们可以看到时序图中包括如下元素:类角色、生命线、激活期和消息。,时序图的用途,在用例脚本的语境中将动态行为有效地可视化。,用来表示用例中的行为顺序。,时序图的用途,时序图有别于协作图的特性。,时序图有生命线,时序图有激活期,时序图的建模技术,使用时序图对系统建模时,可以遵循如下策略。,设置交互的语境,这些语境可以是系统、子系统、操作

21、、用例和协作的一个脚本。,通知识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中。,设置每个对象的生命线。一般情况下,对象存在于交互的整个过程,但它也可以交互过程中创建和撤销。,时序图的建模技术,从引发某个交互的信息开始,在生命线之间按从上向下的顺序画出随后的消息。,设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。,如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。,给某控制流的每个消息附上前置或后置条件,这可以更详细地控制这个控制流。,协作图,协作图对在一次交互中有意义的对象和对象间的链建模。,协作图的一个用途是表示一个类

22、操作的实现。,协作图用各个角色的几何排列图形来表示角色之间的关系,并用消息来说明这些关系。,活动图,活动图是,UML,中描述系统动态行为的图之一,它用于展现参与行为的类的活动或动作。,动作状态,UML,里,动作状态是以执行指定动作,并在此动作完成后通过完成变迁转向另一个障碍而设置的状态。,这里所指出的动作有,3,个特点:原子性的、不可中断的、瞬时的。,活动状态,活动状态的特点是:,它可以被分解成其他子活动或动作状态。,它能够被中断,占有有限的事件。,活动状态,如果某活动状态是只包括一个动作的活动状态,那它就是动作状态。,动作状态是活动状态的一个特例。,活动状态,在,UML,中,动作状态和活动状

23、态的图标没有什么区别,都是圆端的方框。,只是活动状态可以有附加的部分,例如可以指定入口动作、出口动作、状态动作以及内嵌状态机。,转移,当一个动作状态或活动状态结束时,该状态就会转换到下一个状态,这就是无触发转移或称为自动转移。,无触发转移实际上是没有任何特定的事件触发的转移,即当状态结束工作时就自动的发生转移。,分支,活动图中的分支用来描述其他的程序结构,活动图中的分支用一个菱形表示,可以有一个进入转换和两个或多个输出转换。,分叉和汇合,建模过程中,可能会遇到对象在运行时存在两个或多个并发运行的控制流。,在,UML,中,可以使用分叉把路径分成两个或多个并发流,然后使用结合,同步这些并发流。,泳

24、道,泳道将活动图的活动状态分组,每一组表示负责那些或的业务组织,在活动图里泳道区分了活动的不同职责,在泳道活动中,每一个活动都只能明确地属于一个泳道。,泳道,活动图的用途,活动图用于动系统的动态行为建模。,活动图描述了从活动到活动的流。,活动图实际上是状态图的特殊形式。,在,UML,中,可以把活动图作为流程图来使用,用于对系统的操作建模。,活动图的建模技术,在活动图建模过程中,参照以下步骤进行:,(,1,)识别要对其工作流进行描述的类;,(,2,)对动态状态建模,(,3,)对动作流建模,(,4,)对对象流建模,(,5,)对建模结果进行净化和细化。,总结,动态模型主要是建立系统的交互图和行为图。

25、,交互图包括时序图和协作图,行为图则包括状态图和活动图,时序图(,Sequence Diagram,)是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换,时序图中包括:类角色、生命线、激活期和消息等元素,协作图对在一次交互中有意义的对象和对象间的链建模,活动图是,UML,中描述系统动态行为的图之一,它用于展现参与行为的类的活动或动作,泳道将活动图的活动状态分组,每一组表示负责那些或的业务组织,项目管理,企业级卓越人才培养,第,五,章,学习目标,了解管理的意义,理解管理中的多个过程,理解计划和控制在项目管理中的重要性,管理的意义,软件公司中核心员工需要拥有

26、两类知识:管理知识和技术知识。,程序员应该既懂技术又懂一部分管理。,管理的定义,管理可以有很多角度的定义,一般而言,我们可以把管理理解成领导、也可以理解为决策、还可以理解为协调组织。,管理是通过有效地计划、组织、控制和激励、领导等活动来协调人、财、物的配置以达到更好地组织目标的过程。,管理的作用,管理是一门软科学,它同时具有科学和艺术两方面的特点。,科学的一面表现为它真实的反映了客观规律。,艺术的一面表现在背熟了管理规则不一定能够进行有效地管理。,管理的作用,培养一种管理理念,对于技术人员而言,能有效地促进技术人员理解企业制度、岗位规范;,能理解专业分工协作的前提条件和重要性;,能在大的项目中

27、有序地展开工作;,时刻用时间、成本、质量来衡量自己的工作,改进不足,提高团队工作效率。,让软件开发在和谐的环境高效率的组织中顺利的开展。,管理的原则,统一领导和指挥。,制度与纪律。,权利与责任。,公平原则。,一般化管理,一般化管理在这里是管理中一般都要涉及的一个基本活动。,管理的基本流程。,管理的基本流程要素分组。,项目,项目的定义。,项目的特征。,项目与运作的对比。,项目与战略的关系。,项目管理,项目管理的定义。,项目管理的过程。,项目管理三角形。,项目管理过程,为了更好地管理项目我们把项目过程分为若干阶段:初始化阶段,计划阶段,执行阶段、监督与控制、收尾阶段。,简单过程管理是:计划、执行、

28、检查、总结。,初始阶段,初始阶段主要任务是正式的启动一个新的项目。许多工作在项目正式启动之前已经完成了。这些工作不在项目过程之内。,初始阶段,计划阶段,计划阶段主要任务确定项目范围,开发项目管理计划,安排项目活动。,计划阶段主要任务列表:,开发项目计划;,开发范围管理计划;,创建,WBS,;,定义活动;,为活动分配资源;,制定成本预算方案;,确定质量计划;,创建沟通计划;,开发风险管理计划;,执行阶段,计划阶段主要任务确定项目范围,开发项目管理计划,安排项目活动。,计划阶段主要任务列表:,开发项目计划;,开发范围管理计划;,创建,WBS,;,定义活动;,为活动分配资源;,制定成本预算方案;,确

29、定质量计划;,创建沟通计划;,开发风险管理计划;,监督和控制,计划阶段主要任务确定项目范围,开发项目管理计划,安排项目活动。,计划阶段主要任务列表:,开发项目计划;,开发范围管理计划;,创建,WBS,;,定义活动;,为活动分配资源;,制定成本预算方案;,确定质量计划;,创建沟通计划;,开发风险管理计划;,收尾阶段,收尾阶段主要是有序结束各项工作。,主要任务列表:,结束项目;,了结合同;,计划和控制,从项目管理,(PMI),试题的分布可以看出,计划和监控都是重要的过程。,考试内容,问题的比率,项目初始过程,8.5%,项目计划过程,23.5%,项目执行过程,23.5%,项目监控过程,23%,项目收

30、尾过程,7%,职业道德方面,14.5%,计划的重要性,第一、通过制定计划,使得小组和有关管理人员对项目有关事项形成共识和事先约定。,第二、通过计划,可以使得一些支持性工作以及并行工作及时得到安排,避免因计划不周造成各子流程之间的相互牵掣。,第三、可以使项目实施人员明确自己的职责,便于自我管理和自我激励。,计划的重要性,第四、计划可以有效的支持管理,作为经理们对开发工作跟踪和检查的依据。,第五、做好事先计划,就可以使注意力专心于解决问题,而不用再去想下一步做什么?,第六、计划是项目总结,项目总结是把实际运行情况与项目计划不断比较以提炼经验教训的过程。,制定项目计划,制定项目计划的过程被称为项目策

31、划。,使用,Microsoft Project,编制的文件可以称为计划进度表,可以用来规划项目时间进度,辅助项目跟踪。,计划进度表的制定步骤是:工作分解和定义(,WBS,)、任务排序、活动历史估算、编制。,制定项目计划,制定项目计划的过程被称为项目策划。,使用,Microsoft Project,编制的文件可以称为计划进度表,可以用来规划项目时间进度,辅助项目跟踪。,计划进度表的制定步骤是:工作分解和定义(,WBS,)、任务排序、活动历史估算、编制。,控制,控制的主要任务:,设定控制标准,确定检查时间,安排合适人员,选择适当方式,控制的方式:,检查,抽查,评审,控制的内容:,成本,质量,进度,

32、范围,总结,项目的定义,项目的特征,项目管理的定义和过程,项目管理三角的构成,项目过程的阶段,项目实战,广告管理系统,企业级卓越人才培养,第,六,章,学习目标,掌握,UML,解决实际问题,引言,这里通过一个广告管理系统的分析与设计,阐述如何通过,UML,降低开发难度和提高开发效率。,基本特征和功能模块,该系统具有以下一些特征:,充分适应原有广告工作流程并进行合理的改进,通过系统提供的灵活的人员权限设置和全面的财务核算方式,实现真正的集团多报管理;,基本特征和功能模块,该系统具有以下一些特征:,在实现广告订单的电子化、工作流程的数字化同时,帮助集团领导提高决策的科学化水平;,基本特征和功能模块,

33、该系统具有以下一些特征:,多套广告价目表的支持,使广告管理部门能在当前激烈的市场竞争中能采取更为灵活的价格策略;,基本特征和功能模块,该系统具有以下一些特征:,通过对客户信息的管理,实现对客户广告走势和重要客户情况统计和分析。,基本特征和功能模块,总体结构及功能模块:,UML,分析与实现,UML,是一种编制系统蓝图的标准化语言,UML,可以对大型复杂系统的各种成分可视化说明并构造系统模型,UML,还可以建立各种必要的文档,UML,分析与实现,下面通过,UML,来分析并构造广告管理系统模型,并结合,Rational,统一过程加以描述。,图形使用,Rational Rose,工具软件绘制。,业务建

34、模和需求分析,下图是广告管理系统层次的用例模型,只包含了最基本的,Use Case,模型,是系统的高层抽象。,广告管理系统设计,系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,也就是设计模型。,系统结构设计,系统主要有以下四个包:,用户接口包(,User Interface Package,),业务逻辑包,(Business Rule Package),数据持久访问包,(Data Persistence Package),通用工具包(,User Package,),系统架构设计,用户接口包(,User Interface Package,),用户接口包在其他包的顶层次,

35、为系统用户提供访问信息和服务。,系统架构设计,业务逻辑包,(Business Rule Package),该包是广告管理系统业务的核心实现部分,包括广告、合同、客户等。,系统架构设计,数据持久访问包,(Data Persistence Package),该包实现数据的持久化,也就是与数据库交互,实现数据的存取、修改等操作。,系统架构设计,通用工具包(,User Package,),该包主要包括应用程序安全检查的类,可以为上面三个包提供安全检查。,引言,预订业务对普通客户的顺序框图,系统详细设计,财务业务对代理客户的协作框图,系统详细设计,划版业务的顺序框图,系统详细设计,财务业务对代理客户的协

36、作框图,系统详细设计,部署图,实现、测试和系统配置,在系统编码前,需要考虑系统的实际部署情况,可以利用,Rose,的部署视图。,系统采用三层逻辑结构:界面与业务逻辑分开,业务逻辑又与数据库访问逻辑分开。,同时,部署视图还需要处理一些其他问题,如系统容错、网络带宽、故障恢复和响应时间。,实现、测试和系统配置,经过系统分析和设计后,就可以根据设计模型在具体的环境中实现系统;,进而需要对系统进行测试和排错,保证系统符合预定的要求。测试结果将确认所完成的系统可以真正使用;,最后完成系统配置,其任务是在真实的运行环境中配置、调试系统,解决系统正式使用前可能存在的任何问题。,总结,将,UML,应用于广告管

37、理系统的建设,可以加速开发进程,提高代码质量,支持动态的业务需求。,测试驱动开发简介,企业级卓越人才培养,第,一,章,学习目标,了解测试驱动开发的原理,理解单元测试的作用和原理,掌握,JUnit,框架,什么是高质量的软件,一个优秀软件一般要具备如下特性:,满足用户的需求。,合理进度、成本、功能关系。,具备扩展性和灵活性。,能够有效的处理例外的情况。,保持成本和性能的平衡。,能够可持续的发展。,测试驱动开发,测试为导向在成本上更经济。其原因有四:,节约了设计的成本。,减轻了测试的工作量。,可以节省设计上的工作量。,避免代码出现回归。,优势,测试驱动开发先考虑代码的使用需求。,对代码的内聚性的提高

38、和复用都非常有益。,测试用例代码就是对代码的最好的解释。,测试驱动开发提供的测试集是信心的来源。,保障代码的正确性,迅速发现、定位,bug,。,原理,测试驱动开发的基本思想就是在开发功能代码之前,先编写测试代码。,传统的,V,模型 测试驱动的,X,模型,过程,测试驱动开发的基本过程如下:,明确当前要完成的功能。可以记录成一个,TODO,列表。,快速完成针对此功能的测试用例编写。,测试代码编译不通过。,编写对应的功能代码。,测试通过。,对代码进行重构,并保证测试通过。,循环完成所有功能的开发。,原则,测试列表。,测试驱动。,先写断言。,可测试性。,及时重构。,测试范围、粒度,那些重要或复杂的功能

39、、核心的代码就应该编写更全面、细致的测试用例重点测试。,测试范围没有静态的标准,应该可以随着时间改变。,小步前进。,怎么编写测试用例,操作过程尽量模拟正常使用的过程。,全面的测试用例应该尽量做到分支覆盖,核心代码尽量做到路径覆盖。,测试数据尽量包括:真实数据、边界数据。,测试语句和测试数据应该尽量简单,容易理解。,为了避免对其他代码过多的依赖,可以实现简单的桩函数或桩类(,Mock Object,)。,如果内部状态非常复杂或者应该判断流程而不是状态,可以通过记录日志字符串的方式进行验证,。,需要注意的一些问题,测试必须自动化,自动化测试的范围,测试的分类,测试的成本,测试文化,测试必须是自动化

40、的,手动测试可能引入错误。,大量重复性的手动测试可能成本较高。,手动测试的覆盖面不广。,没有办法对组件进行隔离的测试。,自动化测试的范围,哪些应该进行自动化测试呢?最理想的情况是全部。,测试一切可能是测试的基本原则,让一切测试都变成自动化则是测试驱动开发的准则。,测试的分类,单元测试,集成测试,系统测试,验收测试,测试的成本,工作量估算方式的改变。,项目进度。,人员的主动性和勇气。,建立测试文化,测试文化,测试同样需要重构,以及必须的文档。,固定测试的目录组织和包组织。,使测试成为日创建的核心步骤。,测试是所有人的事情,而不仅是,QA,的事。,单元测试,单元测试是我们编写的一小段代码,用于检验

41、被测代码的一个很小的、很明确的功能是否正确。,单元测试的核心内涵:为了令代码变得更加完美。,Junit,历史,在,1997,年,,Erich Gamma,和,Kent Beck,为,Java,语言创建了一个简单但有效的单元测试框架,称作,JUnit,。,JUnit,(,www.Junit.org,)是一个开源软件。所以,,JUnit,很快成了,Java,中开发单元测试的框架的事实标准。,手写单元测试,我们先写一个简单的类,Calculator,。,我们可以编写一个小的命令行程序来判断返回值是否我们期望。,我们把测试独立成一个方法。,了解单元测试框架,所有单元测试框架都应当遵守的,3,条规则:,

42、每个单元测试必须独立于其他单元测试而运行。,必须以单项测试为单位来检测和报告错误。,必须易于定义要运行哪些单元测试。,使用,Junit,测试,在,JUnit,中的设计目标是:,框架必须可以帮助我们编写有用的测试。,框架必须帮助我们创建随着时间的过去依然保持有用的测试。,框架必须通过复用代码降低我们编写测试的成本。,总结,测试驱动开发起源于,XP,法中提倡的测试优先实践。,测试优先实践重视单元测试,强调程序员除了编写代码,还应该编写单元测试代码。,测试驱动开发的基本思路就是通过测试来推动整个开发的进行。,测试驱动开发的基本思想就是在开发代码之前,先编写测试代码,测试驱动开发简介,企业级卓越人才培

43、养,第,二,章,学习目标,掌握,JUnit,的框架组成,掌握,JUnit,中的几个核心类的作用,掌握利用,JUnit,框架编写测试类,探索,Junit,核心,若需编写更多的,test case,时,我们要创建更多的,TestCase,对象。执行这些,TestCase,对象的时候,可以创建一个,TestSuite,的对象。由,TestRunner,来执行,TestSuite,。,探索,Junit,核心,TestCase,(测试用例):扩展了,JUnit,的,TestCase,类的类。,TestSuite,(测试集合):一组测试。,BaseTestRunner,(测试运行器):执行,test su

44、ite,的程序。,探索,Junit,核心,以上,3,个元素是,JUnit,框架的骨干。,在正常情况下,只需要编写,test case,,其它类会在幕后完成测试。,探索,Junit,核心,test runner,可以执行测试并提供关于结果的统计信息。,在,JUnit,中还提供了其他的,TestRunner,类,比如提供图形界面的,junit.swingui.TestRunner,类,TestCase,当创建一个测试类的时候,会先创建一个类,该类从,TestCase,类继承而来。其声明如下:,public abstract class TestCase,extends Assert,impleme

45、nts Test,Assert,Assert,类提供了许多函数,帮助确定某个被测试的函数是否正常工作。,通常,所有这些函数统统称为断言。它确定:某条件是否为真;两个数据是否相等或者不等,以及其他情况。,下面将逐个介绍,JUnit,提供的每一个断言(,assert,)方法。,Assert,当断言为假,或者有错误了(遇到一个意料外的异常)的情况,通过,JUnit,的一些类来报告这些结果。,当一个失败或者错误出现的时候,当前测试将会被终止,但是(位于同一个测试类中的)其他测试将会继续运行。,断言是单元测试最基本的组成部分。,assertEquals,用来做相等性测试。,这是使用的最多的断言形式,该方

46、法有很多重载函数。,任何对象都可以拿来做相等性测试:适当的相等性判断方法会被用来做这样的比较。,对于原生类型(,boolean,int,short,等)和,object,类型也提供了不同的函数签名。,assertNull,验证一个给定的对象是否为,Null(,或者为非,null),,如果答案为否,则将会失败。,assertSame,验证,expected,参数和,actual,参数所引用的是否为同一个对象,如果不是,将会失败。,assertTrue,验证给定的二元条件是否为真,如果为假,将会失败。,fail,上面的断言将会使测试立即失败,这种断言通常被用于标记某个不因该被到达的分支。,使用断言

47、,在继续测试之前先修复失败的测试。,把问题分离出来。,需要一种能够运行所有测试(或者一组测试、某个特殊子系统等等)的辅助方法。,TestCase,成员,方法,描述,countTestCases,计算,run,(,TestResult result,)所执行的,TestCase,的数目(由,Test,接口规定),createResult,创建默认的,TestResult,对象,getName,获得,TestCase,的名字,Run,运行,TestCase,并收集,TestResult,中的结果(由,Test,接口规定),runBare,运行测试序列,但不执行任何特殊功能,比如自动发现,test,

48、方法,runTest,重载以运行测试并断言其状态,setName,设置,TestCase,的名字,setUp,初始化,例如打开网络连接。这个方法会在测试执行之前被调用(由,Test,接口规定),teardown,销毁,例如关闭网络连接。这个方法会在测试执行之后被调用(由,Test,接口规定),toString,返回,TestCase,字符串表示,TestCase,成员,JUnit,的,TestCase,基类提供两个方法供你改写,分别用于环境的建立和清理:,protected void setUp();,protected void tearDown();,testCase,会在运行每个测试之前

49、调用,setUp,,并且在每个测试完成之后调用,tearDown,。,TestCase,成员,把不止一个测试方法放进同一个,TestCase,可以共享这些代码。执行过程如下图所示:,TestCase,TestSuite,被可以运行一个或多个,test case,,,test runner,负责启动,TestSuite,,而要运行哪些,test case,则由,TestSuite,来决定。,任何测试类都会包含一个名为,suite,的静态方法。,public static Test suite();,TestSuite,若我们没有提供自己的,TestSuite,,,test runner,会自动创

50、建一个。,缺省的,TestSuite,会扫描你的测试类,找出所有以,test,开头的方法。,缺省的,TestSuite,在内部为每个,testXXX,方法都创建一个,TestCase,的实例。,TestSuite,JUnit,框架执行了如下动作:,创建一个,TestSuite,。,创建一个,TestResult,。,执行测试方法。,TestSuite,TestRunner,先寻找,TestCalculator,类中的,suite,方法。若有则调用它,若没有则创建一个默认的,TestSuite,对象。其,UML,图如下:,TestSuite,如果我们在测试代码中显式定义了,suite,方法,那么

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服