软件开发工具
2020-11-02 09:56:39 1 举报
AI智能生成
软件开发工具章节知识
作者其他创作
大纲/内容
绪论
软件开发工具的由来
计算机语言和软件开发工具的发展和历史
计算机语言
过程化
第一代语言(机器语言):难以记忆,无意义的、二进制字符串
第二代语言(汇编语言):试图用英语来代替二进制字符串
第三代语言(高级程序设计语言 60年代 FORTRAN ALGOL COBOL)独立性高,但是需要程序员一步步安排好执行次序
非过程化(第四代语言)
软件危机后,20世纪七十年代-80年代间 通用软件
20世纪80年代-90年代 专用软件开发工具
90年代到20世纪末 集成软件开发环境
21世纪 面向开源的软件
高级程序语言相对低级语言的突破:
①:突破了机器指令一一对应的限制
②:用尽可能接近自然语言的方式去描述人们设想的处理过程,把这种表达方式向机器指令转换的工作,交给编译系统去完成
实现了对机器的独立性,提高了程序的可移植性
高级程序设计语言的不足:
过程化语言,需要安排执行的内容与次序,需要考虑解决问题的细节,清除如何解决问题,加重了用户的负担。
操作系统
与汇编语言同时出现,自动完成系统初始化,文件管理、内存管理、作业管理、处理机等工作
软件开发工具的概念
在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发者提供各种不同程的帮助的一类新型的软件。
软件开发工具的发展过程
没有专用的软件开发工具阶段(20世纪70年代末-80年代初),利用通用软件作为辅助工具帮助开发人员编写文档或画图,可以减少很多工作量,但是有很多工作是通用软件无法完成。
专用软件阶段:是面对某一工作阶段或某一工作任务的工具。优点是能提高软件开发的质量和效率。缺点是一致性的保持困难,,对软件开发缺乏全面的、统一的支撑环境。
集成的软件开发阶段:标志是IBM在1989年提出的AD/Cycle的巨大理论框架
21世纪的软件开发新阶段:① 是面向网络,不仅基于网络,而且还用于网络。②开源软件的应用和兴起
为什么说软件是人类知识与经验的结晶
①:有事先编号的指令,硬件才能完成任务。
②:这些指令就是人们在实践中形成的工作规范
③:可以对这些数据反复使用
④:进一步提高了人类的能力
为什么说软件开发工具的提出与使用是软件技术发展的新阶段
①:自动化程度提高,编程中的部分工作已由工具代替执行
②:将需要分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸。
③:将软件开发工作延伸到项目及版本管理
④:吸收了许多管理科学的内容以及方法
CASE工具
计算机辅助软件工程:Computer Aided Software Engineering
计算机辅助系统工程:Computer Aided System Engineering
软件开发工具的功能和性能
流程
①:提出初始要求(需求分析,软件功能说明书)
②:总体设计(结构图,模块清单、公用数据结构
③:实现阶段(程序的编写、文档的编写
④:测试阶段(模块的调试,整个软件的联调
功能要求:
①:认识与描述客观系统:主要用于第一个阶段-需求分析阶段
②:存储以及管理开发过程中的信息
③:代码的编写和生成
④:文档的编写和生成
⑤:软件项目的管理:为项目管理人员提供技术支持
性能具备
①:表达能力或者描述能力
②:保持信息一致性的能力
③:使用的方便程度
④:工具的可靠程度
⑤:对硬件和软件环境的要求
软件开发工具的类别
按工作阶段划分
计划工具:从宏观角度看待软件开发,为项目管理人服务
分析工具:用于需求分析,如数据字典管理系统,Dictionary/3000、Flow
设计工具:最早出现,数量最多,如代码生成器,第四代语言、测试工具
按集成程度划分
专用工具:面对某一工作阶段或某一工作任务
集成工具:面对软件开发全过程,依赖于机器与软件
按软硬件的关系划分
依赖于软硬件的工具:如设计工具
独立于软硬件:如分析工具、计划工具
软件开发过程及其组织
一:软件开发的困难
程序员做好软件工作的两个关键
①:将用户对软件的功能理解与程序员对软件的功能的理解之间的转换
②:解决任何机器之间的交流与协调问题
大型软件开发的困难有哪些
①:一致性的保持成为非常困难的问题
②:测试困难大大增加:黑象检测法,只能证明有错,不能证明没错
③:工作进度难以控制
④:文档域代码协调十分困难
⑤:版本更新带来的困难
大型软件开发困难的原因
①:大型系统的复杂性
②:个人之间的组织与协调
③:各个应用领域之间的差别
④:时间的因素、变化的因素
二:软件开发的方法的发展
软件开发人人员的责任
①用户:提出需求,验收软件,提出修改
②程序员:编程、写文档、调适自己的程序、向项目负责人提交工作成功
③项目负责人:分析用户形成需求方案,向程序猿分配任务、验收程序猿的工作成果、对整个软件联调、向用户交付使用、接收与分析用户的修改要求、向程序猿分配修改任务、验收成果、向用户交付新版本
④硬件;运行、试运行
软件开发方法
结构化程序设计
出现于20世纪60年代末,程序分解为三个基本模块:即处理单元、循环机制、二分决策
模块划分应符合:①功能单一化、明确化、最好做到一一对应
②:尽可能避免逻辑耦合,仅限于数据耦合③:模块规模应当足够小
②:尽可能避免逻辑耦合,仅限于数据耦合③:模块规模应当足够小
基本思想:①限制GOTO语言,禁止超越模块边界的GOTO语句
②:子程序尽可能做到一入口、一出口
③程序风格应该明确 ④完成有关的文档攥写
②:子程序尽可能做到一入口、一出口
③程序风格应该明确 ④完成有关的文档攥写
软件工程
产生于软件危机;使软件生产从程序员的个人劳动提高成为可控的工程。软件工程的思想主要集中于加强项目管理者的工作上。
从传统工业吸取了那些经验:①对软件工程工作的步骤做出了严格的规定;工作顺序不能颠倒
②:在每一个阶段都有明确的任务;③在质量、表达方式等方面要有统一的,并为人们共同遵守的标准
④:利用有关沟通与交流的手段,使才加工作的人成为一个整体,共同完成一项大的工程任务
②:在每一个阶段都有明确的任务;③在质量、表达方式等方面要有统一的,并为人们共同遵守的标准
④:利用有关沟通与交流的手段,使才加工作的人成为一个整体,共同完成一项大的工程任务
面向对象的程序设计
基本思想:①:客观实际的任何事物都是对象,他们都有一些静态和一些相关操作。
②:对象之间有抽象有具体,群体与个体、整体与部分等几种关系
③:抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类性质,这就是所谓的遗传性。
④:对象之间可以互送消息
②:对象之间有抽象有具体,群体与个体、整体与部分等几种关系
③:抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类性质,这就是所谓的遗传性。
④:对象之间可以互送消息
语言:C++ 、SmallTalk
即插即用的程序设计
基本思想:应用硬件制造的思路来处理大型软件开发工作的方法,一部分人专门生产软件组件,另一部分人构造整个软件的结构,并且把软件组件插入到结构中, 以便迅速的完成大型软件的研制工作
基础:即插即用的程序设计的基础是面向对象程序设计方法
基础:即插即用的程序设计的基础是面向对象程序设计方法
面向开源软件的程序设计
应用场景:应用面广,流程比较清晰,比较规范的应用领域,开源代码的重用,是比较有把握的
例如网站的设计,在开源代码中稍加修改就可以使用,节省人力物力
判断能否利用开源软件的主要依旧是对应用领域是否充分了解。
例如网站的设计,在开源代码中稍加修改就可以使用,节省人力物力
判断能否利用开源软件的主要依旧是对应用领域是否充分了解。
三:软件开发过程的管理
什么样的软件才是好软件:
①正确的实现所要求的功能
②:用户界面友好
③具有足够的速度
④具有足够的可靠性
⑤已与修改
①正确的实现所要求的功能
②:用户界面友好
③具有足够的速度
④具有足够的可靠性
⑤已与修改
一个好程序员需要具备的条件:①具有所需要的基本知识与技能
②对项目所在领域有深入了解,能准确理解用户信息需求,正确把握有关信息流程与信息处理原则
③对于开发技术环境书序,对所用语言、有足够的、实际运用的经验
②对项目所在领域有深入了解,能准确理解用户信息需求,正确把握有关信息流程与信息处理原则
③对于开发技术环境书序,对所用语言、有足够的、实际运用的经验
- 成为项目组的好成员,必须既有高度的组织纪律和团队精神,必须按照统一的使用原则使用标识符
一个好项目应当具备的条件
①有严格的工作规范
②人员之间有严格分工,必须有专门的测试人员,有专职的项目负责人
③每个项目都要事先指定详细的时间表,每一项完成之后都有完整的资料
①有严格的工作规范
②人员之间有严格分工,必须有专门的测试人员,有专职的项目负责人
③每个项目都要事先指定详细的时间表,每一项完成之后都有完整的资料
软件开发工具的理论基础
一、软件开发过程的信息要求
周期:用户 提出需求(用户界面-变更要求)
- 分析人员 设计方案(分析界面 需求信息)
-程序员 编程、文档(编程界面、代码文档)
跨周期:维护人员 修改需求(管理界面)
- 分析人员 设计方案(分析界面 需求信息)
-程序员 编程、文档(编程界面、代码文档)
跨周期:维护人员 修改需求(管理界面)
软件开发过程中的信息流通状况
①有关系统环境、现状及需求的信息。由用户提出,分析人员采集,需求分析
②有关软件的功能设计与物理设计的各种信息。有分析人员设计方案
③软件成果本身,包括程序和文档,由程序员编制
④用户对系统的各种变更要求,以及系统的各种变更记录,由维护人员收集。
①有关系统环境、现状及需求的信息。由用户提出,分析人员采集,需求分析
②有关软件的功能设计与物理设计的各种信息。有分析人员设计方案
③软件成果本身,包括程序和文档,由程序员编制
④用户对系统的各种变更要求,以及系统的各种变更记录,由维护人员收集。
二、概念模式及其作用
概念模式是指人们在认识事物的过程中,对于某一种事物或某一种系统形成中、抽象的、一般化的认识框架
作用:认识的作用十分重要,同时作为交流与表达工具也是十分重要。人们在相互配合、互相协调、共同完成某项任务
需要统一的思想、统一的认识、协同行动就必须用某种公认的方式来进行描述。
作用:认识的作用十分重要,同时作为交流与表达工具也是十分重要。人们在相互配合、互相协调、共同完成某项任务
需要统一的思想、统一的认识、协同行动就必须用某种公认的方式来进行描述。
常见概念模式
框图:描述程序执行逻辑的概念模式,把程序的执行捕捉归纳为:处理、判断、输入、输出、起始和终止几个基本功能
结构图:但程序比较大时,直接用框图表示会过于复杂,使人无法分层次地掌握程序的结构,结构图着重描述模块间控制
分为模块、循环调用、选择调用、顺序调用、参数传递
分为模块、循环调用、选择调用、顺序调用、参数传递
数据流程图:简称DFD 面对的是一个系统的信息流程,它更多得用于描述某一业务处理系统的信息来源、存储、处理、去向的全面情况。
数据流程图的基本元素是外部实体、数据处理、数据存储、用箭头表示数据流动状况
数据流程图的基本元素是外部实体、数据处理、数据存储、用箭头表示数据流动状况
实体关系图是一种用于描述静态数据结构的概念模式。它以实体、关系、属性三个基本概念数据为基本结构。广泛应用于数据库的设计中,常常和数据流程图、结构图相互配合使用
数据字典 是一种描述数据内容的概念模式,它用表格的形式列出数据的基本属性以及相互关系,作为人们对于数据的认识和了解,它的雏形是编写软件时的变量说明或者标识符清单
时序网络 是一种软件开发中常用的一种概念模式,主要描述系统的状态极其转换方式,状态是指系统在运行中某特定形态或工作方式,转换是指状态在一定条件下的互换状态。经常应用于一些实时控制方面的软件功能描述
数学与逻辑模型 用于描述客观世界的状态和规律,作为逻辑模型的表达方式,决策树和决策表是经常使用的
计算机模拟模型 利用计算机大量、高速处理信息的能力,在计算机内设定一定的环境,又以程序来实现客观系统中的某些规律或者规则,以便人们观察与预测客观系统的状况。
引用:模拟婴儿保温箱、蔬菜大棚保湿度
引用:模拟婴儿保温箱、蔬菜大棚保湿度
三、信息库及其一致性
信息库是一个随着项目进度不断修改与补充的数据集合。
信息库的核心问题是保持信息的一致性
保证数据的一致性是困难、最核心的工作,
信息库的核心问题是保持信息的一致性
保证数据的一致性是困难、最核心的工作,
信息库主要研究:
外部信息:所属软件的工作环境、功能需求、性能需求、有关的各种信息来源的状况、用户状况、硬件环境以及在该专业领域中的作用等外部信息。
需求分析阶段:需求分析阶段中收集的有关用户的各种信息,包括用户本身提供的,也包括在调查研究中得到。
逻辑设计阶段:各种调查材料和由此生成的各种文档,包括调查记录、原始数据、报表以及单证的样本、绘制的各种图以及最后生成的系统说明书
设计阶段:设计阶段的各种资料,包括所有的数据文件格式、数据字典、程序模块的要求、总体结构、各种接口及参数的传递方式和最后形成的设计方案
编程阶段:编程阶段的所有成果,包括程序代码、框图、变量说明、测试情况(输入数据以及输出结构)、验收包括、使用说明
运行及使用情况的详细记录:运行及使用情况的详细记录,包括每次使用的时间、状态、问题、特别是有关错误及其故障的记录情况
维护以及修改的情况:维护及修改的情况,包括修改的目标、责任人、过程、时间、修改前后的代码与文档以及修改后的结果、原系统的备份。
项目管理的有关信息:项目管理的有关信息、人员变更、资金投入、进度计划、及实施情况。这项还包括版本信息,及备份各个版本、每个版本的推出日期、与前版本相比等说明
外部信息:所属软件的工作环境、功能需求、性能需求、有关的各种信息来源的状况、用户状况、硬件环境以及在该专业领域中的作用等外部信息。
需求分析阶段:需求分析阶段中收集的有关用户的各种信息,包括用户本身提供的,也包括在调查研究中得到。
逻辑设计阶段:各种调查材料和由此生成的各种文档,包括调查记录、原始数据、报表以及单证的样本、绘制的各种图以及最后生成的系统说明书
设计阶段:设计阶段的各种资料,包括所有的数据文件格式、数据字典、程序模块的要求、总体结构、各种接口及参数的传递方式和最后形成的设计方案
编程阶段:编程阶段的所有成果,包括程序代码、框图、变量说明、测试情况(输入数据以及输出结构)、验收包括、使用说明
运行及使用情况的详细记录:运行及使用情况的详细记录,包括每次使用的时间、状态、问题、特别是有关错误及其故障的记录情况
维护以及修改的情况:维护及修改的情况,包括修改的目标、责任人、过程、时间、修改前后的代码与文档以及修改后的结果、原系统的备份。
项目管理的有关信息:项目管理的有关信息、人员变更、资金投入、进度计划、及实施情况。这项还包括版本信息,及备份各个版本、每个版本的推出日期、与前版本相比等说明
四、人机界面及其管理
用户设计界面基本原则:
主要功能是通信
界面必须始终如一
用户界面必须使用户随时掌握任务进展情况
必须提供帮助
宁可让程序多干,不可让用户多干
主要功能是通信
界面必须始终如一
用户界面必须使用户随时掌握任务进展情况
必须提供帮助
宁可让程序多干,不可让用户多干
人机交互手段的八个方面
键盘操作、屏幕滚动、菜单选择、帮助系统
鼠标操作、色彩应用、数据录入、信息显示
键盘操作、屏幕滚动、菜单选择、帮助系统
鼠标操作、色彩应用、数据录入、信息显示
五、项目管理与版本管理
项目管理特点:
子任务多,关系复杂
任务不可重复,形式不断变更。项目管理的核心要素是质量
协调组织的任务十分突出,资料浪费闲置的风险与合理优化组合,提高效益的机会并存
信息处理工作的意义更为突出
子任务多,关系复杂
任务不可重复,形式不断变更。项目管理的核心要素是质量
协调组织的任务十分突出,资料浪费闲置的风险与合理优化组合,提高效益的机会并存
信息处理工作的意义更为突出
项目管理的目标:
使产品的质量得到有效控制
保证整个系统按照预定的进度完成
有效的利用资源、尽可能使用资源的闲置和浪费减少
控制与降低陈本,从项目观点来说,最终都体现在成本的升高或降低,成本的情况是项目管理的状况的综合的最终体现。
使产品的质量得到有效控制
保证整个系统按照预定的进度完成
有效的利用资源、尽可能使用资源的闲置和浪费减少
控制与降低陈本,从项目观点来说,最终都体现在成本的升高或降低,成本的情况是项目管理的状况的综合的最终体现。
简述项目管理的基本目标:
使产品的质量得到有效控制
保证整个系统按照预定进度完成
有效的利用各种资源
控制和降低成本、
使产品的质量得到有效控制
保证整个系统按照预定进度完成
有效的利用各种资源
控制和降低成本、
软件开发工具的技术要素
一、基本功能与一般结构
软件开发工具的功能要求:
①认识与描述客观系统:提供描述软件状况及其发展过程的概念模式
②存储于管理开发过程中的信息:提供存储和管理有关信息的机制和手段
③代码的编写和生成:通过各种信息提供、半自动的生成程序代码、测试、修改错误
文档的编写和生成:帮助使用者编制、生成及修改各种文档
软件项目的管理:对于历史信息进行跨生命周期的管理,把项目进度与版本更新的有关信息科学的管理起来
①认识与描述客观系统:提供描述软件状况及其发展过程的概念模式
②存储于管理开发过程中的信息:提供存储和管理有关信息的机制和手段
③代码的编写和生成:通过各种信息提供、半自动的生成程序代码、测试、修改错误
文档的编写和生成:帮助使用者编制、生成及修改各种文档
软件项目的管理:对于历史信息进行跨生命周期的管理,把项目进度与版本更新的有关信息科学的管理起来
软件开发工具的功能:概存文代管
提供软件状况及其发展过程的概念模式
提供存储和管理有关信息的机制和手段
帮助使用者编制、生成及修改各种文档
通过各种信息的提供,半自动化生成代码、测试、修改从错误
对于历史信息进行跨生命周期的管理,把项目进度与版本更新的有关信息科学的管理起来
提供软件状况及其发展过程的概念模式
提供存储和管理有关信息的机制和手段
帮助使用者编制、生成及修改各种文档
通过各种信息的提供,半自动化生成代码、测试、修改从错误
对于历史信息进行跨生命周期的管理,把项目进度与版本更新的有关信息科学的管理起来
软件开发工具的一般结构
软件开发工具的一般结构:
①在软件开发工具的结构中,处于中心位置的是总控和人机界面
②人机界面的有效实现对于软件开发工具而言,是实用性和灵活性的保证
③软件的基本组成部分就是代码和文档
④在信息库内容的基础上,软件开发工具向使用者提供信息渠道,除了直接通过人机对话提供查询之外,最重要的两个信息出口就是代码和文档。
①在软件开发工具的结构中,处于中心位置的是总控和人机界面
②人机界面的有效实现对于软件开发工具而言,是实用性和灵活性的保证
③软件的基本组成部分就是代码和文档
④在信息库内容的基础上,软件开发工具向使用者提供信息渠道,除了直接通过人机对话提供查询之外,最重要的两个信息出口就是代码和文档。
二、总控与人机界面
软件开发工具的三个技术要点:
①面向使用者
②保证信息的准确传递
③保证系统的开放性(或灵活性)
①面向使用者
②保证信息的准确传递
③保证系统的开放性(或灵活性)
软件开发的周期:
①需求分析阶段:建立逻辑模型(领域或环境模型、数据模型、信息流通的模型)
②分析设计阶段:确定子系统或模块划分
③编码阶段
④测试阶段:安排测试方案,准备测试数据、收集与分析测试结果,并对出现问题的模块进行修改和调整
诉维护阶段
①需求分析阶段:建立逻辑模型(领域或环境模型、数据模型、信息流通的模型)
②分析设计阶段:确定子系统或模块划分
③编码阶段
④测试阶段:安排测试方案,准备测试数据、收集与分析测试结果,并对出现问题的模块进行修改和调整
诉维护阶段
三、信息库及其管理
软件开发工具的基础:信息库
信息库应该考虑的问题:
①信息库的内容
②信息库的组织方式
③信息库的管理功能
④历史信息的处理方法
信息库应该考虑的问题:
①信息库的内容
②信息库的组织方式
③信息库的管理功能
④历史信息的处理方法
信息库的内容:
①系统状况:关于软件应用的领域与环境的状况
②设计成果:包括逻辑设计与物理设计的成果。信息系统设计成果包括数据流程图、数字字典、系统结构图、数据逻辑结构设计、各模块的设计要求、以及由此形成的设计文档。
③运行状况的记录:信息系统运行状况记录包括运行效率、作业、用户反映、故障情况、故障的原因和处理情况。
④项目版本:有关项目管理与版本管理的信息。
①系统状况:关于软件应用的领域与环境的状况
②设计成果:包括逻辑设计与物理设计的成果。信息系统设计成果包括数据流程图、数字字典、系统结构图、数据逻辑结构设计、各模块的设计要求、以及由此形成的设计文档。
③运行状况的记录:信息系统运行状况记录包括运行效率、作业、用户反映、故障情况、故障的原因和处理情况。
④项目版本:有关项目管理与版本管理的信息。
信息库的组织方式:
①逻辑上统一,物理上分散:设立统一的信息库管理模块来进行管理。通过信息库管理模块来对分散的数据库进行存取,并进行一致性的检查与维护
①逻辑上统一,物理上分散:设立统一的信息库管理模块来进行管理。通过信息库管理模块来对分散的数据库进行存取,并进行一致性的检查与维护
信息库的管理功能:录入更新、一致性维护、实用查询
历史信息在信息库中保留的难点:
①历史数据的量太大
②历史数据格式不一致
③历史数据不标准
①历史数据的量太大
②历史数据格式不一致
③历史数据不标准
四、文档生成与代码生产
代码生成器是统一的一体化的软件开发工具中的一个重要组成部分
生成代码依据的资料:
①信息库汇总已有的相关资料
②利用各种标准模块的框架和构件
③依旧使用者通过请母亲的操作送入的信息
生成代码依据的资料:
①信息库汇总已有的相关资料
②利用各种标准模块的框架和构件
③依旧使用者通过请母亲的操作送入的信息
文档生产包括:
①文章 ②图形 ③表格 从难到易
①文章 ②图形 ③表格 从难到易
文档生成与代码生成相比:数量大、内容复杂
五、项目管理和版本管理
软件项目管理的主要内容:
①研究确定开发工作的方针和方法
②开发任务的划分与分工
③资源状况:包括人力、物力、设备、资金、软件
④人员情况:包括每个成员和团队的技术水平和工作进度
⑤变更情况:包括需求、环境、人员、技术、设备的变更
⑥质量情况:包括质量标准、如何检验
①研究确定开发工作的方针和方法
②开发任务的划分与分工
③资源状况:包括人力、物力、设备、资金、软件
④人员情况:包括每个成员和团队的技术水平和工作进度
⑤变更情况:包括需求、环境、人员、技术、设备的变更
⑥质量情况:包括质量标准、如何检验
软件开发工具的使用与开发
一、购置与开发的权衡
购买或自行开发软件与哪些条件有关:
购买现成的软件开发工具还是自己开发专门的工具,与具体的工作条件、环境、人员素质、项目特征都有不可分割的联系
购买现成的软件开发工具还是自己开发专门的工具,与具体的工作条件、环境、人员素质、项目特征都有不可分割的联系
自行购买的优点:
①目标明确,切实符合自己的需要。
②便于进一步扩充和升级,不存在引进外面产品时不可避免的冲突与不一致
③可以商品化,成为软件产品出售
①目标明确,切实符合自己的需要。
②便于进一步扩充和升级,不存在引进外面产品时不可避免的冲突与不一致
③可以商品化,成为软件产品出售
购买软件开发工具的优点:
①帮助人们减轻一定的工作负担,在某一个环节上代替简单、重复性的工作
②当项目比较大,持续时间比较长的情况下,使用工具还可以使工作的组织管理规范,信息的管理与检索比较方便,部分做到信息与知识的重用与共享。
一般而言,软件开发工具,我们更倾向于购买用途十分明确的。
①帮助人们减轻一定的工作负担,在某一个环节上代替简单、重复性的工作
②当项目比较大,持续时间比较长的情况下,使用工具还可以使工作的组织管理规范,信息的管理与检索比较方便,部分做到信息与知识的重用与共享。
一般而言,软件开发工具,我们更倾向于购买用途十分明确的。
软件开发工具的运行环境:
①硬件配置:内存规模、磁盘容量、主机速度、输入输出设备
②系统软件
③数据库管理系统
④网络通信
①硬件配置:内存规模、磁盘容量、主机速度、输入输出设备
②系统软件
③数据库管理系统
④网络通信
需要考虑的因素:
①准备从事的软件开发工作的性质与要求
②开发人员对支持工与支持程度的实际需要
③工作环境
④人员因素
①准备从事的软件开发工作的性质与要求
②开发人员对支持工与支持程度的实际需要
③工作环境
④人员因素
二、开发工具的选择与购置
购置软件开发工具前要明确目的与要求:
①为哪个软件开发项目而使用工具
②为哪个工作阶段使用工具
③工具将供哪些人使用
④工具将在怎样的软件、硬件环境下运行
①为哪个软件开发项目而使用工具
②为哪个工作阶段使用工具
③工具将供哪些人使用
④工具将在怎样的软件、硬件环境下运行
买之前应该调查什么:
功能、性能、开发理论或者方法,运行环境、文档资料、服务培训条件、价格
功能、性能、开发理论或者方法,运行环境、文档资料、服务培训条件、价格
软件开发工具的购置方法与步骤:
①:明确购置工具的目的与要求
②:明确购买工具的环境与制约条件
③:市场调查
④对于可供选择的各种工具进行综合比较
⑤:进行测试和检验
⑥:正式签约和购置
⑦:安装和试用
①:明确购置工具的目的与要求
②:明确购买工具的环境与制约条件
③:市场调查
④对于可供选择的各种工具进行综合比较
⑤:进行测试和检验
⑥:正式签约和购置
⑦:安装和试用
三、软件开发工具的使用
引入工具后,组织管理工作包括哪些:
①严格使用
②记录使用详细过程
③培训使用人员
④审计与评价工作
①严格使用
②记录使用详细过程
③培训使用人员
④审计与评价工作
严格使用制度:
①明确信息来源、使用权限、维护职责等相关事宜
②明确规定由哪些人在什么时候完成任务
③对于已经存入信息库的信息也要规定其使用权限和维护责任
④如果没有明确规定,信息库的内容就是去了可靠性,工具的运用也就失去了基础。
①明确信息来源、使用权限、维护职责等相关事宜
②明确规定由哪些人在什么时候完成任务
③对于已经存入信息库的信息也要规定其使用权限和维护责任
④如果没有明确规定,信息库的内容就是去了可靠性,工具的运用也就失去了基础。
记录使用的详细过程
①记录内容包括运行的次数和时间、信息库的输入与更新时间,各种输出的质量和数量,使用者反应与满意程度,各种故障的情况及处理。
②项目的组织者必须清楚的知道软件开发工具的使用情况,信息库的情况以及人们是否正确的使用了它们。
①记录内容包括运行的次数和时间、信息库的输入与更新时间,各种输出的质量和数量,使用者反应与满意程度,各种故障的情况及处理。
②项目的组织者必须清楚的知道软件开发工具的使用情况,信息库的情况以及人们是否正确的使用了它们。
培训人员的使用:软件开发工具的使用过程是人们转变工作方式的过程。
审计和评价工作:
目的和意义:审计是指对系统的运行状况及效率进行检测与评价,以用好或便改进系统,保证却得实际的应用效果。审计的基础是日常记录的信息。
审计的范围:包括工具使用的环境、人员、工作负担、工作效果、存在问题、改进方法等很多方面。
目的和意义:审计是指对系统的运行状况及效率进行检测与评价,以用好或便改进系统,保证却得实际的应用效果。审计的基础是日常记录的信息。
审计的范围:包括工具使用的环境、人员、工作负担、工作效果、存在问题、改进方法等很多方面。
审计与评价工作问题举例
①在工具使用过程中进行审计的主要内容:有没有出现过错误,有没有出现过数据丢失或错误的情况,有没有出现过由于误操作而引发的异常情况,对这些情况有哪些补救措施和纠正,效果如何。
②软件开发工具性能审计:工具的效率;工具的响应速度;工具的输出方式。
③在购置开发工具时进行审计:希望利用的功能;投入的资金和人力;定量计算的收益和无法定量计算的收益;从经济上看是否合理。
①在工具使用过程中进行审计的主要内容:有没有出现过错误,有没有出现过数据丢失或错误的情况,有没有出现过由于误操作而引发的异常情况,对这些情况有哪些补救措施和纠正,效果如何。
②软件开发工具性能审计:工具的效率;工具的响应速度;工具的输出方式。
③在购置开发工具时进行审计:希望利用的功能;投入的资金和人力;定量计算的收益和无法定量计算的收益;从经济上看是否合理。
四、软件开发工具的开发
自行开发软件工具的原则:
①从实际出发、设定实现的、有限的目标
②自行开发工具一定要坚持短小实用,逐步积累
③第三点要注意文档的齐全与资料的积累
①从实际出发、设定实现的、有限的目标
②自行开发工具一定要坚持短小实用,逐步积累
③第三点要注意文档的齐全与资料的积累
软件开发工具的现状与发展
一、软件开发工具的发展状况
IBM于1989年提出的AD/Cycle——关于应用系统开发和CASE工具的总框架
软件开发工具兴起于20世纪80年代中期。当时,专项的,支持某一工作环境的专用工具大量涌现,人们很快就发现了这种分散应用的弱点,提出了一体化要求。
与国际软件开发工具比较、国内应用水平较大的落后于国际。
软件开发工具兴起于20世纪80年代中期。当时,专项的,支持某一工作环境的专用工具大量涌现,人们很快就发现了这种分散应用的弱点,提出了一体化要求。
与国际软件开发工具比较、国内应用水平较大的落后于国际。
二、软件开发工具的发展方向与趋势
发展方向:网络化、智能化、一体化、标准化
智能化:在软件开发工具的研究和使用中引入人工智能、神经网络等技术,使得软件开发工具对于不确定信息和模糊信息具有更强大的处理能力。
网络化:通过网络,人们可以更方便的互通信息,共享知识,这就是人们所梦想的软件重用和知识重用提供了新机会。
一体化:只有对软件开发中设计的各种信息,以及在开发过程中他们的发生、关系、变化、一致性等有了完整与深刻的理解,才能真正实现一体化。
标准化:软件构件必须实现标准化,用构件组成大型软件的结构也必须符合一定的标准,否则就不可能提高生产效率。
软件工具的发展规律:
2008年,国际电子电气工程师学会的权威刊物《软件》指出——
①我们需要软件开发工具,就是更快更好地开发软件,就是为了提高软件开发的效率。
②从几十年软件开发工具发展历史中,我们可以看到软件开发工具一个值得注意的特点是,多样性和趋同性的并存。
③在信息处理、知识表达、事务处理等问题上,确实是存在着普遍规律,知识我们还没有透彻理解和掌握它们。
④抽象程度最高的软件开发工具是 XMF Mosaic
2008年,国际电子电气工程师学会的权威刊物《软件》指出——
①我们需要软件开发工具,就是更快更好地开发软件,就是为了提高软件开发的效率。
②从几十年软件开发工具发展历史中,我们可以看到软件开发工具一个值得注意的特点是,多样性和趋同性的并存。
③在信息处理、知识表达、事务处理等问题上,确实是存在着普遍规律,知识我们还没有透彻理解和掌握它们。
④抽象程度最高的软件开发工具是 XMF Mosaic
三、从计算机语言发展而来的工具
①发展潜力最差的是VB
②开发效率最高的是VC
③同时支持COM和CORBA组件技术的是:VC C++ Builder/Delphi
①发展潜力最差的是VB
②开发效率最高的是VC
③同时支持COM和CORBA组件技术的是:VC C++ Builder/Delphi
四、综合性的平台或开发环境
Visual Studio 与Eclipse相比,各种的优势:
①Visual Studio在微软环境下和其他产品的交互协同能焕然一体,天衣无缝;开发使用容易;产品间的差别透明度高;在运行速度,代码显示速度也强于Eclipse
②Eclipse是一款免费的,面向个平台开发者的软件开发环境,在各种操作系统上变现差异非常小,Eclipse具有“大平台,小核心、多插件”的特点,更富有灵活性。
①Visual Studio在微软环境下和其他产品的交互协同能焕然一体,天衣无缝;开发使用容易;产品间的差别透明度高;在运行速度,代码显示速度也强于Eclipse
②Eclipse是一款免费的,面向个平台开发者的软件开发环境,在各种操作系统上变现差异非常小,Eclipse具有“大平台,小核心、多插件”的特点,更富有灵活性。
开发工具示例
Eclipse入门
简介
Eclipse是一个开放源代码的、基于Java的可扩展集成应用开发环境。Eclipse最初主要用于来进行Java语言开发,但并非只有这个用途
①运行时内核:平台运行库是内核,他在启动时检查已安装了哪些插件。
②工作空间:负责管理用户资源的插件,包括用户创建的项目、项目中的文件,以及文件变更和其他资源
③工作台:为Eclipse提供用户界面
④其他插件:包括帮助组件、团队支持组件等
①运行时内核:平台运行库是内核,他在启动时检查已安装了哪些插件。
②工作空间:负责管理用户资源的插件,包括用户创建的项目、项目中的文件,以及文件变更和其他资源
③工作台:为Eclipse提供用户界面
④其他插件:包括帮助组件、团队支持组件等
安装与获取
使用Eclipse,首先需要按照JDK(Java SE Development Kit)
按照JDK之后,开始安装专门用于编写C++ 和C程序的Eclipse开发环境CDT(C/C++ Development Tools),书中安装是3.5版本
Eclipse工作台
Eclipse工作台(Workbench)是一个高级用户界面框架,它为用户提供了一个整体结构和可扩展的用户界面。
工作空间(WorkSpace):是Eclipse在用户电脑硬盘中划分处的一块区域,用来存放用户资料,如代码、配置信息等
Eclipse的工作台包括:
①菜单栏 ②工具栏 ③透视图 透视图又分为视图和编辑器
工具栏:工具栏一种为主工具栏,位于菜单栏下面;另一中为视图工具栏
导航栏视图一般位于窗口的左侧,显示当前Eclipse集成环境中加载的所有项目和各个项目中的文件列表
工作空间(WorkSpace):是Eclipse在用户电脑硬盘中划分处的一块区域,用来存放用户资料,如代码、配置信息等
Eclipse的工作台包括:
①菜单栏 ②工具栏 ③透视图 透视图又分为视图和编辑器
工具栏:工具栏一种为主工具栏,位于菜单栏下面;另一中为视图工具栏
导航栏视图一般位于窗口的左侧,显示当前Eclipse集成环境中加载的所有项目和各个项目中的文件列表
透视图及视图
透视图分类:
视图:导航器视图(资源管理器视图)、大纲视图、控制台视图
编辑器:中间编写代码或者文件的地方
主要视图有哪些:
①导航器视图(资源管理器):显示当前集成环境中加载的所有项目和各个项目的文件列表
②大纲视图:显示当前活动编辑器中所打开文件的纲要,如函数、变量等。
③错误视图:编写代码时,错误视图会实时显示程序中的错误,提示用户及时更改。另外,错误视图中也显示相关警告信息。
④搜索视图:显示搜索结果的详细信息
⑤任务视图:显示程序代码中未完成的任务
⑥控制台视图:程序的输入输出在该视图中完成。
视图:导航器视图(资源管理器视图)、大纲视图、控制台视图
编辑器:中间编写代码或者文件的地方
主要视图有哪些:
①导航器视图(资源管理器):显示当前集成环境中加载的所有项目和各个项目的文件列表
②大纲视图:显示当前活动编辑器中所打开文件的纲要,如函数、变量等。
③错误视图:编写代码时,错误视图会实时显示程序中的错误,提示用户及时更改。另外,错误视图中也显示相关警告信息。
④搜索视图:显示搜索结果的详细信息
⑤任务视图:显示程序代码中未完成的任务
⑥控制台视图:程序的输入输出在该视图中完成。
编辑器
编辑器是工作台中的一个可视化组件,编辑器允许用户打开、编辑、查看、保存文档对象。在Eclipse中,所有视图共享一组编辑器
常见的编辑器:
①C/C++ 编辑器
②Web浏览器
③文本编辑器
④任务编辑器
⑤二进制文件编辑器
常见的编辑器:
①C/C++ 编辑器
②Web浏览器
③文本编辑器
④任务编辑器
⑤二进制文件编辑器
管理项目
Eclipse 集成开发环境中,每个小程序都是以项目(project)为单位存在的
新建项目的步骤:文件(File) -> 新建(New) -> 项目 (Project)
从外部导入项目: 文件(FIle) -> 导入(Import)
新建项目的步骤:文件(File) -> 新建(New) -> 项目 (Project)
从外部导入项目: 文件(FIle) -> 导入(Import)
帮助文档
①使用联机帮助文档 帮助(Help)-> 帮助内容 (Help Contents)
②使用动态帮助 单机特定部分(如大纲视图)-> 单机菜单栏帮助(Help) --> 动态帮助 (Dynamic Help)
②使用动态帮助 单机特定部分(如大纲视图)-> 单机菜单栏帮助(Help) --> 动态帮助 (Dynamic Help)
使用Eclipse进行C/C++开发
安装MinGW
MinGW是指用来生成可执行的文件的编译环境,它是开发C/C++项目的工具集。为了能够使用Eclipse CDT编译且运行C和C++程序,必须要安装一个C/C++ 编译器
第一个C/C++项目
C语言是面向过程的计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它是目前众多计算机语言中公认的优秀的结构程序设计语言之一
①新建C项目:文件(File) -> 新建(New)->项目(Project)->C Project;在C Project窗口选择C语言相关属性,在项目名称(Project Name)标签中输入项目名称
在Basic Setting窗口可以设置源码的注释部分内容,分别在作者(Author)、版权申明(CopyRight Notice)等标签中输入相应的内容。点击Next按钮。
在Select Configurations窗口中可以选择调试和发布文件夹以及高级设定,保持默认设置后单击Finish按钮即可新建C Project ,这个项目中将会保存编写的源代码文件和配置文件。
②新建Source Folder
鼠标右击资源浏览器中新建的项目->选择新建(New)子菜单里的原文件夹(Source Folder)选项输入文件夹名称,把光标定位到文件名(Folder name)中输入原文件夹名称(一般为src)->Finish
③新建C++ Class
鼠标右击src文件夹->选择新建(New)子菜单里的类(Class)选项->输入类名称->Finish
完成后,Eclipse CDT会自动生成一个HelloWorld程序,这是一个.C文件,接下来要将它编译为可运行的.exe文件。
④编译C程序
鼠标右击新建项目->Build Configurations->Build->All
编译成功后会在资源管理器中看到Release文件夹,包含刚刚被编译的可执行文件。
⑤运行C程序
在资源管理器中鼠标右击新建项目->在运行方式(Run As)子菜单中选择运行设置(Run Configurations)
在Create,manage,and run configurations 窗口中,单机新建运行配置(New launch configuration)按钮新建一个运行配置
在进入新建窗口后,在Build configurations选项中选择Release,单机Search Project按钮进行设置。圈闭设置完毕后,点击Run
⑥使用浏览功能
Eclipse为C/C++程序员提供了一系列工具以方便开发,其中,使用浏览功能可以从多个角度快速查看并定位到程序中的元素,包括代码的层次结构、调用关系、继承关系等。
Eclipse中将命名空间、类、结构、变量等定义为(元素)
在Basic Setting窗口可以设置源码的注释部分内容,分别在作者(Author)、版权申明(CopyRight Notice)等标签中输入相应的内容。点击Next按钮。
在Select Configurations窗口中可以选择调试和发布文件夹以及高级设定,保持默认设置后单击Finish按钮即可新建C Project ,这个项目中将会保存编写的源代码文件和配置文件。
②新建Source Folder
鼠标右击资源浏览器中新建的项目->选择新建(New)子菜单里的原文件夹(Source Folder)选项输入文件夹名称,把光标定位到文件名(Folder name)中输入原文件夹名称(一般为src)->Finish
③新建C++ Class
鼠标右击src文件夹->选择新建(New)子菜单里的类(Class)选项->输入类名称->Finish
完成后,Eclipse CDT会自动生成一个HelloWorld程序,这是一个.C文件,接下来要将它编译为可运行的.exe文件。
④编译C程序
鼠标右击新建项目->Build Configurations->Build->All
编译成功后会在资源管理器中看到Release文件夹,包含刚刚被编译的可执行文件。
⑤运行C程序
在资源管理器中鼠标右击新建项目->在运行方式(Run As)子菜单中选择运行设置(Run Configurations)
在Create,manage,and run configurations 窗口中,单机新建运行配置(New launch configuration)按钮新建一个运行配置
在进入新建窗口后,在Build configurations选项中选择Release,单机Search Project按钮进行设置。圈闭设置完毕后,点击Run
⑥使用浏览功能
Eclipse为C/C++程序员提供了一系列工具以方便开发,其中,使用浏览功能可以从多个角度快速查看并定位到程序中的元素,包括代码的层次结构、调用关系、继承关系等。
Eclipse中将命名空间、类、结构、变量等定义为(元素)
使用Eclipse重构功能
使用Eclipse重构功能,用户可以在不影响程序运行的情况下,进行系统范围的代码更改。
①重命名变量:Eclipse重构中的重命名解决了变量、类、函数等重命名的所有问题。
选中变量 -> 单机菜单栏的重构(Refactor) -> 选中重命名(Rename)->填写新的变量名称 ->oK按钮
②抽取方法:将程序中出现多次的代码段抽取出来形成方法,可以大大减少代码的长度并增加可读性和易维护性,同时使得方法的调用变得简单清晰
选中代码段,鼠标右击选中部分->在弹出的菜单中选择重构(Refactor)子菜单下的抽取方法(Extract Function) -> 在弹出的窗口中输入方法名->Next按钮
③抽取常量:抽取长了本质上是将程序中的数字,字符定义为常量,使得对于常量的调用和修改变得简单
选中常量,鼠标右击选中部分->在弹出的菜单中选择重构(Refactor)子菜单下的抽取常量(Extract Constant) ->在打开窗口的文本框中输入常量名->Next按钮
①重命名变量:Eclipse重构中的重命名解决了变量、类、函数等重命名的所有问题。
选中变量 -> 单机菜单栏的重构(Refactor) -> 选中重命名(Rename)->填写新的变量名称 ->oK按钮
②抽取方法:将程序中出现多次的代码段抽取出来形成方法,可以大大减少代码的长度并增加可读性和易维护性,同时使得方法的调用变得简单清晰
选中代码段,鼠标右击选中部分->在弹出的菜单中选择重构(Refactor)子菜单下的抽取方法(Extract Function) -> 在弹出的窗口中输入方法名->Next按钮
③抽取常量:抽取长了本质上是将程序中的数字,字符定义为常量,使得对于常量的调用和修改变得简单
选中常量,鼠标右击选中部分->在弹出的菜单中选择重构(Refactor)子菜单下的抽取常量(Extract Constant) ->在打开窗口的文本框中输入常量名->Next按钮
使用搜索功能
使用查找/替换方法--- 编辑(Edit)-> 查找/替换(Find/Replace)
使用search菜单进行搜索
在Eclipse CDT 特有的Search功能中,可以执行文件、任务和C/C++搜索功能。 Search 菜单->Sarch选项
使用查找/替换方法--- 编辑(Edit)-> 查找/替换(Find/Replace)
使用search菜单进行搜索
在Eclipse CDT 特有的Search功能中,可以执行文件、任务和C/C++搜索功能。 Search 菜单->Sarch选项
调试程序
安装GDB
①打开下载页面,在下载界面上选择上方的Files标签
②在File标签下包含着诸如GCC、GDB等软件的各个版本下载列表,在列表中找到gdb-7.0-minggw32-bin.tar.gz,注意选择bin文件而不是src文件进行下载。
③肉用户机器中安装了下载工具,则会自动弹出对话框,否则Windows会启动下载功能。
④打开gdb-7.0-minggw32-bin.tar.gz压缩包,进入bin文件夹下找到gdb.exe
⑤将gdb.exe文件解压到MinGW安装目录下的bin文件夹即可完成安装
调试C程序
调试透视图 在默认情况下,调试透视图主要包括调试视图、变量视图、断点视图、编辑器、大纲视图和控制台视图
调试视图:显示当前调试的程序线程和其所处的状况
变量视图:显示整个调试过程中程序变量值的变化情况,帮助程序员查错和纠错。
调试视图:显示当前调试的程序线程和其所处的状况
变量视图:显示整个调试过程中程序变量值的变化情况,帮助程序员查错和纠错。
Eclipse CDT调试器允许用户设置断点、暂停、单步执行代码等方法来控制程序的运行过程。
单击菜单栏的窗口(window)菜单->Preference->运行/调试(Run/Debug),即可设置调试视图的相关属性,另一个可以设置点是运行/调试(Run/Debug)树形菜单下的控制台(Console)选项
单击菜单栏的窗口(window)菜单->Preference->运行/调试(Run/Debug),即可设置调试视图的相关属性,另一个可以设置点是运行/调试(Run/Debug)树形菜单下的控制台(Console)选项
①设置行断点
断电可以使程序在运行到断点位置时自动暂停并且显示在程序当前的状况。
用户可以在编辑器或者断点视图中添加或者删除断点,而断点视图会清楚地显示每个断点的状态,激活的断点会在蓝色的圆圈显示,非激活状态的断点则时易白色透明圆圈显示。
②添加行断点
在资源管理器当中,打开需要调试的文件,将光标移动到编辑器左侧边缘的标记区域上,用鼠标右键单击,从弹出的菜单中选择Toggle Breakpoint即可设置一个行断点。
设置后Eclipse在标记区的这一行显示一个蓝色圆圈图标。在Show View窗口中,打开调试(Debug)文件夹,选择断点(Breakpoint)后单击OK按钮即可激活断点视图。或者将光标移动到编辑器左侧边缘的标记区域上,双击即可在光标处添加一个断点。
③删除行断点
1)将光标移到编辑器左侧的标记区域,双击需要删除的断点即可删除
2)将光标移到编辑器左侧边缘的标记区域,用鼠标右键单击需要删除的行断点,在弹出的菜单中,选择Toggle Breakpoint即可删除。
3)激活断点视图,选中删除即可(可多选),单击工具栏的删除 选中断点(Remove Selected Breakpoint)即可
④激活和禁用行断点
1)将光标移到编辑器左侧边缘的标记区域上,右击需要禁用的行断点,在弹出的菜单中,选择Disable Breakpoint即可
2)激活断点视图,选中需要激活的方法断点,右击该方法断点弹出菜单,选择Enable即可激活该方法断点。
所谓断点事件就是在程序运行过程中发生特定的事件时将程序暂停
断电可以使程序在运行到断点位置时自动暂停并且显示在程序当前的状况。
用户可以在编辑器或者断点视图中添加或者删除断点,而断点视图会清楚地显示每个断点的状态,激活的断点会在蓝色的圆圈显示,非激活状态的断点则时易白色透明圆圈显示。
②添加行断点
在资源管理器当中,打开需要调试的文件,将光标移动到编辑器左侧边缘的标记区域上,用鼠标右键单击,从弹出的菜单中选择Toggle Breakpoint即可设置一个行断点。
设置后Eclipse在标记区的这一行显示一个蓝色圆圈图标。在Show View窗口中,打开调试(Debug)文件夹,选择断点(Breakpoint)后单击OK按钮即可激活断点视图。或者将光标移动到编辑器左侧边缘的标记区域上,双击即可在光标处添加一个断点。
③删除行断点
1)将光标移到编辑器左侧的标记区域,双击需要删除的断点即可删除
2)将光标移到编辑器左侧边缘的标记区域,用鼠标右键单击需要删除的行断点,在弹出的菜单中,选择Toggle Breakpoint即可删除。
3)激活断点视图,选中删除即可(可多选),单击工具栏的删除 选中断点(Remove Selected Breakpoint)即可
④激活和禁用行断点
1)将光标移到编辑器左侧边缘的标记区域上,右击需要禁用的行断点,在弹出的菜单中,选择Disable Breakpoint即可
2)激活断点视图,选中需要激活的方法断点,右击该方法断点弹出菜单,选择Enable即可激活该方法断点。
所谓断点事件就是在程序运行过程中发生特定的事件时将程序暂停
激活断点视图,单击视图上方工具栏的视图菜单(View Menu),在弹出的菜单中选择添加事件断点(Add Event Breakpoint)
设置断点动作
打开断点视图,右击需要设置断点的动作(Action),在该窗口中即可自定义此断点的动作。
设置断点动作
打开断点视图,右击需要设置断点的动作(Action),在该窗口中即可自定义此断点的动作。
调试程序
Run -->Debug Configurations
Run -->Debug Configurations
Eclipse CDT开发常用功能
自定义编辑器
C/C++首选项设置
①单击菜单栏中的窗口(Window)菜单,选择首选项(Preferences)选项,在弹出的对话框左侧部分,展开C/C++树形菜单
②外观(Appearance):自定义C/C++编辑器的界面风格和各元素,包括显示和转换单元、在资源管理器和C/C++项目视图中将头文件排序等。
③编辑控制台(Build Console):自定义控制台参数、如背景、字体颜色、最大输出行等。包括是否在每次编译时。自动清空控制台;是否在编译时自动打开控制台视图;是否在编译时将控制台置顶;限制控制台一次最多输出的消息行数,默认为500行;自定义控制台中各个部门和消息的颜色。
调试(Debug):自定义Debug视图相关参数,包括编码方式、是否完整文件路径、断点动作设置等。
④任务标记(Task Tags):自定义任务标签,默认的任务标签格式为TODO Normal ,在这里编辑的任务标签将会被应用到代码模板中。可以通过New、Edit、Remove按钮分别新建、编辑、和删除任务标签。
①单击菜单栏中的窗口(Window)菜单,选择首选项(Preferences)选项,在弹出的对话框左侧部分,展开C/C++树形菜单
②外观(Appearance):自定义C/C++编辑器的界面风格和各元素,包括显示和转换单元、在资源管理器和C/C++项目视图中将头文件排序等。
③编辑控制台(Build Console):自定义控制台参数、如背景、字体颜色、最大输出行等。包括是否在每次编译时。自动清空控制台;是否在编译时自动打开控制台视图;是否在编译时将控制台置顶;限制控制台一次最多输出的消息行数,默认为500行;自定义控制台中各个部门和消息的颜色。
调试(Debug):自定义Debug视图相关参数,包括编码方式、是否完整文件路径、断点动作设置等。
④任务标记(Task Tags):自定义任务标签,默认的任务标签格式为TODO Normal ,在这里编辑的任务标签将会被应用到代码模板中。可以通过New、Edit、Remove按钮分别新建、编辑、和删除任务标签。
常规首选项设置:外观、键、搜索、工作空间、浏览器
外观(Appearance):自定义整个Eclipse界面的风格,包括较早版本的Eclipse界面风格等。
键(Keys):自定义快捷键相关参数
搜索(Search):自定义搜索及视图相关参数,如是否在搜索后激活搜索视图;是否忽略可能的搜索匹配项。
工作空间(WorkSpaces):设置是否在启动Eclipse时提示选择工作空间,设置常用工作空间和个数。
浏览器(Web Browser):默认的Web浏览器,并选择使用Eclipse自带浏览器或使用外部浏览器
外观(Appearance):自定义整个Eclipse界面的风格,包括较早版本的Eclipse界面风格等。
键(Keys):自定义快捷键相关参数
搜索(Search):自定义搜索及视图相关参数,如是否在搜索后激活搜索视图;是否忽略可能的搜索匹配项。
工作空间(WorkSpaces):设置是否在启动Eclipse时提示选择工作空间,设置常用工作空间和个数。
浏览器(Web Browser):默认的Web浏览器,并选择使用Eclipse自带浏览器或使用外部浏览器
设置编辑器布局
最大化/最大化:显示编辑器,在编辑器中,打开一个文件,双击标签区域及可全屏显示在该编辑器区域,再次单击该标签区域会恢复到初始状态
定制编辑器位置:通过拖动编辑器上方的标签或者显示/隐藏周围的视图即可满足不同的需求。
最大化/最大化:显示编辑器,在编辑器中,打开一个文件,双击标签区域及可全屏显示在该编辑器区域,再次单击该标签区域会恢复到初始状态
定制编辑器位置:通过拖动编辑器上方的标签或者显示/隐藏周围的视图即可满足不同的需求。
定制工作台
默认情况下Eclipse工具栏处于解锁状态,如果未解锁,用鼠标右击工具栏空白部分,在弹出的菜单中将Lock The Toolbars前的对勾去除即可。
不需要工具栏时可将其隐藏,用鼠标右击工具栏空白部分,在弹出的菜单中选择Hide Toolbar即可隐藏
当再次需要显示工具栏时,单击菜单栏中的窗口(Window)菜单,选择显示工具栏(Show Toolbar)即可。
不需要工具栏时可将其隐藏,用鼠标右击工具栏空白部分,在弹出的菜单中选择Hide Toolbar即可隐藏
当再次需要显示工具栏时,单击菜单栏中的窗口(Window)菜单,选择显示工具栏(Show Toolbar)即可。
定制快捷键:Window->Preferences->Gengeral->Keys
定制透视图:用鼠标右击工具栏空白,选择定制透视图(Customize PersPective)。在打开的窗口上方可以看到四个标签,分别用来定制工具栏、菜单栏、命令组、快捷方式
复位透视图:单击菜单栏窗口(Windos)菜单,选择复位透视图(Reset PersPective)选项,在弹出的询问对话框中,单击OK按钮即可将当前透视图复位到默认状态。
保存透视图:单击菜单栏窗口(Window)菜单,选择保存透视图(Save Perspective As)选项,在弹出的将透视图另存为对话框中,输入透视图名称,该名称可以使用新名称,也可以使用已有名称,如Debug、但这是会覆盖现有 的透视图。应当谨慎操作。
删除透视图:单击菜单栏窗口(Window)菜单, 选择首选项(Preferences)选项,在弹出对话框左侧部分,展开常规(General)树形菜单,选择透视图(Perspective)选择,选中新建的透视图,单击Delete按钮,即可删除透视图。
定制透视图:用鼠标右击工具栏空白,选择定制透视图(Customize PersPective)。在打开的窗口上方可以看到四个标签,分别用来定制工具栏、菜单栏、命令组、快捷方式
复位透视图:单击菜单栏窗口(Windos)菜单,选择复位透视图(Reset PersPective)选项,在弹出的询问对话框中,单击OK按钮即可将当前透视图复位到默认状态。
保存透视图:单击菜单栏窗口(Window)菜单,选择保存透视图(Save Perspective As)选项,在弹出的将透视图另存为对话框中,输入透视图名称,该名称可以使用新名称,也可以使用已有名称,如Debug、但这是会覆盖现有 的透视图。应当谨慎操作。
删除透视图:单击菜单栏窗口(Window)菜单, 选择首选项(Preferences)选项,在弹出对话框左侧部分,展开常规(General)树形菜单,选择透视图(Perspective)选择,选中新建的透视图,单击Delete按钮,即可删除透视图。
格式化代码
格式化代码之前需要设定代码格式
设置代码格式
①单击菜单栏中的窗口(Window)菜单,选择首选项(References)选项,在弹出的对话框的左侧部门,展开C/C++树形菜单,选择代码格式 (Code Style)
②用户可以根据自己喜好更改格式,如花括号的位置、代码缩进的距离等。等修改成功后,单击保存默认设置(Restore Defaults),将改代码格式设置为默认格式。
③设定完成后,用户即可格式化代码,打开需要的格式化的程序,选择其中一段代码,用鼠标右键单击空白处,弹出菜单,选择源代码(Source)子菜单下的格式化(Format)选项即可
①单击菜单栏中的窗口(Window)菜单,选择首选项(References)选项,在弹出的对话框的左侧部门,展开C/C++树形菜单,选择代码格式 (Code Style)
②用户可以根据自己喜好更改格式,如花括号的位置、代码缩进的距离等。等修改成功后,单击保存默认设置(Restore Defaults),将改代码格式设置为默认格式。
③设定完成后,用户即可格式化代码,打开需要的格式化的程序,选择其中一段代码,用鼠标右键单击空白处,弹出菜单,选择源代码(Source)子菜单下的格式化(Format)选项即可
使用代码模板
①单击菜单栏中的窗口(Window)菜单,选择首选项(Perferences)选项,在弹出对话框左侧部分,展开C/C++树形菜单,选择代码,格式(Code Style)中的Code Template
②在弹出的窗口中,可以看到Eclipse允许用户在注释、代码、文件三个维度设置代码模板。以文件维度为例,新建一个C程序模板,单击文件Files 菜单,选择 C Source File ,然后单击New按钮,变量以$开头,并用{}括起来。
①单击菜单栏中的窗口(Window)菜单,选择首选项(Perferences)选项,在弹出对话框左侧部分,展开C/C++树形菜单,选择代码,格式(Code Style)中的Code Template
②在弹出的窗口中,可以看到Eclipse允许用户在注释、代码、文件三个维度设置代码模板。以文件维度为例,新建一个C程序模板,单击文件Files 菜单,选择 C Source File ,然后单击New按钮,变量以$开头,并用{}括起来。
生成历史记录
将文件替换为历史版本
在左侧资源管理器中,选中需要进行恢复的程序,右键单击,在弹出的菜单中选择Replace With ->Local History
在打开界面中的Revision Time窗口中显示了可以恢复的文件版本,选择其中一个,即可在底部窗口中显示该版本与目前文件的对比结果,其中的差异将会以浅绿色标记显示。单击Replace按钮即可把该文加回复到历史记录版本
在打开界面中的Revision Time窗口中显示了可以恢复的文件版本,选择其中一个,即可在底部窗口中显示该版本与目前文件的对比结果,其中的差异将会以浅绿色标记显示。单击Replace按钮即可把该文加回复到历史记录版本
从历史记录中恢复已删除文件
在资源管理器中,用鼠标右键单击项目名,在弹出的菜单中选择历史记录中回复(Restore from localHistory),在打开的窗口中,可以看到项目中曾经存在过的所有文件以及它们的各个版本。选中需要回复的文件后单击Restore按钮即可完成。
CVS的安装及使用
CVS介绍
并发版本系统(Concurrent Version System——CVS)是一个常用的代码版本控制系统
使用CVS可以对代码进行集中管理,记录代码所有的更改历史,提供协作开发的功能并支持多人同时修改代码文件
使用CVS可以对代码进行集中管理,记录代码所有的更改历史,提供协作开发的功能并支持多人同时修改代码文件
用版本控制软件的好处:
①随时将程序恢复到以前的某一点
②实现程序的互斥性。能够实现某一程序在同意时间只能由一个开发人员修改。
③对程序修改进行有效管理,将用户分为管理员和程序员两种角色,只有管理员可以将程序冻结(Freeze)和解冻(Unfreeze),被冻结的程序不允许修改。
④将开发环境和测试环境、运行环境进行有效隔离。
⑤评估软件开发人员编写的程序质量,控制软件开发的进度。
⑥管理文档,使用者可以在版本控制中建立专门的文件夹,用于存放软件开发过程中生成的各种文档。
①随时将程序恢复到以前的某一点
②实现程序的互斥性。能够实现某一程序在同意时间只能由一个开发人员修改。
③对程序修改进行有效管理,将用户分为管理员和程序员两种角色,只有管理员可以将程序冻结(Freeze)和解冻(Unfreeze),被冻结的程序不允许修改。
④将开发环境和测试环境、运行环境进行有效隔离。
⑤评估软件开发人员编写的程序质量,控制软件开发的进度。
⑥管理文档,使用者可以在版本控制中建立专门的文件夹,用于存放软件开发过程中生成的各种文档。
常用版本控制软件
Rational ClearCase(两控两管):ClearCase涵盖的范围包括版本控制、建立管理、工作空间管理和过程控制。
ClearCase支持现有绝大多数操作系统。ClearCase安装、配置使用相对复杂,需要进行团队培训。
ClearCase支持现有绝大多数操作系统。ClearCase安装、配置使用相对复杂,需要进行团队培训。
Visual SourceSafe(VSS):是一种很好的入门级的配置管理工具。易学易用,采用标准的Windows操作界面,VSS提供共享、分支和合并功能,支持团队开发。VSS只能在Windows平台运行,不可以运行在其他操作系统。VSS安全性不高。VSS的用户可以在文件夹上设置不可读,可读、可读/写、可完全控制四种权限。VSS不收费,对用户的数目没有限制。
CVS :是开源软件世界的一个伟大杰作,简单易用、跨平台、支持并发版本控制,而且免费;其中最大的遗憾就是缺少相应的技术支持,许多问题的解决需要使用者寻找资料,甚至是读源代码。
CVS的安装与配置
CVS Control Panel的设置
①About页面提供了CVS产品的版本,来源以及服务状态等信息。
②CVS资源库的设置,我们通过对IDE代码进行编辑,最终的提交都到这个文件夹。
③Control Panel中的其余页,对于一般开发,使用默认设置即可。
①About页面提供了CVS产品的版本,来源以及服务状态等信息。
②CVS资源库的设置,我们通过对IDE代码进行编辑,最终的提交都到这个文件夹。
③Control Panel中的其余页,对于一般开发,使用默认设置即可。
CVS访问权限的设置
①管理员账户:一般来说,给机器安装CVS的Windows系统管理员,也有用CVS管理员的权限(修改和删除)
②一般用户:一般用户账户不应该拥有管理员账户那么多的权限。
①管理员账户:一般来说,给机器安装CVS的Windows系统管理员,也有用CVS管理员的权限(修改和删除)
②一般用户:一般用户账户不应该拥有管理员账户那么多的权限。
将软件载入CVS资源库
①打开Eclipse的CVS Perspective,创建一个新的CVS资源库链接。鼠标右击CVS Perspective视图区域,弹出快捷菜单,在New子菜单中选择Repository Location选项,在弹出窗口进行相关设置。
②回到Java视图,将项目载入CVS库中,鼠标右击项目,在弹出的菜单中选择Team->Share Project。在弹出的对话框中,可以进行信息的选择,包括CVS链接、提交时的说明文字。
①打开Eclipse的CVS Perspective,创建一个新的CVS资源库链接。鼠标右击CVS Perspective视图区域,弹出快捷菜单,在New子菜单中选择Repository Location选项,在弹出窗口进行相关设置。
②回到Java视图,将项目载入CVS库中,鼠标右击项目,在弹出的菜单中选择Team->Share Project。在弹出的对话框中,可以进行信息的选择,包括CVS链接、提交时的说明文字。
提出(Check Out)
①首先,我们要 从CVS资源库中复制一个软件镜像到本机的workspace中,在复制过来的这一时刻,代码和CVS上的代码是一致的。
②然后,可以在这份代码的基础上做修改,CVS能分辨两者之间的区别,当提交代码时,需要进行一些融合,这项操作被称为Check Out
①首先,我们要 从CVS资源库中复制一个软件镜像到本机的workspace中,在复制过来的这一时刻,代码和CVS上的代码是一致的。
②然后,可以在这份代码的基础上做修改,CVS能分辨两者之间的区别,当提交代码时,需要进行一些融合,这项操作被称为Check Out
代码同步(Synchronize):如果想将本地的代码与资源库保持一致,就需要Team->Synchronize with Repository
①更新本地文件(Update)对于Incoming的文件,CVS资源库上的文件完全包含了本地文件的代码,并拥有新代码。用鼠标右键单击该文件,选择Update,这就本地就和CVS的文件一致了。
②提交本地文件(Commit)对于OutGoing的文件,本地文件包含了CVS上该文件的所有代码,并且有新的代码添加,选择Commit命令,这样CVS上的文件就更新本地提交的最新版本了。
③避免冲突(Mark as Merged)如果存在冲突的文件,系统会对其进行更高安全性能的保护。需要开发人员确认冲突已经排除后,用鼠标右键单击该文件,选择Mark as Merged命令,该命令标明文件已经经过开发人员的验证,冲突已经被避免,之后才可以用commit命令进行提交。
①更新本地文件(Update)对于Incoming的文件,CVS资源库上的文件完全包含了本地文件的代码,并拥有新代码。用鼠标右键单击该文件,选择Update,这就本地就和CVS的文件一致了。
②提交本地文件(Commit)对于OutGoing的文件,本地文件包含了CVS上该文件的所有代码,并且有新的代码添加,选择Commit命令,这样CVS上的文件就更新本地提交的最新版本了。
③避免冲突(Mark as Merged)如果存在冲突的文件,系统会对其进行更高安全性能的保护。需要开发人员确认冲突已经排除后,用鼠标右键单击该文件,选择Mark as Merged命令,该命令标明文件已经经过开发人员的验证,冲突已经被避免,之后才可以用commit命令进行提交。
Eclipse插件的使用与开发
插件简介
插件的定义
插件是一种遵循其所依附的软件的接口规范所编写出来的程序,插件实际上是对原有软件的扩展,替应用程序增加一些所需要的特定功能。
插件是一种遵循其所依附的软件的接口规范所编写出来的程序,插件实际上是对原有软件的扩展,替应用程序增加一些所需要的特定功能。
插件的构成
①每一个插件都由一个插件清单文件(plugin.xml)和一些可选文件组成。
②插件清单文件描述了插件的名字、版本号、使用的或者本身定义的扩展点等信息。
③一个典型的插件文件夹一般包括以下文件:plugin.xml;plugin.properties;about.html;*.jar;lib;icons;其他需要的文件。
①每一个插件都由一个插件清单文件(plugin.xml)和一些可选文件组成。
②插件清单文件描述了插件的名字、版本号、使用的或者本身定义的扩展点等信息。
③一个典型的插件文件夹一般包括以下文件:plugin.xml;plugin.properties;about.html;*.jar;lib;icons;其他需要的文件。
Plugin.xml:插件清单文件,主要有plugin.xml、runtime、requries|、extension四个标签
①plugin标签:提供插件的基本信息,除了name,version,provider-name等,最重要的是id,它要求不能和现有的Eclipse插件id有冲突
②requires标签:所列出的是需要的插件
③untime标签:知名的是该插件所在jar包的文件名
④extension标签:是插件扩展点的信息
①plugin标签:提供插件的基本信息,除了name,version,provider-name等,最重要的是id,它要求不能和现有的Eclipse插件id有冲突
②requires标签:所列出的是需要的插件
③untime标签:知名的是该插件所在jar包的文件名
④extension标签:是插件扩展点的信息
plugin.properties:插件的一般信息,记录插件的属性设置。
about.html:记录证书信息
*.jar:插件需要的类文件
lib:容纳第三方JAR包
icons:容纳icon文件,通常是GIF格式。
Eclipse在首次启动时,会扫描并查找plugin目录下已被定义的插件,如果发现某个插件有多个版本,只有一个(通常是高版本号)将被使用
使用PDE进行插件开发
PDE简介:
插件开发环境(plugin-in Development Environment ——PDE)PDE新增了透视图来帮助开发者创建、开发、测试、调试、部署插件
PDE透视图主要包括清单编辑器和插件大纲两部分
插件开发环境(plugin-in Development Environment ——PDE)PDE新增了透视图来帮助开发者创建、开发、测试、调试、部署插件
PDE透视图主要包括清单编辑器和插件大纲两部分
清单编辑器
打开PDE透视图:单击窗口->打开透视图->其他->插件开发->确定
打开PDE透视图:单击窗口->打开透视图->其他->插件开发->确定
插件模板
Hello,World模板
具有编辑器的插件
具有弹出菜单的插件
具有多页面编辑器插件
具有视图插件
具有属性页面的插件
Hello,World模板
具有编辑器的插件
具有弹出菜单的插件
具有多页面编辑器插件
具有视图插件
具有属性页面的插件
常用插件扩展点
Eclipse插件用户界面的三个基本构成元素是视图、编辑器、透视图
①视图扩展点:通过org.eclipse.ui.views为工作台提供更多视图
②编辑器扩展点通过扩展:org.eclipse.ui.editors将新编辑器添加至工作台
③透视图扩展点通过扩展:org.eclipse.ui.persperctives将透视图工厂添加至工作台
在Eclipse插件中,将已有视图、操作集以及编辑器进行组合和布局,以支持特定用户的需求,这种组织的结果称为透视图。
①视图扩展点:通过org.eclipse.ui.views为工作台提供更多视图
②编辑器扩展点通过扩展:org.eclipse.ui.editors将新编辑器添加至工作台
③透视图扩展点通过扩展:org.eclipse.ui.persperctives将透视图工厂添加至工作台
在Eclipse插件中,将已有视图、操作集以及编辑器进行组合和布局,以支持特定用户的需求,这种组织的结果称为透视图。
常用插件介绍与使用
使用EMF插件能实现哪些功能:EMF(Eclipse Modeling Framework)插件是Eclipse的建模框架。使用EMF可以实现以下四个功能:
①代码生成与输入
②默认的持久化
③机制
④模型编辑器
①代码生成与输入
②默认的持久化
③机制
④模型编辑器
常用建模工具
UML建模介绍
uml
统一建模语言(Unified Modeling Language——UML)是一种面向对象的建模语言
UML可以实现大型复杂系统各种成分描述的、说明并构造系统模型,以及建立各种所需要的文档,是一种定义良好、已于表达、功能强大且普遍适用建的建模语言。
UML可以实现大型复杂系统各种成分描述的、说明并构造系统模型,以及建立各种所需要的文档,是一种定义良好、已于表达、功能强大且普遍适用建的建模语言。
面向对象的方法及基本特点
当前人们所要开发的信息系统不同于以前,复杂性、多样性和互相关联性是各个信息系统的重要特征。于是面向对象的方法应运而生。
面向对象认为客观世界的任何事物都是对象,或者说对象是客观世界的抽象。
在程序设计中,对象表达为被描述事物的数据和对数据的处理的统一整体,也成为封装。
面向对象方法简称OO方法,它由面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程组成(OOP)组成。
强调对现实世界的理解和魔力,把现实世界到信息世界的转换工作减少到最小,所以特别适用于系统分析和系统设计
面向对象认为客观世界的任何事物都是对象,或者说对象是客观世界的抽象。
在程序设计中,对象表达为被描述事物的数据和对数据的处理的统一整体,也成为封装。
面向对象方法简称OO方法,它由面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程组成(OOP)组成。
强调对现实世界的理解和魔力,把现实世界到信息世界的转换工作减少到最小,所以特别适用于系统分析和系统设计
面向对象的一些概念
对象:对象是一些属性及其操作行为的封装体,它是问题空间中一些东西的抽象。从一般意义来讲,对象就是问题空间中的事物,它具有一组属性和一组操作
类:类是一组几乎相同的对象的描述,从一组对象中抽象出公共数据与方法,并将他们保存在一类中,类是面向对象功能的核心。在同一类中的对象也可根据其它相似特征而分成子类,所以类具有层次特征。
属性:属性是静态的数据组成的,用以描述类和对象所固有的特征,是类和对象的性质,并以此来区分不同的类和对象。
抽象:抽象是人们认识客观世界中复杂性的一种基本方法,抽象是事物或现象的简括描述,突出试图或现象之间的共性,而暂不考虑他们之间的差异。
封装:封装即信息隐藏。对象就实现了很好的封装,它向外提供了一组数据结构和一组操作,而把内部的细节隐藏起来,封装使一个对象形成两个部分:接口部分和实现部分。对于用户来说,接口部分是可见的,而具体实现部分则不可见。
方法:方法是驻留在对象中的过程。方法是当对象接受消息时执行的操作,方法还能发送消息到其他请求动作或信息的对象。
继承:继承指对象继承它所在类的结构,子类可以继承父类的特性,同时可以由自己的新特性和新方法。
消息和多态:面向对象的方法中,完成一件事情的方法就是向有关对象发送消息:多态指不同事物具有不同的表现形式的能力,多态机制使具有不同内部结构的对象可以共享相同的外部接口,这样又很好的支持了消息机制,而不同对象接受到同一个消息可产生完全不同的结果也是多态的一种体现形式。
类:类是一组几乎相同的对象的描述,从一组对象中抽象出公共数据与方法,并将他们保存在一类中,类是面向对象功能的核心。在同一类中的对象也可根据其它相似特征而分成子类,所以类具有层次特征。
属性:属性是静态的数据组成的,用以描述类和对象所固有的特征,是类和对象的性质,并以此来区分不同的类和对象。
抽象:抽象是人们认识客观世界中复杂性的一种基本方法,抽象是事物或现象的简括描述,突出试图或现象之间的共性,而暂不考虑他们之间的差异。
封装:封装即信息隐藏。对象就实现了很好的封装,它向外提供了一组数据结构和一组操作,而把内部的细节隐藏起来,封装使一个对象形成两个部分:接口部分和实现部分。对于用户来说,接口部分是可见的,而具体实现部分则不可见。
方法:方法是驻留在对象中的过程。方法是当对象接受消息时执行的操作,方法还能发送消息到其他请求动作或信息的对象。
继承:继承指对象继承它所在类的结构,子类可以继承父类的特性,同时可以由自己的新特性和新方法。
消息和多态:面向对象的方法中,完成一件事情的方法就是向有关对象发送消息:多态指不同事物具有不同的表现形式的能力,多态机制使具有不同内部结构的对象可以共享相同的外部接口,这样又很好的支持了消息机制,而不同对象接受到同一个消息可产生完全不同的结果也是多态的一种体现形式。
面向对象过程的四个步骤
标定 关系 类层 类库
①标识和定义对象及类
②组织类间的关系
③在类层中构造框架
④建立可重用的类库和应用程序架构
①标识和定义对象及类
②组织类间的关系
③在类层中构造框架
④建立可重用的类库和应用程序架构
组件思想
组件使一个可重用的软件构件,一个预先构件的封装的代码模块
组件技术是建立在对象技术之上,它是对象技术的进一步发展,组件技术更核心的概念是接口
组件技术是建立在对象技术之上,它是对象技术的进一步发展,组件技术更核心的概念是接口
Rational Rose建模工具介绍
面向对象的分析设计和Relational Rose
Rational公司是提供面向对象的解决方案的大型软件公司
Rational Rose采用三层解决方案,是由用户接口层,事务处理原则层和数据层组成的应用模型。
Rational Rose采用三层解决方案,是由用户接口层,事务处理原则层和数据层组成的应用模型。
建模的过程
①确认应用系统的功能需求,并为事务处理原则建模
②对抽象的对象映射需求,提供设计模板并创建惯用的模板
③分辨和设计对象或划分三层模型的服务
④对软件的组成部分映射成对象并设计组件在网络上如何分布。
②对抽象的对象映射需求,提供设计模板并创建惯用的模板
③分辨和设计对象或划分三层模型的服务
④对软件的组成部分映射成对象并设计组件在网络上如何分布。
采用Rational Rose进行可视化建模的特点如下:
①支持UML的建模
②采用基于组件的开发
③支持多语言开发
④支持双向工程
⑤全面的团队支持
⑥简单易用
⑦提供可视化的差异比较以及合并工具
⑧提供框架向导
⑨提供扩展接口,以实现定制Rose
⑩基本报告生成,可以生成数据词典
11)CoBra/IDL生成
12)数据库模式生成
13)微软存储库集成
14)实现Oracle 8的正向和逆向工程
15)支持Forte附加项,以实现此环境下的分析、构件企业级应用
②采用基于组件的开发
③支持多语言开发
④支持双向工程
⑤全面的团队支持
⑥简单易用
⑦提供可视化的差异比较以及合并工具
⑧提供框架向导
⑨提供扩展接口,以实现定制Rose
⑩基本报告生成,可以生成数据词典
11)CoBra/IDL生成
12)数据库模式生成
13)微软存储库集成
14)实现Oracle 8的正向和逆向工程
15)支持Forte附加项,以实现此环境下的分析、构件企业级应用
使用Rational Rose建模
UML建模的三大部分
使用UML建模时一般分为:
①用例视图:设计主要是借助用例图、活动图、状态图来了解用户需求
②逻辑设计:要用到类图、顺序图、交互图、主要通过设计相应的类和对象实现前面用例所定义的用户需求,其中可以用类图来表现出系统的静态信息,用顺序图、交互图表现出系统的动态信息
③物理设计:在系统物理设计阶段,要借助部署图等视图,确定系统的物理体系结构,而物理体系结构结构揭示了系统硬件的结构。
①用例视图:设计主要是借助用例图、活动图、状态图来了解用户需求
②逻辑设计:要用到类图、顺序图、交互图、主要通过设计相应的类和对象实现前面用例所定义的用户需求,其中可以用类图来表现出系统的静态信息,用顺序图、交互图表现出系统的动态信息
③物理设计:在系统物理设计阶段,要借助部署图等视图,确定系统的物理体系结构,而物理体系结构结构揭示了系统硬件的结构。
需求分析之用例图与活动图
用例图主要通过用例来描述系统的功能性需求,它是系统中与现实无关的视图
活动图在本质上就是流程图,它很好的描述了系统的活动、判定点、先后顺序和分支
顺序图是强调消息时间顺序的交互图。顺序图描述类系统中类与类之间的交互,它将这些交互建模成消息交换。换句话说,顺序图描述了类以及类之间相互交互以完成期望行为的消息。
协作图:强调参加交互的各对象的组织。协作图至对于相互间有交互作用的对象和这些对象之间的关系建模
活动图在本质上就是流程图,它很好的描述了系统的活动、判定点、先后顺序和分支
顺序图是强调消息时间顺序的交互图。顺序图描述类系统中类与类之间的交互,它将这些交互建模成消息交换。换句话说,顺序图描述了类以及类之间相互交互以完成期望行为的消息。
协作图:强调参加交互的各对象的组织。协作图至对于相互间有交互作用的对象和这些对象之间的关系建模
系统分析与设计
系统分析与设计
组件图描述了软件的各种组件和他们之间的依赖关系,组件图通常包含三种元素,即组件、接口和依赖关系。每一个组件实现一些接口,并使用另一些接口。
类图是根据系统中的类以及各个类之间的关系描述系统的静态视图。类图不仅显示系统内信息的结构,还描述系统内这些信息的行为。
组件图描述了软件的各种组件和他们之间的依赖关系,组件图通常包含三种元素,即组件、接口和依赖关系。每一个组件实现一些接口,并使用另一些接口。
类图是根据系统中的类以及各个类之间的关系描述系统的静态视图。类图不仅显示系统内信息的结构,还描述系统内这些信息的行为。
EclipseUML建模工具介绍
安装EclipseUML
安装EclipseuML有多种方式,一是用户可以利用Eclipse提供的自动升级程序安装组件。另一种是用户自行到网上下载
使用EclipseUML进行建模
新建UML项目:打开Eclipse工作台,单击菜单栏中的文件(File)菜单->New->Project->General->Projcet->输入项目名称->Finish
新建文件夹:右键单击资源管理器中的UML项目->New->Folder->输入文件夹名称->Finish
用例图示例:新建一个用例图->右键单击资源管理器中的UML项目的Src文件夹->New->Other->Use Case Diagram->Next按钮->输入用例图->Finish
0 条评论
下一页