自考软件开发工具复习资料3章

合集下载

自考 软件开发工具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. 调试工具本章介绍了常用的调试工具,以及它们的功能和使用方法。

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

自考软件工程第3章知识点总结

自考软件工程第3章知识点总结

2
第3章 软件需求分析
需求分析在软件开发中所处的地位愈加突出,从而也愈加 困难,它的难点主要体现在以下几个方面:
(1) 问题的复杂性。 (2) 交流障碍。 (3) 不完备性和不一致性。 (4) 需求易变性。
软件需求分析与说明的方法的基本原则:
(1) 必须能够表达和理解问题的数据域和功能域。 (2) 可以把一个复杂问题按功能进行分解并可逐层细化。 (3) 建模。
结构化分析(Structured Analysis,简称SA),是面向数 据流进行需求分析的方法。根据软件内部数据传递、变换的关 系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
3.2.1自项向下逐层分解的分析策略
面对一个复杂的问题,采取分解的策略,把一个复杂的问
题划分成若干小问题,然后再分别解决。分解可分层进行,在
(3) 环境需求。 (4) 用户界面需求。
4
第3章 软件需求分析
2. 分析与综合, 导出软件的逻辑模型 分析人员对获取的需求,进行一致性的分析检查,在 分析、 综合中逐步细分软件功能,划分成各个子功能。 3. 编写文档 编写文档的步骤如下: (1) 编写“需求说明书。 (2) 编写初步用户使用手册。 (3) 编写确认测试计划。 (4) 修改完善项目开发计划。
3. 数据项条目 数据项条目是不可再分解的最小数据单位, 其定义格 式及举例如下: 数据项名称: 货物编号 别名: G-No, G-num, Goods-No 简述: 本公司的所有货物的编号 类型: 字符串 长度: 10
取值范围及含义: 第1位: 进口/国产
第2~4位: 类别 第5~7位: 规格
第8~10位: 品名编号
1. 数据流条目
数据流条目给出了DFD中数据流的定义,通常列出该数 据流的各组成数据项。

软件工程自考复习资料-全

软件工程自考复习资料-全

软件工程自考复习资料-全第一章绪论一、软件的基本概念1.软件是计算机系统中的程序及其文档。

3.文档一般主要面向管理人员、开发人员、用户、使用维护人员。

4.文档在软件工程中的作用:(1)提高软件开发过程的能见度。

(2)提高开发效率。

(3)某程序设计时代:生产方式是个体手工劳动,使用工具是机器、汇编语言,主要通过汇编来实现,不注重程序设计方法。

某程序系统时代:生产方式是作坊式小集团合作生产,生产工具是高级语言,开始提出结构化方法。

某软件工程时代:生产方式是工程化生产,使用数据库、网络、先进的开发技术和方法。

6.软件既是知识性(逻辑性)工业产品,具有一些独特的特性是:某软件是逻辑产品,具无形性,通过计算机的执行才能体现它的功能和作用。

某软件只会退化,不存在磨损和消耗问题。

某成本主要体现在软件的开发和研制上,可进行大量的复制。

某主要靠脑力劳动生产,开发和维护成本高。

7.软件的主要结构和功能是在分析设计阶段决定的。

8.软件的复杂性主要体现在程序的复杂性,即模块内程序的复杂性。

直接关联到软件的简单和可理解性、开发费用多少、开发周期长短和软件潜伏错误的多少。

二、软件危机1.软件危机是指在软件开发和维护时遇到的一系列难以控制的问题导致的供需矛盾。

出现在软件发展的第二阶段末期,随着第三代计算机的诞生之际。

2.软件危机主要体现在:某软件发展速度跟不上硬件的发展和用户需求。

某软件成本和开发进度不能预先预算,用户不满意。

某软件产品质量差,成本高,可靠性没有保证。

某软件可维护性差,产品没有配套文档。

3.软件危机产生原因:(1)软件规模变大,结构更加复杂。

(2)软件开发管理困难。

(3)软件开发技术和工具落后。

(4)软件开发费用增加。

(5)采用落后的个体手工生产方式开发。

4.解决途径:(1)纠正对软件开发的错误观念。

(2)提高软件工程管理水平,重视文档重要性。

(3)使用好的软件开发工具,研究软件开发技术,规范软件开发流程,提高开发效率。

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

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

一、软件开发工具的功能要求: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、安装与试用审计:对一个系统运行状况及效率进行检查和评价,以便进一步用好或改进这个系统软件开发定义:在高级程序设计语言(第三代语言)基础上,为提高软件开发效率和质量,从规划、分析设计测试成文管理各方面,为软件开发者提供帮助的软件。

2023年自考专业(计算机网络)《软件开发工具》考试历年真题摘选附带答案

2023年自考专业(计算机网络)《软件开发工具》考试历年真题摘选附带答案

2023年自考专业(计算机网络)《软件开发工具》考试历年真题摘选附带答案第1卷一.全考点综合测验(共20题)1.【单选题】在Eclipse设置调试属性时,应选择Preferences菜单中的选项是()。

A.GeneralB.Install/UpdateC.TasksD.Run/Debug2.【填空题】软件开发工作的起点是______的提出。

