8系统开发环境与工具课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《8系统开发环境与工具课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 开发 环境 工具 课件
- 资源描述:
-
1、 在系统开发过程中,选择好的开发环境与工具,对提高系统的开发效率和软件质量有直接作用。本章首先介绍信息系统集成的基本思想,再介绍CASE开发工具与平台和基于Web的信息系统的集成开发环境,旨在启发读者去熟悉信息系统的各种开发环境和工具。8.1 信息系统的集成信息系统的集成系统集成是为了达到系统目标将可利用的资源有效地组织起来的过程和结果。系统集成的结果是将部件或小系统联成大系统。单个微机一般不能算是系统集成,把多个微机用网络联接起来就可算是系统集成。把CAD(计算机辅助设计)、CAM(计算机辅助制造)和MIS联通,也属于系统集成,而且是比微机联网更高级的集成。集成在概念上绝不只是联通,而是有效
2、的组织。有效的组织意味着系统中每个部件得到有效的利用,或者反过来说,为了达到系统的目标所耗的资源最少,包括开始的设备最少,和以后的运行消耗最少。系统集成是要达到系统的目标,这个目标总是要达到1+1 2,即系统的总效益大于各部件效益之总和。事实上对于信息系统而言,集成的系所完成的效益是每个分系统单独工作所无法完成的,因而是1+1 2。系统集成非常重要。正像我们前面所述,如果没有系统集成各部件的效益均无法发挥。所以它成了实现系统效益的瓶颈。另外又在于它是系统上的系统,是复杂的系统,关系全局的系统,因而它影响面大。我国现在大多数企业的信息系统没有发挥应有的效益,企业买了各种各样的软件、硬件,可是没有
3、发挥系统的作用,有的只把它当成一个人的打字机使用,这都是因为集成不好所致。8.1.1 系统集成的分类系统集成的分类像其他任何对象的分类一样,由不同的角度可以把系统集成分为不同的类型。按涉及的范围可将系统集成分为技术集成、信息集成、组织和人员集成和形象集成。按照系统优化的程度可将系统集成分为联通集成、共享集成和最优集成。按照具体程度分,可将系统集成分为概念集成、逻辑集成和物理集成。8.1.2 优化程度的系统集成分类优化程度的系统集成分类 按优化程度可将系统集成分为联通集成、共享集成和最优集成。(1)联通集成顾名思义就是首先保证设备能互相联通。这个要求好像是出自网络的要求。尽管微机桌面处理,用户友
4、好的软件以及一些通信设备能很好的工作,但联通的目标仍然是很难实现的。联通性(connectivity)是指计算机和计算机网络设备在无人干涉的情况下相互通信和共享信息的性能。缺乏联通性的情况是很多的:微机经常不能从主干机器或其他品牌的微机取得信息。有些公司有多种系统,彼此不能通信。由于各个国家有各自的通信规范,跨国公司很难建立其全球网络。联通性不只是联网而已,另外的一些性能也应具有。例如应用程序兼容,同样的软件可应用于不同的机器上;移植性,由老一代软件移植到新一代软件上;合作处理,利用主干机、部门机和微型机联网,解决同一个问题;信息兼容,在不同的硬件平台和软件应用程序间共享计算机文件;互用性,软
5、件应用程序应用于不同的硬件平台,而又维护一样的用户界面和功能的能力。所以在一个大的计算机系统中联通性的要求是很多的.,当前的大多数系统均没有运到理想的程度。(2)共享集成是指整个系统的信息能为系统中所有用户所共享。这种要求看起来很容易做到,但实际上是很难的。一般来说这里应当有个共享的数据库,其内容为全组织共享,而且要维护到最新状态。除此之外,所有用户的数据在有必要时,也容易接受其他用户的访问。共享集成还可以包括应用软件的共享,在网络上提供很好的软件,用户容易应用或下载,不必要每台机器均独立安装许多软件等。(3)最优集成是最高水平的集成,理想的集成,这是很难达到的集成。一般只有在新建系统时才能达
6、到。在新建系统时,很好了解系统目标,自顶向下,从全面到局部,进行规划;合理的确定系统的结构,从全局考虑各种设备和软件的购置:达到总经费最省,性能最好。实际上随着时间的推移,环境的改变,原来最优的系统,后来己偏移最优了。在开始设计时它是最优的,建成以后己不是最优了。所以最优系统实际上是相对的。追求最优的努力应该一直继续下去。8.1.3 按涉及范围分类的系统集成按涉及范围分类的系统集成按范围分类,可分为技术集成、信息集成、组织人员集成和形象集成。(1)技术集成主要要达到技术上的联通,解决技术上的问题。如合用性、可取性、响应时间、满足要求的功能,以及容易操作等。(2)信息集成要达到数据共享,要解决数
7、据上的问题,如不正确性、过时、不合适的单位、没有索引、不够合用和难以获得等。(3)组织人员集成是将系统融合于组织中,成为相互依赖不可缺少的部分,要解决人的问题。如系统难用,系统难学,系统总是工作不正常,系统总出错,系统难以预料等。系统难用,对组织来说,如不解决实际问题,不能和组织或人员配合解决问题,不能适应变化等。(4)形象集成说明将信息系统集成于企业形象之中,成为企业的骄傲。形象系统本身就是信息系统,信息系统也要注意自己的形象。往往一个企业信息系统应用很成功,但信息系统给人的形象很不好。如企业的主页没内容或不更新,企业的信息不那么容易得到,企业信息人员给人的形象不好,服务不好等。这些不好的形
8、象将会给客户一种印象,即企业的管理水平不高。从而使客户对企业的产品失去信心。信息系统也要时刻注意自己的形象,使之和企业的形象能在艺术上融合。8.1.4 按照具体程度分类的系统集成按照具体程度分类的系统集成按具体程度可将系统集成分为概念集成、逻辑集成和物理集成。形象地说概念集成是看不见摸不着的;逻辑集成是看得见摸不着的;而物理集成是看得见摸得着的。它们一个比一个更具体,但从重要性来说概念集成是最重要的,是决定一切的。概念集成是最高层抽象思维的集成。一般来说它是定性的艺术的,它确定了解决问题的总体思路。例如有个公司想搞自己的办公自动化,有的说照搬IBM;有的说照搬HP公司,至于到底仿照谁,很难用科
9、学公式证明谁最好。这与该公司的环境关系很大,甚至与非技术环境关系也很大。例如这两家公司关系好,相互信任等。所以构成概念集成的依据是经验和知识,我们可以将这个过程用一个图来做概念上的说明,见图8-1现实问题现实问题的状况的状况返回现实返回现实状况的表状况的表达达逻辑集成逻辑集成概念集成概念集成逻辑表达逻辑表达匹配匹配物理集成物理集成经验与知经验与知识索取识索取规则和公规则和公式式图 8-1 概念集成由图8-1我们可以看出,现实问题总要经过人的表达,根据这种表达提取经验与知识,接着就要进行概念的集成,首先是定性的给出解决问题的思路,有可能的话,给出定量的边界,勾画出系统集成的模型或框架。然后再利用
10、深入的知识,包括规则和公式,将其深化成为逻辑集成模型,利用逻辑集成模型和状况表达比较,以确定集成方案能否很好地解决这个问题,然后再进行物理集成和实现。只有由概念到逻辑,再到物理集成这条路,才能真正做到最优集成。8.1.5 集成策略集成策略集成策略是进行集成的执行途径。往往由于集成策略的不正确,很好的集成思想无法得到实现。什么是集成策略,我们可以举几个例子说明。例如某个信息系统公司向用户推行其系统,其策略可能有以下几种:共同开发 用户介入到起动、开发以及集成各个阶段。服务于用户 用户只介入起动和集成。推向用户 用户介入开发和集成。卖给用户 用户只介入集成。征用用户 用户只介入开发。由此我们可以看
11、出不同策略差别会很大,不同策略将导致不同的结果。我们这里指的集成策略包括三阶段的组合:教育用户、系统装设、应用集成。(1)教育用户是系统集成的最重要的阶段。首先是开发者和用户的沟通。使开发者了解和熟悉用户,让用户了解系统知识和信息技术的潜能。培训过程是思想接近的过程,培训过程是建立概念集成共识的过程,当然培训也包括知识传授的过程。教育方式不同,内容不同,将决定集成策略的成功与否。往往由于这个阶段准备不足而造成以后的夹生饭。(2)系统装设。这是技术集成、信息集成的主要阶段,它不仅要实现联通,而且要实现信息集成。这里既有总体上的问题,也有技术细节问题,即便一个很小的细节,例如汉字系统不兼容,也可能
12、造成系统的巨大缺陷。这里也有许多具体的作法,组成不同的策略。(3)应用集成 这是组织集成、人员集成的主要阶段。通过这阶段做到组织和系统的无缝结合。组织和人员会感到系统使用得心应手,各种功能能得到发展。应用集成一般要规定一些评价指标,通过这些指标可以检验是否达到集成。这种衡量要涉及到系统、用户、环境和问题。要检验些什么呢?例如:系统对企业管理观念的改变,系统对企业运营过程的改变,系统对企业生产率的改善,以及系统本身的一些指标,如响应时间、运行成本的改善等。8.2 CASE开发工具与平台开发工具与平台目前,CASE 工具(Computer Aided Software Engineering,计算
13、机辅助软件工程)已有不少。本节从CASE开发工具的概念出发,介绍开发工具的基本结构、基本功能、分类,典型的开发工具及一个具体的CASE工具。8.2.1 软件开发工具的概念软件开发工具的概念软件开发工具是一个比较新的技术领域。工具是指进行生产劳动时使用的器具,如锯、犁等等,也引伸为用以达到目的的事物,如语言是人们交流思想的工具;从字面上讲,软件工具是帮助人们开发软件的工具。开发软件当然离不开纸和笔,也离不开计算机硬件设备以及操作系统、汇编程序、编译系统等软件。但是,一般不把它们归入软件开发工具的范围。目前,软件开发工具是指在第三代语言基础上,在软件开发各个阶段帮助开发者提高工作质量和效率的一类新
14、型软件。在理解这一概念时,我们强调:它是一种软件;它是继高级程序语言之后,软件技术进一步发展的产物;它的目的是在软件开发过程的不同方面给予人们不同程度的支持和帮助。在软件开发中,开发者所做的工作离硬件越来越远,而离用户越来越近。人们把更多的工作交给计算机去做,使自己解放出来。早期阶段,开发者把用户已经明确表达出来的算法,用机器语言写成一系列的机器指令,交给机器运行。机器指令是难以记忆的、枯燥的“0”、“1”字符串。这样的程序有如天书,读和写都很困难。汇编语言采用英语中有一定意义的单词或单词的缩写代替“0”、“1”字符串,向人类语言靠近了一步,而把汇编指令向机器指令的转换交给机器去完成,汇编语言
15、这个工具减轻了人们开发软件的劳动强度。同时,操作系统的出现,把原来由操作员直接担负的大部分职责,如内存管理、作业管理、处理机管理等等,交给计算机系统管理,进不步改善了人们应用计算机的条件。高级程序设计语言更接近人类习惯的自然语言,它的出现是计算机广泛应用的条件之一。随着计算机在各行各业的广泛应用,处理的问题越来越复杂,软件开发的任务和性质发生了变化。因为高级语言不是人类的自然语言,不仅非专业程序员仍不易掌握,而且大型系统的编程对专业程序员也是繁重的负担。多数应用领域中的用户只能用本行业的方式表达他们的需求,这种表达与可以直接编程的算法还有很大差距。编写程序已经不是软件开发的主要工作,在编程之前
16、,还有大量的工作要做。在大型软件系统的开发中,除需求分析、系统设计、编写程序之外,文档编写以及项目本身的管理也是十分繁重的任务。人们研制了种种开发工具,以期提高工作质量和效率,改变软件生产的手工业方式。8.2.2 软件开发工具的类别软件开发工具的类别可以从不同的角度对软件开发工具进行分类。按支持工作阶段的不同分类可以分为需求分析工具、设计工具、编码工具、测试工具、运行维持工具和项目管理工具。(1)需求分析工具需求分析工具是在系统分析阶段用来严格定义需求规格的工具,能将应用系统的逻辑模型清晰地表达出来。由于系统分析是系统开发过程中最困难的阶段,它的成功与否往往是决定系统成败的关键,因此需求分析工
17、具应包括对分析的结果进行一致性和完整性检查,发现并排除错误的功能。属于系统分析阶段的工具主要包括数据流程图(DFD)绘制与分析工具、图形化的E-R图编辑和数据字典的生成工具、面向对象的模型与分析工具以及快速原型构造工具等。例如美国Logic Works公司的ERwin和BPwin就是基于数据结构设计方法的双向的数据库设计工具,它能进行E-R图的绘制,直接生成各种数据库的关系模式,还能从现有的数据库应用系统生成相应的E-R图。(2)设计工具设计工具是用来进行系统设计的,将设计结果描述出来形成设计说明书,并检查设计说明书中是否有错误,然后找出并排除这些错误。其中属于总体设计的工具主要是系统结构图的
18、设计工具;详细设计的工具主要有HIPO图工具、PDL支持工具、数据库设计工具及图形界面设计工具等。(3)编码工具在程序设计阶段,编码工具可以为程序员提供各种便利的编程作业环境。属于编码阶段的工具主要包括各种正文编辑器、常规的编译程序、链接程序、调试跟踪程序以及一些程序自动生成工具等,目前广泛使用的编程环境是这些工具的集成化环境。在数据库应用开发方面还有支持数据访问标准化的软件工具,比如美国INTERSOLV公司的ODBC(开放数据库互连方案)产品能支持多种异构数据源和各种操作系统,它提供的统一编程接口的开发环境避免了涉及访问和操作众多的DBMS的具体细节,使在某种平台上开发的DBMS应用可方便
19、地移植到其他平台上并支持多达35种不同的数据源。(4)测试工具软件测试历来是软件质量的保证,它是为了发现错误而执行程序的过程。测试工具应能支持整个测试过程,包括测试用例的选择、测试程序与测试数据的生成、测试的执行及测试结果的评价,而目前很多应用系统是client/server(客户/服务器)环境,实际环境中每个client站点的软硬件配置可能不同,而且在运行过程中,服务器都有许多客户机并发访问,因此测试工具功能还应包括并发用户数对性能的影响、服务器数据量对性能的影响、多个客户端应用对相互之间的冲突和死锁及网络配置对应用的影响等。属于测试阶段的工具有静态分析器、动态覆盖率测试器、测试用例生成器、
20、测试报告生成器、测试程序自动生成器及环境模拟器等。在Windows client/server应用领域较出色的产品有美国SQA公司的SQA Suite,其中SQA TeamTest提供客户瑞图形用户界面(GUI)应用的自动化测试手段,SQA client/server用于多用户并发运行情况下的测试。(5)运行维护工具运行维护的目的不仅是要保证系统的正常运行,使系统适应新的变化,更重要的是发现和解决性能障碍。属于软件运行维护阶段的工具主要包括支持逆向工程(reverse-engineering)或再造工程(reengineering)的反汇编程序及反编译程序、方便程序阅读和理解的程序结构分析器、
21、源程序到程序流程图的自动转换工具、文档生成工具及系统日常运行管理和安时监控程序等。(6)项目管理工具软件项目管理贯穿系统开发生命周期的全过程,它包括对项目开发队伍或团体的组织和管理,以及在开发过程中各种标准、规范的实施。具体讲,有项目开发人员和成本估算、项目开发计划、项目资源分配与调度、软件质量保证、版本控制、风险分析及项目状态报告和跟踪等内容。目前支持项目管理的常用工具有PERT图工具、Gantt图工具、软件成本与人员估算建模及测算工具、软件质量分析与评价工具以及项目文档制作工具、报表生成工具等。在这个领域中INTERSOLV公司的产品PVCS就是一套标准的软件开发管理系统,它是一个集成环境
22、,覆盖了开发管理领域的所有重要问题。按集成程度分类可以分为专用工具和集成化工具。专用工具是支持某一工作阶段或某一工作任务的,而集成化工具则是支持软件开发全过程的。目前,多数工具是专用的,真正集成化工具不多。这反映出人们对软件开发工具的研究还处于十分初级的阶段。按与计算机系统的关系分类可以分为依赖于特定的计算机系统的工具与独立于计算机系统的工具。一般来说,设计工具往往是依赖于特定软件的,分析工具与计划工具则往往独立于计算机。例如,ORACALE的代码生成器CASE所生成的代码必然是ORACALE的代码,而计算机系统HP/9000上的4GL生成的代码是在HP/9000上运行的代码。8.2.3 软件
23、开发工具的基本功能与一般结构软件开发工具的基本功能与一般结构软件开发工具的种类繁多。有的工具只是对软件开发过程的某一方面域某一个环节提供支持,有的对软件开发提供比较全面的支持。功能不同,结构当然也不同。我们以具有综合支持能力的工具为背景,讨论它应具备的功能和结构。1基本功能软件开发工具的基本功能可以归纳为以下五个方面:(1)提供描述软件状况及其开发过程的概念模式,协助开发人员认识软件工作的环境与要求、管理软件开发的过程。(2)提供存储和管理有关信息的机制与手段。软件开发过程中涉及众多信息,结构复杂,开发工具要提供方便、有效的处理这些信息的手段和相应的人机界面。(3)帮助使用者编制、生成和修改各
24、种文档。开发过程中大量的文字材料、表格、图形常常使人望而却步,人们企望得到开发工具的帮助。(4)生成代码,即帮助使用者编写程序代码,使用户能在较短时间内半自动地生成所需要的代码段落,进行测试和修改。(5)对历史信息进行跨生命周期的管理,即管理项目运行与版本更新的有关信息,以便于信息与资源的充分利用。完整的、一体化的开发工具应当具备上述功能。现有的多数工具往往只实现了其中的一部分。2一般结构 软件开发工具的一般结构如图8-2所示。总控部分及人机界面、信息库(repository)及其管理、代码生成及文档生成、项目管理及版本管理是构成软件开发工具的四大技术要素。(1)总控部分及人机界面。总控部分及
25、人机界面是使用者和工具之间交流信息的桥梁。一个好的开发工具,不仅能帮助使用者完成具体的开发任务,而且能引导试用者熟悉和掌握科学的开发方法。人机界面的设计应遵循三条原则:第一是面向用户的原则。开发工具的用户主要是系统开发人员,必须充分考虑这些人员的使用要求和工作习惯。第二是保证各部分之间信息的准确传递。无论是由分散的软件工具集成为一体化的工具,还是有计划地统一开发的一体化工具,各部分之间信息的准确传递,都是正常工作的基础。实现信息的准确传递,在于信息的全面分析和统一规划。这与信息库的管理密切相关。第三是保证系统的开放性和灵活性。软件开发过程的复杂性决定了开发工具的多样性和可变性。因此,软件开发工
展开阅读全文