系统分析与设计作业1

系统分析与设计课程作业1

1.简单题

1.1.软件工程的定义

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

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

software crisis
软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致开发与维护过程中出现的软件开发成本日益增长、软件开发进度难以控制、用户对“已完成”系统不满意的现象经常发生、软件产品的质量不可靠、软件的可维护程度低、软件开发生产率跟不上硬件的发展和人们需求的增长等问题。
COCOMO
构造性成本模型,是由巴里·勃姆(Barry Boehm)提出的一种软件成本估算方法。这种模型使用一种基本的回归分析公式,使用从项目历史和现状中的某些特征作为参数来进行计算,由三个不断深入和详细的层次组成。第一层,“基本COCOMO”,适用对软件开发进行快速、早期地对重要的方面进行粗略的成本估计,但因其缺少不同的项目属性(“成本驱动者”)的因素,所以准确性有一定的局限性。“中级COCOMO”中考虑进了这些成本驱动者。“详细COCOMO”加入了对不同软件开发阶段影响的考量。

1.3.软件生命周期

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

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

  • 按照version3的KA划分,共有:软件需求、软件设计、软件构建、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量、软件工程专业实践、软件工程经济学、计算基础、数学基础、工程基金会等15个知识领域。
    本课程关注:软件需求、软件设计、软件构件和软件模型和方法。

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

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

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

CMMI
CMMI全称为能力成熟度模型集成,也可称为软件能力成熟度集成模型,是一个过程改进的方法,目的是帮助组织改进他们的绩效,可以通俗的理解为成功企业做好软件的一套习惯、做法、准则的集合,是如何做好软件的最佳实践集合,先进性毋庸置疑。如果企业按照CMMI的要求做,就有可能称为成功的企业。CMMI分为连续式和阶段式两种表述方式,其中阶段式比较容易理解。阶段式分为5个级别,企业通过满足当前级别的所有要求来获得该级别的评级。

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

指标
1.项目大小:说明项目的大小,一般用代码行数表示,也可以用功能点。一个重要的指标是:在实际产品中不包含空行/注释行/单字符行写了多少代码。
2.花了多少时间:用人·月表示。
3.质量如何:交付的代码中有多少缺陷
4.是否按时交付:软件/任务是否按时交付。
  • 按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据? (期末考核,每人按开发阶段提交这个表)
需要做: 计划
估计这个任务需要多长时间
开发
分析需求
生成设计文档
设计复审
代码规范
具体设计
具体编码
代码复审
测试
测试
记录时间花费
测试报告
计算工作量
事后总结
提出过程改进计划

毕竟我们的项目规模都比较小,其中步骤需要的时间都不是很多,所以用人·月比较难以衡量,所以我打算用人·时来计算。对于工作量的度量我会使用人·时和代码行数(如果有代码工作)来综合考量。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值