3.【填空题】EclipseCDT编辑器的首选项设置包括外观、键、搜索、__________和浏览器。

4.【单选题】在RationalRose建模的逻辑设计中,使用的图是()。

A.活动图B.状态图C.交互图D.关联图5.【单选题】完成软件测试最合适的人员是()。

A.编程者B.软件负责人C.用户D.专门的小组6.【单选题】在版本控制软件中,对程序冻结和解冻的操作人员只能是()。

A.程序员B.程序员和管理员C.管理员D.用户7.【填空题】Eclipse的工作空间是负责管理________的插件,包括用户创建的项目、那些项目中的文件,以及文件变更和其他资源。

8.【单选题】在对市场上可供使用的软件开发工具进行调查研究时应包括的内容是()。

A.软件开发工具供应商的规模B.软件开发工具的管理者C.软件开发工具的销售量D.软件开发工具的服务和培训条件9.【单选题】一般来说,软件开发工具对环境的要求()。

A.与它所支持的应用软件的环境要求无关B.依赖于它所支持的应用软件的环境要求C.应当超出它所支持的应用软件的环境要求D.不应当超出它所支持的应用软件的环境要求10.【单选题】软件开发工具的基础是()。

A.数据库B.工具软件C.信息库D.文档11.【单选题】在软件开发过程中,有关系统环境、现状及需求的信息的提供者和采集者分别是()。

A.分析人员用户B.用户分析人员C.分析人员设计人员D. 设计人员分析人员12.【单选题】从60年代末期开始,人们对于软件工作的认识大大深入了,在认识到软件工作的重要性的同时,也认识到了软件工作的困难性。

02333自考 软件工程复习资料

02333自考 软件工程复习资料

一,第一章1.软件工程→1968年的NATO会议上提出解决“软件危机”2.倡导工程原理,原则,方法进行软件开发,以期解决“软危”3.软件工程:用计算机科学理论和技术和工程管理原则方法,按预算,进度满足用户要求的软件产品工程。

4.软工两时间:1. 60-80年代,系统规模,复杂性,关键领域应用,提出了waterfall, C, Pascal, Ada; Jackson方法,结构化方法。

2. 80年代后大量软件的实践,过程支持,软件生产技术,复用技术,生产管理。

《软件和存周期过程》,C++, Eiffel, Smalltalk5.软件=程序+文档,是逻辑实体,“无形”6.程序=处理对象+处理规则7.文档=理解程序所需的阐述性资料8.软件开发的本质:不同抽象层术语+处理逻辑之间的“映射”9.建模的方法:结构化方法,面向对象方法,诸多面向数据结构方法10.模型:待建系统的任意抽象,包括基本能力,特性,或其他方面;抽象上对物理系统的描述,系统边界,关系的主义描述。

11.软件系统模型:1,概念模型(用户)2,软件模型(开发者)a)需求→概念模型b)设计→软件模型c)实现→软件模型d)部署→软件模型12.软件开发有技术和管理上的问题二,第二章1.正确定义问题,是解决问题的基础2.需求是“要予构造”的陈述,描述了软件“能力”“性能参数”“其他性质”3.需求的性质:a)必要b)无歧义c)可测/测量d)可跟踪4.验证需求是不是歧义→需求复审5.需求分类:功能/非功能(性能,外部接口,设计约束,质量属性),6.需求发现:自悟,交谈,观察,小组会,提炼a)自悟要求高,要有想象力/需求不正确b)交谈依赖“正确提问”“揭示本意”/不能认识到合理需求→复审c)观察要有洞察力/客户抵触,客户认为熟悉了业务d)小组会人力资源,良好的需求发现能力,达成共识/客观条件限制,互相矛盾的需求e)提炼要有想像力和需求标识力熟悉技术和法规/无法验证需求是否正确7.需求规约是陈述的正式文档,表达概念模型a)重要性和稳定性程度b)可修改c)完整d)一致8. 需求规约表达:非形式化(规模小,不复杂,小型软件),半形式和形式化(主要为了验证程序正确)9. 需求规约作用:a) 技术合同,产品功能和环境体现b) 管理控制点c) 正式,受控的起点d) 初始测试计划,用户系统操作描述10. 需求规约不是一个设计文档,用于设计的文档,也不是进度和规划文档三,第三章1.软件需求中三挑战:1. 问题空间理解2. 人与人之间通信3. 需求的变化性2.20世纪70年代提出结构化方法3.基本术语1. 数据流程2. 加工3. 数据存储4. 数据源和数据潭4.数据流图DFD P375.按功能分解的设计思想:自顶向下,逐步求精6.数据字典:[=]定义为;[|]或者;[+]顺序;[{}]重复;[m.n]子界7.数据结构3种条目:数据流条目;数据存储条目;数据项条目8.结构化语言是形式化语言和自然语言之间的语言9.判定表;判定树P4311. 图元数7正负212. 15%的错误源自错误的需求13. 总体设计:模块和模块调用14. 总体设计:模块结构图/层次图/HIPO 图P4515. “高内聚,低耦合”16.数据流图分为:变换型和事务型17.模块化,软件分为简单的高内聚低耦合的模块(两部分:接口和模块体)18.耦合:依赖程度的度量。

