系统分析与设计-homework-1


1、简单题

  • 软件工程的定义

          软件工程是指导计算机软件开发和维护的工程学科。系统化的规范的可度量的方法用于软件的开发、运行和维护的过程,即将工程化应用于软件开发中。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。


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

           软件危机(software crisis)是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

           在人月神话中提到了软件在开发的时候可能会因规模变大而产生成本大幅增加,在缺乏方法论的情况下还可能出现软件复杂,bug增多,按时交付困难等情况。同时加入更多的人力也并不能使得软件开发更加顺利,甚至可能火上浇油。

           COCOMO(Constructive Cost Model; 构造性成本模型)是指由巴里·勃姆(Barry Boehm)于 1981 年提出的一种精确、易于使用的,基于模型的软件成本估算方法。从本质上说是一种参数化的项目估算方法,参数建模是把项目的某些特征作为参数,通过建立一个数字模型预测项目成本的回归分析公式。


  • 软件生命周期

            软件生命周期(software life cycle)又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,直到失去使用价值消亡为止的整个过程。
            一般来说,整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每一个时期又划分为若干阶段。每个阶段有明确的任务,这样使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。

            典型划分GB8567(4个时期7个阶段)软件分析时期:

  1. 问题定义、可行性研究、需求分析     
  2. 软件设计时期:总体设计、详细设计 
  3. 编码与测试时期:编码、
  4. 测试运行与维护时期 

            除此之外还有其他的划分模型,比如说瀑布模型,增量模型,V-W模型,螺旋模型,喷泉模型等等


  • 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
  1. 软件需求   Software Requirements
  2. 软件设计   Software Design
  3. 软件构造   Software Construction
  4. 软件工程工具和方法   Software Engineering Tools and Methods

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

        软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。

     2.可管理级 Level 2 - Managed

        建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。

     3.已定义级  Level 3 - Defined

        已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。

     4.量化管理级Level 4 - Quantitatively Managed

        分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。

     5.优化管理级Level 5 - Optimizing

        过程的量化反进馈和先的新思想、新技术促使过程持续不断改进。


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

    SWEBok是一个对于软件工程来讲的知识体系指南,他将软件工程的知识域分为了多块,并且对每一块的应用进行了一个指导。同时SWEBok也不是一成不变,而是与时俱进的,现在的SWEBok已经是第三版,将知识域划分为10个,与我们专业相关联的有4个,包括

  • 软件需求   Software Requirements
  • 软件设计   Software Design
  • 软件构造   Software Construction
  • 软件工程工具和方法   Software Engineering Tools and Methods
      这个指南向从事软件工程职业的人们提供了一个学习的方向,知道自己还有什么方向需要弥补与完善。与此同时,我们也可以通过这个标准找到我们以后的研究方向与研究内容,更加充实与完善自己的软件工程之路。
2、解释 PSP 各项指标及技能要求:


  1. 阅读《现代软件工程》的 PSP: Personal Software Process 章节。 

     http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html


  2. 按表格 PSP 2.1,了解一个软件工程师在接到一个任务之后要做什么,需要哪些技

能,解释你打算如何统计每项数据? (期末考核,每人按开发阶段提交这个表)


PSP2.1

 

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

计划

  • 估计这个任务需要多少时间

开发

  • 分析需求
  • 生成设计文档
  • 设计复审(和同事审计设计文档)
  • 代码规范(为目前的开发制定合适的规范)
  • 具体设计
  • 具体编码
  • 代码复审
  • 测试(包括自我测试、代码修改、提交修改)

记录时间花费

测试报告

计算工作量

事后总结

提出过程改进计划



首先对于每一个项目的记录务求准确,需要记录真正开始进行工程设计真实的预计时间与想法,提前做好规划而不是到最后用了多少时间就是开始的时候预计好的。

尽量完善每一项工作内容,不要跳过某些流程图省事。

复审的内容要记录在工程中出现的问题,以及进行改进的措施。

最后我们要根据实际情况调整计划表的时间,同时对实际时间进行记录,并分析原因

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值