2014年自考软件开发工具串讲笔记

上传人:宝路 文档编号:8906100 上传时间:2017-09-30 格式:DOC 页数:30 大小:72.33KB
返回 下载 相关 举报
2014年自考软件开发工具串讲笔记_第1页
第1页 / 共30页
2014年自考软件开发工具串讲笔记_第2页
第2页 / 共30页
2014年自考软件开发工具串讲笔记_第3页
第3页 / 共30页
2014年自考软件开发工具串讲笔记_第4页
第4页 / 共30页
2014年自考软件开发工具串讲笔记_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《2014年自考软件开发工具串讲笔记》由会员分享,可在线阅读,更多相关《2014年自考软件开发工具串讲笔记(30页珍藏版)》请在金锄头文库上搜索。

1、1软件开发工具串讲笔记第一章 绪论重点背诵:1、对于 CASE 工具有两种理解,一种是“计算机辅助软件工程”,另一种是“计算机辅助系统工程” 。2、软件开发工具是引导人们建立正确、有效的概念模式的一种手段。3、从几十年软件开发工具发展历史中,可以看到软件开发工具一个值得注意的特点是多样性和趋同性的并存。4、进入二十一世纪以来,软件开发工具的发展有两个鲜明的特点,第一个特点是面向网络,另一个特点是开源软件的兴起和运用。5、当前我们所要开发的信息系统不同于以前。其重要特征是具有复杂性、多样性和相互关联性。1.1 软件开发工具的由来(1) 简述软件开发工具的范围?在高级程序设计语言(第三代语言)的基

2、础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。(2)软件开发工具的发展过程包括以下四个阶段:工具产生之前、通用工具的使用、专用2工具的出现、一体化工具的出现。论述工具产生之前,第一代到第四代程序设计语言的主要特征?1)第一代机器语言阶段:使用“0”和“1”代码进行编程,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植;2)第二代汇编语言:使用助记符来编写程序,由汇编系统将汇编指令转化为机器指令,编程工作量大大降低,但依然依赖于计算机硬件。与此同时,操作系统的出现从另一方面改善了人们应用计算机的条件;3)第

3、三代高级程序设计语言,高级语言突破了与机器指令一一对应的限制,实现了对机器的独立性,从而大大提高了程序的可移植性。程序员需要逐行编写语句来实现算法的过程,因此它属于过程化的语言;4)第四代语言(4GL)是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。5)利用通用软件作为辅助工具的阶段利用文字处理软件来编写文档,利用绘图软件来绘制流程图。6)专用软件开发工具阶段专用软件开发工具是面对某一工作阶段或工作任务的工具,优点是能提高软件开发的质量和效率;缺点是一致性的保持,对软件开发缺乏全面的、统一的支撑环境。37)集成的软件开发工具阶段产生的背景:集成的软件开发工具

4、称为软件开发环境,是指包括支持全过程、全阶段的软件开发工具。以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来,必然会造成冲突与矛盾,以致抵消了工具带来的益处。这种情况导致了集成化软件开发工具的产生。(3)用通用软件辅助软件开发的缺点?答:用通用软件来帮助软件开发人员编写文档或画图可以减少不少工作量,但是这种帮助实在是太表面、太初步了。用通用软件帮助软件开发有三个主要的弱点。1)有许多工作是通用软件所无法完成的;2)用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵,只能做到“形似”

5、,不能做到“神似” ;3)难于保持一致性。1.2 软件开发工具的概念(4)软件开发工具的概念、地位及作用软件开发工具的概念:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。其要点是:1)它是在高级程序设计语言( 第三代语言)之后,软件技术进一步发展的产物;2)它的目的是在人们开发软件中给予各种不同方4面、不同程度的支持或帮助;3)它支持软件开发的全过程,而不是仅限于编码或其它稳定的工作阶段。软件开发工具的地位:软件开发工具的提出与使用,是软件技术发展的一个新阶段,它是软件发展的必然