03173软件开发工具-总复习

03173软件开发工具-总复习

课程性质本课程是高等教育自学考试“计算机信息管理”专业自学考试计划中,本科阶段的一门专业课程,开发软件能力是本专业学生必备的条件之一,本课程的目的是使学生在学习程序设计的基本知识之后,进一步了解和掌握软件开发的各类工具,从而提高软件开发能力与水平,以适应未来工作的需要。

本课程不是只介绍若干常用的软件开发工具,使学员只是站在一般程序员的角度,而是要从软件开发的组织者的高度,全面地认识与考虑软件开发的过程、组织等问题。

本课程既有一定的理论基础,又有实际上机操作作为背景。

因此。

学生应当结合自己的实践经验,认真从实践提高到理论,建立软件工程与软件开发工具的思想方法。

课程特点理论部分1章,作为导言,概括地介绍软件开发工具的由来,概念,功能,性能,类别与使用环境。

理论部分2-4章,主要介绍了软件工程与程序设计学的基础知识;软件开发工具的有关理论基础知识,包括概念模式,信息库,人机界面,项目管理;软件开发工具各方面的技术状况。

这部分是本课程理论知识的核心部分。

理论部分5-6章,主要介绍了人们在面对具体问题时,是购买现成的工具还是自行开发,以及需要考虑的各个因素;了解软件开发工具技术领域的发展现状和趋势。

实践部分7-8章,介绍Eclipse是什么,历史,用途以及体系结构,详细描述了Eclipse 和JDK安装方法,着重介绍了Eclipse工作台的各个部分及基本功能,详细介绍了Eclipse中的透视图,视图,编辑器。

实践部分9-11章,介绍了MinGW和CDT的概念和安装方法,并着重介绍了使用Eclipse 创建项目,源文件夹,类以及Eclipse重构功能。

最后介绍了Eclipse CDT常用功能:编辑器自定义,定制工作台,格式化代码,生成历史记录。

实践部分12-14章,介绍了版本管理软件CVS的使用,Eclipse插件的开发,最后介绍了Rational Rose建模工具的使用。

基本要求1、系统了解与掌握软件开发过程及其管理工作,深人理解有关的概念与原则,掌握提高软件质量的基本方法与途径。

自考软件开发工具总复习和名词解释

自考软件开发工具总复习和名词解释

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

2、如何理解:首先,是一类软件,是开发软件用的软件。

其次,是在第三代语言的基础上发展起来的。

另外,这里强调对软件开发全过程中各个阶段的支持,即不仅包含狭义的编程阶段,而是包括了相当广泛的范围和相当丰富的内容。

二、软件开发工具的产生与演变1、软件开发工具的产生与演变第一代语言——机器语言第二代语言——汇编语言第三代语言——高级程序设计语言(过程化语言)第四代语言——非过程化语言2、第三代语言与第二代语言的区别①第三代语言突破了与机器指令一一对应的限制,用尽可能接近自然语言的表达方式描述人们设想的处理过程,把这种表达方式向机器指令的转化工作交给编译系统去完成。

②另一个重要的变化是高级设计语言实现了对机器的独立性,即不依赖特定的硬件系统,抽象地逻辑地描述处理和算法,而把硬件系统之间的区别交给不同的编译系统去处理,从而大大提高了程序的可移植性。

(第三代程序设计语言一般是过程化语言)3、第四代语言——非过程化语言思想人们希望机器能够自动地完成更多的工作,包括自动安排某些(不是全部)工作的顺序,而做到只要给机器下达需要做什么的命令,由机器自己去安排执行的顺序。

4、软件危机:在认识到软件工作重要性的同时,也认识到软件工作的困难性。

这就是所谓的“软件危机”问题的提出。

三、软件工作的重要性1、软件是计算机的灵魂(1)软件是广大使用者与计算机之间的桥梁;(2)软件是人类的各个领域中积累的知识的结晶;(3)软件是人类文明与知识得以延续的新的载体;(4)软件是人类进一步成为一个整体,得以进一步相互联系的纽带。

2、软件工作的困难性(1)人类社会和客观世界的复杂性,决定了软件本身的复杂性;(2)人类知识和丰富多彩,决定了软件的极大多样性;(3)客观世界的动态性,决定了软件对可维护性、可靠性越来越高的要求。

软件开发工具复习整理资料(权威完整版)

软件开发工具复习整理资料(权威完整版)

第1-6章名词解释2、第一代语言:即机器语言,是用0、1组成的二进制字符串书写的程序,用纸带等光电设备或通过控制台上的扳键送入机器,得以存储和执行。

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

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

4、CASE工具:CASE工具指“计算机辅助软件工程”或“计算机辅助系统工程”,它的基本思想与软件开发工具完全一致,即应用计算机自身处理信息的巨大能力,帮助人们开发复杂的软件或应用系统。

5、所见即所得:“所见即所得”原则力图实现编程工作的可视化,即随时可以看到结果,程序的调整与后果的调整同步进行。

8、结构设计:所谓结构设计是把软件划分成若干个模块,指定每个模块的功能要求以及它们之间的相互关系。

