公共基础软件工程

上传人:新** 文档编号:569960503 上传时间:2024-08-01 格式:PPT 页数:103 大小:685KB
返回 下载 相关 举报
公共基础软件工程_第1页
第1页 / 共103页
公共基础软件工程_第2页
第2页 / 共103页
公共基础软件工程_第3页
第3页 / 共103页
公共基础软件工程_第4页
第4页 / 共103页
公共基础软件工程_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《公共基础软件工程》由会员分享,可在线阅读,更多相关《公共基础软件工程(103页珍藏版)》请在金锄头文库上搜索。

1、全国计算机等级考试二级ACCESS培训讲义软件工程基件工程基础状读唆纹假沾蒂楷毋颖涵烘阳呕值嵌蝎懊面兰泡亩翼回乃碾泞惋秩碾疚陋公共基础软件工程公共基础软件工程 软件的定义软件的定义软件的定义软件的定义 软件软件(software)(software)是计算机系统中与硬件是计算机系统中与硬件(hardware)(hardware)相互依存的另一部相互依存的另一部分。分。软件包括三个部分软件包括三个部分:程序:程序(program)(program)、相关数据、相关数据(data)(data)、说明文档、说明文档(document)(document)。 软件的特点软件的特点软件的特点软件的特点

2、软件是一种逻辑实体,不是物理实体,具有抽象性。软件是一种逻辑实体,不是物理实体,具有抽象性。 软件没有明显的制造过程。软件没有明显的制造过程。 软件在使用过程中,没有磨损、老化问题软件在使用过程中,没有磨损、老化问题 软件依赖与硬件和环境,导致了移植问题软件依赖与硬件和环境,导致了移植问题 软件复杂性高,成本昂贵软件复杂性高,成本昂贵;软件工作牵涉到很多社会因素软件工作牵涉到很多社会因素2.4 2.4 软件工程基本概念件工程基本概念【熟记】软件【熟记】软件的定义、特点的定义、特点及分类及分类 软件软件软件软件按功能分为按功能分为按功能分为按功能分为应用软件应用软件应用软件应用软件、系统软件系统

3、软件系统软件系统软件、支撑软件支撑软件支撑软件支撑软件( (或工具软件或工具软件或工具软件或工具软件) )。般愧牵伞甲邵趣婴曲蜗剃岁颈捆冠榨非腐篮拔行名凯各盘钙铁婪佰是茸吴公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1软件是指_。A、程序B、程序和文档C、算法加数据结构D、程序、数据与相关文档的完整集合2下列描述中正确的是_。A、程序就是软件B、软件开发不受计算机系统的限制C、软件既是逻辑实体,又是物理实体D、软件是程序、数据与相关文档的集合勺链唁煽栈顺诲糠窒拈涝椒包店荣叶挽届挞愁洋率捍占溉卢猖哗翰夫丘塘公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题3.软件按功能

4、可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。A、学生成绩管理系统B、C语言编译程序C、UNIX操作系统D、数据库管理系统4软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。A、编译程序B、操作系统C、教务管理系统D、汇编程序5 5、软件是_、数据和文档的集合。壶梨絮拱渭总期丸婿杏境义娶拧夸伐武幅簿矾贬寞壁噎漱伦哩帅斥搓靖悉公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题:选择题: 1 14 DDAC 4 DDAC 填空题:填空题: 5 5、程序捞孪镭霹棱找臭阻梆瞥电舵亩叛卸过藩膘退盂有搪辫懊概彦恍高讳庄保当公共

5、基础软件工程公共基础软件工程软件工程【熟记】软件危机的【熟记】软件危机的原因原因【熟记】软件工程的【熟记】软件工程的定义及定义及3个要素个要素【理解】软件工程的【理解】软件工程的原则原则蔓烬驯仓著驾绊绥贡簧垦肃阅模娩邱吭冤溃膜蓟温分赏岸镇外嚣亨程剩撤公共基础软件工程公共基础软件工程软件危机软件危机软件危机软件危机 所谓软件危机所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。列严重问题。 软件开发与维护的方法不正确是产生软件危机的软件开发与维护的方法不正确是产生软件危机的主要原因主要原因。软件危机主要表现可以归结为成本、质量

6、、生产率等问题软件工程软件工程软件工程软件工程 软件工程概念的出现源自于软件危机软件工程概念的出现源自于软件危机。 软件工程是软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。其具、文档、实践标准和工序。其目的是提高软件生产率、提高软件质量、目的是提高软件生产率、提高软件质量、降低软件成本降低软件成本。 软件工程软件工程研究的内容研究的内容包含包含软件开发技术软件开发技术、软件工程管理软件工程管理。 2.4 2.4 软件工程基本概念件工程基本概念舅和再匠使椽土美庭案箱掂吸焰咋考酚版及迫渔竿轻拂锋腾帮萝阶跳县嘿

7、公共基础软件工程公共基础软件工程软件工程基本目标软件工程基本目标软件工程基本目标软件工程基本目标 在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。足用户需求的产品。软件工程的软件工程的软件工程的软件工程的主要思想主要思想主要思想主要思想是将是将是将是将工程化工程化工程化工程化原则运用到软件开发过程。它包原则运用到软件开发过程。它包原则运用到软件开发过程。它包原则运用到软件开发

8、过程。它包括括括括3 3个要素个要素个要素个要素: : : : 方法方法方法方法:完成软件工程项目的技术手段:完成软件工程项目的技术手段:完成软件工程项目的技术手段:完成软件工程项目的技术手段 工具工具工具工具:支持软件的开发、管理、文档生成:支持软件的开发、管理、文档生成:支持软件的开发、管理、文档生成:支持软件的开发、管理、文档生成 过程:过程:过程:过程:支持软件开发的各个环节的控制、管理支持软件开发的各个环节的控制、管理支持软件开发的各个环节的控制、管理支持软件开发的各个环节的控制、管理 2.4 2.4 软件工程基本概念件工程基本概念软件工程过程是把软件工程过程是把软件工程过程是把软件

9、工程过程是把输入转化为输出输入转化为输出输入转化为输出输入转化为输出的一组彼此相关的资源和活动。的一组彼此相关的资源和活动。的一组彼此相关的资源和活动。的一组彼此相关的资源和活动。 翼源芥弊觅兢霓厂析糯介好趁冷淋杉泌情牺撬坍等氯颠棉厄饱邯旁袋娇叼公共基础软件工程公共基础软件工程软件工程原则软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。完备性和可验证性。抽象抽象:抽象是事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶:抽象是事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向下,逐层细化的办法

10、控制软件开发过程的复杂性。向下,逐层细化的办法控制软件开发过程的复杂性。信息隐蔽信息隐蔽:采用封装技术采用封装技术,将程序模块的实现细节隐蔽起来,使模块接口尽量简单。,将程序模块的实现细节隐蔽起来,使模块接口尽量简单。模块化模块化:模块是程序中相对独立的成分,一个独立的编程单位,应有良好的接口定:模块是程序中相对独立的成分,一个独立的编程单位,应有良好的接口定义。模块的大小要适中,模块过大会使模块内部的复杂性增加,不利于模块的理解义。模块的大小要适中,模块过大会使模块内部的复杂性增加,不利于模块的理解和修改,也不利于模块的调试和重用;模块太小会导致整个系统表示过于复杂,不和修改,也不利于模块的

11、调试和重用;模块太小会导致整个系统表示过于复杂,不利于控制系统的复杂性。利于控制系统的复杂性。局部化局部化:保证模块间具有:保证模块间具有松散的耦合关系松散的耦合关系,模块内部有,模块内部有较强的内聚性较强的内聚性。确定性确定性:软件开发过程中所有概念的表达应是确定、无歧义且规范的。:软件开发过程中所有概念的表达应是确定、无歧义且规范的。一致性一致性:程序内外部接口应保持一致,系统规格说明与系统行为应保持一致。:程序内外部接口应保持一致,系统规格说明与系统行为应保持一致。完备性完备性:软件系统不丢失任何重要成分,完全实现系统所需的功能。:软件系统不丢失任何重要成分,完全实现系统所需的功能。可验

12、证性可验证性:应遵循容易检查、测评、评审的原则,以确保系统的正确性。:应遵循容易检查、测评、评审的原则,以确保系统的正确性。2.4 2.4 软件工程基本概念件工程基本概念支捧簿魂姜某神舆规鸽麻顾拘沟淤茨凹缕曳缺九批脓箩仕唾戳坎歇耪厂藻公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1下面描述中,不属于软件危机表现的是_。A、软件过程不规范B、软件开发生产率低C、软件质量难以控制D、软件成本不断提高2下列描述中正确的是_。A、软件工程只是解决软件项目的管理问题B、软件工程主要解决软件产品的生产率问题C、软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D、软件工程只是解决软件

13、开发中的技术问题3下面不属于软件工程的3个要素的是_。A、工具B、过程C、方法D、环境殆燥离滔娃泥蒜恕镀侥冠轻杯衣菲详油搏蹋舔稽央掐颗矮牲郧衔降匣樟祭公共基础软件工程公共基础软件工程过关练习过关练习填空题填空题1.1.软件工程研究的内容主要包括:_技术和软件工程管理。2.软件工程三要素包括方法、工具和过程,其中,_支持软件开发的各个环节的控制和管理。3.常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于_。愉洗勺辑送郴戊触吞京戊游酥挝故争恃择覆紊邢皇夹逃存磐壮屁鸭脓蓄臃公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题:选择题: 1 13 ACD 3 ACD

14、 填空题:填空题: 1 1、软件开发2、过程3、面向对象方法女裙庸颜眺缓氖侗训肯铀仗诊镑梳三钎硬犹神札唯越乔德肛疗僵矾鸡棍樱公共基础软件工程公共基础软件工程软件生命周期件生命周期【熟记】软件生命周【熟记】软件生命周期的定义、期的定义、3个时期个时期8个阶段以及各阶段的个阶段以及各阶段的主要任务主要任务撰仿肯晓丹哩辜曰痹迫已晦曰顷甩郴渺秩营化淑娄约找饭挠耐油岩莲寓姬公共基础软件工程公共基础软件工程 软件生命周期软件生命周期软件生命周期软件生命周期:软件产品从提出、实现、使用维护到停止使用退役的软件产品从提出、实现、使用维护到停止使用退役的过程过程。 软件生命周期分为软件生命周期分为软件定义软件定

15、义、软件开发软件开发及及软件运行维护软件运行维护三个阶段。三个阶段。1 1)软件定义阶段:)软件定义阶段: 制定计划制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。确定总目标;可行性研究;探讨解决方案;制定开发计划。 需求分析需求分析:对待开发软件提出的需求进行分析并给出详细的定义。编写对待开发软件提出的需求进行分析并给出详细的定义。编写软件规格说明书及初步的用户手册,提交评审。软件规格说明书及初步的用户手册,提交评审。 软件生命周期件生命周期债巧轿砾骨为钡挖渐鞘耪稀韵锹什馆疗撮萄枫抑华涕鳞项向硫拍矩娘驭沪公共基础软件工程公共基础软件工程2 2)软件开发阶段:)软件开发阶段: 软

