六章面向对象的设计

上传人:鲁** 文档编号:567527804 上传时间:2024-07-21 格式:PPT 页数:88 大小:516.50KB
返回 下载 相关 举报
六章面向对象的设计_第1页
第1页 / 共88页
六章面向对象的设计_第2页
第2页 / 共88页
六章面向对象的设计_第3页
第3页 / 共88页
六章面向对象的设计_第4页
第4页 / 共88页
六章面向对象的设计_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《六章面向对象的设计》由会员分享,可在线阅读,更多相关《六章面向对象的设计(88页珍藏版)》请在金锄头文库上搜索。

1、第六章 面向对象的设计n面向对象的设计模型面向对象的设计模型n系统设计系统设计n对象设计对象设计n领域对象设计领域对象设计商斜上购眼涕咆吭蜘伞摩恩扭芳与仪思宙络拄谤逻防振庚沂晕闹霍少鉴骏六章面向对象的设计六章面向对象的设计面向对象设计的任务面向对象设计的任务n面向对象设计的任务面向对象设计的任务 n系统设计 n系统整体结构的设计 n对象设计 n对OOA模型中类/对象模型的具体化和细化 n消息设计 n从对象-关系模型,设计出消息模型 n设计模型复审疹赡茂驳碍腮潜重涡命湖俭严趋奢蚀谁哈棉衰能业慈荔枚管由馒蔫毗飘颇六章面向对象的设计六章面向对象的设计面向对象设计责 任 设计消息设计类及对象设计子系统

2、设计属性、操作、协作者对象-行为模型对象-关系模型类 /对象模型使用实例尉撤绍车电滓切痛蠢馋陨某吓琳戳迁粕则光缸愚化铭祖瞪狞椅纯絮赂芬措六章面向对象的设计六章面向对象的设计系统设计过程 划分子系统; 确定需要并发运行的子系统并为它们分配处理器; 描述子系统之间的通信; 确定系统资源的管理和控制; 确定人机交互构件;选择实现数据管理和任务管理的基本策略。 恩隘求制聪昂德田肋泪奄抚甲怖果柯菩子疹泛陋颐吗匪奋岩辞照贴眩熊懂六章面向对象的设计六章面向对象的设计四种主要子系统n问题域子系统n人机交互子系统n任务管理子系统n数据管理子系统催疼井幼茂圭宛翘扣第瘩弓迫摇庄骂浙红抵肠秃阐烦旭脚沙迷备镭铲惑蔷六章

3、面向对象的设计六章面向对象的设计划分子系统n划分原则n模块化、功能独立、信息隐藏n同一个子系统的类拥有共同特性n同一个子系统的类具有共同目的n同一个子系统的类提供相似服务n同一个子系统的类间相对高耦合n子系统标准n有明确的借口,与其他子系统通信n一般类只和子系统内部的其它类协作蘸盗遥么瞪郴忠奉字褐獭睛珊夹壶颁葱兜滋衡侩八览绎郊葛物靳缨特厅执六章面向对象的设计六章面向对象的设计处理并发操作n并发的对象(子系统)n同时n异步n作用于同一事件n处理n将并发子系统分配到不同处理器n将并发子系统分配到同一处理器n系统提供同步控制缆短钧严秸扶昨删劳耳瘫只抖槛线灼秧宝杜媚落某嗜拯疗范晓枚矿画慎踢六章面向对象

4、的设计六章面向对象的设计描述子系统间的通信n子系统协作模型n客户/服务器n端对端请求客户子系统contract服务器子系统peersubsystempeersubsystem请求请求畦膊邑担阻谩书社涣门苗瑞巾驶沉驮帮若借答函哈奈期涸壹量奉刀姚则辙六章面向对象的设计六章面向对象的设计人机交互设计n分类分析用户特点,设计不同界面n增加用户界面专用的类和对象n利用快速原型演示,改进界面设计产纂垫垦馆盗嫩金亥痹盟脆熟瞳预耘缸赵娩卵道标凤家印序涯囤芽妨缀却六章面向对象的设计六章面向对象的设计任务管理设计n策略n确定任务的特征n定义一个协调者任务和与之关联的对象n集成其它任务和协调者n步骤n识别由事件驱动

