软件工程是一门涉及软件开发全过程的学科,它包括了从需求获取、设计、实现、测试到维护的各个阶段。本题涉及到的知识点主要涵盖以下几个方面:
1. 软件生命周期模型:瀑布模型是经典的软件开发模型,将软件生命周期分为问题定义、可行性研究、需求分析、系统设计、详细设计、编码、测试和运行、维护八个阶段。这些阶段可以分为方案阶段(问题定义、可行性研究)、开发阶段(需求分析、设计、编码)和运行阶段(测试、运行、维护)。选择题第1题提到的空白处应填写“运行阶段”。
2. 需求分析的重要性:在瀑布模型中,需求分析阶段定义的标准成为后续系统测试的目标。选择题第2题的答案是“需求分析阶段”。
3. 软件危机与软件工程:软件工程的出现是为了解决软件危机,即软件开发的高成本、低质量和难以维护的问题。选择题第3题的答案是“软件危机的出现”。
4. 软件开发方法:构造化方法和原型化方法是常见的两种基本方法,它们可以相互补充,不是互相排斥的。选择题第5题的答案是“相互补充”。
5. UML(统一建模语言):UML主要用于基于对象的面向对象的软件开发方法,如选择题第6题所述。
6. 软件开发的难度:原型化方法对软件设计和开发人员的要求最高,因为它允许快速迭代和适应变化。选择题第7题的答案是“原型化法”。
7. 构造化分析法:该方法强调分析对象的数据流,而非控制流。选择题第9题的答案是“数据流”。
8. 软件生命周期阶段:软件开发的构造化生命周期法将软件生命周期划分为方案阶段、开发阶段和运行阶段。选择题第10题的答案是“编码阶段”。
9. 面向对象方法的生存期模型:喷泉模型适合于面向对象的软件开发,选择题第11题的答案是“喷泉模型”。
10. 需求分析的重要性:在瀑布模型中,需求分析阶段出错对软件的影响最大。选择题第12题的答案是“需求分析阶段”。
11. 数据规范化:在多数情况下,数据规范化选择第三范式(3NF)。选择题第13题的答案是“3”。
12. 可行性分析的目的:可行性分析研究是为了判断项目是否值得开发。选择题第14题的答案是“工程值得开发否”。
13. 模块聚性:功能聚是最高的聚性类型,意味着模块的功能集中且单一。选择题第15题的答案是“功能聚”。
14. 软件危机:开发软件的高成本和低质量之间的矛盾被称为软件危机。选择题第16题的答案是“软件危机”。
15. 需求分析任务:需求分析阶段的任务是确定软件系统应有的功能。选择题第17题的答案是“软件系统的功能”。
16. 软件结构表示:通常使用HIPO图来表示完整的软件结构。选择题第18题的答案是“HIPO图”。
17. 测试用例覆盖标准:语句覆盖是最弱的覆盖标准,意味着每个语句至少被执行一次。选择题第19题的答案是“语句”。
18. 瀑布模型别名:由于其特征,软件开发常采用的构造化生命周期法通常被称为瀑布模型。选择题第20题的答案是“瀑布模型”。
以上内容涵盖了软件工程的一些核心概念和实践,包括软件生命周期模型、软件开发方法、需求分析、设计、测试以及维护等多个方面。这些知识点对于理解和实践软件工程至关重要。