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

合集下载

软件开发工具-知识点整理

软件开发工具-知识点整理

1、软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发都提供各种不同程序的帮助的一类新型的软件。

2、软件发展的几个主要阶段:(1)仅限于把用户已经明确表达出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。

(2)编程工作改为用汇编语言进行,编好的汇编指令由汇编程序转化为机器指令。

(3)把汇编语言变成了高级程序设计语言(第三代语言)。

高级程序设计语言不再是与机器指令一一对应,而是更加接近人类习惯的自然语言。

3、21世纪的软件开发工具与以往的有什么区别?(1)自动化程序的提高。

(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。

(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长守的全过程。

(4)在这一阶段的研究中,吸收了许多管理可学的内容与方法。

4、软件开发工具的功能要求:(1)认识与描述客观系统。

(2)存储及管理开发过程中的信息。

(3)代码的编写或生成。

(4)文档的编制或生成。

(5)软件项目的管理。

5、软件开发工具的性能:(1)表达能力或描述能力。

(2)保持信息一致性的能力。

(3)使用的方面程度。

(4)工具的可靠程序。

(5)对硬件和软件环境的要求。

6、软件开发工具按工作阶段划分为三类:计划工具、分析工具、设计工具。

计划工具则从更宏观的角度去看待软件开发。

它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新,实现了“跨生命周期”的信息管理与共享,为信息以致软件的重用创造了条件。

设计工具直接为软件开发过程中的编程、调试、文档编写工作提供帮助。

多数的分析工具都是作为较大型计算机的专用系统出现的。

自考 软件开发工具03173(全册讲义)

自考 软件开发工具03173(全册讲义)

自考软件开发工具03173(全册讲义)1. 引言软件开发工具是现代软件开发过程不可或缺的重要组成部分。

它们可以帮助开发人员提高开发效率、简化开发任务,并提供丰富的功能和工具来支持软件开发过程的各个阶段。

本文将介绍自考软件开发工具课程03173的全册讲义,全面系统地介绍了软件开发工具的相关内容。

2. 基本概念本章介绍了软件开发工具的基本概念,包括软件工程、软件开发过程、集成开发环境(IDE)、版本控制系统等。

软件工程是指对软件开发进行系统化、规范化的管理和控制,它包含了软件开发的各个阶段和活动。

软件开发过程是指软件从需求分析到交付使用的全过程。

集成开发环境(IDE)是一套集成了编辑器、编译器、调试器等开发工具的软件应用。

版本控制系统用于管理和追踪软件开发过程中的版本变更。

3. 编辑工具本章介绍了常用的代码编辑器和集成开发环境(IDE),以及它们的特点和使用技巧。

包括文本编辑器、记事本、Sublime Text、Visual Studio Code、Eclipse等工具。

3.1 文本编辑器文本编辑器是编写纯文本文件的工具,常用于编写代码、文本编辑和基本的格式处理。

例如,Windows操作系统内置的记事本就是一种简单的文本编辑器。

文本编辑器通常具有代码高亮、语法检查等基本功能。

3.2 Sublime TextSublime Text是一款流行的代码编辑器,具有强大的插件系统、多重选择、快速导航等功能,适用于各种编程语言。

3.3 Visual Studio CodeVisual Studio Code是由Microsoft开发的跨平台代码编辑器,支持多种编程语言,具有丰富的插件生态系统和强大的调试功能。

3.4 EclipseEclipse是一款著名的Java集成开发环境(IDE),具有强大的编译、调试和开发工具,支持多种编程语言。

4. 调试工具本章介绍了常用的调试工具,以及它们的功能和使用方法。

调试工具用于帮助开发人员定位和修复程序中的错误和问题,提高开发效率。

软件开发工具-知识点整理复习过程

软件开发工具-知识点整理复习过程

软件开发工具-知识点整理1、软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发都提供各种不同程序的帮助的一类新型的软件。

2、软件发展的几个主要阶段:(1)仅限于把用户已经明确表达出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。

(2)编程工作改为用汇编语言进行,编好的汇编指令由汇编程序转化为机器指令。

(3)把汇编语言变成了高级程序设计语言(第三代语言)。

高级程序设计语言不再是与机器指令一一对应,而是更加接近人类习惯的自然语言。

3、21世纪的软件开发工具与以往的有什么区别?(1)自动化程序的提高。

(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。

(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长守的全过程。

(4)在这一阶段的研究中,吸收了许多管理可学的内容与方法。

4、软件开发工具的功能要求:(1)认识与描述客观系统。

(2)存储及管理开发过程中的信息。

(3)代码的编写或生成。

(4)文档的编制或生成。

(5)软件项目的管理。

5、软件开发工具的性能:(1)表达能力或描述能力。

(2)保持信息一致性的能力。

(3)使用的方面程度。

(4)工具的可靠程序。

(5)对硬件和软件环境的要求。

6、软件开发工具按工作阶段划分为三类:计划工具、分析工具、设计工具。

计划工具则从更宏观的角度去看待软件开发。

它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新,实现了“跨生命周期”的信息管理与共享,为信息以致软件的重用创造了条件。

设计工具直接为软件开发过程中的编程、调试、文档编写工作提供帮助。

多数的分析工具都是作为较大型计算机的专用系统出现的。

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

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

《软件开发工具》串讲笔记第一章绪论重点背诵:1、对于CASE工具有两种理解,一种是“计算机辅助软件工程”,另一种是“计算机辅助系统工程”。

2、软件开发工具是引导人们建立正确、有效的概念模式的一种手段。

3、从几十年软件开发工具发展历史中,可以看到软件开发工具一个值得注意的特点是多样性和趋同性的并存。

4、进入二十一世纪以来,软件开发工具的发展有两个鲜明的特点,第一个特点是面向网络,另一个特点是开源软件的兴起和运用。

5、当前我们所要开发的信息系统不同于以前。

其重要特征是具有复杂性、多样性和相互关联性。

1.1 软件开发工具的由来(1)简述软件开发工具的范围?在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。

(2)软件开发工具的发展过程包括以下四个阶段:工具产生之前、通用工具的使用、专用工具的出现、一体化工具的出现。

论述工具产生之前,第一代到第四代程序设计语言的主要特征?1)第一代机器语言阶段:使用“0”和“1”代码进行编程,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植;2)第二代汇编语言:使用助记符来编写程序,由汇编系统将汇编指令转化为机器指令,编程工作量大大降低,但依然依赖于计算机硬件。

与此同时,操作系统的出现从另一方面改善了人们应用计算机的条件;3)第三代高级程序设计语言,高级语言突破了与机器指令一一对应的限制,实现了对机器的独立性,从而大大提高了程序的可移植性。

程序员需要逐行编写语句来实现算法的过程,因此它属于过程化的语言;4)第四代语言(4GL)是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。

