



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章软件工程概述名词解释软件:软件是程序。数据及相关文档的完整集合软件危机:在软件的开发和应用过程中所遇到的一系列严重问题。软件生命周期:软件生命周期是由软件定义,软件开发和运行维护3个时期组成。软件过程:为了获得高质量软件所需要完成的一系列任务的框架,他规定了完成各项任务的工作步骤。软件工程:采用工程的概念,原理,技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。以经济的开发出高质量的软件并有效的维护它这就是软件工程。简答题1.软件危机的表现有哪些? 答:(1)对软件开发成本和进去的估算很不准确(2)用户对已完成的软件系统不满意的现象经常发生(3)软件产品的质量往往靠不住(4)软件常常是不可维护的(5)软件通常没有适当的文档资料(6)软件成本在计算机系统总成本中所占的比例逐年上升(7)软件开发生产率提高的速度往往跟不上计算机应用迅速普及深入的趋势 2. 软件工程的基本原理? 答:1)用分阶段的生命周期严格管理; 2)坚持进行阶段评审; 3)实行严格的产品控制; 4)采用现代程序设计技术; 5)结果应能清楚地审查; 6)开发小组人员应少而精; 7)承认不断改进软件工程实践的必要性3. 软件工程的三要素? 答:方法,工具和过程4.软件工程方法学的两种方法?答:1)传统方法学:结构化模型2)面向对象方法学:基于对象类 封装性 继承性 多态性 消息机制等技术特征构造系统的软件开发方法。5.软件生命周期三个时期八个阶段? 答:三个时期;软件定义,软件开发和运行维护 八个阶段:问题定义 可行性研究 需求分析 总体设计 详细设计 编码和单元测试 综合测试 软件维护6.软件工程常用模型答:瀑布模型快速原型模型增量模型螺旋模型喷泉模型 第二章 可行性研究简答题1.可行性研究的目的,任务和过程?答:目的:用最小的代价在最可能小的时间内确定问题是否能够解决 任务:(1)确定任务是否值得去解决过程:1)复查系统规模和目标 2)研究目前正在使用的系统 3)导出新系统的高层逻辑模型 4)进一步定义问题 5)导出和评价供选择的解法 6)推荐行动方针 7)草拟开发计划 8)书写文档提交审查2.什么是数据流图?数据流图的常用符号答 数据流图是一种图形化技术,描绘信息流和数据流从输入移动至输出的过程中所经受的变换 常用符号见课本P413.什么是数据字典?数据字典的用途? 答:数据字典是关于数据的信息的集合 ,也就是对数据流图中包含的所以元素的定义的集合。 用途:供人查阅对不了解条目的解释,在软件分析设计过程中给人提供关于数据的描述信息,作为分析阶段的工具3.画数据流图的方法? 答:(1)从问题描述中提取数据流图的四种成分、(2) 抽象画出基本模型(3)将基本模型进行细化,描绘系统的主要功能第三章 需求分析简答题1.需求分析的任务,过程? 答:任务 :确定系统必须完成哪些工作 1)确定对系统的综合要求(功能需求 性能需求 可靠性和可用性需求 出错处理需求 接口需求 约束 逆向需求 将来可能提出的要求)2)分析系统的数据要求3)导出系统的逻辑模型4)修正系统开发计划.2.与用户沟通获取需求的方法? 答:1)访谈2)面向数据流自顶向下求精3)简易的应用规格说明技术4)快速建立软件模型3.需求分析要建立哪些模型?简述结构化方法的三种模型 答:1)数据模型 E_R图: 描述数据对象之间的关系2) 功能模型 数据流图:描绘当前数据在软件系统中移动时被变换的逻辑过程,指明系统具有变换数据的功能 3)行为模型 状态图 :指明了作为外部事件结果的系统行为,描绘操作系统的各种行为模式和在不同状态间的转换的方式4 掌握三种模型中各图形符号的含义。 答:课本P62第四章形式化说明技术名词解释非形式化方法:用自然语言描述需求规格说明半形式化方法:用数据流图或实体联系图建立模型形式化:描述系统性质的基于数学的技术第五章总体设计名词解释模块化:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求耦合:对一个软件结构内不同模块之间互连程度的度量。内聚:标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部话概念的自然扩展。简答题1.总体设计的任务? 答:确定整个系统中的模块以及模块与模块间的相互关系2.总体设计的步骤? 答:1)设想供选择的方案2)选取合理的方案3)推荐最佳方案4)功能分解5)设计软件结构6)设计数据库7)制定测试计划 8)书写文档 (系统说明 用户手册 测试计划 详细的实现计划 数据库设计结果)9)审查和复审3.总体设计过程中应遵循的基本原理? 答:1)模块化2)抽象3)逐步求精4)信息隐藏和局部化5)模块独立4.模块独立性的度量标准? 答:两个标准:内聚和耦合5.耦合分类? 答:1)数据耦合:两个模块之间通过参数传递信息,而且交换的数据仅仅是数据 2)控制耦合: 中等程度的耦合,增加了系统的复杂程度 3) 特征耦合: 把整个数据结构作为参数传递而被调用只需使用一部分数据元素 4)公共环境耦合: 当两个或多个模块通过一个公共数据环境相互作用时出现6. 内聚分类 ? 答:低内聚:1)偶然内聚 :一个模块完成一组任务,这些任务之间的关系很松散 2)逻辑内聚 :一个模块完成的任务在逻辑上属于相同或相似一类 3)时间内聚 :反映程序的某些实质 中内聚:4)过程内聚 :一个模块内的处理元素是相关的必须以特定顺序执行 5)通信内聚 :模块中所有元素都使用同一个输入数据或产生同一个输出数据 高内聚:6)顺序内聚 :必须顺序执行 7) 功能内聚 :所有元素属于一个整体完成一个的单一功能7. 描述软件结构的图形工具? 答: 1)层次图 2)HIPO图 3)结构图8. 面向数据流的设计方法的设计过程?9.面向数据流设计方法中两类信息流? 答:1)变换流:信息沿通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统 2)事物流:数据沿输入通路达到一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行第六章详细设计简答题1. 详细设计的任务? 答:设计出程序的“蓝图“,程序员据此写出实际的程序代码。2.详细设计的常用工具? 答:1)程序流程图2)盒图 3)PAD图4)判定表5)判定树6)过程设计语言(PDL又称伪码)3. 人机交互界面设计要素考虑的四个问题? 答:1)系统响应时间 2)用户帮助设施 3)出错信息处理4)命令交互4程序复杂程度的度量方法? 答:1)McCabe方法:根据成熟控制流的发杂程度定量度量程序的复杂程度计算环形复杂度 (流图中的区域数等于环形复杂度 流图G的环形复杂度V(G)=E-N+2,E为边的条数,N是结点数 流图G的环形复杂度V(G)=P+1,P是判定结点的数目 ) 2)Halstead方法:根据程序中的运算符和操作数的总数来度量程序的复杂程度 第七章实现名词解释软件测试:为了发现程序中的错误而执行程序的过程白盒测试技术:如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行 黑盒测试技术:如果已经知道产品应该具有的功能可以通过测试来检验是否每个功能都正常使用 调试:在测试发现错误之后排除错误的过程软件可靠性:程序在给定的时间间隔内,按照规格说明书的规定成功的运行的概率软件可用性: 程序在给定的时间点,按照规格说明书的规定,成功的运行的概率简答题1.软件测试的目标? 答:1)为了发现程序中的错误而执行程序的过程2)好的测试方案是极可能发现迄今为止为发现的错误的测试方案3)成功的测试是发现至今为止尚未发现的错误的测试2. 软件测试的步骤? 答:1)模块测试2)子系统测试 3)系统测试4)验收测试5)平行运行3.单元测试主要测试哪些方面? 答:1)模块接口2局部数据结构)3重要的执行通路4)出错处理通路5)边界条件4.白盒测试技术的主要方法? 答:1)语句覆盖 2)判定覆盖 3)条件覆盖 4)判定条件覆盖 5)条件组合覆盖 6)路径覆盖5. 黑盒测试技术的主要方法? 答:1)等价划分 2)边界值分析 3)错误推测6 调试的过程? 答:调试过程试图找出症状的原因,以便改正错误,从执行一个测试用例开始评估测试结果,若发现十几结果和预计的不同,表明软件中存在隐藏问题,1)找到问题的原因并把问题改正和排除掉2)没找到问题的原因 可猜想一个原因,并设计测试用例来验证这个假设重复,直到找到原因并改正。7调试途径? 答:1)蛮干法2)回溯法3)原因排除法第八章维护名词解释软件维护:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程软件的可维护性:维护人员理解,改正,改动或改进这个软件的难易程度逆向工程:分析程序以便在此源代码更高的抽象层次上创建出程序的某种表示的过程(逆向工程工具从现存的程序代码中抽取有关数据,体系结构和处理过程的设计信息)简答题1.维护活动的分类? 答:1)改正性维护2)适应性维护3)完善性维护4)预防性维护2. 决定软件可维护性的因素? 答:1)可理解性2)可测试性3)可修改性4)可移植性5)可重用性 3. 软件开发过程中采取哪些措施提高软件的可维护性?(无标准答案自己总结) 答:文档和可维护性复审4. 软件维护过程? 答:1)维护组织2)维护报告3)维护的事件流4)保存维护记录5)评价维护活动第九章面向对象方法学引论名词解释对象:对问题域内某个试题的抽象,是由描述该对象属性的数据以及可以对这类数据的所有操作封装在一起构成的统一体,有唯一标识它的名字而且向外界提供一族服务类:对具有相同属性和行为的一个或多个对象的描述对象模型:对模拟客观世界实体的对象以及对象之间关系的映射,描述了系统的静态结构功能模型:表示变化的系统的功能性质指明了系统应该做什么,更直接的反映了用户对目标系统的需求动态模型:表示瞬时的行为化的系统的控制性质,规定了对象模型中的对象的合法变化序列简答题.面向对象方法的优点?答:)与人类习惯的思维方法一致 )稳定性好 )可重用性好 )较易开发大型软件产品 )可维护性好.类与类之间的四种关系?答:)关联)聚集)泛化(继承)依赖和细化第十章面向对象分析简答题1.面向对象分析的任务? 答:识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起问题域的简洁,精确,可理解的模型2.面向对象分析的过程? 答:寻找类与对象 识别结构 识别主题 定义属性 建立动态模型 建立功能模型 定义服务3. 对象模型的五个层次? 答: 1)主题层 2)类与对象层 3)结构层 4)属性层 5)服务层4 . 建立动态模型的方法与步骤? 答:1)编写交互行为的脚本2)从脚本提取事件,确定目标对象3)排列事件发生的次序,确定所有对象状态及状态间转换恭喜,用状态图描述5. 建立功能模型的工具? 答:1)数据流图 2)用例图 第十一章 面向对象设计名词解释优秀设计:权衡各种因素,使系统在整个生命周期中的总开销最小的设计软件重用: 同一事物不作修改货稍加改动就多次重复使用。包括知识重用,方法和标准的重用,软件成分的重用简答题1. 面向对象设计的任务 答:明确怎么做,逐步扩充系统模型2 . 面向对象设计的准则? 答:1)模块化2)抽象3)信息隐藏4)弱耦合5)强内聚6)可重用3.类构件的重用方式?答:1)实例重用 2)继承重用 3)多态重用4. 面向对象设计模型由哪四部分构成? 答:1)人机交互子系统2)问题域子系统3)任务管理子系统4)数据管理子系统5. 类的服务包括哪些内容?* 答:结构和算法6. 类的服务是如何实现的? 答:1)设计实现服务的算法:算法复杂度,易理解,易实现,易修改 2)选择数据结构 3)定义内部类和内部操作第十二章 面向对象实现简答题1. 选择面向对象语言应考虑的内容? 答:1)将来能否占主导地位 2)可重用性3)类库和开发环境4)其他因素2. 测试面向对象软件时,单元测试,集成测试和确认测试各有哪些新特点? 答:1)面向对象的单元测试,最小的可测试单元是封装起来的类和对象,测试面向对象软件时,不能再孤立的测试单个操作,而应该把操作作为类的一部分来测试 2)面向对象的继承测试主要有两种不同的策略。一是基于线程的测试这种策略把响应系统的一个输入或一个时间所需要的那些类集成起来。二是基于使用的测试 3)面向对象的确认测试,面向对象的确认测试也集中检查用户可识别的输出。第十三章 软件项软件的目管理名词解释软件项目管理:通过计划,组织和控制等一系列活动,合理的配置和使用各种资源,以达到既定目标的过程软件质量:软件与明确地和隐含地定义的需求相一致的程度(具体的说就是软件质量是软件与明确地叙述的功能和性能需求,文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有隐含的特征相一致的程度)软件配置:在软件的整个生命周期内管理变化的一组活动(具体的说是用来标志变化,控制变化,确保适当地实现了变化, 向需要知道这类信息的人报告变化)能力成熟度模型:用来评价软件机构的软件过程能力成熟度的模型简答题1.估算软件模型的方法? 答:1)代码行技术 2)功能点技术2.估算工作量的方法? 答:1)静态单变量模型 2)动态多变量模型 2)构造性成本模型3.估算开发进度的工具? 答:1)估算开发时间 2)Gantt图 3)工程网络 4)估算工程进度 5) 关键路径 6)机动时间.软件开发人员的组织方式?答:)民主制程序员组)主程序员组)现代程序员组.保证软件质量的措施?答:)技术复审)走查)审查 )程序正确性证明审查的五大步骤?答:)综述 )准备)审查 )返工)跟踪.能力成熟度的五个级别?答:)初始级)可重复级)已定义级)已管理级)优化级第十三章 软件项软件的目管理名词解释软件项目管理:通过计划,组织和控制等一系列活动,合理的配置和使用各种资源,以达到既定目标的过程软件质量:软件与明确地和隐含地定义的需求相一致的程度(具体的说就是软件质量是软件与明确地叙述的功能和性能需求,文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有隐含的特征相一致的程度)软件配置:在软件的整个生命周期内管理变化的一组活动(具体的说是用来标志变化,控制变化,确保适当地实现了变化, 向需要知道这类信息的人报告变化)能力成熟度模型:用来评价软件机构的软件过程能力成熟度的模型简答题1.估算软件模型的方法? 答:1)代码行技术 2)功能点技术2.估算工作量的方法? 答:1)静态单变量模型 2)动态多变量模型 2)构造性成本模型3.估算开发进度的工具? 答:1)估算开发时间 2)Gantt图 3)工程网络 4)估算工程进度 5)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人车辆租赁标准合同4篇
- 市物业服务合同范本
- 装修工程服务合同范本
- 团队境内游合同范本
- 租店简易合同范本
- 农村名宿转让合同范本
- 超市耗材购买合同范本
- 车位出售协议合同范本
- 注册工商租房合同范本
- 2025年国家安全月安全知识考试题库及答案解析
- 严禁燃放烟花炮竹课件
- 宫颈息肉课件
- 人工智能多智能体课件
- 2024年云南地质工程勘察设计研究院有限公司招聘笔试真题及答案
- 2025秋苏教版科学三年级上册教学设计(附目录)
- 五年级数学思维训练教学计划
- 项目一实验动物初步认识与安全接触任务一认识理解并善待实验动
- 2026版《三维设计》高三一轮复习物理第八章 机械振动和机械波
- 2025届湖南中考化学真题试卷【含答案】
- 安全教育培训记录表
- 并购绩效论文
评论
0/150
提交评论