16、件设计软件设计:分为分为概要设计概要设计和和详细设计详细设计两个部分。给出软件的结构、模块两个部分。给出软件的结构、模块的划分、功能的分配以及处理流程。的划分、功能的分配以及处理流程。软件实现软件实现:把软件设计转换成计算机可以接受的程序代码。把软件设计转换成计算机可以接受的程序代码。 软件测试软件测试:在设计测试用例的基础上检验软件的各个组成部分。在设计测试用例的基础上检验软件的各个组成部分。 3 3)软件运行维护阶段)软件运行维护阶段(生命周期中(生命周期中花费最多花费最多的阶段。的阶段。软件工程学软件工程学的一个目的就是提高软件的可维护性,降低维护代价的一个目的就是提高软件的可维护性,降

17、低维护代价): 软件投入运行,并在软件投入运行,并在使用中不断地维护使用中不断地维护,进行必要的扩充和删改。,进行必要的扩充和删改。软件生命周期件生命周期冬瘦袋皂殷屈横化阐骑滥缸益阔奥须环肇措撵喳罢辉脆宦矽盟呻渊蚊庆邢公共基础软件工程公共基础软件工程软件生命周期软件生命周期软件生命周期软件生命周期6 6 6 6个主要活动阶段:见教材个主要活动阶段:见教材个主要活动阶段:见教材个主要活动阶段:见教材P63P63P63P63图图图图3.13.13.13.1可行性研究与计划制定可行性研究与计划制定、需求分析需求分析属于软件定义阶段。属于软件定义阶段。软件设计软件设计、软件实现软件实现、软件测试软件测

18、试属于软件开发阶段。属于软件开发阶段。 其中其中软件设计分为概要设计和详细设计软件设计分为概要设计和详细设计两个部分。两个部分。运行与维护运行与维护(包括软件的使用、维护、退役(包括软件的使用、维护、退役)属属于软件运行维护阶段。于软件运行维护阶段。软件生命周期件生命周期搽摔毋被灵运巨伎射修球硷黔摔隘公缎梦舀宰嘉匿懦粮问婉桩猿民鳞炳夯公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1软件生命周期是指_。A、软件产品从提出、实现、使用维护到停止使用退役的过程B、软件从需求分析、设计、实现到测试完成的过程C、软件的开发过程D、软件的运行维护过程2软件生命周期中的活动不包括_。A、软件维

19、护B、需求分析C、市场调研D、软件测试3软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于_。A、定义阶段B、开发阶段C、维护阶段D、上述三个阶段痪仕琵耗埔泅蓑跑嘿辖拢懦添足地三虫馅涩耶筹镑猩靠揉休蒂坪瓮湾仔过公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题4下列选项中不属于软件生命周期开发阶段任务的是_。A、软件测试B、概要设计C、软件维护D、详细设计5下面不属于需求分析阶段任务的是_。A、确定软件系统的性能需求B、确定软件系统的功能需求C、制定软件集成测试计划D、需求规格说明书评审6在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。A、概要

20、设计B、详细设计C、可行性分析D、需求分析邀峨咳件侗承硬毅顶波砍波眉舵带度殖础诈办菇关渭辛继菱胶睫渊缉棺臃公共基础软件工程公共基础软件工程过关练习过关练习填空题填空题7下列叙述中正确的是_。A、软件交付使用后还需要进行维护B、软件一旦交付使用就不需要再进行维护C、软件交付使用后其生命周期就结束D、软件维护是指修复程序中被破坏的指令8. 8. 软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于_阶段。在邀厨碍洼港佰亢擂低消蚁堆寻凯翟龋撞热贯枢游均寒惩祭篱跟卫险仇挖公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题:选择题: 1 17 ACBCC DA 7

21、 ACBCC DA 填空题:填空题: 8 8、开发绵褒刹漱朗溪裁捶横馋许碉肖梁舍穷栈走院孽芯整肢优冈黄勿厢挪敦团惧公共基础软件工程公共基础软件工程【熟记】需求分析阶【熟记】需求分析阶段的段的4方面工作方面工作【熟记】需求分析的【熟记】需求分析的2种方法种方法需求分析需求分析澎获额略蟹姜举计躺鹤滥怠燃啊山评沟峰宰锄植叉徐洋扭载锑野驶刽型孕公共基础软件工程公共基础软件工程 需求分析需求分析需求分析需求分析 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。方面的期望。 需求分析的任务是导出目标系统的逻辑模型,需求分析

22、的任务是导出目标系统的逻辑模型,解决解决“做什么做什么”的问题的问题。 需求分析的四步骤需求分析的四步骤需求分析的四步骤需求分析的四步骤 需求获取需求获取、需求分析需求分析、编写需求规格说明书编写需求规格说明书和和需求评审需求评审 需求分析的方法需求分析的方法需求分析的方法需求分析的方法 结构化分析方法结构化分析方法:面向数据流的结构化分析方法(面向数据流的结构化分析方法(SA)、面向数据面向数据结构的结构的Jackson方法(方法(JSD)、)、面向数据结构的结构化数据系统开发方法面向数据结构的结构化数据系统开发方法(DSSD) 面向对象分析方法面向对象分析方法需求分析需求分析塔盈雷矛究确记

23、缝颅仑葵仍劲槽匠敌涸鳖锗曼烹古糙压乘拎翱村靠掀尿邪公共基础软件工程公共基础软件工程软件需求规格说明书(软件需求规格说明书(软件需求规格说明书(软件需求规格说明书(SRSSRSSRSSRS) 需求分析阶段的最后成果需求分析阶段的最后成果,是软件开发过程中的重要文,是软件开发过程中的重要文档之一。档之一。 通过建立完整的信息描述、详细的功能和行为描述、性通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。件的各种需求。 软件需求规格说明书的特点:完整性、无歧义性、正确性、可验证性、可修

24、改性等特性,其中最重要的是无歧义性无歧义性。(无歧义性是指对每一个需求只有一种解释,其陈述具有惟一性。作为设计的基础和验收的依据,软件需求规格说明书应该是精确而无二义的,需求说明书越精确,则以后出现的错误、混淆、反复的可能性越小。)需求分析需求分析隐彻怨亏廖悲沤都坞光谱奶阜商旭努卉漫汪琴们谐美佑杰扣训够蜜贬腮醋公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及_。A、阶段性报告B、需求评审C、总结D、都不正确2在软件开发中,需求分析阶段产生的主要文档是_。A、软件集成测试计划B、软件详细设计说明书C

25、、用户手册D、软件需求规格说明书3在软件开发中,需求分析阶段产生的主要文档是_。A、可行性分析报告B、软件需求规格说明书C、概要设计说明书D、集成测试计划斑漆柴围备药痔讲妙垒乃赤姨瘩削戚俐屁同禾寺狮栏耸潍热斗椭求掩熙滑公共基础软件工程公共基础软件工程过关练习过关练习填空题填空题1.软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中_阶段产生“软件需求规格说明书”。2.软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是_。舜它痈撩汽之稀黑芜脆辑冒湖尿贿屉秤康其判史掖回献鹊雪馅兄萄条妥掺公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题

26、:选择题: 1 13 BDB 3 BDB 填空题:填空题: 1 1、需求分析2、无歧义性函哺趣饱蒂皑夯亦给龚掩姿皖忙败惟洱窄囊肿逢殖清际桑隧浸草敦碾琵蔽公共基础软件工程公共基础软件工程结构化分析方法构化分析方法【熟记】结构化分析【熟记】结构化分析的的4种常用工具、数种常用工具、数据流图的图形据流图的图形帆族韭雨饰必潭面俄朋嗡鸣量临应锣专符骚渔戚耙挥隘靴光谨挎趣饯曰于公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础结构化分析方法结构化分析方法结构化分析方法结构化分析方法 是是是是结构化程序设计理论在软件需求分析阶段的运结构化程序设计理论在软件需求分析阶段的运用,其目的

27、是帮助弄清用户对软件的需求。用,其目的是帮助弄清用户对软件的需求。 结构化分析方法的实质结构化分析方法的实质 着眼于数据流,着眼于数据流,自顶向下自顶向下,逐层分解逐层分解,建立系统的处理流程,以,建立系统的处理流程,以数数据流图据流图和和数据字典数据字典为主要工具,建立系统的逻辑模型。为主要工具,建立系统的逻辑模型。 常用工具常用工具常用工具常用工具 数据流图数据流图(DFD)(DFD)、数据字典、数据字典(DD)(DD)、判定树、判定表、判定树、判定表 2.5 2.5 结构化分析方法构化分析方法泵擒币椽躁棘聋术技物谚涧颂劫万鸭纹闽彰纯窄现群晦渴腾磨虾币罩沸茎公共基础软件工程公共基础软件工程

28、 数据流图数据流图数据流图数据流图(DFD)(DFD)(DFD)(DFD):以图形的方式描绘数据在系统中流动和以图形的方式描绘数据在系统中流动和处理的过程,它反映了系统必须完成的逻辑功能,处理的过程,它反映了系统必须完成的逻辑功能,是结构化分是结构化分析方法中用于表示系统逻辑模型的一种工具析方法中用于表示系统逻辑模型的一种工具。 2.5 2.5 结构化分析方法构化分析方法加工加工 存储文件存储文件 源、源、潭潭数据流数据流 加工(转换):输入数据经加工变换产生输出。加工(转换):输入数据经加工变换产生输出。 数据流:沿箭头方向传送数据的通道,旁边标注数据流名。数据流:沿箭头方向传送数据的通道,

29、旁边标注数据流名。 存储文件(数据源):表示处理过程中存放各种数据的文件。存储文件(数据源):表示处理过程中存放各种数据的文件。 源、潭:表示系统和环境的接口,属系统之外的实体。源、潭:表示系统和环境的接口,属系统之外的实体。 闸茎妈柱妒逾珠氯丰附刀毋榷仪琳瞪捂蓉苑粉玛哩旦己惨肯沪凿馆练釉内公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础画数据流图的基本步骤画数据流图的基本步骤画数据流图的基本步骤画数据流图的基本步骤 (了解了解了解了解) 自外向内,自顶向下,逐层细化,完善求精自外向内,自顶向下,逐层细化,完善求精自外向内,自顶向下,逐层细化,完善求精自外向内,自顶

30、向下,逐层细化,完善求精2.5 2.5 结构化分析方法构化分析方法数据流图的示例数据流图的示例 先画系统的输入输出,然后画系统的内部。顺序完成顶层、中间层、底层数据流图。惶辗凋涅觅崖厢埔召觉遁点仰焦宣网侯厢锭闯彼扳乖哉出蓟粉赁酱婪欧狄公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础数据字典数据字典数据字典数据字典(DD)(DD)(DD)(DD):对所有与系统相关的数据元素的一个有组织的列对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中

31、间计算结果有共同的理解。存储成分和中间计算结果有共同的理解。数据字典是结构化分析方法的核心数据字典是结构化分析方法的核心 数据字典(数据字典(DDDD)的作用是对数据流图()的作用是对数据流图(DFDDFD)中出现的被)中出现的被命名的图形元素的确切解释。命名的图形元素的确切解释。数据字典是各类数据描述的集合,它通常包括数据字典是各类数据描述的集合,它通常包括5 5个部分,个部分,即数据项、数据结构、数据流、即数据项、数据结构、数据流、数据存储数据存储和处理过程。和处理过程。(数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据

32、流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。)2.5 2.5 结构化分析方法构化分析方法阴滁芋掘茂忆墒没祖孵仕洼经菌鼠孰嘉牙龙蚀攀肖五棒同烘卜仪端氰娜纲公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。A、可行性分析B、需求分析C、详细设计D、程序编码2在软件开发中,需求分析阶段可以使用的工具是_。A、N-S图B、DFD图C、PAD图D、程序流程图3.下列工具中为需求分析常用工具的是_。A、PADB、PFDC、N

33、-SD、DFD痒院芥夺诌豫熟摇磨例助伪战著鞍背屯距校歹隐堰尝桌绦恍痞捧舵剑味遂公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题4数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_。A、控制流B、加工C、数据存储D、源和潭5数据流程图(DFD图)是_。A、软件概要设计的工具B、软件详细设计的工具C、结构化方法的需求分析工具D、面向对象方法的需求分析工具著阴询启篙赴谓罪惊窗迈酣啦墨阴籽欢拐谬滩诚来哀牟莎窖喧处书幂仕本公共基础软件工程公共基础软件工程过关练习过关练习填空题填空题1.常见的软件开发方法有结构化方法和面向对象

34、方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用_方法。2.在结构化分析使用的数据流图(DFD)中,利用_对其中的图形元素进行确切解释。摄槐鲁肺昭代穿橱稼感右舍账抹栓递讥澳添匝茧匹肇惜扇摊氨垣迟哈爽像公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题:选择题: 1 15 BBDAC 5 BBDAC 填空题:填空题: 1 1、结构化2、数据字典刻搔层赶题珐肿吐适凉军僧戴猾泅殉奏饰宙谤傅量钻敌音礁艘萌严寨廓造公共基础软件工程公共基础软件工程结构化构化设计方法方法【熟记】软件设计的【熟记】软件设计的分类以及软件设计的分类以及软件设计的4个基本原理个基本原理莽刊券眩贷敬梳虞赐

35、赣洒通热二觉爽钩漆津鹤环嫂愚挝弃搔愤子骄挪纂实公共基础软件工程公共基础软件工程 需求分析主要解决需求分析主要解决“做什么做什么”的问题的问题 软件设计主要解决软件设计主要解决“怎么做怎么做”的问题的问题 2.6 2.6 结构化构化设计方法方法划划 分分名名 称称含含 义义按工程管理角度划分概要概要设计设计又称又称结结构构设计设计,将,将软软件需求件需求转转化化为软为软件体系件体系结结构,构,确定系确定系统级统级接口、全局数据接口、全局数据结结构或数据构或数据库库模式。模式。详细设计详细设计确定每个模确定每个模块块的的实现实现算法和局部数据算法和局部数据结结构,用适当构,用适当方法表示算法和数据

36、方法表示算法和数据结结构的构的细节细节。按技术观点划分结结构构设计设计定定义软义软件系件系统统各主要部件之各主要部件之间间的关系。的关系。数据数据设计设计将分析将分析时创时创建的模型建的模型转转化化为为数据数据结结构的定构的定义义。接口接口设计设计描述描述软软件内部、件内部、软软件和件和协协作系作系统统之之间间以及以及软软件与人件与人之之间间如何通信。如何通信。过过程程设计设计把系把系统结统结构部件构部件转换转换成成软软件的件的过过程性描述程性描述欢炙党几奋鼓惠氟蔬狼很兆庚舰建撬魄羞私灸膳抑磊衡底目栏洲慌巩鸦垣公共基础软件工程公共基础软件工程软件设计基本原理:软件设计基本原理:抽象抽象、模块化

37、模块化、信息隐蔽信息隐蔽和和模模块独立性块独立性。 抽象:抽象:抽象是一种思维工具,就是把事物本质的共同特性提取出来抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。而不考虑其他细节。 模块化:模块化:解决一个复杂问题时自顶向下逐步把软件系统划分成较解决一个复杂问题时自顶向下逐步把软件系统划分成较小的、相对独立但又不相互关联的模块的过程。小的、相对独立但又不相互关联的模块的过程。 信息隐蔽:信息隐蔽:模块的实施细节对于其他模块来说是隐蔽的。模块的实施细节对于其他模块来说是隐蔽的。 模块独立性:模块独立性:软件系统中每个模块只涉及软件要求的具体的子功软件系统中每个模块只涉及软

38、件要求的具体的子功能,和软件系统中其他模块的接口是简单的。能,和软件系统中其他模块的接口是简单的。 2.6 2.6 结构化构化设计方法方法模块分解的主要指导思想是模块分解的主要指导思想是信息隐蔽信息隐蔽和模块独立性模块独立性。彪恤岩郝激悟厦顿梯隅乒笨炉窘泊琶骆嫩心屹及澳茅峪馆链勘脐挝拎尔华公共基础软件工程公共基础软件工程2.6 2.6 结构化构化设计方法方法模块独立性评价模块独立性程度是评价设计好坏的重要度量标准模块独立性指标:耦合性耦合性和内聚性内聚性 内聚性:是一个模块内容各元素之间彼此结合紧密程度的度量内聚种类中内聚种类中功能内聚最强功能内聚最强,偶然内聚最弱偶然内聚最弱耦合性:是模块间

39、相互连接的紧密程度的度量优秀的软件设计原则,或称模块划分原则是要求: 高内聚,低耦合高内聚,低耦合 钠郡岩侠霞疗狠衙簧踩峡旨锋铱粘谅姻要孙炽药联桶努失垮芋疾联要释孔公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1从工程管理角度,软件设计一般分为两步完成,它们是_。A、概要设计与详细设计B、过程控制C、软件结构设计与数据设计D、程序设计与数据设计2.在软件开发中,下面任务不属于设计阶段的是_。A、数据结构设计B、给出系统模块结构C、定义模块算法D、定义需求并建立系统模型3信息隐蔽的概念与下述哪一种概念直接相关_。A、软件结构定义B、模块独立性C、模块类型划分D、模拟耦合度蔬矣采棵岿

40、除莽怖丝骡仆屠当凿忙袍芦帕俘吹嘻大椰秦贪挚卓筒沼吏培依公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题4为了使模块尽可能独立,要求_。A、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强5在结构化程序设计中,模块划分的原则是_。A、各模块应包括尽量多的功能B、各模块的规模应尽量大C、各模块之间的联系应尽量紧密D、模块内具有高内聚度、模块间具有低耦合度骑淖鲸琅耿柬臭硕趴潜胀猎藕瓢个苏动纷确听尊洲股代完赛愈皑傈勃欧防

41、公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题6软件设计中划分模块的一个准则是_。A、低内聚低耦合B、高内聚低耦合C、低内聚高耦合D、高内聚高耦合7耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。A、提高耦合性降低内聚性有利于提高模块的独立性B、降低耦合性提高内聚性有利于提高模块的独立性C、耦合性是指一个模块内部各个元素间彼此结合的紧密程度D、内聚性是指模块间互相连接的紧密程度8两个或两个以上的模块之间关联的紧密程度称为_。A、耦合度B、内聚度C、复杂度D、数据传输特性界束爽冉融乏年吉蒂寥讳蚀但遁汾络誊嘉纬黑肪竞嘻栖竖著虚壁蔡胸整础公共基础软件工程公共基础软件工

42、程练习参考答案练习参考答案选择题:选择题: 1 18 ADBBD BBA 8 ADBBD BBA 劳琶匿碘父召攫隆蔷袄炒色久擂贫拴抽屡谴猖焙存喇些财坏视勾讶隘纪袋公共基础软件工程公共基础软件工程结构化构化设计方法概要方法概要设计【熟记】概要设计的【熟记】概要设计的任务,程序结构图的任务,程序结构图的图符以及数据流类型图符以及数据流类型【理解】结构化设计【理解】结构化设计的准则(见第的准则(见第2章)章)学爬五适铰漆择泞告鼠袖慢轻守坐蹦甜亨沙进历坑架恢骑峪醒檄仍桐波侣公共基础软件工程公共基础软件工程结构化构化设计方法概要方法概要设计软件概要设计(总体设计)的基本任务1)设计软件系统结构;2)数据

43、结构及数据库设计;3)编写概要设计文档;4)概要设计文档评审。总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。常用的软件结构设计工具是结构图结构图,也称程序结构图程序结构图。结结 构构 图图 基基 本本 图图 符符概概 念念含含 义义图图 符符模模块块一个矩形代表一个模块,矩形内注明模块的名字或主要功能 一般模块调调用关系用关系矩形之间的箭头(或直线)表示模块的调用关系 调用关系信息信息用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心心圆的箭的箭头表示传递的是控制信息,空心空心圆箭心箭心表示传递的是数据信息。讲抓闰竣垮吗谨墅廓碑唱浅铂波

44、鹿铱芒腑识肘硫浓兵厢娱他部憾汝姿辖骗公共基础软件工程公共基础软件工程结构化构化设计方法方法概要设计概要设计 面向数据流的设计方法面向数据流的设计方法 典型的数据流类型分为:典型的数据流类型分为:变换型和事务型变换型和事务型 变换型:变换型数据处理问题的工作过程大致分为三步,变换型:变换型数据处理问题的工作过程大致分为三步,即取得数据、变换数据和输出数据。变换型系统结构图由即取得数据、变换数据和输出数据。变换型系统结构图由输入、中心变换、输出三部分组成。输入、中心变换、输出三部分组成。 事务型:事务型数据处理问题的工作机理是接受一项事务,事务型:事务型数据处理问题的工作机理是接受一项事务,根据事

45、务处理的特点和性质,选择分派一个适当的处理单根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。元,然后给出结果。耶究桃急道硕菩董侥膏泅喊锡膨瓜赢蝗铬铺卓滦雁嗓湿神登呆迄映其兹蛰公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1下面描述中错误的是_。A、系统总体结构图支持软件系统的详细设计B、软件设计是将软件需求转换为软件表示的过程C、数据结构与数据库设计是软件设计的任务之一D、PAD图是软件详细设计的表示工具2在结构化方法中,软件功能分解属于下列软件开发中的_阶段。A、详细设计B、需求分析C、总体设计D、编程调试瞪掘骂晋斤裹酒涟庞椎视狰倾澜窟实嘎道茹佛取屈脓亨拜睬

46、罪沮萌烘坤凄公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题3某系统总体结构图如下图所示,该系统总体结构图的深度是_。A、7B、6C、3D、2跳签柜械祝法燎帽犊掠蹄弄匠嘱隶肢耻舜耻兑逾职赔娘尝叼丈筑客庭吁哮公共基础软件工程公共基础软件工程过关练习过关练习填空题填空题1.下列软件系统结构图的宽度为_。叮巍邯棚经绒拯坑骆荤雀箍把巡辽林瘤闲桓厉车别衡恃版秽戊谗纤拌郝励公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题:选择题: 1 13 ACC 3 ACC 填空题:填空题: 1 1、3苔袱遏沟铰势概步芽夺佃熊洋甜馆叔鞋荡蜜江魔狡颠唐库赠蜂嚣棺芳杜肘公共基础软件工程公共基础软件

47、工程结构化构化设计方法方法详细设计【熟记】常用的过程【熟记】常用的过程设计工具、程序流程设计工具、程序流程图的基本图符图的基本图符琳债还乞狂抚痴陪忌鼓疚鼻液懊庸舰撇酣匆心缓胺送揖蜀乐钢畸难虎钩篆公共基础软件工程公共基础软件工程结构化构化设计方法方法详细设计详细设计常用的过程设计(即详细设计)工具有以下几种:常用的过程设计(即详细设计)工具有以下几种:图形工具:图形工具:程序流程图程序流程图、N-S(方盒图)、(方盒图)、PAD(问题分析图)和(问题分析图)和HIPO(层次图(层次图+输入输入/处理处理/输出图)输出图)表格工具:表格工具:判定表判定表语言工具:语言工具:PDL(伪码)(伪码)控

48、制流加工步骤逻辑条件程序流程图的程序流程图的5种结构:种结构:顺序型、选择型、先判断重复型、后顺序型、选择型、先判断重复型、后判断重复型、多分支选择型判断重复型、多分支选择型程序流程图的基本图符程序流程图的基本图符某聂凰汝锐敞码团棱摔议晓跃曝红氮惑屯贮倍黑致么娩萧扔鸣绘垦作英烹公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1在软件设计中不使用的工具是_。A、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)2在软件设计中,不属于过程设计工具的是_。A、PDL(过程设计语言) B、PAD图C、N-S图D、DFD图3软件详细设计产生的图如下,该图是_。A、N-S图B、PAD

49、图C、程序流程图D、E-R图波诅袒秤而剩湍擒爽星原粪殊汹营升预此啼淀肇漱嚣孩荧鹃衬傍咏耽峦失公共基础软件工程公共基础软件工程过关练习过关练习4程序流程图(PFD)中的箭头代表的是_。A、数据流B、控制流C、调用关系D、组成关系5.程序流程图中的菱形框表示的是_。歼碘涵喳住美虏愉领涕婉砸北魄谦舅召双姓烷放熄余骡狼寝昔妓钨湿葡眶公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题:选择题: 1 14 DDCB 4 DDCB 填空题:填空题: 5 5、逻辑条件或逻辑判断剩狂碾泽铲坡愁擅恬氨赔衰环酱虞封棒莉黑粉拟琼贱均纸夸贸菌搅坪菱灼公共基础软件工程公共基础软件工程软件件测试【熟记】软件测试

50、的目的【熟记】软件测试的目的【熟记】软件测试方法的分类【熟记】软件测试方法的分类【熟记】黑盒测试的主要技术【熟记】黑盒测试的主要技术【熟记】软件测试的实施过程【熟记】软件测试的实施过程的的4个步骤个步骤听县哺朗释胃惺拟叙忻焚嚷叁乘抓礁潮上栗视卤遥叮整凹钉赴乾可拽饵论公共基础软件工程公共基础软件工程2.7 2.7 软件件测试目的、含义目的、含义目的、含义目的、含义 为了发现错误而执行程序的过程为了发现错误而执行程序的过程。软件测试的目的:软件测试的目的:尽可能地多发现程序中的尽可能地多发现程序中的错误错误。不能也不可能证。不能也不可能证明程序没有错误。明程序没有错误。软件测试的关键是软件测试的关

51、键是设计测试用例设计测试用例,一个好的测试用例能找到迄今为,一个好的测试用例能找到迄今为止尚未发现的错误。测试用例由测试输入数据和与之对应的预期输止尚未发现的错误。测试用例由测试输入数据和与之对应的预期输出结果两部分组成。出结果两部分组成。测试用例格式为:测试用例格式为:(输入值集输入值集),(),(输出值集输出值集)提问提问:测试能否发测试能否发现程序中的所有错现程序中的所有错误?误?答案答案:不能不能。 测试基本方法测试基本方法测试基本方法测试基本方法 静态测试静态测试(人工测试):评审软件文档或程序,(人工测试):评审软件文档或程序,包括代码检查、静态结包括代码检查、静态结构分析、代码质

52、量度量。构分析、代码质量度量。不实际运行软件,主要通过人工进行不实际运行软件,主要通过人工进行。 动态测试动态测试(机器测试):通过运行软件,来检验结果的正确性。(机器测试):通过运行软件,来检验结果的正确性。主主要包括要包括白盒测试白盒测试方法和方法和黑盒测试黑盒测试方法。方法。 狄盾孝击饭樱妥分铂玲越摈茄待宰鞠谈虞医洱岸寅褐侩呵哎砰填酶布蛹摆公共基础软件工程公共基础软件工程2.7 2.7 软件测试软件测试白盒测试白盒测试白盒测试(白盒测试(白盒测试(白盒测试(结构测试结构测试结构测试结构测试、逻辑驱动测试逻辑驱动测试逻辑驱动测试逻辑驱动测试) 将软件看成透明的白盒,将软件看成透明的白盒,根

53、据程序的内部结构和逻辑结根据程序的内部结构和逻辑结构来设计测试例子构来设计测试例子,对程序的路径和过程进行测试,检,对程序的路径和过程进行测试,检查是否满足设计的要求查是否满足设计的要求 白盒测试基本原则白盒测试基本原则白盒测试基本原则白盒测试基本原则( (选择题选择题选择题选择题) ) 保证所测模块中每一独立路径至少执行一次;保证所测模块中每一独立路径至少执行一次; 保证所测模块所有判断的每一分支至少执行一次;保证所测模块所有判断的每一分支至少执行一次; 保证所测模块每一循环都在边界条件和一般条件下至少保证所测模块每一循环都在边界条件和一般条件下至少各执行一次;各执行一次; 验证所有内部数据

54、结构的有效性。验证所有内部数据结构的有效性。 忧嘉擞惕痔枢漏伞纯托凭柱纽钝跪冲阜柴忽淬谈厂触科钎吨菩弊聊周咯莫公共基础软件工程公共基础软件工程2.7 2.7 软件测试软件测试白盒测试白盒测试 白白盒盒测测试试法法的的测测试试用用例例是是根根据据程程序序的的内内部部逻逻辑辑来来设设计计的的,主主要要用用软软件件的的单单元元测测试试,主主要要方方法法有有逻逻辑辑覆覆盖盖、基基本本路路径径测测试试等。等。 用例主要设计方法有用例主要设计方法有 逻辑覆盖逻辑覆盖:指一系列以程序内部的逻辑结构为基础的测试用例设指一系列以程序内部的逻辑结构为基础的测试用例设计技术。计技术。基本路径测试基本路径测试:根据软

55、件过程性描述中的控制流程确定程序的环根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例,对每一条独立执行路径进行测试。用例,对每一条独立执行路径进行测试。盔麓彪未耿暇辊形绥安搜躲竿荔滞稼妄吮潜眷畸皆体菊仆蛰部莉捂罢矿硅公共基础软件工程公共基础软件工程2.7 2.7 软件测试软件测试白盒测试白盒测试逻辑覆盖设计的基本内容(利用测试用例)逻辑覆盖设计的基本内容(利用测试用例) 语句覆盖语句覆盖:使得程序每一个语句至少都能被执行一次。:使得程序每一个语句至少都能被执行一次。 路径覆盖:使程

56、序中所有的可能的路径都至少经历一次。路径覆盖:使程序中所有的可能的路径都至少经历一次。 判定覆盖:保证程序中每个判断的每个取值分支(判定覆盖:保证程序中每个判断的每个取值分支(T T或或F F)至)至少经历一次。少经历一次。 条件覆盖:保证程序中每个判断的每个条件的可能取值至少条件覆盖:保证程序中每个判断的每个条件的可能取值至少执行一次。执行一次。 判断判断- -条件覆盖条件覆盖:使判断中每个条件的所有可能取值至少执:使判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能取值分支至少执行一次。行一次,同时每个判断的所有可能取值分支至少执行一次。逻辑覆盖强度依次是:语句覆盖逻辑覆盖强

57、度依次是:语句覆盖逻辑覆盖强度依次是:语句覆盖逻辑覆盖强度依次是:语句覆盖 路径覆盖路径覆盖路径覆盖路径覆盖 判定覆盖判定覆盖判定覆盖判定覆盖 条件覆盖条件覆盖条件覆盖条件覆盖 判断判断判断判断- - - -条件覆盖条件覆盖条件覆盖条件覆盖 瞬欠篙有康渝钝姿答嘉泥徘穷鲤俄廊套延但决鞘厚玲水鸵劣崎耿砂誓工秸公共基础软件工程公共基础软件工程黑盒测试(黑盒测试(黑盒测试(黑盒测试(功能测试、数据驱动测试功能测试、数据驱动测试功能测试、数据驱动测试功能测试、数据驱动测试) 将软件看成黑盒子,不考虑程序内部细节、结构和实现方式,将软件看成黑盒子,不考虑程序内部细节、结构和实现方式,仅仅测试仅仅测试软件的

58、基本功能是否满足需要软件的基本功能是否满足需要。 黑盒测试不关心程序内部的逻辑,只是根据黑盒测试不关心程序内部的逻辑,只是根据程序的程序的功能功能说明说明来设计测试来设计测试用例,主要方法有用例,主要方法有等价类划分法等价类划分法、边界值分析法边界值分析法、错误推测法错误推测法等,主要等,主要用软件的用软件的确认测试确认测试。 等价类划分法:典型黑盒测试方法等价类划分法:典型黑盒测试方法,将程序的所有可能的输入数据划分,将程序的所有可能的输入数据划分成若干部分(及若干等价类),然后从每个等价类中选取数据作为测试用例。成若干部分(及若干等价类),然后从每个等价类中选取数据作为测试用例。 边界值分

59、析法边界值分析法:它是对各种输入、输出范围的边界情况设计测试用例的方它是对各种输入、输出范围的边界情况设计测试用例的方法。法。 错误推测法错误推测法:人们可以靠经验和直觉推测程序中可能存在的各种错误,从人们可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的用例。而有针对性地编写检查这些错误的用例。 2.7 2.7 软件测试软件测试黑盒测试黑盒测试贤柏翁舰那莹泪瞩倒摧眶寅斤育曼嗽炽阐霜净溉碑盈鳃歌裹浙扶圈郭屏埔公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础 软件测试分四个步骤:软件测试分四个步骤:软件测试分四个步骤:软件测试分四个步骤:单

60、元测试单元测试单元测试单元测试、集成测试、确认测试、集成测试、确认测试、集成测试、确认测试、集成测试、确认测试(验收测试)、系统测试(验收测试)、系统测试(验收测试)、系统测试(验收测试)、系统测试。 2.7 2.7 软件测试软件测试基本步骤基本步骤( (了解了解) )屠奏伞袱禹聋唁膊郭厢蹄扰漠聚疑恬倚烙遏匠糯超憾搀抓誊企校特肺哨匪公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础2.7 2.7 软件测试软件测试基本步骤基本步骤( (了解了解) )单元测试单元测试单元测试单元测试 测试对象:测试对象:对软件的最小单位对软件的最小单位模块进行测试模块进行测试。 目的:目

61、的:发现各模块内部可能存在的各种错误。发现各模块内部可能存在的各种错误。 测试用例设计:根据程序的内部结构,其依据是详细设计说明书和源程序。测试用例设计:根据程序的内部结构,其依据是详细设计说明书和源程序。 测试技术:通常以白盒测试为主,辅之以黑盒测试测试技术:通常以白盒测试为主,辅之以黑盒测试 单元测试内容:模块接口测试、局部数据结构测试、错误处理测试和边界测试。单元测试内容:模块接口测试、局部数据结构测试、错误处理测试和边界测试。在在进进行行单单元元测测试试时时,要要用用一一些些辅辅助助模模块块去去模模拟拟与与被被测测模模块块相相联联系系的的其其他他模模块块,即即为为被被测测模模块块设设计

62、计和和搭搭建建驱驱动动模模块块和和桩桩模模块块。其其中中,驱驱动动模模块块相相当当于于被被测测模模块块的的主主程程序序,它它接接收收测测试试数数据据,并并传传给给被被测测模模块块,输输出出实实际际测测试试结结果果;而而桩桩模模块块是是模模拟拟其其他被调用模块,不必将子模块的所有功能带入。他被调用模块,不必将子模块的所有功能带入。醋戳家傲茸堆上导澄伸通积伺凶甜气臂搬典铺泵褒碳慷卖刊琢廷猾树淌设公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础2.7 2.7 软件测试软件测试基本步骤基本步骤( (了解了解) )集成测试集成测试集成测试集成测试 测试对象:将模块组装起来后进

63、行测试。测试对象:将模块组装起来后进行测试。 目的:发现与接口有关的错误目的:发现与接口有关的错误 测试用例设计:依据概要设计说明书测试用例设计:依据概要设计说明书 单元测试内容:软件单元的接口测试、全局数据结构测单元测试内容:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等试、边界条件和非法输入的测试等 集成测试通常采用两种方式:非增量方式组装与增量方集成测试通常采用两种方式:非增量方式组装与增量方式组装。式组装。岸谩檬睹园厦步浩渍错燎诌誉俊厕呜凸窒信危踏鬼敲筑迅袁筋稼喉次卑桓公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础2.7 2.7 软件测试

64、软件测试基本步骤基本步骤( (了解了解) )确认测试确认测试确认测试确认测试 任务:任务:验证软件的有效性,即验证软件的功能和性能及验证软件的有效性,即验证软件的功能和性能及其他特性是否与用户的要求一致。其他特性是否与用户的要求一致。 测试用例设计:软件测试用例设计:软件需求需求规格说明书规格说明书 测试方法:主要运用黑盒测试法测试方法:主要运用黑盒测试法 系统测试系统测试系统测试系统测试 任务:通过与系统的需求定义进行比较,发现软件与系任务:通过与系统的需求定义进行比较,发现软件与系统定义不符合或与之矛盾的地方。统定义不符合或与之矛盾的地方。 测试用例设计:需求分析规格说明书测试用例设计:需

65、求分析规格说明书 基本内容:功能测试、性能测试、操作测试、配置测试、基本内容:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试等外部接口测试、安全性测试等 啦伸介勤穴城懂秤逼额蛙忽章浮缓滓威科童失示桓条镰椭凛姿年珍引谱秸公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1软件测试的目的是_。A、评估软件可靠性B、发现并改正程序中的错误C、改正程序中的错误D、发现程序中的错误2下面叙述中错误的是_。A、软件测试的目的是发现错误并改正错误B、对被调试的程序进行错误定位是程序调试的必要步骤C、程序调试通常也称为DebugD、软件测试应严格执行测试计划,排除测试的随意性3下列

66、对于软件测试的描述中正确的是_。A、软件测试的目的是证明程序是否正确B、软件测试的目的是使程序运行结果正确C、软件测试的目的是尽可能多地发现程序中的错误D、软件测试的目的是使程序符合结构化原则腕讲黎唱誓祟大涂移关何疙磐坯兵缝瘫采炔糯富铂囊阉雀捆缕豆擞束拱插公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题4下列叙述中正确的是_。A、软件测试的主要目的是发现程序中的错误B、软件测试的主要目的是确定程序中错误的位置C、为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D、软件测试是证明软件没有错误5.在黑盒测试方法中,设计测试用例的主要根据是_。A、程序外部功能B、程序数据

67、结构C、程序流程图D、程序内部逻辑古俘米慷谭锈读脏宋臭悄部状欺苇博茵熔罕爹添首鹿瓣泳趣语柜今坠拌秘公共基础软件工程公共基础软件工程过关练习过关练习填空题填空题1若按功能划分,软件测试的方法通常分为白盒测试方法和_测试方法。2程序测试分为静态分析和动态测试。其中_是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。3按照软件测试的一般步骤,集成测试应在_测试之后进行。4对软件设计的最小单位(模块或程序单元)进行的测试通常称为_测试。5软件测试可分为白盒测试和黑盒测试。基本路径测试属于_测试。蛤带薪锑遥军括弧醛茧默骄办围刨抓缚赞丽删逆肥背奄罐辑一辅澎浴泡蹈公共基础软件

68、工程公共基础软件工程过关练习过关练习填空题填空题6在两种基本测试方法中,_测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。7软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于_测试。8测试用例包括输入值集和_值集。朵丫图姥蒋堕涛义逢褪模袱如计夫整建犁零操营随释碉追扯挨钞碾听祝轿公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题:选择题: 1 15 DACAA 5 DACAA 填空题:填空题: 1 1、黑盒2、静态测试3、单元4、单元5、白盒6、白盒7、黑盒8、输出笨为遁卿隆宏怎活职洋火幅答蹿棕误蛆棱伶霖操损笆盾莫迸泻植淀准劈田公共基础软件工程公共基础软件工程软

69、件件调试【熟记】程序调试的任务【熟记】程序调试的任务以及调试与测试的区别以及调试与测试的区别【熟记】软件调试的【熟记】软件调试的3种方种方法法从拾袜畜桐渡舰筏渊恒牙坪泌谩秽末揍挡够喀沃遇绩瘤蓬惩价烷啄爽缝迁公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础调试(调试(调试(调试(DebugDebug)是作为成功测试的后果出现的步骤,即是作为成功测试的后果出现的步骤,即是作为成功测试的后果出现的步骤,即是作为成功测试的后果出现的步骤,即调试时在测试发现错误之后排除错误的过程。调试时在测试发现错误之后排除错误的过程。调试时在测试发现错误之后排除错误的过程。调试时在测试发现

70、错误之后排除错误的过程。软件测试贯穿软件测试贯穿软件测试贯穿软件测试贯穿整个软件生命期,而调试主要在开发阶段整个软件生命期,而调试主要在开发阶段整个软件生命期,而调试主要在开发阶段整个软件生命期,而调试主要在开发阶段。基本任务基本任务基本任务基本任务 程序程序调试调试的任务是的任务是诊断和改正程序中的错误诊断和改正程序中的错误。 在开发阶段,由开发人员来进行,谁开发的程序就由谁在开发阶段,由开发人员来进行,谁开发的程序就由谁来进行调试。来进行调试。 基本步骤基本步骤基本步骤基本步骤 错误定位、错误定位、 错误纠正、错误纠正、 回归测试回归测试,防止引入新,防止引入新的错误的错误 2.82.8软

71、件的件的调试( (重点重点) )僻淋摇雄说蘸凛智氛绿钎厦琢革枪尹钻礁伸币彼烯颂嚼梁哲浆靡花尚宣鄙公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础 软件调试可分为软件调试可分为静态调试静态调试和和动态调试动态调试。静态调试主要是静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的调试手段,指通过人的思维来分析源程序代码和排错,是主要的调试手段,而动态调试是辅助静态调试。而动态调试是辅助静态调试。 调试的主要方法调试的主要方法调试的主要方法调试的主要方法( (三种方法重点三种方法重点) ) 强行排错强行排错强行排错强行排错:通过内存全部打印来排错;在程序特定部位

72、设置打印语句;通过内存全部打印来排错;在程序特定部位设置打印语句;自动调试工具。自动调试工具。 回溯法排错回溯法排错回溯法排错回溯法排错:发现了错误,分析错误征兆,确定发现发现了错误,分析错误征兆,确定发现“症状症状”的位置。的位置。一般用于小程序。一般用于小程序。 原因排除法原因排除法原因排除法原因排除法(演绎、归纳、二分法(演绎、归纳、二分法(演绎、归纳、二分法(演绎、归纳、二分法) ) ) ) ( (这里了解这里了解) ) 2.8 2.8 软件的件的调试近悔尖吓涅怜衡搜彬靠级神巾衷队挺缆豌峰辩谜磁丝贺楷馒倾船绞合偷裹公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题1程序调试的

73、任务是_。A、设计测试用例B、验证程序的正确性C、发现程序中的错误D、诊断和改正程序中的错误2软件调试的目的是_。A、发现错误B、改正错误C、改善软件的性能D、验证软件的正确性3下列叙述中正确的是_。A、软件测试应该由程序开发者来完成B、程序经调试后一般不需要再测试C、软件维护只包括对程序代码的维护D、以上三种说法都不对钩淋倡嘉铜破教经忍励镶战肮管拽闰洗耐毙误重敏绵膝磷居绕艘寒身余眠公共基础软件工程公共基础软件工程过关练习过关练习选择题选择题4下面叙述正确的是_。A、程序设计就是编制程序B、程序的测试必须由程序员自己去完成C、程序经调试改错后还应进行再测试D、程序经调试改错后不必进行再测试陷辣

74、却清酶钮烃用湿闷巡事泳衣零室无跋偿瑟敝纺淡鹏懂涤澳促爪痪镜婚公共基础软件工程公共基础软件工程过关练习过关练习填空题填空题1诊断和改正程序中错误的工作通常称为。2软件的调试方法主要有:强行排错法、_和原因排除法。裴森拄倡逃殖弗锌虏溉抬好凝铬淫缀达眷鞭吃霉穴列即浇锯搂痔凉甥顺归公共基础软件工程公共基础软件工程练习参考答案练习参考答案选择题:选择题: 1 15 DBDC5 DBDC填空题:填空题: 1 1、调试2、回溯法赔衬恕豁侈帐拱铡省浦墙肖音倦杯一唉沛砾木坝软笛购架秽舌范应撵上销公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础什么是程序、程序设计的三种基本方法(结构化

75、方法、原型法、面向对象)什么是程序、程序设计的三种基本方法(结构化方法、原型法、面向对象)什么是程序、程序设计的三种基本方法(结构化方法、原型法、面向对象)什么是程序、程序设计的三种基本方法(结构化方法、原型法、面向对象) 结构化程序设计方法的四个主要原则(自顶向下、逐步求精、模块化、限结构化程序设计方法的四个主要原则(自顶向下、逐步求精、模块化、限结构化程序设计方法的四个主要原则(自顶向下、逐步求精、模块化、限结构化程序设计方法的四个主要原则(自顶向下、逐步求精、模块化、限制使用制使用制使用制使用GOTOGOTO语句)语句)语句)语句) 结构化程序设计的三种基本结构(顺序、选择、循环)结构化

76、程序设计的三种基本结构(顺序、选择、循环)结构化程序设计的三种基本结构(顺序、选择、循环)结构化程序设计的三种基本结构(顺序、选择、循环) 什么是对象、类什么是对象、类什么是对象、类什么是对象、类 对象的三个基本组成(对象标识、属性、操作)、及五个基本特点(标识对象的三个基本组成(对象标识、属性、操作)、及五个基本特点(标识对象的三个基本组成(对象标识、属性、操作)、及五个基本特点(标识对象的三个基本组成(对象标识、属性、操作)、及五个基本特点(标识唯一性、分类性、多态性、封装性、模块独立性)唯一性、分类性、多态性、封装性、模块独立性)唯一性、分类性、多态性、封装性、模块独立性)唯一性、分类性

77、、多态性、封装性、模块独立性) 计算机软件的三部分组成(程序、数据、文档),与程序的区别是什么?计算机软件的三部分组成(程序、数据、文档),与程序的区别是什么?计算机软件的三部分组成(程序、数据、文档),与程序的区别是什么?计算机软件的三部分组成(程序、数据、文档),与程序的区别是什么? 软件的生命周期定义(从软件提出、实现、运行到停止使用),三个阶段软件的生命周期定义(从软件提出、实现、运行到停止使用),三个阶段软件的生命周期定义(从软件提出、实现、运行到停止使用),三个阶段软件的生命周期定义(从软件提出、实现、运行到停止使用),三个阶段( (软件定义、软件开发、运行维护)各自设计的主要内容

78、软件定义、软件开发、运行维护)各自设计的主要内容软件定义、软件开发、运行维护)各自设计的主要内容软件定义、软件开发、运行维护)各自设计的主要内容 软件结构化分析方法的基本策略:自顶向下、逐步求精软件结构化分析方法的基本策略:自顶向下、逐步求精软件结构化分析方法的基本策略:自顶向下、逐步求精软件结构化分析方法的基本策略:自顶向下、逐步求精 结构化分析常用工具:数据流图、数据字典、判定树、判定表结构化分析常用工具:数据流图、数据字典、判定树、判定表结构化分析常用工具:数据流图、数据字典、判定树、判定表结构化分析常用工具:数据流图、数据字典、判定树、判定表本章重难点分析本章重难点分析该亡正郊衍验锤盯

79、拍钉察娩观挎掠昂江房锹汕媳躇永哀焊章膊郧英士荣呀公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础软件设计的基本原理:抽象、信息隐藏、模块化、模块独立性软件设计的基本原理:抽象、信息隐藏、模块化、模块独立性软件设计的基本原理:抽象、信息隐藏、模块化、模块独立性软件设计的基本原理:抽象、信息隐藏、模块化、模块独立性 模块划分的基本原则:高内聚性、低耦合性模块划分的基本原则:高内聚性、低耦合性模块划分的基本原则:高内聚性、低耦合性模块划分的基本原则:高内聚性、低耦合性 软件测试目的(发现错误,看是否满足设计要求)、参与人员(开发人员、软件测试目的(发现错误,看是否满足设计

80、要求)、参与人员(开发人员、软件测试目的(发现错误,看是否满足设计要求)、参与人员(开发人员、软件测试目的(发现错误,看是否满足设计要求)、参与人员(开发人员、用户)、两种基本测试方法(静态、动态用户)、两种基本测试方法(静态、动态用户)、两种基本测试方法(静态、动态用户)、两种基本测试方法(静态、动态黑、白盒)黑、白盒)黑、白盒)黑、白盒) 白盒测试用例的选择依据(程序的内部逻辑)、基本方法(逻辑覆盖、路径白盒测试用例的选择依据(程序的内部逻辑)、基本方法(逻辑覆盖、路径白盒测试用例的选择依据(程序的内部逻辑)、基本方法(逻辑覆盖、路径白盒测试用例的选择依据(程序的内部逻辑)、基本方法(逻辑

81、覆盖、路径覆盖)覆盖)覆盖)覆盖) 黑盒测试用例的选择依据(模块的基本功能)、基本方法(等价类划分、边黑盒测试用例的选择依据(模块的基本功能)、基本方法(等价类划分、边黑盒测试用例的选择依据(模块的基本功能)、基本方法(等价类划分、边黑盒测试用例的选择依据(模块的基本功能)、基本方法(等价类划分、边界值分析、错误推测)界值分析、错误推测)界值分析、错误推测)界值分析、错误推测) 软件测试过程中的四个步骤:单元(内部结构,白盒)、集成(模块功能,软件测试过程中的四个步骤:单元(内部结构,白盒)、集成(模块功能,软件测试过程中的四个步骤:单元(内部结构,白盒)、集成(模块功能,软件测试过程中的四个

82、步骤:单元(内部结构,白盒)、集成(模块功能,黑盒)、确认(需求规格说明书)、系统测试(需求分析规格说明书)黑盒)、确认(需求规格说明书)、系统测试(需求分析规格说明书)黑盒)、确认(需求规格说明书)、系统测试(需求分析规格说明书)黑盒)、确认(需求规格说明书)、系统测试(需求分析规格说明书) 程序调试目的(诊断,改正程序中的错误),参与人员(程序员),基本步程序调试目的(诊断,改正程序中的错误),参与人员(程序员),基本步程序调试目的(诊断,改正程序中的错误),参与人员(程序员),基本步程序调试目的(诊断,改正程序中的错误),参与人员(程序员),基本步骤(错误定位、错误纠正、回归测试)骤(错

83、误定位、错误纠正、回归测试)骤(错误定位、错误纠正、回归测试)骤(错误定位、错误纠正、回归测试) 软件调试基本方法:强行排错、回溯法、原因排除法(演绎、归纳、二分)软件调试基本方法:强行排错、回溯法、原因排除法(演绎、归纳、二分)软件调试基本方法:强行排错、回溯法、原因排除法(演绎、归纳、二分)软件调试基本方法:强行排错、回溯法、原因排除法(演绎、归纳、二分)本章重难点分析本章重难点分析仍笼仇啦丸呼逃仰冉碌沁府搁磷司媳疥娇英浊谚冉眨寺风探第贴浇尉里萌公共基础软件工程公共基础软件工程例题讲解例题讲解 为了提高测试的效率,应该(为了提高测试的效率,应该( D D ) A) A) 随机选取测试数据随

84、机选取测试数据 B) B) 取一切可能的输入数据作为测试数据取一切可能的输入数据作为测试数据 C) C) 在完成编码以后制定软件的测试计划在完成编码以后制定软件的测试计划 D)D)选择发现错误可能性大的数据作为测试数据选择发现错误可能性大的数据作为测试数据软件生命周期中所花费用最多的阶段是(软件生命周期中所花费用最多的阶段是( D D ) A) A) 详细设计详细设计 B) B) 软件编码软件编码 C) C) 软件测试软件测试 D) D) 软件维护软件维护软软件件工工程程基基础础吱砒感百激款谗赋波岿认辨才字横褒撼今瞄多酮砖隔尤痴估猎刑膘翼那桔公共基础软件工程公共基础软件工程 下列叙述中,不属于

