软件工程导论第六版期末复习总结要点
《软件工程导论》期末复习材料

《软件工程导论》期末复习材料1、什么是软件危机?产生的主要原因有哪些?(1页)软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要原因:1)用户对软件需求的描述不精确。
2)软件开发人员对用户需求的理解有偏差。
3)缺乏处理大型软件项目的经验。
4)开发大型软件易产生疏漏和错误。
5)缺乏有力的方法学的指导和有效的开发工具的支持。
6)面对日益增长的软件需求,人们显得力不从心。
2、什么是瀑布模型,瀑布模型的缺点主要有哪些?(15页)瀑布模型将软件开发分成:需求分析、规格说明、设计、编码、综合测试和维护阶段,每个阶段必须完成规定的文档,必须等前一个阶段完成之后才开始下一个阶段的工作,前一个阶段输出的文档是下一个阶段的输入文档。
缺点主要包括:1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3)不支持产品的演化,缺乏灵活性,使软件产品难以维护。
3、什么是数据流图,数据流图由哪些基本符号组成?(40页)数据流图:简称DFD, ,主要用于SA(结构化分析)方法,它描绘信息流和数据从输入移动到输出的过程中所经受的变换,是一种功能模型. 基本符号有四种: ->,箭头,表示数据流; =,开口矩形或者两条平行线,表示数据存储; 正方形或者立方形,表示数据的源点或终点,圆角矩形或圆形,表示加工,也就是数据的处理;数据流图中每一个加工至少有一个输入流和一个输出流。
4、数据字典有哪几种元素组成?(47页)1)数据流,2)数据元素,3)数据存储,4)处理或者加工5、需求分析阶段的基本任务是什么(56页)1).问题识别,确定系统的综合需求和数据需求,包括a.功能需求b.性能需求c.环境需求d.用户界面需求e.出错处理的需求f.接口需求2).分析与综合,导出软件的逻辑模型.3).修正开发计划4).编写文档6、模块的内聚有哪几种?(99页)功能内聚(模块就是一个单一功能)、顺序内聚(模块中的处理必须顺序执行)、通信内聚(模块中所有任务都是对同一批数据操作)、过程内聚(模块中的处理必须按特定次序执行)、时间内聚(模块的任务要在同一时间段完成)、逻辑内聚(模块的任务在逻辑上属于一类)、偶然内聚(模块中的任务有很松散的关系)。
软件工程导论复习整理(最新)

软件工程导论复习整理(最新)第一篇:软件工程导论复习整理(最新)第一章1..软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.软件与硬件的区别:软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
3.软件:程序、数据及相关文档的完整集合。
4.软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地开发出高质量的软件并有校地维护它。
5.软件工程方法学三要素:方法、工具和过程。
6.传统方法学也称为生命周期方法学或结构化范型。
它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
7.面向对象方法学把数据和行为看成同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。
8.软件生命周期划分为三个时期:1软件定义(问题定义、可行性研究、需求分析),2软件开发(总体设计、详细设计、编码和单元测试、综合测试),3运行维护(软件维护)。
9.4类软件维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备。
10.“瀑布模型”的缺点:它是由文档驱动的,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品;瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的产品不能真正的满足用户的需要。
11.快速原型模型的优点:原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求;开发人员通过建立原型系统已经学到了很多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。
软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)软件工程导论复习重点总结很全(第六版)软件工程是一门研究如何以系统化的、可管理的和可维护的方式来构建高质量的软件的学科。
在软件工程导论中,我们学习了软件开发的基本概念、原理和方法。
本文将对软件工程导论的重点内容进行总结,帮助读者巩固所学知识,为学习和工作提供帮助。
1. 软件工程概述软件工程的定义、目标和原则;软件生命周期和过程模型;软件开发的重要性和挑战;软件工程中的质量保证和风险管理。
2. 软件需求工程软件需求的定义和分类;需求获取、分析和建模;需求验证和确认;需求变更和配置管理。
3. 软件设计软件设计原则和方法;面向对象设计和结构化设计;软件架构设计;设计模式的应用。
4. 软件测试与调试软件测试的概念和目的;测试策略和技术;测试用例的设计和执行;测试评估和管理;软件错误调试和修复。
5. 软件项目管理软件项目管理的基本概念和流程;项目计划和进度管理;团队组织和沟通;风险管理和变更管理;质量管理和配置管理;软件工程伦理与法规。
6. 软件开发过程软件开发过程模型的选择和应用;瀑布模型、迭代模型和敏捷开发等常用模型的特点和比较;敏捷开发方法的原理和实践。
7. 软件工具与环境软件开发工具的选择和使用;集成开发环境、版本控制工具、测试工具和调试工具等的功能和特点;软件工程中的自动化工具和技术。
8. 软件工程的前沿技术软件工程的新兴技术和趋势;人工智能、大数据、云计算等技术在软件开发中的应用;软件工程的创新与创业。
通过对上述主要内容的学习和理解,我们可以全面掌握软件工程导论的核心知识和方法。
在今后的学习和实践中,我们应该注重理论与实际的结合,不断提高自己在软件开发和项目管理方面的能力。
只有不断学习和实践,我们才能成为优秀的软件工程师,为社会和企业创造更大的价值。
总结:软件工程导论是软件工程领域中的重要基础课程,通过对软件开发过程和管理原理的学习,我们可以掌握软件工程的基本概念、原则和方法。
软件工程导论复习重点总结很全第六版

