2023年软件工程本科复习重点难点.doc
《2023年软件工程本科复习重点难点.doc》由会员分享,可在线阅读,更多相关《2023年软件工程本科复习重点难点.doc(31页珍藏版)》请在咨信网上搜索。
1、软件工程(本科)复习重点难点重点规定是以软件工程课程的教学大纲为依据,目的在于使学生理清思绪,分清主次。为本课程的期末复习提供参考。一、 各章重点、难点和复习规定说明 第一章软件工程概述1 重点掌握的内容: 软件和软件工程的基本概念软件:软件定义由以下三部分组成:(1) 在运营中能提供所希望的功能和性能的指令集(即程序);(2) 使程序可以对的运营的数据结构;(3) 描述程序研制过程、方法所用的文挡。软件是一种产品,同时又是开发和运营产品的载体。作为一种产品,它表达了由计算机硬件体现的计算潜能。作为开发运营产品的载体,软件是计算机工作的基础、信息通信的基础,也是创建和控制其他程序的基础。软件的
2、特点: 软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。 软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被发明出来的。在软件的运营和使用期间,没有硬件那样的机械磨损、老化问题。软件的开发和运营经常受到计算机系统的限制,对计算机系统有着不同限度的依赖性。软件的开发至今尚未完全摆脱手工的开发方式。软件的开发费用越来越高,成本相称昂贵。软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把通过时间考验而证明对的的管理技术和当前可以得到的最佳的技术方法结合起来。软件工程准则可以概括为七条基本原理:(1)用分阶段的生
3、存周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚地审查结果;(6)开发小组的人员应当少而精(7)认可不断改善软件工程实践的必要性。具体阐述见书中1.2.2节。软件危机:指的是软件开发和维护过程中碰到的一系列严重问题。软件工程的基本内容:软件工程学的内容可涉及理论、结构、方法、工具、环境、管理、规范等。第二章 软件过程1 重点掌握的内容:软件生存周期及软件开发的各种模型; 软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期一般可分为以下阶
4、段: 问题定义 需求分析与可行性研究 设计 编码 测试 运营与维护软件开发模型:软件开发模型是跨越整个软件生存周期的系统开发、运作、维护所实行的所有工作和任务的结构框架。瀑布模型即生存周期模型,由B.M.Boehm提出,是软件工程的基础模型。其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作。采用结构化的分析与设计方法,将逻辑实现与物理实现分开。此外,尚有螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型等软件开发模型。 第三章 需求分析1. 重点掌握的内容:需求分析的方法和面向数据流的分析方法;。需求分析的方法:需求分析方法由对软件的数据域和功能域的系统分析过程及其表
5、达方法组成,它定义了表达系统逻辑视图和物理视图的方式,大多数的需求分析方法是由数据驱动的,也就是说,这些方法提供了一种表达数据域的机制,分析员根据这种表达,拟定软件功能及其他特性,最终建立一个待开发软件的抽象模型,即目的系统的逻辑模型。面向数据流的需求分析方法:结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据解决类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表达分开,对系统进行数据与逻辑的抽象。具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找
6、到满足功能规定的所有可实现的软件为止。重点掌握结合实例画数据流图和定义数据字典。系统流程图:系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文献,数据库,表格,人工过程等等)。系统流程图表达的是部件的信息流程,而不表达对信息进行加工解决的控制过程。详见2.3节。系统流程图的功能:1制作系统流程图的过程是系统分析员全面了解系统业务解决概况的过程,它是系统分析员作进一步分析的依据。2系统流程图是系统分析员、管理人员、业务操作人员互相交流的工具。3系统分析员可直接运用系统流程图画出可以实现计算机解决的部分。4可运用系统流程图来分析业务流程的合理性
7、。2.一般掌握的内容: 需求分析的任务和原则。.需求分析的任务:它的基本任务是准确地回答“系统必须做什么?”这个问题。需求分析所要做的工作是进一步描述软件的功能和性能,拟定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。需求分析的任务不是拟定系统如何完毕它的工作,而是拟定系统必须完毕哪些工作,也就是对目的系统提出完整、准确、清楚、具体的规定。其实现环节如下图所示:当前系统物理模型逻辑模型当前系统逻辑模型当前系统物理模型目的系统 模型化 抽象化 理解需求 怎么做 做什么 具体化 实例化 表达需求一般说来,需求分析阶段的任务涉及下述几方面:拟定对系统的综合需求 对系统的综合
8、需求重要有:系统功能需求、系统性能需求、运营需求、将来也许提出的需求。分析系统的数据需求导出系统的逻辑模型就是在理解当前系统“如何做”的基础上,抽取其“做什么”的本质,明确目的系统要“做什么”,可以导出系统的具体的逻辑模型。具体做法是:一方面拟定目的系统与当前系统的逻辑差别;然后将变化部分看作是新的解决环节,对功能图(一般为数据流图)及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目的系统的逻辑模型。通常用数据流图、数据字典和重要的解决算法描述这个逻辑模型。 修正系统开发计划 在通过需求分析阶段的工作,分析员对目的系统有了更进一步更具体的结识,因此可以对系统的成本和进度做出
9、更准确的估计,在此基础上应当对开发计划进行修正。 开发原型系统 使用原型系统的重要目的是,使用户通过实践获得关于未来的系统将如何为他们工作的更直接更具体的概念,从而可以更准确地提出和拟定他们的规定。需求分析的环节:1.调查研究;2分析与综合;3书写文档;4需求分析评审需求分析的原则:其基本原则可概括为: (1)必须可以表达和理解问题的数据域和功能域;(2)按自顶向下、逐层分解问题;(3)要给出系统的逻辑视图和物理视图;2 可行性研究的任务和环节,成本效益分析可行性研究的任务:是用最小的代价在尽也许短的时间内拟定问题是否可以解决。一般说来,应从经济可行性、技术可行性、运营可行性、法律可行性和开发
10、方案等方面研究可行性。可行性研究的环节:可行性研究的环节分为九个环节。成本效益分析:成本效益分析的目的是要从经济角度分析开发一个特定的新系统是否可行,从而帮助使用部门负责人对的地做出是否投资于这项开发工程的决定。几种度量效益的方法:1.货币的时间价值;2投资回收期;3纯收入。第四章 结构化设计1. 重点掌握的内容: 结构化设计的过程和方法概要设计任务:系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供专家审定,审定后进入设计。 拟定模块结构,划分功能模块,将软件功能需求分派给所划分的最小单元模块。拟定模块间的联
11、系,拟定数据结构、文献结构、数据库模式,拟定测试方法与策略。 编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。 概要设计过程:概要设计要先进行系统设计,复审系记录划与需求分析,拟定系统具体的实行方案;然后进行结构设计,拟定软件结构。 软件设计的概念与原则:将软件划提成若干独立成分的依据。如何表达不同的成分内的功能细节和数据结构。如何统一衡量软件设计的技术质量。 其中有几个概念:1.模块化:就是把程序划提成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一
12、个整体,可以完毕指定的功能,实现问题的规定。2. 抽象:就是抽出事物的本质特性而暂时不考虑它们的细节。3. 信息隐蔽: 模块中所涉及的信息不允许其它不需要这些信息的模块调用。4. 信息局部化:是指把一些关系密切的软件元素物理地放得彼此靠近。5. 模块独立性:是软件系统中每个模块只涉及软件规定的具体子功能,而和软件系统中其他的模块接口是简朴的。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。6. 耦合:是对一个软件结构内各个模块之间互连限度的度量。耦合强弱取决于模块间接口的复杂限度,调用模块的方式,以及通过接口的信息。7. 内聚:标志一个模块内各个元素彼此结合的紧密限度,它是信息隐
13、蔽和局部化概念的自然扩展。概要设计的方法:面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。面向数据流的设计要解决的任务,就是上述需求分析的基础上,将DFD图映射为软件系统的结构。换句话说,这类设计方法允许把用DFD图表达的系统逻辑模型方便地转换成对于软件结构的初始设计描述。理解基本概念:信息流(涉及变换流和事务流)、抽象与逐步求精;模块化与信息隐藏;软件总体结构、数据结构与软件过程。面向数据结构的分析设计方法: Jackson系统开发方法(JSD): Jackson系统开发方法(JSD,Jackson System Development)是一种典型的面向数据结构的分
14、析设计方法,它是以信息驱动的,是将信息转换成软件的程序结构。 Warnier方法 :Warnier程序设计方法是由法国人J.D.Warnier提出的另一种面向数据结构的设计方法,又称为逻辑构造程序的方法,简称LCP(Logical Construction of Programs)方法。Warnier方法的原理和Jackson方法类似,也是从数据结构出发设计程序,但是这种方法的逻辑更严格。2. 一般掌握的内容: 概要设计的文档与评审学会撰写概要设计的文档并能评审出概要设计文档是否符合规定。概要设计说明书的重要内容及结构详见4.5节。具体设计1. 重点掌握的内容:具体设计的任务和方法具体设计的任
15、务:具体设计就是要在概要设计的结果的基础上,考虑“如何实现”这个软件系统,直到对系统中的每个模块给出足够具体的过程性描述。重要任务如下:为每个模块拟定采用的算法,选择某种适当的工具表达算法的过程,写出模块的具体过程性描述;拟定每一模块使用的数据结构;拟定模块接口的细节,涉及对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的所有细节。要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应涉及输入数据,盼望输出等内容。具体设计的方法:程序流程图、N-S图、PAD图、HIPO图程
16、序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。它独立于任何一种程序设计语言,比较直观和清楚地描述过程的控制流程,易于学习掌握。在流程图中只能使用下述的五种基本控制结构。顺序型;选择型; while型循环; until型循环; 多情况型选择。详见5.2.1节。N-S图:Nassi和Shneiderman提出了一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为N-S图。在N-S图中,为了表达五种基本控制结构,规定了五种图形构件。顺序型; 选择型; WHILE反复型; UNTIL反复型; 多分支选择型。PAD图:它是用结构化程序设计思想表现程序逻辑结构的图形工
17、具。PAD也设立了五种基本控制结构的图示,并允许递归使用。详见5.2.3节。HIPO图:HIPO图是由一组IPO图加一张HC图组成。它是美国IBM公司在软件设计中使用的重要表达工具。HC图是层次图(Hierarchy chart)的英文缩写,用于表达软件的分层结构。HC图中的每一个模块,均可用一张IPO图来描述。IPO 图由输入、解决和输出三个框组成,需要时还可以增长一个数据文献框,这种图形的优点,是可以直观地显示输入解决输出三者之间的联系。2. 一般掌握的内容: 具体设计的原则及具体设计规格与评审具体设计的原则:原则是过程描述是否易于理解、复审和维护,进而过程描述可以自然地转换成代码,并保证
18、具体设计与代码完全一致。具体设计规格与评审:具体设计说明书的框架及评审第5章 结构化实现1. 重点掌握的内容: 程序设计语言的特点、编程风格、程序效率和编程安全;结构化的软件测试程序设计语言的特点: 程序设计语言是人与计算机交流的媒介。软件工程师应当了解程序设计语言各方面的特点,以及这些特点对软件质量的影响,以便在需要为一个特定的开发项目选择语言时,能作出合理的技术抉择。其特点表现为九个方面:名字说明;类型说明;初始化;程序对象的局部性;程序模块;循环控制结构;分支控制结构; 异常解决;独立编译。编程风格:编码风格又称程序设计风格或编程风格,事实上指编程的原则。表现为四个方面:源程序文档化,数
19、据说明的方法,语句结构和输入输出方法。源程序文档化:源程序文档化又可从四个方面来阐述,符号名的命名;程序的注释;标准的书写格式;数据说明:数据说明的顺序应当规范化。使数据属性容易查找,也有助于测试,排错和维护。语句结构:语句构造力求简朴、直接,不能为了片面追求效率而使语句复杂化。可从以下几方面注意:1使用标准的控制结构;2尽也许使用库函数;3程序编写一方面应当考虑清楚性;4注意使用GOTO语句;输入输出方法:输入输出的方式和格式应当尽量作到对用户友善(User Friendly),尽也许方便用户的使用。程序效率:程序效率是指程序的执行速度及程序占用的存储空间。影响程序效率的因素是多方面的,编程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 软件工程 本科 复习 重点难点
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。