85、软件需求规格说明书的作用的是下列叙述中,不属于软件需求规格说明书的作用的是( ( D D ) ) A) A) 便于用户、开发人员进行理解和交流便于用户、开发人员进行理解和交流 B) B) 反映出用户问题的结构,可以作为软件开发工作的基反映出用户问题的结构,可以作为软件开发工作的基 础和依据础和依据 C) C) 作为确认测试和验收的依据作为确认测试和验收的依据 D) D) 便于开发人员进行需求分析便于开发人员进行需求分析 下列不属于软件工程的下列不属于软件工程的3 3个要素的是(个要素的是( D D ) ) ) 工具工具 ) ) 过程过程 ) ) 方法方法 ) ) 环境环境 软件设计包括软件的结

86、构、数据接口和过程设计,其中软软件设计包括软件的结构、数据接口和过程设计,其中软 件的过程设计是指(件的过程设计是指( B B ) A) A) 模块间的关系模块间的关系 B) B) 系统结构部件转换成软件的过程描述系统结构部件转换成软件的过程描述 C) C) 软件层次结构软件层次结构D) D) 软件开发过程软件开发过程扒岂橇探珍秆涅虐米你玲佩矿朽永独蚊踌饯宴样厘交蜘汇鉴攒房绎裸钮镭公共基础软件工程公共基础软件工程 检查软件产品是否符合需求定义的过程称为检查软件产品是否符合需求定义的过程称为( () ) ) ) 确认测试确认测试 ) ) 集成测试集成测试 ) ) 验证测试验证测试 ) ) 验收测

