系统分析与设计-homework-1

1、软件工程部分要点


Software Engineering Definition

Software engineering is “(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software,” and “(2) the study of approaches as in (1).” – IEEE Standard 610.12

History of Software Engineering

软件工程标准

Software LifeCycle

以上内容必考


2、作业


1、简单题

软件工程的定义

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护即将工程化方法应用于软件

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

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

COCOMO模型,英文全称为constructive cost model,即构造性成本模型。它是一种精确、易于使用的,基于模型的成本估算方法,最早由勃姆 (Boehm) 于 1981 年提出。从本质上说是一种参数化的项目估算方法,参数建模是把项目的某些特征作为参数,通过建立一个数字模型预测项目成本(类似于居住面积作为参数计算的整体的住房成本)。

软件生命周期。

软件的生命周期,亦称软件的生存周期。它是按开发软件的规模和复杂程度,从时间上把软件开发的整个过程(从计划开发开始到软件报废为止的整个历史阶段)进行分解,形成相对独立的几个阶段,每个阶段又分解成几个具体的任务,然后按规定顺序依次完成各阶段的任务并规定一套标准的文档作为各个阶段的开发成果,最后生产出高质量的软件。

阶段划分

  • 问题的定义及规划
  • 需求分析
  • 软件设计
  • 程序编码 
  • 软件测试
  • 运行维护

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

Software requirements 软件需求

Software design 软件设计软件需求

Software construction 软件构建

Software test 软件测试

Software maintenance 软件维护

Software configuration management 软件配置管理

Software engineering management 软件工程管理

Software engineering process 软件工程过程

Software engineering models and methods 软件过程模型和方法

Software quality 软件质量

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

Level 1 - Initial  初始级

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

Level 2 - Repeatable  可管理级

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

Level 3 - Defined  已定义级

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

Level 4 - Managed  量化管理级

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

Level 5 - Optimizing  优化管理级

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

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

SWEBok,即Software Engineering Body of Knowledge,软件工程知识体系,旨在促进世界范围内对软件工程的一致观点。它阐明了软件工程相对于其他学科的位置,并确立了它们的分界。通过刻画软件工程学科的内容,以及提供知识体系的主题,SWEBok为“开发课程和个人认证与许可材料”提供了一个基础。SWEBOK全面描述了软件工程实践所需的知识,为软件工程学科的范围提供一致的确认,为支持该学科的本体知识提供指导。 


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

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

一个工程师在接到一个任务后应该做的规划如下:


需要的技能包括如下:

自我管理的能力表达和交流的能力与人合作的能力把任务按质按量完成的执行力这些能力在IT 行业和其它行业都很重要。


如何统计每一项数据:

  • 通过代码行数来表示项目的大小。
  • 通过用 (人数*时间,例如某项目花费了10个人·月,来表示项目所花费的时间。 
  • 通过用交付的代码所包含的缺陷来表示项目的质量。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值