




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章面向对象方法基础1、以对象为中心各种构造系统,而不是以功能为中心,能很好地适应需求变化。2、面向对象的基本概念面向对象:主要是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。面向对象=对象+分类+继承+通信3、 对象(Object)属性(attribute)--对象本身的性质,描述对象的静态特征。方法(operation) 用于改变对象的状态,描述对象的动态特征。对象之间的联系主要是通过传递消息来实现的。4、 类(Class)类具有属性,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,操作实现的过程称为方法(method),方法有方法名、方法体和参数。对象的抽象是类,类的具体化就是对象。5、 继承(Inheritance)子类自动共享其父类的属性和操作的机制。继承性分为:(1)、单重继承:一个子类只有一个父类。即子类只继承一个父类的数据结构和方法,它的类层次结构是树型。(2)、多重继承:一个子类可有多个父类。继承多个父类的数据结构和方法,它的类层次结构是格型。6、 消息(Message)消息就是向对象发出的服务请求(互相联系、协同工作等),是对象之间在交互中传送的通信信息。7、 多态性(Polymorphism)多态性是指相同的操作或函数、过程作用于不同的对象上并获得不同的结果。8、 OOAOOA可以采用自顶向下的方法,逐层分解建立系统模型,也可以自底而上地从已定义的基类出发,逐步构造新类。9、 OMT方法讨论的核心就是建立三类模型:对象模型、动态模型和功能模型。10、 建立对象模型分为5个层次:(1)、确定对象和类找出候选的类与对象筛选出正确的类与对象(2)、确定关联初步确定关联筛选进一步完善(3)、划分主题(4)、确定属性♦分析♦选择(5)、识别继承关系11、类图:由类名、属性和操作三部分组成。12、类的关联关系——表示类与类之间存在某种联系有:普通关联、限定关联、关联类13、类的层次结构:聚集关系:共享聚集——部分对象可同时参与多个对象的构成复合聚集(组成)——如果部分类完全隶属于整体类,部分与整体共存亡则称该聚集为复合聚集,简称组成。组成关系用实心菱形表示。继承性14、三种模型之间的关系:对象模型定义“对谁做”,用类图来建立;动态模型定义“何时做”,用状态图来建立;功能模型定义“做什么”,用数据流图来建立。第五章UML建模语言1、UML语言定义了5种类型,9种不同的图:(加粗、斜体是要求掌握的)用例图静态图:类图、对象图、包图;行为图:状态图、活动图;交互图:顺序图、协作图;实现图:构件图、部件图。举例:饮料销售机假设你现在正着手设计一台饮料销售机。为了获得用户的观点,你会见了许多可能的用户以了解这些用户将如何与这台机器交互。饮料销售机的主要功能是允许一个顾客购买一罐饮料,很可能用户立刻就能告诉你一些有关的场景(换句话说就是用例),你可以给这组场景加上一个标签“买饮料”。下面我们来考察这个用例中每一种可能的场景。解析:(1)用例“买饮料”:这个用例的参与者是买饮料的顾客。顾客将钱插入销售机触发了这个用例的场景被执行,然后用户进行选择。如果一切顺利,销售机内至少还存储有一罐被选择的饮料,则销售机会自动弹出这种饮料给顾客。上面的“买饮料”场景是唯一可描述的场景么?显然,我们立即会想到还有其他的场景。顾客所要购买的饮料销售机中可能没有。顾客投入的钱数不是刚好等于购买饮料所需要的钱。应该如何设计饮料销售机来处理这些场景呢?没有所需饮料的场景:先看看没有所需的饮料这个场景,它是用例“买饮料”的另一场景。可以把这个场景看成是用例执行时的一条可选路径。用例是由顾客在销售机中插入钱币所发起的。然后客户进行一个选择,销售机中至少要有一罐选择的饮料,如果没有,销售机就给顾客提示一个信息,告诉顾客没有这种品牌的饮料。理想情况下,顾客看到这条消息后会立即选择其它品牌的饮料。销售机也必须提供给顾客取回原来的钱的选项。这表示,销售机应给顾客两种选择:让顾客选择另一种饮料并且给顾客提供这种饮料(如果这种饮料还有存货的话)或者让顾客选择退钱。“缺货”的场景另一种“缺货”的场景。“指定品牌的饮料售完”消息显示在机器上,直到对这台机器补充为止。在这种情况下,用户不再输入钱了。销售机的客户可能更喜欢第一种场景:如果顾客已经投了钱,应该让顾客做另外一种选择而不是要机器退钱。付款数不正确”的场景紧接着让我们来看看“付款数不正确”的这个场景。顾客按照通常的方式发起了这个用例,并进行了一个选择。假设这是机器中备有选择的饮料。如果机器中刚好存有适合的零钱,那么机器就会退还零钱并交付饮料。如果机器中没有保存零钱,它将退还钱,并显示一条消息提示用户投入适当的零钱。另一种可能是机器的储备零钱一旦用光,就会在机器上显示一条小子告诉用户需要投入适当的零钱。直到对这台机器补充零钱为止,这条消息才会消失。2)其他用例已经从用户的观点考察了饮料销售机。除了这些用户外,当然还有其他人加入。供货人负责为销售机提供饮料,收款人(可能与供货人是同一个人)负责定期收集销售机中的钱。这说明至少需要建立两个用例:“供货”和“取钱”,这些用例细节可以通过与供货人和收款人交谈来获得。“供货”用例考虑“供货”用例。供货人发起这个用例是由于某个时间间隔到期所引起的。供货代表打开销售机拉出销售机前面的架子,在架子上补满各种品牌的饮料。销售员还要在机器中加零钱。然后他放好销售机的前端架子,并锁好机器。“取钱”用例还有一个“取钱”用例,同样也是因为一段时间的流逝,收款人发起了这个用例。它的前期工作步骤与”供货“一样,也是打开销售机前端架子。收款人从机器中取出钱,然后按照”供货“步骤,放回架子锁好机器。书上病房系统2、类的识别常用的方法有:(1)(2)(3)(4)名词识别法系统实体识别法从用例中识别类利用分解与抽象技术例题:1、 用状态图描绘复印机的行为:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。2、 试用面向对象方法设计下述程序:在显示器屏幕上圆心坐标为(100,100)的位置上画一个半径为40的圆,在圆心坐标为(400,150)的位置画一条弧,弧的起始角度为30度,结束角度为120度,半径为50。3、画出下题的状态转换图:该界面具有一个主菜单和一个带有文件打开命令的文件菜单,在每个菜单上都有一条退出命令,假设每次只有一个文件能够打开4、 画出下题的用例图:文本编辑程序的主要功能有:建立文件、打开文件、插入文本、修改文本和保存文件。5、 画出下题的时序图、协作图:网络打印系统首先由用户触发打印功能,计算机实例处理这个打印请求;然后计算机请求打印服务器处理打印;打印服务器根据当前打印机的任务情况调用打印机打印文件,或放入打印队列等待进一步处理。第八章软件测试1、软件测试的概念软件测试:是一个为了寻找软件错误而运行程序的过程。2、软件测试的目的测试的目的是尽可能多的发现软件系统中的错误。3、测试的基本步骤:(看书)4、软件测试方法:(1)、静态分析方法:指以人工的、非形式化的方法对程序进行分析和测试。(2)、动态测试:计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况情况进行分析。两者的区别是需要通过选择适当的测试用例上机执行程序进行测试。5、动态测试常用的方法:白盒法和黑盒法。一种是测试产品的功能;二是测试产品的内部结构及处理过程。(1)、白盒法概念:白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。(2)、黑盒法概念:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。6、白盒法常用的覆盖标准:①语句覆盖:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。②判定覆盖:执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。7、总结:比较白盒测试各方法的检错能力①语句覆盖发现错误能力最弱。判定覆盖包含了语句覆盖,但它可能会使一些条件的不到测试。条件覆盖对每一条件进行单独检查,一般情况它的检错能力较判定覆盖强,但有时达不到判定覆盖的要求。判定/条件覆盖包含了判定覆盖和条件覆盖的要求,但由于计算机系统软件实现方式的限制,实际上不一定达到条件覆盖的标准。条件组合覆盖发现错误能力较强,凡满足其标准的测试用例,也必须满足前四种覆盖标准。前五种覆盖标准把注意力集中在单个判定或判定的各个条件上,可能会使程序某些路径没有执行到。路径覆盖根据各判定表达式取值的组合,使程序沿着不同的路径执行,查错能力强。但由于它是从各判定的整体组合出发设计测试用例的,可能使测试用例达不到条件组合覆盖的要求。8、黑盒法(1)、等价分类法基本思想:将输入数据按有效的(合理的)和无效的(不合理的)划分成若干个等价类,认为测试等价类中的一个代表值的结果就等于对该类其他值的测试。(2)、边界值分析法基本思想:是指设计测试用例,使程序在输入或输出的边界值或者边界值左右的值执行。边界值分析方法可以单独设计测试用例,也可以作为等价类划分方法的补充,即在各个等价类中主要是选择边界上及其左右的值。9、等价分类法步骤:划分“等价类”选择测试用例特别要注意:一个测试用例只能覆盖一个无效等价类10、等价类划分的几条经验性原则:如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内)和两个无效的等价类(输入值小于最小值或大于最大值)。如果规定了数据输入的个数,则可划分出一个有效的等价类(输入值的个数符合规定)和两个无效的等价类(输入值的个数少于或多于规定个数)。如果一个输入条件说明了一个"必须成立"的情况,则可划分为一个合理等价类和一个不合理等价类。如果规定了输入数据的一组值,而且程序对不同的输入值进行不同的处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(规定的这一组值以外的值)。如果认为程序将按不同方式来处理某个等价类中的各种测试用例,则将这个等价类再分成几个更小的等价类。11、边值分析法:边界选择原则:(根据题目写,不需要写纯理论)练习题:1、 某工厂公开招工,规定报名者年龄在16周岁至35周岁之间(到2002年3月30日为止)即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。试用等价分类法设计对这一程序功能的测试用例。假设已知出生年月由6位数字字符表示,前4位代表年,后2位代表月。2、设计下列伪码程序的语句覆盖:STARTINPUT(A,B,C)IFA>5THENX=10ELSEX=1ENDIFIFB>10THENY=20ELSEY=2ENDIFIFC>15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)STOP3、设计下列伪码程序的判定覆盖和条件组合覆盖测试用例:STARTINPUT(A,B,C,D)IF(A>0)AND(B>0)THENX=A+BELSEX=A-BENDIF(C>A)OR(D<B)THENELSEY=C-DY=C+DENDPRINT(X,Y)STOP12、单元测试:指对源程序中的每也跟程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。13、模块测试步骤:用到驱动模块和桩模块14、组装测试——概要设计阶段:也称为联合测试或集成测试,指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。问题:渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式?•非渐增式测试:一次就把所有通过了单元测试的模块组合在一起进行全程序的测试,缺点是发现错误难以诊断定位。•渐增式测试:从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口相联系的问题。渐增式测试分为:(1) 自顶向下:该方法不需要编写驱动模块,只需要编写桩模块。又分为:以深度优先和广度优先(2) 自底向上15、 确认测试:以软件需求规格说明书文档为依据,用以检查软件功能与用户需求是否一致。通常用黑盒测试方法。16、 系统测试:检验软件是否能与系统的其他部分协调工作。17、 验收测试:它主要突出了客户的作用,同时软件开发人员也应有一定程度的参与第九章软件维护1、 软件维护的基本概念软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。软件生存周期中时间最长、花费的精力和费用最多的一个阶段是维护阶段软件维护费用高的主要原因是生产率低2、 软件维护的类型完善性维护一一根据用户在软件使用过程中提出的建设性意见而进行的维护活动。纠错性维护一一为改正软件系统中潜藏的错误而进行的活动适应性维护——为适应软件运行环境的变化而修改软件的活动。预防性维护——为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。◊软件维护工作的最主要部分是完善性维护,占据了50%。3、 软件维护的特性:主要体现在三个方面:<1>非结构化维护和结构化维护。<2>维护的困难性。<3>软件维护的费用。第十一章软件项目管理1、软件质量管理软件质量是贯穿软件生存期的一个极为重要的问题,软件质量必须在设计与实现过程中加以保证。2、软件质量保证定义:软件质量保证就是向用户及社会提供满意的高质量的产品,确保软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 推进绿色发展助力经开区可持续发展
- 多元化发展:出版业跨界创新的新机遇
- 健美操教育体系改革与创新思考
- 抽水蓄能产业高质量发展经济效益和社会效益
- 2025建筑工程外墙劳务分包合同范本
- 智能工业机械之路
- 游戏领军创新驱动
- 信息技术在农村资源优化配置中的应用
- 2025简易监控合同范本
- 餐饮财务优化策略
- 2022年淮南市人民医院医护人员招聘笔试试题及答案解析
- 法定代表人、执行董事董事长、董事、监事、经理的任职文件
- 铁路工程地质勘查阶段监理工作总结
- 北师大版三年级数学下册第七单元《数据的整理和表示》教案教学设计(优质完整)
- 高中地理区域地理南亚和印度(共36张)课件
- 密码模块安全检测要求
- 吊篮保养记录月检
- (中职中专)发动机构造与维修完整版课件汇总全书电子教案(最新)
- 食堂安全管理、操作培训考试题与答案
- 工序单位能耗地计算方法、及企业吨钢可比能耗计算方法
- 低温早强耐久混凝土的集中拌和施工
评论
0/150
提交评论