回眸软件开发语言及开发工具历史,自从有了计算机,软件的开发一直成为一个永恒的话题。 一开始,人们用机器码来直接构建程序,但是机器码的可记忆性实在是不好。后来想到用可记忆的字符串来代表机器码,于是汇编语言出现了。但是汇编语言近乎机器码的编程方式,使它同用机器码来构建程序没有本质上的区别和进步。汇编语言写的程序可维护性和开发效率受到很大制约。 让我们来回顾一下程序开发语言和基于这些语言的开发工具的历史。 1950 之前 原始的程序设计语言。 1955 FORTRAN语言诞生,用作数学运算。 1959 McCarthy发明LISP语言。 1960 COBOL语言出现。 1964 Kemeny和Kurtz发明BASIC语言。 1971 Wirth教授发明Pascal语言,主要用于教育。 1972 丹尼斯.里奇奠定C语言。 1983 Bjarne Stroustrup创造C++语言,流行至今。 1983 大师Hejlsberg开发出RAD工具Turbo Pascal。 1985 Borland推出Paradox。 1986 ANSI SQL 版布。 1987 Larry Wall发明Perl。 1988 John Ousterhout发明Tcl脚本语言。 1989 Borland推出面向对象的Turbo Pascal。 1991 Guido.van.Rossum创造Python语言。 1995 Borland推出Delphi。 1995 Sun微系统公司推出Java。 1997 PHP出现,至今广泛用在Web应用的开发上。 2000 微软推出C#语言。 2001 Borland推出Linux平台开发工具KYLIX。 具有革命意义的是高级语言和基于高级语言的开发工具的诞生,它们把软件构建的易理解性和开发效率提升到了前所未有的高度,其带来的生产力是显而易见的。新技术和新开发工具的推出和不断发展,使软件开发大大地简化。 但是用这些程序设计语言或开发工具构建软件无一例外需要做大量的开发工作,比如我们开发一个人力资源管理系统,我们需要写大量的代码。用这些开发工具构建的系统的发布、维护,扩展,升级等等也相当麻烦。 我们试想一下人力资源管理系统的构建是否可以如下:我们告诉它数据源,该怎么处理,然后怎样呈现。总之只要把一个系统的构建描述清楚就行,而不用过多的设计实现细节。然后这个系统不管在常规模式还是在Web上都可运行。 新一代应用系统开发平台应该是这样的,而且是智能的。开发一个人力资源管理系统,我们只要告诉这个平台数据的输入是什么、输出是什么,数据又是如何处理的。如果有些个性化的需要,比如界面风格等等,完全可以采用模板来套用。 DataStudio正是这样一款软件。DataStudio是Syberview公司推出的一款面向企业级的数据库应用系统快速构建和部署平台。用DataStudio可以快速构建企业级MIS,ERP,CRM,HR和各种行业软件并自动生成基于Web的应用。DataStudio支持业界所有类型的数据库系统,并在Web应用的快速构建部署、前端展现、报表、图表、分析挖掘、监视、服务、数据库表及内容的编辑维护和导入导出、计划任务等方面有很强大的支持。DataStudio不同与一般的软件开发工具,具有强大的生产力,能用最简单的方法开发出复杂而功能强大的应用,非常适合在各行各业中使用。 1、软件开发平台的演变 从编程之初,便免不了和方法,类,接口之类的东西打交道。久而久之,自然会对此进行总结,由此而产生了开发平台。而今中国的程序员之中,有很大一部分都是编一些企业MIS、政府MIS之类的程序。其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已。软件开发平台有两种平台模式:一种是传统的C/S架构模式,一种是现在流行的B/S架构模式。B/S架构模式是随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式。这便激发了软件开发者的创造力,形成了软件开发平台的B/S架构模式(web开发平台)。对于web开发平台,我的个人理解是: 1.以web2.0为基础,基于互联网的B/S架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。 2.用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA等等的开发。web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。 3.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。 使用web开发平台的目的是为了实现资源共享、节约开发成本、提高开发效率、缩短开发周期。而如今的开发平台大都采用非编码的方式或者是极少编码的方式,这样正好达到了目的。有的甚至可以减少80%的代码量,可见效率会提高多少。 二 以UML为基础讲述软件平台在现实中的作用 1在需求分析中的作用 UML概述 统一建模语言 (UML)是非专利的第三代建模和规约语言。 UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。UML可以贯穿软件开发周期中的每一个阶段。被OMG采纳作为业界的标准。UML最适于数据建模,业务建模,对象建模,组件建模。UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。IBM的RatiONal Rose和MS的Visio都是UML工具。 面向对象技术和UML的发展过程可用图形来表示,标准建模语言的出现是其重要成果。在美国,截止1996年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。1996年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。1997年11月17日,OMG采纳UML 1.1作为基于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向,具有巨大的市场前景,也具有重大的经济价值和国防价值。UML是一个标准的图形表示法,它不是面向对象的分析和设计,也不是一种方法,它仅仅是一组符号而已。 3 基于UML的信息系统需求分析模型 针对上述常用需求分析方法存在的不足,UML作为一种强大的图形化建模语言,是理想的需求描述和建模分析工具,它对信息系统的大规模、复杂、不断变化的用户需求有很强的控制力,为解决人员交流和通信障碍提供了有力的工具[8]. 基于UML的信息系统需求分析模型,不从用例开始进行需求分析,而从业务流程分析开始,从静态和动态两个方面对系统的需求建模,该模型如图1所示。 (1)相关人员培训:该模型涉及三类人员:领域专家、用户代表、需求分析员。通常情况下,领域专家和用户代表缺少计算机方面的知识,不精通需求分析及建模技术;需求分析员又缺少用户的业务知识,不熟悉其业务流程,因此,在需求分析前,对领域专家和用户代表进行UML知识的培训,使其了解各种视图的含义;对需求分析员进行业务知识的培训,使其对该领域中的一些基本知识和常用术语等有所了解[9]. (2)初始需求的捕获:通过调研和建立联合分析小组等方式,了解用户的业务流程,进而获取用户对系统的最初需求,并用UML活动图对以用户业务流程为核心的初始用户需求进行描述[10]. (3)用例模型的创建:分析步骤(2)所得活动图中每个活动的参与者,找出该活动中与之相对应的动作,二者形成一个用例。通过确定系统边界和分析活动的转移,删除多余的用例,合并相同的用例,填补遗漏的用例;采用活动图的泳道技术对用例进行集成,形成一个完整的用例模型。 (4)动态模型、静态模型的创建:分析步骤(2)所得活动图中每个活动所涉及到的对象及对象之间的关系,根据活动的改变而引起对象状态的变化和对象的交互,创建相应的对象图、状态图和交互图(顺序图、协作图);应用顺序图对步骤(2)所得活动图中的每个活动进行分析,发掘新的需求,完善描述初始用户需求的活动图;通过顺序图对步骤(3)所得用例模型中的每个用例进行处理,创建相应的类图。 4 基于UML的信息系统需求分析模型的应用 基于UML的信息系统需求分析模型对MIS系统的开发具有较好的适应性,结合具体实践,本节以运动会信息管理系统的开发为例,说明该模型在MIS系统开发中的应用[11]. (1)捕获初始需求:通过大量调研,给出该系统的初始需求描述:运动会信息管理系统要实现运动员报名、各类人数统计、竞赛日程设定、初秩序册生成、检录和成绩处理、新秩序册生成、团体分统计、破纪录人数统计等功能。该系统的活动图模型如图2所示。 (2)创建用例模型:通过对图2中每个活动的参与者的分析,所获得运动会信息管理系统的完整用例模型如图3所示。 3)创建动态模型、静态模型:通过对图2中"比赛成绩处理"活动所涉及到的对象、对象之间的关系分析,获取的比赛成绩处理顺序图如图4所示,其他活动顺序图的获取与此类似。 基于UML的需求分析模型以简单的图形建模语言UML为基础,为人员交流提供了统一的平台,消除了语言理解分歧;该模型涵盖了领域知识学习、建模方法培训、系统需求分析构造等环节,并从实施的角度考虑了角色构成及其职责分配,使各类人员能够更好地交流与合作,为得到完善的需求分析打下了坚实的基础。通过MIS的开发实践表明,该模型不但能缩短软件开发的周期,而且减少了软件开发的风险,有效提高了开发软件的质量。 2在软件设计中的作用 UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。 活动图 一、UML活动图: ◆流程图常被用来建立算法模型 ◆UML活动图与流程图类似,不同在于它支持并行活动. ◆缺点:不能清楚的表示 二、作用: 1、描述一个操作的执行过程中所完成的工作或者动作 2、描述对象内部的工作 3、描述用例的执行 4、处理多线程 5、显示如何执行一组相关的动作,以及这些动作如何影响周围对象 图1.第一次入学的UML活动图 类图 类图一般在详细设计过程中出现,主要用来描述系统中各个模块中类之间的关系,包括类或者类与接口的继承关系,类之间的依赖、聚合等关系。 它还描述每一个类的详细信息,包括变量,和方法。 通过类图,就能实际的把系统中的各个类,即对象描述清楚,下一步就是按照这个详细的设计编码了。 如果,你把软件当作房子,那么类图就是最后的施工图了。 这是一个选课系统的简单领域分析UML类图。可以看到,主要实体有教师、学生、课程和开课安排。每个实体标注了其在业务上具有的属性和方法。而且图中还标明了实体间的关系。 顺序图 和合作图、活动图一样,UML顺序图( Rumbaugh、Jacobson、和booch, 1999)是一种动态建模方法。 UML顺序图一般用于:确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分,或是一条备选线路;一个贯穿单个用例的完整流程,例如动作基本过程的逻辑描述,或是动作的基本过程的一部分再加上一个或多个的备用情境的逻辑描述。或是包含在几个用例中的流程, 此图为在线定单付款 协作图 协作图是在一种给定语境中描述协作中各个对象间的组织交互关系的空间组织结构的图形化方式,从定义中可以分析它的作用为:对象间消息的传递来反映具体的使用语境的逻辑表达,一个使用情境的逻辑可能是一个用例的一部分或是一条控制流;它的交互关联显示对象交互的空间组织结构,显示一种对象间的关系,而不注重顺序;表现一个类的操作实现,协作图中可以说明类操作中使用的参数,变量,返回值。当表现一个系统的行为时,消息编号对应了程序中嵌套调用的结构和信号传递过程。 序列图常用来表示方案,协作图用于过程的详细设计。 三在软件项目布置中的作用. 用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。 部署图项目示例(Deployment Diagram Example 分析: 1、Web Server服务器 一台Web服务器预装4个操作系统及其之上的4个IIS,由于客户访问量大,3个用来部署B2C Web, 1个用来部署B2BB2E Web. 2、Web访问量分流设备 根据网站流量,自动定位客户访问流量小的服务器。 3、FTP Server And Session Server服务器 网站所有的图片都统一上传到FTP服务器上,同时B2CWeb下的Session统一转移到此服务器上。 4、DB Server服务器 数据库服务器 5、App Server服务器 定时执行排程(控制台程序)的服务器,用于與倉庫系統交互。 6、FrieWall防火墙 所有对服务器的操作通过防火墙过滤。 7、User Client 用户个人PC,预装有浏览器。 3. 总结 软件开发平台是一种软件开发工具,以通用技术架构为基础,集成常用建模 工具、二次开发包、基础解决方案等而成。软件开发工具是很方便地把一种编程 语言代码化并编译执行的工具。现在的软件开发工具逐渐显出智能化、网络化、 一体化、标准化的趋势。对于很多企业来说,软件开发平台只被定义为信息化工 具,但成功进行过企业信息化建设的 CIO 们会对软件开发平台有着更为正确的 理解,那就是软件开发平台不仅是信息化工具,更是管理思想的沉淀。 随着在企业中发挥出的作用被逐步肯定, 目前软件开发平台在国内信息化领 域也占据着越来越重要的位置, 其应用已经成为一种趋势。 相对于传统开发模式, 许多软件开发平台具有很多显著优势,包括优化产品基础架构,提升软件开发质 量;减少编码率,提高开发效率,提升开发的灵活性;可以充分关注客户需求, 实现按需定制;实现配置组件的标准化,提升产品稳定性和兼容性;提升企业开 发能力, 降低后期维护的时间和成本等, 可以使开发者有更多时间关注客户需求, 在项目的需求、设计、开发、测试、部署、维护等各个阶段均可提供强大的支持。 这些都使得,软件开发平台在企业眼中成为非常给力的信息化工具。 软件开发特别是大型软件是一项浩大的工程,需要几个人、十几个人、几十 个人甚至几百个人合作开发几个月、十几个月甚至几年。要保证系统的协调性、 统一性和连续性,就需要在开发之前制定严格、详细的开发规范。开发规范的制 定需要花费一定的时间和精力,但是"磨刀不误砍柴功",它相当于把今后开发过程 中开发人员都要遇到的问题提前做了一个考虑。有了开发规范,在后续的开发过 程中,设计人员就不必每次考虑如何为一个字段命名,编程人员也不必去想某个程 序的结构和布局应当 怎样,测试人员也有了判断程序对错的标准。开发规范在项 目开发工作中起着事前约定的作用,需要所有开发人员共同遵守。它约束开发人 员的行为和设计、编程风格,使不同子系统和模块的设计、编程人员达成默契,以 便形成整个系统的和谐步调和统一风格,也便于今后的系统维护和扩展工作。 通过这学期的学习,使我们对软件开发平台与工具有了更深入的了解。小组 分工式的作业给我们提供了很好的交流学习氛围,让大家能够在交流中学习,在 学习中互相了解。但由于自己的水平和经验不足,还存在着一定的问题。还要继 续努力,争取获得更大成绩。
信息发布:广州名易软件有限公司 http://www.myidp.net
|