软件开发环境与工具的选用 Select software development tool 任课老师:黄武 上午3时29分 69
提纲 工具选择概述 软件工程过程 软件开发工具的采用过程 工具的选择与评价 工具的采购 工具的切换 工具的维护 上午3时29分 69
软件开发工具的选择引言 同学们,如果让你去选择一个软件开发工具,你首先想到的方法是什么? 上午3时29分 69
如何选择到自己需要的工具 Story:X公司要选择一个项目管理工具,首先请来一家办公自动化软件生产商,这家厂商的OA软件功能强大,包含项目管理,选择吗? 上午3时29分 69
1 工具选择概述 软件开发工具对高效、高质量的开发软件起到重要作用 如何选择一款适合于公司的开发工具呢 选择和采用工具的目标和依据是什么? 选择工具的过程如何? 如何对工具进行技术评价?需要考虑哪些因素? 上午3时29分 69
2 软件工程过程 软件工程过程是为了获得软件产品或是为了完成软件工程项目需要完成的一系列有关软件工程的活动,即把输入转化为输出的一组彼此相关的资源和活动 上午3时29分 69
2.1软件工程过程的含义 软件工程过程的两方面含义: 软件工程过程是指为获得软件产品(结果),在软件工具支持下由软件工程师完成的一系列活动,包含4种基本活动 软件规格说明 软件开发 软件确认 软件演进 上午3时29分 69
2.2软件工程过程的含义(续) 从软件开发的观点看(过程),它是使用适当的资源(包括人员、硬软件工具和时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品) 上午3时29分 69
2.3 软件工程过程与工具的关系 软件工程过程就是将软件工程的方法和工具综合起来,以达到合理、及时地进行计算机软件开发的目的 软件工程过程复杂,为保证软件工程过程的顺利进行,需要选择适当的软件开发工具进行支持 需要哪些工具? 上午3时29分 69
2.4 软件生存周期过程划分 国际标准化组织和国际电工委员会ISO/IEC12270《信息技术软件生存周期过程》中,把软件生存周期过程划分为 5个基本过程(开发过程) 8个支持过程(支持过程) 4个组织过程(管理过程) 上午3时29分 69
2.4.1 软件生存周期的基本过程 软件生存周期的基本过程主要完成软件的开发工作,包括5个基本过程 获取过程(需求分析) 供应过程(设计) 开发过程(编码与测试) 运行过程(使用) 维护过程(维护) 上午3时29分 69
2.4.2 软件生存周期的支持过程 软件生存周期的8个支持过程 文档编制过程 配置管理过程 质量保证过程 验证过程 确认过程 联合评审过程 审核过程 问题解决过程 上午3时29分 69
2.4.3 软件生存周期的组织过程 软件生存周期的4个组织过程 管理过程 基础设施过程 改进过程 培训过程 上午3时29分 69
3 软件开发工具的采用过程 软件开发工具作为软件过程和活动的一种辅助支持手段,具有重要作用 随着软件开发新技术、新方法和新概念的不断产生、发展,结合了这些新思想的软件开发工具也层出不穷 如何选择合适的开发工具是摆在开发组织面前的一项重要任务 上午3时29分 69
3.1 软件开发工具的分类 支持软件工程过程的工具通常分类3类: 支持软件开发过程的工具,比如需求分析工具、设计工具,编码工具,测试工具等 支持软件维护过程的工具,比如版本控制工具,文档工具,开发信息库工具,再工程工具 支持软件管理和支持过程的工具:如项目管理工具,软件评估工具等 上午3时29分 69
3.2 软件工具的采用过程 国际标准化组织和国际电工委员会1999年发布了针对CASE工具采用的技术报告ISO/IECTR14471《信息技术工具采用指南》,把CASE工具的采用工作划分为: 1个主过程 4个子过程 17个活动 上午3时29分 69
3.3 工具的采用主过程图 工具的采用过程图如下: 图例 过程流 数据流 过程 准备 项目目标 项目计划 产品 评价与选择 试验 评价报告 转换 选择报告 评价报告 项目目标 项目计划 项目评价报告 上午3时29分 上午3时29分 69
3.3.1 准备过程 准备过程的主要工作: 定义采购CASE工具高层商业目标,如提高生产效率,提高组织竞争力,改进软件过程,提高产品质量等 分析、确定组织采购工具在经济上和技术上的可行性 制定一个具体的执行计划,包括活动和任务的安排,成本估算,监督控制等内容 上午3时29分 69
3.3.1.1 准备过程的4个活动 设定目标 验证可行性和可测量性 制定方针 制定计划 上午3时29分 69
3.3.1.2 准备过程的关键因素 采用过程的目标是否清晰 采用过程的目标是否可测量 管理层的支持程度 工具在什么范围内使用的策略 是否制定了在组织内推广使用工具的计划 是否制定了工具采用过程有关的员工培训内容,以保证新旧工具的顺利更换 上午3时29分 69
3.3.2 评价和选择过程 评价和选择过程是为了从众多的候选工具中确定最合适的工具,以确保推荐的工具满足组织的目标要求 关键因素: 对组织需要的工具需求加以构造,列出属于该工具的若干特性和子特性 对特性进行评价和测量 根据评价结果决定选择的工具 上午3时29分 69
3.3.2.1 评价和选择过程4个活动 起始过程 构造过程 评价过程 选择过程 上午3时29分 69
3.3.3 试验过程 该过程帮助软件组织在它所要求的环境中为工具提供一个真实的实验环境,在这个环境中运行选用的CASE工具,确定工具满足组织的要求 该过程由4个活动组成 起始试验 试验性能 评价试验 下一步决策 上午3时29分 69
3.3.4 转换过程 转换过程是从当前工作流程或工作习惯转为在整个组织内推广使用新工具的过程;这一过程由5个活动组成 初始转换过程 培训 制度化 监控和持续支持 评价采用项目完成情况 上午3时29分 69
4 工具的选择与评价 工具的评价与选择,是对工具的质量特性进行测量和评级,以便为最终选择提供客观和可信的依据 评价方面包括: 软件工具的一般特性 软件工具对开发过程、管理过程、维护过程等的特殊支持 上午3时29分 69
4.1 工具的评价选择标准 工具的评价和选择标准包括: ISO/IECTR14012《信息技术CASE工具的评价与选择指南》 技术评价过程就是根据组织要求和评价标准选择一个开发工具的工程 上午3时29分 69
4.2 评价和选择过程的子过程 工具的评价和选择过程包括4个子过程及13个活动: 初始准备过程 构造过程 评价过程 选择过程 上午3时29分 69
4.2.1初始准备过程 初始准备过程的目的是定义评价和选择工具的具体目标和要求,由3个活动组成 设定目标 提出需要CASE工具完成的功能,限制条件(成本,进度)以及获取方式(购买,开发等) 建立选择准则 对目标进行分解,构建选择的量化准测 制定项目计划 指定包括小组成员、工作进度在内的计划 上午3时29分 69
4.2.2 构造过程 构造过程的目的是根据选择工具的特性,将工具的要求细化,选择可能满足要求的工具,确定候选工具列表的过程,包括3个活动 需求分析 收集工具信息 确定候选工具列表 上午3时29分 69
4.2.3评价过程 评价过程的目的是产生技术评价报告,该报告将作为选择过程的主要输入信息,这一过程包括3个活动: 评价的准备 评价CASE工具 报告评价结果 上午3时29分 69
4.2.3.1 评价过程的准备活动 评价的准备最终确定评价计划中的各种评价细节,包括: 评价的场合 评价活动的进度安排 工具子特性用到的度量、等级等 上午3时29分 69
4.2.3.2 评价过程的评价活动 评价过程的评价活动是将每个候选工具与选定的特性进行比较,依次完成测量、评级和评估工作 测量是检查工具本身特有的信息,如功能、操作环境、限制条件等 评级是将测量值与评价计划中的定义值进行比较,确定等级 评估是使用评级结果及评估标准对照组织要求选定的特性和子特性进行评估 上午3时29分 69
4.2.3.3 评价过程的报告评价结果 评价活动的最终结果是产生评价报告,评价报告包括以下内容: 关于工具本身的信息 关于评价过程的信息 评价结果的信息 上午3时29分 69
4.2.4选择过程 选择过程是从评价报告的候选工具列表中确定最适合工具的过程,由4个活动组成 选择准备 应用选择算法 推荐一个选择决定 确认选择 上午3时29分 69
4.2.4.1 选择过程的选择准备 选择准备主要内容是最终确定各项选择准则,定义一种选择算法 常用的选择算法: 基于成本的选择算法 基于得分的选择算法 基于排名的选择算法 上午3时29分 69
4.2.4.2 选择过程应用选择算法 应用选择算法是指把评价结果作为选择算法的输入,与候选工具相关的信息作为输出,每个工具的评价结果提供了该工具的一个技术总结,这个总结归纳为选择算法所规定的级别 选择算法将各个工具的评价结果汇总起来,给决策者提供一个分数比较 上午3时29分 69
4.2.4.3 选择过程的选择决定 选择决定就是推荐一个或一组最合适的工具 上午3时29分 69
4.2.4.4 选择过程的选择决定确认 选择确认就是将推荐的选择决定和组织最初的目标进行比较 如果确认这一个推荐结果,说明该工具能够满足组织要求 如果没有合适的工具存在,也应该能确定开发新的工具或修改一个现有的工具以满足要求 上午3时29分 69
5 工具的采购 软件工具的采购可以采取招标和投标的方式 招标和投标是一种竞价方式,通常以公开的形式进行 投标方通常由很多商家构成 招标人通过对比不同投标方的方案,选择最优的方案中标 上午3时29分 69
5.1 招投标的基本法律主体 招投标包含两方主体:招标人和投标人 招标人也叫招标采购人,是采用招标方式进行货物、工程或服务采购的法人或其他社会经济组织 投标人是按照招标文件的规定参加投标竞争的自然人、法人或其他社会经济组织 上午3时29分 69
5.1.1 招标人的权利 招标人有以下权利: 自行组织或委托招标代理机构进行招标 自由选择招标代理机构并核验资质 委托招标代理机构招标时,可以参与整个招标过程,其代表可进入评标委员会 要求投标人提供有关资质情况的资料 根据评标委员会推荐的候选人确定中标人 上午3时29分 69
5.1.2 招标人的义务 招标人有以下义务: 不得侵犯投标人的合法权益 委托招标代理机构进行招标时,应当向其提供招标所需的有关资料并支付委托费 接受招投标管理机构的监督管理 与中标人签订并履行合同 上午3时29分 69
5.1.3 投标人的权利 投标人有以下权利: 平等的获得招标信息 要求招标人或招标代理机构对招标文件中的有关问题进行答疑 控告、检举招标过程中的违法行为 上午3时29分 69
5.1.4 投标人的义务 投标人有以下义务: 保证所提供的投标文件的真实性 按招标人或招标代理机构的要求对投标文件的有关问题进行答疑 提供投标保证金或其他形式的担保 中标后与招标人签订并履行合同,未经招标人同意不得转让或分包合同 上午3时29分 69
5.2 投标有效期 招标生效后到投标截止日期,是招标的有效期,这个期限也叫投标准备期 在投标有效期内,招标人不得随意撤回、修改或变更招标文件 上午3时29分 69
5.2.1 投标失效的情形 在投标生效后,遇到下列情形之一,投标失效,投标人不再受其约束: 投标人不符合招标文件的要求 投标有效期届满 投标人终止,如死亡、解散、破产等 上午3时29分 69
5.3 中标和合同成立 招投标双方签订合同,合同成立可以分为要约和承诺两个阶段 要约:招标 承诺:合同 上午3时29分 69
5.4 采购的其它形式 采购除了招标采购外,还有其他形式: 竞争性谈判 在投标人数量低于最低要求的情况下,可以采用竞争性谈判 询价采购 事先选定合格供应商范围,然后询价采购 单一来源采购 与某家企业已经建立良好合作信任 上午3时29分 69
6 工具的使用 当软件企业采购了合适的软件工具之后,就要在组织内部推广使用 如果组织内部原来使用一种软件工具,现在要使用新的工具,就需要进行工具的切换,工具切换包括两个过程: 系统切换的准备工作 工具切换和运行方案选择 上午3时29分 69
6.1 系统切换的准备工作 系统切换的准备工作包括4个步骤 管理部门制定切换计划书 切换人员培训 数据准备 制定系统切换的应急方案 上午3时29分 69
6.1.1 管理部门指定切换计划书 由于工具切换涉及到整个开发团队或企业,因此管理部门需要制定详细的切换计划书,保证切换的顺利进行,包括: 切换各阶段的进展时间 参与人员 设备到位 资金配套等 上午3时29分 69
6.1.2 切换人员培训 在系统切换前,需要对整个开发团对进行培训,让他们从技术,心理以及习惯上适应新系统,培训包括: 新工具的特点 系统切换带来的变化和改善 新工具的使用方法和注意事项等 上午3时29分 69
6.1.3 切换数据准备 数据准备工作包括: 对老系统数据进行备份 对重要数据要有专人进行核对 对没有的数据进行手工输入 对旧系统数据进行合并与转换 上午3时29分 69
6.1.4 应急方案 应急方案主要是为了处理在系统切换工程中可能发生的意外 两个作用: 保障系统平稳切换 在新系统无法正常运行时快速切换回老系统,以保障各项业务的正常开展 上午3时29分 69
6.2 工具的切换和运行方案选择 新工具开发完成或购买后,经过调试与测试,就可以投入使用,此时必须将所有的老业务从原来的老系统切换到新构建的系统,有3种切换的方法: 直接切换 并行切换 分段切换 上午3时29分 69
6.2.1 直接切换 直接切换是指在指定时刻,旧系统停止使用,同时新系统立即开始运行 优点:切换简单,节约人力、物力和时间 缺点:风险过大,一旦切换失败会影响到公司的软件开发过程 旧系统 新系统 上午3时29分 69
6.2.2 并行切换 并行切换是在一段时间内,新、旧系统各自独立运行,完成相应的工作,并可以在两个系统间对比,审核,实现平稳过渡 优点:切换安全,风险最小 缺点:两套系统同时维护,投入的人力物力加倍,转换费用最高 旧系统 新系统 上午3时29分 69
6.2.3 分段切换 分段切换是指分阶段、分系统地逐步实现新旧系统的交替 优点:既可避免直接方式的风险,又可避免并行方式的双倍代价 缺点:需要设计转换过程,较复杂 旧系统 新系统 新1 新2 新3 上午3时29分 69
7 工具的维护 软件开发工具和其他应用软件一样,生命周期会长达数年,在这期间,需要对工具进行维护才能达到好的使用效果 维护的必要性和目的 软件开发工具维护的类型 软件开发工具维护的内容 软件开发工具维护管理 上午3时29分 69
7.1维护的必要性和目的 维护必要性:软件工具可能存在不尽人意的地方,比如运行效率和方便程度;另外管理环境的变化可能会对工具提出新的要求 维护目的:保证软件开发工具正常可靠的运行,并能使软件开发工具得到改善和提高,以充分发挥作用 上午3时29分 69
7.2 软件开发工具维护的类型 按照每次进行维护的具体目标,软件维护可以分为4类: 完善性维护 适应性维护 纠错性维护 预防性维护 上午3时29分 69
7.2.1 完善性维护 完善性维护就是在软件开发工具使用期间为不断完善和加强系统功能和性能,以满足用户日益增长的需求而进行的维护工作 完善性维护在整个维护工作中的工作量约占50% 上午3时29分 69
7.2.2 适应性维护 适应性维护是指为了让软件工具适应新的运行环境而进行的维护活动 适应性维护在整个维护工作中的工作量约占25% 上午3时29分 69
7.2.3 纠错性维护 纠错性维护的目的在于纠正开发期间未能发现的遗留错误,对这些错误的相继发现,并对它们进行诊断和改正的过程称为纠错性维护 纠错性维护在整个维护工作中的工作量约占21% 上午3时29分 69
7.2.4 预防性维护 预防性维护是指维护人员主动发现系统使用中的缺陷并进行维护 预防性维护在整个维护工作中的工作量约占4% 上午3时29分 69
7.3 软件开发工具维护的内容 软件开发工具包括5个方面的维护内容 程序的维护 数据文件的维护 代码的维护 机器、设备的维护 机构和人员变动的维护等 上午3时29分 69
7.4 软件开发工具维护的管理 软件开发维护管理工作的执行需要有一个正规的程序: 提出修改要求 领导批准 分配任务 验收成果 登记修改情况 上午3时29分 69
课堂讨论 介绍你熟悉的一种软件开发语言,包括该语言的适应环境、开发应用程序的类型以及其他要求等 上午3时29分 69
作业 名次解释 软件工程活动 简答题 按照正规的软件选用过程,选择开发适用于iOS手机应用的开发工具 上午3时29分 69