第1章软件工程学概述1.1 软件危机1.1.1 软件危机旳简介软件危机(软件萧条、软件困扰): 是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。
软件危机包括下述两方面旳问题:怎样开发软件, 满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件。
软件危机旳经典体现:(1)对软件开发成本和进度旳估计常常很不精确;(2)顾客对“已完毕旳”软件系统不满意旳现象常常发生;(3)软件产品旳质量往往靠不住;(4)软件常常是不可维护旳;(5)软件一般没有合适旳文档资料;(6)软件成本在计算机系统总成本中所占旳比例逐年上升;(7)软件开发生产率提高旳速度, 远远跟不上计算机应用迅速普及深入旳趋势。
1.1.2 产生软件危机旳原因(1)与软件自身旳特点有关(2)与软件开发与维护旳措施不对旳有关1.1.3 消除软件危机旳途径对计算机软件有对旳旳认识。
认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完毕旳工程项目。
应当推广使用在实践中总结出来旳开发软件旳成功技术和措施, 并继续研究探索。
应当开发和使用更好旳软件工具。
总之, 为了处理软件危机, 既要有技术措施(措施和工具), 又要有必要旳组织管理措施。
1.21.2.1 软件工程旳简介软件工程: 是指导计算机软件开发和维护旳一门工程学科。
采用工程旳概念、原理、技术和措施来开发与维护软件, 把通过时间考验而证明对旳旳管理技术和目前可以得到旳最佳旳技术措施结合起来, 以经济地开发出高质量旳软件并有效地维护它, 这就是软件工程。
(期中考)软件工程旳本质特性:软件工程关注于大型程序旳构造软件工程旳中心课题是控制复杂性软件常常变化开发软件旳效率非常重要友好地合作是开发软件旳关键软件必须有效地支持它旳顾客在软件工程领域中是由具有一种文化背景旳人替具有另一种文化背景旳人发明产品1.2.2 软件工程旳基本原理用分阶段旳生命周期计划严格管理坚持进行阶段评审实行严格旳产品控制采用现代程序设计技术成果应能清晰地审查开发小组旳人员应当少而精承认不停改善软件工程实践旳必要性1.2.3 软件工程措施学软件工程包括技术和管理两方面旳内容。
软件工程导论张海潘第六总结

第一步: 提取数据流图的四种成分:
数据源点和终点:业务员、储户
处理:
(1) 事物处理
(2) 处理存款
(3)处理取款
数据存储: (1) 存款信息
(2) 取款信息
数据流: 事物、存款单、存单
密码 、取款单、利息清单
第22页/共117页
第二步:画基本数据流图
顶层数据流图
第23页/共117页
• 软件孕育、诞生、成长、成熟、衰亡的生存过程。
第4页/共117页
软件生命周期
1. 问题 2. 可行 3. 需求 4. 总体 定义 性研究 分析 设计
5. 详细设 6. 编码和 7. 综合测 8. 软件维
计
单元测试
试
护
第5页/共117页
• 各阶段具体任务:
• 1.问题定义:必须回答的关键问题是:“要解决的问题是什 么?”。
限和下限进一步注释表示重复的花括弧。 • ( ) 意思是可选(即,圆括弧里的分量可有可无)。
第27页/共117页
电话定义--应用举例
北京某高校可用的电话号码有 以下几类:
校内电话号码由4位数字组成, 第1位数字不是0;
校外电话又分为本市电话和外 地电话两类; a)拨校外电话需先拨0,若是 本市电话则再接着拨8位数 字(第1位不是0);
• 功能需求、 性能需求、可靠性和可用性需求、出错处理 需求
• 接口需求、 约束 、 逆向需求 、 将来可能提出的要求
• 3、分析系统的数据要求
• (1)建立数据模型—第—31页E/-共R11图7页
第三章 需求分析
•4 、 需 求 分 析 过 程 建 立 三 种 模 型
数 据 模 型 : 实 体 - 联 系 图 功 能 模 型 : 数 据 流 图 行为模型:状态转换图
软件工程导论知识点总结

软件工程导论知识点总结软件工程导论知识点总结1. 软件工程概述1.1 什么是软件工程软件工程是一门研究如何有效地开发、维护和管理软件系统的学科。
它基于工程原理和方法,将系统化的、规范化的方法应用于软件开发过程中,以提高软件的质量、可靠性和可维护性。
1.2 软件工程的重要性在当今日益发展的信息技术领域,软件已经成为各个行业和领域中不可或缺的核心组成部分。
软件工程的实践使得软件开发更加可控,能够满足用户需求,提高软件质量,降低开发和维护成本。
1.3 软件工程的原则软件工程有一些核心原则,包括适应性、可理解性、一致性、可复用性和可维护性。
这些原则帮助开发人员创建高质量的软件,并确保软件在不同环境下的可靠性和安全性。
2. 软件开发过程2.1 软件开发生命周期软件开发生命周期是指从软件概念形成到软件退役的整个过程。
常见的软件开发生命周期模型包括瀑布模型、迭代模型和敏捷模型。
2.2 瀑布模型瀑布模型是一种线性的软件开发过程模型,包括需求分析、设计、编码、测试和维护五个阶段。
每个阶段都有明确的输入和输出,下一个阶段在前一个阶段完成后开始。
2.3 迭代模型迭代模型是一种循序渐进的软件开发过程模型,将软件开发分为多个迭代周期。
每个迭代周期包括需求分析、设计、编码、测试和评审阶段。
每个迭代周期都会产生一个可执行的软件版本。
2.4 敏捷模型敏捷模型强调迭代和反馈,在软件开发过程中更加注重灵活性和适应性。
常用的敏捷开发方法包括Scrum和XP(极限编程)等。
3. 软件开发方法与工具3.1 需求工程需求工程是软件工程的关键环节,用于确定用户需求并转化为可行的软件规格说明。
需求工程包括需求获取、需求分析、需求建模和需求验证等阶段。
3.2 架构设计架构设计为软件系统提供了一个稳定的基础,确定系统各个组件之间的关系和交互方式。
常用的架构设计模式包括模块化、层次化、客户端-服务器和MVC等。
3.3 编程与测试编程是将设计转化为可执行代码的过程,而测试是验证代码是否达到预期功能的过程。
软件工程导论(第6版)知识点总结、复习课-图文