9、模块测试:据整体设计时制定的各个模块的设计任务书,对程序员完成的模块进行验收,看它们是否实现了所要求的功能和性能指标。

10、总体测试:每个模块都达到了设计任务书的要求后,还要测试整个系统是否达到了预期的目标,另外还要检查完成的软件与编写的文档是否一致,这个工作成为总体测试。

14、工具的可靠程度:软件开发工具应具有足够的可靠性,即在各种各样的干扰下仍能保持正常工作,而不致丢失或弄错信息。

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

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

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

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

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

18、模块的凝聚性:模块的功能在逻辑上尽可能的单一化、明确化,最好做到模块与任务的一一对应,即每个模块完成一个任务,反之每一项任务仅由一个模块来完成。

【免费下载】软件工程自考复习资料

【免费下载】软件工程自考复习资料

《软件工程》复习资料第一章绪论1.1软件工程的产生1.1.1软件的特点软件的定义:计算机程序及其说明程序的各种文档软件的特性:(1)软件是一种逻辑产品,它与物质产品有很大的区别(2)软件产品的生产主要是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发研制完成后,通过复制就产生了大量软件产品(3)软件产品不会用坏,不存在磨损、消耗问题(4)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做”的(5)软件费用不断增加,软件成本相当昂贵1.1.2软件生产的发展1)程序设计时代(1946年~1956年)这个阶段的生产方式是个体手工劳动,使用的工具是机器语言、汇编语言。

开发方法是追求编程技巧,追求程序运行效率程序难读、难懂、难修改硬件特征是价格贵、存储容量小、运行可靠性差软件特征是只有程序、程序设计概念,不重视程序设计方法2)程序系统时代(1956年~1968年)这个阶段的生产方式是作坊式的小集团合作生产,生产工具是高级语言开发方式仍旧靠个人技巧,但开始提出结构化方法硬件特征是速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长软件特征是程序员数量猛增,大量其他行业人员进入这个行业,因为缺乏训练,因而开发人员素质差这时已意识到软件开发的重要性,但开发技术没有新的突破,大量软件开发的需求已提出,但开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐的矛盾,导致了软件危机的产生3)软件工程时代(1968年至现在)这阶段的生产方式是工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件硬件特征是向超高速、大容量、微型化以及网络化方向发展软件特征是开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机1.1.3软件危机1.软件危机的产生软件发展到第二阶段末期,软件开发技术的进步跟不上硬件发展的速度2.软件危机的表现(1)经费预算经常突破,完成时间一再拖延(2)开发的软件不能满足用户要求(3)开发的软件可维护性差(4)开发的软件可靠性差3.软件危机的原因(1)软件的规模越来越大,结构越来越复杂(2)软件开发管理困难而复杂(3)软件开发费用不断增加(4)软件开发技术落后(5)生产方式落后(6)开发工具落后1.1.4软件工程1968年北大西洋公约组织的工作会议上首先提出“软件工程”的概念,要用工程化的思想来开发软件1.软件工程定义用科学知识和技术原理来定义、开发、维护软件的一门科学2.软件工程的性质软件工程是一门综合性的交叉学科,涉及计算机科学、工程科学、管理科学、数学等领域计算机科学中的研究成果均可用于软件工程,但计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和方案软件工程要用管理科学的方法和原理进行软件的生产和管理软禁工程要用数学的方法建立软件开发中各个种模型和各种算法3.软件工程目标目的是成功的建造一个大型软件系统所谓成功,是要达到付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发任务,及时交付使用开发的软件可靠性高4.软件工程内容主要是软件开发技术和软件管理两个方面软件开发技术中主要研究软件开发方法、软件开发过程、软件开发工具和环境软件开发管理中主要研究软件管理学、软件经济学、软件心理学5.软件工程面临的问题a)软件费用b)软件可靠性c)软件维护d)软件生产率e)软件重用1.2软件工程过程和软件生存周期1.2.1 软件工程过程目的是为各种人员提供一个公共的框架,以便用相同的语言进行交流(1)获取过程(2)供应过程(3)开发过程(4)操作过程(5)维护过程(6)管理过程(7)支持过程1.2.2 软件生存周期指一个软件从提出开发要求开始直到该软件报废为止的整个过程(1)可行性分析和项目开发计划必须要回答的问题是“要解决的问题是什么”,有可行的解决办法吗,如果有需要多少费用多少资源时间明确项目性质明确项目目标明确项目规模确定该问题有没有可行的解决办法指定项目开发计划(2)需求分析确定软件系统必须做什么确定软件系统必须具备哪些功能(3)概要设计把确定的各项功能需求转换成需要的体系结构设计软件的结构,明确该结构的模块组成(4)详细设计为每个模块完成的功能进行具体描述,把功能描述转变为精确地、结构化的过程描述(5)编码把每个模块的控制结构转换成计算机可接受的程序代码,即写成以某种特定程序设计语言表示的“原程序清单”(6)测试保证软件质量的重要手段(7)维护1.3软件生存周期模型、方法和工具1.3.1软件生存周期模型描述软件开发过程中各种活动如何执行的模型1.瀑布模型将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型包括所有的软件生存周期环节,规定了由前至后、相互衔接的固定次序缺点:理想的线性开发模式,缺乏灵活性开发过程中用户看不到软件是什么样子,造成开发方向错误2.增量模型一种非整体开发的模型,软件在该模型中是“逐渐”开发出来的,开发一部分展示一部分,可以及早发现问题。

