实用软件工程ch10.pptx

上传人:知****量 文档编号:78674350 上传时间:2023-03-18 格式:PPTX 页数:92 大小:562KB
返回 下载 相关 举报
实用软件工程ch10.pptx_第1页
第1页 / 共92页
实用软件工程ch10.pptx_第2页
第2页 / 共92页
点击查看更多>>
资源描述

《实用软件工程ch10.pptx》由会员分享,可在线阅读,更多相关《实用软件工程ch10.pptx(92页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程(run jin n chn)管理 随着全球软件业的飞速发展,用户对软件的功能和规模等方面都提出了更高的要求。原有的“软件作坊”的小规模生产已经不能适应社会发展需求,同时软件工程(run jin n chn)还是一个复杂的、要素相互关联的系统性工程。软件开发不同于其他产品的制造,软件开发的整个过程都是设计过程;软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。第一页,共92页。如果能对整个过程进行有效地、科学地管理,必然会产生意想不到的效益。软件工程管理的目的是优化软件工程要素的组织结构,降低工程成本,加快进度,提高软

2、件工程质量,并把软件工程的风险减小到最低限度(xind)。从现有情况看来,软件公司大多在软件开发与维护的过程中引入工程的思想和项目管理的方法,而且他们都已经发现了软件工程管理带来的好处。所以说,软件质量的好坏,不仅取决于所采用的技术,更决定于管理的好坏。第二页,共92页。本章主要介绍(jisho)如下内容:o软件(run jin)项目管理o软件(run jin)计划o软件(run jin)质量管理o软件(run jin)经济学第三页,共92页。第一节第一节 软件软件(run jin)(run jin)项目管理项目管理 一、软件(run jin)项目管理(一)软件(run jin)项目管理的定义

3、软件(run jin)项目管理是为了使软件(run jin)项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。第四页,共92页。管理行为是伴随着人类的出现同步发展的,而管理科学和管理理论体系的形成(xngchng)却不是很长,软件项目的管理实践和理论发展史就更短。总体来说,软件项目管理还处在一个实践的阶段、发展的阶段,但是软件项目管理已经充分体现了其蕴涵的科学性、技术性和艺术性。第五页,共92页。软件项目管理不同于其它普通的工程项目,它属于智力密集型活动,其中,人员、抽象的文档和程序代码是管理的主要(zhyo)对象。因此,软件项目管理与其它的工

4、程项目管理相比有其自身的独特性,在实践中,软件工程管理人员不能照抄照搬,应做到因地制宜,确保管理行为具有针对性。第六页,共92页。(二)软件项目管理的目的曾经有人这样定义项目管理,它指“在项目活动中运用一系列的知识、技能(jnng)、工具和技术,以满足或超过相关利益者对项目的要求”,显然该定义给出了项目管理涉及的范畴和需要达到的目标。我们知道,对于任何项目,项目管理的精髓都是成本、工期和质量,三者之间相互关联。第七页,共92页。但是最终的目标都是降低成本,增加效益,客户满意且公司(n s)获利。按期完成软件项目,增强用户对软件开发方的信任。保质保量,确保软件产品满足用户需求。由此看来,是否有一

5、套科学的、有效的项目管理手段和训练有素的管理队伍将直接影响到软件工程的成功与否。因此,项目管理已经被公认为是IT公司(n s)的核心竞争力之一。第八页,共92页。(三)软件项目管理的要素(yo s)1.三大基本要素(yo s)(TCQ)软件项目管理的三大要素(yo s)是时间(Time)、成本(Cost)和质量(Quality),三者相互关联,相互制约,都有各自的内涵。第九页,共92页。项目的时间(shjin)通常用计划进度表来表示,它是一个二维表。一维是时间(shjin),另一维是组成项目的基本活动的集合。活动在整个项目周期的一定时间(shjin)段中存在。有时在项目计划进度表中加上基线(节

6、点),用来描述项目中某些具有重要意义的活动最后完成期限。成本是软件项目所需款项。第十页,共92页。项目都会有一个成本预算,但是往往由于实际市场竞争等因素的干扰,迫使软件开发方为获得项目而不切实际的降低预算成本,甚至诱发软件工程的失败(shbi)。软件项目的成本一般包括人力成本、设备费用和分包费用等等,其中人力费用所占的比例较大。人力费用在成本预算时一般较难把握,主要因为软件项目的人员工作量计算复杂,且单位工作量成本的不确定性强。第十一页,共92页。质量相对用户需求而言,一般质量好坏的评判用户意见更有说服力。用户需求和软件开发人员对软件系统建立的模型的偏差是客观存在的,而且不可能完全消除(xio

7、ch)。所以,对用户需求描述的严格定义、多次反馈和精确说明是必要的,它是软件能否满足用户需求的基本保证。第十二页,共92页。有时,人们把时间、成本、质量和软件工作范围并称为软件项目管理的四大要素,可见软件工作范围对于软件项目管理有重要的意义。软件工作范围是指软件的用途、以及对软件的要求。主要包括软件的功能、性能、接口和可靠性四个方面。软件工作范围一般由计划人员确定,要用无二义性的语言来描述。软件工作范围给出了对“完成哪些(nxi)工作就可以达到项目的目标?”或“完成哪些(nxi)工作项目就可以结束了?”等问题的描述。第十三页,共92页。具体的说,软件工作范围(fnwi)包括软件功能、软件性能、

8、接口和软件可靠性:软件功能:根据用户需求确定,尽可能精细。软件性能:处理时间的约束、存储限制、以及依赖于机器的某些特性。接口:硬件、软件、人。计划人员要充分考虑各个接口的性质及复杂程度,以确定对开发资源、成本和进度(jnd)的各种影响。软件的可靠性。第十四页,共92页。2.要素之间的关系软件项目管理的要素之间是相互关联、相互制约的。一般来说:项目的工作范围越大,花费的成本越大,花费的时间越长,但是与软件项目的质量没有必然的关系。软件项目的时间越长、越充裕,花费的成本越高,一般也能提高(t go)软件项目的质量。软件项目的成本是软件质量的基本保证。软件质量的提高(t go)需要软件项目的时间和成

9、本的强力支撑。第十五页,共92页。总而言之,软件项目的追求的最佳状况是“多、快、好、省”。“多”指工作范围大,“快”指时间短、“好”指质量高,“省”指成本低。相互之间的关联性告诉我们,提高一个指标的同时会降低另一个指标,所以实际上这种理想的情况很难达到。因此(ync),在软件项目的实施中,我们要根据具体情况对不同要素的性能参数作取舍。第十六页,共92页。(四)软件项目管理的内容软件项目管理的基本(jbn)内容是软件配置管理、软件质量管理、软件风险管理及开发人员管理四方面,他们贯穿软件开发的整个过程。第十七页,共92页。(五)软件项目管理的组织形式为了使软件项目能够按照计划顺利完成,项目组织是管

10、理行为的主体,它在管理过程中具有(jyu)非常重要的地位,它协调矛盾,提供保证和资源。可以这样说,采用何种组织模式进行管理对软件项目管理过程的成功与否相当重要。项目管理组织形式包括项目管理委员会、项目管理小组、项目评审小组和软件产品项目组。第十八页,共92页。(五)软件项目管理开发阶段软件项目管理开发包含以下几个阶段:总体规划,项目立项,需求分析,系统分析,系统设计,编码实现,项目测试,文档制作,项目发布(fb),项目版本化发布(fb)。第十九页,共92页。1、总体规划规划项目工作的内容,规定工作范围及成果,确定目标市场、技术指标和应用要求,明确实施方案,技术可行性及涉及的各种资源,估算项目成

11、本。2、项目立项产品部对开发的项目提交申请及相关项目资料,由相关人员对该项目进行一系列的风险评估。产品部进行详细进度计划安排,落实时间进度、资源、技术、资金和费用等。最后(zuhu)所有的项目申请资料、风险评估报告及产品进度计划都要报给公司上级领导审批,进行立项评审。立项通过的项目才能进入正式的开发工作。第二十页,共92页。3、需求分析根据项目需求报告界定工作范围和应用方案的设计思路,进一步深入细化应用方案,描述将要开发出的计算机系统中包含的各项业务是如何做的,及业务流程、相关(xinggun)理论、运算公式、原理、业务数据、单据报表格式等。第二十一页,共92页。4、系统分析根据项目需求分析,

12、对将要建立的满足用户(yngh)需求的计算机系统进行分析。在系统分析过程中采用面向对象分析技术(OOA)划分需求的问题域,对每一个问题域进行分析和抽象,对其中的事物和它们之间的关系产生正确的认识,找出描述问题域及其系统责任所需的类及对象,定义这些类和对象的属性与服务,以及它们之间所形成的结构、静态联系和动态联系。最终产生一个符合用户(yngh)需求,并能够直接反映问题域和系统责任的面向对象的分析模型。第二十二页,共92页。5、系统设计根据项目需求分析和系统分析,针对具体实现中的人机界面、数据存储、任务管理等内容,运用(ynyng)面向对象设计技术(OOD)进行系统设计。主要包括UI设计、对象设

13、计和数据库表设计。第二十三页,共92页。6、编码实现根据系统设计的结果,运用面向对象的方法进行程序编码(OOP)以实现系统设计的内容。编码过程就是用具体的数据结构来定义对象的属性,用具体的语言来实现服务流程图所表示的算法(sun f)。在对象设计阶段形成的对象类和关系最后被转换成特殊的程序设计语言、数据库或者硬件的实现。第二十四页,共92页。7、项目测试对系统分析、系统设计、程序编码等运用面向对象的方法(fngf)进行测试(OOT)。项目的测试工作贯穿项目的整个开发过程。主要包括:分析(OOA)测试、设计(OOD)测试和编码(OOP)测试,以及集成测试和系统测试。第二十五页,共92页。8、文档

14、制作跟随项目开发过程应产生的文档主要包括三类:(1)开发文档:分析、设计、编码、测试以及(yj)各种开发管理文档等资料;(2)用户文档:在线帮助,安装指南,使用手册,技术手册,培训教材等;(3)宣传资料:产品介绍资料,产品白皮书,产品宣传PPT,演示光盘等。第二十六页,共92页。9、项目验收对完工(wn n)的项目按照验收步骤进行验收。验收过程中对项目的情况给予评价。10、项目版本化发布对验收通过的项目进行版本控制,整理项目版本所包含的内容并版本化,发布产品发布通告。第二十七页,共92页。二、人员管理软件(run jin)项目管理中的人员管理活动是动态的过程,每个人均在一定范围进行着管理的活动

15、。项目的参与者有高级管理者、项目(技术)管理者、开发人员、客户与最终用户。值得注意的是人员管理属于软件(run jin)项目管理的内容之一,在此,我们对人员管理作近一步阐述。人员管理是软件(run jin)项目管理的核心内容,我们在软件(run jin)项目管理过程中强调以人为本,没有成功的人员管理就没有软件(run jin)项目的成功。第二十八页,共92页。对于软件项目的管理者来说,要求要具有一定(ydng)的素质,这是一些基本要求。具体要求如下:(1)调动每个成员积极性的能力;(2)组织能力,指能全局统筹项目的实施;(3)协调能力,磨合项目成分之间的关系,做到系统整体性能最佳;第二十九页,

16、共92页。(4)创新能力,鼓励项目(xingm)成员创造并感到有一种创造力;(5)解 决 问 题 的 能 力,一 个 好 的 项 目(xingm)管理者要能及时发现问题,系统的组织人员解决问题;(6)成就感,管理者要使项目(xingm)组的成员都有成就感;(7)具有项目(xingm)的相关技术能力;软件技能等。第三十页,共92页。软件人员(rnyun)要有一定的创造力和技术水平。Bill Curtis认为“不同的人员(rnyun)完成程序设计任务的能力上存在巨大的可变性”。对于软件编程人员(rnyun)来说要有一定的编程能力,这是软件编程人员(rnyun)最起码的要求,要有良好的编程习惯,代码

17、要有清晰易懂,容易维护;要对相关领域知识有所了解,软件人员(rnyun)是为某一领域进行编程的,所以对这一领域的了解有利于软件人员(rnyun)提高软件的质量;要有创新能力,它是软件团队活力的体现;项目中的人员(rnyun)要具有相互沟通与协调的能力。第三十一页,共92页。第二节 软件(run jin)计划一、软件计划计划是用来建立一个总体方向的,是用来帮助开始进行项目的工作,保证这些项目是在朝着一个目标前进(qinjn)的。但是,所有的行动都是围绕项目进行的。软件计划将那些繁重的工作分解成更小单位的相关项目,这些相关项目都是在同一时间内以平行的状态被执行。软件计划对项目的分解粒度可以根据具体

18、的情况和要求来决定。本节介绍制定软件计划的两种方法:甘特图(Gantt Chart)和网络图方法 第三十二页,共92页。(一)甘特图(Gantt Chart)甘特图是以水平线段表示每一项任务,线段的起始点表示任务的开始,结束点表示任务的结束,线段的长度表示任务的完成时间。任务开始把线段左边(zu bian)的空的小圆圈涂黑,任务结束时把线段右边的空的小圆圈涂黑。这样就很容易看出哪些任务已经开始,哪些还没有开始,哪些已经完工。第三十三页,共92页。甘特图的优点是简单明了,清楚地从图上看出任务时间上的对比关系(gun x),非常直观方便。它的缺点是各个任务之间的逻辑关系(gun x)无法表示清楚。

19、如下图所示,给出了对于包含5个任务的软件计划甘特图表示,其特征是给出了项目任务的时序状态。第三十四页,共92页。第三十五页,共92页。(二)网络图方法网络图方法PERT(Program Evaluation and Review Technique),是美国海军和洛克希德公司60年代初发展(fzhn)起来的一种先进的管理技术。在国民经济中已经广为应用,并且受到用户的好评。第三十六页,共92页。我们来看一个例子。下面是一个网络PERT图,每一个线段(xindun)表示这一个项目中的每一个任务,线段(xindun)的起始点和终止点的都连接了一个节点,节点有编号,线段(xindun)的旁边标有该项任

20、务的名称和该任务所要花费的时间单元。如01之间的线段(xindun)表示,该任务名称为测试计划,所花费的时间单元是4个单位时间。第三十七页,共92页。第三十八页,共92页。我们以该例分析,从节点5为例,从起始点到达节点5有两条路径它们是0125和0345,所用的时间单元分别是9个单位时间和11个单位时间。E调试必须等C测试和调试两个任务都完成后才能进行,所以E调试的最早启动时间是11个单位时间后。依次类推(litu)我们把每一个节点的最早启动时间标注在该节点的上方得到下图。第三十九页,共92页。第四十页,共92页。另外我们从终止点逆向推进来计算各个节点的最迟启动时间。以节点3为例,沿路径854

21、3倒退到节点3应为5个单元时间而沿路经873应为4个单位时间,所以该节点的最迟启动时间是4个单元时间。依次类推我们可以(ky)得到各个节点的最迟启动时间从下图我们可以(ky)看到。第四十一页,共92页。第四十二页,共92页。通过比较两个图,得到节点0,3,7,8的最早启动时间和最迟启动时间是一样的,也就是说这些节点上没有停留的时间,这是一条耗时最长的路径,称之为关键路经。见下图。关键路径的耗时等于整个工程的耗时,因此(ync)要想缩短时间,就必须找出关键路径,并研究如何减少关键路经的耗时。第四十三页,共92页。第四十四页,共92页。(三)软件计划制定总体原则创建项目计划会迫使您早在编写代码之前

22、(zhqin)就考虑如何构建您的系统减少项目的风险,因为您已经考虑了各种策略和方法,并且已经选择了最有意义的一项。您的目的不应该只是不花力气产生一个计划;它应该是一个实际可行的计划,您可以根据它来成功管理您的项目。第四十五页,共92页。在软件计划(jhu)制定时,总体上应该注意:软件过程驱动软件计划(jhu)。每个软件过程都有一个不同的集合,它包括组织团队的活动方法以及规划项目常用的技术。不同的过程有不同的计划(jhu),通常软件计划(jhu)的制定由软件过程驱动。第四十六页,共92页。软件计划由粗到细。软件计划的制定遵循由粗到细,不断精化的原则。首先制定一个(y)粗粒度的、确定项目高级活动和

23、预期里程碑的计划,为了便于计划的实施和贯彻,再对粗粒度的计划进行细化。一般说来,较小粒度的计划便于实施,完成的可靠性高。第四十七页,共92页。计划实施者和计划制定者的统一。实施者和制订者的分离容易导致两者的相互扯皮,甚至计划流产。创建项目计划的最佳人员是负责实施该计划的人员。当规划由一个人创建而由另一个人实施时,如果项目不能按时完成(wn chng)或超出预算,他们不太会相信计划,而很有可能会责备它。也就是说,参与项目的每个人都应该投入到项目计划的开发和进展中。第四十八页,共92页。第三节第三节 软件质量软件质量(zhling)(zhling)管理管理 近些年来,软件人员正不懈的追求软件质量,

24、虽然付出(fch)了巨大的努力,但是收效甚微。于是,大部分软件企业试图通过壮大软件测试队伍,希望通过加大测试力度来提高软件质量,然而,软件测试不能从根本上提高软件质量。究其原因,人们似乎对于软件质量的概念和内涵并不是很清楚,就更谈不上采取有效的方法提高软件的质量。我们认为,实施软件质量管理是软件开发过程不可缺少的一个重要环节。第四十九页,共92页。一、软件质量及其评价传统上,人们对软件质量的评价参数包括软件功能是否齐全、结构是否合理和层次是否分明等方面。不难发现,这些评价的描述是含糊不清的,不能对软件的质量做定性的分析。不精确的软件评价给用户和软件开发人员均带来消极作用,对用户而言,没有明确的

25、软件评价,用户就没有选购软件的依据;同时(tngsh),软件开发人员没有软件质量的评价标准,在软件的开发过程中就无“法”可依。因此,软件质量评价标准的制定有其必要性,也有重要意义。第五十页,共92页。美国的B.W.oehm和R.Brown提出了三个层次的评价度量模型,三个层次分别是软件(run jin)质量要素、准则和度量。在此我们对第一层次软件(run jin)质量要素作简单介绍。第五十一页,共92页。把软件质量分解成六个要素,通过如下的六个要素来评判(pngpn)软件质量:1.功能性:软件功能来源于软件的用户需求,用户需求分为显性需求和隐性需求,隐性需求泛指用户潜在的却不能陈述的软件需求;

26、功能性是软件满足用户需求的程度描述。第五十二页,共92页。2.可靠性:软件可靠性包含两个方面的内容,其一、软件在规定的运行(ynxng)环境下正常工作的程度;其二、软件在非法操作或故障发生时继续运行(ynxng)的程度。软件可靠性在软件工程中具有较大的实际意义,可靠性差的软件在故障发生时不能正常运行(ynxng),这将使得软件功能丧失。在必要时,可以建立软件保障系统,从根本上提高软件可靠性。第五十三页,共92页。3.易使用性:易使用性的内容包括软件用户界面的友好性和软件交互性,交互性和友好性是衡量软件使用是否方便的两个(lin)重要参数。4.效率:软件效率指软件运行时对所需的计算机资源利用的有

27、效程度,软件效率的衡量通常从时间和存储需求两方面入手。第五十四页,共92页。5.可维护性:软件的可维护性是指用户需求改变或软件环境发生变更时,软件系统能进行相应修改的容易程度,可维护性一般与软件的可读性、可理解(lji)性和可修改性相关。第五十五页,共92页。6.可移植性:可移植性指软件整体或部分对运行(ynxng)的系统和环境的依赖程度,依赖程度越高,软件可移植性越差。第五十六页,共92页。二、软件质量问题的根源虽然软件企业没有停止对软件质量的追求,但是事实表明(biomng)他们并没有在提高软件质量方面取得突破性进展。第五十七页,共92页。总的来说,较多质量不高的软件在软件开发中存在以下几

28、点共性:缺乏软件产品检验标准,开发人员在提高软件质量上还具有一定盲目性;软件开发人员缺乏质量意识;软件项目时间短、计划紧;软件项目资金不足,开发方降低(jingd)开发成本;没有有效的软件项目管理体制。第五十八页,共92页。据有关调查显示(xinsh),国内现有大部分软件存在不同程度的质量问题,但是如果在软件开发过程中贯彻全面质量管理思想,辅以有力的软件测试,软件质量的提高还有较大的空间。第五十九页,共92页。三、软件(run jin)质量与CMM(一)CMM概念CMM(Capability Maturity Model for Software),英文缩写名是SM-CMM,它指“软件(run

29、 jin)能力成熟度模型”,CMM是美国卡内基梅隆大学软件(run jin)工程研究所(简称SEI)的研究成果;SEI是美国国防部出资于1984年设立。第六十页,共92页。从1986年开始,SEI针对软件组织改善其软件过程,特别是美国国防部对软件承包商的能力(nngl)评价问题,研究“过程成熟度框架”。1987年9月,SEI发表了关于过程成熟度框架的简要说明和成熟度调查问卷。以这一过程成熟度框架为蓝本,在美国联邦政府促进下,从1987年到1991年在美国一些大公司的软件组织进行了软件过程能力(nngl)成熟度模型的评估实践。第六十一页,共92页。根据(gnj)这4年的实践经验,特别是从美国政府

30、和工业界反馈的关于软件过程评估的信息,SEI在原过程成熟度框架的基础上开发出了“软件能力成熟度模型(CMM)0.0版”。SEI给CMM下的定义是:对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。第六十二页,共92页。这个模型便于确定软件组织的现有过程能力和查找出软件质量及过程改进方面的最关键问题,从而为选择过程改进战略提供指南。SW-CMM为软件企业的过程能力提供了一个阶梯式的进化框架,它基于过去所有软件工程成果的过程改善的框架,吸取了以往软件工程的经验教训。它指明了一个成熟的软件组织在软件开发方面需要管理的那些主要工作、这些工作之间的关系、以及以怎样的先后次序

31、,一步一步的做好这些工作使软件组织走向成熟,是目前国际上最流行也是最实用(shyng)的软件生产过程标准。第六十三页,共92页。(二)CMM结构SW-CMM为软件企业的过程能力提供(tgng)了台阶式结构,共分五级,分别是初始级、可重级、定义级、管理级和优化级。初始级实际上是一个起点,任何准备按CMM结构进化的企业一般都处于这个起点上,并通过这个起点向可重级迈进。除初始级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一个级别迈进。CMM从可重级起,每一个低的级别实现均是高的级别实现的基础,所以它不主张级别跨越。第六十四页,共92页。SW-CMM提供阶梯式的进

32、化框架1.初始(ch sh)级初始(ch sh)级实际上是一个较为原始的阶段,初始(ch sh)级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。它的执行没有政策、资源等方面的保证时,那么它仍然被视为初始(ch sh)级。第六十五页,共92页。2.可重级可重级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面,可重级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重级的过程,一个可重级的过程则能逐渐进化(jnhu)和成熟。第六十六页,共92页。3.定义级定义级给出了定义执行的步骤标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这

33、个标准过程,剪裁出该项目的过程,并执行这些过程。过程的剪裁不是随意的,在使用前需经过企业有关人员(rnyun)的批准。第六十七页,共92页。4.管理级管理级的管理是量化的管理。所有过程需建立相应的度量方式,产品(chnpn)的质量需有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品(chnpn),量化控制将使软件开发真正变成工业生产活动。第六十八页,共92页。5.优化级优化级的目标是达到一个持续改善的境界。所谓持续改善是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果一个企业(qy)达到了这一级,那么表明该企业(qy)能够根据实际的项目性质、技术等因素

34、,不断调整软件生产过程以求达到最佳。第六十九页,共92页。从效果而言,在上述不同阶段,软件开发生产的成熟程度给软件企业带来了完全不同的效果。从第一阶段到第五个阶段,软件开发生产的计划精度(jn d)越来越高,每单位工程的生产周期越来越短,每单位工程的成本越来越低。CMM五级模型为软件质量的控制和质量的提高奠定了坚实的基础,它是当前软件质量控制领域研究的一个热点。第七十页,共92页。第四节第四节 软件软件(run jin)(run jin)经济学经济学 一、软件的价值观软件属于商品范畴,是价值和使用价值的复合体。显然价值是软件开发人员智慧及脑力劳动的结晶;使用价值特指软件作为一种(y zhn)商

35、品它具有满足用户的一种(y zhn)有用性,所以,软件有用性程度是我们衡量软件好坏的一个重要参数。第七十一页,共92页。但是软件自身的特殊性使得软件价值的评估显得较为抽象,它不同于其它一般商品(shngpn)的定价,软件商品(shngpn)是无形的。通常我们综合考虑影响软件商品(shngpn)价值的相关因素,采用不同的评估方法了确定软件价值。第七十二页,共92页。二、软件价值评估的因素软件价值与软件的成本有关,但是计算机软件给企业带来的经济效益也可能受各种因素的影响而具有(jyu)明显的不确定性,这给软件评估带来许多困难。总而言之,我们在进行软件评估时,通常综合考虑如下因素:第七十三页,共92

36、页。1、软件规模:软件规模主要指软件的系统大小,其衡量指数通常包括可执行程序或机器语言指令(zhlng)的字节数、高级语言语句的行数、系统数据存储量和文体数目等等。2、软件成本和可扩展性:软件成本是评估软件价值的一个重要参数;可扩展性差的软件系统的代价高。第七十四页,共92页。3、软件运行要求:软件对系统和运行环境的要求包括系统的支持系统环境及运行硬件(yn jin)要求。4、软件收益或经济寿命期:软件收益较难计算,一般而言,软件的效益是隐性的;软件的寿命周期是决定软件价值的另一重要参数。第七十五页,共92页。5、软件市场:现阶段软件的市场状况对软件价值(jizh)的评估影响较大,没有市场的软

37、件其自身的价值(jizh)无法最终体现。软件的市场需求量直接影响到软件的价值(jizh),随着市场需求及软件拷贝的销售量的递增,软件的单件价值(jizh)下降。第七十六页,共92页。但是,我们对于影响软件价值的研究要全盘考虑各个因素,在不同(b tn)的阶段影响软件价值的因素所起的作用是不一样的,因此,在软件价值评估的时候我们通常根据现实情况加权确定软件价值评估模型。第七十七页,共92页。三、软件评估方法当前常用的软件评估方法有重置成本法、收益现值法和现行市价法三种。重置成本法适合与对专用软件和尚未投入生产、销售的通用软件进行(jnxng)价值评估;而对于已经生产并投放市场的通用软件采用收益现

38、值法;现行市价法一般用来对有市场同类可比软件进行(jnxng)评估,其价值评估一般参考同类软件的市场价值。第七十八页,共92页。(一)重置成本法重置成本法按被评估资产的现时完全重置成本减去损耗或贬值来确定被评估资产的价格。其基本公式为:评估价值=重置全价-贬值(或重置全价成新率。)常用软件重置全价估算(sun)参数有开发成本要素、开发过程成本或语句行数,下面我们分别进行介绍:第七十九页,共92页。(1)开发成本要素(yo s)进行评估的计算公式如下:重置全价=(实耗材料量现时价格)+(实耗工时现行工时费用)+(原劳务消耗量现时收费标准)第八十页,共92页。(2)开发过程(guchng)成本评估

39、方法如下:根据软件开发过程(guchng)系统分析、系统设计、程序设计和软件测试的四个阶段,按每个阶段的工作量和每个工作量的成本来计算各阶段成本,各阶段的成本之和为总成本。具体的过程(guchng)成本估算步骤为:第八十一页,共92页。功能分解。把软件功能细化、分解,各功能的实现均有系统(xtng)分析、系统(xtng)设计、程序设计和软件测试四个阶段。各功能工作量计算。拆分每个功能为以上四个阶段的各自工作量;计算工作量成本。工作量成本和工作参与人员有关,同时受市场供给影响;第八十二页,共92页。(3)语句行数评估方法如下:语句行数评估方法计算公式为:软件重置全价=工作日成本工作日数。其中,工

40、作日数=编码行数日工作量定额(单位是行/日)。这里要求(yoqi)日工作量定额合理、准确、稳定、否则影响评估价值的准确性。第八十三页,共92页。(二)收益现值法收益现值法是指通过估算被评估资产的未来预期收益折算成现值。收益期限和预期收益额由评估人员(rnyun)分析预测评估对象的未来经营收益情况确定。第八十四页,共92页。(三)现行市场法。该法是通过比较类似的软件在自愿交易下的价格来确定软件的价值。应用这种方法评估计算机软件的前提条件是,市场上必须有与评估对象类比(lib)的同类软件的市场价格可供参考。运用这种方法,被评估的软件通常不是新软件,而是已有一定的流通年限。第八十五页,共92页。四、

41、软件风险评估通常软件开发人员在开发软件时,总认为每件事都会按计划一样的进行。但事实却难以预料,在软件开发时总有意想不到的事发生,软件开发是一项创造性的工作,其本身意味着不确定性,有无法预测的事件发生。如果这些突发事件引起软件项目脱离正常运作轨道(gudo),那就会导致软件项目的失败。第八十六页,共92页。软件项目管理存在着风险,在软件开发的过程中开发进度、预算、产品的功能、产品的性能或实时运行的效能会有风险。所以我们应提前重视风险,并加强(jiqing)防范,最大限度减少风险发生的机率。进行风险管理是软件项目中减少风险发生的重要手段。第八十七页,共92页。(一)风险管理风险具有不确定性和损失(

42、snsh)性。风险发生的时期与发生的情况是难以预料的,每个风险发生的结果也各有区别,风险带来的损失(snsh)情况也不同。要考虑到采取的方法,技术,工具,配备的人力,物力,在质量上应达到何种程度。风险的类型包括项目风险,技术风险,商业风险,管理风险和预算风险等。风险管理包括风险识别、风险评估、风险处理和风险监控。第八十八页,共92页。风险识别是提出一个潜在破坏项目进度的风险列表。主要涉及到以下几个方面的检查:产品规模风险检查;业务影响风险检查;与客户(k h)相关的风险检查;过程风险检查;技术风险检查;开发环境风险检查;与人员的模式和经验有关的风险检查等。识别风险的方法常用的有风险识别问询法(

43、座谈法、专家法)、财务报表法、流程图法、现场观察法、相关部门配合法和环境分析法等。第八十九页,共92页。(二)风险评估风险评估是对识别的风险进行估计和评价,估计一个风险出现的可能性的大小及由此带来的种种影响,同时判定风险的级别,确定该风险的经济意义和处理的费用与效用的分析。我们可以(ky)从成本、进度和性能等方面对风险进行评价,依据风险描述、概率和带来的影响对每个风险做出尽量准确的判断。第九十页,共92页。风险处理常用的方法有,风险控制法,积极主动采取措施避免风险,消灭风险采用紧急的方案(fng n)把风险降到最低。风险自留,当风险量不是很大时,可余留风险。风险转移。第九十一页,共92页。风险监控是对风险的过程进行监控,这主要靠管理者的经验来实施。例如(lr)开发人员的离职率较高,管理者可与在职人员进行协商,了解人员流动的原因,在项目开始前把该原因列入风险计划。项目开始时作好人员流动的准备,采取措施确保有人员离开时能继续工作。制定每个计划的文档,并对其进行分析和总结。同时对一些关键岗位的开发人员做好后继人员的培养,一旦他们离开有人员接替工作。第九十二页,共92页。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