zoukankan      html  css  js  c++  java
  • 关于软件架构的若干问题尝试解答1 GIS


    时光似水,又是一年呼呼而过,在软件行业转眼又度过了一年。针对以上的问题又多了一些感悟。现把个人的一些见解尝试说明如下,不足之处,请多指教。
    1、答:
    1)软件架构设计:它就是一个架构师来决定采用什么样的物理架构,技术架构来针对一个业务项目或者是平台的项目的一个解决策略。比如说针对一个国土项目我会采用B/S技术和C/S技术相

    结合的解决方案,然后采用oracle数据库作为存储端,B/S技术方面我会采用.net+arcgisserver技术平台来构建,C/S端会采用AE技术+CAD技术。然后这些系统之间的接口通讯采用WCF技术。

    技术问题解决了之后我会考虑怎样搭建系统,也就是划分功能模块。这样一个系统的雏形就搞出来了,剩下的事情便是如何针对具体功能来实现代码了。
    2)包含内容:技术选型(数据库,系统方式(B/S还是C/S)),接口通讯,模块划分。
    3)保证效果:也就是我设计出来的东西别人能理解,1)书写文档:将其在概要设计说明书中体现出来(具体还没思考过)。
    4)架构的设计会直接影响到整个的项目,而往往一个好的项目的架构设计一开始定下来的方案是比较大的,最好不改,那么在设计时应该尽量的耦合性性小一些。
    2、答:
    1)设计模式更多的是深入到类和接口的一个级别,应该属于详细设计上吧,这个确实不知。
    3、答:
    1)通过一些通讯方式,比如说WCF,webservice或者是socket接口等。
    2)B/S基于internet,C/S属于局域网,两者之间在通讯协议上不一样,而且B/S需要建立网站服务器,C/S需要数据服务器,客户端直接访问数据服务器就成。而B/S则需要向网站服务器提出请

    求,由服务器去访问数据服务器中的数据。
    3)例如说国土、管网的系统之中的业务肯定有一些想关联的地方,比如说使用相同的地形图,那就需要获得相同的arcgis server服务。这个需要考虑设立公共的地图服务。
    4)架构设计我觉得应该尽量的稳定而且扩展性强,但是粒度要粗一些。
    4、答:
    1)一种架构设计是对应着一个平台或者是系统的,这两者之间当然可以通用,是在划分模块上系统,而语言实现上有所不同。
    5、答:
    如何成为一个软件架构师,我觉得这要从你是否能够承担起以上的一些任务来说,你要知道如何的选取技术(包括数据库技术等),划分模块,如何的实现接口等。只要技术达到了就说明你

    已经准备好了。然后就去寻找一份那样的工作。
    6、答:
    gis系统的软件架构,其实就是可以把地图这样一种展示技术,融入到一个管理系统当中,相当于一个独立的插件。而GIS数据的准确性以及GIS功能的实用性是设计系统时需要考虑的内容。
    7、答:
    要去了解业务,熟悉业务,从代码的功能实现上走出来,尽量去了解一些技术的长处和短处,学会选型。尽量多交流。每天的工作就是熟悉业务、分析框架、设计框架以及实现框架(这一点

    要落实的计划上来)。
    8、WCF我觉得就是webservice的升级,它可以帮助系统间实现有效的交互,当然j2ee中也有这样的东西,至于交互的形式也就是通过提供者发布一个这样的服务,类似于公布了方法(当然这

    里面需要做一些设置),而使用者只要获得这个服务,调用方法就可以了。

  • 相关阅读:
    C# 深浅复制 MemberwiseClone
    负载均衡算法,轮询方式
    大话设计模式之工厂模式 C#
    大话设计模式:代理模式 C#
    C# 单元测试
    【前端安全】JavaScript防http劫持与XSS
    神秘的 shadow-dom 浅析
    【CSS进阶】伪元素的妙用2
    【CSS进阶】CSS 颜色体系详解
    【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧
  • 原文地址:https://www.cnblogs.com/zhouyunqing/p/2716107.html
Copyright © 2011-2022 走看看