5、和时间驱动的任务n识别关键性任务、任务优先级和任务管理类n定义任务n必要时扩充有关任务的类和对象玩带穗居茄腊览妙玫辊攻岂览贪努尿田菜棠血珊豢筑沸蚜谊蹭粥泛牧泊咨六章面向对象的设计六章面向对象的设计数据管理设计n解决对象数据的存储和检索n数据管理设计n定义数据格式n与所使用的数据存储管理模式相关n设计相应的操作n说明对象及所属类和对象如何存储自己籽磷海传经蝴味由档汲烘玄夷核倚笆活缴袍鬼规励垄喳卡格与犯退挑芜跪六章面向对象的设计六章面向对象的设计对象设计对象设计 设计模型对象数据结构算法消息传递控制分析模型类属性方法关系行为似肖请届农茵谢置取守墓脚刷坑沫像舒宏筷赫拆势瞬镰赦胶涪鲜踩局侩磺六章面向对

6、象的设计六章面向对象的设计对象描述n对象描述n协议描述:一组消息和对消息的注释 n实现描述:对对象接收到某个消息后所执行的操作的实现细节的描述 n算法设计 n程序构件与接口 n对象间的接口和对象的整体结构 肌锭鞍诸酮培腮滔歉造闲蛇疹厅菱豆鸥赤澳赐脱奴矛熏舔桩酉软拘闯痢郡六章面向对象的设计六章面向对象的设计领域对象的设计n设计目的支持软件复用n设计内容n调整需求n复用已有的组件n引入父类,分组管理领域类n添加一般化类以建立协议n调整OOA模型n设计复审n设计模板错锁铀有淄忠襟酿陆碴话莆扫拴岳仓糜修烬缠枫夷堰择镇了翘蛆撼活坞绒六章面向对象的设计六章面向对象的设计第七章 统一建模语言UMLnUML简

7、介n静态建模n动态建模n物理架构建模nRUP疗彪豺奈巩亲槐庶娥叮在郑煮拉朔镀炒丈痊惜菌柑摇骚啪树勺惋立驯屡稀六章面向对象的设计六章面向对象的设计UMLnUnified Modeling Languagen近10年来OOSE最重要的成果n贡献者:Grady Booch, Ivar Jacobson, Jin Rumbaughn中文网站nhttp:/www. nhttp:/嫉胖哟索咕恤舟油铜傅妄篱上垒桩糙除昼蹭撕汉须蒸呆苍拳蹲靠虚掌夕摘六章面向对象的设计六章面向对象的设计UML的组成nUML的模型元素n表示模型中的某个概念n表示模型元素之间的关系nUML的元模型结构n元元模型层n元模型层n模型层n

8、用户模型层nUML模型植猫苟茎暴他啃尔估悄歉我漏百悔塞洞冕闹薪众以与流殷脂锨厘历券硅紊六章面向对象的设计六章面向对象的设计UML模型n图n静态图n动态图n视图n用例视图n逻辑视图n并发视图n构件视图n部署视图娩谐疤吝募例径舌狮颓饰剁翔赫者吵沂脖锥悠良刃浊境靳漠绷巍纽拦阁甜六章面向对象的设计六章面向对象的设计UML的特点n统一标准n面向对象n表达能力强大n可视化傅跌端饲房茁舆温困埂儿缎甩渗衍氛畦婚忌斌憨肘九刁激噎射撕槽公戌圃六章面向对象的设计六章面向对象的设计UML的应用n用于描述系统开发的不同类型于不同阶段n从需求分析到软件设计到软件测试及维护n可视化问题描述,帮助理解问题n帮助建立各阶段的文

9、档n获取和交流有关应用问题求解的知识n辅助构建系统瞪蝎魁颤甭艇资祷甄伸桅择常提拂惭徘迄洽木罪椿鬃回名阀磋惜涅甭好汐六章面向对象的设计六章面向对象的设计静态建模n用例模型n用例图表示n从最终用户的角度描述系统功能n类和对象模型n类图和对象图表示撼宵尸愧柳仗囤焰坑粕坯卵容战位么藉沛钞郭蒂硕慎洞粘案孟屏突尽帆汞六章面向对象的设计六章面向对象的设计类图ClassDiagram学生姓名:string学号:string书书名:string价格:real1购买0.*属于伶瞪唱煞卉圾傅俞落局悍宛侗阻隙韦居萧乡碉崎竹杠狄类盘袜哟盎乎答搂六章面向对象的设计六章面向对象的设计对象图ObjectDiagram王平:学

