软件工程--复习资料

上传人:E**** 文档编号:104785232 上传时间:2019-10-10 格式:PDF 页数:11 大小:198.98KB
返回 下载 相关 举报
软件工程--复习资料_第1页
第1页 / 共11页
软件工程--复习资料_第2页
第2页 / 共11页
软件工程--复习资料_第3页
第3页 / 共11页
软件工程--复习资料_第4页
第4页 / 共11页
软件工程--复习资料_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《软件工程--复习资料》由会员分享,可在线阅读,更多相关《软件工程--复习资料(11页珍藏版)》请在金锄头文库上搜索。

1、十校网十校网 提供最多、最全、最详细的课件答案、学习资料、免费信息提供最多、最全、最详细的课件答案、学习资料、免费信息 软件工程软件工程- - - - 复习资料复习资料 第一章 软件工程概论 1.1.1. 1. 软件的特点是什么? 1) 软件是逻辑实体;具有抽象性;软件的形态不可见;必须通过观察、分析、 思考、判断来了解其功能、性能和其它特性。 2) 软件是人脑思维的产物,其生产过程与硬件不同。 开发过程的质量控制及软 件产品保护问题。 3) 软件的开发和运行受计算机系统限制。 软件移植问题。 4) 软件的开发技术落后,手工开发方式仍占统治地位。开发效率低。 2.2.2. 2. 2006年发布

2、的国家分类标准是什么?独立式,组合式,集成式,嵌入式。 3.3.3. 3. 软件危机的表现有哪些? 1)对开发成本和进度的估算偏差太大 2)没有适当的文档 3)软件成本比重上升 4)质量很不可靠 5)供不应求 6)用户很不满意 4.4.4. 4. 产生软件危机的原因是什么?l 客观:软件本身特点1逻辑部件2规模庞大l 主观:不正确的开发方法 1忽视需求分析 2“软件开发=程序编写”的错误观念 3轻视软件维护 5.5.5. 5. 什么是软件工程三要素? 1.方法:为软件开发提供了“如何做”的技术。 2.工具:为软件工程方法提供了支撑环境。 3.过程:定义了方法使用的顺序、要交付的文档资料、为保证

3、质量和适应变化所需要 的管理、 软件开发各个阶段完成的里程碑。 5.5.5. 5. 软件工程的基本目标是什么? 1) 付出较低的开发成本 2) 达到要求的软件功能 3) 取得较好的软件性能 十校网十校网 提供最多、最全、最详细的课件答案、学习资料、免费信息提供最多、最全、最详细的课件答案、学习资料、免费信息 4) 开发的软件易于移植 5) 需要较低的维护费用 6) 能按时完成开发工作,及时交付使用 7.7.7. 7. 软件工程的基本原则是什么? 1) 抽象2) 信息隐蔽3) 模块化4) 局部化5) 确定性6) 一致性7) 完备性8) 可验证性 8.8.8. 8. 软件工程的基本原理是什么? 1

4、) 用分阶段的生命周期严格管理;2) 坚持进行阶段评审;3) 实行严格的产品控制;4) 采用现 代程序设计技术;5) 结果应能清楚地审查;6) 开发小组人员应少而精;7) 承认不断改进软件工 程实践的必要性。 9.瀑布模型有什么特点?1.里程碑或基线驱动,或者说文档驱动;2.过程逆转性很差,或者说不 可逆转。 10.说明生命周期的划分?一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生 存过程称为软件生存期或叫生命期。生命期的划分:l 定义阶段: 制定计划需求分析和定义l 开 发阶段:软件设计程序编写软件测试l 维护阶段:运行/维护 11.列出软件生存期的几个主要模型? 1) 瀑布模

5、型2) 原型模型3) 螺旋模型4) 增量模型5) 构件组装模型6) 统一过程模型7) 第四代技 术 12.论述瀑布模型软件开发方法的基本过程? p11图1.4*定义阶段*开发阶段*维护阶段*计划需求分析 设计编码测试运行,维护 13.增量模型有什么特点? 1.任务或功能模块驱动,可以分阶段提交产品;2.有多个任务单,这些多个任务单的集合,构成 项目的一个总任务书(总用户需求报告)。 14.几种主要的软件开发方法? 1面向过程的方法2面向数据的方法3面向对象的方法 15.软件工程中的“五个面向”? 1) 面向流程分析、2) 面向数据设计、3) 面向对象实现、4) 面向功能测试、5) 面向过程管理

