计算机软件培训讲义

  文件类别:培训讲义 课程讲义

  文件格式:文件格式

  文件大小:82K

  下载次数:66

  所需积分:6点

  解压密码:qg68.cn

  下载地址:[下载地址]

清华大学卓越生产运营总监高级研修班

综合能力考核表详细内容

计算机软件培训讲义
XX公司计算机软件培训讲义 1、背景 20世纪是一个革命化变革的世纪。机械化革命、电气化革命、信息化革命无论是 对社会还是对人类都起到了根本性的变化影响。特别是自动化生产的理念,对机械化 革命、电气化革命和信息化革命中的骨骼部分(硬件产品:例如计算机及其相关部件 、通信产品、存储介质等)都起到了突飞猛进的推动作用。但对于信息化革命中的神 经或血液部分的软件,如何将自动化生产的理念引入到其开发研制中来,是20世纪6 0年代以来给人类留下的始终未解决好的一个重大课题。 20世纪80年代初,国际著名的软件学家布鲁思曾经发表过一片著名的论文『没有 银弹』,在软件界引起了很大的震动。论文的中心散布了一种软件悲观论的思想,布 鲁思个人认为软件的自动化生产,由于受各种外界条件的制约,是几乎无法实现的。 这种悲观的事实虽彻底解决不了,但通过软件工程及其相关联的优秀的方法论,通过 优秀的人才是可以缓解的。 在未来的信息化革命中,起着神经或血液角色的软件作用越来越重要,据国际权 威调查机构的资料,工程费用上软硬的比例目前已达到了6:4的数值。由此可见软件 工程及其相关联的优秀的方法论、优秀的软件人才在信息化革命革命中的重要性。 2、软件工程 软件工程是一类工程。工程是将理论和知识应用于实践的科学。就软件工程而言 ,它借鉴了传统工程的原则和方法,以求高效地开发高质量软件。其中应用了计算机 科学、数学和管理科学。计算机科学和数学用于构造模型与算法,工程科学用于制定 规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量和成本的管 理。 软件工程这一概念,主要是针对20世纪60年代“软件危机”而提出的。它首次出现 在1968年NATO(北大西洋公约组织)会议上。自这一概念提出以来,围绕软件项目, 开展了有关开发模型、方法以及支持工具的研究。其主要成果有:提出了瀑布模型, 开发了一些结构化程序设计语言(例如PASCAL语言,ADA语言)、结构化方法等。并 且围绕项目管理提出了费用估算、文档复审等方法和工具。综观60年代末至80年代初 ,其主要特征是,前期着重研究系统实现技术,后期开始强调开发管理和软件质量。 70年代初,自“软件工厂”这一概念提出以来,主要围绕软件过程以及软件复用, 开展了有关软件生产技术和软件生产管理的研究与实践。其主要成果有:提出了应用 广泛的面向对象语言以及相关的面向对象方法,大力开展了计算机辅助软件工程的研 究与实践。尤其是近几年来,针对软件复用及软件生产,软件构件技术以及软件质量 控制技术、质量保证技术得到了广泛的应用。目前各个软件企业都十分重视资质认证 ,并想通过这些工作进行企业管理和技术的提升。软件工程所涉及的要素可概括如下 : [pic] 软件工程框架图 根据这一框架,可以看出:软件工程涉及了软件工程的目标、软件工程原则和软 件工程活动。 软件工程的主要目标是:生产具有正确性、可用性以及开销合宜的产品。正确性 意指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用 的程度。开销合宜性是指软件开发、运行的整个开销满足用户要求的程度。这些目标 的实现不论在理论上还是在实践中均存在很多问题有待解决,它们形成了对过程、过 程模型及工程方法选取的约束。 软件工程的四项基本原则是:   第一,选取适宜开发范型。该原则与系统设计有关。在系统设计中,软件需 求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必 须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户 的要求。   第二,采用合适的设计方法。在软件设计中,通常要考虑软件的模块化、抽 象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征 的实现,以达到软件工程的目标。   第三,提供高质量的工程支持。“工欲善其事,必先利其器”。在软件工程中 ,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决 于对软件工程所提供的支撑质量和效用。   第四,重视开发过程的管理。软件工程的管理,直接影响可用资源的有效利 用,生产满足目标的软件产品,提高软件组织的生产能力等问题。因此,仅当软件过 程得以有效管理时,才能实现有效的软件工程。 软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤 ”。主要包括需求、设计、实现、确认以及支持等活动。需求活动包括问题分析和需 求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计 活动一般包括概要设计和详细设计。概要设计建立整个软件体系结构,包括子系统、 模块以及相关层次的说明、每一模块接口定义。详细设计产生程序员可用的模块说明 ,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程 序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户 的要求。支持活动包括修改和完善。伴随以上活动,还有管理过程、支持过程、培训 过程等。 这一软件工程框架告诉我们,软件工程的目标是可用性、正确性和合算性;实施 一个软件工程要选取适宜的开发范型,要采用合适的设计方法,要提供高质量的工程 支撑,要实行开发过程的有效管理;软件工程活动主要包括需求、设计、实现、确认 和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方法、 支持过程以及过程管理。根据软件工程这一框架,软件工程学科的研究内容主要包括 :软件开发范型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助 软件工程(CASE) 及软件经济学等。 自从软件工程概念提出以来,经过30多年的研究与实践,虽然“软件危机”没得到彻 底解决,但在软件开发方法和技术方面已经有了很大的进步。尤其应该指出的是,自 80年代中期,美国工业界和政府部门开始认识到,在软件开发中,最关键的问题是软 件开发组织不能很好地定义和管理其软件过程,从而使一些好的开发方法和技术都起 不到所期望的作用。也就是说,在没有很好定义和管理软件过程的软件开发中,开发 组织不可能在好的软件方法和工具中获益。 根据调查,中国的现状几乎和美国10多年前的情况一样,软件开发过程没有明确 规定,文档不完整,也不规范,软件项目的成功往往归功于软件开发组的一些杰出个 人或小组的努力。这种依赖于个别人员上的成功并不能为全组织的软件生产率和质量 的提高奠定有效的基础,只有通过建立全组织的过程改善,采用严格的软件工程方法 和管理,并且坚持不懈地付诸实践,才能取得全组织的软件过程能力的不断提高。 这一事实告诉我们,只有坚持软件工程的四条基本原则,既重视软件技术的应用 ,又重视软件工程的支持和管理,并在实践中贯彻实施,才能高效地开发出高质量的 软件。 3、方法论 如何运用软件工程,从20世纪70年代初开始,围绕着这个问题,诞生了许多著名 的方法论。下面对几个典型的方法论进行简单的介绍。 3.1、瀑布式方法论 瀑布模型将软件生命周期的各项活动规定为依固定顺序联接的若干阶段工作,形 如瀑布流水,最终得到软件产品。 优点: a. 强调开发的阶段性; b. 强调早期计划及需求调查; c. 强调产品测试。 缺点: a. 依赖于早期进行的唯一的一次需求调查,不能适应需求的变化; b. 由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程; c. 风险往往迟至后期的开发阶段才显露,因而失去及早纠正的机会。 其中,BD是Basic Design的缩写,这一部分完成“本系统要做什么”的文档记录工作,即系统的分析阶段 工作;FD是Function Design的缩写,这一部分完成本系统功能块的划分,是“怎么去做”的第一阶段工作, 即系统的设计初期阶段工作;DD是Detail Design的缩写,这一部分完成本系统各个功能模块的详细设计工作,是编程阶段的准 备设计阶段;MK是Making的缩写,即具体编程实施阶段;UT是Unit Test的缩写,即单元测试阶段;CT是Combine Test的缩写,即结合测试阶段;ST是System Test的缩写,即系统测试阶段;PT是Product Test的缩写,即商品测试阶段。 从上图中可以看出,BD和PT、 FD和ST、DD和CT、MK和UT都是成对出现的。每一对的前一部分完成之后,应该马上着 手后一部分的文档制作工作。对较大的系统开发,实际测试和文档的担当者应该不同 。 3.2、生鱼片式方法论 [pic] 前一阶段完成70%到80%时,即可并行进入到下一个阶段。 3.3、螺旋式方法论 瀑布模型与演化模型相结合,并加入两者所忽略的风险分析所建立的一种软件开 发模型。该模型于1998年由美国TRW公司(B.W.Boehm)提出。软件项目风险的大小作 为指引软件过程的一个重要因素,引入这一概念有可能使得软件开发被看作一种元模 型,因为它能包容任何一个开发过程模型。 螺旋模型基本的做法是在“瀑布模型”的每一个开发阶段之前,引入非常严格的风 险识别、风险分析和风险控制。直到采取了消除风险的措施之后,才开始计划下一阶 段的开发工作。否则,项目就很可能被取消。 另外,如果有充足的把握判断遗留的风险已降低到一定的程度,项目管理人员可 作出决定让余下的开发工作采用另外的生命周期模型,如“演化模型”,“瀑布模型”, 或自定的混合模型。 优点: a. 强调严格的全过程风险管理。 b. 强调各开发阶段的质量。 c. 提供机会检讨项目是否有价值继续下去。 缺点: a.引入非常严格的风险识别,风险分析,和风险控制,这对风险管理的技能水平 提出了很高的要求。这需要人员,资金,和时间的投入。 3.4、阶段性发布式方法论 该模型主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的 核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设 计和实现。软件开发人员根据用户的需求,首先开发核心系统。当该核心系统投入运 行后,用户试用之,完成他们的工作,并提出精化系统、增强系统能力的需求。软件 开发人员根据用户的反馈,实施开发的迭代过程。第一迭代过程均由需求、设计、编 码、测试、集成等阶段组成,为整个系统增加一个可定义的、可管理的子集。下面为 生鱼片型阶段性发布式方法论图示。 [pic] 在开发模式上采取分批循环开发的办法,每循环开发一部分的功能,它们成为这 个产品的原型的新增功能。于是,设计就不断地演化出新的系统。 实际上,这个模型可看作是重复执行的多个“生鱼片方式”。 3.5、Booch方法论 Booch方法的过程包括以下步骤:
计算机软件培训讲义
 

[下载声明]
1.本站的所有资料均为资料作者提供和网友推荐收集整理而来,仅供学习和研究交流使用。如有侵犯到您版权的,请来电指出,本站将立即改正。电话:010-82593357。
2、访问管理资源网的用户必须明白,本站对提供下载的学习资料等不拥有任何权利,版权归该下载资源的合法拥有者所有。
3、本站保证站内提供的所有可下载资源都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。
4、未经本网站的明确许可,任何人不得大量链接本站下载资源;不得复制或仿造本网站。本网站对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。

 我要上传资料,请点我!
人才招聘 免责声明 常见问题 广告服务 联系方式 隐私保护 积分规则 关于我们 登陆帮助 友情链接
COPYRIGT @ 2001-2018 HTTP://WWW.QG68.CN INC. ALL RIGHTS RESERVED. 管理资源网 版权所有