87、试验收测试 数据流图用于抽象描述一个软件的逻辑模型,数据流图数据流图用于抽象描述一个软件的逻辑模型,数据流图 由一些特定的图符构成。下列图符名标识的图符不属于由一些特定的图符构成。下列图符名标识的图符不属于 数据流图合法图符的是数据流图合法图符的是( () ) ) ) 控制流控制流 ) ) 加工加工 ) ) 数据存储数据存储 ) ) 源和流源和流 开发软件所需高成本和产品的低质量之间有着尖锐的矛开发软件所需高成本和产品的低质量之间有着尖锐的矛 盾,这种现象称作盾,这种现象称作( ( B B ) ) A) A) 软件投机软件投机 B) B) 软件危机软件危机 C) C) 软件工程软件工程 D)

88、D) 软件产生软件产生朋苇义阉丸酉豁揩藻坎胺连疯招黔戈彭诽念乖因樊吾宝亮响傻墙萝摘峡于公共基础软件工程公共基础软件工程 下面不属于软件设计原则的是下面不属于软件设计原则的是( ( ) ) ) ) 抽象抽象 ) ) 模块化模块化 ) ) 自底向上自底向上 ) ) 信息隐蔽信息隐蔽 开发大型软件时,产生困难的根本原因是开发大型软件时,产生困难的根本原因是( ( A A ) ) A A)大系统的复杂性)大系统的复杂性 B B)人员知识不足)人员知识不足 C C)客观世界千变万化)客观世界千变万化 D D)时间紧、任务重)时间紧、任务重 软件工程的出现是由于(软件工程的出现是由于() A) A) 程序

