1、上午6时10分软件开发工具功能与结构软件开发工具功能与结构Function and structure of software development tool2016/3任课老师:黄武任课老师:黄武641上午6时10分提纲提纲软件开发工具的功能软件开发工具的功能软件开发工具的结构软件开发工具的结构软件开发工具的分类软件开发工具的分类应用型的软件开发工具应用型的软件开发工具数据库软件开发工具数据库软件开发工具642上午6时10分1.软件开发工具的功能软件开发工具的功能软件开发工具软件开发工具种类繁多种类繁多有些工具只针对软件开发过程的一个方有些工具只针对软件开发过程的一个方面,如语言工具,数据
2、库工具面,如语言工具,数据库工具有些工具对软件开发的整个过程进行支有些工具对软件开发的整个过程进行支持,如软件开发环境持,如软件开发环境功能不同,结构不同功能不同,结构不同这里主要针对这里主要针对综合型支持能力综合型支持能力工具进行工具进行讨论讨论643上午6时10分1.1 软件开发工具的基本功能软件开发工具的基本功能软件开发工具软件开发工具具有以下具有以下5方面基本功方面基本功能:能:1.描述软件状况及描述软件状况及开发过程概念模式开发过程概念模式2.提供提供存贮和管理存贮和管理有关信息的机制和有关信息的机制和手段手段3.帮助使用者编制、帮助使用者编制、生成文档生成文档4.生成代码生成代码5
3、.对对历史信息历史信息进行跨生命周期的管理进行跨生命周期的管理 6441.1.1描述软件开发过程概念模式描述软件开发过程概念模式软件开发工具都内置了自己的软件开发工具都内置了自己的开发过程开发过程概念模式概念模式,帮助开发人员认识软件工作,帮助开发人员认识软件工作的环境、管理软件的开发过程的环境、管理软件的开发过程概念模式包括几方面内容:概念模式包括几方面内容:1.对软件的对软件的应用环境应用环境的认识和理解的认识和理解2.对预期产生的对预期产生的软件产品软件产品的认识和理解的认识和理解3.对软件对软件开发过程开发过程的认识和理解的认识和理解上午6时10分645上午6时10分2.软件开发工具的
4、一般结构软件开发工具的一般结构软件开发工具一般由软件开发工具一般由4个部分个部分构成构成1.总控及人机界面总控及人机界面2.信息库及其管理信息库及其管理3.代码及文档生成代码及文档生成4.版本管理及项目管理版本管理及项目管理646上午6时10分2.1 软件开发工具的一般结构图软件开发工具的一般结构图项目管理项目管理版本管理版本管理系统系统状况状况设计设计成果成果运行运行状况状况项目项目版本版本使用使用查询查询一致性一致性维护维护录入录入更新更新用用户户人机人机界面界面总总控控联联机机查查询询文文档档生生成成代代码码生生成成其其它它输输出出信信息息库库信信息息库库管管理理647上午6时10分2.
5、1.1 软件开发工具的各个部分软件开发工具的各个部分Visual Studio2010 软件工程环境软件工程环境648上午6时10分2.2 总控部分和人机界面总控部分和人机界面总控部分及人机界面总控部分及人机界面是使用者和工具是使用者和工具之间信息交流的桥梁之间信息交流的桥梁人机界面应该遵循以下人机界面应该遵循以下3条原则:条原则:1.面向用户面向用户的原则的原则2.保证各部分之间信息的保证各部分之间信息的准确传递准确传递3.保证系统的保证系统的开放性和灵活性开放性和灵活性649上午6时10分2.2 软件开发工具的信息库及管理软件开发工具的信息库及管理信息库信息库是使用数据库技术存贮和管理是使
6、用数据库技术存贮和管理软件开发过程的信息软件开发过程的信息信息库存贮开发过程中的信息库存贮开发过程中的4类信息类信息信息库管理涉及信息库管理涉及3方面管理功能方面管理功能6410上午6时10分2.2.1 信息库存贮的信息库存贮的4类信息类信息1.关于软件关于软件应用领域与环境状况的信息应用领域与环境状况的信息,包括有关实体及其相互关系的描述包括有关实体及其相互关系的描述2.设计成果设计成果,包括逻辑设计和物理设计的,包括逻辑设计和物理设计的成果,比如数据流图,模块图,代码等成果,比如数据流图,模块图,代码等3.运行状况运行状况的记录,包括运行效率、故障的记录,包括运行效率、故障及其处理情况等及
7、其处理情况等4.有关有关项目管理和版本管理项目管理和版本管理的信息的信息6411上午6时10分2.2.3 3类信息库管理功能类信息库管理功能软件开发工具的信息库除具有一般数据软件开发工具的信息库除具有一般数据库的管理功能外,还具有其它库的管理功能外,还具有其它3类功能:类功能:1.信息之间逻辑联系信息之间逻辑联系的识别与记录(设计的识别与记录(设计视图与语言代码的一致性处理)视图与语言代码的一致性处理)2.定量信息与文字信息的定量信息与文字信息的协调一致协调一致(文档(文档信息从程序中自动提取)信息从程序中自动提取)3.历史信息处理的历史信息处理的一致性一致性控制控制6412上午6时10分2.
8、3 软件开发工具的代码生成软件开发工具的代码生成代码生成代码生成是软件开发工具的主要功能是软件开发工具的主要功能代码生成器的结构如下所示代码生成器的结构如下所示框架组件框架组件信息库信息库用户用户人机界面人机界面代码生成器代码生成器信息库管理模块信息库管理模块代码代码6413上午6时10分2.3.1 代码生成的材料代码生成的材料代码生成器依据代码生成器依据3方面材料生成代码:方面材料生成代码:1.信息库中的资料信息库中的资料,比如软件的总体结,比如软件的总体结构,模块之间的关系,数据结构等构,模块之间的关系,数据结构等2.各种标准模块的框架和构件各种标准模块的框架和构件3.通过屏幕输入的信息,
9、比如输入的编通过屏幕输入的信息,比如输入的编译参数等译参数等6414上午6时10分2.3.1.1 生成代码的环境信息生成代码的环境信息6415上午6时10分2.3.2 代码生成的输出代码生成的输出代码生成器生成的数据包括:代码生成器生成的数据包括:1.高级程序语言的代码高级程序语言的代码,比如,比如Rational Rose工具可以根据类图生成不同语言工具可以根据类图生成不同语言的源代码的源代码2.某种机器环境下的某种机器环境下的机器语言代码机器语言代码,一,一般的编译工具通常生成机器代码般的编译工具通常生成机器代码上午6时10分64162.3.2.1 工具生成的源代码举例工具生成的源代码举例
10、选择要选择要生成代生成代码的类码的类、组件、组件或包后或包后可生成可生成代码代码上午6时10分6417上午6时10分2.4 项目管理和版本管理项目管理和版本管理项目管理与版本管理是跨生命周期的信项目管理与版本管理是跨生命周期的信息管理,关键是对历史信息的处理息管理,关键是对历史信息的处理项目管理项目管理包括:范围管理、时间管理、包括:范围管理、时间管理、成本管理、质量管理、人力资源管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理和集成沟通管理、风险管理、采购管理和集成管理等管理等版本管理版本管理主要涉及档案集中管理、包括主要涉及档案集中管理、包括版本管理,文件更新保护和版本
11、比较等版本管理,文件更新保护和版本比较等6418上午6时10分2.4.1 软件中的项目管理软件中的项目管理6419上午6时10分3.软件开发工具的分类软件开发工具的分类可以按照不同的方式对软件开发工具进可以按照不同的方式对软件开发工具进行分类行分类基于工作阶段的划分基于工作阶段的划分基于集成程度的划分基于集成程度的划分基于应用领域的划分基于应用领域的划分6420上午6时10分3.1基于工作阶段的工具划分基于工作阶段的工具划分软件的开发是软件的开发是分阶段分阶段的,按照软件开发的,按照软件开发的阶段,软件开发工具可以分为:的阶段,软件开发工具可以分为:1.需求分析工具需求分析工具2.设计工具设计
12、工具3.编码工具编码工具4.测试工具测试工具5.运行维护工具运行维护工具6.项目管理工具等项目管理工具等6421上午6时10分3.1.1 需求分析工具需求分析工具需求分析工具需求分析工具在系统分析阶段用来严在系统分析阶段用来严格格定义应用的需求规格定义应用的需求规格需求分析工具应该包括对分析的结果需求分析工具应该包括对分析的结果进行一致性和完整性的检查进行一致性和完整性的检查数据分析工具数据分析工具包括包括UML用例图的绘制,用例图的绘制,数据流图、数据流图、E-R图的绘制等图的绘制等工具包括:工具包括:Rational Rose,EPWin以以及及BPWin等等64223.1.1.1 用例图
13、用例图用例图表达需求用例图表达需求上午6时10分6423上午6时10分3.1.2 设计工具设计工具设计工具设计工具用来进行系统设计,将设计结用来进行系统设计,将设计结果描述出来形成果描述出来形成设计规格说明书设计规格说明书,并检,并检查设计的一致性查设计的一致性设计工具可以生成各种设计图形,比如设计工具可以生成各种设计图形,比如类图、时序图、状态图、部署图等类图、时序图、状态图、部署图等常用的设计工具是:常用的设计工具是:Rational Rose64243.1.2.1 Rational Rose设计工具设计工具上午6时10分64253.1.2.2 类图举例类图举例一个具有聚合及继承关系的通讯
14、类图一个具有聚合及继承关系的通讯类图上午6时10分6426上午6时10分3.1.3 软件编码工具软件编码工具软件编码工具软件编码工具用来生成软件代码,通常用来生成软件代码,通常包括正文编辑器、常规的编译程序、链包括正文编辑器、常规的编译程序、链接程序、调试跟踪程序等接程序、调试跟踪程序等Visual Studio6.0是只针对是只针对c+的编码工具的编码工具6427上午6时10分3.1.3.1 设计工具举例设计工具举例Visual Studio 6.0界面界面6428上午6时10分3.1.4 软件测试工具软件测试工具软件测试工具软件测试工具是软件质量的保证,用于发现是软件质量的保证,用于发现程
15、序错误并对错误进行管理程序错误并对错误进行管理测试工具可以支持整个测试过程,包括:测试工具可以支持整个测试过程,包括:测测试用例的选择,测试执行及测试评估试用例的选择,测试执行及测试评估等等软件测试工具包括静态分析器,动态覆盖率软件测试工具包括静态分析器,动态覆盖率测试器,测试用例生成器,测试报告生成器,测试器,测试用例生成器,测试报告生成器,测试程序自动生成器,测试管理工具等测试程序自动生成器,测试管理工具等测试工具包括:测试工具包括:WinRunner,LoadRunner等等等等6429上午6时10分3.1.4.1 负载测试工具负载测试工具LoadRunner6430上午6时10分3.1
16、.5 软件运行维护工具软件运行维护工具运行维护工具运行维护工具的目的是保证系统的正的目的是保证系统的正常运行,发现和解决软件的性能故障常运行,发现和解决软件的性能故障运行维护阶段的工具包括支持运行维护阶段的工具包括支持逆向工逆向工程程(Reverse-Engineering)或)或再工程再工程(Reengineering)的反汇编工具等)的反汇编工具等64313.1.5.1逆向工程的结果逆向工程的结果CCommunication逆向工程的结果逆向工程的结果上午6时10分6432上午6时10分3.1.6 软件项目管理工具软件项目管理工具软件项目管理软件项目管理贯穿软件开发生命周期的贯穿软件开发生
17、命周期的全过程,包括对开发团队的组织以及开全过程,包括对开发团队的组织以及开发过程中各种标准、规范的实施等发过程中各种标准、规范的实施等项目管理常用的工具有项目管理常用的工具有Gantt图,图,PERT图图等等Microsoft Project是简单的项目管理工是简单的项目管理工具具6433上午6时10分4.应用型的软件开发工具应用型的软件开发工具按照应用领域不同,可以将软件工具分按照应用领域不同,可以将软件工具分为:为:1.数据库管理工具数据库管理工具2.多媒体界面设计工具多媒体界面设计工具3.可视化编程工具可视化编程工具4.MIS生成工具等生成工具等6434上午6时10分4.1 多媒体工具
18、多媒体工具多媒体工具多媒体工具可用于程序界面设计工作可用于程序界面设计工作多媒体工具包括多媒体工具包括:1.平面设计多媒体工具(平面设计多媒体工具(PS,CoreDraw)2.3维建模工具(维建模工具(Maya,3DMax)3.动画工具等(动画工具等(Flash,Unity3D)6435上午6时10分4.2 平面多媒体工具平面多媒体工具Photoshop是是Adobe公司出品的最有名公司出品的最有名的平面设计工具,可以完成:的平面设计工具,可以完成:1.平面设计平面设计:可以设计图片,艺术文字,:可以设计图片,艺术文字,各种效果图形等各种效果图形等2.图像处理图像处理:可以对图像进行缩放、增强
19、:可以对图像进行缩放、增强等处理等处理64364.2.1 Photoshop工具工具上午6时10分6437上午6时10分4.3 3维建模工具维建模工具Autodesk公司推出的公司推出的Maya是最顶级的是最顶级的三维建模工具,可以完成:三维建模工具,可以完成:1.3维建模维建模2.数字化布料模拟数字化布料模拟3.毛发渲染毛发渲染4.运动匹配等运动匹配等可以制作完成各种真实感的可以制作完成各种真实感的3维模型和维模型和动画动画64384.3.1 Maya工具工具上午6时10分6439上午6时10分4.4 动画制作工具动画制作工具Adobe公司的公司的Flash制作工具是最流程的制作工具是最流程
20、的动画制作工具之一,可以完成网页矢量动画制作工具之一,可以完成网页矢量动画的实现,这些动画通常还有交互功动画的实现,这些动画通常还有交互功能能Flash动画一般较小,便于在网上传播动画一般较小,便于在网上传播64404.4.1 Flash工具工具上午6时10分6441上午6时10分5 数据库设计工具数据库设计工具数据库设计工具数据库设计工具协助与数据库开发相协助与数据库开发相关人员在一个给定的应用环境中,通关人员在一个给定的应用环境中,通过合理的过合理的逻辑设计逻辑设计和有效的和有效的物理设计物理设计,构造优化的数据库模式,构造优化的数据库模式,建立数据库建立数据库及其应用系统及其应用系统,满
21、足用户多种信息需,满足用户多种信息需求求6442上午6时10分5.1 数据库的设计方法数据库的设计方法数据库设计(数据库设计(Database Design)是指根是指根据用户需求,在某一个具体的数据库管据用户需求,在某一个具体的数据库管理系统上,设计数据库的结构和建立数理系统上,设计数据库的结构和建立数据库的过程据库的过程数据库的设计一般包括数据库的设计一般包括1.结构设计结构设计,如数据表格的设计,如数据表格的设计2.行为设计行为设计,如数据应用的设计,如数据应用的设计6443上午6时10分5.2 数据库设计过程数据库设计过程数据库设计通常分为数据库设计通常分为6个步骤个步骤1.需求分析需
22、求分析2.概念设计概念设计3.逻辑设计逻辑设计4.物理设计物理设计5.验证设计验证设计6.运行与维护设计运行与维护设计6444上午6时10分5.2.1 数据库的需求分析数据库的需求分析数据库的需求分析数据库的需求分析是指通过调查和分是指通过调查和分析用户的业务活动和数据的使用情况,析用户的业务活动和数据的使用情况,弄清楚所用的弄清楚所用的数据种类、范围、数量数据种类、范围、数量以及他们在业务活动中的以及他们在业务活动中的交互交互等情况,等情况,确定用户对数据库系统的使用要求和确定用户对数据库系统的使用要求和各种约束条件等,形成需求规格各种约束条件等,形成需求规格6445上午6时10分5.2.2
23、 数据库的概念设计数据库的概念设计数据库的概念设计数据库的概念设计是指通过对现实世是指通过对现实世界的分类,聚集和概括,界的分类,聚集和概括,建立抽象的建立抽象的概念数据模型概念数据模型概念数据模型概念数据模型反应现实世界各部门的反应现实世界各部门的信息结构、信息流动情况、信息间的信息结构、信息流动情况、信息间的相互制约关系以及对信息储存、查询相互制约关系以及对信息储存、查询加工的要求等加工的要求等6446上午6时10分5.2.3 数据库的逻辑设计数据库的逻辑设计数据库的逻辑设计数据库的逻辑设计是将现实世界的概是将现实世界的概念数据模型设计成数据库的一种逻辑念数据模型设计成数据库的一种逻辑模式
24、,即适应特定数据库管理系统所模式,即适应特定数据库管理系统所支持的逻辑数据模式支持的逻辑数据模式6447上午6时10分5.2.4 数据库的物理设计数据库的物理设计数据库的物理设计数据库的物理设计是指根据数据库管是指根据数据库管理系统所提供的多种存贮结构和存取理系统所提供的多种存贮结构和存取方法等依赖于具体计算机结构的各项方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选物理设计措施,对具体的应用任务选定最合适的物理存贮结构、存取方法定最合适的物理存贮结构、存取方法和存取路径等和存取路径等6448上午6时10分5.2.5 数据库的验证设计数据库的验证设计验证设计验证设计是指在数据库
25、设计的基础上,是指在数据库设计的基础上,收集数据并具体收集数据并具体建立一个数据库建立一个数据库,在,在该数据库上运行一些典型的应用任务该数据库上运行一些典型的应用任务来验证数据库设计的正确性和合理性来验证数据库设计的正确性和合理性6449上午6时10分5.2.6 数据库的运行与维护设计数据库的运行与维护设计在数据库系统正式投入运行的过程中,在数据库系统正式投入运行的过程中,必须必须不断地对其进行调整和修改不断地对其进行调整和修改,这就,这就是数据库的运行与维护是数据库的运行与维护6450概念模型设计概念模型设计数据分析数据分析逻辑模型设计逻辑模型设计物理模型设计物理模型设计性能评价与预测性能
26、评价与预测符合要求?符合要求?物理实现物理实现试运行试运行满意?满意?使用与维护使用与维护现有应用现有应用未来应用未来应用转换规范、规范化转换规范、规范化理论理论DBMS要求要求用户应用要求用户应用要求DBMS限制限制应用程序应用程序使用频率使用频率需求分析阶段需求分析阶段概念设计阶段概念设计阶段逻辑设计阶段逻辑设计阶段物理设计阶段物理设计阶段数据库实施阶段数据库实施阶段运行维护阶段运行维护阶段YYN数据数据库设库设计步计步骤图骤图上午6时10分6451上午6时10分5.3 数据库开发工具数据库开发工具有很多具体的数据库开发工具有很多具体的数据库开发工具1.Oracle数据库数据库2.DB2数
27、据库数据库3.SQL Server数据库数据库4.MySQL数据库数据库5.Access数据库数据库6452上午6时10分5.3.1 Oracle数据库数据库Oracle数据库数据库是是Oracle公司开发的一种大型公司开发的一种大型关系数据库,一般用关系数据库,一般用于商业、政府部门于商业、政府部门Oracle数据库基于客户数据库基于客户/服务器模式的结构服务器模式的结构该数据库具有强大的该数据库具有强大的大数据处理能力和稳大数据处理能力和稳定性,被大公司采用,定性,被大公司采用,价格昂贵价格昂贵64535.3.1.2 Oracle数据库管理器数据库管理器上午6时10分6454上午6时10分
28、5.3.2 DB2数据库数据库DB2数据库是数据库是IBM公司研制的关系数据公司研制的关系数据库,主要应用与大型应用系统中,具有库,主要应用与大型应用系统中,具有很好的可伸缩性、数据完整性和安全性很好的可伸缩性、数据完整性和安全性DB2具有具有很好的网络支持能力很好的网络支持能力,每个子,每个子系统可以连接十几万分布式用户,可同系统可以连接十几万分布式用户,可同时激活上千个活动线程,对于大型分布时激活上千个活动线程,对于大型分布式系统的应用特别有用,比如银行式系统的应用特别有用,比如银行DB2可支持大型机到单用户环境,应用可支持大型机到单用户环境,应用于于OS/2、Windows、Unix、V
29、M及及OS/390等多种操作系统等多种操作系统64555.3.2.1 DB2数据库的工作原理数据库的工作原理上午6时10分6456上午6时10分5.3.3 SQL Server数据库数据库SQL Server数据库数据库是是Microsoft,Sybase和和Ashton-Tate三家公司共同开三家公司共同开发的,于发的,于1988年推出第一个年推出第一个OS/2版本版本该数据库是一个全功能的数据库平台该数据库是一个全功能的数据库平台64575.3.3.1 SQL Server数据库管理器数据库管理器上午6时10分6458上午6时10分5.3.4 MySQL数据库数据库My SQL是一个小型关
30、系数据库管理系是一个小型关系数据库管理系统,由瑞典的统,由瑞典的MySQL AB公司开发,公司开发,2008年被年被Sun公司收购公司收购该数据库是一个该数据库是一个开源数据库开源数据库,具有体系,具有体系小,成本低等特点小,成本低等特点64595.3.4.1 MySQL数据库管理工具数据库管理工具上午6时10分6460上午6时11分5.3.5 Access数据库数据库Access数据库数据库是微软公司推出的基于是微软公司推出的基于Windows桌面操作系统的关系数据库,桌面操作系统的关系数据库,是是Office应用软件之一应用软件之一它提供表、查询、窗体、报表、页、宏、它提供表、查询、窗体、
31、报表、页、宏、模块模块7种用来建立数据库的对象种用来建立数据库的对象提供了多种向导、生成器、模板、数据提供了多种向导、生成器、模板、数据存贮、数据查询、界面设计以及报表生存贮、数据查询、界面设计以及报表生成等操作规范化成等操作规范化64615.3.5.1 Access数据库设计界面数据库设计界面上午6时11分6462上午6时11分课堂讨论课堂讨论你认为软件开发工具信息库是如何组织你认为软件开发工具信息库是如何组织它生成的一个软件产品的?它生成的一个软件产品的?谈谈你谈谈你熟悉的一种软件开发工具,包括熟悉的一种软件开发工具,包括其工作原理,工作环境,工作产品等其工作原理,工作环境,工作产品等6463上午6时11分作业作业名次解释名次解释1.信息库信息库2.需求分析工具需求分析工具简答题简答题1.软件开发工具的基本功能是什么软件开发工具的基本功能是什么2.软件开发工具的一般结构是什么软件开发工具的一般结构是什么6464