5)利用通用软件作为辅助工具的阶段利用文字处理软件来编写文档,利用绘图软件来绘制流程图。

6)专用软件开发工具阶段专用软件开发工具是面对某一工作阶段或工作任务的工具,优点是能提高软件开发的质量和效率;缺点是一致性的保持,对软件开发缺乏全面的、统一的支撑环境。

自考软件开发工具复习资料总结

自考软件开发工具复习资料总结

一、软件开发工具的功能要求:1、认识描述客观系统2、存储管理开发过程中的信息3、代码生成和编写4、文档生成和编写5、软件项目管理二、软件开发工具性能:1、表达能力或描述能力(首先考虑)2、保持信息一致性能力(十分关键)3、使用方便程度4、工具可靠程度5、对硬件和软件的要求(不应当超出所支持的软件环境要求)三、软件开发工具基本功能:1、提供描述软件状况及开发过程的概念模式2、提供存储和管理有关信息的机制与手段3、帮助使用者编制、生成及修改各种文档4、帮助使用者编写程序代码5、对于历史信息进行跨生命周期的管理四、大型软件开发困难:1、一致性保持2、测试困难加大3、进度难以控制4、文檔和代码协调困难5、版本更新困难原因:1、大系统的复杂性2、主动性的个人之间组织和协调困难3、领域间的差别使困难加重4、时间因素、变化因素五、AD/Cylce(软件开发过程的抽象理解):1、需求分析阶段(任务:建立逻辑模型)2、分析设计阶段(任务:完成系统的总体设计包括:详细设计子系统或模块化分)3、编码阶段4、测试阶段5、维护阶段(任务:管理软件的日常运行)六、软件开发工具:1、设计工具(最具体实现阶段第四代语言直接帮助编写和调试最早)2、分析工具(需求分析FLOW 数据字典数据字典管理系统CDDDictionary/3000)3、计划工具(宏观组织项目管理实施)七、模块划分的要求:1、功能在逻辑上单一,明确模块和任务一一对应,一个模块完成一个任务(凝聚性)2、模块间联系尽可能少,对必要的联系加以说明(数据耦合)3、规模应足够小,调试易于进行八、好软件:1、实现功能2、界面友好3、足够的运行速度(不是越快越好)4、可靠性5、易读、结构良好、文文件齐全、易于修改九、好程序员:1、基本知识技能2、项目领域理解深入3、熟悉开发环境十、CMM好项目组:1、有严格、成文工作规范标准,并为全体成员熟知,切实遵守2、人员严格分工,除程序员外还要专门秘书(负责文檔收集、审核及保管),专门测试人员,专职的不限于编程的项目负责人3、详细时间表并严格执行十一、用户界面基本原则:1、主要功能通信2、用户界面始终保持一致3、使用户随时掌握任务的进展状况4、必须能够提供帮助5、宁可让程序多干,不可让用户多干十二、项目管理基本目标:1、使产品质量得以有效的控制2、保证整个系统按预定的进度完成3、有效的利用各种资源4、控制和降低成本十三、生成代码的依据:1、信息库已有的资料2、利用各种模块的框架和构件3、使用者临时通过屏幕前操作送入的信息十四、信息库需要四大类信息:1、软件应用的领域与环境状况(系统状况)2、设计成果(物理设计和逻辑设计)3、运行状况与测试记录4、项目管理和本管理信息十五、AD/Cycle项目考虑范围:1、研究确定工作方法方针2、开发任务划分和分工3、资源状况4、人员情况5、变更情况6、质量情况十六、权衡购买软件的因素:1、准备开发软件的性质与要求2、开发人员支持工作与支持程度的实际需要3、工作环境4、人员因素十七、人机界面总控技术上基本原则:1、面向使用者2、保证信息的准确传递3、保证系统的开放性(灵活性)十八、软开工具的开发:1、从实际出发设定现实有限的目标2、坚持短小实用,逐步积累,避免期望过高,贪大求全3、文档的齐全与资料的积累十九、信息库技术涉及问题:1、内容2、组织方式3、管理功能4、历史信息处理方法二十、版本管理的核心问题:保持两个一致性1、新旧工作保持一致2、局部与整体保持一致二十一、软件开发工具发展主要表现:1、自动化程度提高2、需求分析包含在软件工作中,向用户延伸3、把项目及版本管理包进来,超出一次编程的局限4、吸收了很多管理科学的方法二十二、软件开发基本问题:1、用户理解到程序员理解2、程序员理解到程序实现二十三、软件开发工具的购置方法与步骤:1、明确购买软件的目的与要求2、明确购买软件的环境条件与制约条件3、对于可选工具进行综合比较4、进行测试和检验5、正式签约购置6、安装与试用审计:对一个系统运行状况及效率进行检查和评价,以便进一步用好或改进这个系统软件开发定义:在高级程序设计语言(第三代语言)基础上,为提高软件开发效率和质量,从规划、分析设计测试成文管理各方面,为软件开发者提供帮助的软件。