89、设计方法学的影响程序设计方法学的影响 B) B) 软件产业化的需要软件产业化的需要 C) C) 软件危机的出现软件危机的出现 D) D) 计算机的发展计算机的发展农滞渗签民集不拘腆捕饺悼贵绑赢卧自冗套裂毋茧由贡菏盔恨含州圭糟噶公共基础软件工程公共基础软件工程 软件开发离不开系统环境资源的支持,其中必要的测软件开发离不开系统环境资源的支持,其中必要的测 试数据属于(试数据属于( D D ) A) A) 硬件资源硬件资源 B) B) 通信资源通信资源 C) C) 支持软件支持软件 D) D) 辅助资源辅助资源 在数据流图在数据流图(DFD) (DFD) 中,带有名字的箭头表示中,带有名字的箭头表示

90、( ( D D ) ) A) A) 模块之间的调用关系模块之间的调用关系 B) B) 程序的组成成分程序的组成成分 C) C) 控制程序的执行顺序控制程序的执行顺序 D) D) 数据的流向数据的流向 下列不属于结构化分析的常用工具的是(下列不属于结构化分析的常用工具的是( D D ) A) A) 数据流图数据流图 B) B) 数据字典数据字典 C) C) 判定树判定树 D) PADD) PAD图图 在软件生产过程中,需求信息的给出是(在软件生产过程中,需求信息的给出是( D D ) A) A) 程序员程序员 B) B) 项目管理者项目管理者 C) C) 软件分析设计人员软件分析设计人员 D)

