软件开发工具复习资料打印版

上传人:s9****2 文档编号:551834434 上传时间:2023-05-01 格式:DOC 页数:11 大小:110KB
返回 下载 相关 举报
软件开发工具复习资料打印版_第1页
第1页 / 共11页
软件开发工具复习资料打印版_第2页
第2页 / 共11页
软件开发工具复习资料打印版_第3页
第3页 / 共11页
软件开发工具复习资料打印版_第4页
第4页 / 共11页
软件开发工具复习资料打印版_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《软件开发工具复习资料打印版》由会员分享,可在线阅读,更多相关《软件开发工具复习资料打印版(11页珍藏版)》请在金锄头文库上搜索。

1、软件开发工具第一章 绪 论1.1 软件开发工具的由来一、软件开发工具:1、软件开发工具的范围大致可以 描述为:在高级程序设计语言(第 三代语言)的基础上,为提高软件 开发的质量和效率,从规划、分析、 设计、测试、成文和管理各方面, 对软件开发者提供各种不同的帮 助的一类广泛的软件。2、如何理解: 首先,是一类软件,是开发软件用 的软件。其次,是在第三代语言的基础上发 展起来的。另外,这里强调对软件开发全过程 中各个阶段的支持,即不仅包含狭 义的编程阶段,而是包括了相当广 泛的范围和相当丰富的内容。二、软件开发工具的产生与演变1、软件开发工具的产生与演变 第一代语言-机器语言 第二代语言-汇编语

2、言 第三代语言-高级程序设计语言 (过程化语言) 第四代语言-非过程化语言2、第三代语言与第二代语言的区 别 第三代语言突破了与机器指 令一一对应的限制,用尽可能接近 自然语言的表达方式描述人们设 想的处理过程,把这种表达方式向 机器指令的转化工作交给编译系 统去完成。 另一个重要的变化是高级设计 语言实现了对机器的独立性,即不 依赖特定的硬件系统 抽象地逻辑 地描述处理和算法,而把硬件系统 之间的区别交给不同的编译系统 去处理,从而大大提高了程序的可 移植性。(第三代程序设计语言一般是过 程化语言)3、第四代语言-非过程化语言思 想人们希望机器能够自动地完成更 多的工作,包括自动安排某些(不

3、 是全部)工作的顺序,而做到只要 给机器下达需要做什么的命令,由 机器自己去安排执行的顺序。4、软件危机: 在认识到软件工作重要性的同时, 也认识到软件工作的困难性。这就 是所谓的软件危机问题的提出。三、软件工作的重要性1、软件是计算机的灵魂(1)软件是广大使用者与计算机 之间的桥梁;(2)软件是人类的各个领域中积 累的知识的结晶;(3)软件是人类文明与知识得以 延续的新的载体;(4)软件是人类进一步成为一个 整体,得以进一步相互联系的纽 带。2、软件工作的困难性(1)人类社会和客观世界的复杂 性,决定了软件本身的复杂性;(2)人类知识和丰富多彩,决定 了软件的极大多样性;(3)客观世界的动态

4、性,决定了 软件对可维护性、可靠性越来越高 的要求。如何保证软件的正确性、可靠性, 如何控制软件开发工作的进度与 成本,成了理论上十分重要、实际 中十分迫切的课题。3、用通用软件帮助软件开发有三 个主要弱点:(1)有许多工作是通用软件所无 法完成的。(2)用通用软件完成某些工作中 俑表现其表面的形式,而不能反映 其内涵。(3)用通用软件来帮助人们完成 软件开发工作时,常常遇到难于保 持一致性的困难。四 专门用于软件开发的软件开发 工具1、专用的软件开发工具主要分为 以下几类(1)面向特定功能模块的各种代 码生成程序(报表生成器、菜单生 成器、对话生成器等);(2)综合性的第四代语言一般是 立足

5、于某种数据库管理系统或某 种第三代语言之上的);(3)专用于某种文档的编写工具;(4)数据字典管理系统(DDMS);(5)专用于画数据流程图、ER图或程序框图的绘图软件等。2、专用的软件开发工具的出现, 并未解决第三个困难,一致性的保 持仍然是悬而未决的难题。这种情 况导致集成的软件开发工具的产 生。3、1989 年,IBM 开发的 AD/Cycle 的主要失误在于两点:(1)拘泥于集中式的处理思路, 对于新的客户机/服务器结构未能 及时适应;(2)坚持在 OS/400 等自己特殊平 台上开发,背离了开放性的大趋 势。1.2 软件开发工具的概念一、概念 1 、三个要点:( 1 )它是在高级程序

