系统分析与设计作业(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cbb944131226/article/details/88886370

系统分析与设计第一次作业

1.软件工程的定义

Software engineering is “(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software,” and “(2) the study of approaches as in (1).” –– IEEE Standard 610.12

根据 IEEE标准610.12 的定义,软件工程是:

(1) 对软件开发、操作和维护的系统化、规范化、可量化方法的应用,即软件在工程上的应用

(2) 对(1)过程中方法的研究


2.解释导致 software crisis 本质原因、表现,述说克服软件危机的方法

软件危机产生的本质原因:

软件危机产生的本质原因是:

  • 软件处理的问题越来越广、越来越复杂,软件规模日益复杂和庞大。

客观原因有:

  • 用户对软件需求的描述不精确 。
  • 软件的规模越来越大,结构越来越复杂。
  • 软件开发管理困难而复杂。
  • 软件开发费用不断增加。
  • 软件开发技术落后,生产方式落后。
  • 开发工具落后,生产率提高缓慢。

软件危机表现:

  • 经费预算经常突破,完成时间一再拖延。
  • 开发的软件不通满足用户要求。
  • 开发的软件可维护性差。
  • 开发的软件可靠性差。

客服软件危机方法:

  • 研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,用理论指导和支持软件系统的生产活动。
  • 研制和使用软件工具,用以辅助进行软件项目管理与技术生产,将软件生命周期各阶段使用的软件工具有机地集合成为一个整体 。
  • 软件标准化与可重用性,避免重用劳动,缓解软件危机。

3.软件生命周期

概念:

  • 软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期

阶段:

  1. 问题定义
  2. 可行性分析
  3. 需求分析
  4. 开发阶段
    • 概要设计
    • 详细设计
    • 实现
    • 测试
  5. 维护
    • 改正性维护
    • 适应性维护
    • 完善性维护
    • 预防性维护

4.SWEBoK 的 15 个知识域(An Overview of the SWEBOK Guide 请中文翻译其名称与简短说明)

  1. 软件需求

    软件需求知识领域涉及软件需求的引出、协商、分析、规范和确认。

  2. 软件设计

    设计被定义为定义系统或组件的体系结构、组件、接口和其他特性的过程,以及过程的结果。

  3. 软件构造

    软件构建是指通过详细设计、编码、单元测试、集成测试、调试和验证的组合来详细创建工作软件。

  4. 软件测试

    测试是一项评估产品质量并通过识别缺陷来改进产品质量的活动。

  5. 软件维护

    软件维护包括增强现有的能力,使软件适应新的和修改过的操作环境,以及纠正缺陷。

  6. 软件配置管理

    系统的配置是硬件、固件、软件的功能和/或物理特性,或这些特性的组合。

  7. 软件工程管理

    软件工程管理包括计划、协调、测量、报告和控制项目或程序,以确保软件的开发和维护是系统的、有纪律的和量化的。

  8. 软件工程过程

    软件工程知识领域涉及软件生命周期过程的定义、实现、评估、测量、管理和改进。

  9. 软件工程工具和方法

    软件工程模型和方法知识领域描述了包含多个生命周期阶段的方法;特定于特定生命周期阶段的方法由其他知识领域涵盖。

  10. 软件质量

    软件质量是一个普遍存在的软件生命周期问题,在许多SWEBoK v3 知识领域中都有解决。

  11. 软件工程职业实践

    软件工程专业实践涉及软件工程师以专业、负责和道德的方式实践软件工程所必须具备的知识、技能和态度。

  12. 软件工程经济学

    软件工程经济学知识领域关注于在业务环境中做出决策,以使技术决策与组织的业务目标保持一致。

  13. 计算基础

    知识领域计算基础涵盖了为软件工程实践提供必要计算背景的基本主题。

  14. 数学基础

    数学基础知识领域涵盖了为软件工程实践提供必要数学背景的基本主题。

  15. 工程基础

    工程基础知识领域涵盖了为软件工程实践提供必要工程背景的基本主题。


5.简单解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。

CMMI概念:

CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型)

CMMI五个级别:

  1. 初始级

    软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。

  2. 已管理级

    建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。

  3. 已定义级

已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。

  1. 量化管理级

    分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。

  2. 优化管理级

    过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。


6.用自己语言简述 SWEBok 或 CMMI (约200字)

CMMI是一个能力成熟度集成模型,是一套融合多学科的、可扩充的产品集合,其目的是帮助软件企业对软件工程进行管理和改进,增强开发和改进能力,从而能按时地、不超预算地开发出高质量的软件。

CMMI的基本思想是

  1. 解决软件项目过程改进难度增大问题
  2. 实现软件工程的并行与多学科组合
  3. 实现过程改进的最佳效益

CMMI分成初始级、已管理级、已定义级、量化管理级、优化管理级五个级别,用来评估一个软件企业的成熟度,从而企业可以自定位从而实现自身的持续改进。而对于五级企业,要提高生产力还有三方面的途径:

  1. 改进过程,使现有过程更强更有效
  2. 引入新技术,提高生产力
  3. 对工作中出现的问题进行原因分析,避免再次出现

猜你喜欢

转载自blog.csdn.net/cbb944131226/article/details/88886370