系统分析作业1

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

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

  • 本质原因:
    The causes of the software crisis were linked to the overall complexity of hardware and the software development process. The main cause is that improvements in computing power had outpaced the ability of programmers to effectively utilize those capabilities.
    所以软件危机的本质是软件的大量需求与软件生产力效率之间的矛盾,也是软件系统的复杂性与软件开发方法之间的矛盾。

  • 表现:

    • Projects running over-budget
    • Projects running over-time
    • Software was very inefficient
    • Software was of low quality
    • Software often did not meet requirements
    • Projects were unmanageable and code difficult to maintain
    • Software was never delivered
  • 克服软件危机方法:

    • 正确认识计算机软件的内涵。
    • 采用工程项目管理方法实施软件开发的组织管理(软件开发应该是一种组织良好、管理严密、协同配合的工程活动)。
    • 采用成熟的软件开发技术和方法,开发和使用适当的软件工具。
  • 软件生命周期
    Life Cycle:在时间维度,对软件项目任务进行划分,又成为软件开发过程。常见有瀑布模型、螺旋模型、敏捷的模型等。
    In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management. It is also known as a software development life cycle. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application. – Wikipedia

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

    • Software Requirements 软件需求
      对软件产品的需求和约束,设计软件需求的引出,协商,分析,规范、确认。
    • Software Construction 软件构建
      通过详细设计、编码、单元测试、集成测试、调试和验证的组合来详细创建工作软件。
    • Software Testing软件测试
      评估产品质量并通过识别缺陷来改进产品质量的活动。
    • Software Maintenance 软件维护
      包括增强现有的能力,使软件适应新的和修改过的操作环境,以及纠正缺陷。
    • Software Configuration Management
      软件配置管理(SCM)是一门在不同的时间点识别系统配置的学科,目的是系统地控制配置的更改,并在整个软件生命周期中保持配置的完整性和可追溯性。
    • Software Engineering Management 软件工程管理
      软件工程管理包括计划、协调、测量、报告和控制项目或程序,以确保软件的开发和维护是系统的、有纪律的和量化的
    • Software Engineering Process软件工程过程
      涉及软件生命周期过程的定义、实现、评估、测量、管理和改进。
    • Software Engineering Models and Methods 软件工程模型与方法
      软件工程模型和方法KA描述了包含多个生命周期阶段的方法;特定生命周期阶段的方法由其他KA涵盖。
    • Software Quality 软件质量
      包括软件质量基础(软件工程文化、软件质量特征、软件质量的价值和成本以及软件质量改进);软件质量管理过程(软件质量保证、验证和确认、评审和审计);以及实用性。l注意事项(缺陷描述、软件质量度量和软件质量工具)。
    • Software Engineering Professional Practice 软件工程专业实践
      涉及软件工程师以专业、负责和道德的方式实践软件工程所必须具备的知识、技能和态度。
    • Software Engineering Economics 软件工程经济学
      关注于在业务环境中做出决策,以使技术决策与组织的业务目标保持一致。所涵盖的主题包括软件工程经济学基础;非营利决策;估算、经济风险和不确定性风险和不确定性下的决策;以及多属性决策。
    • Computing Foundations 计算基础
      涵盖了为软件工程实践提供必要计算背景的基jnjj本主题。所涵盖的主题包括问题解决技术、抽象、算法和复杂性、编程基础、并行和分布式计算基础[]、计算机组织、操作系统和网络通信。
    • Mathematical Foundations 数学基础
      涵盖了为软件工程实践提供必要数学背景的基本主题。所涉及的主题包括集合、关系和函数;基本命题和谓词逻辑;证明技术;图和树;离散概率;语法和有限状态机;以及数论。
    • Engineering Foundations 工程基础
      工程基础KA涵盖了为软件工程实践提供必要工程背景的基本主题。涵盖的主题包括经验方法和实验技术;统计分析;测量和度量;工程设计;模拟和建模;以及根本原因分析。
  • 简单解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
    图片

LevelNameIntro
1initial无序,自发生产模式,不可预测,控制不良,反应差。
2Maneged有基本项目管理,以项目为特征的过程,通常是反应性的。
3Defined将软件管理和工程两个方面过程文档化,标准化,形成以组织为特征并具有前瞻性的过程。
4Quantitatively Managed对软件过程和质量有度量,可定量理解和控制,管理有依据,可预测性能。
5Optimizing关注过程不断改进,适当引入新技术新思想,同时避免曾出现的失误。在前面等级的基础上,可预见错误或失控的发生,有针对的进行优化,达到最佳效益。
  • 用自己语言简述 SWEBok 或 CMMI (约200字)
    CMMI是能力成熟度模型集成,是一个过程级改进培训和评估计划。 作为一个有指导意义的模型,它可以帮助企业对软件工程的过程进行管理和改进,从而优化产品和公司运营的效益,关注的四个方面是软件开发管理的成本效益、明确重点、过程集中、灵活性。CMMI 分为5个等级,如上表所示。将每个等级分成了过程域(过程域包括过程管理、项目管理、工程管理、支持管理等、风险管理等),并有特殊目标和特殊实践,通用目标、通用实践和共同特性,使得企业能力能够得到客观评估。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值