全国高等教育自学考试《软件开发工具》第一章课件
自考 软件开发工具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. 调试工具本章介绍了常用的调试工具,以及它们的功能和使用方法。
调试工具用于帮助开发人员定位和修复程序中的错误和问题,提高开发效率。
软件开发环境与工具PPT课件
1.1.1 软件危机的典型表现(cont.)
软件质量差 软件项目即使能按预定日期完成,结果却不尽人意。 1965年至1970年,美国范登堡基地发射火箭多次失败, 绝大部分故障是由应用程序错误造成的。 在软件作坊里,由于缺乏工程化思想,程序员几乎总 是习惯性地以自己的想法代替用户对软件的需求,软 件设计带有随意性,很多功能只是程序员的“一厢情 愿”而已,这是造成软件不能令人满意的重要因素。
开发环境与工具中以SQL Server为例介绍一种数据库平台、以 Delphi为例介绍一种软件开发集成环境,以PowerDesigner为例介 绍一种软件设计工具,以Microsoft Visual SourceSafe和Microsoft Project为例介绍软件项目管理和配置管理工具。了解和掌握软件开 发过程各个阶段的工具及如何选择开发工具。
软件开发环境与工具
2009年5月
常见软件
软件——计算机工作的程序,数据及有关的文档。
一、系统软件 计算机管理自身资源及提供服务的基础软件,包括操作系统、 网络、编译等。
二、嵌入式软件(实时) 用于嵌入式计算机系统的软件。
三、科学和工程计算软件 对数值进行处理计算的软件,包括天文、地理、生物、化学。
1.1.1 软件危机的典型表现 (cont.)
软件维护困难
由于在软件设计和开发过程中,没有严格遵循软件开发 标准,各种随意性很大,没有完整的真实反映系统状况 的记录文档,给软件维护造成了巨大的困难。
特别是在软件使用过程中,原来的开发人员可能因各种 原因离开原来的开发团队,使软件几乎不可维护。
培养高素质的开发人员 借助先进的软件开发和管理工具。 采用先进的软件开发技术
面向对象程序设计与开发 先进的软件体系结构:构件重用、层次化
全国高等教育自学考试《软件开发工具》第一章课件
组件化程序设计
组件的特征
组件之间在二进制级别上集成和重用 独立地生产、获得和配置
组件化程序设计
组件的接口
描述组件对外提供的服务,组件和组件之 间、组件和客户之间同时通过接口进行交 互
组件接口的稳定性 组件接口的“自我描述性”,描述标准 IDL语言
组件化程序设计
目前比较成熟的规范
3. 软件产品的质量常常靠不住。 软件可靠性和质量保证的确切定量概念 刚刚出现,软件质量保证技术(审查、复审 和测试)还没有坚持不懈地应用到软件开发 的全过程中,这些都会导致软件产品发生质 量问题。 4. 软件常常是不可维护的。 程序中的错误很难改正,实际上不可能 使这些程序适应新的硬件环境,也不能根据 用户的需求在原有程序中增加新的功能。
软件 = 程序 + 数据 + 文档
软件的生存周期与开发模型
生存周期与选择的开发模型有关
软件开发模型
瀑布模型
增量模型
迭代模型
原型模型
软件生存周期(一般说法)
立项(或签约)、 下达任务书
需求分析 概要设计 详细设计 编码实现
软件测试
软件发布与实施
软件维护
版本更新或退役
序号 1 2 3 4
具体内容
软件开发周期(瀑布模型、增量模型、 原型模型、迭代模型) 面向过程方法、面向对象、面向数据 如CASE工具、北大青鸟、PowerDesigner
ISO9000、CMM
软件工程
软件 vs. 程序
面向过程的程序=算法+数据结构
自考软件开发工具串讲笔记
《软件开发工具》串讲笔记第一章绪论重点背诵:1、对于CASE工具有两种理解,一种是“计算机辅助软件工程”,另一种是“计算机辅助系统工程”。
2、软件开发工具是引导人们建立正确、有效的概念模式的一种手段。
3、从几十年软件开发工具发展历史中,可以看到软件开发工具一个值得注意的特点是多样性和趋同性的并存。
4、进入二十一世纪以来,软件开发工具的发展有两个鲜明的特点,第一个特点是面向网络,另一个特点是开源软件的兴起和运用。
5、当前我们所要开发的信息系统不同于以前。
其重要特征是具有复杂性、多样性和相互关联性。
1.1 软件开发工具的由来(1)简述软件开发工具的范围?在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。
(2)软件开发工具的发展过程包括以下四个阶段:工具产生之前、通用工具的使用、专用工具的出现、一体化工具的出现。
论述工具产生之前,第一代到第四代程序设计语言的主要特征?1)第一代机器语言阶段:使用“0”和“1”代码进行编程,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植;2)第二代汇编语言:使用助记符来编写程序,由汇编系统将汇编指令转化为机器指令,编程工作量大大降低,但依然依赖于计算机硬件。
与此同时,操作系统的出现从另一方面改善了人们应用计算机的条件;3)第三代高级程序设计语言,高级语言突破了与机器指令一一对应的限制,实现了对机器的独立性,从而大大提高了程序的可移植性。
程序员需要逐行编写语句来实现算法的过程,因此它属于过程化的语言;4)第四代语言(4GL)是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。
5)利用通用软件作为辅助工具的阶段利用文字处理软件来编写文档,利用绘图软件来绘制流程图。
6)专用软件开发工具阶段专用软件开发工具是面对某一工作阶段或工作任务的工具,优点是能提高软件开发的质量和效率;缺点是一致性的保持,对软件开发缺乏全面的、统一的支撑环境。
软件工程-课程目录-大纲视图(全国高等教育自学考试指定教材-计算机网络专业-独立本科)
第一章绪论1.1 软件工程概念的提出与发展1.2 软件开发的本质1.3 本章小结第二章软件需求与软件需求规约2.1 需求与需求获取2.1.1需求定义2.1.2 需求分类2.1.3 需求发现技术2.2 需求规约2.2.1 需求规约定义2.2.2 需求规约(草案)格式2.2.3 需求规约(规格说明书)的表达2.2.4 需求规约的作用2.3 本章小结第三章结构化方法3.1 结构化需求分析3.1.1 基本术语1.数据流2.数据存储3.数据源和数据谭3.1.2 系统功能模型表示数据流图(Dataflow Diagram)3.1.3 建模过程1.建立系统环境图, 确定系统语境2.自顶向下, 逐步求精, 建立系统的层次数据流图3.定义数据字典数据流条目给出所有数据流的结构定义数据存储条目给出所有数据存储的结构定义数据项条目给出所有数据项的类型定义4.描述加工(1)结构化自然语言(2)判定表(3)判定树3.1.4 应用中注意的问题(1)模型平衡问题(2)信息复杂性控制问题3.1.5 需求验证3.2 结构化设计3.2.1 总体设计1.总体设计的目标及其表示(1)Yourdon提出的模块结构图(2)层次图(3)HIPO图2.总体设计步骤(1)变换型数据流图——变换设计(2)事物型数据流图——事物设计3.模块化及启发式规则(1)模块化1)耦合①内容耦合②公共耦合③控制耦合④标记耦合⑤数据耦合2)内聚①偶然内聚②逻辑内聚③时间内聚④过程内聚⑤通信内聚⑥顺序内聚⑦功能内聚(2)启发式规则1)改进软件结构, 提高模块独立性2)力求模块规模适中3)力求深度、宽度、扇出和扇入适中4)尽力使模块的作用域在其控制域之内5)尽力降低模块接口的复杂度6)力求模块功能可以预测3.2.2 详细设计1.结构化程序设计2.详细设计工具(1)程序流程图(2)盒图(N-S图)(3)PAD图(Problem Analysis Diagram)(4)类程序设计语言IPO图、判定树和判定表等也可以作为详细设计工具3.3 本章小结第四章面向对象方法——UML 4.1 UML术语表4.1.1 表达客观事物的术语1.类与对象1)类的属性(Attribute)2)类的操作3)关于类语义的进一步表达①详细叙述类的职责(Responsibility)②通过类的注解和/或操作的注解, 以结构化文本的形式和/编程语言, 详述注释整个类的语义和/或各个方法③通过类的注解或操作的注解, 以结构化文本形式, 详述注释各个操作的前置条件和后置条件, 甚至注释整个类的不变式④详述类的状态机⑤详述类的内部结构⑥类与其他类的协作4)类在建模中的主要用途①模型化问题域中的概念(词汇)②建立系统的职责分布模型③模型化建模中使用的基本类型2.接口(Interface)(1)采用具有分栏和关键字《interface》的矩形符号来表示(2)采用小圆圈和半圆圈来表示3.协作(Collaboration)4.用况(Use Case)5.主动类(Action Class)6.构件(Component)7.制品(Artifact)8.节点(Node)4.1.2 表达关系的术语1.关联(Association)(1)关联名(Name)(2)导航(3)角色(Role)(4)可见性(5)多重性(Multiplicity)(6)限定符(Qualifier)(7)聚合(Aggregation)(8)组合(Composition)(9)关联类(10)约束①有序(ordered)②无重复对象(set)③有重复对象(bag)④列表(list)或序列(sequence)⑤只读(readonly)2.泛化(Generalization)①完整(Complete)②不完整(Incomplete)③互斥(Disjoint)④重叠(Overlapping)3.细化(Realization)4.依赖①绑定(Bind)②导出(Derive)③允许(Permit)④实例(InstanceOf)⑤实例化(Instantiate)⑥幂类型(Powertype)⑦精化(Refine)⑧使用(Use)可模型化以下各种关系(1)结构关系1)以数据驱动2)以行为驱动(2)继承关系(3)精化关系(4)依赖关系4.1.3 表达组合信息的术语——包1)访问(Access)2)引入(Import)4.2 UML模型表达格式1.类图(Class Diagram)(1)模型化待建系统的概念(词汇), 形成类图的基本元素(2)模型化待建系统的各种关系, 形成该系统的初始类图(3)模型化系统中的协作, 给出该系统的最终类图(4)模型化逻辑数据库模式2.用况图(Use Case Diagram)所包含的内容(1)主题(Subject)(2)用况(Use Case)(3)参与者(Actor)(4)关联、泛化与依赖模型化工作1)关于系统/业务语境的模型化①系统边界的确定②参与者与用况的交互③参与者的语义表达④参与者的结构化处理2)关于系统/业务需求的模型化①确定系统/业务的基本用况②用况的结构化处理③用况的语义表达3.状态图(1)状态1)名字2)进入/退出效应(Effect)①entry②exit③状态内部转移3)do动作或活动4)被延迟的事件(2)事件1)信号(Signal)事件2)调用(Call)事件3)时间事件4)变化事件(3)状态转移①源状态②转移触发器③监护(guard)条件④效应(effect)⑤目标状态实际应用中, 使用状态图的作用①创建一个系统的动态模型②创建一个场景的模型4.顺序图(1)术语解析1)消息2)对象生命线3)聚焦控制(the Focus of Control)(2)控制操作子1)选择执行操作子(Operator for Optional Execution)2)条件执行操作子(Operator for Conditional Execution)3)并发执行操作子(Operator for Parallel Execution)4)迭代执行操作子(Operator for Iterative Execution)4.3 本章小结第五章面向对象方法——RUP5.1 RUP特点1.以用况为驱动2.以体系结构为中心3.迭代增量式开发5.2 核心工作流5.2.1 需求获取1.列出候选需求2.理解系统语境(1)业务用况模型(2)业务对象模型3.捕获系统功能需求(1)活动1: 发现并描述参与者(2)活动2: 发现并描述用况(3)活动3: 确定用况的优先级(Priority)(4)活动4: 精化用况(5)活动5: 构造用户界面原型1)用户界面的逻辑设计2)物理用户界面的设计3)开发用户界面原型并演示为了执行该用况, 用户怎样使用该系统(6)活动6: 用况模型的结构化5.2.2 需求分析1.基本术语(1)分析类(Analysis Class)1)边界类(Boundary Classes)2)实体类(Entity Classes)3)控制类(Control Classes)(2)用况细化(Use Case Realization)(3)分析包(Analysis Package)2.分析模型的表达3.分析的主要活动(1)活动1: 体系结构分析(Architectural Analysis)1)任务1: 标识分析包2)任务2: 处理分析包之间的共性3)任务3: 标识服务包4)任务4: 定义分析包的依赖5)任务5: 标识重要的实体类6)任务6: 标识分析包和重要实体类的公共特性需求(2)活动2: 用况分析1)任务1: 标识分析类①标识实体类②标识边界类③标识控制类2)任务2: 描述分析(类)对象之间的交互(3)活动3: 类的分析1)任务1: 标识责任2)任务2: 标识属性①关于实体类属性的标识②关于边界类属性的标识③关于控制类属性的标识3)任务3: 标识关联和聚合①关于关联的标识②关于聚合的标识③关于泛化的标识(4)活动4: 包的分析4.小结(1)关于分析模型1)分析包2)分析类3)用况细化(2)关于分析模型视角下的体系结构描述(3)用况模型和分析模型比较(4)分析模型对以后工作的影响1)对设计中子系统的影响2)对设计类的影响3)对用况细化[设计]的影响5.2.3 设计1.设计层的术语(1)设计类(Design Class)(2)用况细化[设计](3)设计子系统(4)接口(Interface)2.设计模型、部署模型以及相关视角下的体系结构描述(1)设计模型及其视角下的体系结构描述1)子系统结构2)对体系结构有意义的设计类3)对体系结构有意义的用况细化[设计](2)部署模型及该模型视角下的体系结构描述3设计的主要活动(1)活动1: 体系结构的设计1)任务1: 标识节点和它们的网络配置2)任务2: 标识子系统和它们的接口①标识应用子系统②标识中间件和系统软件子系统③定义子系统依赖④标识子系统接口3)任务3: 标识在体系结构方面有意义的设计类和它们的接口4)任务4: 标识一般性的设计机制①标识处理透明对象分布的设计机制②标识事务管理的设计机制(2)活动2: 用况的设计1)标识参与用况细化的设计类2)标识参与用况细化的子系统和接口(3)活动3: 类的设计1)任务1: 概括描述设计类2)任务2: 标识操作3)任务3: 标识属性4)任务4: 标识关联和聚合5)任务5: 标识泛化6)任务6: 描述方法7)任务7: 描述状态(4)活动4: 子系统的设计1)任务1: 维护子系统依赖2)任务2: 维护子系统所提供的接口3)任务3: 维护子系统内容4.RUP设计小结1)RUP设计的突出特点2)关于RUP的设计方法①给出用于表达设计模型中基本成分的4个术语, 包括子系统, 设计类, 接口, 用况细化[设计]②规约了设计模型的语法, 指导模型的表达③给出了创建设计模型的过程以及相应的指导3)RUP的设计模型①设计子系统和服务子系统②设计类(其中包括一些主动类), 以及他们具有的操作、属性、关系及其实现需求。
全国自考软件开发工具试题及答案
全国自考软件开发工具试题及答案一、单选题(共30题,共60分)1.以下几种较有代表性的语言及其开发工具中支持面向对象非常好的是()。
A.VCB.PBC.C++Builder/DelphiD.JAVA2.不属于软件开发工具概念模式的是()。
A.数据流程图B.实体关系图C.关键路线图D.数据字典3.以下几种较有代表性的语言及其开发工具中发展潜力最差的是()。
A.VCB.VBC.PBD.JAVA4.用来打开网页文件的编辑器是()。
A.C/C++编辑器B.文本编辑器C.任务编辑器D.Web浏览器5.出现最早的软件开发工具是()。
A.计划工具B.分析工具C.设计工具D.集成化工具6.一个好的项目组应当具备的条件是()。
A.有事先制定详细的时间表,并且得到严格执行B.成员有程序设计所需要的基本知识与技能C.成员深入了解本项目所在的领域D.成员熟悉软件开发的技术环境7.在Eclipse设置调试属性时,应选择Preferences菜单中的选项是()。
A.GeneralB.Install/UpdateC.TasksD.Run/Debug8.属于Eclipse调试透视图的是()。
A.触发器B.变量视图C.编辑器D.大纲视图9.在Eclipse代码模板编辑中,变量的开头字符和括起来的符号分别是()。
A.$ 和[ ]B.&和{ }C.¥和 ( )D.$和{ }10.在版本控制软件中,对程序冻结和解冻的操作人员只能是()。
A.程序员B.程序员和管理员C.管理员D.用户11.在Eclipse的插件清单中,提供插件id的标签是()。
A.pluginB.runtimeC.requiresD.extensions12.在Eclipse插件中,属于代码管理类插件是()。
A.CDTB.LombozC.PDTD.Log4E13.在RationalRose建模的逻辑设计中,使用的图是()。
A.活动图B.状态图C.交互图D.关联图14.在RationalRose建模的设计中,系统中与实现无关的视图是()。
自考软件开发工具笔记
自考软件开发工具笔记1 一、绪论1、简述软件开发工具的范围在高级程序设计语言的基础上为提高软件开发的质量和效率从规划、分析、设计、测试、成文和管理各方面对软件开发者提供各种不同程序帮助的一类新型软件。
2、简术用通用软件辅助软件开发的缺点有许多工作是通用软件所无法完成的用通用软件完成某些工作只能表现出其表面的形式而不能反映其逻辑内涵只能做到“形似”不能做到“神似”难于保持一致性。
3、简述集成化软件开发工具产生的背景集成的软件开发工具称为软件开发环境是指包括支持全过程、全阶段的软件开发工具。
以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。
这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来必然会造成冲突与矛盾。
这种冲突与矛盾对于用户来说造成了沉重的负担使用工具越多这种负担越重以致抵消了工具带来的益处。
这种情况导致了集成化软件开发工具的产生。
4、简述第四代语言与软件开发工具的区别软件开发工具包括4GL的功能软件开发工具支持系统分析、设计工作软件开发工具支持文档工作。
5、简述软件开发总体设计阶段的工作要点是根据软件功能说明书的要求完成软件的总体设计包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等。
6、简述软件开发实现阶段的工作以及应强调之点。
包括程序的编写和文档的编写应特别强调组织与协调及时发现并纠正背离总体设计要求的情况。
7、简述软件开发工具认识与描述客观系统的功能要求认识与描述客观系统是软件开发第一阶段所需的重要工作。
该项工作不确定程度高更需要经验更难规范化需要对复杂系统认识与理解并在此基础上抽象出信息需求与信息流程。
8、简述软件开发的项目管理功能为项目管理人员提供支持。
项目管理包括进度管理、资源与费用管理、质量管理三个基本内容。
还包括需要提出测试方案提供测试环境和测试数据并进行版本管理。
9、从人类科学技术发展的角度论述软件的意义软件是广大使用者与计算机之间的桥梁软件是人类在各个领域中积累的知识结晶软件是使人类文明与知识得以延续的新的载体软件是人类进一步成为一个整体、得以进一步相互联系的纽带。
全国2002年10月自考软件开发工具试题及答案
全国2002年10月高等教育自学考试软件开发工具试题课程代码:03173第一部分选择题一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.下列陈述中,正确的是( )A.软件开发工具包括第三代语言B.软件开发工具是指代码生成器C.操作系统是一种软件开发工具D.软件开发工具是帮助人们开发软件的软件2.软件工具中出现得最早、数量最大的一类是()A.设计工具B.分析工具C.计划工具D.集成化工具3.近来对质量好的软件评判标准有()A.运行越快越好B.程序越短越好C.占用内存越少越好D.用户界面友好4.项目管理的核心是()A.进度B.质量C.费用D.资源利用5.多媒体技术不具有以下哪一特征()A.集成性B.交互性C.模拟性D.实时性6.建模工具不必满足()A.正确性B.可视化C.便于交流D.一致性7.在软件开发工具的一般结构中,处于中心位置的是()A.总控部分和人机界面B.信息库及其管理C.代码生成与文档管理D.项目管理和版本管理8.目前中外软件工具发展水平为:()A.从研究水平看,外国与中国相当,从应用水平看,外国与中国相当B.从研究水平看,外国比中国高,从应用水平看,外国比中国低C.从研究水平看,外国比中国高,从应用水平看,外国比中国高D.从研究水平看,外国与中国相当,从应用水平看,外国比中国高9.项目管理的特点不包括()A.子任务多,关系复杂B.任务可重复,变更不大C.协调组织任务突出D.信息处理工作的作用和意义突出10.XML的标记()A.机器不可读,人可读B.机器不可读,人不可读C.机器可读,人可读D.机器可读,人不可读二、多项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的五个选项中有二至五个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
多选、少选、错选均无分。
11.软件开发工具的性能指标有( )A.表达能力B.保持信息一致的能力C.使用的方便程度D.运行速度E.对硬件及软件环境的要求12.为了解决“软件危机”问题,人们提出的方法有:()A.结构化程序设计B.软件工程C.面向对象程序设计D.即插即用的程序设计E.软件开发工具13.软件开发工具对开发者提供的帮助有()A.规划B.分析C.设计D.成文E.防病毒14.程序员作为项目组的成员应做到()A.发挥自己的技巧,巧妙地使用机器内部命令提高程序的效率B.按统一的原则命名标识符C.对所有项目的领域,都有较深入的理解D.严格按总体设计的要求和理解去传递参数值E.遵守统一的文档编写风格15.在CMM模型中一个好的项目组应具备()A.有严格的成文的工作规范和文档标准B.每个项目都有事先制定的详细时间表C.项目负责人应参加编程工作D.程序员参加测试工作E.文档标准只须专门负责文档收集管理的秘书熟知16.软件开发过程中所涉及的信息包括()A. 设计方案B.变更要求C.需求信息D.程序员信息E.代码,文档17.Model works支持()A.组件化B.多亲继承C.生成VB目标代码D.编辑Business RulesE.可视化18.信息库中需要存放的信息类有:()A.系统状况信息B.设计成果C.运行状况记录D.项目管理与版本管理信息E.系统测试用例19.从目前的软件开发工具发展趋势看,值得注意的动向有()A.智能化 B.网络化C.通用化D.一体化E.标准化20.管理数据字典的工具有()A.CDDB.FLOWC.AD/CycleD.DictionaryE.PVCS第二部分非选择题三、填空题(本大题共14小题,每空1分,共20分)21222324252627.软件开发工具对软件开发的支持体现在信息的管理和处理两方面。
软件开发工具复习资料(自考)
1)软件开发工具范围:在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划分析设计测试成本和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
应当为软件人员提供信息管理,信息存储一致性的保证提供帮助支持。
2)SDT 3个发展阶段:通用工具,专用工具,集成工具。
3)软件开发工具的概念:在高级程序设计语言后进一步发展的产物,目的是给与人们在开发软件过程中不同方面和程度的支持或帮助,支持开发的全过程而不是仅限编码或其他特定工作阶段。
4)软件的意义:硬件是躯体,软件是灵魂;软件是用户和计算机的桥梁;软件是人类知识与经验的结晶,一种新的载体。
5)通用软件弱点:许多工作无法完成,不能反映逻辑内涵,难于保持一致性。
6)专用软件弱点:对软件开发缺乏全面统一的支撑环境造成冲突和矛盾。
7)软件开发发展阶段:机器语言开发软件,汇编语言开发转换,高级语言开发编译程序转换,各种软件开发工具完成编译程序转换。
(项目管理版本控制软件重用新问题)8)新的软件开发方法表现在四个方面特点:自动化程度提高,进一步向用户延伸,延伸到项目版本管理扩展到不断发展生长完善的全过程。
9)4GL :非过程化的程序设计语言,针对以处理过程为中心的第三代语言他希望通过某些标准处理过程的自动生成使用户可以只说明要求做什么,而把具体的执行步骤安排交给软件自动处理。
10)CASE:计算机辅助软件工程或计算机辅助系统工程,应用计算机自身处理信息的巨大能力来帮助人们开发复杂的软件或应用系统,11)软件开发过程5阶段:初始要求提出需求分析(软件功能说明书),总体设计,程序文档的编写,测试调试阶段,维护。
12)软件工作的困难体现:复杂性,多样性,可维护性,可重用性。
13)SDT功能(定性):认识与描述客观系统,存储管理开发过程中的信息,代码的编写生成,文档的编制生成,软件项目的管理。
14)SDT性能(定量):表达能力或描述能力,保持信息一致性的能力,使用的方便程度,工具的可靠程度,对软硬件环境的要求。
软件开发技术、工具与软件开发过程介绍PPT课件
精品ppt
11
B/S架构图
精品ppt
12
B/S架构的优势与劣势
– 1)、维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构 的产品明显体现着更为方便的特性。对一个稍微大一 点单位来说,系统管理人员如果需要在几百甚至上千 部电脑之间来回奔跑,效率和工作量是可想而知的, 但B/S架构的软件只需要管理服务器就行了,所有的 客户端只是浏览器,根本不需要做任何的维护。无论 用户的规模有多大,有多少分支机构都不会增加任何 维护升级的工作量,所有的操作只需要针对服务器进 行;如果是异地,只需要把服务器连接专网即可,实 现远程维护、升级和共享。所以客户机越来越“瘦”, 而服务器越来越“胖”是将来信息化发展的主流方向。 今后,软件升级和维护会越来越容易,而使用起来会 越来越简单,这对用户人力、物力、时间、费用的节 省是显而易见的,惊人的。因此,维护和升级革命的 方式是“瘦”客户机,“胖”服务器。
软件开发技术、工具与 软件开发过程介绍
精品ppt
1
主要内容
• C/S与B/S架构 • web应用软件开发技术及其开发工具
• 常用动态网页技术介绍 • .net技术及其开发工具介绍 • J2ee技术及其开发工具介绍
• 项目管理介绍
精品ppt
2
C/S 与B/S架构
C/S架构
• C/S (Client/Server)结构,即大家熟知的客户机和服 务器结构。它是软件系统体系结构,通过它可以充分利用 两端硬件环境的优势,将任务合理分配到Client端和 Server端来实现,降低了系统的通讯开销。
精品ppt
10
B/S架构
– B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在 这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事 务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端 (Server)实现。这样就大大简化了客户端电脑载荷,减轻了系 统维护与升级的成本和工作量,降低了用户的总体成本
全国月高等教育自学考试软件开发工具试题和答案
全国2012年10月高等教育自学考试软件开发工具试题课程代码:03173请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.高级程序设计语言实现了A.计算机系统的各种资源自动管理 B.计算机语言对机器的独立性C.由机器自己去安排执行的顺序 D.用自然语言描述人们设想的处理过程2.软件工具的思想与方法得到了广泛的宣传是在20世纪的A.50年代B.60年代C.70年代 D.80年代3.在软件开发过程中,直接与变更要求关联的界面是A.分析界面 B.编程界面C.用户界面 D.管理界面4.在软件开发过程中,确定子系统或模块划分的阶段是A.需求分析阶段 B.分析设计阶段C.程序编码阶段 D.系统维护阶段5.软件开发工具的基础是A.数据库 B.工具软件C.信息库 D.文档6.购买市场上已有的软件开发工具的优点是A.减轻工作负担 B.比较便宜C.发展水平较高 D.可靠程度较高7.以下几种较有代表性的语言及其开发工具中支持面向对象非常好的是A.VC B.PBC.C++Builder/DelphiD.JAVA8.不属于...软件开发工具概念模式的是A.数据流程图 B.实体关系图C.关键路线图 D.数据字典9.以下几种较有代表性的语言及其开发工具中发展潜力最差的是A.VC B.VBC.PB D.JAVA10.用来打开网页文件的编辑器是A.C/C++编辑器B.文本编辑器C.任务编辑器 D.Web浏览器11.出现最早的软件开发工具是A.计划工具 B.分析工具C.设计工具 D.集成化工具12.一个好的项目组应当具备的条件是A.有事先制定详细的时间表,并且得到严格执行B.成员有程序设计所需要的基本知识与技能C.成员深入了解本项目所在的领域D.成员熟悉软件开发的技术环境13.在Eclipse设置调试属性时,应选择Preferences菜单中的选项是A.General B.Install/UpdateC.TasksD.Run/Debug14.不属于...Eclipse调试透视图的是A.触发器 B.变量视图C.编辑器 D.大纲视图15.在Eclipse代码模板编辑中,变量的开头字符和括起来的符号分别是A.$和[ ] B.&和{ }C.¥和( ) D.$和{ }16.在版本控制软件中,对程序冻结和解冻的操作人员只能是A.程序员 B.程序员和管理员C.管理员 D.用户17.在Eclipse的插件清单中,提供插件id的标签是A.pluginB.runtimeC.requiresD.extensions18.在Eclipse插件中,属于代码管理类插件是A.CDT B.LombozC.PDTD.Log4E19.在Rational Rose建模的逻辑设计中,使用的图是A.活动图 B.状态图C.交互图 D.关联图20.在Rational Rose建模的设计中,系统中与实现无关的视图是A.用例图 B.活动图C.顺序图 D.协作图非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
实用软件课件第1章
构优先的策略,迭代增量的建造方法。
习题1
选择题答案
9.A(1),B(2),C(4), D (3),E(1)
10. A(2),B(1),C(4), D(1),E(2)
等阶段。 软件运行过程中需要不断地进行维护,使软件持久满足用户需要。
1.4 软件开发模型
1.4.1 瀑布模型 (Waterfall Model)
1.4.2 快速原型模型
快速原型模型(Rapid Prototype Model)是快速开 发一个可以运行的原型系统,
通常有三种类型: ❖ 渐增式的原型:也称增量模
1.3 软件生命周期
1.3.1. 软件生命周期的定义
从设计软件产品开始到产品不能使用为止的时间周期。 软件生命周期中,软件开发与维护时的费用越低,软件的使用寿命越
长,产生的价值就越大,这就是掌握软件工程学的目的。
1.3.2. 软件生命周期划分的原则 1.3.3. 软件生命周期各阶段的任务
由软件计划、软件开发和软件运行维护三个时期组成。 软件计划时期:问题定义、可行性研究、需求分析三阶段。 软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试
1.4.6 RUP(统一过程)
统一过程 RUP(Rational Unified Process)使用统一建 模语言UML,
采用用例驱动和架构优先的策略, 采用迭代增量建造方法。
通常 ❖ 结构化方法可使用瀑布模型、增量模型和螺旋模型进
行开发; ❖ 面向数据结构方法可使用瀑布模型、增量模型进行开
《软件工程与开发技术》课件第1章
第1章 软件工程引论
此外,软件运行过程中如果发现了错误,那么必然是遇到 了在开发时期(分析、设计、编码过程)引入的,在检测过程中 没有能够检查出来的故障。对于此类故障的维护,通常意味着 要修改早期的分析结果、设计结果并调整编码。由于软件产品 的不可视特征,维护过程不像硬件产品维护时只要简单的更换 损坏部件那样容易,这在客观上造成了软件难以维护的结果。 利用足够的文档资料使不可视的产品可视化,有助于提升软件 产品的可理解性和可维护性。
第1章 软件工程引论 (2) 软件的生产与硬件不同。软件是由开发或工程化而形成 的,不是由传统意义上的制造过程生产的。虽然软件开发和硬件 制造之间有一些相似之处,可是两者在本质上是不同的。这两者 都能够通过良好的设计获得高质量的产品,但即使有了良好的设 计和优秀的样品,硬件在批量制造过程中仍然可能引入质量问题, 这种情况对于软件而言几乎不存在。
现代计算机应用系统中,软件的地位日益重要和突出。如何 满足日益增长的软件需求,如何维护应用中的大量已有软件,已 经成为了计算机应用系统进一步发展的瓶颈。1968年,北大西洋 公约组织的计算机科学家们在联邦德国召开的国际会议上讨论了 软件危机问题,同时也是在这个会议上提出了“软件工程”这个 名词,导致了一门新的工程学科的正式诞生。
软件在开发完毕,形成为产品之后,其批量制造过程只是简 单的拷贝/复制;软件的开发和硬件的制造都依赖于人,但参与 者和他们完成的工作之间的关系不同;两者的终极目的都是建造 产品,但方法不同;软件的成本集中在开发过程上,而硬件生产 的成本更多地表现在原材料消耗上。因此,软件项目开发过程不 能完全像硬件制造过程那样来管理。
第1章 软件工程引论
(1) 系统软件:就一般情况来说,系统软件是为其他软件服 务的软件。系统软件与计算机硬件交互频繁,处理大量的确定或 不确定的复杂数据,往往需要具有多用户支持、资源精细调度、 并发操作管理、多种外部设备接口支持等项功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
COM——(Component Object Model)
CORBA——(Common Objects Request
Broker Architecture)
软件工程
软件工程是研究软件开发和软件管理的 一门工程科学。 现代软件工程研究的内容:
研究方面
软件开发模型 软件开发方法 软件支持过程 软件管理过程
3. 软件产品的质量常常靠不住。 软件可靠性和质量保证的确切定量概念 刚刚出现,软件质量保证技术(审查、复审 和测试)还没有坚持不懈地应用到软件开发 的全过程中,这些都会导致软件产品发生质 量问题。 4. 软件常常是不可维护的。 程序中的错误很难改正,实际上不可能 使这些程序适应新的硬件环境,也不能根据 用户的需求在原有程序中增加新的功能。
软件开发项目的管理
项目组对程序员的要求:严格限于本模块范围、 严格按总体设计的要求、按统一规定存取公用 数据、按统一规格命名标识符、按统一要求编 写文档、保持程序风格的一致 对软件开发项目组的评价(CMM模型):有 严格成文的工作规范和文档标准、有严格的分 工、有详细的工作进度表并得到严格执行
需求分析、总体设计、编制程序和文档、测试和 联调 项目负责人、系统分析设计人员、开发人员、用 户、计算机软硬件 功能说明书、总体设计文件和各模块的设计任务 书、软件和各类文档(包括使用说明、用户手册 的等)、测试计划和测试报告
从参与开发过程的角色分析:
从软件开发过程中的各阶段成果分析:
软件开发方法的发展Leabharlann 软件开发工具课程目的
了解软件开发工具的概念、理论基础、基 本功能、发展现状与前景,以便能够在实 际工作中正确地选择与使用软件开发工具 帮助大家了解和熟悉一些常见实用的软件 工具,了解开发大型软件的基本过程 回顾总结以前所学的内容,进一步理解其 在实际开发工作中的作用 为实际的软件开发工作做准备 培养具备基本的科学研究素质
迭代模型
一次迭代
每次按顺序完成一系列工作流程 以次要里程碑(Minor Milestone)结束 需对迭代结果进行评估
迭代发布的产品
是开发过程最终产品的子集
迭代模型
迭代生存周期——4个阶段
初始阶段:确定系统的业务和项目的范围 精化阶段:分析问题域、细化产品定义、 定义系统架构并建立基线 构建阶段:反复开发,完善产品 移交阶段:将产品交付用户,安装、培训、 交付、维护等
软件开发工作的发展特点
软件的规模越来越大,软件开发工作的 内容也越来越复杂 开发人员离物理的机器世界越来越远, 离软件用户越来越近 软件开发工作从以编码为中心向以需求 分析和系统设计为中心转化 软件开发工作从一次性的过程向不断循 环、往复更新的过程发展
软件开发的过程
需求分析(提出初始要求,形成功能说明)
的程序实现
大型软件开发中的困难
保持一致性的问题(人员之间各部份间的协调 配合) 全面测试(软件的复杂性只能用黑箱测试) 控制工作进度(软件的复杂性,测试修改难于 按时完成) 文档与代码进行协调(代码常改,文档难改, 代码容易与文档脱节) 版本更新
对软件开发过程的再认识
从工作任务的角度分析:
强调软件重用和高度的互操作性
将软件分成若干独立但相互之间有联系
的组件,将这些组件组装成软件产品
组件化程序设计的核心:组件的生产和
组件的装配
组件化程序设计
关于组件
软件的基本量子,具有一定功能,可插用,可维护 软件开发中的可替换单元,封装了设计决策,与其他 组件结合组成更大的单元 具有特定功能,可跨越进程边界,实现网络、语言、 应用程序、开发工具、操作系统的“即插即用”的独 立对象 是任何可被分离出来的,具有标准化的可重用的公开 接口的软件
总体设计(包括软件的模块设计、数据结构的设计、
各部份的连接方式和信息交换的标准)
编写程序和编写文档(实现阶段) 测试和调试(包括模块的测试和整个软件的联调) 应用见效(提出评价与改进要求,进入下一版本的
开发)
软件开发的基本问题
将软件从用户的理解转换为程序员的理
解
将软件从程序员的理解转换到计算机上
(5)利用通用软件作为辅助工具的阶段利用文 字处理软件来编写文档,利用绘图软件来绘制 流程图等。 (6)专用软件开发工具阶段支持软件开发的某 一个阶段或某一个环节。 (7)集成的软件开发工具阶段零散的、分散地 支持各个工作阶段、各项具体工作的专用工具 之间没有有机地联系起来,从而必然造成冲突 与矛盾,以致抵消了使用工具带来的益处。这 种情况导致了集成的软件开发工具的产生。
瀑布模型
软件在生存周期中不同的阶段,自上而 下,互相衔接,逐级下落,具有固定的 次序 适合于结构化面向过程的软件开发方法 特点
里程碑或基线驱动,或文档驱动 过程逆转性差或不可逆转
瀑布模型
缺点:问题堆积
克服:严格的里程碑管理制度(微软)
阶段评审和不符合项的动态跟踪(CMM)
仍广泛使用的模型
序号 1 2 3 4
具体内容
软件开发周期(瀑布模型、增量模型、 原型模型、迭代模型) 面向过程方法、面向对象、面向数据 如CASE工具、北大青鸟、PowerDesigner
ISO9000、CMM
软件工程
软件 vs. 程序
面向过程的程序=算法+数据结构
面向对象的程序=对象+消息
面向组件的程序=组件+构架
增量模型
用递增方式进行软件开发。软件作为一 组增量部件,每次设计、实现、集成、 测试和交付一块部件,直到所有部件全 部实现为止。 软件系统本身模块化,单个模块高内聚, 模块之间低耦合,模块可组装拆卸
增量模型
特点
任务或功能模块驱动,可分阶段提交 有多个任务单
迭代模型
针对瀑布模型的缺点。采取循环的工作 方式,每次循环使工作产品接近目标一 次 多次执行各个开发工作流程,最终交付 一系列逐步完善的实施成果。
课程要求
熟练掌握课程内容
认真完成作业 上机实验
第1章 绪论
本章内容
预备知识
1.1软件开发工具的由来
1.2件开发工具的概念
1.3软件开发工具的功能和性能 1.4软件开发工具的类别 1.5开发软件的研究和应用
软件发展的几个阶段
(1)机器语言阶段;使用0、1代码进行编程。 (2)汇编语言阶段;使用助记符来编写程序,由汇 编程序汇编成机器码,编程工作量大大降低,但 仍未摆脱对硬件的依赖。与此同时,操作系统的 出现从另一方面改善了人们应用计算机的条件。 (3)高级语言阶段、高级语言突破了与机器指令一 一对应的限制,大大提高了程序的可移植性。 (4)第四代语言阶段,人们希望机器能够自动地完 成更多的工作,包括自动安排某些工作的顺序, 而做到只要给机器下达做什么的命令,由机器自 己去安排执行的顺序。
组件化程序设计
组件的特征
组件之间在二进制级别上集成和重用 独立地生产、获得和配置
组件化程序设计
组件的接口
描述组件对外提供的服务,组件和组件之 间、组件和客户之间同时通过接口进行交 互
组件接口的稳定性 组件接口的“自我描述性”,描述标准 IDL语言
组件化程序设计
目前比较成熟的规范
软件 = 程序 + 数据 + 文档
软件的生存周期与开发模型
生存周期与选择的开发模型有关
软件开发模型
瀑布模型
增量模型
迭代模型
原型模型
软件生存周期(一般说法)
立项(或签约)、 下达任务书
需求分析 概要设计 详细设计 编码实现
软件测试
软件发布与实施
软件维护
版本更新或退役
软件工程的三要素
软件工程的开发方法
支持开发方法的工具 软件管理过程
软件工程的支持过程
软件工程的过程
指软件生存周期(Life Cycle)中的时间序 列。 例如可将一个软件的生存周期划分为市场 调研、立项、需求分析、策划、概要设计、 详细设计、编程、单体测试、集成测试、 运行和维护这几个过程
软件工程的方法
强调两个方面:
工作步骤 交流标准
面向对象程序设计
将数据和对数据的操作作为一个整体来
处理
按人们认识世界的方法和方式来分析和
解决问题
面向对象程序设计
易于扩充、修改、维护
易于实现软件重用 扩充到OOA、OOD、ODBMS等方面,
称为面向对象软件开发方法
组件化程序设计
迭代模型
面向对象的工具(如Rose)和UML比较 适合迭代方法
原型模型
在初步需求分析之后,马上向客户展现 一个软件产品原型,根据客户试用意见 不断修改原型,直到客户确认为止。 特点:原型驱动,需要有一个原型或原 型的核心 快速原型法 缺点:不利于开发人员的创新
软件工程
软件工程是研究软件开发和软件管理的 一门工程科学。 现代软件工程研究的内容:
研究方面
软件开发模型 软件开发方法 软件支持过程 软件管理过程