6、设计语言(第 三代语言)之后 ,软件技术进一 步发展的产物;( 2)它的目的是在人们开发软件 过程中给予人们各种不同方面、不 同程度的支持或帮助;(3)它支持软件开发的全过程, 而不是仅限于编码或其它特定的 工作阶段。2、软件开发工具有继承性和创新 性一方面,软件开发工具是软件技术 发展的必然产物和自然的趋势,它 的基本思想是致力于软件开发的 高效优质;另一方面,随着人类对软件与软件 开发过程理解的深入,它又具备了 新思想与方法。3、软件用来特指看不见、摸不着 的,但又发挥着十分重要的作用、 事先编好的指令系列。硬件是躯 体,软件是灵魂。4、软件一头连着计算机硬件,向 硬件提供它可以执行的机器

7、指令, 另一头面向用户,接受用户提出的 要求,提供的算法。(软件是用户 与硬件之间的桥梁)5、软件实际上是人类知识与经验 的结晶。6、软件包括程序和文档两个不可 缺少的组成部分。二、软件开发工作的四个阶段: 最初阶段的工作仅限于把用户已 经明确表述出来年算法,用机器语 言写成一系列机器指令,供硬件运 行使用。第二阶段:汇编语言 第三阶段:高级程序设计语言 第四阶段:目前进入的以应用软件 开发工具为标志的新阶段。三、对于本书讨论的软件开发工具 及新的软件开发方法来说,客观存 在的发展主要表现在四个方面: 首先是自动化程度的提高。 其次,这一阶段的工作明确地把需 求分析包括进了软件工作的范围 之内

8、,从而使软件开发过程进一步 向用户方面延伸,离用户更近了。 第三 把软件开发工作延伸到项目 及版本管理 从而超出了一次编程 的局限,而扩展到了作为一个不断 发展的客体生长完善的全过程。 (这也是软件研制从个体的、手工 作坊的方式向科学的、有组织、有 计划的方式转变的一个重要表 现。) 最后,这一阶段的研究吸收了许多 管理科学的内容与方法,如程序咒 的组织、质量的控制等。 总之,软件开发工具的提出与使 用,是软件技术发展的一个新的阶 段。四、涉及到的一些类似、相关的概 念或术语:1、第四代评议(4GL):原义是非 过程化的程序设计语言。第四代语 言可以被看作软件开发工具中的 一类,而不是全部。软

9、件开发工具 的范围还要更宽一些。2、CASS 工具:两种解释。一种是 计算机辅助软件工种,另一咱是计 算机辅助系统工程。3、可视化编程、最终用户计算、 组合编程、即插即用编程、组合软 件等。4、软件开发工具学:也即软件开 发工具1.3 软件开发工具的功能与性能 一、软件开发的过程: 第一阶段:初始要求的提出。软件 开发工作者的任务是根据这种初 始要求形成严格的、明确的、可供 实际开发使用的功能说明书 (成 果:软件功能说明) 第二阶段:总体设计。任务是根据 软件功能说明书的要求,完成软件 的总体设计 包括整个软件的结构 设计、公用的数据文件或数据库的 设计、各部分的连接方式及信息交 换的标准等

10、几个主要内容(。成果: 系统的总体设计文件及各个模块 的设计任务书) 第三个阶段:程序的编写和文档的 编写,统称为实现阶段。 第四个阶段:测试或调试阶段。包 括两部分:模块的高度、整个软件 的联调 (测试工作最好由专门的 小组去进行。) 二、软件开发工具的功能要求(:五 个主要方面)1 、认识与描述客观系统。 这主要是用在软件开发工作的第 一个阶段-需求分析阶段。2、存储及管理开发过程中的信息。3、代码的编写或生成。4、文档的编制或生成。5、软件项目的管理。 这一功能是为项目管理人员提供 支持(包括:进度管理、资源与费 用管理、质量管理三个基本要求)。三、软件开发工具的性能 功能:是指软件能做

