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

简答题

1.软件工程的定义

  • IEEE标准610.12中定义, 软件工程是(1)对软件进行开发、操作和维护的系统化、规范化、可量化方法的应用,即工程到软件的应用,(2)对如(1)中所述方法的研究。

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

  • 软件危机其原因,衔接到硬件的整体复杂度,与软件开发流程。计算机的发展导致软件危机。1972年,Edsger Dijkstra 指出计算能力约强大,编程越是大问题。而且软件开发是一项高难度、高风险的活动,由于它的高失败率,所以有了“软件危机”。
  • 它表现为在软件开发及维护的过程中所遇到的一系列严重问题,这些问题皆可能导致软件产品的寿命缩短、甚至夭折。有以下几个方面:
    • 项目运行超出预算。
    • 项目运行超过时间。
    • 软件质量低落。
    • 软件通常不匹配需求。
    • 项目无法管理,且代码难以维护。
  • 在软件开发过程中人们开始研制和使用软件工具,用以辅助进行软件项目管理与技术生产,人们还将软件生命周期各阶段使用的软件工具有机地集合成为一个整体,形成能够连续支持软件开发与维护全过程的集成化软件支援环境,以期从管理和技术两方面解决软件危机问题。
    在软件工程理论的指导下,发达国家已经建立起较为完备的软件工业化生产体系,形成了强大的软件生产能力 。软件标准化与可重用性得到了工业界的高度重视,在避免重用劳动,缓解软件危机方面起到了重要作用。

3.软件生命周期

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

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

  • 软件需求
    软件需求知识域涉及软件需求的引出、协商、分析、规范和确认。软件需求表示对软件产品的需求和约束,这些需求和约束有助于解决一些实际问题。
  • 软件设计
    设计被定义为定义系统或组件的架构、组件、接口和其他特性的过程,以及该过程的结果(IEEE 1991)。软件设计知识域涵盖了设计过程和最终产品。
  • 软件建设
    软件构建是指通过详细设计、编码、单元测试、集成测试、调试和验证的组合来详细创建工作软件。软件构建知识域包括与满足其需求和设计约束的软件程序开发相关的主题。
  • 软件测试
    测试是一项评估产品质量并通过识别缺陷来改进产品质量的活动。软件测试知识域包括软件测试的基础知识、测试技术、人机界面测试和评估、测试相关措施和实际考虑。
  • 软件维护
    软件维护包括增强现有的能力,使软件适应新的和修改过的操作环境,以及纠正缺陷。软件维护知识域包括软件维护的基础知识,软件维护中的关键问题,维护过程,软件维护技术,灾难恢复技术和软件维护工具等。
  • 软件配置管理
    软件配置管理(SCM)是一门在不同的时间点识别系统配置的学科,目的是系统地控制配置的更改,并在整个软件生命周期中保持配置的完整性和可追溯性。
  • 软件工程管理
    软件工程管理包括计划、协调、测量、报告和控制项目或程序,以确保软件的开发和维护是系统的、有纪律的和量化的。
  • 软件工程过程
    软件工程知识域涉及软件生命周期过程的定义、实现、评估、测量、管理和改进。所涵盖的主题包括过程实施和变更;过程定义;过程评估模型和方法;度量和软件过程工具。
  • 软件工程模型与方法
    软件工程模型和方法知识域描述了包含多个生命周期阶段的方法;特定于特定生命周期阶段的方法由其他知识域涵盖。所涵盖的主题包括建模;模型类型;分析;和软件开发方法。
  • 软件质量
    软件质量知识域包括软件质量基础;软件质量管理过程;以及实用性;注意事项。
  • 软件工程专业实习
    软件工程专业实践涉及软件工程师以专业、负责和道德的方式实践软件工程所必须具备的知识、技能和态度。软件工程专业实践知识域涵盖专业性;道德规范;群体动力学;以及沟通技巧。
  • 软件工程经济学
    软件工程经济学知识域关注于在业务环境中做出决策,以使技术决策与组织的业务目标保持一致。
  • 计算基础
    知识域计算基础涵盖了为软件工程实践提供必要计算背景的基本主题。所涵盖的主题包括问题解决技术、抽象、算法和复杂性、编程基础、并行和分布式计算基础、计算机组织、操作系统和网络通信。
  • 数学基础
    数学基础知识域涵盖了为软件工程实践提供必要数学背景的基本主题。所涉及的主题包括集合、关系和函数;基本命题和谓词逻辑;证明技术;图和树;离散概率;语法和有限状态机;以及数论。
  • 工程基础
    工程基础知识域涵盖了为软件工程实践提供必要工程背景的基本主题。涵盖的主题包括经验方法和实验技术;统计分析;测量和度量;工程设计;模拟和建模;以及根本原因分析。

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

  • Level 1 - Initial:无序,自发生产模式。
  • Level 2 - Managed:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
  • Level 3 - Defined:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
  • Level 4 - Quantitatively Managed:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
  • Level 5 - Optimizing:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

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

  • CMMI: Capability Maturity Model for Software,软件能力成熟度模型。它迎合企业发展的需求,通过使用知识(能力)的不同,用不同级别表示开发企业的成熟性,不仅给出了企业能力提升的路径,也给出了企业能力评估的事实标准。CMMI的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值