1、简单题
软件工程的定义
软件工程是“(1)对软件的开发,操作和维护应用系统的,有纪律的,可量化的方法,即将工程应用于软件,”和“(2)对于(1)的研究方法。”
阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型。
(software crisis)软件危机是在计算科学的早期阶段使用的术语,用于在需要的时间编写有用和高效的计算机程序的困难,泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
COCOMO,英文全称为Constructive Cost Model,中文为结构性成本模型。它是由巴里·勃姆(Barry Boehm)提出的一种软件成本估算方法。这种模型使用一种基本的回归分析公式,使用从项目历史和现状中的某些特征作为参数来进行计算。
软件生命周期
软件生命周期(Systems Development Life Cycle,SDLC)又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
2004年版SWEBOK指南定义了软件工程领域内的十个知识领域(KAs):
· 软件需求
· 软件设计
· 软件构建
· 软件测试
· 软件维护
· 软件配置管理
· 软件工程管理(工程管理)
· 软件工程过程
· 软件质量
SWEBOK还定义了与软件工程相关的学科:
· 计算机工程
· 计算机科学
· 管理
· 数学
· 项目管理
· 质量管理
· 软件人体工程学(认知人体工程学)
· 系统工程
本课程主要关注软件需求,软件设计,软件构建,软件配置管理,软件工程管理,软件质量等领域。
解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
成熟度等级1-初始
成熟度等级2-管理
成熟度等级3-定义
成熟度等级4-数量管理
成熟度等级5-优化
软件工程知识体系(SWEBoK)是国际标准ISO/IEC TR 19759:2005指定的指南知识的普遍接受的软件工程。“软件工程知识体系指南”(SWEBoK指南)是由多个专业团体和行业成员合作创建的,由IEEE计算机协会(IEEE)出版。该标准可以从IEEE计算机协会免费获取。2013年底,SWEBoK V3被批准发布并发布。2016年,IEEE计算机协会启动了SWEBoK Evolution,致力于开发未来的知识体系迭代。
能力成熟度模型集成(CMMI)是一个过程级改进培训和评估程序。由经管CMMI研究所,一个子公司的ISACA,它在开发卡内基-梅隆大学(CMU)。许多美国国防部(DoD)和美国政府的合同,特别是软件开发合同都要求这样做。CMU声称CMMI可用于指导整个项目,部门或整个组织的流程改进。CMMI为流程定义了以下成熟度级别:初始,管理,定义,定量管理和优化。版本1.3于2010年发布。CMMI由CMU在美国专利和商标局注册。
CMMI致力于三个有趣的领域:
产品和服务开发 -CMMI for Development(CMMI-DEV),
服务建立,管理 -CMMI for Service(CMMI-SVC),
产品和服务获取 -CMMI for Acquisition(CMMI-ACQ)。
2、解释 PSP 各项指标及技能要求:
Planning Estimate |
计划 估计这个任务需要多少时间 |
Development ·Analysis ·Design Spec ·Design Review ·Coding Standard ·Design ·Coding ·Code Review ·Test Record Time Spent Test Report Size Measurement Postmortem Process Improvement Plan |
开发 ·分析需求 ·生成设计文档 ·设计复审(和同事审核设计文档) ·代码规范(为目前的开发制定合适的规范) ·具体设计 ·具体编码 ·代码复审 ·测试(包括自我测试,修改代码,提交修改) 记录时间花费 测试报告 计算工作量 事后总结 提出过程改进计划 |