6、。 十校网十校网 提供最多、最全、最详细的课件答案、学习资料、免费信息提供最多、最全、最详细的课件答案、学习资料、免费信息 第2章软件策划 1.可行性分析的目的? 用最小的代价在尽可能短的时间内确定问题是否能够解决。 2.可行性分析最为敏感的方面是什么? 经济可行性这个系统的经济效益能超过它的开发成本吗?技术可行性现有技术能否实现该系 统?技术冒险的各种因素?例如有关的技术是否已进步到足以支持该系统?技术人员的熟练程 度?硬、软件资源是否按期得到?操作可行性系统的操作方式在这个用户组织内行得通吗? 法律可行性开发的软件项目是否侵犯他人的利益,是否违反法律,并由此承担法律责任。 3.可行性研究的

7、步骤有哪些? 、复查系统规模和目标(系统调研)、研究目前正在使用的系统(系统分析)、导出新系 统的高层逻辑模型(系统分析)、重新定义问题(模型评审)、导出和评价可供选择的解决 方案、推荐一个方案并说明理由、推荐行动方针、书写文档提交审查 4.软件计划的步骤有哪些? 1) 估计软件的规模及所需的资源;2) 制定时间表;3) 鉴别和评估风险;4) 约定与限制条件。 5.软件计划书的内容有哪些? 1) 软件范围2) 环境资源3) 进度安排4) 成本/效益分析 6.甘特图有哪些优点和缺点? 优点:它具有简单、醒目和便于编制等特点。能够动态反映软件项目开发进展的情况。缺点:难 以反映多个任务之间存在的复

8、杂的逻辑关系。 7.什么是网络计划法的关键事件与关键路径? 关键事件:最早完成时间与最迟完成时间相等的事件。关键路径:关键事件联结的各个活动所组 成的路线。 十校网十校网 提供最多、最全、最详细的课件答案、学习资料、免费信息提供最多、最全、最详细的课件答案、学习资料、免费信息 8.常用的成本估算方法有哪些? (1)基于代码行的成本估算方法 (2)任务分解成本估算 (3)经验统计估算模型参数方程动态多变量参数模型COCOMO模型(constructive Cost Model)自动估算工具 9.软件成本估算包括哪些内容? 工作产品规模估计工作量及成本估计关键资源的量化估计 10.项目活动和项目约

9、定计划指的是什么?活动指开发活动和管理活动;约定指各种规范、标准、 规则; 1) 规范是对过程和行为的约束;2) 标准是对产品的约束;3) 规则或规程是对操作的约束。 第3章需求分析1. 需求获取为什么难? 1.用户需求具有动态性(不稳定性)。2.用户需求具有模糊性(不准确性)。3.对需求达成一致的艰难 性。4.管理体制、机构设置处在变革中。5.软件书籍没有将需求分析讲清楚。 2.需求分析的重点 1.业务模型、2.功能模型、3.性能模型、4.接口模型。 3.需求分析的9项任务 1.画出目标系统的组织机构模型。 2.画出目标系统业务操作流程图。 3.画出目标系统的数据流图。 4.列出目标系统的功

10、能点列表,即功能模型。 5.列出系统的性能点列表,即性能模型。 6.列出目标系统的接口列表,即接口模型。 7.确定目标系统的运行环境,即环境模型。 十校网十校网 提供最多、最全、最详细的课件答案、学习资料、免费信息提供最多、最全、最详细的课件答案、学习资料、免费信息 8.目标系统的界面约定,即界面模型。 9.分析与评估开发工期、费用、进度、风险等。 4.需求分析的过程 1.问题识别、2.分析与综合、3.编制需求文档、4.需求分析评审。 5.获取需求的常用方法 1) 访谈:正式的和非正式的访谈 2) 问卷调查:问卷调查即把需要调查的内容制成表格交给用户 填写。该方法对需要调查大量人员的意见时,十

11、分有效。 3) 情景分析:情景分析就是对目标系 统解决某个具体问题的方法和结果,给出可能的情景描述,以获知用户的具体需求。4) 实地考察 5) 构造原型 6.需求分析的原则 1) 解决逻辑问题:需求分析是对问题的识别和说明,要回答“做什么”,而不是“怎么做”。 2) 以 运行环境为基础:需求分析工作应以具体的运行环境为基础,实事求是。3) 用户参与的原则:需 求分析工作是系统分析人员同用户不断交互的过程。 4) 构造高质量的需求规格说明:需求规格 说明是需求分析工作重要的完成标志。 7.需求分析的基本要求 理解问题的数据域和功能域、自顶向下、逐层分解、给出系统的逻辑视图和物理视图8.需 求分析