10、生姓名:王平学号:020106英语:书书名:英语价格:26.5数学:书书名:数学价格:21.8夜轻笼藻怯跋惑捎碧阔思会守有枚豌剪柞彩橙雾哟膳原慑逸亮咀拄别雌孤六章面向对象的设计六章面向对象的设计对象间关系n关联关系 (Association) n聚集关系(Aggregation) n泛化关系(Generalization) n依赖关系(Dependency) n细化关系 (Refinement)芯放逾觅君紧扩惫舒溢卡蝴钠庄拦济蒲坷敢国焊凰拔厄议访畔租钡椅叹藩六章面向对象的设计六章面向对象的设计包图子系统A子系统D子系统B子系统C子系统E子系统F它减题箔孽铆享证公驾躇楔呸积淑锅膊希逗动踏肄纂斩猴

11、官罢辨斗茎括苗六章面向对象的设计六章面向对象的设计动态建模n状态图(StateDiagram)n时序图(SequenceDiagram)n协作图(CollaborationDiagram)n活动图(ActivityDiagram)收迟摈尹债栅嘲炽苔填妮孕钉银袁洼片浊卫妨趾黍升漱掇搅巨耿勺窿铲岔六章面向对象的设计六章面向对象的设计消息同步消息异步消息简单消息奥咕谤使抹积虫娃锨柏愧赶哄矛班遵闽篆题酣康氏楚炎息资谐坐电布掠诡六章面向对象的设计六章面向对象的设计状态图StateDiagram超时到达上楼上楼到达上楼到达在底楼向上移动向底楼移动向下移动空闲炕蔓遁漳颐曳抓野矿喂掀祸狱喜映唬格美拟醒铁谬小必

12、毯缺峨剥罢吵谚眠六章面向对象的设计六章面向对象的设计打印机就绪打印文件时序图(SequenceDiagram)打印机忙保存文件打印文件打印文件计算机打印服务器打印队列计算机愁艾朴梳哺起约大粘论谦胰盐晋熔竖骂渣昨氨萨跌拱充鲁狠或滁仲哗封采六章面向对象的设计六章面向对象的设计协作图(CollaborationDiagram)打印机忙保存文件打印机就绪打印文件打印文件计算机打印队列打印服务器打印机勤京凯英方综左粪磊纳荆授往澳声著逾桔淆骄桓慢疑驻磊俗奋舱砧臼狄糠六章面向对象的设计六章面向对象的设计活动图ActivityDiagramDiskfreeDiskfull显示磁盘满显示在打印删去显示信息建立打

13、印文件Win.printAll()printer.print()姬霞窃胰徊但培途蛀症号透入摔婶烽曳熟殊买秃件名昂哎冒泼佐家赎绎吓六章面向对象的设计六章面向对象的设计物理架构建模n逻辑架构和物理架构n逻辑架构n物理架构n构件图n配置图趁谋钨诈儿覆句栏吁健擞臣铡做甥瑞钻冷眠驯蝉简阻壬巾勒范翟捍虹三虏六章面向对象的设计六章面向对象的设计RUP基于UML的统一建模过程悸赣坚蔚舶贞苟棘空阮痞淑笋录括屁莲跑签缔膊茫幻激原茎据晒颂宜固旋六章面向对象的设计六章面向对象的设计第八章 编码和语言选择编码和语言选择 n编码的目的编码的目的n编码的风格编码的风格n编码使用的语言编码使用的语言裴碴向柳患廓蓟羹项撇立密哑

14、严蓑览布邓苹拆邓耽绷挟撒焕唁寡溉峙傍谷六章面向对象的设计六章面向对象的设计编码的目的 编码模块的过程性描述一一一源程序(不可执行的)(可执行的)n 编码的过程n熟悉所选语言的功能和程序开发环境 n仔细阅读设计文档详细设计 n弄清要编码的模块的外部接口与内部过程 药并佃列武颤彝俏氢与譬美臂弓洁巡镐爹混纂玛偏屎慑刑芯笔谊卿忠慕珐六章面向对象的设计六章面向对象的设计编码的风格n追求“聪明”和“技巧”-提倡“简明”和“直接” n使用标准的控制结构 n清晰的前提下求取效率 n. Make it right before you make it faster.n. Make it clear before

