【软件工程】期末复习题集1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试时间: 16周周一5,6节
考试地点: 二教419 406 408
考试题型:
选择题:20分
简答题:30分
应用题:50分
各章容及题型总结:
第1,2章本章的主要题型是选择题和简答题。
1. 软件危机的主要表现是什么?答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。
2. 软件工程的定义?答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。
IEEE的定义:软件工程是①将系统化的、规的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。
3. 软件工程研究的主要容是什么?答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。
4. 软件工程的7条基本原理是什么?答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。
5. 什么是软件生命周期?答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的
生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。
6. 软件过程的定义?答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。
7. 你能举出几个典型的软件过程模型吗?答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。
8. 目前,主流的软件开发方法有哪些?答:结构化方法和面向对象方法。
9. 软件工程师职业道德规的8组关键词是什么?1999年由ACM/IEEE-CS软件工程师道德规和职业实践(SEEPP)联合工作组制订了《软件工程师职业道德规》,规含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。
10. 职业化软件工程师要注意的十大问题是什么?答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。
第3章本章的题型主要是选择题。
1. 可行性研究的目的是什么?答:用最小的代价在尽可能短的时间确定问题是否能够解决。
2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。
3. 可行性研究的实质:是要进行一次简化了的系统分析和设计过程。首先要分析和澄清问题定义,导出系统的逻辑模型,探索若可供选择的方案,对每种方案仔细研究它的可行性。推荐一个较好的解决方案和一个初步的计划。
第4,5章本章的题型有选择题。
2. 什么是需求工程?需求工程是指应用有效的技术和方法进行需求分析,确定客户需求,帮助分析人员理解问题,定义目标系统的外部特征的一门学科。需求工程中的主要活动有:需求获取、需求分析、需求规格说明、需求验证和需求变更管理。
3. 软件需求可分解为四个层次:业务需求、用户需求、功能需求和非功能需求。
4. 数据流程图是描绘系统逻辑模型的图形工具,只描绘信息在系统中的流动和处理情况,不反映系统中的物理部件,数据流程图使用四个标准符号。
5. 数据字典主要用来描述数据流程图中的数据流、数据存储、处理过程和外部实体。数据字典中所有的定义必须是严密的、精确的、无二义性的。
6. 结构化分析的步骤:根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图),实体关系用E-R图描述。以初始数据流程图为基础进行回溯,完善初始的数据流程图。对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。以数据流程图为核心,辅以数据字典和处理说明,将整个软件的功能要求、数据要求和运行要求和扩展要求逐一确认。画出软件功能结构图。修正开发计划。编写需求规格说明书和初始的用户手册。
7. 需求规格说明书的主要容:软件功能说明,软件性能要求、设计限制、外部接口要求。
第6章包括选择题和应用题。
1. 软件设计的主要原则:模块独立性和信息隐藏。
2. 反映模块独立性有两个标准:聚和耦合。聚衡量一个模块部各个元素彼此结合的紧密程度,耦合衡量模块之间彼此依赖的程度。
3. 信息隐藏的核心容是:一个模块中所包含的信息,不允许其他不需要这些信息的模块访问。
4. 结构化设计是基于模块化的、自顶向下、逐步求精等概念上的设计方法。
5. 结构化设计方法的步骤:首先分析数据流的类型,将数据流程图映射为程序结构图,用“因子分解”方法定义软件的层次结构,优化设计结构。
6.应用题:画判定表
第7章本章主要是选择题。
1结构化方法存在的主要问题:①分析阶段的主要模型是数据流模型,设计阶段的主要模型是软件模块结构,数据流程图和软件模块结构图之间需要进行转换,转换有一定的随意性。②功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。③结构化设计将数据定义与处理数据的过程相分离,不利于软件复用。
2. 什么是类?答:类是具有相同属性和相同行为的对象集合。对象是类的一个实例。对象之间通过发送消息相互通信。
3. 类封装了属性和方法,封装隐藏了对象部的处理细节。通过继承,子类拥有父类的所有属性和方法,并可以在继承父类的基础上进行扩展,添加新属性和方法;也可以改写父类的方法。通过多态技术使同一操作作用于不同类的实例时,产生不同的执行结果。
4. UML是一种标准的图形化建模语言,它是面向对象分析与设计方法的表现手段。其本质表现是:它是一种可视化的建模语言,不是可视化的程序设计语言,不是工具或知识库的规格说明,不是过程,也不是方法,但允许任何一种过程和方法使用它。
5. UML提供了5种视图(用例视图、逻辑视图、组件视图、并发视图和配置视图)
6. UML有9种图(用例图、类图、对象图、状态图、顺序图、合作图、活动图、组件图、配置图)可以描述任何复杂的系统。
第8章本章包括选择题和应用题。
1. 向对象分析和设计用到的三个容:一套完善的建模符号、一系列有效的分析步骤和一个方便易用的建模工具。
2. 面向对象的分析模型由功能模型、对象模型和动态模型三部分组成。
3. 功能模型由用例图和顺序图表示,对象模型由类图和对象图表示,动态模型由活动图、状态图和顺序图表示。
4. 在分析对象模型中,分析类是概念层次上的容,分为实体类、边界类和控制类三种类型。
5. 应用题:给出一段需求描述,要求画出用例图和类图。