软件工程经济学.ppt

上传人:p** 文档编号:166081 上传时间:2023-03-10 格式:PPT 页数:68 大小:1,011.50KB
下载 相关 举报
软件工程经济学.ppt_第1页
第1页 / 共68页
软件工程经济学.ppt_第2页
第2页 / 共68页
软件工程经济学.ppt_第3页
第3页 / 共68页
软件工程经济学.ppt_第4页
第4页 / 共68页
软件工程经济学.ppt_第5页
第5页 / 共68页
软件工程经济学.ppt_第6页
第6页 / 共68页
软件工程经济学.ppt_第7页
第7页 / 共68页
软件工程经济学.ppt_第8页
第8页 / 共68页
软件工程经济学.ppt_第9页
第9页 / 共68页
软件工程经济学.ppt_第10页
第10页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件工程经济学.ppt》由会员分享,可在线阅读,更多相关《软件工程经济学.ppt(68页珍藏版)》请在第壹文秘上搜索。

1、软件工程经济学:软件工程经济学: 在软件开发、运行和维护全过程中,在软件开发、运行和维护全过程中,为满足用户的成本、质量、时间为满足用户的成本、质量、时间(工期工期)、效益需求而采用的工程经济方法的全体效益需求而采用的工程经济方法的全体称为软件工程经济学。称为软件工程经济学。1.1.1 软件 目前学术界对软件的普遍性解释为:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序程序、数据数据及其相关文档文档的完整集合。 程序是指按事先设计的功能和性能要求执行的指令序列 数据是指使程序能正常操纵信息的数据结构 文档是与程序开发、维护和使用有关的图文资料2023-3-10 软件作为一个产品或服务

2、,与其他产品相比具有很大的区别,具体表现出如下特点:(1) 软件是信息产品信息产品,具有无形性、抽象性、可复制性和共享性。与硬件相比,软件是一种逻辑实体而非物理实体,它可以记录在纸面上,保存在计算机的软、硬、光盘里,但必须通过使用、测试、分析等途径才能了解它的功能、性能和其它特性。2023-3-10 (2) 软件的生产过程独特生产过程独特,经历规划与计划、需求分析、设计、编程、测试、运行和维护等环节来形成产品使用的,而不像硬件的生产过程是以原材料器件采购、运输、库存开始,然后经规划、设计、研制、生产、销售、运行与维护来形成产品使用的。(3) 软件产品是知识的结晶知识的结晶,创新已成为软件产品发

3、展的动力和企业竞争的焦点。产品周期短,技术更新快,集成化程度高,已成为软件产品的重要特征。2023-3-10(4) 软件生产基于开发人员的思维与认识的片面性基于开发人员的思维与认识的片面性,经验与技术的不足,长时间的开发劳动造成的心理和体力的疲乏以及与用户的相互沟通的不足等原因,软件在提交使用时,各种潜在的固有差错潜在的固有差错是无法避免是无法避免的,且这种潜在的固有差错数将随着软件规模的增大而增大。(5) 软件的成本构成与硬件产品相比,无需库存成本。由于软件可以通过因特网进行销售,故其销售成本较低,且伴随着软件向服务方向的转移,开发开发成本的比例越来越低,而使用维护成本的比例越成本的比例越来

4、越低,而使用维护成本的比例越来越高来越高。2023-3-10(6) 软件产品与硬件相比而言,市场的进入壁市场的进入壁垒一般较低垒一般较低,软件企业竞争十分激烈,这就迫使软件企业不能固守传统产品,而要不断地推陈出新,更新换代。2023-3-101.1.2 软件产业 软件产业是指软件产品和软件服务相关的一切经济活动和关系的总称。 软件产业包括软件产品软件产品和软件服务软件服务两大部分软件产品:系统软件、支撑软件和应用软件软件服务:信息系统集成,信息系统运行和维护服务,数据中心与资源外包服务,数据加工与处理服务,软件测试服务,信息系统咨询和评估服务,信息系统监理,软件与信息系统管理与人才工程化培训等

