软工视频看完了一个多月,觉得软件管理这部分很乱,都不敢总结了,但是该总结的还是要总结,当自己根据笔记画了张思维导图的时候,觉得我真的是太过为敌了,天空飘来几个字,其实那些都不是事。
软件管理这一部分我把它分成四部分:软件质量管理,软件配置管理,软件工程管理,软件项目管理。
一、软件质量管理
所谓软件质量就是所有满足描述计算机软件优秀程度的特性的组合。它的目标是为了开发高质量的软件,需要名曲软件的功能,明确软件应达到什么样的质量标准,即质量目标。软件质量特性,反映了软件的本质,人们通常把影响软件质量的特性用软件质量模型来描述。软件质量特性定义成分层模型,软件质量特性有功能性,可靠性、可维护性、效率、可使用性、可移植性,还有适合性、准确性、互用性、依从性等21个子特性。
软件质量特性度量有两类:预测型和验收型。预测度量是利用定量或定性的方法,估算软件质量的评价值,以得到软件质量的比较精确地估算值。预测度量分为两种,尺度度量,是一种定量度量;二元度量,是一种定性度量。验收度量是在软件开发个阶段的检查点,对软件的要求质量进行确认性检查的具体评价值,它是对开发过程中的预测进行评价。
软件质量保证是面向消费者的活动,是为了使产品实现用户要求的功能,站在用户立场上来掌握产品质量的。它的主要任务是为了提高软件的质量和软件的生存率。软件检验的原则有,用户要求的是产品所具有的功能,这是“真质量”。靠质量检验,一般检查的是“真质量”的质量特性;能靠质量检验的质量特性,即使全体检验,也只是代表产品的部分质量特性。软件质量保证规程和技术准则,规定在项目的哪个阶段进行评审及如何评审;规定在项目的哪个阶段应当产生哪些报告和计划;规定产品各方面测试应达到的水平;在每次评审和测试中发现的错误如何修正。软件质量保证的实施从纵向和横向两个方面展开,要求所有软件生存期有关的人员都要参加,要求对产品形成的全过程进行质量管理。软件质量度量和保证的条件有适应性,易学性,可靠性,针对性,客观性和质量经济性。
二、软件配置管理
在软件建立是变更时不可避免的,因为在进行变更前没有仔细分析,或没有进行变更控制,变更加剧了项目软件人员之间的混乱。协调软件开发使得混乱减到最小的技术叫做配置管理,配置管理简称SCM,是一种“保护伞”活动,它应用与整个软件工程过程。它的目标是为了实现标识和控制变更以及向其他有关人员报告变更。
在软件配置管理中,有几个重要概念。如基线,基线是软件生存期中各开发阶段末尾的特定点,又称里程碑,它的作用是把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。软件配置管理的对象就是软件配置项SCI,一个SCI成为基线后就存放于项目数据库中。软件配置项是系统开发过程中各阶段产生的文档,如系统规格说明书,软件需求说明书等。
三、软件工程管理
软件工程由软件项目计划、成本估算、进度计算、风险分析和人员的组织形式组成。
软件项目的任务是研究该项目的主要性能、功能及系统界面和估算计费、进度、资源。成本估算的方法有自顶向下和自底向上两种方法。成本估算模型有多种,有SLIM模型,这是个动态变量模型。COMOMO模型。它是静态变量模型,根据级别的不同,可分为静态单变量模型、静态多变量模型以及详细COMOMO。
进度计算,进度计算常用的方法有三种:甘特图(条形图)、工程网络图、时标网络图。甘特图常用以描述把任务分解成子任务,以及每个子任务的进度安排如一个水平“直方图”。以水平线段表示子任务的工作阶段,线段的起点和终点分贝对应子任务的开工时间和完成时间,线段长度标书所需时间。横坐标为时间,纵坐标表示不同的子任务的分段。工程网络图也称评审技术,也是一种向图,起点是箭尾,表示任务的开始,终点是箭头,表示任务结束。箭上的数字称为权,表示子任务的持续时间。时标网络图,它综合前面两个的优缺点,时标网络图的时序关系清晰,每阶段中资源利用状况也很清楚。
风险分析。风险标识分为三种,危机到项目计划的风险称为项目风险;设计实现接口,验证,维护的风险归为技术风险;市场风险、策略风险、推销风险、管理风险、预算风险归为商业风险。风险估算分为两种,一种是风险发生的可能性,另一种是风险发生后的损失。风险的因素有性能,成本,支持,进度。估计风险从风险的性质、范围和时间考虑。
人员的组织形式主要有两种,层次模式矩阵模式。小组内人员的组织形式有主承程序员小组、民主小组和层次小组。
四、软件项目管理
软件项目管理的对象时软件工程项目,它的目的是使软件项目开发获得成功,关键问题是必须对软件开发项目的工作范维、可能风险、需要资源、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。在软件项目管理过程中关键的活动就是制定项目计划,在做计划是必须就需要的人力,项目持续时间、成本做出估算。
风险分析对于软件项目管理师决定性的,然而现在还有许多项目不考虑风险就着手进行,风险分析实际上就是一系列风险管理步骤,其中包括风险识别、风险估计、风险优化、风险管理策略、风险解决和风险监督。
软件生存率和质量的度量是以投入工作量为依据的软件开发活动的度量和开发成果质量的度量。度量的方式有两种,一是直接度量,二是间接度量。
五、小结
我觉得软件的管理贯穿着整个软件开发过程,是一个不可忽视的一部分,它是软件能否得到成功开发的关键,也关系到所开发软件的优劣程度以及软件开发效率。