自考_软件工程复习资料

自考_软件工程复习资料

第一章1软件生产率、软件质和量远远满足不了社会发展的需求,成为社会、经济发展的制约因素,人们通常把这一现象称为软件危机2软件工程定义:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品工程,或以此为研究对象的学科3软件开发的本质概括为:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射”两大类技术:过程方向、过程途径。

基本途径:系统建模4所谓模型,是待建系统的任意抽象,其中包括所有的基本能力、特性或其他一些方面,而没有任何冗余的细节。

进一步说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述5系统模型分为软件模型、概念模型软件模型分为设计模型、部署模型、实现模型第二章软件需求与软件需求规约6一个需求是有关一个“要与构造”的陈述,描述了待开发产品、系统功能上的能力、性能或者其他性质7需求性质:必要的、无歧义的、可测的、可跟踪的、可测量的8需求分类:功能需求、非功能需求(性能、外部接口、设计约束、质量属性需求)9功能需求规约了系统或系统构建必须执行的功能功能需求是整个需求的主体10接口需求分为:用户接口、硬件接口、软件接口、通信接口、内存约束、运行、地点需求11质量属性:可靠性存活性可维护性用户友好性12需求发现技术:自悟交谈观察小组会提炼13需求规约定义,是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件产品/系统概念模型性质:重要性和稳定性程度可修改的完整的一致的14需求规约的作用:需求规约是软件开发组和用户之间一份事实上的技术合同书,是产品功能及其环境的体现对于项目的其余大多数工作,需求规约是一个管理控制点对于产品/系统的设计,需求规约是一个正式的、受控的起始点需求规约是创建产品验收测试计划和用户指南的基础,是基于需求规约一般还会产生另外两个文档(初始测试计划和用户系统操作描述)第三章结构化方法15需求工作挑战:问题空间理解人与人之间的通信需求的变化性16好的需求技术具备特征: 提供方便的通信机制鼓励需求分析人员使用问题空间的术语思考问题,编写文档提供定义系统边界的方法提供支持抽象的基本机制为需求分析人员提供多重可供选择的方案提供天特定的技术化、适应需求变化17结构化方法:结构化分析方法结构化设计方案机构化程序设计方法18数据流加工数据存储数据源和数据潭19需求分析的首要任务是建立系统功能模型工具:数据流图DFD图是一种描述数据变化的图形工具20建模过程:建立系统环境图,确定系统语境自顶向下逐步求精,建立系统层次数据流图定义数据字典描述加工(结构化自然语言判定表判定树)21需求阶段的主要任务是完整地定义问题,确定系统的功能和能力22需求验证验证需求规格说明书的每一单一需求是否满足5个性质(必要性无歧义性可测性可跟踪型可测量性),需求沿着我难过规格说明属否满足4个性质(重要性和稳定性程度可修改型完整性一致性)23结构化设计的主要任务是在需求分析的基础上,定义满足需求所需要的结构,即针对给定的问题,给出该问题的软件解决方案,确定“怎么做”的问题24结构化设计分为总体设计(目标,建立系统的模块结构)和详细设计25模块指软件中具有特定标识的独立成分模块调用指模块之间的一种使用关系26总体设计阶段的基本任务是把系统的功能需求分配到一个特定的软件体系结构中工具(Yourdon模块结构图层次图HIPO图)步骤:将系统的DFD图转化为初始的模块结构图,再基于高内聚低耦合的原则,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图MSD27模块化模块是执行一个特殊任务的一个过程以及相关的数据结构.由两部分组成:接口、模块体28耦合:不同模块之间相互依赖程度的度量(强到弱内容耦合(直接操作修改另一模块数据)、公共耦合(共用一个全局数据项)、控制耦合(控制信号)、标记耦合(A向BC传递一个公共参数)、数据耦合(通过参数传递数据))29内聚:一个模块内部成分之间的相互关联程度的度量(偶然内聚、逻辑内聚(逻辑相关的功能放一块)、时间内聚(同一时间内执行) 、过程内聚(特定次序执行) 、通信内聚(操作同一数据集)、顺序内聚(一个成分的输出为另一个成分的输入)、功能内聚)30启发式规则:1改进软件结构,提高模块独立性2力求模块规模适中3力求深度宽度扇入扇出适中4尽力使模块的作用域在其控制域之内5尽力降低模块接口的复杂度6力求模块功能可以预测31详细设计的目标是将总体设计阶段所产生的系统高层结构映射为以这些术语所表达的低层结构,也是系统的最终结构32详细设计工具:程序流程图N—S图PAD图PDL伪码33所谓模块化,是指按照高内聚低耦合的设计原则,形成一个相互独立又有较少联系的模块结构的过程,使每个模块具有相对独立的功能/过程34逐步求精是指把要解决问题的过程分解为多个步骤或阶段,每一步是对上一步结果的精化,以接近问题的揭发。