91、D) 软件用户软件用户撮段抒檄猎萝戳理娠仁晤豪嘉台洁钎名爽鸿谜矢娩奋摆溉川抽呛蔑凡走祥公共基础软件工程公共基础软件工程 下列工具不是需求分析常用工具的是(下列工具不是需求分析常用工具的是( D D ) ) PAD) PAD ) PFD ) PFD ) N-S) N-S) DFD) DFD 模块独立性是软件模块化所提出的要求,衡量模块独立性模块独立性是软件模块化所提出的要求,衡量模块独立性 的度量标准则是模块的(的度量标准则是模块的( C C ) A) A) 抽象和信息隐蔽抽象和信息隐蔽 B) B) 局部化和封装化局部化和封装化 C) C) 内聚性和耦合性内聚性和耦合性 D) D) 激活机制和控

92、制方法激活机制和控制方法 软件开发的结构化生命周期方法将软件生命周期划分成(软件开发的结构化生命周期方法将软件生命周期划分成(A A) A) A) 定义、开发、运行维护定义、开发、运行维护 B) B) 设计阶段、编程阶段、测试阶段设计阶段、编程阶段、测试阶段 C) C) 总体设计、详细设计、编程调试总体设计、详细设计、编程调试 D) D) 需求分析、功能定义、系统设计需求分析、功能定义、系统设计秩诞杉乞溅涎皆颠锚吟蒲皱救扇蔷汽裸舞抿著曳亭专怔搜挑羊干虑隙虱唬公共基础软件工程公共基础软件工程 在软件工程中,白箱测试法可用于测试程序的内部结构。在软件工程中,白箱测试法可用于测试程序的内部结构。 此