软件工程导论(第6版)知识点总结、复习课-图文复习课--------酷爱YC第一章1、什么是软件危机,什么是软件工程软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:(1如何开发软件,以满足对软件日益增长的需求;(2如何维护数量不断膨胀的已有软件。
软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件,并有效地维护它。
2、完整的软件配置由哪些内容组成软件配置主要包括程序,文档和数据等成分。
3、软件生命周期分为哪3个时期和8个阶段,每个阶段的任务(工作分别是什么,重要性如何开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。
其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
(1 总体设计(概要设计,回答“怎样实现目标系统”。
建立系统的总体结构,划分子系统;确定系统由哪些模块组成,各子系统间、各模块间的关系(包括定义各子系统接口界面和各功能模块的接口,设计全局数据库或数据结构,规定设计约束,制定组装测试计划。
成果:概要设计说明书、数据库或数据结构说明书、系统的组装(集成测试计划等文档。
(2详细设计任务就是把解法具体化,也就是回答:“应该怎样具体地实现这个系统呢?”,设计每个程序模块的内部细节,包括数据结构、算法以及各程序模块间的接口信息,并设计模块的单元测试计划。
成果:详细设计规格说明和单元测试计划等详细设计文档。
以上(1、(2又合称为软件设计。
(3编码和单元测试这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。
根据详细设计规格说明,选用某种程序设计语言把详细设计的结果转化为机器可运行的源程序模块;运行和调试每一个程序模块;每编写出一个程序模块的源程序,调试通过后,即对该模块进行单元测试。
软件工程导论最全复习总结

1、软件危机是指在计算机开发过程中旳开发和维护过程中所碰到旳一系列旳严重问题。
2、软件是程序、数据及有关文档旳完整集合,程序是可以完毕预定功能和性能旳可执行旳程序序列;数据是是使程序可以合适旳处理信息旳数据构造;文档是开发、使用和维护程序所需要旳图文资料。
3、软件工程学包括3个要素:措施、工具、过程。
4、目前使用最广泛旳软件工程措施学是老式措施学和面向对象措施学。
5、软件工程措施学旳软件过程基本上可以用瀑布模型来描述。
6、瀑布模型、迅速原型模型、增量模型、螺旋模型、喷泉模型。
7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。
8、可行性研究旳三方面:技术可行性、经济可行性、操作可行性。
9、数据流图(DFD是一种图形化技术,他描绘信息流和数据从输入移动到输出旳过程中所经受旳变化。
10、数据字典是有关数据信息旳集合,也就是对数据流程图中所包括旳所有元素旳定义旳集合。
11、数据流图和数据字典共同构成系统旳逻辑模型,没有数据字典,数据如就不严格,没有流程图,数据字典也难以发挥作用。
12、需求分析阶段结束之前,系统分析员应当写出软件需求规格阐明书,以书面形式准确旳描述软件需求。
13、9、构造化分析措施就是面向数据流自顶向下逐渐求精进行需求分析旳措施。
14、ER图中包括了实体、关系和属性,矩形代表实体,菱形表达关系,椭圆或圆角矩形表达属性,用直线把实体和其属性连接。
15、验证软件需求旳对旳性:一致性、完整性、现实性、有效性。
16、总体设计旳基本目旳是回答“概括地说,系统应当怎样实现?”,总体设计又称为概要设或初步设计。
17、模块旳独立程度可以有两个定性标量度量:内聚和耦合。
18、软件测试旳目旳:(1测试是为了发现程序中旳错误而执行程序旳过程;(2好旳测试方案是极也许发现迄今为止尚未发现旳错误旳测试方案;(3成功旳测试是发现可至今为止尚未发现旳错误旳测试。
19、软件测试环节:模块测试、子系统测试、系统测试、验收测试、平行运行。
软件工程导论总结

复习全书重点(包含老师重点不包括第一章)软件开发生命周期每个阶段的任务:1、问题定义:要解决的问题是什么2、可行性分析:确定问题是否值得去解决3、需求分析:回答系统必须做什么4、总体设计:系统该如何实现5、详细设计:怎样具体实现所要求的系统6、编码和单元测试:编写软件程序,并对每一个模块进行单元测试7、综合测试:通过各种测试以及相应的调试,使软件达到预定的要求8、软件维护:过各种必要的维护活动使系统持久地满足用户的需要可行性研究目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。
研究方法:技术可行性、经济可行性、操作可行性。
可行性研究的最根本的任务:对以后的行动方针提供建议。
可行性研究过程:1、复查系统规模和目标2、研究目前正在使用的系统3、导出新系统的高层逻辑模型4、进一步定义问题5、导出和评价供选择的解法6、推荐行动方针7、草拟开发计划8、书写文档提交审查系统流程图:是概括的描绘物理系统的传统工具,表达的是数据在各个部件之间的流动情况,不对数据进行加工。
数据流图:是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经历的变换。
在数据流图中没有任何具体的物理部件,它只描绘数据在软件中流动和被处理的逻辑过程。
数据流图的4中成分:源点或终点、处理、数据存储、数据流数据流图是系统的逻辑模型。
画数据流图的目的是用它来作为交流信息、分析和设计的工具。
数据字典是关于数据信息的集合,也就是对数据流图中的所有元素的定义的集合。
提供关于数据的描述信息。
数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据流图就不严格,没有数据流图,数据字典很难发挥作用。
数据元素组成数据的方式的3种基本类型:顺序、选择、重复(可选是增加的关系算符)“=”意为等价于“+”是和[]是或{}是重复()是可选需求分析应该建立的三种模型:数据模型、功能模型、行为模型实体-联系图(E-R图)是描绘数据对象及数据对象之间的关系是用于建立数据模型的图形。
软件工程导论期末复习重点

软件工程导论期末复习重点选择、判断略一、名词解释1、软件危机 2 、软件工程 3 、数据字典 4 、模块化 5 、黑盒测试6、软件维护7 、软件过程8 、快速原型9 、白盒测试二、简答题1、可行性研究目的和任务?2、可行性研究包括哪几方面的内容?3、简述需求分析的描述工具和基本任务?4、什么是模块化?模块设计的准则?5、详细设计阶段的根本目标和任务?6、比较面向数据流和面向数据结构两类设计方法的异同?7、测试与调试的主要区别?8、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。
9、比较层次方框图与结构图的异同?10、结构化程序设计的基本原则?11、提高软件编码效率的3 条原则?、名词解释1、软件危机答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
2、软件工程答:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。
3、数据字典答:数据字典是描述数据流图中数据的信息的集合。
它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。
4、模块化答:模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
5、黑盒测试答:黑盒测试也称为功能测试, 它着眼于程序的外部特征, 而不考虑程序的内部逻辑结构。
测试者把被测程序看成一个黑盒, 不用关心程序的内部结构。
黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
软件工程导论 复习整理

1.软件危机的概念2.产生软件危机的原因(了解)3.消除软件危机的途径4.软件工程的概念5.软件工程的本质特性(7个)6.软件工程的基本原理(7个)7.传统方法学和面向对象的比较(各自的优缺点)8.软件生命周期的8个阶段以及各阶段的基本任务9.软件过程中使用的5个模型以及各自的特点瀑布模型:1)瀑布模型具有顺序性和依赖性。
2)推迟实现的观点:把逻辑设计与物理设计清楚地划分开,尽可能推迟物理模型的实现。
3)质量保证的观点:每一步都循序渐进,及早消除隐患,从而保证软件质量。
缺点:只有做出精确的需求分析,才能取得预期的结果。
由于各种客观、主观的原因,需求分析往往不很精确,常常给日后的开发带来隐患。
快速原型模型:1)开发人员和用户在“原型”上达成一致。
2)缩短开发周期,加快工程进度。
3)降低成本。
缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。
这往往给工程继续开展带来不利因素。
增量模型:1)增量模型是一种非整体开发的模型。
2)该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。
缺点:要求软件具有开放的结构是这种模型固有的困难,可能会导致设计差、效率低、维护难。
螺旋模型:1)风险驱动,有利于软件重用。
2)建立在风险分析的基础上,绝对依赖人的素质。
3)开发中的每一层都很有弹性,并不是很明确的界限;每一层的目标和计划都是由小组本身来制定。
缺点:很难让用户确信这种演化方法的结果是可以控制的。
喷泉模型:1)充分体现了面向对象软件开发过程迭代和平滑过渡的特性。
2)各个阶段没有明显的界限,开发人员可以同步进行开发。
3)适应于面向对象的软件开发过程。
缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。
此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。
10.Rational统一过程(简称RUP,了解)11.敏捷过程的宣言(4个)12.极限编程&微软过程(了解)第2章1.可行性研究的任务(4个)2.系统流程图(了解)3.数据流图&数据字典(会画)4.单元练习题51.需求分析的目的2.获取需求的方法3.需求分析的图形工具(5个,重点掌握前2个)第5章1.总体设计的目的和原理原理:模块化;抽象;逐步求精;信息隐藏和局部化;模块独立2.耦合&内聚(从强到弱的顺序,各7个)耦合:1)内容耦合:当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。
软件工程导论期末复习重点