自考Java语言程序设计(一)串讲笔记

自考Java语言程序设计(一)串讲笔记

1.1Java语言的特点Java语言最初的应用对象是消费性电子产品。

最初的名字是Oak语言。

Java语言是适用于分布式计算环境的面向对象编程语言,它虽类似于C和C++,但比C++简单,忽略了许多为提高计算效率但初学者较难掌握的程序语言特性。

Java语言主要有以下特点:①强类型。

②编译和解释:Java语言是一种高级编程语言,用Java语言编写的源程序在计算机上运行需要经过编译和解释执行两个严格区分的阶段。

Java的编译程序先将Java的源程序翻译成与机器无关的字节码,不是通常的编译程序将源程序翻译成特定计算机的机器代码。

运行时,Java的运行系统装载和链接需要执行的类,并作必要的优化后,解释执行字节码程序。

③自动无用内存回收功能,没有指针,数组元素都要检查下标是否越界。

④面向对象。

〃1〃第1章Java语言基础⑤与平台无关:在任何平台上,Java源程序被Java编译器译成虚拟机能够识别的字节码。

这样,只要有Java虚拟机的平台,就能解释执行Java字节码程序,从而实现Java程序与平台无关。

⑥安全性。

⑦分布式计算。

⑧多线程。

1.2Java应用程序和小应用程序Java程序可以是独立的应用程序,也可以是能在浏览器上执行的小应用程序(Applet)。

