- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]软件工程导论
第一章:软件工程学概述
一.选择题
解答:
二.判断题
1. 1. 瀑布模型的存在问题是缺乏灵活性。(√ )
2. 2. 软件是一种逻辑产品。( √)
3. 3. 软件工程学科出现的主要原因是程序设计方法学的影响。(× )
4. 4. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为文档。(√ )
5. 5. CASE开放式工作台或者提供控制集成机制,或者可剪裁,其数据集成或协议是独立的
。(× )
6. 6. 在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是
版本控制工具。(√ )
7. 7. 平台集成是指工具运行在相同的硬件/操作系统平台上。(√ )
8. 8. 软件生存周期模型有多种,功能模型是软件生存周期模型。(× )
9. 9. 从结构化的瀑布模型看,在软件生命周期中得8个阶段中,详细设计阶段出错,对软
件的影响最大。( ×)
10. 10. 软件生存周期中时间最长的阶段是需求分析阶段。(× )
11. 11. 软件开发的结构化生命周期方法将软件生命周期划分成需求分析、功能定义、系统
设计。( ×)
12. 12. 增量模型是一种整体开发模型。(× )
13. 13. 构造模型时,主要考虑全部功能。(× )
14. 14. 瀑布模型本质上是一种线性迭代模型。(× )
15. 15. 快速原型思想是在研究概要设计阶段的方法和技术中产生的。(× )
三.名词解释
1. 1. 软件工程;
2. 2. 软件生命周期模型;
解答:
1. 软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。
2. 软件生命周期模型是描述软件开发过程中各种活动如何执行的模型。
四.简答题
1. 1. 请简要说明可行性分析的内容。
2. 2. 请写出六种软件CASE工具。
3. 3. 什么是软件工程?软件工程的目标是什么?
4. 4. 什么是结构化分析方法?该方法使用什么描述工具?
5. 5. 软件设计的基本原理包括什么?
6. 6. 简述容错技术的四种主要手段,并解释
7. 7. 软件生命周期划分成哪些阶段
8. 8. 简要说明软件危机产生的原因
9. 9. CMM全称是什么?分为哪几个级别?
解答:
1. 技术可行性:技术分析说明使用现有系统是否能完成本系统的开发。
经济可行性:经济分析应着重两个因素“成本和收益”,应向管理层提供有关这两方面
足够的信息。如果项目的收益大于成本,则此项目可以说是经济上可行。
操作可行性:系统的操作方式是否能够在组织内得到认同,是否违背有关法律、制度、
道德、文化等因素。
2. (1)Power Designer(分析设计工具或软件建模工具),(2)Rational Rose(分析设
计工具或软件建模工具),(3)Win Runner(测试工具),(4)MS Project(项目管理工
具),(5)MS Visio(软件开发绘图工具)、(6)VSS(软件配置工具)。
3. 软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程
,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。
目标:
1 合理预算开发成本,付出较低的开发费用、2 实现预期的软件功能,达到较好的软件
性能,满足用户的需求、3 提高软件的可维护性,降低维护费用、4 提高软件开发生产率,
及时交付使用。
4. 结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据
流向和对数据的加工处理。结构化分析方法用抽象模型的概念,按照软件内部数据传递、变
换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止
描述工具:1系统流程图 2 数据流程图3数据字典4 IPO图 5层次方框图6实体—关系图
7状态—变迁图。
5. ① 模块化:指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每
个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系
统所要求的功能。模块化是软件解决复杂问题所具备的手段。
② 抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不
考虑它的细节,不考虑其他因素。软件工程中每一步都是对软件解决方法的抽象层次的一次
细化。
③ 信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对
于不需要这些信息的其他模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块
的过程细节和局部数据结构的存取限制。
④ 模块独立性。指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最
少且接口简单。衡量模块独立性有两个标准耦合性和内聚性,可判断设计方案的优劣。
6. 结构冗余:包括静态冗余、动态冗余和混合冗余。
文档评论(0)