软件工程导论复习要点总结.doc

上传人:自*** 文档编号:124593807 上传时间:2020-03-12 格式:DOC 页数:10 大小:45.50KB
返回 下载 相关 举报
软件工程导论复习要点总结.doc_第1页
第1页 / 共10页
软件工程导论复习要点总结.doc_第2页
第2页 / 共10页
软件工程导论复习要点总结.doc_第3页
第3页 / 共10页
软件工程导论复习要点总结.doc_第4页
第4页 / 共10页
软件工程导论复习要点总结.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《软件工程导论复习要点总结.doc》由会员分享,可在线阅读,更多相关《软件工程导论复习要点总结.doc(10页珍藏版)》请在金锄头文库上搜索。

1、软件工程导论要点总结:罗少强-1.2章李文科-3.4章丁介然-6.7.8章杜枭雄-9.13章共计9章第一章 软件工程学概述1、 软件工程产生的原因随着计算机应用的日益普及,软件数量急剧膨胀增加。在程序运行时发现的错误必须及时改正;用户有了新的需求时必须相应的修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境;严重的是,许多程序的个体化特性使得他们最终是不可维护的。这就产生了“软件危机 ”,软件危机的具体表现有:(1)对软件开发成本和进度的估计常常很不准确。(2)用户不满意已完成的软件系统。(3)软件产品的质量往往靠不住。(4)软件常常是不可维护的。(5)软件常常没有适当的文档材料。