93、方法将程序看做是(此方法将程序看做是( A A ) A) A) 路径的集合路径的集合 B) B) 循环的集合循环的集合 C) C) 目标的集合目标的集合 D) D) 地址的集合地址的集合 完全不考虑程序的内部结构和内部特征,而只是根据程序完全不考虑程序的内部结构和内部特征,而只是根据程序 功能导出测试用例的测试方法是(功能导出测试用例的测试方法是( A A ) A) A) 黑箱测试法黑箱测试法 B) B) 白箱测试法白箱测试法 C) C) 错误推测法错误推测法 D) D) 安装测试法安装测试法 在结构化设计方法中,生成的结构图在结构化设计方法中,生成的结构图(SC) (SC) 中,带有箭头的中

94、,带有箭头的 连线表示(连线表示( A A ) A) A) 模块之间的调用关系模块之间的调用关系 B) B) 程序的组成成分程序的组成成分 C) C) 控制程序的执行顺序控制程序的执行顺序 D) D) 数据的流向数据的流向庙曹夏囤跌本霄图绵艇青簇睦哗冲烘帚票凹毒姜枉恤试宋妄赖领烫邓敞湃公共基础软件工程公共基础软件工程 下列选项中,不属于模块间耦合的是(下列选项中,不属于模块间耦合的是( C C ) A) A) 数据耦合数据耦合 B) B) 同构耦合同构耦合 C) C) 异构耦合异构耦合 D) D) 公用耦合公用耦合 下列叙述中,不属于测试的特征的是(下列叙述中,不属于测试的特征的是( C C

95、) A) A) 测试的挑剔性测试的挑剔性 B) B) 完全测试的不可能性完全测试的不可能性 C) C) 测试的可靠性测试的可靠性 D) D) 测试的经济性测试的经济性 需求分析中开发人员要从用户那里了解(需求分析中开发人员要从用户那里了解( A A ) A) A) 软件做什么软件做什么 B) B) 用户使用界面用户使用界面 C) C) 输入的信息输入的信息 D) D) 软件的规模软件的规模 下列不属于软件调试技术的是(下列不属于软件调试技术的是( B B ) A) A) 强行排错法强行排错法 B) B) 集成测试法集成测试法 C) C) 回溯法回溯法 D) D) 原因排除法原因排除法式晶菊翰娜

96、滔粘乌绥蕾坠藉虹谜朵构瓶寡淖番刚慢涅倚萄卫索疗周汹炽办公共基础软件工程公共基础软件工程为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(的程序流程图,通常也把这种图称为( B B ) A) PAD A) PAD图图 B) N-SB) N-S图图 C) C) 结构图结构图 D) D) 数据流图数据流图 软件复杂性度量的参数包括(软件复杂性度量的参数包括( B B ) A) A) 效率效率 B) B) 规模规模 C) C) 完整性完整性 D) D) 容错性容错性下列叙述中,正确的是(下列

97、叙述中,正确的是( D D ) A) A) 软件就是程序清单软件就是程序清单 B) B) 软件就是存放在计算机中的文件软件就是存放在计算机中的文件 C) C) 软件应包括程序清单及运行结果软件应包括程序清单及运行结果 D) D) 软件包括程序和文档软件包括程序和文档 软件设计中,有利于提高模块独立性的一个准则是(软件设计中,有利于提高模块独立性的一个准则是( C C ) A) A) 低内聚低耦合低内聚低耦合 B) B) 低内聚高耦合低内聚高耦合 C) C) 高内聚低耦合高内聚低耦合 D) D) 高内聚高耦合高内聚高耦合诽在指畅苹可狭估狱肄挣寝羽鹏献残培肖肮潘类纹拧芹捞酮颐壹液太檀箭公共基础软件

98、工程公共基础软件工程下列叙述中,不属于结构化分析方法的是(下列叙述中,不属于结构化分析方法的是( D D ) A) A) 面向数据流的结构化分析方法面向数据流的结构化分析方法 B) B) 面向数据结构的面向数据结构的JacksonJackson方法方法 C) C) 面向数据结构的结构化数据系统开发方法面向数据结构的结构化数据系统开发方法 D) D) 面向对象的分析方法面向对象的分析方法 详细设计的结果基本决定了最终程序的(详细设计的结果基本决定了最终程序的( C C ) A) A) 代码的规模代码的规模 B) B) 运行速度运行速度 C) C) 质量质量 D) D) 可维护性可维护性下列不属于

99、静态测试方法的是(下列不属于静态测试方法的是( B B ) A) A) 代码检查代码检查 B) B) 白盒法白盒法 C) C) 静态结构分析静态结构分析 D) D) 代码质量度量代码质量度量在软件生命周期中,能准确地确定软件系统必须做什么和必在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(须具备哪些功能的阶段是( D D ) A A)概要设计)概要设计 B B)详细设计)详细设计 C C)可行性分析)可行性分析 D D)需求分析)需求分析贵蝇挪价燎构床呆棍镁漾拾行舵攀偷倦掇赐车但仕地夺讹谊烃岛规激柏楚公共基础软件工程公共基础软件工程程序流程图(程序流程图(PFDPF

100、D)中的箭头代表的是()中的箭头代表的是( B B )A A)数据流)数据流 B B)控制流)控制流 C C)调用关系)调用关系 D D)组成关系)组成关系在结构化方法中,软件功能分解属于下列软件开发在结构化方法中,软件功能分解属于下列软件开发中的阶段是(中的阶段是( B B )A A)详细设计)详细设计 B B)需求分析)需求分析C C)总体设计)总体设计 D D)编程调试)编程调试 软件调试的目的是(软件调试的目的是( B B ) A A)发现错误)发现错误 B B)改正错误)改正错误 C C)改善软件的性能)改善软件的性能 D D)挖掘软件的潜能)挖掘软件的潜能盛永八祥压跺怀岸酵柒躯媚术

101、烂钉氛编檄孙算博仗衅祝台嗽芭棱囊诗比褥公共基础软件工程公共基础软件工程软件需求分析阶段的工作,可以分为四个方面:需求获取,软件需求分析阶段的工作,可以分为四个方面:需求获取, 需求分析,编写需求规格说明书,以及(需求分析,编写需求规格说明书,以及( B B ) A A)阶段性报告)阶段性报告 B B)需求评审)需求评审 C C)总结)总结 D D)都不正确)都不正确 通常,将软件产品从提出、实现、使用维护到停止使用退通常,将软件产品从提出、实现、使用维护到停止使用退 役的过程称为役的过程称为【1 1】。【答案】【答案】:软件生命周期软件生命周期 耦合和内聚是评价模块独立性的两个主要标准,其中耦

102、合和内聚是评价模块独立性的两个主要标准,其中 【2 2】 反映了模块内各成分之间的联系。反映了模块内各成分之间的联系。 【答案】【答案】:内聚内聚 软件工程研究的内容主要包括:软件工程研究的内容主要包括:【3 3】技术和软件工程技术和软件工程 管理。管理。 【答案】【答案】:软件开发软件开发槽腾吏判向上挨聘云扫睫泡邯劝吨受铆看四蕊撇彤枉饰秩份我虑拨骄好降公共基础软件工程公共基础软件工程 Jackson Jackson结构化程序设计方法是英国的结构化程序设计方法是英国的M.JacksonM.Jackson提出的,提出的, 它是一种面向它是一种面向【4 4】的设计方法。的设计方法。 【答案】【答案

103、】:数据结构数据结构 软件设计模块化的目的是软件设计模块化的目的是 【5 5】 。 【答案】【答案】 :内聚内聚降低复杂性降低复杂性 数据流图的类型有数据流图的类型有 【6 6】和事务型。和事务型。【答案】【答案】:变换型变换型 软件危机出现于软件危机出现于6060年代末,为了解决软件危机,人们提出年代末,为了解决软件危机,人们提出 了了【7 7】的原理来设计软件,这就是软件工程诞生的基的原理来设计软件,这就是软件工程诞生的基 础。础。 【答案】【答案】:软件工程学软件工程学 软件开发环境是全面支持软件开发全过程的软件开发环境是全面支持软件开发全过程的【8 8】集合。集合。 【答案】【答案】:

104、软件工具软件工具软软件件工工程程基基础础发棒陕朴雾暖云粤拉哥郡寅她弟本撇乙珍躁掩疫饮谆泥二赢敦寻鼎皋各奶公共基础软件工程公共基础软件工程 测试的目的是暴露错误,评价程序的可靠性;而测试的目的是暴露错误,评价程序的可靠性;而【9 9】的的 目的是发现错误的位置并改正错误。目的是发现错误的位置并改正错误。【答案】【答案】:软件调试软件调试 软件维护活动包括以下几类:改正性维护、适应性维护、软件维护活动包括以下几类:改正性维护、适应性维护、 【1010】维护和预防性维护。维护和预防性维护。 【答案】【答案】:完善性完善性 软件结构是以软件结构是以【1111】为基础而组成的一种控制层次结构。为基础而组

105、成的一种控制层次结构。 【答案】【答案】:模块模块 为了便于对照检查,测试用例应由输入数据和预期的为了便于对照检查,测试用例应由输入数据和预期的 【1212】 两部分组成。两部分组成。【答案】【答案】:输出结果输出结果 软件工程包括软件工程包括3 3个要素,分别为方法、工具和个要素,分别为方法、工具和【1313】。 【答案】【答案】:过程过程 软件工程的出现是由于软件工程的出现是由于【1414】。【答案】【答案】:软件危机的出现软件危机的出现沽寄敛凛回愉遏帜盟盲廊惫穗起撇岿镀梯撰果品易态赘筹堕镣憋讥诉少博公共基础软件工程公共基础软件工程 单元测试又称模块测试,一般采用单元测试又称模块测试,一般

106、采用 【1515】 测试。测试。 【答案】【答案】:白盒动态白盒动态 软件的软件的【1616】设计又称为总体结构设计,其主要设计又称为总体结构设计,其主要 任务是建立软件系统的总体结构。任务是建立软件系统的总体结构。【答案】【答案】:概要概要 软件是程序、数据和软件是程序、数据和【1717】的集合。的集合。【答案】【答案】:文档文档 对软件是否能达到用户所期望的要求的测试称为对软件是否能达到用户所期望的要求的测试称为 【1818】 。【答案】【答案】:有效性测试有效性测试 质量保证策略大致分为三个阶段:以检测为重、质量保证策略大致分为三个阶段:以检测为重、 【1919】和以新产品开发为重。和以