11、什么事。 性能:是指事情做到什么样的程 度。软件开发工具的五项重要性能:1 、表达能力或描述能力。2、保持信息一致性的能力。3、使用的方便程度。4、工具的可靠程度。5、对硬件和软件的要求。1.4 软件开发工具的类别一、按工作阶段划分: 设计工具、分析工具、计划工具1 、设计工具:从工作的抽象程度 来看,设计工具是具体的,它是指 在实现阶段对人们提供帮助的工具。如:代码生成器、2、分析工具:主要是指用于支持 需求分析的工具。3、计划工具:从更宏观的角度去 看待软件开发。(实现了跨生命 周期的信息管理与共享) 实践中,设计工具出现得最早、数 量最大。分析工具出现得较晚、数 量也少一些。设计。计划工

12、具完成 是为项目主管人员服务的,再现和 开发得比较晚。计划工具的重要性及地位将随着 软件产业的发展而越来越为人们 所认识。二、按集成程度划分:专用、集成1 、专用的、面对某一工作阶段或 某一工作任务的工具2、集成化的、面对软件开发的全 过程的工具(集成化的软件开发工 具也常常被称为软件工作环境) 三、按与硬件、软件的关系划分 1 、依赖于特定的计算机或特定的 软件(如某种数据库管理系统)2、独立于硬件与其它软件的开发 工具。一般来说 设计工具多依赖于特定 的软件,分析工具与计划工具则往 往是独立于机器与软件的,集成化 的软件开发工具又常常是依赖于 机器与软件的。(会判断) 软件开发工具是否依赖

13、于特定的 计算机硬件或软件系统,对于应用 的效果与作用有直接影响。1.5 软件开发工具的研究与应 用一、应用软件开发队伍中的两种人员:1 、一种是计算机专业出身的技术 人员。(面临的主要问题是如何尽 快地进入新的应用领域,成为这个 领域的内行,从而发挥自己的长 处)需求与分析工具是最直接、最急需的。2、另一种人员来自各个应用领域, 他们出身于计算机以外的各种专 业领域。感兴趣的是设计工具-第四代 语言,各种代码生成系统等。 当以上两种人逐步超出个人编程 阶段成为项目负责人时,对计划工 具的需求也就随之产生。他们的需 求与愿望是软件开发工具产生与 发展的根本动力。二、学习软件开发工具的 在于了解

14、软件开发工具的概、理论 基础、基本功能、发展现状与前景, 以便在实际工作中正确地选择与 使用软件开发工具,在必须时能够 参加或组织软件开发工具的自行 研制,从而达到提高软件工作水平 与效率之目的。这也是本书的目 的。第二章 软件开发过程及其组 织2.1 软件开发中的困难一、软件开发的基本知识1、软件开发过程的两个转换: 首先是从用户的理解到程序员的 理解,其次是从程序员的理解到程 序的实现。2、两个转换的基本情况: 第一个转换是用户对软件功能的 理解和程序员对软件功能的理解 之间的转换 保证这一转换顺利完 成的手段就是利用尽可能标准化 的方法编写程序设计任务书,用明 确的语言或图形、表格,把程

15、序要 处理的信息的内容、格式、来源、 去向、存储与处理清楚的表达出 来,作为双方共同的理解。 第二个转换所要解决的是人和机 器之间交流与协调问题:人和机器 之间在思维方式、工作方式上都有 许多根本区别。做好第二个转换的 关键在于程序员的知识水平与实 际经验。3、对于单个程序员来说,做好软 件工作的关键是以上两个转换。二 大型软件开发中的困 (大题) 当程序的规模超 出一个人的力 量范围时,一系列新的、更难以克 服的困难就出现在人们的面前了。(1)一致性的保持成为十分困难 的问题。(2)测试的困难大大增加。名词水波效应:当我们 修改程序的某一处错误时,由于没 有充分考虑到这一修改对相关部 分带来的影响,结果出现新的错误。黑箱检验方法(只能证明 程序有错而不能证明程序没错)(3)工作进度难以控制。(与其 他工作相比,大型软件开发中的进 度控制是非常困难的)(4)文档与代码协调十分困难。 (文档包括:功能说明书、总体设 计、各模块的设计任务书、每个部 分的研制报告、测试报告,直到最 终的验收报告和给使用者的用户 手册)(5)版本更新带来的困难。(大 量的工作在于审核与回顾) 总之,如果说单个程序员的软件开 发工作面临的困难是一分的话,那 么多人参加的大型软件开

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号