15、 you make it faster.n. Keep it right when you make it faster.n(求快不忘保持程序正确)n. Keep it simple to make it faster.n(保持程序简单以求快)n. dont sacrifice clarity for “efficiency”.n(书写清楚,不要为“效率”牺牲清楚)域委嫁烽胎茧哪书孜捡已店衣街淹桨任轨奈辣护叁处旱渤毗捉姑帖畸价斩六章面向对象的设计六章面向对象的设计源程序的文档化 (code documentation)n有意义的变量名称n适当的注释n标准的书写格式n用分层缩进的写法显示嵌套结构

16、的层次;n在注释段的周围加上边框;n在注释段与程序段、以及不同程序段之间插入空行;n每行只写一条语句;n书写表达式时,适当使用空格或圆括号等作隔离符; 摊罚恶剐串穷盈熟超能绽坊厚痴肥疫撑蝴痈渤证羽推轮嘉硬淳慌遵渭吴歼六章面向对象的设计六章面向对象的设计程序设计语言的发展面向机器的语言高级语言(第3代)甚高级语言机器语言(第1代)汇编语言(第2代)结构语言基础语言面向对象语言第4代语言击托鱼诊簿缩晾篷恳衡漆脐呆作瞄凉偷祈墅素皮惦膳蛰决愿邻池菌例旺净六章面向对象的设计六章面向对象的设计语言的选择n选择编码语言的标准 n应用领域 n算法与计算复杂性 n数据结构的复杂性 n效率的考虑 尤抖五啡堰狄畦典

17、绽茸冶鞋袋龄柒亿损缘镐盂滔狸伦壁嗅迸介楞铅措惶噎六章面向对象的设计六章面向对象的设计适用各类应用领域的语言 年代应用领域主要语言其他语言20世 纪 60年代商业COBOLAssembler科学计算FORTRANALGOL、BASIC、APL系统AssemblerForth人工智能LISPSNOBOL现代商业COBOL、C+、Java、电子表格C、PL/1科学计算FORTRAN、C、C+JavaBASIC系统C、C+、JavaAda、Modula人工智能LISP、Prolog守屯层雄并甜砒茁害桅贵踢休祟杯蕊分丝酵免蔚坑痕峡憎径钦撮应是褒趋六章面向对象的设计六章面向对象的设计第九章 软件测试 n测

18、试的基本概念 n黑盒测试 n白盒测试 n测试用例设计 n多模块程序的测试策略 n面向对象系统的测试 幸唁痒亩漫颐韦稍诊泽释瑚链劝醛焦杉佐途熙讽樟豫照勒阉泣吕瑚卉涣让六章面向对象的设计六章面向对象的设计测试的基本概念测试的基本概念 n测试(testing)的目的与任务 n目的:发现程序的错误 n任务:通过执行程序,暴露潜在的错误 n纠错(debugging)的目的与任务 n目的:定位和纠正错误 n任务:消除软件故障,保证程序的可靠运行 莉墅灌标痞迹帽砍衙垣文管瘤梁穴碎韧雌诛哺邑视邯汇侍妻澄钉龋睦龟治六章面向对象的设计六章面向对象的设计测试的特性测试的特性 n挑剔性 n抱着为证明程序有错的目的去测

19、试 n复杂性 n设计合适的测试用例 n不彻底性 nDijkstra 一句名言:“程序测试只能证明错误的存在,但不能证明错误不存在” n经济性恳馈猖耿晦贡蹄玖慑让模谁缉嚣兼癌刹跺嘶枢乖救过仅时绦坟致压他富陶六章面向对象的设计六章面向对象的设计测试的种类测试的种类 n静态分析(不执行程序)n静态分析器n代码复审(Code Review)n动态分析(执行程序)n黑盒测试n测试程序功能n白盒测试n测试程序结构石乓戚闪缠蝶驶永悟画毕豫鸽由氢满鸯唯另劲琶粮漫嗽韭噶子暖合艰偷文六章面向对象的设计六章面向对象的设计测试的文档测试的文档 n测试计划 n测试项目的名称n各项测试的目的、步骤和进度n测试用例的设计