江西省自考软件工程专业(独立本科段)《软件开发工具与环境》复(精)

江西省自考软件工程专业(独立本科段)《软件开发工具与环境》复(精)

《软件开发工具与环境》复习题第1章全身心投入:Visual C# 2008编程之旅一、填空题1、 Visual 中的Visual在中文中是可视化的意思。

2、 Visual Studio 2008是一个完整的开发环境,被称为集成开发环境(或Integrated Development Environment, IDE)。

3、 Visual 支持的开发语言有 C#.NET 、 、 C++.NET 、J#.NET 。

(至少写出三种)。

4、Windows窗体应用程序项目创建标准的Windows应用程序。

5、每个对象都有一组独特的特性称为属性。

6、 Visual Studio 2008 IDE中的“属性”窗口用于修改窗体或控件的属性。

7、通过设置图片框PictureBox的 Image 属性来显示图像。

8、按钮控件的默认事件是 Click 事件。

二、名词解释1、可发布的组件——项目最后编译的应用程序版本,它可以发布给其他人和其他计算机,只要有运行环境不需要开发环境就可以运行。

2、项目——可以编译以创建可发布组件的文件集合。

项目有类型有多种,复杂的应用程序可能包含很多项目。

3、解决方案——用于生成应用程序或可发布组件的项目与文件的集合。

三、编程题1、下面的应用程序在单击“Select”按钮btnSelect之后,弹出一个打开文件对话框ofdSelectPicture,用户选中一个图片文件并打开后,在图文框picShowPicture中显示选中的文件;用户单击Quit按钮btnQuit之后退出应用程序。

如图1-1所示。

请在横线上填上适当语句,将程序补充完整。

图1-1 Picture Viewer程序界面using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace Picture_Viewer{public partial class frmViewer : Form{public frmViewer({InitializeComponent(;}private void btnSelectPicture_Click(object sender, EventArgs e{if (ofdSelectPicture.ShowDialog( == DialogResult.OK{picShowPicture.Image = Image.From;this.Text = string.Concat("Picture Viewer(" + ofdSelectPicture. + "";}}private void btnQuit_Click(object sender, EventArgs e{this.Close(;}}}第2章 Visual C# 2008导航一、填空题1、Visual Studio 2008的设计窗口、属性窗口、工具箱、解决方案资源管理器等窗口都有4种主要状态:关闭,浮动、停靠和自动隐藏。

软件开发工具复习资料(自考)

软件开发工具复习资料(自考)

1)软件开发工具范围:在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划分析设计测试成本和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。

应当为软件人员提供信息管理,信息存储一致性的保证提供帮助支持。

2)SDT 3个发展阶段:通用工具,专用工具,集成工具。

3)软件开发工具的概念:在高级程序设计语言后进一步发展的产物,目的是给与人们在开发软件过程中不同方面和程度的支持或帮助,支持开发的全过程而不是仅限编码或其他特定工作阶段。

4)软件的意义:硬件是躯体,软件是灵魂;软件是用户和计算机的桥梁;软件是人类知识与经验的结晶,一种新的载体。

5)通用软件弱点:许多工作无法完成,不能反映逻辑内涵,难于保持一致性。

6)专用软件弱点:对软件开发缺乏全面统一的支撑环境造成冲突和矛盾。

7)软件开发发展阶段:机器语言开发软件,汇编语言开发转换,高级语言开发编译程序转换,各种软件开发工具完成编译程序转换。

(项目管理版本控制软件重用新问题)8)新的软件开发方法表现在四个方面特点:自动化程度提高,进一步向用户延伸,延伸到项目版本管理扩展到不断发展生长完善的全过程。

9)4GL :非过程化的程序设计语言,针对以处理过程为中心的第三代语言他希望通过某些标准处理过程的自动生成使用户可以只说明要求做什么,而把具体的执行步骤安排交给软件自动处理。

10)CASE:计算机辅助软件工程或计算机辅助系统工程,应用计算机自身处理信息的巨大能力来帮助人们开发复杂的软件或应用系统,11)软件开发过程5阶段:初始要求提出需求分析(软件功能说明书),总体设计,程序文档的编写,测试调试阶段,维护。

12)软件工作的困难体现:复杂性,多样性,可维护性,可重用性。

13)SDT功能(定性):认识与描述客观系统,存储管理开发过程中的信息,代码的编写生成,文档的编制生成,软件项目的管理。

14)SDT性能(定量):表达能力或描述能力,保持信息一致性的能力,使用的方便程度,工具的可靠程度,对软硬件环境的要求。

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

实践篇(7-13章)1、Eclipse的主要用途是什么Eclipse是一个开放源代码的、基于Java的可扩展集成应用程序开发环境。

其本身只是一个框架和一组服务,通过插件组件构建开发环境,Eclipse中的每样东西都是插件。

Eclipse最初主要用来进行Java语言开发,此外还支持如C/C + +、C# PHR J2EE、Javascript等编程语言的插件,如CDT(C/C++开发环境插件)。

