Q: 软件工程的定义
A: ①软件工程是把系统化、规范化、可度量的方法用在软件开发、运行和维护上。
②是对①中的方法的研究。
Q: 解释导致 software crisis 本质原因、表现,述说克服软件危机的方法
A:
- 本质原因:硬件的快速发展使得程序员很难写出能够充分利用硬件性能的软件。
- 表现:
①项目费用超过预算资金。
②项目超过预定时间未完成。
③软件性能低下。
④软件质量差。
⑤软件与需求不符。
⑥项目无法管理以及代码维护困难。
⑦软件无法交付。
- 克服软件危机的方法:
①正确认识计算机软件的内涵。
②采用工程项目管理方法进行软件开发的组织管理。
③采用成熟的软件开发技术和方法,开发和使用适当的软件工具。
Q:软件生命周期
A: 软件生命周期包括计划、需求分析、设计、实现、测试、维护几个阶段。
Q: SWEBoK 的 15 个知识域(An Overview of the SWEBOK Guide 请中文翻译其名称与简短说明)
A:
- 软件需求 : 主要包括软件需求的引出、谈判、分析、规范化以及验证。
- 软件设计 : 设计被定义为定义系统或组件的体系结构、组件、接口和其他特征的过程,以及该过程的结果。
- 软件实现 : 是指通过详细设计、编码、单元测试、集成测试、调试和验证相结合,对工作软件进行详细创建。
- 软件测试:对产品质量进行评估并通过识别缺陷来改进产品质量的活动。
- 软件维护 : 包括增强现有的功能,使软件适应新的和修改的操作环境,以及纠正缺陷。
- 软件配置管理:是硬件、固件、软件或它们的组合的功能和/或物理特征。
- 软件工程管理:软件工程管理包括计划、协调、测量、报告和控制一个项目或程序,以确保软件的开发和维护是系统的、有纪律的和量化的。
- 软件工程过程:涉及软件生命周期过程的定义、实现、评估、度量、管理和改进。
- 软件模型和方法:解决了包含多个生命周期阶段的方法;针对特定生命周期阶段的方法由其他知识域覆盖。
- 软件质量:包括软件质量的基础(软件工程文化、软件质量特征、软件质量的价值和成本、软件质量改进);软件质量管理过程(软件质量保证、验证和验证、评审和审计);以及实际的考虑(缺陷特性、软件质量度量和软件质量工具)。
- 软件工程专业实践:是指软件工程师必须具备的知识、技能和态度,以一种专业、负责和道德的方式来实践软件工程。
- 软件工程经济学:关注于在业务上下文中做出决策,以使技术决策与组织的业务目标保持一致。
- 计算机基础:涵盖了为软件工程实践提供必要的计算背景的基本主题。
- 数学基础:涵盖了为软件工程实践提供必要数学背景的基本主题。
- 工程基础: 包括实证方法和实验技术;统计分析;测量和度量;工程设计;仿真和建模;以及根本原因分析。
Q: 简单解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
A:
- Level 1 - Initial : 过程无序,控制不良,反应迟钝。
- Level 2 - Managed : 特征随项目变化,通常有反应。
- Level 3 - Defined : 按照组织特征化过程,是积极主动的。
- Level 4 - Quantivitatively Managed : 过程度量和控制。
- Level 5 - Optimizing : 集中注意力进行过程提升。
Q: 用自己语言简述 SWEBok 或 CMMI (约200字)
A:
SWEBok即软件工程知识体系,包含了所有软件工程的知识。它非常详细的从实践和教育需求两个角度15个方面来说明软件工程的知识,每一个方面都有它的标准。这给了想从事软件工程的人一个非常明确的指导,使得这些人非常清楚自己从事这个行业需要掌握哪些技能,同时社会也可以用这个体系来衡量一个软件工程人员,看他对这些知识的掌握到了什么程度,按照他的掌握程度来发放证书,方便相关企业录用人才。同时该知识体系也为软件工程划清了一个界限。