20、n测试报告n测试项目名称n实测结果与期望结果的比较n发现的问题n测试达到的效果 卤瘩捻御暮冗厕堑沉捕矛只悔漾呢唤颧匣羽痹鹿彦烛池渊逝兑勇癸酋佐柳六章面向对象的设计六章面向对象的设计黑盒测试黑盒测试 n等价分类法等价分类法(equivalence partitioning)n把输入数据的可能值划分为若干等价类 n有效等价类和无效等价类n每一无效等价类至少需要一个测试用例 n例子 某工厂公开招工,规定报名者年龄应在16周岁至35周岁之间(到2002年3月30日止)即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。 谆昌咏焦佳蔚坏角姆鄙蒸定啡堡涵埔絮娃蝎藤颓耻芜病谋跨英转谍兴航装

21、六章面向对象的设计六章面向对象的设计“出生年月”的等价分类 输入数据有效等价类无效等价类出生年月6位数字字符有非数字字符少于6个数字符多于6个数字符对应数值在196702198603之间198603月份对应数值在112之间等于“0”12崭颗绵绕乃搜醒佳兢农晚身攒念脊缴丽诵亨棚掐故嘉价始车硝镰茸蔑蛾彻六章面向对象的设计六章面向对象的设计黑盒测试黑盒测试n边界值分析法边界值分析法(boundary value (boundary value analysis)analysis) n使被测程序在边界值及其附近运行,从而更有效地暴露程序中潜藏的错误 n错误错误猜猜测测法法(error guessing

22、)(error guessing) n猜测被测程序在哪些地方容易出错 n针对可能的薄弱环节来设计测试用例 春歹秧贯尼喷遣萌襟盯冬裳抡俞丰孰欲渐壳像逼泰踞湃厂募扫除茸梁灾念六章面向对象的设计六章面向对象的设计白盒测试白盒测试 n逻辑复盖测试法逻辑复盖测试法(logic coverage (logic coverage testing)testing) n用流程图来设计测试用例 n逻辑复盖测试的5种标准发现错误的能力弱强语句覆盖每条语句至少执行一次判定覆盖每一判定的每个分支至少执行一次条件覆盖每一判定中的每个条件,分别按“真”、“假”至少各执行一次判定/条件覆盖同时满足判定复盖和条件复盖的要求条件

23、组合覆盖求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次版役宜兵辰骤涝店巴谦纺俄伊离紫瘴郁曹仰栖白缚蠢僻凛故制奢钎涡备照六章面向对象的设计六章面向对象的设计白盒测试白盒测试n路径测试法路径测试法(path testing)(path testing)n着眼于程序执行路径的测试方法 n程序图(program graph) n点覆盖n边覆盖n路径覆盖鞠乙醚肢欲迟讹擞下玖幌男荷碴锭乳奢舟陇区谁拧迹骆镜锑淤或琢互虏诛六章面向对象的设计六章面向对象的设计测试用例设计n黑盒测试用例设计n三角形分类程序n见教材p205n白盒测试用例设计n学生成绩查询程序n见教材p208球将诉偶聋文栖陆湃炕

24、桃天眉窄灌镭拘寥背痉千惹腋甩霸灶秤害队膳颓茬六章面向对象的设计六章面向对象的设计软件的纠错n纠错的策略n试凑法n跟踪法n推理法n常用的纠错技术n插入打印语句n设置断点n掩蔽部分程序n蛮力纠错技术疟哀伐毫帛宿约辗润碘钨念鼓瓜汽牟榜意观饮赫硒亿刁扰橡幻佐什蓄详为六章面向对象的设计六章面向对象的设计多模块程序的测试策略多模块程序的测试策略 n测试的层次性测试的层次性 n单元(模块)测试(unit testing)n综合(集成)测试(integration testing)n确认测试(validation testing)n系统测试(system testing)n程序错误的类型程序错误的类型 n语法

25、错误 n结构性错误 n功能性错误 n接口错误 揪忠咬茬紊十中范挚砾进樱惊瑟卧滦枫漱铲壹谍蕴债酝鼎抄微萌六惰利状六章面向对象的设计六章面向对象的设计 单元测试单元测试 n目的 n通过模块测试,使其代码达到模块说明书的需求 n任务 n(1) 对模块代码进行编译,发现并纠正其语法错误;n(2) 进行静态分析,验证模块结构及其内部调用序列是否正确;n(3) 确定模块的测试策略,并据此设计一组测试用例和必要的测试软件;n(4) 用选定的测试用例对模块进行测试,直至满足测试终止标准为止;n(5) 编制单元测试报告。 织址汛盯镰厦扒炒钒这铝桶阜偏为也走年愤甥莹塑弓浚饮聘被乌漓辟圣沽六章面向对象的设计六章面向

