2012自考软件开发工具知识点(参考)
- 格式:doc
- 大小:36.50 KB
- 文档页数:2
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、认识描述客观系统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、安装与试用审计:对一个系统运行状况及效率进行检查和评价,以便进一步用好或改进这个系统软件开发定义:在高级程序设计语言(第三代语言)基础上,为提高软件开发效率和质量,从规划、分析设计测试成文管理各方面,为软件开发者提供帮助的软件。
一、选择填空题知识点1、软件开发工具的目的十分明确,就是从(信息管理)与(信息处理)方面,给(软件开发人员)提供支持与帮助。
2、软件开发过程涉及到信息主要有(需求分析)(分析设计)(代码文档)(变更要求)四类信息。
3、软件成果本身,包括(程序)与(文档)。
4、软件开发过程中涉及到的信息中(变更要求)信息是跨开发周期的。
5、软件开发工作本身是一种复杂的、大规模的(信息处理)工作。
6、(人机界面)正是手工处理的信息向计算机内输入的入口。
7、软件开发工具为四类信息的(合理存储)(正确转化)和(顺畅流通)提供帮助。
8、概念模式是人们在认识事物过程中,对于某一事物或某一系统形成的、抽象的、一般化的(框架)。
9、概念模式在认识中起到了一种(筛选)作用,选择出某些信息,形成人们对这一事物的看法。
10、概念模式作为一种表达与交流的工具,必须具备(简单明了)(易于理解)的特点,否则在实际应用中就很难得到普遍的使用。
11、人们编写软件时使用的最早的一种概念模式的(框图)。
12、框图是用来描述程序执行的(逻辑结构)。
13、在结构化程序设计的方法中,人们引入(结构图),用以表示大型软件的(层次结构)即(模块结构)。
14、结构图的基本图例为(模块)。
15、程序的调用方式有三种(顺序调用)(选择调用)(循环调用)。
16、数据流程图面对的是一个系统的(信息流程)。
17、数据流程图用于描述某一业务处理系统的信息(来源)(存储)(处理)(去向)的全面情况。
18、数据流程图与结构图相比,它更适用于(客观描述),而结构图则着重于(软件模块)之间的控制。
19、实体关系图是一种描述(静态数据结构)的概念模式。
20、实体关系图以(实体)(联系)(属性)三个基本概念概括数据的基本结构。
21、数据字典是一种描述(数据内容)的概念模式。
22、时序网络主要描述(系统状态)及其(转换方式)。
23、数学与逻辑模型,作为逻辑模型的表达方式,(决策树)和(决策表)也是经常使用的。
一、选择填空题知识点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、工作空间是Eclipse在用户计算机磁盘上划分的一块区域,用来存放用户的(工作资料)。
2、工作空间以(项目)为单位组织文件和目录,它将各种资源组织成(树形)结构,项目位于树的根部,文件和文件夹位于树枝的位置。
3、进入Eclipse后欢迎界面中包含五个圆形图标,从左至右分别是(概况)(新特点)(实例)(向导)(工作台)。
4、工作台只要有以下几个组成部分(菜单栏)(工具栏)(透视图)。
5、工具栏主要有两种类型,一种为(主工具栏),另一种类型是(视图工具栏)。
6、Eclipse中,工具栏是可以(定制的)。
8、Eclipse的透视图包括(视图)和(编辑器),视图包括(导航器视图)(大纲视图)(控制台视图)。
9、一个工作台窗口可以包含(多个)独立的透视图,而在同一时刻只有(一个)透视图是对用户可见的。
10、Eclipse中,在进行透视图切换时用到的是菜单栏上的(窗口)菜单。
11、关于Eclipse中视图,说法正确的是1)视图是工作台中一个可视化的组件,提供了用户正在工作台中使用的一些对象的详细信息。
2)在工作台中,可以同时存在多个视图3)在工作台中,只能有一个视图处在活动状态4)视图可以单独出现,也可以与其他视图一起一选项卡的形式叠放。
5)每个视图可以由用户自定义显示或隐藏6)每个视图可以最大化或最小化7)视图有大纲视图、控制台视图、导航器视图、任务视图、调试视图、错误视图12、透视图的布局是(可变的),可以使用鼠标拖动操作更改视图的位置和大小。
13、当透视图布局想恢复至初始设置,使用菜单栏的(窗口)菜单,选择(重置透视图)选项。
14、显示当前Eclipse集成环境中加载的所有项目和各个项目的文件列表的视图是(导航器视图)。
15、显示Eclipse中当前编辑器中所打开文件的纲要的视图是(大纲视图)。
16、在Eclipse中显示程序中的错误,提示用户及时改正的视图是(错误视图)。
17、Eclipse中在任务视图中添加任务,是添加(以TODO )开头的注释标记。
第1章名词解释1、软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各阶段,对软件开发者提供各种不同程度帮助(支持)的一类广泛的软件。
2、第一代语言:即机器语言,是用0、1组成的二进制字符串书写的程序,用纸带等光电设备或通过控制台上的扳键送入机器,得以存储和执行。
3、第四代语言(4GL):第四代语言的原意是非过程化的程序设计语言。
针对以处理过程为中心的第三代语言,它希望通过某些标准处理过程的自动生成,使用户可以只要求做什么,而把具体的执行步骤的安排交给软件自动处理。
4、CASE工具:CASE工具指“计算机辅助软件工程”或“计算机辅助系统工程”,它的基本思想与软件开发工具完全一致,即应用计算机自身处理信息的巨大能力,帮助人们开发复杂的软件或应用系统。
5、所见即所得:“所见即所得”原则力图实现编程工作的可视化,即随时可以看到结果,程序的调整与后果的调整同步进行。
6、需求分析:从用户提出的初始要求出发,经过大量的调查研究,抽象出应用领域中实际的信息需求,设计出在计算机系统内外的、合理的信息流程,并规定软件的功能与性能要求,最后形成严格的、明确的、可供实际开发使用的“软件功能说明书”,这个阶段称为需求分析。
7、总体设计:根据软件功能说明书的要求,完成软件的总体设计,包括整个软件的结构设计、公用数据库文件或数据库的设计、各部分的连接方式及信息交换的标准等。
8、结构设计:所谓结构设计是把软件划分成若干个模块,指定每个模块的功能要求以及它们之间的相互关系。
9、模块测试:根据整体设计时制定的各个模块的设计任务书,对程序员完成的模块进行验收,看它们是否实现了所要求的功能和性能指标。
10、总体测试:每个模块都达到了设计任务书的要求后,还要测试整个系统是否达到了预期的目标,另外还要检查完成的软件与编写的文档是否一致,这个工作成为总体测试。
11、设计工具:设计工具是最具体的,它是指在实现阶段对人们提供帮助的工具,是最直接帮助人们编写与调试软件的工具。
自考软件开发工具笔记1 一、绪论1、简述软件开发工具的范围在高级程序设计语言的基础上为提高软件开发的质量和效率从规划、分析、设计、测试、成文和管理各方面对软件开发者提供各种不同程序帮助的一类新型软件。
2、简术用通用软件辅助软件开发的缺点有许多工作是通用软件所无法完成的用通用软件完成某些工作只能表现出其表面的形式而不能反映其逻辑内涵只能做到“形似”不能做到“神似”难于保持一致性。
3、简述集成化软件开发工具产生的背景集成的软件开发工具称为软件开发环境是指包括支持全过程、全阶段的软件开发工具。
以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。
这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来必然会造成冲突与矛盾。
这种冲突与矛盾对于用户来说造成了沉重的负担使用工具越多这种负担越重以致抵消了工具带来的益处。
这种情况导致了集成化软件开发工具的产生。
4、简述第四代语言与软件开发工具的区别软件开发工具包括4GL的功能软件开发工具支持系统分析、设计工作软件开发工具支持文档工作。
5、简述软件开发总体设计阶段的工作要点是根据软件功能说明书的要求完成软件的总体设计包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等。
6、简述软件开发实现阶段的工作以及应强调之点。
包括程序的编写和文档的编写应特别强调组织与协调及时发现并纠正背离总体设计要求的情况。
7、简述软件开发工具认识与描述客观系统的功能要求认识与描述客观系统是软件开发第一阶段所需的重要工作。
该项工作不确定程度高更需要经验更难规范化需要对复杂系统认识与理解并在此基础上抽象出信息需求与信息流程。
8、简述软件开发的项目管理功能为项目管理人员提供支持。
项目管理包括进度管理、资源与费用管理、质量管理三个基本内容。
还包括需要提出测试方案提供测试环境和测试数据并进行版本管理。
9、从人类科学技术发展的角度论述软件的意义软件是广大使用者与计算机之间的桥梁软件是人类在各个领域中积累的知识结晶软件是使人类文明与知识得以延续的新的载体软件是人类进一步成为一个整体、得以进一步相互联系的纽带。
全国2012年10月高等教育自学考试软件开发工具试题课程代码:03173请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.高级程序设计语言实现了 BA.计算机系统的各种资源自动管理 B.计算机语言对机器的独立性C.由机器自己去安排执行的顺序 D.用自然语言描述人们设想的处理过程2.软件工具的思想与方法得到了广泛的宣传是在20世纪的DA.50年代B.60年代C.70年代 D.80年代3.在软件开发过程中,直接与变更要求关联的界面是DA.分析界面 B.编程界面C.用户界面 D.管理界面4.在软件开发过程中,确定子系统或模块划分的阶段是BA.需求分析阶段 B.分析设计阶段C.程序编码阶段 D.系统维护阶段5.软件开发工具的基础是CA.数据库 B.工具软件C.信息库 D.文档6.购买市场上已有的软件开发工具的优点是AA.减轻工作负担 B.比较便宜C.发展水平较高 D.可靠程度较高7.以下几种较有代表性的语言及其开发工具中支持面向对象非常好的是D A.VC B.PBC.C++Builder/DelphiD.JAVA8.不属于...软件开发工具概念模式的是CA.数据流程图 B.实体关系图C.关键路线图 D.数据字典9.以下几种较有代表性的语言及其开发工具中发展潜力最差的是BA.VC B.VBC.PB D.JAVA10.用来打开网页文件的编辑器是DA.C/C++编辑器B.文本编辑器C.任务编辑器 D.Web浏览器11.出现最早的软件开发工具是CA.计划工具 B.分析工具C.设计工具 D.集成化工具12.一个好的项目组应当具备的条件是AA.有事先制定详细的时间表,并且得到严格执行B.成员有程序设计所需要的基本知识与技能C.成员深入了解本项目所在的领域D.成员熟悉软件开发的技术环境13.在Eclipse设置调试属性时,应选择Preferences菜单中的选项是D A.General B.Install/UpdateC.TasksD.Run/Debug14.不属于...Eclipse调试透视图的是AA.触发器 B.变量视图C.编辑器 D.大纲视图15.在Eclipse代码模板编辑中,变量的开头字符和括起来的符号分别是D A.$和[ ] B.&和{ }C.¥和( ) D.$和{ }16.在版本控制软件中,对程序冻结和解冻的操作人员只能是CA.程序员 B.程序员和管理员C.管理员 D.用户17.在Eclipse的插件清单中,提供插件id的标签是AA.pluginB.runtimeC.requiresD.extensions35.只有对于软件开发中涉及的各种信息,以及在开发过程中它们的_发生___________、变化、关系、一致性等有了完整与深刻的理解,才能真正实现软件开发工具的一体化。
软件开发的基本知识点总结软件开发是指开发者使用各种编程语言和开发工具,按照一定的流程和规范设计、编写、测试、部署和维护软件的过程。
软件开发是一个复杂的过程,需要开发者具备很多基本知识和技能。
下面将对软件开发的基本知识点进行总结。
1. 编程语言编程语言是软件开发的基础。
常见的编程语言包括C、C++、Java、Python、Ruby、JavaScript等。
不同的编程语言具有不同的特点和适用场景,开发者需要根据实际需求选择合适的编程语言。
2. 数据结构与算法数据结构与算法是软件开发中最基础的知识点之一。
数据结构指的是数据的存储方式和组织方式,常见的数据结构包括数组、链表、栈、队列、树、图等。
算法指的是解决问题的方法和步骤,常见的算法包括排序算法、查找算法、动态规划算法等。
3. 操作系统操作系统是软件开发的基础设施,开发者需要了解操作系统的原理和机制,包括进程管理、文件系统、内存管理、设备驱动程序等。
常见的操作系统包括Windows、Linux、Mac OS 等。
4. 数据库数据库是软件开发中用来存储和管理数据的软件,常见的数据库包括关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)。
开发者需要了解数据库的设计原理、SQL语言和数据库管理等知识。
5. 网络编程网络编程是指开发者使用编程语言和网络协议进行通信,包括TCP/IP协议、HTTP协议、Socket编程等。
开发者需要了解网络编程的原理和技术,以便开发基于网络的应用程序。
6. Web开发Web开发是指开发基于Web技术的应用程序,包括前端开发和后端开发。
前端开发主要涉及HTML、CSS、JavaScript等技术,后端开发主要涉及服务器端编程语言(如Java、Python、PHP)、数据库和Web框架。
7. 软件工程软件工程是软件开发的一门学科,主要包括软件需求分析、系统设计、编码、测试、部署和维护等内容。
软件开发⼯具复习软件开发⼯具复习第⼀章绪论1?在计算机技术中,归⼊系统软件的操作系统、汇编程序、编译系统⽆疑也是软件开发必不可少的⼯具,但是,⼀般来说不把它们归⼊软件开发⼯具的范围。
2?理解:软件开发⼯具的范围⼤致可以描述为:在⾼级程序设计语⾔(第三代语⾔)的基础上,为提⾼软件开发质量和效率,从规划、分析、设计、测试、⽂档和管理等各⽅⾯,对软件开发者提供不同程度的帮助的⼀类软件。
注:软件开发⼯具本⾝是⼀种软件,它是开发软件的⼀种软件,是在第三代语⾔的基础上发展起来的。
(第三代语⾔在这⾥指:已经形成的软件开发技术。
第⼀代语⾔:机器语⾔。
第⼆代语⾔:汇编语⾔。
第三代语⾔:⾼级程序设计语⾔(过程化语⾔)。
第四代语⾔:⾮过程化语⾔。
3、⼆⼗世纪六⼗年代初,FORTRAN,ALGOL,COBOL等⾼级程序设计语⾔的成熟与普及,标志着计算机真正⾛出难以应⽤的困窘局⾯。
这就是第三代语⾔的时代。
4、⾼级程序设计语⾔实现了对机器的独⽴性,即它不依赖特定的硬件系统,抽象的逻辑的描述处理和算法,在第三代语⾔的应⽤中,⼈们发现的新的瓶颈——处理过程的描述。
20世纪60年代末期开始,⼈们对软件⼯作的认识⼤⼤深⼊,在认识到软件⼯作重要性的同时,也认识到其⼯作的困难性,这就是所谓软件危机问题。
5、硬件是计算机的躯体,软件是计算机的灵魂。
6、⼈类社会客观世界的复杂性决定了软件本⾝的复杂性。
⼈类知识的丰富多彩决定了软件的极⼤的多样性。
客观世界的动态性决定了软件对可维护性、可重⽤性越来越⾼的要求。
7、⾯对⽇益扩⼤规模的软件,如何保证它的正确性、可靠性,如何控制软件开发的进度与成本,从结构化程序设计、软件⼯程、⾯向对象的程序设计⽅法、即插即⽤的程序设计⽅法,直到⾯向开源软件和互联⽹的程序设计,许多专家进⾏了⼤量的研究⼯作。
8、70年代末到80年代初,很多软件开发⼈员已经想到了⽤软件来⽀持软件开发⼯作,诸如:利⽤⽂字处理软件编写代码,利⽤绘图软件画图等,这个阶段称为利⽤通⽤软件作为辅助⼯具的阶段,或称为没⽤专⽤的软件开发⼯具阶段。
软件开发定义:在高级程序设计语言基础上,为提高软件开发效率和质量,从规划、分析设计测试成文管理各方面,为软件开发者提供帮助的软件。
非过程化语言:只要给机器下达需要做什么的命令,由机器自己去安排执行的顺序。
软件开发工具发展主要表现自动化程度提高需求分析包含在软件工作中,向用户延伸把项目及版本管理包进来,超出一次编程的局限吸收了很多管理科学的方法第一个重要文档:软件功能说明书软件开发工具的功能要求:认识描述客观系统存储管理开发过程中的信息代码生成和编写文档生成和编写软件项目管理软件开发工具性能:表达能力或描述能力(首先考虑)保持信息一致性能力(十分关键)使用方便程度工具可靠程度对硬件和软件的要求(不应当超出所支持的软件环境要求)软件开发工具:设计工具(最具体实现阶段第四代语言直接帮助编写和调试最早)分析工具(需求分析FLOW 数据字典数据字典管理系统CDD Dictionary/3000)计划工具(宏观组织项目管理实施)专用工具(集成化):专用的、面对某一工作阶段或某一工作任务的工具(全过程)软件开发基本问题:用户理解到程序员理解程序员理解到程序实现大型软件开发困难:一致性测试进度文档和代码协调版本更新原因:大系统复杂主动性个人之间组织和协调本身困难时间因素变化因素程序分解三种基本模块:处理单元循环机制二分决策机制模块划分:功能在逻辑上单一明确模块和任务一一对应,一个模块完成一个任务(凝聚性)规模应足够小调试易于进行模块间联系尽可能少,对必要的联系加以说明(数据耦合)工程思想核心:标准化的表达方式与规范化的工作步骤标准化方面:表达方式标准化对工作的质量及检查制定标准即插即用:一部分人专门生产组件,一部分人专门设计整个软件结构,并把软件组件插入这个结构以便迅速完成大型软件开发工作(标准化问题部件提供方式问题CORAB COM101)可视化程序设计:用图标图像图标甚至随手画的素描等可视化的元素编制程序。
(指点与卡嗒删剪与粘贴拖拉扔下)软件开发:核心质量问题好软件:实现功能界面友好运行速度可靠性易读结构良好文档齐全好程序员:基本知识技能项目领域理解深入熟悉开发环境CMM好项目组:严格成文工作规范,并为全体成员熟知遵守人员严格分工要专门秘书(负责文档收集审核)专门测试人员专职不陷入编程的项目负责人详细时间表并严格执行软件开发工具对开发工作支持是在:信息管理和信息处理方面涉及信息内容:有关系统现状需求信息功能设计物理设计信息软件成果(代码文档)系统便更要求和记录管理涉及:长期保存并非一次使用很多环节数据转换加工大量人与人信息交流概念模式:对某一事物或某一系统形成的抽象的一般化的概念(表达能力是否方便易用是否严格是否二义性评价判断)框图:最早用来描述程序执行逻辑过程Flow chart 结构图:用以表示大型软件层次结构好处:体现层次观点:有粗到细自顶向下Structure Chart数据流图:面对系统信息流程,描述系统信息来源存储处理去向适用于客观描述,重于软件间的控制基本元素:外部实体数据处理数据存储DFD实体关系图:描述静态数据结构的概念模式以实体关系属性为基本结构Er数据字典:描述数据内容的概念模式用表格形式表示基本属性以及数据关系DD时序网络:描述系统状态及其转换方式基本概念状态和转换数学与逻辑模型:描述客观世界状态和规律计算机模型:强有力概念模式以便人们观察客观系统的状况不需要事先作更多的假设直观模型:可视化VB的FORM 数据库:文件系统少年宫发展起来管理数据的技术,重点合理组织数据体现数据逻辑关系并尽可能的帮助用户检索,减少冗余。
信息库研究核心问题:一致性用户界面基本原则:主要功能通信界面是始终保持一致性必须是用户谁是掌握任务的进展状况必须能够提供帮助宁可让程序员多干不可让用户多干项目版本管理核心:跨生命周期管理历史信息是项目版本管理的关键问题项目管理:质量进度资源配置费用(基本问题)AD/Cycle项目考虑范围:研究确定工作方法方针开发任务划分和分工资源状况人员情况变更情况质量情况项目管理基本目标:使产品质量得以有效的控制保证整个系统按预期的进度完成有效的利用各种资源控制和降低成本工程计划网络:棒状图Gantt 检查点Check Point 排队论版本管理的核心问题。
保持两个一致性1从时间来所,关心是系统的逐步完善,成果不丢失,可回溯,可重用;新旧工作保持一致性,新版本对旧版本的功能完善,2.系统各部分间的关系,局部与整体保持一致,合理修改的必要性及影响范围,从而合理的组成新的版本,通过命名、编号等方法,使新版本称为系统进步的新台阶。
软件开发工具基本功能:提供描述软件状况及开发过程的概念模式,以协助软件开发人员得认识软件工作的环境要求、合理地组织与管理软件的工作过程提供存储和管理有关信息的机制与手段帮助使用者编制生成修改各种文档帮助人们编写代码对于历史信息进行跨生命周期的管理中心位置:总控和人际界面信息库的结果框架反映软件产品及开发过程的看法信息库的内容丰富程度是软开工具功能作用的根本保证软开工具的基础最重要的两个出口代码生成和文档生成信息库技术涉及问题:内容组织方式管理功能历史信息处理方法信息库需要四大类信息:软件应用的领域与环境状况设计成果(物理设计逻辑设计)运行状况与测试记录项目管理版本管理信息信息库的组织:;逻辑上统一物理上分散、建立统一的信息库管理模块进行管理易于保持一致性及易于变更和剪裁与一般数据库系统不同之处:信息之间逻辑关系的识别和记录如何实现定量信息与文字信息的协调一致历史信息处理:问题(数据量大占用设备多格式不一致很难备有效利用)方法(脱机备份加强标准、稳定数据结构)代码生成器基本任务:根据设计的要求,自动半自动生成相应的某种语言程序代码文档生成软开工具的起点输出代码两种情况:某种高级语言(可以进行修改加工)机器环境下运行机器指令(直接运行)生成代码的依据:信息库已有的资料利用各种模块的框架和构件使用者临时通过屏幕前操作送入的信息文档生成:文章、表格、图形(数量的内容复杂具有随意性)AD/Cylce:需求分析阶段(建立逻辑模型所处领域环境模型->软件所处理信息的静态模型即数据模型->信息流通模型)分析设计阶段(完成系统的总体设计详细设计子系统之间关系屏幕设计报表设计数据库物理数据)编码阶段测试阶段运行维护阶段人机界面总控技术上基本原则:面向使用者保证信息的准确传递保证系统的开放性(灵活性)权衡购买:准备开发软件性质要求开发人员支持工作与支持程度的实际需要工作环境人员因素组织和管理工作好坏影响软开工具作用发挥程度四方面(制定严格使用制度记录使用详细过程培训使用人员进行审计和评价工作)审计:对一个系统运行状况及效率进行检查和评价,以便进一步用好这个系统软开工具开发:从实际出发设定现实有限的目标短小实用逐步积累避免期望过高贪大求全文档的齐全与资料积累(服务和文档是占领市场重要因素)软件配置管理:控制软件的修改减少混乱,调高软件生产率。
对软件修改进行标识组织和控制技术,用来协调和控制整个系统过程,包括软件项目计划到退役时间段内追踪和控制软件变动所用活动(软件质量保证重要环节)项目:帮助用户访问和管理一系列相关文件的逻辑组织结构文件夹:逻辑文件群,即整个项目中任意个相关文件的逻辑集合,用户可以用它组织先关文件历史文档:一个文件历次修改的集合,包括内容时间修改用户名(文档:一种数据媒体及其上所记录的数据)主项目:系统缺省项,它控制系统对用户的服务PowerModel体系结构:模块似的分层的实现面向对象的基本原则支持多双亲继承核心层:对象的管理程序可支持图形浏览交互执行速成可视组件软开工具发展趋势:智能化(在软工具的研究与使用引进人工智能神经网络技术,使得工具对于不确定信息模糊信息具有更强的处理能力)网络化(方便互通信息共享知识给软件重用知识从用提供机会)一体化标准化C/S体系结构:人们将一些公用性服务或资源放在性能比较高的服务器上,实现共享,而将一些普通的微机作为客户机,完成一般的工作,并通过网络向服务器请求,访问服务器上的资源PowerBuilder数据库前段开发工具访问数据库接口ODBC接口软件和专用软件数据库接口通过数据窗口来实现PowerScript:第四代编程语言PowerBuiler:Power工具栏Power提示栏画板工具条窗口类型:主窗口弹出式窗口子窗口响应式窗口框架窗口属性:用来定义窗口的外观行为事件:由用户通过对窗口的而不同类型的动作触发一些相应的处理可视化开发环境:在程序设计时,不需要用程序语言书写代码完成界面设计,而是利用一些控件通过键盘或鼠标在屏幕上直接设设计,体现所见即所得的思想事件驱动:用户通过各种动作控制应用程序的流程NEWCAFG的目标面向MIS、辅助传统结构化设计分析方法、集成化CASE工具。
支持快速原型化方法对OO留有扩展余地。
功能:面向MIS支持传统SC 支持MIS全过程提供自动生成功能提供项目管理成本核算资源管理工具集成:控制集成(对应用工具集合的统一管理)表达集成(用于统一的界面风格和一致的操作方式)数据集成(建立一个统一的中心数据库,以实现数据的集成)Repository描述:实体关系联系关系系统类关系多媒体工具:TOOLBOOK AUTHORWARE HONGTOOL ( 专用)对媒体:集成性交互性数字化实时性多媒体阶段:系统分析阶段系统设计阶段系统实现阶段系统测试阶段系统应用阶段访问服务器使用协议:HTTP、Gopher、WAIS、FTPHTML:标记语言元素:包容元素(起始标志内容结束标志)空元素抽象:识事物或现象的简单概括,突出事物或现象之间的共性,而暂不考虑它们之间的差异。
封装:把复杂的概念包装简单易于直接理解的形式,并明确规定接口,作为与外界联系的唯一接口,以保护内容不受外界未经规定的任何接触。
消息:是让对象以某种方式惊醒操作请求,对象的行为在接受到消息时发生。
方法:是驻留在对象中的过程类:一组几乎相同对象的描述(面向对象的核心,对象是类的实例类是创建对象的框架)实例:某种特定类所描述的一个具体的对象。
属性:以静态的数据组成,用以描述类和对象所固有的特征(类是对象的性质并以此区分类和对象)继承:OO中实现一组类中共有性质的共享和复用的有效机制,子类可以继承父类的全部性质不必加以说明。
多态性:指同一个方法对应于不同层次的类,但执行方法是则以自己的方式进行。
UML建模规则:语法语义符号基本内容:视图(使用事件视图UML核心逻辑视图静态结构关系动态协作关系组件视图协同视图配置视图)图表模型元素基本机制(修饰注释说明)。