系统分析与设计课程作业1

| 分类 系统分析与设计  | 标签 SDA_homework 

一、简答题

1.软件工程的定义

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

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

  • 软件危机:”Software crisis is a term used in the early days of computing science for the difficulty of writing useful and efficient computer programs in the required time. The software crisis was due to the rapid increases in computer power and the complexity of the problems that could not be tackled. With the increase in the complexity of the software, many software problems arose because existing methods were insufficient.” - Wikipedia. 软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
  • COCOMO模型:COCOMO,英文全称为constructive cost model,中文为构造性成本模型。它是一种精确、易于使用的,基于模型的成本估算方法,最早由勃姆 (Boehm) 于 1981 年提出。从本质上说是一种参数化的项目估算方法,参数建模是把项目的某些特征作为参数,通过建立一个数字模型预测项目成本(类似于居住面积作为参数计算的整体的住房成本)。它用3个不同层次的模型来反映不同程度的复杂性,分别为:基本模型(一个静态单变量模型)、中间模型、详细模型。同时根据不同应用软件的不同应用领域,划分为组织模式、嵌入式应用开发模式、中间应用开发模式三种软件应用开发模式。

3.软件生命周期

软件生命周期:同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。典型的几种生命周期模型包括瀑布模型、快速原型模型、迭代模型、螺旋模型。

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

  • 软件需求
  • 软件设计
  • 软件构造
  • 软件工程工具与方法

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

  • Level 1 - Initial : Processes unpredictable, poorly controlled and reactive
  • Level 2 - Managed : Process characterized for projects and is often reactive.
  • Level 3 - Defined : Processes characterized for the organization and is proactive.(Projects tailor their processes from organization’s standards)
  • Level 4 - Quantitatively Managed : Processes measured and controlled
  • Level 5 - Optimizing : Focus on process improvement

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

SWEBok: 全称Software Engineering Body of Knowledge(软件工程知识体系), 是由多个行业成员合作建立的一种国际标准,用于说明软件工程知识体系指南。到目前位置版本一共定义了15个KAs,具体为软件需求、软件设计、软件建设、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程模型与方法、软件质量、软件工程专业实践、软件工程经济学、计算基础、数学基础、工程基础。


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

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

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

按表格 psp 2.1,了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据?

计划

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

开发

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

记录时间花费

测试报告

计算工作量

事后总结

提出过程改进计划


上一篇     下一篇