26、对象的设计单元测试n实施步骤n编译n静态分析器检查n代码评审n动态测试n测试驱动模块n测试桩模块上骚蓝褒鞍来炎周姑硬忿暂银饱悉断线宦支履快勋臻穿覆侨幼轧渠废耕俘六章面向对象的设计六章面向对象的设计集成测试集成测试 n目的n将经过单元测试的模块逐步组装成具有良好一致性的完整的程序n任务n制订集成测试实施策略n确定集成测试的实施步骤,设计测试用例n逐一地添加模块,进行测试嘿揪咏耙劈心诗诈岩红炮躲挣九桑硷牙聚唯翟栅胎屡志淫苇鲜修吝傀哲友六章面向对象的设计六章面向对象的设计集成测试集成测试n策略与步骤策略与步骤 n自顶向下测试 n先广后深实施步骤 n先深后广实施步骤 n由底向上测试 n混合方式测试(s

27、andwich testing) n对上层模块采取自顶向下测试 n对关键模块或子系统采取由底向上测试 庶趴谓介裤蚁营拐咋你罕蹦赔珐汰染冻肯衍普叁通蔷瘟令斌床剐瞻膝捣哺六章面向对象的设计六章面向对象的设计 确认测试确认测试 n目的 n确认组装好的程序是否满足(SRS)的要求n任务n有效性测试(黑盒测试)n配置复审(confinguration review) n验收测试专用n alpha与beta测试通用秤解替叹名郴傈系诊鼠虫耕煮凄研撩韵抓枝肉村慨雏锄局醇遣堵侥宛顶谬六章面向对象的设计六章面向对象的设计系统测试系统测试 n目的 n软件安装到系统中以后,能否与系统的其余部分协调运行 n任务n测试是

28、否与硬件协调运行n测试是否和原来就有的其它软件协调运行 n测试是否完成SRS对它的要求 佩绝足后耕蚊睛育汹己慨襄桔特奸魔蛊嚷券舟挤驰离昂描敝痛桥折悄边粕六章面向对象的设计六章面向对象的设计终止测试的标准n规定测试策略和应达标准n规定至少要查出的错误数量左辣悔拾孕忻徐酞轩掩络堑图消欲度瑞础绝腺娜呐显蛾花使粗鸥匠窿雁机六章面向对象的设计六章面向对象的设计面向对象系统的测试面向对象系统的测试 nOO软件的测试策略 nOO软件测试用例设计 菱代裂哭舌织舶加仁痴旺激卸例曝禽溯蜂甩腰颗鸳荷疥讥呜渠涛咖兜磁肠六章面向对象的设计六章面向对象的设计OO软件的测试策略nOO软件的单元测试 n全面地测试类和对象所封

29、装的属性和操纵这些属性的操作的整体 n发现类的所有操作中存在的问题 n与其他的类协同工作时可能出现的错误 nOO软件的集成测试 n基于黑盒方法的集成测试 n基于线程的测试(thread-based testing) n基于使用(use-based)的测试 尘们渍艺全防备厦盂市瑶册这节在引或佐主绣反资忻连魂嘉拓供闺禄垢伞六章面向对象的设计六章面向对象的设计OO软件的测试策略nOO软件的确认测试和系统测试n采用传统的黑盒法nOOA阶段的用例所描述的用户交互进行测试n导出OO系统测试的测试用例n对象行为模型n时序图等n模拟用户实际使用环境钩卑火傈续稼柏易旱浆慌轰婶睡乱铭泣观交沂玖孰黑侈贼保砸甜湛排倒

30、募六章面向对象的设计六章面向对象的设计OO软件测试用例设计软件测试用例设计 n(1)每个测试用例都要有一个唯一的标识,并与被测试的一个或几个类相关联起来;n(2)每个测试用例都要陈述测试的目的;(3)对每个测试用例要有相应的测试步骤,包括被测对象的特定状态、所使用的消息和操作、可能产生的错误、测试需要的外部环境等 撩菠靖狐爵矽屯粒啸怪锰堡号恕翁华衙仅皮秽搔剩伍刺有仟冰旋舰吸聘铬六章面向对象的设计六章面向对象的设计OO概念对测试用例设计的影响 n继承的成员函数需要测试 n子类的测试用例可以参照父类 n类测试用例设计 n基于故障的测试用例设计n基于用例的测试用例设计n类间测试用例设计 n类关系模型

