Homework 1

简答题

  1. 软件工程的定义。

    Answer:软件工程是通过采用系统的,有纪律的,可量化的方法对软件开发,运行和维护的一种应用。

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

    Answer

    • 定义:软件危机是指在落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致的一系列问题。
    • 本质原因:计算机性能的迅速提升和程序的复杂性。按照老师上课的说法,需求与人月成指数关系,所以会造成问题。
    • 表现:开发进度难以预测,开发成本难以控制,产品质量无法保证,用户对产品功能难以满足,产品难以维护。
    • 克服方法:遵循软件工程知识体系,严格按照指南开发。
      • 过程:明确划分步骤。
      • 方法:指定每个步骤的内容,标准。
      • 工具:使用合适的工具,如使得工作半自动化、自动化的工具,辅助完成软件开发。
  3. 软件生命周期。

    Answer:在时间维度,对软件项目任务进行划分,又成为软件开发过程。常见有瀑布模型、螺旋模型、敏捷的模型等。

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

    Answer

    • 软件需求:表达了对软件产品的需求和约束,这些需求和约束有助于解决一些实际问题。
    • 软件设计:是软件工程生命周期活动,在该活动中,软件需求被分析,以产生对软件内部结构及其行为的描述,这些描述将作为软件构建的基础。
    • 软件构建:指通过详细设计、编码、单元测试、集成测试、调试和验证相结合,对工作软件进行详细创建。
    • 软件测试:对产品质量进行评估并通过识别缺陷来改进产品质量。
    • 软件维护:包括增强现有的功能,使软件适应新的和修改的操作环境,以及纠正缺陷。
    • 软件配置管理:是硬件、固件、软件或它们的组合的功能和/或物理特征。
    • 软件工程管理:包括计划、协调、测量、报告和控制一个项目或程序,以确保软件的开发和维护是系统的、有纪律的和量化的。
    • 软件工程过程:涉及软件生命周期过程的定义、实现、评估、度量、管理和改进。
    • 软件工程模型和方法:解决了包含多个生命周期阶段的方法。
    • 软件质量:是一个普遍存在的软件生命周期问题。
    • 软件工程专业实践:是指软件工程师必须具备的知识、技能和态度,以一种专业、负责和道德的方式来实践软件工程。
    • 软件工程经济学:关注于在业务上下文中做出决策,以使技术决策与组织的业务目标保持一致。
    • 计算基础:涵盖了为软件工程实践提供必要的计算背景的基本主题。
    • 数学基础:涵盖了为软件工程实践提供必要数学背景的基本主题。
    • 工程基础:涵盖了为软件工程实践提供必要的工程背景的基本主题。
  5. 简单解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。

    Answer

    • Level 1 Initial 初始级:软件过程是无序的,有时甚至是混乱的,对过程无定义。工作方式处于救火的状态,不断的应对突如其来的危机
    • Level 2 Managed 可管理级:建立了基本的项目管理,有了项目策划和监督等机制,还有了测量和分析等可跟踪数据。
    • Level 3 Defined 已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。
    • Level 4 Quantitativel Managed 量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的控制。
    • Level 5 Optimizing 优化管理级:过程的量化反馈和先进的新思想、新技术促进过程持续不断改进。
  6. 用自己语言简述 SWEBok 或 CMMI(约200字)。

    Answer:CMMI即能力成熟度模型集成,是由美国国防部和卡内基梅隆大学下的软件工程研究中心共同开发和研制的。其目的是帮助软件企业对软件开发过程进行管理,从而提高生产力和效率,开发出高质量的软件。它通过使用知识(能力)的不同,用不同级别表示开发企业的成熟性,不仅给出了企业能力提升的路径,也给出了企业能力评估的事实标准。

分享到 评论