软件工程导论期末复习重点软件工程期末复习一、软件工程学概述1.软件危机:计算机开发和维护的过程中所遇到的一系列问题名词解释(需要加上软件危机产生的原因)对用户的要求没有完整准确的认识就匆忙着手编写程序论述题(需要加上软件危机的典型表现)01.对软件开发成本和嫉妒的估计常常不准确02.用户对已完成软件系统的不满意情况经常发生03.软件的质量靠不住2.软件工程:指导计算机开发和维护的一门工程学科?名词解释3.软件工程方法学的三要素:方法、工具、过程4.软件生命周期的三个时期:软件定义、软件开发、运行维护01.软件定义时期的三个阶段:问题定义、可行性研究、需求分析02.软件开发时期的四个阶段:总体设计、详细设计、编码、单元测试,综合测试,前两个称系统设计,后两个称系统实现03.软件维护时期:只要任务是使软件持久的满足用户的需要,具体的说,当软件在使用过程中发现错误时应该加以纠正,当环境改变时应修改软件以适应新的环境,当用户有新的需要时,应该及时改进软件以满足用户新的需求,本时期不在划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程5.可行性研究的结果是客户做出是否继续这项工程的决定的重要依据,只有投资取得较大收益的的那些工程项目才是值得继续进行下去的6.需求分析的目标是:确定出系统必须具备哪些功能,和用户密切配合,充分交流信息,以得出经过系统确认的系统逻辑模型7.软件维护的四类维护活动:01.改正性维护:改正和诊断在使用过程中发生的软件错误02.适应性维护:修改软件以适应新的环境变化03.完善性维护:根据用户的需求改善和扩充软件使它更完善04.预防性维护:为将来的维护活动事先做准备8.瀑布模型: ?论述题01.传统的瀑布模型开发软件的特点A.阶段间具有顺序性和依赖性B.推迟实现的观点C.质量保证的观点02.软件配置:程序、文档、数据03.注释有什么用:提高代码的可读性(有待补充)二、可行性研究1.可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决2.从三个方面研究每种解法的可读性;01.技术可行性:使用现在的技术能实现这个系统吗?02.经济可行性:这个系统的经济效益能超过它的开发成本吗?03.操作可行性:系统的操作方式在这个用户组织内能行得通吗?3.系统流程图:是概括的描绘物理系统的传统工具。
软件工程导论(第6版)知识点总结、复习课-图文