两种Java程序都由一个或多个扩展名为“.class”的文件组成,而且都需要Java虚拟机(JVM)载入并翻译。

两种程序的主要区别是:①小应用程序只能在与Java兼容的容器中运行,可以嵌入在HTML网页内,在网络上发布,当网页被浏览时,在浏览器中运行,小应用程序的运行还受到严格的安全限制,例如:它不能访问用户计算机上的文件。

Java应用程序没有这些限制,也不支持网页嵌入和下载运行。

②小应用程序和应用程序在代码编写上也有很大差异。

一个小应用程序必须定义成一个Applet类的子类。

应用程序可以是Applet类的子类,也可以不是。

应用程序必须在一个类中定义一个main()方法,该方法代表应用程序的入口。

软件开发工具知识点

软件开发工具知识点

第一章绪论1、软件开发工具的定义:在高级程序设计语言(第三代语言)的基础之上,为了提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。

2、软件是广大使用者与计算机之间的桥梁,软件是人类在各个领域中基类的只是的结晶,软件是人类文明与只是得以延续的新的载体,软件是人类记你一不成为一个整体,得以进一步相互联系的纽带。

3、用通用软件帮助软件开发有三个主要的弱点:第一个弱点是,有许多工作是通用软件所无法完成的;第二个弱点是,通用软件完成某些工作,只能表现其表面的形式,而不能反映其逻辑内涵;第三个弱点是,用通用软件来帮助人们完成软件开发工作时,常常遇到难于保持一致性的困难。

4、IBM在1989年宣布了一个名为AD/Cycle的巨大的理论框架,可以被看做死后进入集成的软件开发环境阶段的标志。

5、软件开发工具概念的要点:它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物;它的目的是在人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助;它支持软件开发的全过程,而不是仅限于编码或其它特定的工作阶段。

6、第四代语言(4GL):它的原义是非过程化的程序设计语言。

针对以处理过程为中心的第三代语言,它希望通过某些标准处理过程的自动生成,使用户可以只说明要求做什么,而把具体的执行步骤的安排交由软件自动处理。

7、软件开发的过程:第一阶段是初始要求的提出;第二阶段是总体设计;第三阶段是程序的编写与文档的编写;第四阶段是测试或调试阶段。

8、软件开发工具应提供的支持工作有:第一,认识与描述客观系统;第二,存储及管理开发过程中的信息;第三,代码的编写或生成;第四,文档的编制或生成;第五,软件项目管理。

9、软件开发工具的性能:第一,表达能力或描述能力;第二,保持信息一致的能力;第三,使用的方便程度;第四,工具的可靠程度;第五,对硬件和软件环境的要求。

第四章软件开发工具知识点

第四章软件开发工具知识点

一、选择填空题知识点1、软件开发工具一般都比较复杂、庞大,所以必须首先考虑的它的(功能设计)和(总体结构)。

2、软件开发工具的功能必须毕设软件开发工作的实际需要,具有足够的(开放性)与(灵活性)。

3、软件开发工具的信息入口和调度中心是(人机界面)和(总控模块)。

4、软件开发工具的两种主要输出功能是(代码生成)和(文档生成)。

