您的位置:首页 > 其它

系统分析与应用_EX01

2018-03-15 02:22 225 查看
系统分析与应用(一)   学号:15331211姓名:刘秉运一、简答题
1. 软件工程的定义:
a)将系统化、规范化、可度量的方法应用与软件的开发、运行和维护的过程,即将工程化应用于软件中。b)对a)中所述方法的研究。c)软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过实践考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
2. 阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型:
software crisis:软件危机是由于计算机能力的迅速增长和无法解决的问题的复杂性造成的。随着软件复杂性的增加,许多软件问题出现,因为现有的方法是不够的。以及需要在必要的时间编写有用和高效的计算机程序,现有的落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
COCOMO 模型:构造性成本模型是由巴里勃姆提出的一种软件成本估算方法。这种模型使用一种基本的回归分析公式,使用从项目历史和现状中的某些特征作为参数来进行计算。
3. 软件生命周期:
从时间角度,把整个周期划分为若干个阶段
划分的原则:各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。受软件规模、性质、种类、开发方法等因素的影响。
典型划分GB8567(4个时期7个阶段):
A)软件分析时期:问题定义、可行性研究、需求分析
B)软件设计时期:总体设计、详细设计
C)编码与测试时期:编码、测试
D)运行与维护时期
4. 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域:
软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量。
5. 解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式:
第一级别:初始级
软件的过程有序性程度不高,甚至会出现混乱的情况,软件是否能够成功主要取决于研发人员本身的实力和努力,项目可能会成功,但是任务的完成中存在很大的偶然性。也就是说企业不能担保在实施同一类项目的时候还能按时按期完成任务,研发人员是这一个级别最关键的因素,企业占到的作用不甚明显。
第二级别:可管理级
公司在管理上已经具备了一定的能力,能够建立比较基础的项目管理规范,对于项目的实施能够列出相应的计划和流程,并且随着流程的进行可以对此实施监控和控制。从一级到二级,最大的差别就是企业的管理有了相当程度的进步,利用管理手段排除了企业在第一级别完成任务时候的随机性与不确定性,保证企业的项目都能得到成功。
第三级别:已定义级
企业不仅能够把软件管理和工程管理两个过程都实现标准化和文档化,而且软件产品的整个生产过程,都是可见可控的。也就是说,企业根据自身的情况以及自己的流程能够建立一套规范制度的管理体系与流程,从而保证在同类或者是不同类的项目上都能够得到成功的实施。在这一阶段,企业的科学管理已经形成企业文化,更是企业内涵。
第四级别:量化管理级
企业的项目管理首先是已经形成了完善的制度,而且根据名称,可以平判处,这一级别最关键的两个字就是“量化”。对项目流程的管理做到量化、数字化、具体化,对软件过程和产品精度都有定量的控制,实现管理更加细致化,精细化,项目的质量也能因此保证相对的高质量和稳定性。
  第五级别:优化管理级
企业能够非常主动的来对流程进行一定程度的改善,将更加先进的技术运用到其中,让流程优化上升到一个更高的层次。在第四级别的基础上,还能够利用当前的信息资料来对项目过程中出现的问题进行预防,让每一个项目都能有非常高的质量。
6. 用自己语言简述 SWEBok 或 CMMI (约200字):
a) SWEBOK阐明了软件工程相对其他学科的位置,并确立它们的分界。b) 促进世界范围内对软件工程的一致观点。c) 刻画软件工程学科的内容。d) 提供使用知识体系的主题。e) 为开发课程和个人认证与许可材料,提供一个基础。
a) CMMI的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。b) 集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,以克服软件开发中的困难。
 
二、解释 PSP 各项指标及技能要求
阅读《现代软件工程》的 PSP: Personal Software Process 章节: http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html 按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据?
a) 项目/任务有多大?
说明项目的大小, 一般用代码行数来表示;也可以用功能点。 一个重要的指标是: 你在实际产品中写了多少代码。
b) 花了多少时间?
可以用小时, 天,月,年来表示。一组人所花费的时间可以用 (人数*时间) 来表示。
c) 质量如何?
交付的代码中有多少缺陷?  交付有两个定义,
1. 在 Code Complete “代码完成” 的时候, 交付给测试人员
2. 交付到顾客那里去
可以用缺陷的数量来除以项目的大小。
d) 是否按时交付?
软件、任务是否按时交付。
制作表格,按照对应量纲填表,统计自己所做的项目的归一化后的均值,作为评价自己能力的参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  系统分析与应用