2、(6)软件成本在计算机系统中所占的成本比例逐年上升。这些危机的产生,不仅与软件本身的特点有关,还与软件的开发和维护的方法是否正确有关。2、 软件工程的功能软件工程的定义:(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护,也就是把工程应用于软件(2)研究(1)中提到的途径。具有的功能有:软件工程应可以进行大型程序的构造;软件工程可以管理其控制复杂性;软件必须随着所模拟的现实世界一同变化;开发软件必须有高的效率;软件应该由团队合作开发;软件必须有效地支持其他用户;软件工程领域应该有文化领域的支持。3、 软件工程的基本原理 用分阶段的生命周期计划严格管理:应该把软件生命周期划分成若干阶

3、段,并制定出相应的可行计划,不同层次的人员按照严格计划对软件的开发与维护进行管理。 坚持进行阶段评审:即在每个阶段都要进行严格的评审。 实行严格的产品控制:软件开发过程中改变需求在所难免,而且需要付出较高的代价,因此采用基准配置管理来控制。 采用现代程序设计技术 结果能清楚地审查 开发小组的人应该少而精 承认不断改进软件工程实践的必要性4、 软件工程方法学分类 软件工程方法学分别是传统方法学和面向对象方法学。传统方法学:采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。面向对象方法学:把数据和行为看成是同等重

4、要的,是一种以数据为主线,把数据和对数据的操作紧密结合起来的方法。5、 软件生命周期8个阶段 软件生命周期有软件定义、软件开发和软件维护3个时期组成,每个时期有具体的分为若干阶段。其具体阶段分别是:(1)问题定义:要解决的问题是什么; (2)可行性研究:对确定的文体有可行性的方法;(3)需求分析:目标系统必须做什么;(4)总体设计:应该怎样实现目标系统;(5)详细设计:应该怎样具体实现这个系统;(6)编码和单元测试;(7)综合测试;(8)软件维护。6、 软件设计的几种模型及特点(1)瀑布模型特点:阶段间具有顺序性和依赖性:完成前一阶段工作之后才能开始后一阶段的工作,掐一阶段的输出文档就是后一阶

5、段的输入文档;推迟实现的观点:清楚地区分逻辑设计与物理设计,尽可能的推迟程序的物理实现;质量保证的观点:每个阶段必须完成规定的文档,每个阶段结束前都要对完成的文档那个进行评审,尽早改正问题。优点:强迫开发人员采用规范的方法;严格规定每个阶段必须提交文档;要求每个阶段交出的所有产品都必须经过质量保证的检验。缺点:是一种有文档驱动的一种模型,用户只能通过文档静态的了解产品,很难全面的认识动态的软件产品。(2)快速原型模型 特点:其第一步是快速建立一个能反映用户主要需求的原型系统,让用户通过实践了解目标系统的概貌,当用户需求有所变化可以快速修改原型系统。优点:软件产品的开发基本上是线性顺序的;原型系

6、统已经通过与用户交互而得到验证,据此产生的规格文档正确地反映了用户的需求;开发人员通过建立的原型系统知道系统应该做什么,不应该做什么。(3)增量模型特点:把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件又多个相互作用的模块组成,并且能够完成特定的功能。每个增量构件往往实现软件的基本需求,提供最核心的功能。优点:能够在较短的时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充裕的时间适应和学习新产品。困难之处:在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来以开发的产品。(4)螺旋模型特点:螺旋线的角度值代表开发进度,螺旋线每个周期对应一个开发阶段

7、。通常用建造原型的方法来排除风险。主要适用于内部开发的大规模软件项目。优点:对可选方案和约束条件的强调有利于已有软件的重用,有助于把软件开发质量作为软件开发的一个重要目标;减少了过多测试或测试不足所带来的风险;在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。(5)喷泉模型特点:喷泉模型是典型的面向对象的软件过程模型,具有过程迭代和无缝的特性。不同阶段之间相互重叠表明两个活动之间存在交迭,同时还保证了各项开发活动之间的无缝过渡。第2章 可行性研究1. 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。2. 可行性研究的任务:可行性研究实际上是要进行一次

8、大大压缩简化了得系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行的系统分析和设计的过程。3. 可行性研究的过程 复查系统规模和目标:实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。 研究目前正在使用的系统; 导出新系统的高层逻辑模型; 进一步定义问题; 导出和评价供选择的解法; 推荐行动方针; 草拟开发计划; 书写文档提交审查。4. 系统流程图系统流程图是概括地描绘物理系统的传统工具,基本思路是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的过程,因此尽管系统流程

9、图的某些符号和程序流程图的符号形式相同,但是它们却是物理数据流程图而不是程序流程图。5. 数据流图和数据字典的关系数据流图是一种图形化技术,描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流程图中,没有任何具体的物理部件,只描述数据在软件中流动和被处理的逻辑过程。即其基本要点是描绘“做什么”,而不考虑“怎么做”。数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。其主要作用是在软件设计和分析的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据流图就不严格,然而没有数据流图,数据字典也难以发挥作用。只有数据流图和对

10、数据流图中的每个元素的精确定义放在一起,才能共同构成系统的规格说明。6. 成本/效益分析的原理成本/效益分析是可行性研究的一项重要内容,是客户组织负责人从经济角度判断是否继续投资于这项工程的主要依据。成本/效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益。成本估计的基本方法有代码行技术、任务分解技术以及自动估计成本技术。运行费用和经济效益两者在软件的整个生命周期内都存在,总的效益和生命周期的长度有关,因此应该合理地估计软件的寿命。投资是现在进行的,效益是将来获得的,不能简单的比较成本和效益,还应该考虑货币的时间价值、投资回收期、纯收入、投资回收率等。 第三章 需求分析13、需求

11、分析的目的需求分析是软件定义的组以后一个阶段,它精确地回答了“系统必须做什么”14、 需求分析的任务 需求分析的任务是: (1)确定系统的综合要求。 (2)分析系统的数据要求。 (3)导出系统的逻辑模型。 (4)修正系统的开发计划15、 实体联系图使用领域 应用于实体与属性关系比较复杂的情况,它比较接近人的思维习惯,易于理解和接受16、 状态转换图的适用领域 建立系统的行为模型,适用于系统的状态和系统的状态转换较为浮躁的情况第五章 总体设计17、总体设计的目总体设计的目是解决怎样做的问题,即回答“系统该如何试下的问题 ” 18、总体设计的任务 总体设计的任务是将工作划分成组成系用的物理元素程序

12、、文件、数据库、人工过程、文档等,确定系统的组成模块。19、总体设计的过程(1)设想供选择方案:提出尽可能多的实现方案(2) 选合理的方案:考虑实际情况,选出设想方案中可实现的,合理的方案(3) 推荐最佳方案:从合理方案中选出功能实现的最佳方案(4) (5) 设计软件结构:根据要求设计软件的结构(6) 设计数据库:(7) 制定测试方案:对系统各个模块要有测试方案(8) 书写文档:撰写说明书等必要的文档说明(9) 审查和复查:对各个工作进行审核20、 总体设计原理(1) 模块化:由边界元素限定相邻的程序元素(2) 抽象:相似方面集中概括起来,忽略差异(3) 逐步求精:细化过程(4) 信息隐藏和局

13、部化 信息隐藏:一个模块的信息对于不需要的不允许访问 局部化:把欢喜密切的元素的物理地址放的彼此靠近(5)模块独立化:模块之间没有过多的相互作用(系统尽量低耦合,高内聚)21、面向数据流的设计过程 面向数据流设计方法的过程如下: (1)精化DFD。指把DFD转换成软件结构图前,设计人员要仔细地研究分析DFD并参照数据字典,认真理解其中的有关元素,检查有无遗漏或不合理之处,进行必要的修改。 (2)确定DFD类型,如果是变换型,确定变换中心和逻辑输入、逻辑输出的界线,映射为变换结构的顶层和第一层;如果是事务型,确定事务中心和加工路径,映射为事务结构的顶层和第一层。 (3)分解上层模块,设计中下层模

14、块结构。 (4)根据优化准则对软件结构求精。 (5)描述模块功能、接口及全局数据结构。 (6)复查,如果有错,转向(2)修改完善,否则进入详细设计。第六章 详细设计22、试述详细设计的目的。详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统。23、试述在详细设计中程序流程图和盒图的异同。程序流程图的主要缺点:(1)本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局控制。(2)中箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构设计的精神,随意转移控制。(3)不易表示数据结构。盒图又称N-S图特点有:(1)功能域明确,可以从盒图上一眼看出来。(2)不可能任意转移控制。(3)很容易确定局部和全程数据的作用域。(4)很容易表现嵌套关系,也可以表示模块的层次结构。但要注意的是盒图没有箭头,因此不允许随意转移控制。24、 试述在详细设计中PAD图的优点。PAD图的优点有:(1)PAD符号所设计出来的程序必然是结构化程序。(2)结构十分清晰。(3)表现程序逻辑,易懂、易读、易记。(4)容易将PAD图转换成高级语言源程序,有利于提高软件可靠性和软件生产率。(5)既可用于表现程序逻辑,也可用于描绘数据结构。(6)PAD图的符号支持自顶向下、逐步求精方法的使用。25、 试述在详细设计中判定表和判定树的异同。判定树的优点在于,它的形式简单到不

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

最新文档


当前位置:首页 > 办公文档 > 总结/报告

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