6、趋势,是软件技术发展到一定阶段的必然产物。软件开发工具的作用:软件开发工具可以提高软件开发的效率,保证软件开发的质量,加快软件开发的周期,同时使得系统更加规范,而且节省人力、财力。(5)软件开发工具的发展(新阶段的特点)答:表现在四个方面:1)自动化程度的提高;2)明确地把需求分析和架构设计包括进了软件工作的范围之内;3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限;4)在这一阶段的研究中,吸收了许多管理科学的内容与方法,如程序员的组织、质量的控制等。1.3 软件开发工具的性能与功能(6)试述软件开发的过程。答:1)需求分析阶段:根据初始要求形成严格的、明确的、可供实际开发使用

7、的软件功能说明书;2)总体设计阶段:根据软件功能说明书的要求,完成软件的总体设计,这包括整个软件的结构设计,公用的数据文件或数据5库的设计,各部分的连接方式及信息交换的标准等几个主要内容;3)实现阶段:完成程序的编写与文档的编写;4)调试阶段:进行模块的调试与整个软件的联调。*软件开发工作的起点是初始要求的提出。需求分析阶段的任务是建立模型;需求分析阶段的基本任务是完成系统的总体设计(7)软件开发工具的基本功能答:功能是软件能做什么事。软件开发工具的主要功能: 1)认识与描述客观系统。主要是用在软件开发工作的第一个阶段需求分析阶段。需求分析工作不确定程度高,更需要经验,更难形成规范化,因而人们

8、希望软件开发工具能在这方面给予更多的帮助。2)存储及管理开发过程中的信息:在软件开发的各阶段都要产生及使用许多信息。有些信息到了其它阶段还要使用,故信息保存与管理问题显得非常突出。3)代码的编写或生成:在整个软件开发工作过程,程序编写工作占了相当比例的人力物力和时间,提高代码的编制速度与效率显然是改进软件工作的一个重要方面。4)文档的编制或生成:文档编写工作也是软件开发工作中十分繁重的一项工作,不但费时费力,而且很难保持一致。在这方面,计算机辅助的作用可以得到充分的发挥。65)软件项目的管理:这方面的功能更明确地是为项目管理人员提供支持,而不是为程序员提供支持。(8)软件开发工具的主要性能指标

9、答:性能是软件能把事情做到什么程序。性能指标主要有:1)表达能力或描述能力;2)保持信息一致的能力;3)使用的方便程序;4)工具的可靠程度;5)对硬软件环境的要求。1.4 软件开发工具的类别(9)软件开发工具的类别答:1)按工作阶段可分为:计划工具,分析工具和设计工具;计划工具:计划工具是从宏观角度去看待软件开发的软件开发工具。它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量、验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新。实现了“跨生命周期”的信息管理与共享,为信息以至软件的重用创造了条件。完全是为项目主管人员服务的;分析工具:主要用于需求分

10、析的工具,它帮助人们认识与表述信息需求和信息流程,从逻辑上明确软件功能与要求。设计工具:设计工具是最具体的,它是指在实现阶段对人们提供帮助,是最直接帮助人们编程调试软件与编写文档的工具。72)按集成程序分:专用工具和集成化工具;专用工具:面对某一工作阶段或某一工作任务的软件开发工具。集成化工具:是集成化的、面对软件开发全过程的软件开发工具。3)按与硬软件的关系分:依赖于硬软件的管理和独立于硬软件的工具。1.5 软件开发工具的研究与应用(10)学习软件开发工具的目的是什么?答:学习软件开发工具的目的:了解软件开发工具的概念、理论基础、基本功能、发展现状与前景,以便能够在实际工作中正确地选择与使用

11、软件开发工具,在必要时能够参加或组织软件开发工具的自行研制,从而达到提高软件工作水平与效率之目标。第二章 软件开发过程及其组织1、软件危机:指随着软件功能越来越多,规模越来越大,复杂性越来越高,引出一系列的问题:软件产品交付拖延、错误多、不可靠、费用增大、不能适应应用变化等,因此怀疑大型软件的复杂性是否超越了人的处理能力。2、水波效应:因修改程序带来的连带影响。当人们修改程序的某一处时,由8于没有充分考虑到这一修改对相关部分带来的影响,结果出现了新的错误。 (名词解释)3、黑箱检验:输入一些信息,通过观察是否能得出预期输出来判断软件是否正确的一种软件测试方法。黑箱检验只能证明程序有错,而不能证