5、2023-3-10软件产业具有如下特征:软件产业具有如下特征:(1) 高技术、高附加价值与高效益。高技术、高附加价值与高效益。软件产业是典型的技术密集、知识密集的高技术产业。(2) 与其他产业的高度关联性与其他产业的高度关联性。软件产业由于其“服务性”的宗旨,其服务领域涉及到国民经济的任何一个部门。(3) 国际化特征明显。国际化特征明显。一批跨国公司正在兴起,并领导着国际软件市场和软件技术标准的发展,同时也为国际间的软件加工和业务外包提供了空间。2023-3-10(4) 专业化分工越来越细。专业化分工越来越细。(5) 规模经济效益日益明显规模经济效益日益明显。软件产业的服务化趋势越来越明确,产

6、业集中度越来越高,规模经济效益正在日益明显。以美国为代表的少数国家掌握着软件的核心技术和知识产权,处于产业发展的中心地位,处于价值链的高端。2023-3-10 国际软件产业在经过不断的产业创新与发展后,分别形成了以下四种具有特色的软件产业类型:(1) 美国的技术与服务领导型;(2) 印度的国际加工服务型; (3) 爱尔兰的生产本地化型;(4) 西欧和日本的嵌入式系统开发型。2023-3-101.1.3 软件企业及其管理软件企业及其管理 从市场角度出发,软件企业可分为软件产品企业软件产品企业和软件服务企业软件服务企业两类 软件更像一个特殊的项目(Project)。而软件企业管理就可用项目管理(P

7、roject Management)的理论和方法来进行指导。2023-3-10 软件工程的诞生源于“软件危机” 软件危机是指在计算机软件开发中的一系列问题。 软件技术问题:软件技术问题:如怎样开发软件?怎样维护现有的、容量又在不断增加的软件?我们怎样做才能满足人类对软件需求的不断增长等等 经济问题:经济问题:如软件开发过程中成本和进度估计往往不精确,软件质量与可靠性的概念十分可疑,如何来处理一些相互对立的软件目标,如成本、工期、可靠性等,软件测试究竟需要多长时间才能投放市场等等。2023-3-10 软件工程是一门适用于软件开发全过程的系统工程方法论的学科,其目的是为满足人们对软件生产的成本、质

8、量、时间成本、质量、时间(工期工期)和效率、效益和管理和效率、效益和管理等的需求。 根据系统工程的理论,任何一个工程学科,其方法论均可划分为三大部分:工程技术工程技术学方法、工程经济学方法和工程管理学方学方法、工程经济学方法和工程管理学方法法。2023-3-10 软件项目与硬件产品生产一样,为了获得高效率的生产和质优、价低的产品,必须运用科学的理论与方法,如系统工程、工程经济学、项目管理的理论与方法来指导软件开发的全过程,并进行必要的定量定量分析与评价。 软件工程经济学中所涉及的软件基本度量包括:软件规模、软件复杂性、软件可靠软件规模、软件复杂性、软件可靠性、软件安全性与软件质量等的度量。性、

9、软件安全性与软件质量等的度量。2023-3-10 软件作为一个特殊产品与其他产品一样有其自生到灭的生存过程。通常我们将软件以概念形成开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生存周期(Software life Cycle)。1.2.2 软件生存周期、开发模型与任务分解2023-3-10 基于产品质量控制的需求,人们需要对上述各阶段的工作成果进行评价,因而除可行性研究评审外,人们还需要作单元测试与评价,组装测试与评价,集成测试(确认测试)与评审,运行测试与评价等活动。有关上述各阶段活动的相互关联见下图。1.2.2 软件生存周期、开发模型与任务分解2023-3-101.2.2 软

10、件生存周期、开发模型与任务分解2023-3-10 软件生存周期中各阶段活动的关联图示称为软件的开发模型。1.2.2 软件生存周期、开发模型与任务分解2023-3-101.2.2 软件生存周期、开发模型与任务分解螺旋模型2023-3-10 工作任务分解所形成的层次结构被称为工作(任务)分解结构(Work Breakdown Structure,WBS)1.2.2 软件生存周期、开发模型与任务分解2023-3-101.2.2 软件生存周期、开发模型与任务分解2023-3-101.2.2 软件生存周期、开发模型与任务分解2023-3-10 目前在软件工程界中影响较大的软件规模度量单位有程序源代码行(

11、Lines Of Code.,LOC)和功能点(Functional Point,FP)两种。2023-3-10 功能点计算方法的基本思想为首先计算软件的五个基本信息量:外部输入数(External Input.,EI)、外部输出数(External Output.,EO)、外部查询数(External Query.,EQ)、内部逻辑文件数(Internal Logical File.,ILF)、外部接口文件数(External Interface File.,EIF)的加权和CT,然后对其通过14个环境复杂性因子作如下修正。2023-3-1051141FP = CT PCACTPCA0.65

