系统分析与设计作业1

软件的本质与软件工程科学

1.简答题

  1. 软件工程的定义:

    软件工程是应用系统的、规范的、量化的方法来开发、操作和维护软件,是将工程应用到软件开发的系统方法。

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

    本质原因:计算机能力的快速增长以及无法解决的问题的复杂性,由于软件复杂性的增加,很多已有方法不足以解决的软件问题逐渐增加。

    计算能力的提高超过了程序员有效利用这些计算能力的能力

    表现

    • 项目运行超预算
    • 项目运行超时
    • 软件效率低下
    • 软件低质量
    • 软件经常无法满足需求
    • 项目无法管理、代码难以维护
    • 软件从未交付过

    解决方法

    使用系统化、与时俱进的软件工程方法,如过程式编程、面向对象编程方法。

  3. 软件生命周期:

    在时间维度对软件项目任务进行划分,又称为软件开发过程,即为了提高设计、产品管理、项目管理而把软件开发工作分成不同的阶段。常见的有瀑布模型、螺旋模型、敏捷的模型等。

  4. SWEBoK的15个知识域:

    描述软件工程实践的11个知识域

  • 软件需求:

    关于软件需求的启发、协商、分析、规范和验证。表达了用于解决实际问题的软件产品的需要和约束。

  • 软件设计:

    定义系统或组件的结构、组成部分、接口和其他特点的过程以及这个过程的结果。软件设计过程是一个软件工程生命周期活动,它分析软件需求来产生对软件内部结构的描述,它的表现会作为它的构建的基础。

  • 软件构建:

    通过详细的设计、编码、单元测试、继承测试、调试和验证的组合来详细地创建工作软件。这个知识域涉及软件构建基础、软件管理基础、构建技术、实际考虑以及软件构建工具。

  • 软件测试:

    评估和通过识别缺陷来提升软件质量的活动。这个知识域包含软件测试基础、测试技术、人机交互接口测试和评估、测试相关的措施以及实际考虑。

  • 软件维护:

    包含增强已有的能力,调整软件来在新的和修改过的操作环境中运行以及纠正缺陷。这个知识域包含软件维护的基础、软件维护的关键问题、维护过程、软件维护的技术、灾难恢复技术和软件维护工具。

  • 软件配置管理:

    系统的配置是硬件、固件、软件的功能和物理特性的组合。软件配置管理是为了系统地控制配置的变化,在不同时间点识别系统配置的规程,也是在整个软件生命周期中维护配置的完整性和可追溯性的规程。

  • 软件工程管理:

    包含计划、协调、测量、报告和控制项目或程序,以确保软件的开发和维护是系统的、规范的和量化的

  • 软件工程进程:

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

  • 软件工程模型和方法:

    涉及包含多个生命周期阶段的方法,特定生命周期阶段的方法由其他知识域涵盖。

  • 软件质量:

    普遍存在的的软件生命周期问题。

  • 软件工程专业实践:

    软件工程师必须拥有知识、技能和态度来以专业、负责和道德的方式来实践软件工程。

    描述软件工程教育需求的4个知识域

  • 软件工程经济学:

    涉及在业务环境中做出决策,以使技术决策与组织的业务目标保持一致。

  • 计算基础:

    涵盖为软件工程实践提供必要的计算背景的基本主题。

  • 数学基础:

    涵盖为软件工程实践提供必要的数学背景的基本主题。

  • 工程基础:

    涵盖为软件工程实践提供必要的工程背景的基本主题。

  1. 简单解释CMMI的五个级别

    Level 1-Initial(初始级):

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

    Level 2-Managed(可管理级):

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

    Level 3-Defined(已定义级):

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

    Level 4-Quantitatively Managed(量化管理级):

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

    Level 5-Optimizing(优化级):

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

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

    CMMI即能力成熟度模型集成,是一个过程级别的改进模型,集成了各种现存实施的与将被发展出来的能力成熟度模型,本质是软件管理工程的一部分。

    改善软件生产过程是当前软件管理工程的核心问题,它关乎高效率、高质量和低成本地开发软件。CMMI目的旨在帮助企业管理和改进软件工程过程,增强开发和改进能力,开发出高质量的软件。它通过使用知识(能力)的不同,用不同的级别表示开发企业的成熟性,给出了企业能力评估的事实标准。

    CMMI的主要关注点在成本效益、明确重点、过程集中和灵活性四个方面。

参考链接

Software engineering

Software_crisis

Software_development_process

An_Overview_of_the_SWEBOK_Guide

-------------本文结束感谢您的阅读-------------