Eclipse作为一个框架平台还包括插件开发环境(PDE,这主要是针对希望扩展Eclipse的软件开发人员,允许他们构建与Eclipse环境无缝集成的工具。

Eclipse框架还可以用来作为与软件开发无关的其它应用程序类型的基础。

2、试述Eclipse的体系结构。

Eclipse的体系结构主要包括四部分:(1)运行时内核。

平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于其注册表信息。

为降低启动时间和资源使用,平台运行库在实际需要插件时才加载。

(2)工作空间。

工作空间负责管理用户资源并负责通知其他插件关于资源变更的信息。

(3)工作台。

工作台为Eclipse提供用户界面。

(4)其他插件。

包括帮助组件、团队支持组件等。

3、Eclipse的欢迎界面中包含了哪些图标Eclipse的欢迎界面中包含五个圆形图标:概况、新特点、实例、向导、工作台4、Eclipse 工作台的组成Eclipse的工作台主要由以下几个部分组成:菜单栏、工具栏(主工具栏、视图工具栏)、透视图(视图、编辑器)(Eclipse特有)5、Eclipse中主要包含哪几种视图各自的作用是什么导航器视图:资源管理器视图,显示当前Eclipse集成环境中加载的所有项目和各个项目中的文件列表。

大纲视图:显示当前活动编辑器中所打开文件的纲要,如函数、变量等。

控制台视图:显示程序的输出内容。

错误视图:编写代码时显示程序中的错误,提示用户及时改正。

搜索视图:显示用户搜索结果的详细信息。

任务视图:显示程序代码中未完成的任务,在代码中加一条以TODOT头的注释标记,就可以在任务视图中添加一项任务。

6、Eclipse中常用的编辑器有哪些作用是什么c/c + + 编辑器打开c/c + +文件文本编辑器——打开文本文件任务编辑器一一打开任务文件二进制文件编辑器——打开二进制文件Web浏览器——打开网页文件7、Eclipse提供的浏览功能包括哪些各自的作用、打开方式以及快捷方式是什么常见主要功能的键盘快捷方式与鼠标点击操作的方式8 Eclipse重构功能的本质是什么包含哪些内容各自有什么作用在一个复杂的项目系统中,存在继承、联合等复杂的应用和交错使用的代码,而编程中调整代码以避免冲突也是很频繁的工作,使用Eclipse重构功能,可以在不影响程序行为的情况下进行系统范围内的代码更改。

主要包括:(1)重命名变量:重命名功能解决了变量、类、函数等重命名的所有问题。

(2)抽取方法:将程序中多次出现的代码段抽取出来形成方法,可以减少代码的长度并增加程序的可读性和易维护性,同时使方法的调用清晰简单。

(3)抽取常量:抽取常量的本质是将程序中的数字、字符等定义为常量,使得对常量的调用和修改变得简单。

9、简述Eclipse搜索的类型及使用方式。

(1)使用查找/替换方法,这是最基本的查找功能。

方法:“ Edit ”菜单,“查找/替换Find/Replace ”选项。

快捷键:Ctrl+F(2)使用Search菜单进行搜索在Eclipse CDT特有的Search功能中,可以执行文件、任务和C/C++搜索功能,这些搜索是针对代码结构进行的,速度更快,效率更高。

包括:C/C++搜索、任务搜索、文件搜索。

搜索结果在搜索视图中显示。

10、简述GDB勺功能。

(调试软件)GDB可以帮助用户实现如下几个功能:1)启动C/C ++程序,可以按照用户自定义的要求运行和暂停程序。

2)可让被调试的程序在用户指定的调试的断点处停住。

3)当程序被停住时,用户可以检查此时引起程序中断的原因。

4)动态地改变程序的执行环境。

5)单步调试程序,在每个断点显示程序中各个变量的状态和值。

11、简述GDB勺安装步骤。

下载GDBt (注意:下载bin文件而不是src文件),打开文件压缩包,进入bin文件夹找到gdb. exe文件;然后将gdb. exe文件解压到MinGW安装目录下的bin文件夹中。

12、什么是断点断点有哪些可用动作简述断点的分类。

断点可以使程序在运行到断点位置时自动暂停并且显示程序的当前状态。

Eclipse规定了四种可用动作:①声音动作②日志动作③重新启动程序动作④外部工具动作断点有三种类型:(1)行断点一一使程序在运行到该断点位置时自动暂停。

(2)方法断点一一对某个方法或函数设置方法断点,可以使程序运行到该方法的第一行时自动暂停。

(3)事件断点——在程序运行过程中发生特定事件时(如异常触发、线程启动、线程退出等)将程序暂停。

13、程序运行中常见的事件有哪些程序运行过程中的事件包括:进程和线程的开始、暂停和退出,库文件的读取,异常事件(抛出异常、捕获异常等)。

14、Eclipse调试透视图(界面)主要包含哪些内容其中调试视图和变量视图的作用是什么Eclipse调试透视图主要包括:调试视图、变量视图、断点视图、编辑器、大纲视图和控制台。

调试视图:显示当前调试的程序的线程和所处的状态变量视图:显示整个调试过程中程序变量值的变化情况,变量视图是帮助程序员差错和纠错的主要手段。