12、0.01Fijjiiwd2023-3-10 wj为第j个基本信息量dj的加权系数或复杂程度系数; d1即为外部输入数(EI),它包括了每个用户为软件提供的输入参数个数(不包括查询数),体现了软件面向用户服务的数量特征; d2即外部输出数(EO),它指软件为用户提供的输出参数个数,如报告数、屏幕帧数、错误信息个数等; d3即外部查询数(EQ),它规定一个联机输入确定一次查询,软件以联机输出的形式实时地产生一个响应,统计各种查询个数; d4即内部逻辑文件数(ILF),它要求统计内部逻辑主文件数;2023-3-10 d5即外部接口文件数,通常指所有机器可读的界面(如磁盘或磁带上的数据文件),利用此接

13、口界面可以将信息从一个系统传送到另一个系统; CT称为软件的功能数,PCA称为系统功能的复杂性调整因子。2023-3-102023-3-102023-3-10 例例1.1 某软件根据需求分析,对照表1.11的各项要求,得到环境复杂性因子 , 五个信息量的数值dj及其对应权系数wj之取值见表1.12,于是由(1.1)式可得软件系统其需求功能点为:14124iFi2023-3-1014514111FP = CT(0.650.01)(0.650.01)615 (0.650.24)615 0.89547.35ijjiijiFw dF若功能点与源代码行的转换率为 =15 kLOC/FP则该软件系统有规模

14、LS=FP15=8210LOC=8.21 kLOC2023-3-10 复杂性是软件的重要属性之一,任何一个有经验的程序员都知道。对于同种规模而复杂性不同的软件,其花费的成本和工期会有很大的差异。 如下的六个方面可作为软件复杂性描述的依据:(1) 理解程序的难度;(2) 纠错、维护程序的难度;(3) 向他人解释程序的难度;(4) 按指定方法修改程序的难度;(5) 根据设计文件编写程序工作量的大小程度;(6) 执行程序时需要资源的多少程度。2023-3-10 20世纪70年代M.Halstead从统计学和心理学的角度来研究软件复杂性问题,提出用程序中可执行代码的词汇量(操作符与操作数)来计算和分析

15、软件复杂性的方法,并在此基础上还可将其转换成软件规模的测算。2023-3-10 通过数学推导,可以证明程序语言的符号长度(又称词汇总数)N可近似地由下式确定:N=n1 lbn1+n2 lbn2 (1.2) 式中,n1为程序中不同操作符的个数;n2为不同操作数的个数;lbn即log2n。此外,利用转换公式CNL 2023-3-10 还可将程序语言的符号长度N转换成源程序行数L(不含注释性语句),其中C为转换系数,它与所使用的程序设计语言有关,同时也与软件类型以及程序员的编程风格等因素有关,可以通过对历史数据的统计分析来估计。在一般情况下,FORTRAN语言编程时有C=7.5,用PASCAL语言编

16、程时有C=4.0。2023-3-10 衡量产品质量高低的指标有技术性能指标和可靠性指标,其中技术性能指标用来反映产品所具有的功能与性能的技术水平,如计算机的字长、容量、运算速度等,而可靠性指标则用来反映产品维持良好功能与性能的持久能力或经久耐用的能力。2023-3-10 硬件产品由于设计错误,制造流程与工艺问题,使用时元器件所承担的载荷过大,环境(温度、工作电流)发生突变以及机械磨损等原因都可能导致硬件故障。 随着人们对硬件可靠性的认识重视和研究的深入,提出了一系列科学的可靠性设计,可靠度分配方法,电子信息产品在生产过程中的实验、验证和鉴定方法以及在包装、贮存和运输等方面规范要求,从而使硬件产品可靠性水平有了极大的提高。 与硬件相比,由于软件生产更多地依赖于人的劳动。2023-3-10 设程序按照规格说明从初始时刻t=0 开始运行直到发生故障为止这一连续时间段称为软件的寿命。 易知软件寿命是一个非负随机变量,其分布函数F(x)=p(x)称为软件产品的寿命分布函数,而软件产品在时刻t的生存概率R(t)=P(t)=1F(t)称为该软件产品的可靠度函数或可靠度。 分布函数完整的描述了随机变量

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经济/贸易/财会 > 经济学

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

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