系统分析与设计 hw1

1. 简单题

软件工程的定义

软件工程是(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件,以及(2)对以上方法的研究 —— IEEE Standard 610.12

阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型

software crisis,软件危机:指随着计算机软件需求迅速增长,落后的软件生产方式已经无法满足,导致开发与维护过程的成本增长、开发进度难以控制、质量不可靠、可维护性低等问题。

COCOMO 模型,构造性成本模型,是由巴里·勃姆(Barry Boehm)提出的软件成本估算方法。使用基本的回归分析,从项目历史和现状中的某些特征作为参数来进行计算。一般由三个循序渐进的层次组成:1、“基本COCOMO”,快速、早期地对重要的方面进行粗略的成本估计;2、“中级COCOMO”中考虑进了这些成本驱动者的因素;3、“详细COCOMO”加入了对开发阶段影响的考量。

软件生命周期

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

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

The published version of SWEBOK V3 has the following 15 knowledge areas (KAs) within the field of software engineering:

其中本课程主要关注:

  • software requirements
  • software design
  • software construction
  • software engineering management
  • software engineering tools and methods

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

  • Level 1 - 初始级(Initial):

    软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。

  • Levle 2 - 可重复级(Repeatable):

    建立了基本的项目管理管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得成功的经验。

  • Level 3 - 已定义级(Defined):

    已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有的项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。

  • Level 4 - 量化管理级(Managed):

    分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。

  • Level 5 - 优先管理级(Optimizing):

    过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

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

SWEBok(SoftWare Engineering Body Of Knowledge), 软件工程知识体系:是由工业界的专业团体和成员制定的国际标准,规定了软件工程的知识体系。在软件工程这个大领域内定义了许多细分的小知识领域,v3 版本一共定义了 15 个 Konwledge areas(KAs),包括软件需求、软件设计、软件构件、软件测试、软件维护等软件工程体系下的细分领域。

这个知识体系给人才的培养和评估上提供了权威的标准和指南。

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

按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据?

  • 计划
    • 估计这个任务需要多长时间
  • 开发
    • 分析需求
    • 生成设计文档
    • 设计复审
    • 代码规范
    • 具体设计
    • 具体编码
    • 代码复审
    • 测试
  • 测试
  • 记录时间花费
  • 测试报告
  • 计算工作量
  • 事后总结
  • 提出过程改进计划

时间花费以及工作量需要记录。每件工作花费的时间可以用完成的天数来统计。在工作量的计算上,可以使用工作时间和代码行数来统计。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.简单题 软件工程的定义软件工程指使用系统化的,规范化的,可度量的方法来指导软件设计,开发,测试,运行,维护流程...
    YuhiDiary阅读 1,248评论 0 0
  • 简单题 软件工程的定义 Software engineering is “(1) the application ...
    summer06阅读 3,418评论 0 0
  • 我偷偷喜欢你 你不必知道 因为 你眼里看不到我 哪怕你喜欢我一丁点 我都会告诉你 我讨厌自己 偷偷摸摸 遮遮掩掩的想你
    现有游女阅读 2,578评论 0 0
  • 老祖宗发明“应酬”这个词,真是恰如其分的解读了某些不得以去参与时的心情。换别的词,真就没那么恰切! 百度对“应酬”...
    心若芷兰阅读 4,551评论 0 6
  • 笑笑是小姑娘,总想要她变得更加强壮。总想着如何让她运动。 前段时间给笑笑做了一个锻炼肺活量的游戏。 锻炼肺活量,真...
    妈咪私塾阅读 1,657评论 0 1