5、软件开发工具是引导人们建立正确的、有效的(概念模式)的一种手段。

6、使用者和软件开发工具之间交流信息,事项所有的支持功能的桥梁是(总控和人机界面)。

7、信息库的(结构框架)反映了人们对软件产品及软件开发过程的基本开发。

8、信息库(内容)的丰富程度是软件开发工具的功能与作用的最基本的依据。

9、软件最基本的组成部分是(代码)和(文档)。

10、作为一个完整的、一体化的软件开发工具,(总控和人机界面)处于中心的位置。

11、为了有效的支持软件开发人员的工作,软件开发工具必须提供各工作环节之间的(协调)与(配合)。

12、SAA指的是(应用软件的结构)。

13、IBM的AD/Cycle中,程序员接口有(过程化语言)(非过程化语言)(生成器)(数据库查询)(对话显示)(通信服务)图4-214、IBM的AD/Cycle中,对外系统的通信接口有(面向对象的结构)(数据流)(应用服务)(作业管理)(网络管理)(数据安全控制)图4-3 15、IBM的AD/Cycle中,将软件开发过程的每一个周期分为五个阶段:(需求分析阶段)(分析设计阶段)(编码阶段)(测试阶段)(维护阶段)。

16、建立软件多处领域或环境的模型是在(需求分析)阶段。

17、建立软件的数据模型是在(需求分析)阶段。

18、建立软件的信息流通的模型是在(需求分析)阶段。

19、数据结构的详细设计是在(分析设计)阶段。

20、完成子系统或模块的划分是在(分析设计)阶段。

21、在软件开发工具的跨周期管理中,知识库和专家系统一般应用于( 编码和测试阶段)22、在软件开发工具的跨周期管理中,生成工具应用于(编码和测设)阶段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件开发工具》串讲笔记第一章绪论重点背诵:1、对于CASE工具有两种理解,一种是“计算机辅助软件工程”,另一种是“计算机辅助系统工程”。

2、软件开发工具是引导人们建立正确、有效的概念模式的一种手段。

3、从几十年软件开发工具发展历史中,可以看到软件开发工具一个值得注意的特点是多样性和趋同性的并存。

4、进入二十一世纪以来,软件开发工具的发展有两个鲜明的特点,第一个特点是面向网络,另一个特点是开源软件的兴起和运用。

5、当前我们所要开发的信息系统不同于以前。

其重要特征是具有复杂性、多样性和相互关联性。

1.1 软件开发工具的由来(1)简述软件开发工具的范围?在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。

(2)软件开发工具的发展过程包括以下四个阶段:工具产生之前、通用工具的使用、专用工具的出现、一体化工具的出现。

论述工具产生之前,第一代到第四代程序设计语言的主要特征?1)第一代机器语言阶段:使用“0”和“1”代码进行编程,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植;2)第二代汇编语言:使用助记符来编写程序,由汇编系统将汇编指令转化为机器指令,编程工作量大大降低,但依然依赖于计算机硬件。

与此同时,操作系统的出现从另一方面改善了人们应用计算机的条件;3)第三代高级程序设计语言,高级语言突破了与机器指令一一对应的限制,实现了对机器的独立性,从而大大提高了程序的可移植性。

程序员需要逐行编写语句来实现算法的过程,因此它属于过程化的语言;4)第四代语言(4GL)是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。

5)利用通用软件作为辅助工具的阶段利用文字处理软件来编写文档,利用绘图软件来绘制流程图。

6)专用软件开发工具阶段专用软件开发工具是面对某一工作阶段或工作任务的工具,优点是能提高软件开发的质量和效率;缺点是一致性的保持,对软件开发缺乏全面的、统一的支撑环境。

7)集成的软件开发工具阶段产生的背景:集成的软件开发工具称为软件开发环境,是指包括支持全过程、全阶段的软件开发工具。

以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。

这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来,必然会造成冲突与矛盾,以致抵消了工具带来的益处。

这种情况导致了集成化软件开发工具的产生。

(3)用通用软件辅助软件开发的缺点?答:用通用软件来帮助软件开发人员编写文档或画图可以减少不少工作量,但是这种帮助实在是太表面、太初步了。

