系统分析与设计:作业1

1、简单题

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

  • 阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型
    software crisis:即软件危机,是指计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
    COCOMO模型:COCOMO模型是一种在软件项中估算工作量、成本以及时间表的模型。它由三个不断深入和详细的层次组成:“基本COCOMO”适用对软件开发进行快速、早期地对重要的方面进行粗略的成本估计,但因其缺少不同的项目属性(成本驱动者)的因素,所以准确性有一定的局限性;“中间COCOMO”中考虑进了这些成本驱动者;“详细COCOMO”加入了对不同软件开发阶段影响的考量。 根据不同应用软件的不同应用领域,它还可以划分为3种软件应用开发模式:组织模式、嵌入式应用开发模式、中间应用开发模式。

  • 软件生命周期。
    软件生命周期是软件的产生直到报废或停止使用的生命周期。
    根据各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同的原则,从时间角度,把整个软件生命周期划分为若干个阶段,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。
    一个典型的划分把整个周期分为4个时期7个阶段:软件分析时期(问题定义、可行性研究、需求分析 )、软件设计时期(总体设计、详细设计 )、编码与测试时期(编码、测试 )、运行与维护时期 。

  • 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
    本课程关注的知识领域有软件需求、软件设计、软件建构、软件测试、软件构型管理、软件开发过程、软件工程工具与方法、软件质量等。

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

  • 用自己语言简述 SWEBok 或 CMMI (约200字)
    CMMI:Capability Maturity Model Integration,即软件能力成熟度集成模型。
    它是一套融合多学科的、可扩充的产品集合。自出道以来,它所达到的目标就没有变过,第一个是质量,第二个是时间表,第三就是要用最低的成本。它可以帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
    它的成功促使其他学科也相继开发类似的过程改进模型,例如系统工程、需求工程、
    人力资源、集成产品开发、软件采购等。

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

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

1)接到一个任务之后,要做:

  • 计划:估计这个任务需要多少时间
  • 开发:分析需求、生成设计文档、设计复审 (和同事审核设计文档)、代码规范 (为目前的开发制定合适的规范)、具体设计、具体编码、代码复审、测试(包括自我测试,修改代码,提交修改)
    记录时间花费
    测试报告
    计算工作量
  • 事后总结
  • 提出过程改进计划

2)需要的技能

  • 技术技能
  • 职业技能:自我管理的能力; 表达和交流的能力; 与人合作的能力; 把任务按质按量完成的执行力

3)需要统计的数据

  • 项目规模:Line of Code(一个重要的指标是: 你在实际产品中写了多少代码, 不包括空行/注释行/单字符行 )
  • 花费时间:可以用小时, 天,月,年来表示。一组人所花费的时间可以用 (人数*时间) 来表示
  • 质量:可以用缺陷的数量来除以项目的大小
  • 是否按时交付
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值