好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件工程经济学(一).ppt

77页
  • 卖家[上传人]:小**
  • 文档编号:61286200
  • 上传时间:2018-11-28
  • 文档格式:PPT
  • 文档大小:919.50KB
  • / 77 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 软件工程经济学,Software Engineering Economics 专业必修课,32学时,Software Engineering Economics (SEE),教材:赵玮,软件工程经济学,西安电子科技大出版社,2008.9 参考书: [1] B.W.Boehm, Software Engineering Economics, Prentice-Hall. Inc, 1981 [2] B.W.Boehm, Software Cost Estimation with COCOMII,Prentice-Hall. Inc, 2000 [3] L.Bernard, Cost Estimation of Software Develop, 北京,清华大学出版社,1991,软件工程经济学(目录),第1章 软件工程与软件工程经济学 1.1软件、 软件产业与软件企业 1.2 软件工程 1.3 软件工程经济学的内涵、特点与任务 第2章 软件工程经济学基础 2.1 软件工程经济分析的基本要素 2.2 现金流的贴现与预计 2.3 招标与投标 2.4 项目评价与决策方法,软件工程经济学(目录),第3章 软件的成本、工期与定价分析 3.1 软件成本构成及其影响因素分析 3.2 软件成本、工期的测算方法 3.3 软件成本与价值工程分析 3.4 软件定价与销售分析 第4章 软件项目的经济、社会效益与风险分析 4.1 软件项目的经济效果评价 4.2 软件项目的经济与社会效益分析 4.3 软件项目的风险分析与控制,软件工程经济学(目录),第5章 软件生产过程经济分析 5.1 软件生产函数与软件生产率 5.2 软件生产过程经济分析 5.3 不同规模的软件生产过程经济分析 5.4 软件的理论生存周期长度及其关联分析 第6章 软件项目的进度计划制订与团队组织 6.1 基本概念与工作流程 6.2 进度计划的分析与求解 6.3 软件项目开发团队的组织与建设,软件工程经济学(目录),第7章 软件测试的资源分配、进度管理与最优发行 7.1 软件测试与可靠性增长 7.2 软件测试的资源分配与进度管理 7.3 软件最优发行问题 7.4 软件系统信息库建设,软件工程技术学:在软件开发、运行和维护全过程中,为满足用户功能与性能需求而采用的工程技术方法的全体称为软件工程技术学 软件工程管理学:在软件开发、运行和维护全过程中,为满足用户对人员、设备的计划、组织、协调、控制需求而采用的工程管理方法的全体称为软件工程管理学 软件工程经济学:在软件开发、运行和维护全过程中,为满足用户的成本、质量、时间(工期)、效益需求而采用的工程经济方法的全体称为软件工程经济学,1.1软件、 软件产业与软件企业,1.1.1 软件 目前学术界对软件的普遍性解释为:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。

      程序是指按事先设计的功能和性能要求执行的指令序列 数据是指使程序能正常操纵信息的数据结构 文档是与程序开发、维护和使用有关的图文资料,1.1软件、 软件产业与软件企业,软件作为一个产品或服务,与其他产品相比具有很大的区别,具体表现出如下特点: (1) 软件是信息产品,具有无形性、抽象性、可复制性和共享性与硬件相比,软件是一种逻辑实体而非物理实体,它可以记录在纸面上,保存在计算机的软、硬、光盘里,但必须通过使用、测试、分析等途径才能了解它的功能、性能和其它特性1.1软件、 软件产业与软件企业,(2) 软件的生产过程独特,经历规划与计划、需求分析、设计、编程、测试、运行和维护等环节来形成产品使用的,而不像硬件的生产过程是以原材料器件采购、运输、库存开始,然后经规划、设计、研制、生产、销售、运行与维护来形成产品使用的 (3) 软件产品是知识的结晶,创新已成为软件产品发展的动力和企业竞争的焦点产品周期短,技术更新快,集成化程度高,已成为软件产品的重要特征1.1软件、 软件产业与软件企业,(4) 软件生产基于开发人员的思维与认识的片面性,经验与技术的不足,长时间的开发劳动造成的心理和体力的疲乏以及与用户的相互沟通的不足等原因,软件在提交使用时,各种潜在的固有差错是无法避免的,且这种潜在的固有差错数将随着软件规模的增大而增大。

      (5) 软件的成本构成与硬件产品相比,无需库存成本由于软件可以通过因特网进行销售,故其销售成本较低,且伴随着软件向服务方向的转移,开发成本的比例越来越低,而使用维护成本的比例越来越高1.1软件、 软件产业与软件企业,(6) 软件产品与硬件相比而言,市场的进入壁垒一般较低,软件企业竞争十分激烈,这就迫使软件企业不能固守传统产品,而要不断地推陈出新,更新换代1.1软件、 软件产业与软件企业,1.1.2 软件产业 软件产业是指软件产品和软件服务相关的一切经济活动和关系的总称 软件产业包括软件产品和软件服务两大部分 软件产品:系统软件、支撑软件和应用软件 软件服务:信息系统集成,信息系统运行和维护服务,数据中心与资源外包服务,数据加工与处理服务,软件测试服务,信息系统咨询和评估服务,信息系统监理,软件与信息系统管理与人才工程化培训等,1.1软件、 软件产业与软件企业,软件产业具有如下特征: (1) 高技术、高附加价值与高效益软件产业是典型的技术密集、知识密集的高技术产业 (2) 与其他产业的高度关联性软件产业由于其“服务性”的宗旨,其服务领域涉及到国民经济的任何一个部门 (3) 国际化特征明显。

      一批跨国公司正在兴起,并领导着国际软件市场和软件技术标准的发展,同时也为国际间的软件加工和业务外包提供了空间1.1软件、 软件产业与软件企业,(4) 专业化分工越来越细 (5) 规模经济效益日益明显软件产业的服务化趋势越来越明确,产业集中度越来越高,规模经济效益正在日益明显以美国为代表的少数国家掌握着软件的核心技术和知识产权,处于产业发展的中心地位,处于价值链的高端1.1软件、 软件产业与软件企业,国际软件产业在经过不断的产业创新与发展后,分别形成了以下四种具有特色的软件产业类型: (1) 美国的技术与服务领导型; (2) 印度的国际加工服务型; (3) 爱尔兰的生产本地化型; (4) 西欧和日本的嵌入式系统开发型1.1软件、 软件产业与软件企业,1.1.3 软件企业及其管理 从市场角度出发,软件企业可分为软件产品企业和软件服务企业两类 软件更像一个特殊的项目(Project)而软件企业管理就可用项目管理(Project Management)的理论和方法来进行指导1.2 软件工程 1.2.1 软件工程概念,软件工程的诞生源于“软件危机” 软件危机是指在计算机软件开发中的一系列问题。

      软件技术问题:如怎样开发软件?怎样维护现有的、容量又在不断增加的软件?我们怎样做才能满足人类对软件需求的不断增长等等 经济问题:如软件开发过程中成本和进度估计往往不精确,软件质量与可靠性的概念十分可疑,如何来处理一些相互对立的软件目标,如成本、工期、可靠性等,软件测试究竟需要多长时间才能投放市场等等1.2 软件工程,软件工程是一门适用于软件开发全过程的系统工程方法论的学科,其目的是为满足人们对软件生产的成本、质量、时间(工期)和效率、效益和管理等的需求 根据系统工程的理论,任何一个工程学科,其方法论均可划分为三大部分:工程技术学方法、工程经济学方法和工程管理学方法1.2 软件工程 1.2.1 软件工程概念,1.2 软件工程 1.2.1 软件工程概念,软件项目与硬件产品生产一样,为了获得高效率的生产和质优、价低的产品,必须运用科学的理论与方法,如系统工程、工程经济学、项目管理的理论与方法来指导软件开发的全过程,并进行必要的定量分析与评价 软件工程经济学中所涉及的软件基本度量包括:软件规模、软件复杂性、软件可靠性、软件安全性与软件质量等的度量软件作为一个特殊产品与其他产品一样有其自生到灭的生存过程。

      通常我们将软件以概念形成开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生存周期(Software life Cycle)1.2 软件工程 1.2.2 软件生存周期、开发模型与任务分解,基于产品质量控制的需求,人们需要对上述各阶段的工作成果进行评价,因而除可行性研究评审外,人们还需要作单元测试与评价,组装测试与评价,集成测试(确认测试)与评审,运行测试与评价等活动有关上述各阶段活动的相互关联见下图1.2 软件工程 1.2.2 软件生存周期、开发模型与任务分解,1.2 软件工程 1.2.2 软件生存周期、开发模型与任务分解,软件生存周期中各阶段活动的关联图示称为软件的开发模型1.2 软件工程 1.2.2 软件生存周期、开发模型与任务分解,1.2 软件工程 1.2.2 软件生存周期、开发模型与任务分解,螺旋模型,工作任务分解所形成的层次结构被称为工作(任务)分解结构(Work Breakdown Structure,WBS),1.2 软件工程 1.2.2 软件生存周期、开发模型与任务分解,1.2 软件工程 1.2.2 软件生存周期、开发模型与任务分解,1.2 软件工程 1.2.2 软件生存周期、开发模型与任务分解,1.2.3软件规模度量,目前在软件工程界中影响较大的软件规模度量单位有程序源代码行(Lines Of Code.,LOC)和功能点(Functional Point,FP)两种。

      1.2.3软件规模度量,功能点 计算方法的基本思想为首先计算软件的五个基本信息量:外部输入数(External Input.,EI)、外部输出数(External Output.,EO)、外部查询数(External Query.,EQ)、内部逻辑文件数(Internal Logical File.,ILF)、外部接口文件数(External Interface File.,EIF)的加权和CT,然后对其通过14个环境复杂性因子作如下修正1.2.3软件规模度量,1.2.3软件规模度量,wj为第j个基本信息量dj的加权系数或复杂程度系数; d1即为外部输入数(EI),它包括了每个用户为软件提供的输入参数个数(不包括查询数),体现了软件面向用户服务的数量特征; d2即外部输出数(EO),它指软件为用户提供的输出参数个数,如报告数、屏幕帧数、错误信息个数等; d3即外部查询数(EQ),它规定一个联机输入确定一次查询,软件以联机输出的形式实时地产生一个响应,统计各种查询个数; d4即内部逻辑文件数(ILF),它要求统计内部逻辑主文件数;,1.2.3软件规模度量,d5即外部接口文件数,通常指所有机器可读的界面(如磁盘或磁带上的数据文件),利用此接口界面可以将信息从一个系统传送到另一个系统; CT称为软件的功能数,PCA称为系统功能的复杂性调整因子。

      1.2.3软件规模度量,1.2.3软件规模度量,1.2.3软件规模度量,[例1.1] 某软件根据需求分析,对照表1.11的各项要求,得到环境复杂性因子 , 五个信息量的数值dj及其对应权系数wj之取值见表1.12,于是由(1.1)式可得软件系统其需求功能点为:,1.2.3软件规模度量,若功能点与源代码行的转换率μ为 μ=15 kLOC/FP 则该软件系统有规模 LS=FP·15=8210LOC=8.21 kLOC,1.2.4 软件复杂性度量,复杂性是软件的重要属性之一,任何一个有经验的程序员都知道对于同种规模而复杂性不同的软件,其花费的成本和工期会有很大的差异 如下的六个方面可作为软件复杂性描述的依据: (1) 理解程序的难度; (2) 纠错、维护程序的难度; (3) 向他人解释程序的难度; (4) 按指定方法修改程序的难度; (5) 根据设计文件编写程序工作量的大小程度; (6) 执行程序时需要资源的多少程度1.2.4 软件复杂性度量,20世纪70年代M.。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.