复习课-------- 热爱 YC第一章1、什么是软件危机 ,什么是软件工程软件危机是指在计算机软件开发、使用与保护过程中碰到的一系列严重问题和难题。
它包含双方面 :(1 如何开发软件 ,以知足对软件日趋增添的需求 ;(2 如何保护数目不停膨胀的已有软件。
软件工程 :采纳工程的观点、原理、技术和方法来开发与保护软件,把经过时间考验而证明正确的管理技术和目前能够获取的最好的技术方法联合起来 ,以经济地开发出高质量的软件 ,并有效地保护它。
2、完好的软件配置由哪些内容构成软件配置主要包含程序 ,文档和数据等成分。
3、软件生命周期分为哪 3 个期间和 8 个阶段 ,每个阶段的任务 (工作分别是什么 ,重要性如何归纳地说 ,软件生命周期由软件定义、软件开发和运转保护 3 个期间构成1、软件定义 (系统剖析。
软件定义期间的任务是 :确立软件开发工程一定达成的总目标 ;确立工程的可行性 ;导出实现工程目标应当采纳的策略及系统一定达成的功能 ;预计达成该项工程需要的资源和成本 ,并且拟订工程进度表。
这个期间的工作往常又称为系统剖析 ,由系统剖析员负责达成。
软件定义期间往常进一步区分红 3 个阶段 ,即问题定义、可行性研究和需求剖析。
(1 问题定义 ,确立系统要解决的问题是什么。
成就:对于问题性质、工程目标和工程规模的报告。
(2 可行性研究 ,确立问题能否有可用的、能行得通的解(包含 :技术、经济、操作、社会等方面的可行性。
这个阶段的任务不是详细解决问题,而是研究问题的范围 ,探究这个问题能否值得去解,能否有可行的解决方法。
成就:可行性研究报告。
(3 需求剖析 ,确立软件系统的一定实现的功能、一定达到的性能、一定知足的运转环境要求。
系统剖析员在需求剖析阶段一定和用户亲密配合 ,充足沟通讯息 ,以得出经过用户确认的系统逻辑模型。
往常用数据流图、数据词典和简要的算法表示系统的逻辑模型。
在需求剖析阶段确立的系统逻辑模型是此后设计和实现目标系统的基础 ,所以一定正确完好地表现用户的要求。
《软件工程导论》第六版期末复习总结

软件工程一、名词解释与问答1、SA——结构化分析方法2、画数据流图应注意什么事项?(1)数据流名称只能是名词或是名词短语;(2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来源与加工的结果;(3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类;父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致;(4)注意数据流图的易理解性;3、什么是软件生存周期?它有那几个活动?一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
箭头,表示数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成;圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工;双杆,表示数据存储指暂时保存的数据;方框,数据源点或终点软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中;什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分) 简述编码风格的重要性. 答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.简述软件测试的任务、目的与类型。
软件工程导论期末复习重点

软件工程导论期末复习重点选择、判断略一、名词解释1、软件危机2、软件工程3、数据字典4、模块化5、黑盒测试6、软件维护7、软件过程8、快速原型9、白盒测试二、简答题1、可行性研究目的和任务?2、可行性研究包括哪几方面的内容?3、简述需求分析的描述工具和基本任务?4、什么是模块化?模块设计的准则?5、详细设计阶段的根本目标和任务?6、比较面向数据流和面向数据结构两类设计方法的异同?7、测试与调试的主要区别?8、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用X围.9、比较层次方框图与结构图的异同?10、结构化程序设计的基本原则?11、提高软件编码效率的3条原则?一、名词解释1、软件危机答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.概括地说,包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件.2、软件工程答:①把系统的、规X的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径.3、数据字典答:数据字典是描述数据流图中数据的信息的集合.它对数据流图上每一个成分:数据项、文件<数据结构>、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成.4、模块化答:模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求.5、黑盒测试答:黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构.测试者把被测程序看成一个黑盒,不用关心程序的内部结构.黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息<如数据库或文件>的完整性.6、软件维护软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程.7、软件过程答:软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤.8、快速原型答:快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集.9、白盒测试答:白盒测试是指测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致.二、简答题1、可行性研究目的和任务?目的:确定在问题定义中所提出的问题是否值得去解,在限制条件下问题能否解决.可行性研究的任务:<1> 进一步分析和澄清问题的定义,在澄清问题的基础上,导出系统的逻辑模型;<2> 从系统逻辑模型中,选择问题的若干种主要解法,研究每一种解法的可行性,为以后的行动提出建议;<3> 如果问题没有可行的解,建议停止系统开发;如果问题有可行的解,应该推荐一个较好的解决方案,并为工程制定一个初步的计划.2、可行性研究包括哪几方面的内容?答:<1>技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;<2>经济可行性:经济效益是否超出开发成本;<3>操作可行性:系统操作在用户内部行得通吗?<4>法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律. 3、简述需求分析的描述工具和基本任务?答:需求分析的描述工具有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO图和需求描述语言等.需求分析的基本任务是:准确定义未来系统的目标,确定为满足用户的需要系统必须做什么.4、什么是模块化?模块设计的准则?答:模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求.模块设计的准则:<1> 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合.<2> 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中.<3> 软件结构图的深度、宽度、扇入和扇出要适当.一般模块的调用个数不要超过5个.<4> 尽量降低模块接口的复杂程度;<5> 设计单入口、单出口的模块.<6> 模块的作用域应在控制域之内.5、详细设计阶段的根本目标和任务?答:详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统;详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的"蓝图〞.6、比较面向数据流和面向数据结构两类设计方法的异同?答:相同点:<1> 遵守结构程序设计"由顶向下〞逐步细化的原则,并以其为共同的基础;<2> 均服从"程序结构必须适应问题结构〞的基本原则,各自拥有从问题结构<包括数据结构>导出程序结构的一组映射规则.不同点:<1> 面向数据流的设计以数据流图为基础,在分析阶段用DFD表示软件的逻辑模型,在设计阶段按数据流类型,将数据流图转换为软件结构.面向数据结构的设计以数据结构为基础,从问题的数据结构出发导出它的程序结构.<2> 面向数据流的设计的最终目标是软件的最终结构图,面向数据结构的设计的最终目标是程序的过程性描述.7、测试与调试的主要区别?答: <1> 测试从一个侧面证明程序员的失败;调试证明程序员的正确;<2> 测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试从不可知内部条件开始,除统计性调试外,结果是不可预见的;<3> 测试有计划并且要进行测试设计;调试不受时间约束;<4> 测试是发现错误、改正错误、重新测试的过程;调试是一个推理的过程;<5> 测试执行是有规程的;调试执行要求程序员进行必要的推理;<6> 测试由独立的测试组在不了解软件设计的件下完成;调试由了解详细设计的程序员完成;<7> 大多数测试的执行和设计可由工具支持;调试用的工具主要是调试器.8、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用X围.答:软件生命周期模型可以简洁地描述软件过程,它规定了把生命周期划分成哪些阶段与各个阶段的执行顺序.包括瀑布模型、快速原型模型、增量模型和螺旋模型等.瀑布模型优点:可强迫开发人员采用规X的方法〔例如,结构化技术〕;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证.缺点:模型过于理想化,是由文档驱动的.快速原型模型优点:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要.增量模型优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击.螺旋模型优点:对可选方案和约束条件的强调有利于已有软件的重用;减少过多测试.瀑布模型适用于文档驱动的产品研发;快速原型模型适用于软件交付时间紧急,且需获知用户真实需求的情况;增量模型适用于能在较短时间内向用户提交可完成部分工作的产品;螺旋模型适用于内部开发的大规模软件项目.9、比较层次方框图与结构图的异同?答: <1> 层次方框图描绘数据的层次结构, 结构图描绘的是软件结构.<2> 二者都采用多层次矩形框树形结构.层次方框图的顶层矩形框代表完整的数据结构, 下面各层矩形框依次代表上个框数据的子集;结构图是在层次图的每一个方框内注明模块的名字或主要功能,方框之间的直线表示模块的调用关系,用带注解的箭头表示模块调用过程中传递的信息.10、结构化程序设计的基本原则?答:结构化程序设计的基本原则是:在详细设计中所有模块都使用单入口、单出口的顺序、选择、循环三种基本控制结构.11、提高软件编码效率的3条原则?答:3条原则为:1〕效率是性能要求,因此应该在需求分析阶段确定效率方面的要求.2〕效率是靠好设计来提高的.3〕程序的效率和程序的简单程度是一致的,不要牺牲程序的清晰性和可读性来不必要地提高效率.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程一、名词解释与问答1、SA——结构化分析方法2、画数据流图应注意什么事项?(1)数据流名称只能是名词或是名词短语;(2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来源与加工的结果;(3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类;父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致;(4)注意数据流图的易理解性;3、什么是软件生存周期?它有那几个活动?一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
箭头,表示数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成;圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工;双杆,表示数据存储指暂时保存的数据;方框,数据源点或终点软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中;什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分) 简述编码风格的重要性. 答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.简述软件测试的任务、目的与类型。
答:软件测试是一个为了寻找软件错误而运行程序的过程。
目的就是为了发现软件中的错误。
一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件测试主要分为白盒测试和黑盒测试两大类。
可行性分析的目的和主要任务是什么?答:可行性分析的目的不是解决问题,而是确定问题是否值得去解决。
主要任务是从下面几方面研究每种解法的可行性:技术可行性,经济可行性,操作可行性,社会可行性,抉择可行性。
需求分析的目的和主要任务是什么?答:进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什么。
需求分析的主要任务是描述系统的功能需求、性能需求、数据需求、可靠性/可用性需求、出错处理需求、接口需求、约束条件、其他需求。
软件维护的目的和主要任务是什么?维护的类型有哪些?答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。
主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。
维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)什么是耦合?模块的耦合包括哪些类型?答:耦合是对一个软件结构内不同模块之间互连程度的度量。
模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容耦合,标记耦合,无耦合/非直接耦合什么是内聚?模块的内聚包括哪些类型?答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展模块的内聚包括以下几种类型:低内聚—偶然内聚,逻辑内聚,时间内聚中内聚—过程内聚,通信内聚;高内聚—顺序内聚,功能内聚什么是编码风格?为什么要强调编码风格?答:编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输出和效率保障等。
因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风格。
二、综合应用题1、用PAD图描述下面问题的控制结构。
有一个表A(1)、A(2)、....A(n),按递增顺序排列。
给定一个Key值,在表中用折半法查找。
若找到,将表位置i送入X,否则将零送到x,同时将key值插入表中。
算法:置初值H=1(表头),T=N(表尾)。
置i=[(H+T)/2](取整)若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1送入H;若Key<A(i),则Key在表的前半部分,i-1送入T,重复第二步查找直到H>T为止。
查不到时,将A(i),......A(N)移到A(i+1)......A(N+1),Key值送入A(i)中。
四、填空题1:结构化方法是一种面向数据流的开发方法。
又结构化分析、_结构化程序设计 ___、构成2:为了减少软件开发费用,缩短软件开发周期、减少软件内部潜在的错误,可以减少程序复杂性,以提高软件的简单性和___可理解性________。
3:结构化程序设计方法是使用_____三种基本控制结构___构造程序。
4:与编码风格有关的因素有数据说明、语句构造、输入输出、效率等,其中还有一个重要的因素是___源程序文档化_______.5:结构化程序设计方法是提倡开发人员的组织形式是__主程序员组6:增量模型在开发过程中以一系列增量方式开发系统,忽略某些阶段的细节,从而尽早产生__工作软件_____7:数据流图仅反映系统必须完成的逻辑功能,所以它是一种_____功能____模型判断题:1.在进行总体设计时应加强模块间的联系。
( N )2.系统结构图是精确表达程序结构的图形表示法。
因此,有时也可以将系统结构图当作系统流程图使用。
( N )3.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
( N )4.在程序调试时,找出错误的位置和性质比改正该错误更难。
( Y )5.以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。
( Y )6.如果通过软件测试没有发现错误,则说明软件是正确的。
( N )7.快速原型模型可以有效地适应用户需求的动态变化。
( Y )8.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
( Y )9.集成测试主要由用户来完成。
( N )10.软件危机完全是由于硬件问题引起的。
( N )Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×) PAD图在设置了五种基本控制结构后,还允许递归调用. (×) 为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×) 完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)第二章:可行性研究1:可行性研究实质上是一次简化,压缩了的( 需求分析和设计 )2:可行性研究的三个方面是技术可行性、操作可行性、社会可行性和(经济可行性)1.__数据流图________和__数据字典___共同构成系统的逻辑模型。
1:技术可行性要研究的问题之一是( D )A:存在侵权否 B:成本效益问题 C:运行方式可行否D:技术风险问题2:研究硬件资源的有效性是进行( A )研究的一方面A:技术可行性 B:经济可行性 C:社会可行性 D:操作可行性三:名词解释1.可行性研究:可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程;2.技术可行性:对待开发的系统进行功能、性能和限制条件的分析,确定在现有的资源条件下,技术风险有多大,系统能否实现;3.经济可行性:这个系统的经济效益能超过它的开发成本吗?4.社会可行性:实用性怎样四.问答题1.可行性研究的任务是什么:可行性研究最根本的任务是对以后的行动方针提出建议。
2.可行性研究有那些步骤:(1)复查系统规模和目标;(2)研究目前正在使用的系统;(3)导出新系统的高层逻辑模型;(4)进一步定义问题;(5)导出和评价供选择的解法;(6)推荐行动方针;(7)草拟开发计划;(8)书写文档提交审查;3.可行性研究的目的.:可行性研究的目的不是解决问题,而是确定问题是否值得去解决;五、数据流图的基本符号:(1)正方形(或立方体)表示数据的源点或终点;(2)圆角矩形(或圆形)代表变换数据的处理;(3)开口矩形(或两条平行横线)代表数据存储;(4)箭头表示数据流,即特定数据的流动方向。
数据流图的作用:1、便于用户表达功能需求和数据需求及其联系;2、便于两类人员共同理解现行系统和规划系统的框架;3、清晰表达数据流的情况;4、有利于系统建模。
什么是数据流图:数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
六、数据字典:数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合;数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息;七、成本/效益分析方法是可行性研究的一项重要内容,是客户组织负责人从经济角度判断是否继续投资于这项工程的主要依据;应考虑:①货币的时间价值;②投资回收期;③纯收入;④投资回收率成本估计有:①代码行技术;②任务分解技术;③自动估计成本技术第三章:需求分析一. 填空题1.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是(功能)需求3.数据字典中,一般不出现的条件是( D )A数据流B数据存储C加工D源点与终点8. 需求分析阶段不适用于描述加工逻辑的工具是( D )A结构化语言B判定表C判定树D流程图四. 简答题1. 什么是需求分析?该阶段的基本任务是什么:需求分析是发现、求精、建模、规格说明和复审的过程;准确定义未来系统目标,确定为了满足用户的需要系统必须做什么;2.简述结构化分析的步骤:(1)系统分析员应该从不同的角度抽象出目标系统的特性;(2)使用精确的表示方法构造系统的模型;(3)验证模型是否满足用户对目标系统的需求;(3)在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型;第四章:第五章:总体设计一. 填空题1.在软件概要设计阶段, 建立软件结构后, 还应该为每个模块写一份处理说明和 (接口说明)2. 两个模块都使用同一张表, 模块的这种耦合称为( 公共耦合 )3.一个模块内部各程序段都在同一张表上操作, 这个模块的内聚性称为( 通信内聚 )4.软件结构是以( 模块 )为基础而组成的一种控制层次结构5.反映软件结构的基本形态特征是( 深度, 宽度, 扇入, 扇出 )6.一个模块把数值作为参数传送给另一个模块, 这种耦合方式称为( 数据耦合 )7.两个模块通过全程变量相互作用, 这种耦合方式称为( 公共耦合 )8.一个模块的作用范围指( 受该模块内一个判定影响的所有模块 )的集合9.一个模块的控制范围指( 模块本身以及其所有从属模块 )的集合10.结构化设计以( 数据流图 )为基础映射成软件结构11.为了防止软件概要设计的错误传播到开发后续阶段,在概要设计文档完成以后, 要进行( 软件评审 )5. 耦合性:耦合是指一个模块与其它模块之间的联系,又称为块间联系,是模块之间相对独立性的度量;6. 内聚性:内聚是指模块内部各个成分之间的关系,又称为块内联系,是模块功能相对强度的度量;7. 模块的控制范围:一个模块的控制范围是指该模块本身及其所属的(直接或间接调用的)所有模块的集合;8. 模块的作用范围:受该模块内一个判定影响的所有模块的集合; 9. 软件结构:软件结构图;10.模块:在软件中,通常把用一个名字就可以调用的一段程序称为模块;3.模块的耦合性, 内聚性包括那些内容? 其含义:(1)低耦合:非直接耦合,数据耦合,标记耦合;(2)中耦合:控制耦合,外部耦合;(3)高耦合:公共耦合,内容耦合;(4)低内聚:偶然内聚,逻辑内聚,时间内聚;(5)中内聚:过程内聚,通讯内聚;(6)高内聚:顺序内聚,功能内聚;4.为了提高模块的独立性, 模块内部最好是( C )A 逻辑内聚B 时间内聚C 功能内聚D 通信内聚5.为了提高模块的独立性, 模块之间最好是( D )A 公共耦合B 控制耦合C 内容耦合D 数据耦合6. 结构化设计方法在软件开发中, 用于( B )A 测试用例设计B 软件概要设计C 程序设计D 软件详细设计7. 划分模块时, 一个模块的( A )A 作用范围应该在其控制范围之内B 控制范围应该在其作用范围之内C 作用范围与控制范围互相不包含D 作用范围与控制范围不受任何限制第六章:一. 填空题1. 结构化程序设计方法的要点是使用( 三种基本控制结构 ),自顶向下, 逐步求精地构造算法或程序2.结构化分析的基本思想是采用(自顶向下逐步分解)方法,能有效的控制系统的复杂性3.当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时, 其加工逻辑用(判定表或判定树)描述较好.4.数据流图中有四种符号元素,它们是(数据流,加工,数据存储,数据源点和终点)3. 在详细设计阶段, 一种历史悠久, 使用最广泛的描述程序逻辑结构的工具是( 程序流程图 )4. 结构化程序设计技术指导人们用良好的思想方法开发(容易理解, 容易验证)的程序5. 详细描述处理过程常用的三种工具是图形, 语言和( 表格 )6. 详细设计的目标不仅是逻辑上正确的实现每个模块的功能, 还应该使设计出的处理过程 ( 清晰易读 )7. 在详细设计阶段,除了对模块内的算法进行设计, 还应该对模块内的(数据结构)进行设计2. 结构化设计方法是一种面向( A )的设计方法A 数据流B 数据结构C 数据库D 程序1. 结构化程序设计主要强调的是( C )A 程序的效率B 程序的执行速度C 程序的易读性D 程序的规模2. 详细设计的任务是确定每个模块的( A )A 算法B 功能C 调用关系D 输入输出数据3. 结构化程序设计的一种基本方法是( D )A 筛选法B 递归法C 迭代法D 逐步求精法4. 程序的三种基本控制结构是( B )A过程,子程序和分程序 B 顺序, 选择和重复C 递归, 堆栈和队列D 调用, 返回和转移5. 程序的三种基本控制结构的共同特点是( D )A 不能嵌套使用B只能用来写简单程序C 已经用硬件实现D只有一个入口和一个出口3. 详细设计主要使用那一个描述工具:程序流程图,盒图,PAD图,判定表,判定树。