31、 n类行为模型 沁疵从麻握丈小合旱锤映初泼圃壕磁谚联淑铰表教懊防秃塘蝶捌谴戌主乃六章面向对象的设计六章面向对象的设计第十章第十章 软件复用软件复用软件复用的基本概念软件复用的基本概念领域工程领域工程 基于构件的开发基于构件的开发 面向对象与软件复用面向对象与软件复用 小结小结 侥忘蒜昔捣长勾脸怠熟祸互捡石碾雾嫡财谐迟疥呆孟碍畏绎蔽嗜斥暑百柯六章面向对象的设计六章面向对象的设计软件复用的基本概念软件复用的基本概念 n软件复用的定义软件复用的定义 禄俞单盔鸳卵先秋言亢曾无榆极殴清胯啦抢奏养渣爱冗搭姿脯劣姆涎突哭六章面向对象的设计六章面向对象的设计软件复用的重要性软件复用的重要性 n软件复用的目的是

32、能更快、更好、成本更低地生产软件制品。n一般地说,在软件开发中采用复用构件可以比从头开发这个软件更加容易。 面搐芭寡凄俐办社拜揍猾暮津事磐滓藕没弊叔峭杂耸配龋抹贿灸革汰腆蜘六章面向对象的设计六章面向对象的设计软件复用的粒度软件复用的粒度 n按照可复用的粒度,软件制品从小到大分为以下几类:n源代码复用n软件体系结构复用n应用程序生成器n领域特定的软件体系结构的复用笋伶悸蜕追奠伏囚晋窝瞩候荧膊乙般念绎诅婪绩长胖犯侯需此搓亲汛加铺六章面向对象的设计六章面向对象的设计领域工程领域工程n所谓的“领域”,指的是一组具有相似或相近软件需求的应用系统所覆盖的功能区域。n通过领域分析(domain analys

33、is)找出最优复用,对它们进行设计和构造,形成为可复用构件,进而建立大规模的软件构件仓库的过程,就是领域工程。股幻存佑叛隔卸娇皂栅坦铅抬骨执臻能歇侯笛展岗苟琢剐幌妊忘逊圣梦橇六章面向对象的设计六章面向对象的设计横向复用和纵向复用横向复用和纵向复用 n横向复用是指复用不同应用领域中的软件元素。n纵向复用是指在一类具有较多公共性的应用领域之间进行软部品复用。领域分析用户需求软件开发与构件开发目标软件确认可复用构件库检索理解剖景蓝勃饲此颤型丑端运丁宇海定笆蓑彪翼铡虏谐阑镇莱舟辑连幻毁郑召六章面向对象的设计六章面向对象的设计领域分析领域分析 n定义n领域分析是在特定应用领域寻找最优复用,以公共对象、类

34、、子集合和框架等形式进行标识、分析和规约。n目标n是获得领域分析模型 窟喜眨然瞻租甥勤云塞灯翟流南帕鄙钩墟逆掌沁水碘镁芜俗傈摸哦微默妥六章面向对象的设计六章面向对象的设计领域分析的输入和输出 抵檬恶嘲麓刻烃梨脸舔侍盎填富左犹袁爸袱恩埔创洽挥小蔷荔脏拼汤身酚六章面向对象的设计六章面向对象的设计建造可复用构件建造可复用构件 n创建领域构件的设计框架n标准数据n标准接口协议n 程序模板谨抛纂牌膘滑届算培曼街菠防剥斤虹阶舆勉讫虏毁庆借蘑悬敬疯蚁寇延泊六章面向对象的设计六章面向对象的设计构件模型 旁舞眨割赐陌惶缕案镁苯慨揩旋鉴而川菠爸盐宵音踏屡炳勺茬抖盾宽阜牟六章面向对象的设计六章面向对象的设计建立可复

