Software System Analysis and Design Assignment 1

系统分析 第一次作业

熊永琦 16340258

简答题

  • 软件工程的定义

    软件工程是一个系统的,可控的,有质量保证的开发、操作和维护软件的方法的应用,即对于软件的工程学的应用和对其方法的研究。

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

    软件危机(Software Crisis)是指计算机发展所导致的软件危机,是计算力增长的情况下,编程方法论落后所带来的软件开发、操作和维护危机。其本质原因是随算力高速增长的软件需求和落后的软件生产方式不匹配。

    它表现为:

    1. 软件项目超预算运作
    2. 软件项目超时限运作
    3. 软件产品运行低效
    4. 软件产品质量低下
    5. 软件产品时常不符合客户要求
    6. 软件项目管理困难,难以维护
    7. 软件产品从不被交付

    要解决软件危机,需要开发更为先进的软件生产方法(如函数式、面向对象编程)和项目管理办法(如敏捷开发、螺旋式开发)来提升软件质量管理能力。总的来说,就是要开发和应用更先进的软件工程方法。

  • 软件生命周期

    软件生命周期(Software Life Cycle),是在软件工程学中用于描述软件计划、创建、测试、部署的过程的模型。它在时间维度上对软件项目任务进行了划分。其旨在基于用户需求,生产高质量的系统来满足甚至超过客户的需求。

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

    • Software Requirements 软件要求

      软件要求知识域包含发掘需求、协商、分析、特化和软件要求的验证。

    • Software Design 软件设计

      软件设计知识域包含架构、组件、接口和系统或部件的其他特点的设计过程以及设计过程的结果。

    • Software Construction 软件构造

      软件构造指的是通过细节设计、编码、单元测试、整合测试、调试和验证的结合来进行软件产品的细节创建中的一切过程。其知识域包含软件构造基础,管理软件构造,构造技术,

    • Software Testing 软件测试

      软件测试是为了验证产品质量并且通过指出缺陷来增进软件质量的活动。这包含了通过一组有限的测试样例来验证程序是否按预期行为运行。其知识域包含软件测试、测试技术、人机交互测试和验证、测试相关的度量,和实际操作中的注意事项。

    • Software Maintenance 软件维护

      软件维护知识域包含软件维护基础(即维护的性质和需求,维护的领域和考校),软件维护的关键问题(包括技术问题、管理文问题和维护开销估计和软件维护度量),维护过程,维护技术(包含程序理解、重构、反向工程、淘汰、重调),灾难性恢复技术和维护工具。

    • Software Configuration Management 软件配置管理

      软件配置管理知识域包含对于软件配置管理过程的管理,软件配置的识别、控制、状态审计、软件发布管理和交付,以及软件配置管理工具。

    • Software Engineering Management 软件工程管理

      软件工程管理知识域包含初始化、作用域管理(决定和协商要求,可行性分析,对于要求的审查和重阅)、软件项目实施(估测、报告、控制、上下游合同管理)、产品接收、审查和分析向性能、项目必报和软件管理工具。

    • Software Engineering Process 软件工程过程

      软件工程过程知识域包括定义、实现、估计、评估、管理和改进软件生命周期过程。

    • Software Engineering Models and Methods 软件工程模型和方法

      软件工程模型和方法知识域指明了包含多个生命周期阶段的方法、用于特定生命周期阶段的方法由其他知识域来涵盖。

    • Software Quality 软件质量

      软件质量知识域包含软件质量基础(软件工程文化、软件质量特点、软件质量的价值和消耗、改良软件质量)、软件质量管理过程(软件质量确保、验证和有效性检验、评估和审计)、实际操作中的注意事项(缺陷描述、软件质量评估、软件质量工具)。

    • Software Engineering Professional Practice 软件工程专业实践

      软件工程专业实践知识域包含专业性知识(专业结论、专业社群、软件工程标准、雇员合同以及法律问题)、道德条律、开发小组动力(团队合作、认知问题复杂度、与股东进行互动、解决不确定性和歧义、解决多文化环境)以及社交技能。

    • Software Engineering Economics 软件工程经济

      软件工程经济知识域关心如何在商业语境下做出决定来使组织内技术决定与商业目标达成一致。

    • Computing Foundations 计算机基础

      计算基础知识域包含一些提供软件工程实践所必须的计算机基础相关的主题。

    • Mathematical Foundations 数学基础

      计算基础知识域包含一些提供软件工程实践所必须的数学基础相关的主题。

    • Engineering Foundations 工程学基础

      计算基础知识域包含一些提供软件工程实践所必须的工程学基础相关的主题。

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

    1. Level 1 - Initial:没有可预知的生产过程,缺乏控制和应变能力
    2. Level 2 - Managed:生产过程为每个项目特制,一般有一定的应变能力。
    3. Level 3 - Defined:生产过程为组织所定制,并且积极主动。
    4. Level 4 - Quantitatively Managed:生产过程可测度(预知)且可控。
    5. Level 5 - Optimizing:生产专注于过程优化。
  • 用自己语言简述 SWEBok 或 CMMI (约200字)

    CMMI,即 Capability Maturity Model Integration,是一个由 CMU 软件工程协会下小组开发的,过程级别的优化训练和评估程序。它提供了开发和改进满足组织商业需求的开发过程的建立与改善的指导。一个 CMMI 模型也可被用作评估组织生产流程成熟程度的框架。CMMI 模型由五个级别构成:Initial、Managed、Defined、Quantitatively Managed 和 Optimizing。通过匹配和学习不同的级别的标准,企业或组织可以根据需要在开销、调度、生产力、生产质量和用户满意度等多个方面改善企业生产效率,提高企业或组织的行业竞争力。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×