完整资料在gitee
1.软件经济学的特点
- 软件产业的特点有哪些?(10分)
- 软件工程经济学主要包括哪些内容?(10分)
- 软件工程经济学的研究特点有哪些?(10分)
- 软件工程经济学的方法体系有哪些?(10分)
软件产业具有如下五个特点:
(1) 高技术、高附加值及高效益。
(2) 国际化。
(3) 服务化。服务化。
(4) 专业化分工越来越细。专业化分工越来越细。
(5) 高关联度高关联度
软件工程经济学主要包括以下四部分的内容
1 学科研究的对象 、 任务 、 特征 、 研究范围与研究方法
2 软件系统内部构成要素与经济活动及其关联分析,如投资、融资、工期、成本、效益、效率、质量保证、开发、管理、运行与维护等及其关联分析;
3 软件系统的组织结构、管理决策以及与经营活动的关系
4 软件系统的资金流、物流、信息流的输入和输出以及对系统外部(如国家、地区、社会、经济等)的影响。
软件工程经济学的研究特点有:
1 软件工程经济学研究的重点始终环绕着软件产品的质量 、成本 效益、项目进度 、 效率 等目标要素的关联分析,以及人的组织与协调管理。
2 软件工程经济学的研究思想主要来自于系统工程,因此软件系统目标的整体性、要素的层次性与关联性、系统环境的适应性等始终是人们研究的指导准则。
3 软件工程经济学采用定量与定性分析相结合、理论与实证验证相结合的方式进行研究。
4 考虑到我国与西方发达国家在文化与价值观念 、 技术水平 、 经营机制 、管理水平与生产效率以及软件工程环境上的差异 ,我们 在大力学习与借鉴西方发达国家有关软件工程经济学的理论 、 方法与应用成果的同时 还要注意环境的差异性对数量分析的影响 可在数学分析的思路与方法的通用性基础上来寻找适合于我国国情的研究结果 。
软件工程经济学作为一门交叉学科,其理论与方法体系与以下五类学科有着紧密的关系:
1 管理学、社会学等
2 经济学,主要包括微观经济学、宏观经济学、工程经济学、管理经济学、信息经济学等;
3 软件工程学,主要包括软件工程技术学、软件工程管理学
4 计算机通信网络与信息系统
5 系统工程与运筹学、应用统计学、模糊数学、系统动力学等。
**13.**简述软件工程项目的评价与决策的常用操作步骤
(1)确定评价主体(单位或者项目负责人)。
(2)确定评价对象,如方案选择的评价对象就是各个方案,项目经理的选择就是各候选人。
(3)建立相应的指标体系,即确定评价对象的评价指标及其子指标;
(4)确定各指标的权重系数,权重表示各个指标之间的相对重要性,且同一个级别的指标加权和必须等于1
(5)建立综合评价模型。
2.什么是生产函数?其主要特征是什么?
答:生产函数是指一定时期内生产要素的数量与某种组合同其所能产出的最大产量之间存在的函数关系。
生产函数通常满足以下三个特征:
(1)资本与劳动力的边际产出总是为正值,在劳动力(或者资本)投入量不变的情况下,资本(或者劳动力)的增加将引起产出的增加;
(2)边际产量递减特性。当其他生产要素固定不变时,随着某一要素投入量的增加,其边际产量将逐渐减少;
(3)生产函数具有非负性,总产出必须是正值,且总产量是生产要素组合的结果,单一要素的投入是不能获得产出的。
3.规模经济是如何判断的?
答:规模报酬又称为规模经济。规模报酬主要研究所有要素都同比例增加时,产量发生变化的情况。当所有投入均增加一倍时,产出也相应的增加一倍,则称该生产技术是规模报酬不变;当所有投入均增加一倍时,产出的的增加是小于一倍的,则称该生产技术是规模报酬递减;当所有投入均增加一倍时,产出的增加是大于一倍的,则称该生产技术是规模报酬递增。现实生产活动中,究竟出现哪一种情况,通常依赖于规模所达到的程度。在规模较小时,增加投入可以促进规模报酬递增,而当规模达到一定程度时,则会出现规模报酬递减的情况。
4.什么是软件生产率?影响软件生产率的因素有哪些?
软件生产率是指软件开发的效率,是衡量软件开发水平的一个重要因素。
影响软件生产率的因素众多,主要有技术因素、管理因素以及文化因素。
5.提高软件生产率的主要措施有哪些?
提高软 件生产率的主要举措有以下几个方面。
(1) 技术方面
强调对企业研发人员个人职业能力的综合评估。为了提升个人对软件企
业的贡献,有必要从专业、技能、经验、学历以及年龄等多方面进行考量。
软件技术领域最好根据研发人员所擅长的技术能力来划分不同的专业技
术组。培养研发人员对新技术的学习掌握,并创新应用。
(2) 管理方面
建立良好的人才激励机制,通过物质、精神奖励以及职务晋升制度提高
研发人员的工作热情。
建立科学、合理的研发人员梯队制度,明确划分管理与技术领域人才。
依据软件企业所处的市场环境及企业自身发展的要求适时变革管理,用
以应对不断变化的 IT 市场,进而增强软件企业的核心竞争力。
(3) 文化方面
建立良好的企业学习氛围。通过研发人员个人知识的学习、交流及其共
享来形成群体效应,提升整个企业的知识资源。
注重软件工程项目团队建设,加强团队合作精神,提高团队沟通能力。
6.为什么要进行不确定性分析?不确定分析的步骤是如何的?
在 进行软件工程项目的 财务 分析和经济分析时 所依据的项目的现金流量是估算和预测的 ,这些估算或预测值难免与将来实际发生的费用不一致,导致这些数据因素的不确定性。这些不确定性是决策者事先不知道决策的可能结果,其变化会对项目的评价产生影响。因而要进行不确定性分析。
不确定性分析的步骤是:
(1) 鉴别不确定性因素。
(2) 界定不确定 性因素的性质。
(3) 选择不确定性分析的方法。
(4) 明确不确定性分析的结果。
7.网络计划主要有 哪两种资源优化方式?软件 工程 项目的网络计划 资源优化主要使用哪种方法?
网络计划主要有“资源有限,工期最短”和“工期固定,资源均衡的两种资源优化方式。软件 工程 项目的网络计划资源优化主要使用“工期固定,资源均衡”的优化方式。
8.软件工程项目团队的特点和作用主要有哪些?
软件工程项目团队的特点主要有:
(1) 软件工程项目团队的目的性。
(2) 软件工程项目团队的临时性。
(3) 软件工程项目团队的合作性。
(4) 软件工程项目团队的凝聚力。
软件工程项目通常以团队的形式来完成任务,其团队的作用主要有:
(1) 能够更有效的实现目标。
(2) 能够满足团队成员的心理需求。
(3) 能够使个人得到较快的进步。
(4) 能够提高决策质量。
9.软件工程项目经理的基本职责有哪些?
软件工程项目经理的基本职责有:
(1) 确保软件工程项目目标的实现,领导项目团队 按时 并优质地完成全部项
目相关工作。
(2) 保持与客户的沟通,了解项目的整体需求 能即时的反馈阶段性成果,
并 对客户提出的合理需求进行相应的变更 。
(3) 制 订 软件工程项目开发计划文档,量化各阶段任务,并合理分配给相应
的团队人员。
(4) 跟踪软件工程项目的进度,协调项目组团队成员之间的合作。
(5) 监督 软件 工程项目进展中各阶段的文档, 保持与质量 保证人员 的 沟通,
保证文档的完整 与 规范性。
(6) 如果项目开发过程中 有 需求的变更,项目经理需 要 向 客户了解需求,在
无法判断新的需求对项目的整 体 影响的情况下,需同项目组团队成员商量,最后
决定是否接 受 客户的需求,再跟客户协商 在确定要变更需求的情况下,需产生
需求变更文档,更改开发计划,同步通知质量保证人员。
(7) 项目提交测试后,项目经理需了解测试结果,根据测试的bug(漏洞)
严重程度更改开发计划。
(8) 及时向上级汇报项目的进展情况、需求变更等所有项目相关信息。
软件工程项目完成的时候项目经理需要做项目总结,产生软件工程项目总结文档。
10.关于软件 工程 项目的先行工作 A 与后继工作 B ,主要包括的依赖关系 有哪些?
关于软件工程 项目的先行工作 A 与后继工作 B ,主要包括的四种依赖关系有:
①完成对开始:指后继工作 B 的开始要等到先行工作 A 的完成;
②开始对开始:指后继工作B 的开始要等到先行工作 A 的开始。例如,开始写测试结果(后继工作)必须在测试(先行工作)开始之后开始;
③完成对完成:指后继工作 B 的完成要 在 先行工作 A 完成 之后完成 。例如,文档(后继工作)的完成要等到系统架构(先行工作)的完成;
④开始对完成:指一个工作 A 的完成要在后继工作 B 开始之后。
11.软件工程项目后评价的特点是什么?作用是什么?
软件工程项目后评价的特点有:
(1) 现实性
(2) 全面性
(3) 反馈性
(4) 合作性
(5) 独立性
(6) 可信性
软件工程项目后评价的作用是:
(1 )提高建设软件工程项目决策的科学化水平服务
(2 )为政府制订和调整有关经济政策提供参考
(3 )为银行调整 信贷政策提供依据
(4 )为提高出资人建设软件工程项目监管水平提出建议
(5 )有利于提高生产能力和经济效益
(6 )有利于提高引进技术和装备的成功率
(7 )有利于控制项目造价
12.影响软件质量的因素有哪些?
影响软件质量的因素有人的因素、过程因素和技术因素
13.软件质量保证的内容有哪些?
软件质量保证(Software Quality Assurance,SQA)的主要工作内容有:
(1) 与软件质量保证计划直接相关的各项工作。
(2) 参与软件工程项目的阶段性评审及其审计。
(3) 对软件工程项目常规活动与规程的符合性进行检查。
(4) 对项目的配置管理工作的检查及其审计。
(5) 跟踪所发现问题的解决情况。
(6) 在软件质量保证过程中收集新方法,提供过程改进的相关依据。生成软件质量审计报告。
14.按开发阶段划分软件测试类型,并简要介绍其测试方法
按照开发阶段划分测试类型主要有单元测试、集成测试、系统测试与验
收测试。
\1) 单元测试
单元测试(Unit Testing )又称为模块测试,是指对软件中的最小可测试单
元进行检查与验证。关于单元,要根据实际开发语言的情况来判定,如 Java 中
的单元指一个类, C 语言则指一个函数,而图形化软件中的单元是指一个窗口或
一个菜单。单元测试是在软件开发过程中进行的最低级别的测试活动,通常将独
立单元 与程序的其他部分相隔离后再进行测试。
单元测试可作为无错编码的一种辅助手段,可看作是编码工作的一部分,由
程序员负责,也就是说,经过了单元测试的代码才是已完成的代码,且提交产品
代码时也要同时提交相关单元测试代码。无论在软件修改,还是移植到新的运行
环境过程中必须是可重复的。单元测试要把握尽早、自动化、可重复性等原则。
测试的主要内容包括:单元功能测试、单元接口测试、单元局部数据结构测试、
单元的各类错误处理路径测试、单元中重要的执行路径测试以及单元边界条件测
试。
\2) 集成测试
集成测试(
Integration Test ing )又称为组装测试、子系统测试、联合测
试或部件测试,是指在单位测试的基础上,将所有模块按照概要设计的要求组装
成一个系统或子系统来进行的测试活动,它是单元测试的逻辑扩展。
集成测试通常由专门的测试人员来负责。测试依据主要来自于软件的概要设
计规格说明,集成测试组装的对象与单元测试相比较其对象级别要高很多。测试
的主要内容包括模块间的接口测试(把各个模块连接起来时,所穿越模块接口的
数据是否会丢失;全局数据结构是否会有问题;会不会被异常修改等)和模块集
成后的功能测试(将软件的各个子功能组合起来,测试能否达到父功能 的预期要
求。一个模块的功能是否会对另一个模块的功能产生不利的影响。单个模块的误
差积累起来,是否会放大,从而达到不可接受的程度)。
\3) 系统测试
系统测试(System Testing )是对已集成好的软件系统所进行的测试,将软
件、硬件以及操作人员看成一个整体,以验证其正确性以及性能是否能满足规约
所指定的要求。系统测试由测试工程师依据项目需求来负责贯彻和执行,验证最
终软件系统是否满足用户规定的需求。测试的主要内容包括功能测试(测试软件
系统的功能是否正确)和健壮性测试(测试软件系统在异常情况下能否正常运行,
主要包含容 错能力测试与恢复能力测试)。
\4) 验收测试
验收测试(Acceptance Testing )又称为确认测试、交付测试或发布测试
是在软件产品完成系统测试之后、产品正式交付或软件产品发布之前所进行的软
件测试活动。
验收测试通常由用户或者独立的测试人员负责,依据项目任务书或合同、供
需双方约定的验收依据等文档,对整个软件系统进行的测试与评审,根据测试结
果决定是否接受软件系统。测试的主要内容包括安装测试、易用性测试、兼容性
测试以及用户手册、操作手册等文档的测试。
15.动态测试与静态测试的主要区别是什么?
静态测试与动态测试的区别主要有
1.静态测试主要用于预防,而动态测试则主要用于校正。
\2. 多次静态测试通常比动态测试的效率要高。
\3. 静态测试需要综合测试程序代码。
\4. 在短时间的测试过程中,静态测试的覆盖率能达到 100%,而动态测试却只能达到 50% 。
\5. 静态测试的执行可以在程序的编码编译前,而动态测试只能在程序编译后才能执行。
16.按照质量属性可将软件测试分为哪些类型?
按照质量属性划分软件测试分为容错性测试、可靠性测试、兼容性测试、维护性测试、安全性测试和可移植性测试。