用通用软件帮助软件开发有三个主要的弱点。

1)有许多工作是通用软件所无法完成的;2)用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵,只能做到“形似”,不能做到“神似”;3)难于保持一致性。

1.2 软件开发工具的概念(4)软件开发工具的概念、地位及作用软件开发工具的概念:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。

其要点是:1)它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物;2)它的目的是在人们开发软件中给予各种不同方面、不同程度的支持或帮助;3)它支持软件开发的全过程,而不是仅限于编码或其它稳定的工作阶段。

软件开发工具的地位:软件开发工具的提出与使用,是软件技术发展的一个新阶段,它是软件发展的必然趋势,是软件技术发展到一定阶段的必然产物。

软件开发工具的作用:软件开发工具可以提高软件开发的效率,保证软件开发的质量,加快软件开发的周期,同时使得系统更加规范,而且节省人力、财力。

(5)软件开发工具的发展(新阶段的特点)答:表现在四个方面:1)自动化程度的提高;2)明确地把需求分析和架构设计包括进了软件工作的范围之内;3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限;4)在这一阶段的研究中,吸收了许多管理科学的内容与方法,如程序员的组织、质量的控制等。

1.3 软件开发工具的性能与功能(6)试述软件开发的过程。

答:1)需求分析阶段:根据初始要求形成严格的、明确的、可供实际开发使用的软件功能说明书;2)总体设计阶段:根据软件功能说明书的要求,完成软件的总体设计,这包括整个软件的结构设计,公用的数据文件或数据库的设计,各部分的连接方式及信息交换的标准等几个主要内容;3)实现阶段:完成程序的编写与文档的编写;4)调试阶段:进行模块的调试与整个软件的联调。

***软件开发工作的起点是初始要求的提出。

需求分析阶段的任务是建立模型;需求分析阶段的基本任务是完成系统的总体设计(7)软件开发工具的基本功能答:功能是软件能做什么事。

软件开发工具的主要功能:1)认识与描述客观系统。

主要是用在软件开发工作的第一个阶段——需求分析阶段。

需求分析工作不确定程度高,更需要经验,更难形成规范化,因而人们希望软件开发工具能在这方面给予更多的帮助。

2)存储及管理开发过程中的信息:在软件开发的各阶段都要产生及使用许多信息。

有些信息到了其它阶段还要使用,故信息保存与管理问题显得非常突出。

3)代码的编写或生成:在整个软件开发工作过程,程序编写工作占了相当比例的人力物力和时间,提高代码的编制速度与效率显然是改进软件工作的一个重要方面。

4)文档的编制或生成:文档编写工作也是软件开发工作中十分繁重的一项工作,不但费时费力,而且很难保持一致。

在这方面,计算机辅助的作用可以得到充分的发挥。

5)软件项目的管理:这方面的功能更明确地是为项目管理人员提供支持,而不是为程序员提供支持。

(8)软件开发工具的主要性能指标答:性能是软件能把事情做到什么程序。

性能指标主要有:1)表达能力或描述能力;2)保持信息一致的能力;3)使用的方便程序;4)工具的可靠程度;5)对硬软件环境的要求。

1.4 软件开发工具的类别(9)软件开发工具的类别答:1)按工作阶段可分为:计划工具,分析工具和设计工具;计划工具:计划工具是从宏观角度去看待软件开发的软件开发工具。

它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量、验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新。

实现了“跨生命周期”的信息管理与共享,为信息以至软件的重用创造了条件。

完全是为项目主管人员服务的;分析工具:主要用于需求分析的工具,它帮助人们认识与表述信息需求和信息流程,从逻辑上明确软件功能与要求。

设计工具:设计工具是最具体的,它是指在实现阶段对人们提供帮助,是最直接帮助人们编程调试软件与编写文档的工具。

2)按集成程序分:专用工具和集成化工具;专用工具:面对某一工作阶段或某一工作任务的软件开发工具。

集成化工具:是集成化的、面对软件开发全过程的软件开发工具。

