软件工程经济学PPT学习课件.ppt
软件工程经济学Software Engineering Economics专业必修课,32学时1Software Engineering Economics(SEE)l教材:赵玮,软件工程经济学,西安电子科技大出版社,2008.9l参考书:l1 B.W.Boehm,Software Engineering Economics,Prentice-Hall.Inc,1981l2 B.W.Boehm,Software Cost Estimation with COCOMII,Prentice-Hall.Inc,2000l3 L.Bernard,Cost Estimation of Software Develop,北京,清华大学出版社,1991软件工程经济学(目录)l第1章 软件工程与软件工程经济学1.1软件、软件产业与软件企业1.2 软件工程1.3 软件工程经济学的内涵、特点与任务l第2章 软件工程经济学基础2.1 软件工程经济分析的基本要素2.2 现金流的贴现与预计2.3 招标与投标2.4 项目评价与决策方法软件工程经济学(目录)l第3章 软件的成本、工期与定价分析3.1 软件成本构成及其影响因素分析3.2 软件成本、工期的测算方法3.3 软件成本与价值工程分析3.4 软件定价与销售分析l第4章 软件项目的经济、社会效益与风险分析4.1 软件项目的经济效果评价4.2 软件项目的经济与社会效益分析4.3 软件项目的风险分析与控制软件工程经济学(目录)l第5章 软件生产过程经济分析5.1 软件生产函数与软件生产率5.2 软件生产过程经济分析5.3 不同规模的软件生产过程经济分析5.4 软件的理论生存周期长度及其关联分析l第6章 软件项目的进度计划制订与团队组织6.1 基本概念与工作流程6.2 进度计划的分析与求解6.3 软件项目开发团队的组织与建设软件工程经济学(目录)l第7章 软件测试的资源分配、进度管理与最优发行7.1 软件测试与可靠性增长7.2 软件测试的资源分配与进度管理7.3 软件最优发行问题7.4 软件系统信息库建设l软件工程技术学软件工程技术学:在软件开发、运行和维护全过程中,为满足用户功能与性能需求而采用的工程技术方法的全体称为软件工程技术学l软件工程管理学软件工程管理学:在软件开发、运行和维护全过程中,为满足用户对人员、设备的计划、组织、协调、控制需求而采用的工程管理方法的全体称为软件工程管理学l软件工程经济学软件工程经济学:在软件开发、运行和维护全过程中,为满足用户的成本、质量、时间(工期)、效益需求而采用的工程经济方法的全体称为软件工程经济学1.1软件、软件产业与软件企业1.1.1 软件l目前学术界对软件的普遍性解释为:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序程序、数据数据及其相关文档文档的完整集合。程序是指按事先设计的功能和性能要求执行的指令序列数据是指使程序能正常操纵信息的数据结构文档是与程序开发、维护和使用有关的图文资料1.1软件、软件产业与软件企业l软件作为一个产品或服务,与其他产品相比具有很大的区别,具体表现出如下特点:(1)软件是信息产品信息产品,具有无形性、抽象性、可复制性和共享性。与硬件相比,软件是一种逻辑实体而非物理实体,它可以记录在纸面上,保存在计算机的软、硬、光盘里,但必须通过使用、测试、分析等途径才能了解它的功能、性能和其它特性。1.1软件、软件产业与软件企业 (2)软件的生产过程独特生产过程独特,经历规划与计划、需求分析、设计、编程、测试、运行和维护等环节来形成产品使用的,而不像硬件的生产过程是以原材料器件采购、运输、库存开始,然后经规划、设计、研制、生产、销售、运行与维护来形成产品使用的。(3)软件产品是知识的结晶知识的结晶,创新已成为软件产品发展的动力和企业竞争的焦点。产品周期短,技术更新快,集成化程度高,已成为软件产品的重要特征。1.1软件、软件产业与软件企业(4)软件生产基于开发人员的思维与认识的片面性基于开发人员的思维与认识的片面性,经验与技术的不足,长时间的开发劳动造成的心理和体力的疲乏以及与用户的相互沟通的不足等原因,软件在提交使用时,各种潜在的固有差错潜在的固有差错是无法避免是无法避免的,且这种潜在的固有差错数将随着软件规模的增大而增大。(5)软件的成本构成与硬件产品相比,无需库存成本。由于软件可以通过因特网进行销售,故其销售成本较低,且伴随着软件向服务方向的转移,开发成本的比例越来越低,而使用维护成本的比开发成本的比例越来越低,而使用维护成本的比例越来越高例越来越高。1.1软件、软件产业与软件企业(6)软件产品与硬件相比而言,市场的进入市场的进入壁垒一般较低壁垒一般较低,软件企业竞争十分激烈,这就迫使软件企业不能固守传统产品,而要不断地推陈出新,更新换代。1.1软件、软件产业与软件企业1.1.2 软件产业l软件产业是指软件产品和软件服务相关的一切经济活动和关系的总称。l软件产业包括软件产品软件产品和软件服务软件服务两大部分软件产品:系统软件、支撑软件和应用软件软件服务:信息系统集成,信息系统运行和维护服务,数据中心与资源外包服务,数据加工与处理服务,软件测试服务,信息系统咨询和评估服务,信息系统监理,软件与信息系统管理与人才工程化培训等1.1软件、软件产业与软件企业软件产业具有如下特征:软件产业具有如下特征:(1)高技术、高附加价值与高效益。高技术、高附加价值与高效益。软件产业是典型的技术密集、知识密集的高技术产业。(2)与其他产业的高度关联性与其他产业的高度关联性。软件产业由于其“服务性”的宗旨,其服务领域涉及到国民经济的任何一个部门。(3)国际化特征明显。国际化特征明显。一批跨国公司正在兴起,并领导着国际软件市场和软件技术标准的发展,同时也为国际间的软件加工和业务外包提供了空间。1.1软件、软件产业与软件企业(4)专业化分工越来越细。专业化分工越来越细。(5)规模经济效益日益明显规模经济效益日益明显。软件产业的服务化趋势越来越明确,产业集中度越来越高,规模经济效益正在日益明显。以美国为代表的少数国家掌握着软件的核心技术和知识产权,处于产业发展的中心地位,处于价值链的高端。1.1软件、软件产业与软件企业 国际软件产业在经过不断的产业创新与发展后,分别形成了以下四种具有特色的软件产业类型:(1)美国的技术与服务领导型;(2)印度的国际加工服务型;(3)爱尔兰的生产本地化型;(4)西欧和日本的嵌入式系统开发型。1.1软件、软件产业与软件企业1.1.3 1.1.3 软件企业及其管理软件企业及其管理l从市场角度出发,软件企业可分为软件产品企业软件产品企业和软件服务企业软件服务企业两类l软件更像一个特殊的项目(Project)。而软件企业管理就可用项目管理(Project Management)的理论和方法来进行指导。1.2 软件工程软件工程1.2.1 软件工程概念l软件工程的诞生源于“软件危机”l软件危机是指在计算机软件开发中的一系列问题。软件技术问题:软件技术问题:如怎样开发软件?怎样维护现有的、容量又在不断增加的软件?我们怎样做才能满足人类对软件需求的不断增长等等经济问题:经济问题:如软件开发过程中成本和进度估计往往不精确,软件质量与可靠性的概念十分可疑,如何来处理一些相互对立的软件目标,如成本、工期、可靠性等,软件测试究竟需要多长时间才能投放市场等等。1.2 软件工程软件工程l软件工程是一门适用于软件开发全过程的系统工程方法论的学科,其目的是为满足人们对软件生产的成本、质量、时间成本、质量、时间(工期工期)和效率、效益和管理和效率、效益和管理等的需求。l根据系统工程的理论,任何一个工程学科,其方法论均可划分为三大部分:工程技术工程技术学方法、工程经济学方法和工程管理学方学方法、工程经济学方法和工程管理学方法法。1.2 软件工程软件工程1.2.1 软件工程概念1.2 软件工程软件工程1.2.1 软件工程概念l软件项目与硬件产品生产一样,为了获得高效率的生产和质优、价低的产品,必须运用科学的理论与方法,如系统工程、工程经济学、项目管理的理论与方法来指导软件开发的全过程,并进行必要的定量定量分析与评价。l软件工程经济学中所涉及的软件基本度量包括:软件规模、软件复杂性、软件可靠软件规模、软件复杂性、软件可靠性、软件安全性与软件质量等的度量。性、软件安全性与软件质量等的度量。l软件作为一个特殊产品与其他产品一样有其自生到灭的生存过程。通常我们将软件以概念形成开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生存周期(Software life Cycle)。1.2 软件工程软件工程 1.2.2 软件生存周期、开发模型与任务分解l基于产品质量控制的需求,人们需要对上述各阶段的工作成果进行评价,因而除可行性研究评审外,人们还需要作单元测试与评价,组装测试与评价,集成测试(确认测试)与评审,运行测试与评价等活动。有关上述各阶段活动的相互关联见下图。1.2 软件工程软件工程 1.2.2 软件生存周期、开发模型与任务分解1.2 软件工程软件工程 1.2.2 软件生存周期、开发模型与任务分解l软件生存周期中各阶段活动的关联图示称为软件的开发模型。1.2 软件工程软件工程 1.2.2 软件生存周期、开发模型与任务分解1.2 软件工程软件工程 1.2.2 软件生存周期、开发模型与任务分解螺旋模型l工作任务分解所形成的层次结构被称为工作(任务)分解结构(Work Breakdown Structure,WBS)1.2 软件工程软件工程 1.2.2 软件生存周期、开发模型与任务分解1.2 软件工程软件工程 1.2.2 软件生存周期、开发模型与任务分解1.2 软件工程软件工程 1.2.2 软件生存周期、开发模型与任务分解1.2.3软件规模度量软件规模度量l目前在软件工程界中影响较大的软件规模度量单位有程序源代码行(Lines Of Code.,LOC)和功能点(Functional Point,FP)两种。1.2.3软件规模度量软件规模度量l功能点计算方法的基本思想为首先计算软件的五个基本信息量:外部输入数(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软件规模度量软件规模度量lwj为第j个基本信息量dj的加权系数或复杂程度系数;ld1即为外部输入数(EI),它包括了每个用户为软件提供的输入参数个数(不包括查询数),体现了软件面向用户服务的数量特征;ld2即外部输出数(EO),它指软件为用户提供的输出参数个数,如报告数、屏幕帧数、错误信息个数等;ld3即外部查询数(EQ),它规定一个联机输入确定一次查询,软件以联机输出的形式实时地产生一个响应,统计各种查询个数;ld4即内部逻辑文件数(ILF),它要求统计内部逻辑主文件数;1.2.3软件规模度量软件规模度量ld5即外部接口文件数,通常指所有机器可读的界面(如磁盘或磁带上的数据文件),利用此接口界面可以将信息从一个系统传送到另一个系统;lCT称为软件的功能数,PCA称为系统功能的复杂性调整因子。1.2.3软件规模度量软件规模度量1.2.3软件规模度量软件规模度量1.2.3软件规模度量软件规模度量l例例1.11.1 某软件根据需求分析,对照表1.11的各项要求,得到环境复杂性因子 ,五个信息量的数值dj及其对应权系数wj之取值见表1.12,于是由(1.1)式可得软件系统其需求功能点为:1.2.3软件规模度量软件规模度量若功能点与源代码行的转换率为 =15 kLOC/FP则该软件系统有规模LS=FP15=8210LOC=8.21 kLOC1.2.4 软件复杂性度量软件复杂性度量l复杂性是软件的重要属性之一,任何一个有经验的程序员都知道。对于同种规模而复杂性不同的软件,其花费的成本和工期会有很大的差异。l如下的六个方面可作为软件复杂性描述的依据:(1)理解程序的难度;(2)纠错、维护程序的难度;(3)向他人解释程序的难度;(4)按指定方法修改程序的难度;(5)根据设计文件编写程序工作量的大小程度;(6)执行程序时需要资源的多少程度。1.2.4 软件复杂性度量软件复杂性度量l20世纪70年代M.Halstead从统计学和心理学的角度来研究软件复杂性问题,提出用程序中可执行代码的词汇量(操作符与操作数)来计算和分析软件复杂性的方法,并在此基础上还可将其转换成软件规模的测算。1.2.4 软件复杂性度量软件复杂性度量l通过数学推导,可以证明程序语言的符号长度(又称词汇总数)N可近似地由下式确定:N=n1 lbn1+n2 lbn2 (1.2)式中,n1为程序中不同操作符的个数;n2为不同操作数的个数;lbn即log2n。此外,利用转换公式1.2.4 软件复杂性度量软件复杂性度量l还可将程序语言的符号长度N转换成源程序行数L(不含注释性语句),其中C为转换系数,它与所使用的程序设计语言有关,同时也与软件类型以及程序员的编程风格等因素有关,可以通过对历史数据的统计分析来估计。在一般情况下,FORTRAN语言编程时有C=7.5,用PASCAL语言编程时有C=4.0。1.2.5 软件差错与可靠性度量软件差错与可靠性度量l衡量产品质量高低的指标有技术性能指标和可靠性指标,其中技术性能指标用来反映产品所具有的功能与性能的技术水平,如计算机的字长、容量、运算速度等,而可靠性指标则用来反映产品维持良好功能与性能的持久能力或经久耐用的能力。1.2.5 软件差错与可靠性度量软件差错与可靠性度量l硬件产品由于设计错误,制造流程与工艺问题,使用时元器件所承担的载荷过大,环境(温度、工作电流)发生突变以及机械磨损等原因都可能导致硬件故障。l随着人们对硬件可靠性的认识重视和研究的深入,提出了一系列科学的可靠性设计,可靠度分配方法,电子信息产品在生产过程中的实验、验证和鉴定方法以及在包装、贮存和运输等方面规范要求,从而使硬件产品可靠性水平有了极大的提高。l与硬件相比,由于软件生产更多地依赖于人的劳动。1.2.5 软件差错与可靠性度量软件差错与可靠性度量l设程序按照规格说明从初始时刻t=0 开始运行直到发生故障为止这一连续时间段称为软件的寿命。l易知软件寿命是一个非负随机变量,其分布函数F(x)=p(x)称为软件产品的寿命分布函数,而软件产品在时刻t的生存概率R(t)=P(t)=1F(t)称为该软件产品的可靠度函数或可靠度。l分布函数完整的描述了随机变量的统计规律性。1.2.5 软件差错与可靠性度量软件差错与可靠性度量l若软件寿命的概率密度为f(t),则由概率论知有:l随机数据的概率密度函数:表示瞬时幅值落在某指定范围内的概率,因此是幅值的函数。它随所取范围的幅值而变化。1.2.5 软件差错与可靠性度量软件差错与可靠性度量l若软件寿命的概率密度存在,则在t时刻软件产品的失效率(或故障率)(t)被定义为:l失效率(t)可理解为:软件产品在正常工作一直到时刻t的条件下,它在(t,t+t区间内失效的概率。当t很小时,(t)还可理解为软件产品在t前正常工作的条件下,而在t+瞬间发生失效的概率密度。1.2.5 软件差错与可靠性度量软件差错与可靠性度量l软件寿命的期望值E()称为软件的平均寿命。可证明E()与R(t)有如下关系式:1.2.5 软件差错与可靠性度量软件差错与可靠性度量lF(t)、f(t)、R(t)、E()的相互关系,这种相互的关联关系可由下图来表示。l 图 可靠性指标关联图 1.2.5 软件差错与可靠性度量软件差错与可靠性度量1.2.6 软件质量软件质量l1.1.产品质量的概念产品质量的概念在20世纪6070年代,美国质量管理学家Juran所提出产品质量的定义首先为人们所接受。他认为“产品质量就是产品的适用性”,并对产品的适用性做了进一步解释:“该产品在使用时能成功满足用户需要的程度”。1.2.6 软件质量软件质量l在软件质量的概念研究中,人们发现参与软件开发、管理、维护、使用的人员由于他们在软件生存周期中所处的地位不同,对软件质量的理解和要求也不同。例如,开发人员主要关心软件的功能性和工期,管理人员则关心软件的开发标准、成本和时间进程,维护人员则关心软件的正确性、可理解性和可维修性,用户则更关心软件的性能和可靠性。因此,给软件质量给出一个客观、科学的定义,并尽量予以量化,这对于统一人们的认识是十分必要的。1.2.6 软件质量软件质量l2.2.软件质量评价软件质量评价由三个层次构成的软件质量度量模型。其中,最高层的元素称为质量要素(Quality Factor),共11个;中层的元素称为评价准则(Evaluation Criteria),共30个;底层元素称为质量度量(Quality Metric),详见下图。1.2.6 软件质量软件质量ISO软件质量度量模型软件质量需求准则(SQRC)软件质量设计评价准则(SQDC)软件质量度量评价准则(SQMC)1.2.6 软件质量软件质量l第三层(软件质量度量评价准则)量度标准:可由各使用单位自定义内容:根据软件的需求分析、概要设计、详细设计、编码、测试、确认、维护与使用等阶段,针对每一个阶段制定问卷表,以此实现软件开发过程的质量度量1.2.6 软件质量软件质量l3.3.软件质量保证软件质量保证l软件质量保证(Software Quality Assurance,SQA)包括如下多种工作:(1)推行与确认软件工程质量标准;(2)研究与采用各种技术手段来保证软件质量;(3)对软件的各种变更进行控制;(4)制订并执行软件测试策略测试计划;(5)按照软件质量标准对软件的质量进行度量;(6)组织各种技术评审会或评审活动;(7)对软件质量的度量情况及时记录和生成SQA报告。1.3 软件工程经济学l经济学(Economics)是研究人类在从事生产、交换以及对产品和劳务消费过程中,如何有效地利用和合理地配置可供选择的各种有限资源(又称稀缺资源),以使人类的现在和将来的无限欲望得到最大满足的一门学科。l按照研究的范畴不同,经济学可划分为宏宏观经济学观经济学(Macro Economics)和微观经济学微观经济学(Micro Economics)。1.3 软件工程经济学l宏观经济学是通过对国家(地区、部门)的产量、收入、价格水平和失业来分析上述主体的整体经济行为整体经济行为的一门经济学分支学科。l而微观经济学则是研究厂商、家庭、个人等特定经济单位特定经济单位的市场行为和如何作出决策(生产与消费决策)及分析其影响因素分析其影响因素的一门经济学分支学科。1.3 软件工程经济学l1.3.1软件工程经济学的内涵与任务软件工程经济学的内涵与任务软件工程经济学(Software Engineering Economics,SEESEE)是以软件工程领域软件工程领域中的经济问题和经济规经济问题和经济规律律为研究对象的一门经济学分支学科,具体地说,就是研究为实现特定功能需求的软件工程项目而提出的在技术方案、生产技术方案、生产(开发开发)过程、产品或服过程、产品或服务等方面所作的经济分析与论证,务等方面所作的经济分析与论证,计算与比较的一门系统方法论学科。1.3 软件工程经济学l软件工程经济学至少应该包括如下四个部分:(1)学科研究的对象、任务、特征、研究范围和研究方法;(2)软件系统的内部构成要素和经济活动及内部构成要素和经济活动及其关联分析其关联分析,如投资、成本、利润、效益、工期、效率、质量及研制、开发、维护、管理活动及其关联分析;(3)软件系统的组织结构、管理决策及其与经营活动的关系;(4)软件系统的物流、资金流、信息流的输物流、资金流、信息流的输入与输出入与输出及其对系统外部国家、地区经济、社会、国防、人民生活的影响。1.3 软件工程经济学l其中(1)为软件系统的基础概念与理论部分,(2)、(3)为软件系统的微观经济分析微观经济分析部分,(4)为软件系统的宏观经济分析宏观经济分析部分。l微观经济分析微观经济分析细化,研究内容具体如下:软件工程经济分析基本原理及应用基本原理及应用,如价值工程原理、规模经济与生产函数原理、成本效益分析与边际分析原理,项目开发的时间、成本/效益、质量、效率的均衡原理、优化原理与敏感性分析等。软件项目的成本估算、成本控制与融资。软件项目开发的风险与不确定性分析和投资可行性分析。1.3 软件工程经济学 软件产品的质量评价质量评价、经济效益评价、财务评价以及主要质量指标软件可靠性、维护性等的经济评价方法。软件生存周期中各种生产生产(开发开发)与管理活与管理活动的经济分析与决策动的经济分析与决策,如软件工具与设备的采购决策、信息获取决策、开发技术方案的评价与决策、成本的阶段分配决策、软件发行决策、产品定价决策等。软件项目的工作任务分解工作任务分解与计划制订、组织与协调及其经济分析与优化。软件开发效率软件开发效率(劳动生产率劳动生产率)的影响因素的影响因素分析及改进策略研究。1.3 软件工程经济学l1.3.2 软件工程经济学研究特点软件工程经济学研究特点1.注意到软件产品的人工制作人工制作的特点,故其工程经济分析的重点是成本/效益、质量、时间进度/工期、生产效率、组织/协调、而以人的组织与协调、控制为主线。组织/协调成本/效益时间进度/工期生产效率质量1.3 软件工程经济学软件工程经济学研究特点:软件工程经济学研究特点:2.SEE的研究思想来源于系统工程,因而工程技术分析、工程经济分析的研究要注意系统目标的整体性、构成要素的层次性、生产活动的关联性、组织结构的合理性、系统环境的适应性。(整体、有序、协调整体、有序、协调)1.3 软件工程经济学软件工程经济学研究特点:软件工程经济学研究特点:3.考虑到人的组织、协调度量的复杂性,故SEE的研究采用定性与定量相结合、理论推导与实验实证定性与定量相结合、理论推导与实验实证分析相结合分析相结合的思路。4.由于我国与欧美国家在文化与价值观念、经济发展道路与经济体制、企业经营机制与管理水平的不同,决定了软件的开发环境有很大的不同,因此欧美SEE理论的直接引用产生“水土不服”在所难免,必须进行适合于我国的“国情”“企情”的“本地化本地化”研究。1.3 软件工程经济学SEE理论与方法关联图1.3 软件工程经济学1.3.3软件工程经济学研究的发展道路l我国SEE尚处于欧美理论消化、零星(非系统)内容研究发展阶段,尚无专门机构从事SEE的的本地化研究工作“软件危机”通过SE范例研究、构造模型,做成本、工期预测模型的比较评价,要素的均衡优化系统动力学方程、生产函数、生产率企业决策的经济分析1.3 软件工程经济学1.3.3软件工程经济学研究的发展道路l系统动力学(简称SDsystem dynamics)的出现于1956年,创始人为美国麻省理工学院(MIT)的福瑞斯特(JWForrester)教授。系统动力学对问题的理解,是基于系统行为与内在机制间的相互紧密的依赖关系,并且透过数学模型的建立与操弄的过程而获得的,逐步发掘出产生变化形态的因、果关系,系统动力学称之为结构。l生产函数可以用一个数理模型、图表或图形来表示。l换句话说,就是一定技术条件下投入与产出之间的关系,在处理实际的经济问题时,生产函数不仅是表示投入与产出之间关系的对应,更是一种生产技术的制约。例如,在考虑成本最小化问题时,必须要考虑到技术制约,而这个制约正是由生产函数给出的。另外,在宏观经济学的增长理论中,在讨论技术进步的时候,生产函数得到了很大的讨论。1.3 软件工程经济学1.3.3软件工程经济学研究的发展道路SEE研究的系统工程三维结构展开时间维要素维实体维设计规划分析构建运行与维护人生产率成本投资效益定价质量与可靠性软件硬件数据 从信息系统工程的观点来看,任何对软件项目的工程经济分析与研究都必须从实体、时间、要素实体、时间、要素三个维度的层面上展开SEE研究的系统工程三维结构展开l根据软件项目的范围研究来看,这三个维度的交互作用会产生如下各种工程经济活动:(1)可行性分析;(2)招标与投标;(3)时间/进度、资源、成本计划;(4)投资与融资;(5)设备、工具、原材料、厂房的购买或租赁;(6)开发团队的组织与建设;(7)生产(开发)过程设计与分析;(8)测试计划与组织;SEE研究的系统工程三维结构展开 (9)软件发行确定;(10)软件定价;(11)软件营销策划;(12)风险控制;(13)成本、质量、工期与进度控制;(14)硬件折旧;(15)项目成本确定;(16)销售收入确定;(17)税金确定;(18)效益(利润)确定。软件工程生存周期的工程经济活动及其关联可行性分析成本质量工期与进度控制风险控制投标与招标时间资源成本计划投资与融资设备工具原料厂房的购买或租赁团队组织与建设生产过程设计与分析测试计划与组织软件发行软件定价软件销售销售收入效益/利润税金设备折旧项目成本l由软件工程经济学的定义知,上述各工程经济活动的系统分析与评价系统分析与评价是软件工程经济学研究的主要任务,且进一步的研究还认识到,这种经济活动的系统分析与评价还具有如下的特征:系统分析的目的是为了提高工程经济活动的经济效果,亦即在有限的有限的资源(人力、资金、工期、设备或工具)约束条件下,对各项工程经济活动进行有效的计划、组织、协调和控制,以最大限度地来提高工程经济活动的效益与效果。工程经济活动所讨论的经济效果大多与“未来”有关。因此,这种对未来经济效果的认识必须考虑在不确定不确定性因素或随机因素性因素或随机因素影响下的风险的存在,并寻找经济效果与风险的合理权衡。SEE研究中的系统分析与评价系统分析与评价l系统分析强调的是在技术可行性基础上的经济分析,而不包括技术可行性技术可行性的分析和论证内容。后者将由软件工程技术学这一分支来解决。l各种工程经济活动的系统评价是通过“比较”来完成。这就要求在对这些工程经济活动的研究中要形成多种技术经济备选方案多种技术经济备选方案,以便从中通过比较来作方案选择。此外,考虑到不同的利益主体追求目标的差异性以及比较的系统性与层次性,故常采用具有一定递阶层次结构的指标体系来完成方案比较的工作l考虑到各技术经济方案在按照多指标的比较中,其表现常存在一定的矛盾与对立性,因此系统评价应是各利益主体目标的相互协调与均衡相互协调与均衡。习习 题题 一一1.什么是软件?软件与其他产品相比较,具有哪些特点?软件按产品功能、规模、标准化程度以及其与其他硬/软件关联程度为准则划分,可分为哪些子类?2.软件企业如何分类?软件企业管理包括哪些类别管理?各子类管理的系统目标和主要管理活动有哪些?3.什么是软件项目?其分项管理及其相应的主要管理活动有哪些?4.什么是软件生存周期?软件生存周期一般可划分为哪几个阶段?各阶段间有何关联?习习 题题 一一 5.什么是软件开发模型?你所熟知的软件开发模型有哪些?说出这些模型的主要内涵与功能。6.软件的规模与复杂性如何度量?什么是软件可靠性?软件可靠性有哪些度量指标?7.什么是软件质量?国际标准化组织(ISO)于1991年发布了软件质量度量模型,该模型的高层需求准则、中层设计准则、底层度量评价准则包括哪些内容?8.什么是软件质量保证?如何进行软件质量保证?9.什么是软件工程经济学?软件工程经济学的研究内容有哪些?有何研究特点?软件工程经济学与哪些学科有较紧密的关联?