【系统分析与设计】作业一

1、简单题

  • 软件工程的定义
    软件工程:(1)将系统化、规范的、可度量的方法应用与软件的开发、运行和维护,即将工程化应用于软件。(2)对(1 )中所述方法的研究。
  • 阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型。
    software crisis:软件危机是计算机早期阶段使用的术语,指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。软件危机的主要原因是计算机计算能力的提高超过了程序员有效利用这些能力的能力。其主要表现在:
     进行超预算的项目
     项目长期无法完成
     软件非常低效
     软件质量低下
     软件经常不符合要求
     项目难以管理,代码难以维护
     软件从未交付
    COCOMO模型:结构成本模型COCOMO是Barry W.Boehm在20世纪70年代后期开发,用作估算软件项目工作量,成本和进度的模型。COCOMO由三个日益详细和准确的表格组成。基本COCOMO适用于快速、早期、粗略的软件成本数量级估计,但由于缺乏考虑项目属性差异的因素而准确性有限。中级COCOMO将成本动因考虑在内,详细COCOMO整合了中级COCOMO的所有特征,并评估了成本动因对软件工程过程的每个步骤(分析,设计等)的影响。COCOMO在估算现代软件开发项目有着重要作用。
  • 软件生命周期
    软件生命周期是指软件的产生直到成熟的全部过程。从时间角度,把整个周期划分为若干个阶段。划分的原则是各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。受软件规模、性质、种类、开发方法等因素的影响。典型划分GB8567如下( 4个时期7个阶段):
     软件分析时期:问题定义、可行性研究、需求分析
     软件设计时期:总体设计、详细设计
     编码与测试时期:编码、测试
     运行与维护时期
  • 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
    Software requirements 软件需求
    Software design 软件设计
    Software construction 软件构建
    Software engineering models and methods 软件工程模型和方法
  • 解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
    Level 1 - Initial:初始级。软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功与否取决于个人努力。
    Level 2 - Managed:可管理级。建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
    Level 3 - Defined:已定义级。已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
    Level 4 - Quantitatively Managed:量化管理级。分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个做出结论的客观依据,管理能够在定量的范围内预测性能。
    Level 5 - Optimizing:优化管理级。过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
  • 用自己语言简述 SWEBok 或 CMMI (约200字)
    软件工程知识体SWEBok旨在促进世界范围内对软件工程的一致观点,阐明软件工程相对其他学科的位置并确立它们的分界。通过刻画软件工程学科的内容,SWEBok定义了软件工程本科生在实践四年后应该具备的软件工程知识,为本科软件工程的教学计划提供了依据。SWEBok划定了软件工程领域内的知识领域KA,并且不断更新。在V3版的SWEBok里,KA由原来的10个增加到了15个,对现有知识域的修改诸如在软件设计和软件测试中新增人机界面的内容,在软件设计中增加了硬件问题的新主题等等,都使得SWEBok更加完善和科学,体现了其与时俱进的特性。

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

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

【系统分析与设计】作业一_第1张图片
 表格PSP 2.1将软件工程师在接到一个任务后要做的事情依次划分为计划,开发,记录时间花费,测试报告,计算工作量,事后总结,提出过程改进计划7个阶段,并且在开发阶段更加具体地分为了分析需求,生成设计文档,设计复审,代码规范,具体设计,具体编码,代码复审,测试阶段。
 所需技能:拥有完成任务所需的知识和经验,技术技能,职业技能(自我管理,表达和交流,与人合作,把任务按质按量完成的执行力)。
 统计数据:在合理划分好工作流程的前提下,以天数为单位进行每一个阶段或者步骤的时间统计,数据的准确性可以通过计算提交记录之间的间隔得到保证。

你可能感兴趣的:(系统分析与设计)