3)按与硬软件的关系分:依赖于硬软件的管理和独立于硬软件的工具。

1.5 软件开发工具的研究与应用(10)学习软件开发工具的目的是什么?答:学习软件开发工具的目的:了解软件开发工具的概念、理论基础、基本功能、发展现状与前景,以便能够在实际工作中正确地选择与使用软件开发工具,在必要时能够参加或组织软件开发工具的自行研制,从而达到提高软件工作水平与效率之目标。

第二章软件开发过程及其组织1、软件危机:指随着软件功能越来越多,规模越来越大,复杂性越来越高,引出一系列的问题:软件产品交付拖延、错误多、不可靠、费用增大、不能适应应用变化等,因此怀疑大型软件的复杂性是否超越了人的处理能力。

2、水波效应:因修改程序带来的连带影响。

当人们修改程序的某一处时,由于没有充分考虑到这一修改对相关部分带来的影响,结果出现了新的错误。

(名词解释)3、黑箱检验:输入一些信息,通过观察是否能得出预期输出来判断软件是否正确的一种软件测试方法。

黑箱检验只能证明程序有错,而不能证明程序没错。

(名词解释)2.1 软件开发的困难(1)软件开发中的两个转换过程对于单个程序员来说,以下两个转换是做好软件工作的关键。

首先是从用户的理解到程序员的理解之间的转换;程序的理解与程序的实现之间的转换。

保证第一个转换的手段:利用尽可能标准化的方法编写程序设计任务书,用明确的语言或图形、表格,把程序要处理的信息的内容、格式、来源、去向、存储与处理清楚地表达出来,作为双方共同的理解。

保证第二个转换的手段:提高程序员的知识水平与实践经验。

(2)大型软件开发中困难及原因大型软件开发中的困难有:1)一致性的保持成为十分困难的问题。

2)测试的困难大大增加。

3)工作进度难以控制。

4)文档与代码的协调十分困难。

5)版本更新带来的问题。

困难产生的原因有:1)这些困难来自大系统的复杂性;2)许多具有主动性的个人和组织与协调带来大量的困难;3)各个应用领域之间的差别导致困难的加重;4)时间的因素,变化的因素给软件开发带来许多困难。

2.2 软件开发方法的发展(3)为提高软件开发的水平和效率,人们提出的软件开发方法面对软件开发中的种种困难和问题,几十年来,软件工作者先后提出的软件开发方法有:结构化程序设计方法、软件工程方法、面向对象的程序设计方法、即插即用的程序设计方法、面向开源软件的程序设计方法。

(4)用户、项目负责人、程序员和计算机四种角色在软件开发中应承担的任务?用户:提出需求,验收软件,使用软件,提出修改要求;项目负责人:需求分析,分配任务,验收模块,联调,交付使用,分析修改需求,验收修改成果;程序员:编写程序,模块高度,模块交付检验,修改软件,修改的软件交付检验;计算机:试运行。

(5)结构化程序设计的基本思想、原则(20世纪60年代产生的)结构化程序设计的基本思想:把程序的结构分解成三种基本模块:处理单元、循环机制、二分决策机制,并保证模块的划分符合‘结构良好’的要求:1)模块的功能在逻辑上尽可能地单一化、明确化,最好做到一一对应;2)尽可能地减少模块之间的联系及相互影响,对于必需的联系都应当加以明确的说明。

应当尽量避免逻辑耦合,而仅限于数据耦合;3)模块的规模应当足够小,以便使它本身的调试易于进行。

结构化程序设计的原则:1)限制甚至不用GOTO 语句,绝对禁止超越模块边界的 GOTO 语句。

2)子程序尽可能做到只有一个入口、一个出口。

3)程序风格应尽量明确、清晰,包括适当增加注释,书写格式体现层次结构(如循环内的语句一致地右移两格),变量名称的选用尽量具有逻辑意义等。

4)在程序编写的同时完成有关的文档编撰,不要拖延时间。

结构化程序设计的方法主要是为程序员服务的。

其缺点是它增大了程序工作量,增加了编程中的麻烦与琐碎的工作,并且降低了程序的运行效率。

相关文档
最新文档