《软件工程》13-14学年第1学期考试大纲-12软件工程(1).doc_第1页
《软件工程》13-14学年第1学期考试大纲-12软件工程(1).doc_第2页
《软件工程》13-14学年第1学期考试大纲-12软件工程(1).doc_第3页
《软件工程》13-14学年第1学期考试大纲-12软件工程(1).doc_第4页
《软件工程》13-14学年第1学期考试大纲-12软件工程(1).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.软件工程概述(1)理解软件危机的涵义和原因;软件危机包含:1.如何开发软件,以满足软件日益增长的需求 2.如何维护数量不断膨胀的已有软件。产生原因:一方面与软件本身的特点有关,另一方面也和软件开发和维护的方法不正确有关。(2)理解消除软件危机的途径;(1)首先应该对计算机软件有一个正确的认识,彻底消除在计算机系统早期阶段形成的“软件就是程序”的错误观念。(2)然后,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好,管理严密,各类人员协同合作,共同完成的工程项目。(3)推广使用实践中总结出来的成功的技术和方法。并研究探索更有效的方法和技术,(4)开发和使用更好的软件工具。(3)理解软件的特征;(4)掌握软件工程的基本原理;1:用分阶段的生命周期计划严格管理 2:坚持进行阶段评审实行严格的产品控制 4:采用现代程序设计技术 5:结果应能清楚的审查 6:开发小组的人员应该少而精 7:承认不断改进软件工程实践的必要性(5)了解软件生命周期各阶段的基本任务软件生命周期由软件定义,软件开发和运行维护3个阶段组成。软件定义:确定软件工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估算资源及成本,指定进步表。(6)了解软件过程模型的类别及其特点。 瀑布模型(阶段间具有顺序性和依赖性)、快速原型模型(快速建立原型后根据用户意见迅速修改原型)、增量模型(能在短时间内向用户提供可完成部分工作的产品)、螺旋模型(适用于内部开发的大规模软件,指定需求计划、形成原型、风险分析、详细设计)、喷泉模型本章占试卷总分9%2.可行性研究(1)理解可行性研究的任务与步骤;可行性研究的最根本的任务是对以后的行动方针提出建议。可行性研究的目的不是怎么解决问题,而是这个问题是否值得去解决。步骤:1:复查系统规模和目标 2:研究目前正在使用的系统 3:导出新系统的高层逻辑模型 4:进一步定义问题 5:导出和评价供选择的解法 6:推荐行动方针 7:草拟开发计划 8:书写文档提交审查(2)了解系统流程图的作用和绘制方法;(3)掌握数据字典、数据流图的概念、作用和绘制方法;数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。(四种成分:数据源点、终点、处理数据存储和数据流)画数据流图的基本目的就是利用它作为交流信息的工具。数据字典关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合,在软件设计和分析的过程中,给人提供数据的描述信息(四类组成元素:数据流、数据流分量、数据存储、处理)数据流图和数据字典共同构成系统的逻辑模型。(4)理解软件的成本/效益分析;目的正是要从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确的做出是否投资于这项开发工程的决定。估算的技术的方法:代码行技术,任务分解技术,自动估计成本技术本章占试卷总分9%3.需求分析及形式化技术(1)理解需求分析的任务、步骤;需求分析的基本任务是准确的回答系统必须做什么。确定对系统的综合要求(功能需求,性能需求,可靠性和可用性需求,出错处理需求,接口需求,约束,逆向需求,将来可能提出的要求);分析系统的数据要求;导出系统的逻辑模型;修正系统开发计划(2)了解获取需求的方法;访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型(3)掌握E-R图绘制和数据规范化的表示方法;一对一联系(1:1)一对多联系(1:N)多对多联系(M:N)ER图包含了实体(即数据对象)、关系和属性3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体的属性,并用直线把实体(或关系)与其属性连接起来。数据规范化:第一范式:每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。 第二范式:(消除了部分依赖)满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部份来决定)。第三范式:(消除了传递依赖)符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非非关键字属性值)。实体-联系图(ER图)建立数据模型,数据流图建立功能模型,状态图建立行为模型。(4)掌握状态转换图的绘制方法;(5)掌握层次方框图、Warnier图和IPO图工具的使用; 层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构;Warnier图可以表明信息的逻辑组织;IPO图是输入处理输出图的简称;(6)了解有穷状态机、Petri网和Z语言(3种形式化方法)。 Petri网用于确定系统中隐含的定时问题,可以有效的描述并发活动。本章占试卷总分15% 4.总体设计(1)理解总体设计的基本内容; 总体设计又称为概要设计,过程通常有两个阶段构成:系统设计阶段(确定系统的具体实现方案)和结构设计阶段(确定软件的结构)(2)掌握总体设计应遵循的准则;(3)理解软件设计过程和原理;设计过程:1、设想供选择的方案 2、选取合理方案 3、推荐最佳方案 4、功能分解 5、设计软件结构 6、设计数据库 7、制测试计划 8、书写文档 9、审查和复审设计原理:1、模块化 2、抽象 3、逐步求精 4、信息隐藏和局部化 5、模块独立(耦合:要求越低越好;内聚:要求越高越好;)(4)掌握软件设计的规则和相关的图形工具的应用; 改进软件结构提高模块独立性;模块规模应该适中;深度、宽度、扇入、扇出都应该适中;模块的作用域应该在控制域之内;力争降低模块接口的复杂度;设计单入口单出口的模块;功能模块应该可以预测 (5)掌握面向数据流的设计方法。 把信息流映射成软件结构:变换流、事物流、设计过程(P105)本章占试卷总分11%5.详细设计(1)掌握结构程序设计的概念; 结构程序设计定义:程序代码仅通过顺序、选择和循环3种基本控制结构链接,且每个代码只有一个入口和一个出口(2)了解用户界面设计的过程;(P121)(3)掌握过程设计的工具;(P124) 程序流程图(非结构化):本质上不是逐步求精的好工具、盒图(结构化)、PAD图(结构化)、判定表和判定树。(4)掌握面向数据结构的设计方法; 面向数据结构的设计方法最适合于详细设计阶段,它的最终目标是得出对程序处理过程的描述。最著名的两个设计方法是Jackson图和Warnier图。(5)掌握程序复杂度的定量度量; 计算环形复杂度的方法:1、流图中的区域数等于环形复杂度 2、V=E-N+2(E是流图中边的条数,N是节点数)3、V=P+1(p是流图中的判定节点数)本章占试卷总分12%6.软件实现及软件测试(1)理解编码风格的重要性; 编码风格对程序的可靠性、可读性、可检测性和可维护性都有极其深远的影响(2)掌握软件测试的目标、准则、方法、步骤; 软件测试的目的与软件工程其他阶段的目的都相反,是为了“破坏”已经建造好的软件系统竭力证明程序中有错误,不能按照预定要求正常工作。 准则:1、所有的测试都应该能够追溯到用户的需求 2、应该远在测试之前就制定出测试计划 3、把Pareto原理应用到软件测试中 4、从小规模逐步延伸到大规模 5、穷举测试是不可能的 6、为了达到最佳的测试效果,应该由独立的第三方从事测试工作 方法:如果已知产品应该具有的功能,可以通过测试来检验每项功能是否能正常使用(黑盒测试);如果已知产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行(白盒测试) 步骤:模块测试、子系统测试、系统测试、验收测试、平行运行(3)掌握单元测试的内容,方法和过程;单元测试集中检测软件设计的最小单元模块。单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行的进行。方法:人工测试和计算机测试单元测试主要是从五个方面对模块进行测试:模块接口、局部数据结构、重要的执行通路、出错处理通路和边界条件。(4)掌握集成测试的内容,方法和过程;集成测试是测试和组装软件的系统化技术,例如,子系统侧测试即是在把模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题。方法:非渐增式测试方法和渐增式测试方法。非渐增式测试方法:先分别测试每个模块,再把所有的模块按设计要求放在一起结合成所要的程序。渐增式测试方法:把下一个要测试的模块同已经测试好的那些模块结合在一起进行测试,测试完成后再把下一个应该测试的模块结合进行测试。当使用渐增方式把模块结合到程序中时,有自顶向下和自底向上两种集成策略。自顶向下测试时需要用存根程序,自底向上测试时需要驱动程序。(5)掌握确认测试的内容,方法和过程; 确认测试页成为验收测试,它的目标是验证软件的有效性。 确认测试通常使用黑盒测试法。(6) 掌握白盒测试和黑盒测试技术;白盒测试:静态白盒测试、动态白盒测试逻辑覆盖:(1)语句覆盖、(2)判定覆盖、(3)条件覆盖、(4)判定/条件覆盖、(5)条件组合覆盖、(6)点覆盖、(7)边覆盖、(8)路径覆盖。控制结构测试:一、基本路径测试:1、根据过程设计结果画出相应的流图。2、计算流图的环形复杂度。3、 确定线性独立路径的基本集合。 4、设计可强制执行基本集合中每条路径的测试用例。使用基本路径测试设计测试用例时,程序的环形复杂度决定了程序中独立路径的数量,而且这个数的确保程序中所有语句至少被执行一次所需要的测试数量的上界。二、条件测试 三、环形测试:(1)简单循环 (2)嵌套循环 (3)串接循环(7)了解调试策略和常用调试技术;(8)掌握软件估算平均无故障时间。平均无故障时间与单位长度程序中剩余的错误数成反比:其中,K为常数,它的值应该根据经验选取。统计数字表明,K的典型值是200.公式二是基于许多假设条件下成立的。本章占试卷总分26%7.软件维护(1)掌握软件可维护性的定义和特点;所谓的软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。特点:(1)结构化维护与非结构化维护的差别巨大 (2)维护的代价昂贵 (3)维护问题多。(2) 了解软件维护过程;软件维护过程:1、维护组织 2、维护报告 3、维护的事件流 4、保存维护记录 5、评价维护活动(3) 理解影响软件可维护性的因素1、可理解性 2、可测试性 3、可修改性 4、可移植性 5、可重用性本章占试卷总分2%8.面向对象设计与实现(1)掌握面向对象的基本概念;面向对象:对象+类+消息+继承+多态面向对象方法学的优点:1、与人类习惯的思维方法一致 2、稳定性好3、 可重用性好 4、较易开发大型软件产品 5、可维护性好事实上、实现对箱操作的代码和数据是隐藏在对象内部的,一个对象好像是一个黑盒子,表明它内部状态的数据和实现各个操作的代码及局部数据,都被封装在这个黑盒子内部,在外面是看不见的,更不可能从外面去访问或修改这些数据或代码。(2) 掌握面向对象分析的基本过程;1、寻找类与对象 2、识别结构 3、识别主题 4、定义属性 5、建立动态功能模型 6、定位服务(3)掌握建立对象模型、动态模型、功能模型的基本方法;建立对象模型:一、确定类与对象:(1)找出候选的类与对象 (2)筛选出真确的类与对象二、确定关联:(1)初步确定关联 (2)筛选 (3)进一步完善三、划分主题 四、确定属性 五、识别继承关系 六、反复修改建立动态模型:一、编写脚本 二、设想用户界面 三、画事件跟踪图 四、画状态图 五、审查动态模型(4)掌握面向对象设计的准则和方法;(5)理解面向对象程序设计风格;(6)理解面向对象测试策略与测试用例;习题10的第四题解答:下面是自动售货机系统的需求陈述,请建立它的对象模型、动态模型和功能模型。一, 建立对象模型1, 候选类:自动售货机、顾客、硬币、投币口、假币、退币孔、硬币储藏器、货物分配器、货物、货物传送孔、零钱2, 筛选优化类: 硬币、假币、零钱是货币的属性,属于系统内部“检验”功能处理的内容,它们与“货物”都属于物流,应该去掉。 顾客决定不买所选择货物,需要一个按钮通知硬币储藏器,所以应增加一个“选择按钮” 进行投币检验尚需一个检验器。3,类集合:自动售货机、顾客、投币口、退币孔、硬币储藏器、货物分配器、货物传送孔、硬币暂存检验器、选择按钮4, 对象模型:投币口硬币暂存检验器硬币储藏器货物分配器退币孔顾客选择控制投币传送真币送货传送投币传送假币退币通信传送找零或退币选择按钮1+1+货物传送口通信通信1+1+1+1+1+1+1+二, 建立动态模型1,编写脚本正常情况脚本:顾客投入5元真硬币;投币机检验,钱币合格,送往硬币储藏器,储藏器进行累加;顾客按“选择按钮”,指定要买一种3.5元的一种货物;按钮将信息送往货物分配器;货物分配器检查该货物是否还有,还有,则将该货物的价格及所购数量计算后通知硬币储藏器需款总数;储藏器将对投款数与需款数进行比对后向货物分配器发出“准予发货”的信息;硬币储藏器将找零的硬币送往退币口;货物分配器将应交付的货物送往货物传送口。异常情况脚本1(投币不足):顾客投入5元真硬币;投币机检验,钱币合格,送往硬币储藏器,储藏器进行累加;顾客按“选择按钮”,指定要买一种6元的一种货物;按钮将信息送往货物分配器;货物分配器检查该货物是否还有,还有,则将该货物的价格及所购数量计算后通知硬币储藏器需款总数;储藏器将对投款数与需款数进行比对后不发出任何信息,机器处于等待状态。异常情况脚本2(投入假币):顾客投入5元硬币;投币机检验,其中有假币,投币机即刻将所投币送往退币口。异常情况脚本3(无货):顾客投入5元真硬币;投币机检验,钱币合格,送往硬币储藏器,储藏器进行累加;顾客按“选择按钮”,指定要买一种6元的一种货物;按钮将信息送往货物分配器;货物分配器检查该货物是否还

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论