系统分析第一次作业

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

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

  • 本质原因:计算机的发展
  • 表现:软件开发与维护过程中出现一系列严重问题,如:软件开发进度难以预测,软件开法成本难以控制,软件产品质量无法保证,软件产品难以维护等。
  • 克服方法:软件工程,构建生产软件的方法和知识体系。

3.软件生命周期:

  • 在时间维度,对软件项目任务进行划分,又称为软件开发过程。

4.SWEBoK 的 15 个知识域

  • 软件要求
    软件要求KA关注软件需求的启发,协商,分析,规范和验证。在软件行业中,人们普遍认为,当这些活动表现不佳时,软件工程项目非常容易受到攻击。软件需求表达了对软件产品的需求和限制,这些需求和约束有助于解决一些现实问题。

  • 软件设计
    设计被定义为两个限定的体系结构,组件,接口,以及其它的系统或部件的特性的过程中,并[即]过程的结果(IEEE 1991)。软件设计KA涵盖了设计过程和最终产品。软件设计过程是软件工程生命周期活动,其中分析软件需求以产生软件内部结构及其行为的描述,其将作为其构造的基础。软件设计(结果)必须描述软件体系结构 - 即软件如何分解和组织成组件以及这些组件之间的接口。它还必须描述能够构建它们的详细程度的组件。

  • 软件构建
    软件构建是指通过结合详细设计,编码,单元测试,集成测试,调试和验证来详细创建工作软件。软件构建KA包括与满足其要求和设计约束的软件程序开发相关的主题。该KA涵盖了软件构建基础; 管理软件建设; 建筑技术; 实际考虑; 和软件构建工具。

  • 软件测试
    测试是一项旨在评估产品质量并通过识别缺陷来改进产品质量的活动。软件测试涉及在有限的测试用例集上针对预期行为动态验证程序的行为。这些测试用例是从(通常非常大的)执行域中选择的。软件测试KA包括软件测试的基础知识; 测试技术; 人机界面测试与评估; 与测试有关的措施; 和实际考虑。

  • 软件维护
    软件维护包括增强现有功能,调整软件以在新的和修改的操作环境中运行,以及纠正缺陷。这些类别称为完善,自适应和纠正性软件维护。软件维护KA包括软件维护的基础知识(维护的性质和需求,维护类别,维护成本); 软件维护中的关键问题(技术问题,管理问题,维护成本估算,软件维护测量); 维护过程; 软件维护技术(程序理解,重新设计,逆向工程,重构,软件退役); 灾难恢复技术和软件维护工具。

  • 软件配置管理
    系统的配置是硬件,固件,软件或这些的组合的功能和/或物理特征。它还可以被视为根据特定构建过程组合的特定版本的硬件,固件或软件项的集合,以满足特定目的。因此,软件配置管理(SCM)是在不同时间点识别系统配置的规则,用于系统地控制配置的改变,以及在整个软件生命周期中维持配置的完整性和可追溯性。软件配置管理KA涵盖SCM过程的管理; 软件配置识别,控制,状态核算,审计; 软件发布管理和交付;

  • 软件工程管理
    软件工程管理涉及规划,协调,测量,报告和控制项目或程序,以确保软件的开发和维护是系统化的,规范化的和量化的。软件工程管理KA涵盖了启动和范围定义(确定和协商要求,可行性分析以及要求的审查和修订); 软件项目计划(过程计划,工作量估算,成本和进度,资源分配,风险分析,质量计划); 软件项目制定(计量,报告和控制;收购和供应商合同管理); 产品验收; 审查和分析项目绩效; 项目结束; 和软件管理工具。

  • 软件工程过程
    软件工程KA关注软件生命周期过程的定义,实施,评估,测量,管理和改进。涵盖的主题包括流程实施和变更(流程基础架构,流程实施和变更模型以及软件流程管理); 流程定义(软件生命周期模型和流程,流程定义,流程适应和流程自动化的符号); 过程评估模型和方法; 测量(过程测量,产品测量,测量技术和测量结果的质量); 和软件处理工具。

  • 软件工程模型和方法
    软件工程模型和方法KA解决了涵盖多个生命周期阶段的方法; 其他KAs涵盖特定生命周期阶段的特定方法。涵盖的主题包括建模(软件工程模型的原理和属性;语法与语义与不变量;前置条件,后置条件和不变量); 模型类型(信息,结构和行为模型); 分析(分析正确性,完整性,一致性,质量和相互作用;可追溯性;以及权衡分析); 和软件开发方法(启发式方法,形式方法,原型方法和敏捷方法)。

  • 软件质量
    软件质量是许多SWEBOK V3 KAs中普遍存在的软件生命周期问题。此外,软件质量KA还包括软件质量的基础知识(软件工程文化,软件质量特性,软件质量的价值和成本以及软件质量改进); 软件质量管理流程(软件质量保证,验证和确认,审核和审核); 和实际考虑(缺陷表征,软件质量测量和软件质量工具)。

  • 软件工程专业实践
    软件工程专业实践关注软件工程师必须具备的专业,负责和道德的软件工程知识,技能和态度。软件工程专业实践KA涵盖专业性(专业行为,专业协会,软件工程标准,雇佣合同和法律问题); 道德准则; 小组动态(团队合作,认知问题复杂性,与利益相关者互动,处理不确定性和模糊性,处理多元文化环境); 和沟通技巧。

  • 软件工程经济学
    软件工程经济学KA关注的是在业务环境中做出决策,以使技术决策与组织的业务目标保持一致。涵盖的主题包括软件工程经济学的基本原理(提案,现金流量,货币时间价值,计划视野,通货膨胀,折旧,替代和退休决策); 非营利性决策(成本效益分析,优化分析); 估计,经济风险和不确定性(估算技术,风险决策和不确定性); 和多属性决策(价值和衡量尺度,补偿和非补偿技术)。

  • 计算基础
    计算基础KA涵盖了提供软件工程实践所需的计算背景的基础主题。涵盖的主题包括问题解决技术,抽象,算法和复杂性,编程基础,并行和分布式计算的基础知识,计算机组织,操作系统和网络通信。

  • 数学基础
    数学基础KA涵盖了提供软件工程实践所必需的数学背景的基础主题。涵盖的主题包括集合,关系和功能; 基本命题和谓词逻辑; 证明技术; 图形和树木; 离散概率; 语法和有限状态机; 和数论。

  • 工程基础
    工程基础KA涵盖了提供软件工程实践所必需的工程背景的基础主题。涵盖的主题包括经验方法和实验技术; 统计分析; 测量和指标; 工程设计; 仿真与建模; 和根本原因分析。

5.简单解释 CMMI 的五个级别。

  • 初始级

工作方式处于救火的状态,不断的应对突如其来的危机

  • 受管理级

需求管理
项目策划
项目监督和控制
供方协定管理
测量和分析
过程和产品质量保证
配置管理

  • 已定义级

需求开发
技术解决
产品集成
验证
确认
组织过程聚焦
组织过程定义
组织培训
集成项目管理
风险管理
决策分析和决定

  • 定量管理级

组织过程性能
定量项目管理
通过以下工作实现过程制度化

  • 持续优化级

组织革新和部署
原因分和决定

你可能感兴趣的:(系统分析第一次作业)