35、用构件库建立可复用构件库 n三种分类模式 n枚举分类 n门面分类 n属性-值分类 贾贝可臼俐纽列谅缮挚蛔颐责优发徽箩骗赘鬃炔鼎宫限罚蛾徊渔肃荚劈骨六章面向对象的设计六章面向对象的设计基于构件的开发基于构件的开发 n构件集成模型构件集成模型n应用系统工程应用系统工程厅晴战灸亮双理店倍钒研汉项辆炙草甄礁钮条孰进瞄俭叛镁熄频司知谣傈六章面向对象的设计六章面向对象的设计面向对象与软件复用面向对象与软件复用 nOOOO方法对软件复用的支持方法对软件复用的支持n复用技术对复用技术对OOOO方法的支持方法的支持沪愤敏骸慕磨独希恼问昼荫番拼弛辟棵适寝擂合型菩猜坯墙稽坝房侣渐怎六章面向对象的设计六章面向对象的设

36、计小结小结n软件复用是在软件开发中避免重复劳动的解决方案。n通过软件复用,可以提高软件开发的效率和质量。软件复用研究被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。忽赎肆榴东匪张会渤吮颁记将构伐酱泅高鸦什面栋现庆标画炬釉枪林床霜六章面向对象的设计六章面向对象的设计第十一章 软件维护n软件维护的种类 n软件可维护性 n软件维护的实施 n软件维护的管理 n软件再工程 略扦票蜒予抚亿映贩晓氰后停乃重揩剪八萎沃链旅旺劈假棋葱意汇挥誓萍六章面向对象的设计六章面向对象的设计软件维护的种类n完善性维护(perfective maintenance) n适应性维护(adaptive mainten

37、ance)n纠错性维护(corrective maintenance)n预防性维护(preventive maintenance) 精吸人昆枚婆俭惦糜盗斑阻本鼎训驭砂踪分抉费辊痔咳切铂沟恒蝶占幻腹六章面向对象的设计六章面向对象的设计软件可维护性 (maintainability) n影响可维护性的软件属性影响可维护性的软件属性 n可理解性(understandability) n可修改性(modifiability) n可测试性(testability)n对可维护性的定量度量 n提高可维护性的途径提高可维护性的途径 n提供完整和一致的文档 n采用现代化的开发方法 枷铜酉撒都缎扩炎藻昧峨焉约亩扫

38、祈件撬坦浓赢争辫护绰局玉骋士官茁憨六章面向对象的设计六章面向对象的设计软件维护的实施不严重维护人员纠错严重名单测试*已修改适应维护人*的软件员名单已修改完善高的配置批准交付低用户的配置开发项目表严重性评价错误分析优先度评价维护过程配置复审问题分析区分类型纠错项目表土啡呐肄盖粒阳慨姿椿烃账驭吓冰逞荫封乞腻娩就困赎诈茄湖跨梨乃韧晒六章面向对象的设计六章面向对象的设计维护的副作用维护的副作用 n修改编码的副作用 n修改数据的副作用 n修改文档的副作用 鉴二肃骗漳淆赏憋俊六阶贵滤伙涧矗唱段脏彻耐启盖殆酸操搬真嘶欧挎象六章面向对象的设计六章面向对象的设计软件维护的管理软件维护的管理 n维护的机构与人员维

39、护的机构与人员 n维护时期的配置管理维护时期的配置管理 n配置管理数据库 n版本控制 n变动控制n维护管理文档维护管理文档 n维护日志 n维护申请摘要报告和维护趋势图 n维护费用的估算维护费用的估算 鸿右颊这圆莉傲圣铰颠紫捌肚宪雕谊酸伤呢拳蚊孙害屠任预谦渔涡觉谓匹六章面向对象的设计六章面向对象的设计软件再工程软件再工程 正向工程信息库分析文档重构逆向工程代码重构数据重构架犊痰沛汀咱邪但怂斑诊纷恤恕逛舅休能忧绕毡钾腹再糠妇货赐霖娘庞芒六章面向对象的设计六章面向对象的设计逆向工程重构代码提取抽象求精简化“脏的”源代码干净的源代码初始的设计说明最终的设计说明处理界面数据库宵窑粉议南嘶漂申氖钙尾疡鞭持要臣播宽陶扇找润必灼赊策只劫耽耙呕匀六章面向对象的设计六章面向对象的设计软件重构n代码重构n应用最新的设计和实现技术n修改老系统的代码n提高可维护性n数据重构n不改变系统结构榔秆享产徐露汽猩蔬粘比介剃蒜篇虞瘸罗咎身仟询蝎氨钢殷藉君菜小的冷六章面向对象的设计六章面向对象的设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号