系统分析与设计HW1

1.简单题

  1. 软件工程的定义
    软件工程是(1)将系统化的、规范的、可度 量的方法应用于软件的开发、运行和维护,即将工程 化方法应用于软件;(2)在(1)中所述方法的研究 。

  2. 阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型
    software crisis: 软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
    COCOMO模型:英文全称为constructive cost model,中文为构造性成本模型。它是一种精确、易于使用的,基于模型的成本估算方法,最早由勃姆 (Boehm) 于 1981 年提出。从本质上说是一种参数化的项目估算方法,参数建模是把项目的某些特征作为参数,通过建立一个数字模型预测项目成本(类似于居住面积作为参数计算的整体的住房成本)。
    COCOMO用3个不同层次的模型来反映不同程度的复杂性,他们分别为:
    ● 基本模型 (Basic Model)。 是一个静态单变量模型,它用一个以已估算出来的源代码行数 (LOC) 为自变量的函数来计算软件开发工作量。
    ● 中间模型 (Intermediate Model)。 则在用 LOC 为自变量的函数计算软件开发工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。
    ● 详细模型 (Detailed Model) 包括中间 COCOMO 模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中分析、设计等各步骤的影响。
    同时根据不同应用软件的不同应用领域,COCOMO模型划分为如下3种软件应用开发模式:
    ● 组织模式(Organic Mode)。这种应用开发模式的主要特点是在一个熟悉稳定的环境种进行项目开发,该项目与最近开发的其他项目有很多相似点,项目相对较小,而且并不需要许多创新。
    ● 嵌入式应用开发模式 (Embedded Mode)。在这种应用开发模式种,项目受到接口要求的限制。接口对整个应用的开发要求非常高,而且要求项目有很大的创新,例如开发一种全新的游戏。
    ● 中间应用开发模式 (Semidetached Mode)。这时介于组织模式和嵌入式应用开发模式之间的类型。[1]

  3. 软件生命周期
    软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。
    典型划分GB8567(4个时期7个阶段):
    1)软件分析时期:问题定义、可行性研究、需求分析 2)软件设计时期:总体设计、详细设计 3)编码与测试时期:编码、测试 4)运行与维护时期

  4. 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
    Software requirements
    Software design
    Software construction
    Software testing
    Software maintenance
    Software configuration management
    Software engineering management
    Software engineering process
    Software engineering models and methods
    Software quality

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

  6. 用自己语言简述 SWEBok 或 CMMI (约200字)
    CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型 ),其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。CMMI主要分为初始级,可管理级,已定义级,量化管理级,优化管理级五个等级。

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

  1. 按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据?
任务所需技能
计划对问题领域的知识和经验的积累,对于软件完成的把握能力和预估能力
估计这个任务需要多少时间
开发
分析需求分析能力,能够明确需求
生成设计文档设计编写能力
设计复审 (和同事审核设计文档)团队合作,沟通能力
代码规范 (为目前的开发制定合适的规范)代码编写能力
具体设计设计能力
具体编码编码能力
代码复审编码能力,dubug能力
测试(包括自我测试,修改代码,提交修改)测试,debug能力
记录时间花费编写报告能力
测试报告测试,表达能力
计算工作量计算,表达能力
事后总结总结,编写能力
提出过程改进计划总结,反思能力

每项数据统计方法
a) 项目/任务有多大?
说明项目的大小, 一个重要的指标是: 你在实际产品中写了多少代码.
b) 花了多少时间?
可以用小时, 天,月,年来表示。一组人所花费的时间可以用 (人数*时间) 来表示。
c) 质量如何?交付的代码中有多少缺陷?
交付有两个定义,
· 在 Code Complete “代码完成” 的时候, 交付给测试人员
· 交付到顾客那里去 (在软件交付的时候)。
可以用缺陷的数量来除以项目的大小。

d) 是否按时交付?
衡量一个程序员在一段时间内的交付情况时, 统计每个阶段的完成程度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值