【系统分析与设计】Lesson 1 Homework

【系统分析与设计】Lesson 1 Homework

@(SSAD)

1、简单题

  • 软件工程的定义
    1. 对软件的开发、进行相应的操作并维护的系统性、规则化、可度量化方法进行相应的应用,即将工程应用在软件。
    2. 对1中所提到的方法进行的研究。

是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过实践考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

  • 阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型。
    software crisis:软件危机指的是在所需要的事件内编写有用和高效的计算机程序的困难性。由于计算机的计算能力快速增长,需要解决的问题更加复杂。随着软件复杂性的增加,因为现在的解决方法不足,许多软件问题出现。概括起来,主要原因是计算机计算能力的提高超过了程序员有效利用这些能力的能力。
    COCOMO模型:这是一种常见的软件规模估算方法,全称为constructive cost model,即构造性成本模型。从本质上说,这是一种参数化的项目估算方法,参数建模是把项目的某些特征作为参数,通过建立一个数字模型预测项目成本。

  • 软件生命周期。

    软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

简单可以理解为:软件从生到死经历的各个阶段。
软件生命周期具有7个阶段:
1. 问题的定义及规划
2. 需求分析
3. 软件设计
4. 程序编码
5. 软件测试
6. 系统转换
7. 运行维护
关于软件生命周期的详细介绍:
http://blog.csdn.net/xieyihua1994/article/details/52836855

  • 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?

    SWEBOK指南将软件工程知识体系划分为10个知识域(Knowledge Area,KA),分为两类过程。一类是开发与维护过程,包括软件需求、软件设计、软件构造、软件测试和软件维护;另一类是支持和组织过程,包括软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量。下面为10个知识域与其知识域相对应的子知识域:
    1.软件需求:软件需求基础、软件过程、需求获取、需求分析、需求规格说明、需求确认、时间考虑。
    2.软件设计:软件设计基础、软件设计关键问题、软件结构与体系结构、软件设计质量的分析与评价、软件设计记法、软件设计的策略与方法。
    3.软件构造:软件构造基础、管理构造、实际考虑。
    4.软件测试:软件测试基础、测试级别、测试技术、与测试相关的度量、测试过程。
    5.软件维护:软件维护基础、软件维护关键问题、维护过程、维护技术。
    6.软件配置管理:软件配置过程管理、软件配置标识、软件配置控制、软件配置状态报告、软件配置审计、软件发行管理和交付。
    7.软件工程管理:项目启动和范围定义、软件项目计划、软件项目实施、评审与评价、项目收尾、软件工程度量。
    8.软件工程过程:过程定义、过程实施与变更、过程评估、过程和产品度量。
    9.软件工程工具和方法:软件工具(软件需求工具、软件设计工具、软件构造工具、软件测试工具、软件维护工工具、软件配置管理工具、软件质量工具和其他工具问题)
    软件工程方法(启发式方法、形式化方法、原型方法)
    10.软件质量:软件质量基础、软件质量过程、时间考虑。


本课程关注:软件需求、设计、构造、工程工具和方法、质量。

- 解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
参考: https://baike.baidu.com/item/CMMI
1. 初始级:无序、混乱、自发生产模式。
2. 可管理级:建立基本的项目管理,制定了必要的过程纪律,能够重复之前的成功经验。
3. 已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
4. 量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
5. 优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
  • 用自己语言简述 SWEBok 或 CMMI (约200字)
    SWEBok:软件工程知识体系指南,IEEE认为与软件相关的职业需要在其核心知识体系上达成一致而创立的总结了软件工程核心知识体系的指南。它的目的有:促进世界范围达成对软件工程一致的观点、确定软件工程学科的位置、总结软件工程学科的内容、提供知识体系主题和为软件工程学习、个人能力认证提供一个基础。其中,SWEBok总结了10个KA(如上),很好地总结了软件工程的相关知识域。
    CMMI:软件能力成熟度集成模型,主要是为了将软件的现存的已经被实施的和未来将发展出来的能力、成熟度集中整合到一个模型框架中,从而达到帮助软件企业对软件工程进行管理和改进、增强开发改进能力,开发出高质量的软件的目的。CMMI的五个级别,能够较好地评判软件的能力与成熟度。

2、解释 PSP 各项指标及技能要求:

  • 阅读《现代软件工程》的 PSP: Personal Software Process 章节。 http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html
  • 按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据? (期末考核,每人按开发阶段提交这个表)

表格PSP 2.1:
【系统分析与设计】Lesson 1 Homework_第1张图片
表格清楚地列出了当接到一个任务之后需要做什么。我觉得需要的技能有:
1. 完成任务相关的专业技能和知识,例如编程语言、架构等等。
2. 计划自己时间的能力。
3. 记录和规划自己所做的所有东西的能力。
4. 与人沟通、与人合作的能力。

统计每项数据:根据自己的规划,在每隔一段时间内,总结报告,总结相关数据,要做到周期性、计划性的统计。关于具体的统计,需要结合难度、非重复代码量、时间等进行统计,不要只根据一个指标进行统计。

你可能感兴趣的:(SSAD)