软件开发技术路线

软件开发技术路线,第1张

应用 GIS 系统多种多样,形式各异,但从开发实现的角度考虑,基本上可以概括为三种形式: 独立开发、单纯二次开发、集成二次开发。

独立开发的优点在于无须依赖任何商业 GIS 工具软件,这样一来不仅减少了开发成本,而且同样的算法设计与代码运行可以运用于以后的类似的应用系统开发中,这样可以为许多最终用户节省购买 GIS 工具软件的费用,但进行这种方式的开发一方面要求开发者具有深厚的计算机程序设计功底,另一方面对于大多数开发者来说,能力、时间、财力方面的限制使其开发出来的产卖御颂品很难在功能设计和使用上与商业化 GIS 工具软件相匹敌,而且在购买 GIS 工具软件上省下来的钱可能还抵不上开发者在开发过程中绞尽脑汁所花的代价,因此这种开发方式仅为少数开发者使用。

单纯二次开发由于是借助于 GIS 工具软件提供的宏语言进行的,省时省心,但不管是ArcView 提供的 Avenue,还是 MapInfo 提供的 MapBasic,作为编程语言都只能算是二流的,用它们来开发应用程序仍不尽如人意,效率低下,且在界面设计上相对单一,难于发挥开发者的想象力以及不同 GIS 应用的需要。

集成二次开发既可以充分利用可视化软件开发工具的高效方便的编程功能,又可以充分利用地理信息系统工拆孙具软件完备的空间数据可视化分析处理功能,集二者之所长,不仅能大大提高应用系统的开发效率,而且使用面向对象的可视化软件开发工具开发出来的应用程序具有良好的外观、完善的功能,且可靠性好、便于维护。尤其是使用 COM 技术利用 GIS 功能组件进行集成开发更能表现出这些优势。

综上所述,集成二次开发正成为应用 GIS 系统开发的主流方向。GIS 工具软件一般是有计算机专业技术人员组成的科研集体完成开发的,系统的设计技术较高,而实用 GIS 系统一般是非计算机专业人员开发、用于特定行业或特定地区的软件系统,具有较强的应用专业性或区域性。从某种意义上来讲,GIS 工具和应用 GIS 系统在功能上没有本质的差别,主要体现在通用性和专用性上,既从通用界面到专用界面,从通用模型到专业模型。地理信息系统软件设计技术较高,在应用 GIS 系统开发上重复开发 GIS 技术的基础功能无疑会造成人力和财力的巨大浪费,而且对非计算机专业的技术人员来讲也存在有巨大的难度。在地理信息系统工具上开发应用 GIS 系统无疑是一条捷中郑径,不仅可以节省软件开发的人力、物力、财力,而且也大大缩短了软件开发周期,提高了应用系统的整体水平。

近几年来,GIS 工具得到了快速发展,而且日益成熟,有些软件已经提供了功能强大的二次开发功能,为迅速建立应用 GIS 系统奠定了基础。任何一个地理信息系统应包括如下几方面的内容: 数据输入、数据编辑、数据查询、空间分析模型、信息输出。在 GIS 工具上进行应用 GIS 系统的二次开发主要完成如下几方面的工作: 专业化界面开发,使通用GIS 工具转化为专用 GIS 系统高层次的专业应用模型开发与模型管理,完成特定行业要求的空间模型运算。

本系统软件开发技术路线为:

( 1) 以 Windows 98 为 *** 作系统,以 MapGIS 为 GIS 支撑环境平台。

( 2) 使用 MapGIS 的 API 函数进行二次开发,以 Visual C + + 为开发编译工具,重新开发 C + + 类库,实现系统界面风格上的一致。

( 3) 在系统开发中要充分利用现有的软件开发成果,以缩短系统的开发周期和可行性,严格按照软件开发规范开展工作。

( 4) 引入成熟的算法与源代码。

( 5) 注重软件的测试工作,将软件问题消灭于萌芽之中。

慢慢来,一口吃不成胖子,asp.net网页设计线路、C#.net桌面缺戚毁程序线路,是两个不同的编程技术路线。但它们都要和数据库打交道,不管哪种数据库,至少要会使用一到二个,初期学习数据库重在应用,就是建数据库、合理设计表、写sql语句,存储过程等,后期重在数据库管理,如性能优化,备份恢复等。网页设计,做网站有时是分工做的,有人做美工,使用photoshop制作效果图,使用Flash做些小动画,有人写html页面就是将效果图转化为html代码,不管你是使用table还是div+css,只要美观、兼容性好,客户不在意技术多先进,关键是实现功能,使用简单方便,有人编写程序代码,就是后台代码文件。当然你要是独立完成整个网站,基本上就是要完成上面3种人完成的活。

另外你说的都懂点,这也是现实中存在的,如果你不是老板,老板让你做什么你做什么,客户的需求往往是多样化的,保不准你正在编写桌面程序,突然说一个jsp网站让你改改,你不得不看看伏备linux *** 作系统命令怎么用,即使是只使用cp复制替换个文件,安装个巨无霸oracle查看一个源程序提供的数据库表结构。电脑中病毒了,最后让你重装个系统,交换机坏了,买了个路由器,让你在制作个网线什么的。

最后想说的是自己独立完成项目,程序构架是非常重要的,首先要有这方面的基础,基础的获得最好的方法,就是分析被人写好的项目,看看别人都是怎么设计的,再遇到这类问题自己只管拿来用。事实上想创造一个好的架构太难了,如果有现成仔脊可用的只管用,没人在乎是不是你创造的。在一些行业,确实有一些行业特定的业务知识,当你参与到一个特定行业具体的项目的时候,通过学习行业其它软件,自己在做的时候只要实现已有的功能和本想加入的功能就可以了。单纯学习编写行业软件,没有市场需求,没有整改意见,也就没有持续更新的动力。行业软件除了业务不一样之外,大多是都是相似的。就目前的应用C/S还是主流,大多是MIS系统,但也有些公司开始向B/S转变,将以往的业务平台转到web上运行,要实现像桌面程序那样,哭的还是程序员,大量JavaScript代码,ajax应用足够忙活一阵的。

有一段编程痛苦的经历,其实是自己的一笔财富,当自己写过10万行代码、或50万行代码,再回首以前的经历,很多时候自己是在做着重复劳动。粘贴复制以前的代码。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12312991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存