15、单步遍历程序的作用是什么主要包括哪些方式各自的作用是什么单步遍历程序可以让用户逐行地运行整个程序。

主要包括三种方式:(1)单步跳入(Step into按钮或F5):线程将运行所在行的程序,并在下一个可暂停位置后暂停执行。

(2)单步跳过(Step over按钮或F6):线程将跳过该行,并运行至下一个可暂停位置后暂停执行。

(3)单步返回(Step Return 按钮或F7):仅对函数调用时有效,如当main函数调用其他函数时,执行单步返回操作即可跳出该函数,返回main函数继续执行调试。

16、是否锁定工具栏的区别在于什么解锁状态一一工具栏区域被竖直的虚线分成若干部分;用户可以随意更改工具栏的状 ^态。

锁定状态一一竖直的虚线消失,变成一个整体;用户不可以更改工具栏的状态。

17、简述为“ About”操作设定快捷键<Ctrl+=>的方法。

选中About将光标定位到Binding绑定输入框③ 同时按下键盘上的<Ctrl>和<=>键18、格式化代码的作用是什么其操作步骤如何格式化代码的功能可以帮助用户将凌乱的程序代码格式化为用户习惯的排列方式。

①设置代码格式一一新建代码格式或从外部导入已有的代码格式②格式化代码19、简述生成历史记录的作用。

Eclipse不仅支持使用版本管理软件进行版本控制,还自带有保存历史记录的功能,可以支持用户随时将程序恢复到之前某个时间点。

但Eclipse只会记录较短时间的文件版本,如果需要长时间的版本控制则需要借助如CVS等版本控制软件完成。

20、在软件开发过程中使用版本控制软件的好处(1)随时将程序恢复到以前某一时间;(2)实现程序的互斥性修改(某一程序在同一时间只能由一个开发人员修改);(3)对程序修改进行高效的管理;(4)将开发环境与测试环境、运行环境进行有效的隔离;(5)评估软件开发人员编写的程序质量,控制软件开发的进度。

(6)管理文档21、简述利用版本控制软件对程序进行修改的流程。

(1)用户提交需求书,程序员提交程序设计说明书,项目主管审核通过后,管理员将程序解冻;(2)由程序员提出程序;(3)程序员修改程序;(4 )修改完成后程序员提交测试请求给测试小组,测试小组进行测试,如果测试不通过,转向第3步;(5)测试通过后程序员填写本次修改解释,然后放入程序;(6)管理员将程序冻结。

22、举出5中常见的版本控制软件,并简要说明它们的特点。

(1)Rational ClearCase ——涵盖的范围包括版本控制、建立管理、工作空间管理和过程控制;支持绝大多数操作系统;安装、配置、使用相对较复杂,需要进行团队培训。

(2)Visual SourceSafe (VSS)------ 入门级工具,易学易用,得到微软稳定的技术支持;只用于Windows系统;安全性不高。

(3)CVS 简单易用、功能强大、跨平台、支持并发版本控制,免费;缺少相应的技术支持。

(4)Star Team ----- 用于管理配置和变更的集成环境。

(5)Firefly ――管理、维护整个企业的软件资产,包括程序代码和相关文档。

23、简述CVS的特点和优势。

CVS并发版本系统,是一个常用的代码版本控制系统。

使用CVS可以对代码进行集中管理,记录代码所有的更改历史,提供协作开发的功能并支持多人同时修改代码文件。

CVS简单易用、功能强大、跨平台、支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。

其最大的遗憾就是缺少相应的技术支持,许多问题的解决需要使用者寻找资料,甚至是读源代码。

24、CVS的访问权限分为几种CVS的访问权限分为管理员账户和一般用户账户。

CVS25每个插件都是由一个插件清单文件和一些可选文件组成。

(1)plugin. xml ------------- 插件清单文件,描述插件的名字、版本号、扩展点等信息(2)plugin. properties ---------------- 插件的一般信息,记录插件的属性设置。

(3)about. html -------------- 记录证书信息。

(4)* Jar ---- 插件需要的类文件。

(5)lib ——容纳第三方JAR包。

(6)icons ---- 容纳icon文件,通常是GIF格式。

(7)其它需要的文件。

27、清单编辑器有哪些页面构成各有什么用途清单编辑器是多页编辑器,可以对插件文件进行编辑,由六个页面组成:(1)概述页面①“一般信息”和“执行环境”部分定义了重要的插件属性。

②“插件内容”、“扩展/扩展点内容”、“测试”和“导出”部分,提供了有关如何开发、测试和部署插件的快速参考。

(2)依赖性页面--- 指定了当前插件运行时所需的插件列表。

(3)运行时页面一一显示插件提供给其他插件使用的所有包,以及插件运行时类路径中的库和文件夹。

(4)扩展页面一一从总体上显示了当前插件可用的扩展点。

(5)扩展点页面——在该页面中可以指定当前插件为其他插件提供的扩展点。

(6)构建页面——包含了构建、打包和导出插件时所需的所有信息。

28、常用的插件模板有哪些PDE为平台的常用扩展点提供了复杂性和功能均有所不同的模板。

每个模板都可以生成功能全面的插件。

1)H ello,world 模板。

相关文档
最新文档