系统分析与设计(一)

软件工程的定义

软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

解释导致 software crisis 本质原因、表现,述说克服软件危机的方法
  • 本质原因
    软件危机是由于计算机能力的迅速增加以及无法解决的问题的复杂性。随着软件复杂性的增加,出现了许多软件问题,因为现有方法不足。
  • 表现
  1. 软件开发进度难以预测
  2. 软件开发成本难以控制
  3. 用户对产品功能难以满足
  4. 软件产品质量无法保证
  5. 软件产品难以维护
  6. 软件缺少适当的文档资料
  • 克服软件危机的方法
    软件工程诞生于60年代末期,它作为一个新兴的工程学科,主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本 、改进软件产品质量、提高软件生产率水平的目标。软件工程学从硬件工程和其他人类工程中吸收了许多成功的经验,明确提出了软件生命周期的模型,发展了许多软件开发与维护阶段适用的技术和方法,并应用于软件工程实践,取得良好的效果。
软件生命周期

软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。通常分为问题定义、可行性研究、需求分析、开发阶段、维护几个阶段。

SWEBoK 的 15 个知识域
  1. 软件需求
    软件需求知识领域涉及软件需求的引出、协商、分析、规范和确认。
  2. 软件设计
    设计被定义为定义系统或组件的体系结构、组件、接口和其他特性的过程,以及过程的结果。
  3. 软件构造
    软件构建是指通过详细设计、编码、单元测试、集成测试、调试和验证的组合来详细创建工作软件。
  4. 软件测试
    测试是一项评估产品质量并通过识别缺陷来改进产品质量的活动。
  5. 软件维护
    软件维护包括增强现有的能力,使软件适应新的和修改过的操作环境,以及纠正缺陷。
  6. 软件配置管理
    系统的配置是硬件、固件、软件的功能和/或物理特性,或这些特性的组合。
  7. 软件工程管理
    软件工程管理包括计划、协调、测量、报告和控制项目或程序,以确保软件的开发和维护是系统的、有纪律的和量化的。
  8. 软件工程过程
    软件工程知识领域涉及软件生命周期过程的定义、实现、评估、测量、管理和改进。
  9. 软件工程工具和方法
    软件工程模型和方法知识领域描述了包含多个生命周期阶段的方法;特定于特定生命周期阶段的方法由其他知识领域涵盖。
  10. 软件质量
    软件质量是一个普遍存在的软件生命周期问题,在许多SWEBoK v3 知识领域中都有解决。
  11. 软件工程职业实践
    软件工程专业实践涉及软件工程师以专业、负责和道德的方式实践软件工程所必须具备的知识、技能和态度。
  12. 软件工程经济学
    软件工程经济学知识领域关注于在业务环境中做出决策,以使技术决策与组织的业务目标保持一致。
  13. 计算基础
    知识领域计算基础涵盖了为软件工程实践提供必要计算背景的基本主题。
  14. 数学基础
    数学基础知识领域涵盖了为软件工程实践提供必要数学背景的基本主题。
  15. 工程基础
    工程基础知识领域涵盖了为软件工程实践提供必要工程背景的基本主题。
简单解释 CMMI 的五个级别。
  1. 初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
  2. 可管理级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
  3. 已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
  4. 量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
  5. 优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
用自己语言简述 SWEBok 或 CMMI

CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。

你可能感兴趣的:(学校作业)