107、新产品开发为重。 【答案】【答案】:以过程管理为重以过程管理为重幅畦房棵寡帽扑耪霞五佰尼爵晋乐晋堕块贫抽蚂砒醉或卯依牙仓硫兰灼者公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础过关练习过关练习过关练习过关练习选择题选择题选择题选择题1.1.软件是指(软件是指( )。)。 A. A.程序程序 B. B.程序和文档程序和文档 C. C.算法加数据结构算法加数据结构 D. D.程序、数据与相关文档程序、数据与相关文档 2.2.下列描述中正确的是(下列描述中正确的是( )。)。 A. A.程序就是软件程序就是软件 B. B.软件开发不受计算机系统的限制软件开发不受计算机系统

108、的限制 C. C.软件既是逻辑实体,又说物理实体软件既是逻辑实体,又说物理实体 D. D.程序、数据与相关文档的集合程序、数据与相关文档的集合 3.3.造成软件危机的主要原因是(造成软件危机的主要原因是( )。)。 A. A.由于用户对软件不了解造成使用不当由于用户对软件不了解造成使用不当 B. B.软件本身的特点和缺乏好的开放方法和手段软件本身的特点和缺乏好的开放方法和手段 C. C.对软件认识的错误对软件认识的错误 D. D.硬件不可靠硬件不可靠DDB兑半碴子庚旱持诵忍禄恕达隧姐央悉殷翁蚁箱督凋柴抿鄂艘洲直辣彻粱颓公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础

109、过关练习过关练习选择题选择题4.4.软件的生命周期是指(软件的生命周期是指( )的过程。)的过程。 A. A.软件系统开始测试到软件系统被淘汰软件系统开始测试到软件系统被淘汰 B. B.软件系统开始研制到软件系统被淘汰软件系统开始研制到软件系统被淘汰 C. C.软件系统开始研制到软件系统投入试运行软件系统开始研制到软件系统投入试运行 D. D.软件系统投入试运行到软件系统被淘汰软件系统投入试运行到软件系统被淘汰 5.5.软件工程的方法得以实施的主要保证是(软件工程的方法得以实施的主要保证是( )。)。 A. A.软件开发工具和环境软件开发工具和环境 B. B.软件用户的参与软件用户的参与 C.

110、 C.开发人员的素质开发人员的素质 D. D.硬件环境硬件环境 6.6.数据字典是软件需求分析阶段最重要的工具之一,其基本的数据字典是软件需求分析阶段最重要的工具之一,其基本的功能是(功能是( )。)。 A. A.数据通信数据通信 B. B.数据库设计数据库设计 C. C.数据维护数据维护 D. D.数据定义数据定义BAD贩匠卸色舒灯曳勿继砒垂泊载贬坑候棋曙募缠褐训恼疾栏正晚基董欢符坍公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础过关练习过关练习选择题选择题7.7.数据流图是用于表示软件模型的一种图示方法,在下列可采数据流图是用于表示软件模型的一种图示方法,在下列

111、可采用的绘制方法中,(用的绘制方法中,( )是常采用的。)是常采用的。 A. A.自顶向下自顶向下 B. B.自底向上自底向上 C. C.分层绘制分层绘制 D. D.逐步求精逐步求精 8.8.在程序的描述和分析中,用于指明数据来源、数据流向和数在程序的描述和分析中,用于指明数据来源、数据流向和数据处理的辅助图形是(据处理的辅助图形是( )。)。 A. A.瀑布模型图瀑布模型图 B. B.数据流图数据流图 C. C.数据结构图数据结构图 D. D.业务流业务流 9.9.在下列文档中,属于结构化分析阶段的文档是(在下列文档中,属于结构化分析阶段的文档是( )。)。 A.A.设计说明书设计说明书 B

112、. B.可行性分析报告可行性分析报告 C. C.项目计划项目计划 D. D.需求规格说明需求规格说明 10.10.从工程管理角度,软件设计分两步完成,他们是(从工程管理角度,软件设计分两步完成,他们是( )。)。 A. A.概要设计和详细设计概要设计和详细设计 B. B.数据设计与接口设计数据设计与接口设计 C. C.软件结构设计与数据设计软件结构设计与数据设计 D. D.过程设计与数据设计过程设计与数据设计BBDA煤旬气饯蕾视礼寺获函然寸铃拭帮图毅透贪赏怎钱电沤流湛酥懦订填狐弊公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础过关练习过关练习选择题选择题11.11.

113、在机构化程序设计中,模块划分的原则是(在机构化程序设计中,模块划分的原则是( )。)。 A. A.各模块应包括尽量多的功能各模块应包括尽量多的功能 B. B.各模块的规模应尽量大各模块的规模应尽量大 C. C.各模块之间的联系应尽量紧密各模块之间的联系应尽量紧密 D. D.模块内具有高内聚度、模块间具有低耦合度模块内具有高内聚度、模块间具有低耦合度 12.12.两个或两个以上模块之间关联的紧密度称为(两个或两个以上模块之间关联的紧密度称为( )。)。 A. A.耦合度耦合度 B. B.内聚度内聚度 C. C.复杂度复杂度 D. D.数据传输特性数据传输特性 13.13.模块独立性是软件模块所提

114、出的,衡量标准是(模块独立性是软件模块所提出的,衡量标准是( )。)。 A.A.抽象和信息隐蔽抽象和信息隐蔽 B. B.局部化和封装化局部化和封装化 C. C.内聚性和耦合性内聚性和耦合性 D. D.激活机制和控制方法激活机制和控制方法 14.14.软件结构是模块之间关系的表示,不属于软件结构的是软件结构是模块之间关系的表示,不属于软件结构的是( ( )。)。 A. A.调用关系调用关系 B. B.从属关系从属关系 C. C.嵌套关系嵌套关系 D. D.主次关系主次关系DACD遗蒜词涩轨广厅揉该冤尤腔对窜码根摇荤差贰豁臭斤貌茫弱铲耸锨胖健适公共基础软件工程公共基础软件工程软件设计及软件工程基础

115、软件设计及软件工程基础过关练习过关练习选择题选择题15.15.下列叙述中正确的是(下列叙述中正确的是( )。)。 A. A.软件测试的主要目标是发现程序中的错误软件测试的主要目标是发现程序中的错误 B. B.软件测试的主要目标是确定程序中错误的位置软件测试的主要目标是确定程序中错误的位置 C. C.为提高测试效率,最好由程序编制者来测试为提高测试效率,最好由程序编制者来测试 D. D.软件测试是证明软件没有错误软件测试是证明软件没有错误 16.16.下列叙述中正确的是(下列叙述中正确的是( )。)。 A. A.软件测试应该由程序开放者来完成软件测试应该由程序开放者来完成 B. B.程序经调试后

116、一般不需要再进行测试程序经调试后一般不需要再进行测试 C. C.软件维护只包括对程序代码的维护软件维护只包括对程序代码的维护 D. D.以上三种都不正确以上三种都不正确AD墙雁笋饶饿熄笺掷谗度毒峪拣洲卉驶缔迹半嫩栏铜第川脸娜迅夯栗匡愈灿公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础过关练习过关练习选择题选择题17.17.被测试程序不在计算机上运行,而是采用人工检查的方式被测试程序不在计算机上运行,而是采用人工检查的方式对程序进行检测,这种测试称为(对程序进行检测,这种测试称为( )。)。 A. A.白盒测试白盒测试 B. B.黑盒测试黑盒测试 C. C.静态测试静

117、态测试 D. D.动态测试动态测试 18.18.软件测试是软件开发过程中重要的不可缺少的阶段,(软件测试是软件开发过程中重要的不可缺少的阶段,( )是测试中各环节的基础。是测试中各环节的基础。 A. A.单元测试单元测试 B. B.集成测试集成测试 C. C.系统测试系统测试 D. D.验收测试验收测试 19.19.软件调试的目的是(软件调试的目的是( )。)。 A. A.发现错误发现错误 B. B.更正错误更正错误 C. C.改善软件性能改善软件性能 D. D.验证正确性验证正确性 20.20.软件调试应该由(软件调试应该由( )来完成。)来完成。 A. A.与源程序无关的程序员与源程序无关

118、的程序员 B. B.不了解软件设计的机构不了解软件设计的机构 C. C.源程序的编制人员源程序的编制人员 D. D.设计该软件的机构设计该软件的机构CABC寡者励焦酪镑晴香腕斧锤留浚泉类吞恫盂怂搜腋捉豪剔瘁场忘窿播耗级溢公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础过关练习过关练习填空题填空题1 1、软件工程研究主要内容是软件开发技术和(、软件工程研究主要内容是软件开发技术和( )两方面。)两方面。 2 2、软件工程的结构化生命周期方法中,一般将软件设计阶段、软件工程的结构化生命周期方法中,一般将软件设计阶段分为(分为( )和详细设计两个阶段。)和详细设计两个阶段

119、。 3 3、结构化分析的基本思想是采用(、结构化分析的基本思想是采用( )的方法,能有效控制)的方法,能有效控制系统开发的复杂性。系统开发的复杂性。 4 4、结构化分析阶段的常用工具有数据流图和(、结构化分析阶段的常用工具有数据流图和( )。)。 5 5、软件详细设计阶段的工作建立在(、软件详细设计阶段的工作建立在( )的基础上。)的基础上。 6 6、模块划分的指导思想是信息隐蔽和(、模块划分的指导思想是信息隐蔽和( )。)。软件工程管理软件工程管理概要设计概要设计自顶向下逐层分解自顶向下逐层分解数据字典数据字典总体设计总体设计模块独立性模块独立性嫌闻野被糕跪含搔贱奏棋檀熙栖方奋扛匿蔷嚣暑肖陶

120、旺来裁巩阀性塞绕初公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础过关练习过关练习填空题填空题7 7、在两种基本测试方法中,(、在两种基本测试方法中,( )测试的原则之一是保证所)测试的原则之一是保证所测试的模块中每个独立的路径至少要执行一次。测试的模块中每个独立的路径至少要执行一次。 8 8、软件测试可分为单元测试、集成测试、确认测试和(、软件测试可分为单元测试、集成测试、确认测试和( )。)。 9 9、软件测试的方法分为静态测试和(、软件测试的方法分为静态测试和( )。)。 1010、软件调试在软件生命周期的(、软件调试在软件生命周期的( )阶段进行。)阶段进行

121、。 1111、软件调试中的方法有强行排除法、回溯法、演绎法和(、软件调试中的方法有强行排除法、回溯法、演绎法和( )。)。白盒白盒系统测试系统测试动态测试动态测试开发开发归纳法归纳法内隆趋隆鼎茬脏么顿更癸栏乘婴损礁亡弄虫鞠挺赴橙懂踩稀帆枢付债鄙季公共基础软件工程公共基础软件工程软件设计及软件工程基础软件设计及软件工程基础练习参考答案练习参考答案选择题:选择题: 1 15 DDBBA 65 DDBBA 610 DBBDA 10 DBBDA 11 1115 DACDA 1615 DACDA 1620 DCABC 20 DCABC 填空题:填空题: 1 1、软件工程管理、软件工程管理 2 2、概要设计、概要设计 3 3、自顶向下逐层分、自顶向下逐层分 4 4、数据字典、数据字典 5 5、总体设计、总体设计 6 6、模块独立性、模块独立性 7 7、白盒、白盒 8 8、系统测试、系统测试 9 9、动态测试、动态测试 10 10、开发、开发 11 11、归纳法、归纳法晚阿的慈瑰贡煞掇艰坠本糙跪玉写陆昔梁喇纵荒翁游饼埠押拢喝推位霉趣公共基础软件工程公共基础软件工程

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

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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