12、明程序没错。 (名词解释)2.1 软件开发的困难(1)软件开发中的两个转换过程对于单个程序员来说,以下两个转换是做好软件工作的关键。首先是从用户的理解到程序员的理解之间的转换;程序的理解与程序的实现之间的转换。保证第一个转换的手段:利用尽可能标准化的方法编写程序设计任务书,用明确的语言或图形、表格,把程序要处理的信息的内容、格式、来源、去向、存储与处理清楚地表达出来,作为双方共同的理解。保证第二个转换的手段:提高程序员的知识水平与实践经验。(2)大型软件开发中困难及原因大型软件开发中的困难有:1)一致性的保持成为十分困难的问题。2)测试的困难大大增加。3)工作进度难以控制。4)文档与代码的协调

13、十分困难。5)版本更新带来的问题。9困难产生的原因有:1)这些困难来自大系统的复杂性;2)许多具有主动性的个人和组织与协调带来大量的困难;3)各个应用领域之间的差别导致困难的加重;4)时间的因素,变化的因素给软件开发带来许多困难。2.2 软件开发方法的发展(3)为提高软件开发的水平和效率,人们提出的软件开发方法面对软件开发中的种种困难和问题,几十年来,软件工作者先后提出的软件开发方法有:结构化程序设计方法、软件工程方法、面向对象的程序设计方法、即插即用的程序设计方法、面向开源软件的程序设计方法。(4)用户、项目负责人、程序员和计算机四种角色在软件开发中应承担的任务?用户:提出需求,验收软件,使

14、用软件,提出修改要求;项目负责人:需求分析,分配任务,验收模块,联调,交付使用,分析修改需求,验收修改成果;程序员:编写程序,模块高度,模块交付检验,修改软件,修改的软件交付检验;计算机:试运行。(5)结构化程序设计的基本思想、原则(20 世纪 60 年代产生的)结构化程序设计的基本思想:把程序的结构分解成三种基本模块:处理单元、循环机制、二分决策机制,并保证模块的划分符合结构良好的要求:101)模块的功能在逻辑上尽可能地单一化、明确化,最好做到一一对应;2)尽可能地减少模块之间的联系及相互影响,对于必需的联系都应当加以明确的说明。应当尽量避免逻辑耦合,而仅限于数据耦合;3)模块的规模应当足够

15、小,以便使它本身的调试易于进行。结构化程序设计的原则:1)限制甚至不用 GOTO 语句,绝对禁止超越模块边界的 GOTO 语句。2)子程序尽可能做到只有一个入口、一个出口。3)程序风格应尽量明确、清晰,包括适当增加注释,书写格式体现层次结构(如循环内的语句一致地右移两格) ,变量名称的选用尽量具有逻辑意义等。4)在程序编写的同时完成有关的文档编撰,不要拖延时间。结构化程序设计的方法主要是为程序员服务的。其缺点是它增大了程序工作量,增加了编程中的麻烦与琐碎的工作,并且降低了程序的运行效率。但是它保证了软件的可靠、准确,而且使软件易于修改。*模块的凝聚性:模块的功能在逻辑上尽可能地单一化、明确化,

16、最好做到一一对应。即每一个模块实现一项明确的任务,反之每一项任务仅由一个模块来完成。此即为模块的凝聚性。*模块间的耦合(耦合性):模块之间的联系及相互影响称为11耦合。*模块间逻辑耦合:如果模块间传递的是控制信号,则称模块间具有逻辑耦合。(6)软件工程的基本思想和方法(20 世纪 80 年代)软件工程的思想来源于传统工程,要想大幅度地从根本上提高软件开发的效率和质量,就应当吸取人们在各种传统产业中的成功经验,从组织和管理的角度加强力量,使软件生产从程序员的个人劳动提高成为有组织的、可控制的工程。软件工程借鉴于传统工程的思想,从软件开发的经验中归纳出相应的工作步骤和交流标准,大家都来遵守和执行,从而保证软件开发的进度与质量。软件工程的实施方法:首先,对软件开发的工作过程进行规范。如 IBM 的 AD/Cycle对应用软件的开发过程做了如下划分和规定:第一阶段,需求分析。了解企业的结构与功能,掌握组织及管理者的信息需求,弄清信息流通的实际情况。第二阶段,分析设

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

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