软件工程期末考试资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程
第一章:
1.软件的组成不仅是程序、数据和文档,而且还有完成一定功能和性能所蕴含
的知识和经验。
2.领域知识是基于计算机的系统的设计、软件需求获取和系统测试不可或缺的。
3.软件发展的历史给我们的启发是社会需求和硬件进步是软件技术发展的基
础。
4.软件的进步和成就促进了信息社会和知识经济的发展。
5.按照应用领域、基本属性和特点研究软件有助于对软件的理解,提高了软件
开发、使用和维护的针对性。
6.软件工程学科具有鲜明的工程特性。
第二章:
1.面向对象方法是现代软件工程技术体系的基石,它以分类、继承、聚合、封装、多态和消息传递等贴近人类思维习惯的概念。
2.因面向对象与生俱来的自然性、直观性,以及支持软件复用、改善软件结构等许多优势,面向对象方法后来居上,迅速取代结构化方法而成为当前主流的软件开发方法学。
3.UML通过图形化的表示机制从多个侧面表示软件系统的分析和设计模型。
4.UML定义了5类图形机制:用例视图,包括用例描述和用例图;结构视图,包括视图,包括包图、类图和对象图;行为视图,包括交互图、状态图与活动图;构件视图和部署视图。
5.RUP将软件生存周期(即软件制品的进化状态)划分为初始、细化、构造、移交、生产5个阶段。
6.RUP将软件开发过程分解为业务建模、需求、设计、实现、V&V、部署、配置和变更管理、项目管理、环境9个工作流。
7.软件项目团队可利用5个阶段、9个工作流组织管理软件项目的开发活动。RUP 过程中生成的各类制品通常以UML表示。
8.软件开发过程是基于面向对象方法学的,包括需求获取、需求分析、体系结构设计、人机交互设计、详细设计、实现、测试、维护与进化等重要的软件开发阶段。
第三章:
1.软件需求是指利益相关方对目标软件系统在功能、性能和质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的约束。
2.软件需求可划分为功能需求、质量需求和约束性需求3种类型,其中质量需求和约束性需求统称为非功能需求。
3.软件需求的质量要素包括正确性、完全性和可行性。
4.需求调查包括:访谈和会议、调查问卷、业务文档分析、现场观摩。
5.需求建模包括:抽象、分解和多视点分析。
6.需求模型包括:策划、需求获取、需求分析、需求规范化、需求验证和总结等活动。
7.对大中型软件项目以及初期初期需求不明朗的软件项目,需求工程过程采用迭
代方式。
第四章
1.需求获取是需求工程中后续活动的基础,需求工程又是后续软件开发活动的基
础。需求获取对于软件项目的成就具有决定性影响。
2.UML的用例、用例图、类图、活动图等是记录、表示需求获取结果的合适工
具。用例驱动的过程模型可用于知道需求获取活动。
3.用例驱动的过程模型包括4大步骤:定义软件问题、创建框架用例、精化用例、
评审用例模型。
4.需求获取阶段的主要输出制品包括经评审通过的软件问题定义、领域概念模
型、业务流程模型、用例模型、业务规则和非功能需求说明。
第五章
1.需求分析的主要工作是对需求获取阶段得到的需求模型进行需求项的优先级
分析、基于用例模型构建以分析类图和交互图为主题的分析模型。
2.相对于需求获取阶段获得的用例模型,分析模型更加精确、全面、完整,业务
逻辑线索更加鲜明,从而为软件设计和实现奠定了更好的基础,提供了更多的支持。
3.用例驱动的过程模型可用于指导需求分析活动,该过程包含的三大步骤:需求
优先级分析、用例分析、分析模型评审。
4.需求分析阶段的主要输出制品为需求规约,其主体内容是软件需求的用例模
型、分析模型及非功能需求的描述。
5.需求分析过程中,软件质量保证工程师应当并行地检查、审查需求分析的过程
和输出制品,以便及时发现过程与输出制品中可能存在的质量缺陷。
第六章
1.软甲设计的主要任务是根据软件需求模型导出软件的实现方案,这种方案表现
为设计模型。
2.典型的软件设计模型一般包括体系结构模型、用户界面模型、用例设计模型、
数据模型、子系统/构件/类设计模型。
3.设计模型的质量要素包括正确性、充分性、优化性和简单性4方面。
4.为了获得高质量的设计模型,软件设计必须遵循一些基本的设计原则,包括抽
象与逐步求精、强内聚及松耦合、信息隐藏和关注点分离原则。
5.为了获得高质量的需求模型,软件设计还必须遵循系统化的过程模型,它通常
包括策划、体系结构设计、人机交互设计、详细设计和总结等活动。
第七章
1.软件体系结构从高层抽象的角度刻画组成目标软件系统的设计元素以及它们
之间的逻辑关联。
2.按照自顶下向、逐步求精的设计原则,软件设计往往始于体系结构设计,其设
计成果构成后续的详细设计和软件实现的主要工作基础。
3.与详细设计相比,体系结构设计对灵活性、可修改性、可扩充性等质量需求的
影响是全局性的、决定性的。
4.一个完整的软件体系结构通常包含逻辑视图、开发视图、物理视图、运行视图
和数据视图。
5.用于表示体系结构的逻辑视图的UML图形机制主要是包图和构件图,有时还
辅以类图;开发视图的表示可能会用到UML包图;物理视图显然应表示为UML部署图;运行视图通常表示为UML 活动图,有时还辅以对象图;数据视图一般表示为UML类图或实体——关系图。
6.软件体系结构的设计过程一般那依序包括概念设计、精化和验证。
第八章
1.软件产品其成败最终取决于用户的满意程度。
2.在软件设计,尤其是用户界面设计的过程中,遵循以用户为中心的设计理念是
至关重要的。
3.以用户为中心的理念包括:对用户特征的研究和理解应该作为软件设计决策的
主要依据,在软件开发的各个阶段尽可能获得来自用户的反馈并利用用户反馈改进或优化设计。
4.基于以用户为总新的设计理念,软件产品的用户界面设计必须遵循易理解性、
易操作性、灵敏性、一致性、容错性、人性化等原则。
5.用户界面的设计过程主要包括用户及任务分析、概念设计、界面流设计和界面
精化。
6.在界面设计的整个过程中均必须给予用户分析的成果进行设计决策,这是提高
用户满意度的关键之一。
第九章
1.详细设计是软件体系结构与软件实现之间的桥梁,是确保体系结构设计成果得
以落地的关键环节。
2.详细设计主要任务是对体系结构模型和界面设计模型进行细化和精化,最终获
得高质量的详细设计模型。
3.详细设计模型的主要质量要素包括正确性、优化性和设计充分性。
4、一个完整的详细设计过程通常包括用例设计、子系统设计、构件设计、类设
计、数据模型设计、设计整合和设计验证等活动。
5.用例设计的目标是确保体系结构模型、界面设计模型与需求工程阶段获得的用
例模型的符合型。
6.用例设计的关键步骤包括:针对每个用例给出以UML交互图表示的软件实现
方案,据此构造设计类图,从全局和整体的高度整合所有的用例实现方案7.子系统设计的任务是确定子系统内部的结构。
8.子系统设计的关键步骤包括:确立子系统内部的设计元素并将子系统的服务提供接口中规定的职责分配给这些设计元素,构造子系统的设计类图,必要时构造子系统的状态图和相关的状态图。
9.构件设计与子系统设计非常类似,但是构件设计非常强调接口与实现相分离、
为复用而设计。
10.类设计的任务是对体系结构模型中出现的关键设计类,以及界面设计模型、
子系统设计模型和构件设计模型中出现的类进行细化设计。
11.类设计的关键步骤包括:精化类之间的关系,精化类的操作和属性,必要时
构造类的典型对象的状态图和与类相关的活动图。
12.数据模型设计的任务是确定设计模型中需要持久保存的数据条目。
13.数据模型的关键步骤包括:确定设计模型中需要持久保存的类的对象及其属
性,确定持久数据的组织方式,确定数据模型中的操作行为,通过合适的索引、反规范化等手段优化持久数据操作的性能。
14.设计整合的任务是整合前面获得的所有设计模型,检查并消解它们之间的不
一致性,剔除冗余性,最终形成正式的设计规约。