12、方法1) 面向数据流的分析方法2) 面向功能的分析方法3) 面向数据的Jackson方法4) 面 向对象的分析方法 第4章软件设计 1.软件设计的具体任务包括哪些内容? 1) 制定规范2) 结构设计3) 处理方式结构设计4) 数据结构及数据库设计5) 可靠性设计(质量设 计)6) 编写软件设计文档7) 设计审查和复审8) 详细设计 2.什么是数据的保护性设计? 防卫性设计:在软件设计中就插入自动检错,报错和纠错的功能 一致性设计: 在并发处理过程中使用封锁和解除封锁机制保持数据不被破坏 冗余性设计 十校网十校网 提供最多、最全、最详细的课件答案、学习资料、免费信息提供最多、最全、最详细的课件答

13、案、学习资料、免费信息 3.软件设计的目标是什么? 软件设计的最终目标是要取得最佳方案。即:节省开发费用、降低资源消耗、缩短开发时间、能 够赢得较高的生产效率、较高的可靠性和可维护性的方案。并且使开发软件满足以下特点:l 功 能、性能都符合指定的要求;l 软件是可维护的,可方便地进行修改 ;l 除了代码,还有一套配 置齐全的文档。 4.模块具有哪些基本属性? “模块”,又称“组件”。一般有四个基本属性l 功能:描述该模块做什么? 逻辑:描述模块内部怎么做? 状态:模块使用时的环境和条件。 接口:指模块的输入与输出。 5.什么是耦合?什么是内聚?如何增强模块的独立性? 耦合:各模块之间的互相连接

14、的紧密程度。模块之间的连接越紧密,联系越多,耦合性就越高, 而其独立性就越弱。 内聚:模块内各功能元素彼此结合的紧密程度。一个模块内部各个元素之间的联系越紧密,则它 的内聚性就越高,相对地,它与其它模块之间的耦合性就会减低,而模块独立性就越强。 增强模块独立性的方法是:高内聚、低耦合 6.模块化的特征有哪些? 抽象:用层次的方式构造和分析复杂系统。 逐步求精:帮助开发人员把精力集中在与当前开发阶段最相关的那些问题上。 信息隐蔽:如果一个模块内包含的信息(过程和数据) 不允许外部的模块访问的话,其它模块不能 对其访问。 局部化:把一些关系密切的软件元素物理地放得彼此靠近。 7.影响耦合度的因素有

15、哪些? 十校网十校网 提供最多、最全、最详细的课件答案、学习资料、免费信息提供最多、最全、最详细的课件答案、学习资料、免费信息 1) 连接方式的类型。2) 接口的复杂性。3) 传送的信息流的类型。4) 耦合的时间。 8.降低耦合度的方法有哪些? 1) 对于需要了解的内容,若是隐含的,应改为明显的,以便更容易理解;2) 连接的方式尽量标 准化,不要直接引用;3) 减少公共区,将公共区划分为若干个逻辑子区;4) 输入输出应局限在 少量模块,不要分散在全系统;5) 延迟耦合时间。 9.软件结构设计优化的准则是什么? 1. 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性。模块划分的准则:“将相

16、关的 各部分放在一起,无关的东西不要放在一起。” 2. 模块的大小要适中。3. 模块的接口要简单、清 晰、含义明确,便于理解,易于实现、易于测试和维护。4. 一个模块的作用范围应在其控制范围 之内,且判定所在的模块,应与受其影响的模块在层次上尽量靠近。5.软件结构的深度、宽度、 扇入、扇出应适当。6. 力求设计单入口和单出口的模块,避免“病态连接”,以防止内容耦合。 7. 设计功能可预测模块的划分,应防止功能过分局限。 10.结构化设计的优点是什么? 1) 减少设计复杂性。将大化小,使复杂问题简单化。2) 结构独立。将程序划分成多个相对独立 的模块。3) 模块功能单一化,可使软件设计获得最大的益处。4) 易于进行软件修改。5) 易于开 发和维护。6) 加强了代码的可重用性。 11.Jackson图的优点是什么? 1) 便于表示层次结构,是对结构进行自顶向下分解的有力工具;2) 形象直观,可读性好;3) Jack

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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