OA架构设计之启示

原创 2004年09月09日 22:34:00

最近帮公司开发OA系统,由于是项目经理,所以参与了系统的架构设计。偶有感想,便付于纸面。

有何不妥之处还望各位指点。

第一:需求分析一定要仔细,越明确用户的需要越可能较好的把握架构的设计,因为需求确定软件架构。

第二:要从用户角度考虑各种与软件和软件架构有关的因素,这些因素是:

 1)架构的简单性,这和设计机器设备时要保证结构简单(从而可以使用户简单维护,用户不懂机器设计!!)的原理是一致的。但是这也带来了简单复杂性,为何?打个比方:现代的pc体积很小,但结构上和第一台计算机大致一致,然而现在一般人都可以使用PC,而第一台计算机却要专业不能再专业的人使用。之所以现在人们可以轻松使用PC,是因为交互界面和硬件维护简单了。软件的架构也是这个道理,虽然看起来我们把它设计很简单,很容易维护,但开发人员不知道要为它多封装几层的功能代码!对用户而言简单了,对开发人员复杂了,但软件最终是给用户使用的,所以简单就是真理。这就是所谓的“有得必有失吧”。

 2)适度性:有的开发人员愿意搞“完美主义”,什么都要最全最好,但是用户只需要那么点功能,而且用户只给你那么多时间和资源。然而有些开发人员将时间和金钱用在了用户不需要的功能上(国内的开发人员容易这样作),带来了项目的进度和成本的风险。很不划算!所以设计架构时我注意了必要的功能我一定集中精力设计,对于没有必要的我会考虑舍去。

 3)适应性:用户的业务总在变化,所以要使用灵活的架构!设计模式将是一个较好的解决方法。

 4)高内聚低耦合:这是老声长谈的问题,然而又有多少人做的好哪?

5)开发不能一步到位:人的思维模式总是从简单到复杂,然而有有些开发人员喜欢一步到位,上来就编代码!这样很会造成后期不断修改的结果,所以软件开发要从简单到复杂,不求一步到位。

 6)要善用辅助工具:有的开发人员认为软件重用就是开发一个组件就可以了,但是方法重用哪?很多好的软件设计、开发方法被集成在如CASE,代码生成等工具中,然而很多开发人员不用,他们喜欢从零开始,但是我们开发软件目的是显示我们技术高超还是为用户及时地高质量的提供可用的软件?善用工具的人必定是善于理解用户需求的人。软件开发的目的性决定了开发人员应当有何行为,而非技术。

OA系统的最终目的就是使用户能够在一个平台上进行日常办公的所有工作,利用系统的快速和便捷来高效地完成工作,从而节省大量宝贵时间,如果不能完成这一功能就是个失败品。要做成一个成功的产品既难也容易。难的是如果不能很好理解客户的真正需求和办公中的详细业务流程,不但开发过程要及其缓慢,而且作出来的产品也不会被用户接收,容易的是只要与客户进行充分彻底地沟通就可以完全理解客户的详细需求,通过详细地分析设计就可以做成一个很好的产品,毕竟做OA系统不像开发系统工具那样困难。
以前只知道需求分析阶段与客户沟通的重要,其实在整个软件开发过程中无时不刻要考虑到用户,系统的分析,架构的设计以及编码、测试都要想到客户,从客户角度审视自己的工作,随时与客户保持联系。否则任何一个环节的失误都会导致系统的失败。希望能够看到后面具体的架构设计方法方面的内容。

纪念2015年大股灾:股票和分级基金呈现的一些哲理启示

之前遇到过一个很科普但是非常励志的简单计算表达式: A股是个调皮而冲动的市场,2015年的高低起伏涨停跌停那是连绵不断,注意一个连续跌停需要的连续涨停数量对比; 这个公式告诉我们:持续的堕落,需要...
  • evandeng2009
  • evandeng2009
  • 2015年08月27日 11:07
  • 935

全网寻人接口的简单使用(GUI)

利用百度全网寻人这个平台的接口,练习一下如何解析收到的xml数据包 使用开源的dom4j对收到的xml数据包进行遍历 说句题外话,在解析过程中发现结果中的寻人信息中有些脑残在利用这个平台发布虚假的...
  • yukjin
  • yukjin
  • 2013年04月24日 02:29
  • 1148

OA系统高性能解决方案(史上最全的通达OA系统优化方案)

序:     作为OA的管理员,你是否每天忙的不可开交、访问量大的时候程序无故停止响应,当你正专注于一件很重要的事情,领导咆哮系统怎么挂了?经常被人投诉说系统为什么这么慢?     难道你还...
  • reblue520
  • reblue520
  • 2015年11月24日 09:57
  • 4514

OA项目的计划和开发和开发流程

OA项目的计划和开发和开发流程 1 建立界面原型 center.jsp main.jsp left.jsp …. 2 建立相关文件文件 定义包名:com.oa.(model(模型层...
  • zhaoming262350
  • zhaoming262350
  • 2015年05月30日 20:23
  • 2399

通达OA 通达服务器遇到在线200人速度变慢瓶颈的简要分析

今天,通达OA技术交流群里一位朋友提出他们的服务器当人数达到200时,速度会变慢的问题。经过群里大家的讨论得出一些相关分析方法及经验,这里记录一下以便后续继续深入探讨研究。OA版本:2010硬件配置:...
  • upi2u
  • upi2u
  • 2015年04月01日 19:52
  • 2682

OA项目实战(一) 概述

从本篇博文开始,我为大家简单介绍一下办公自动化(Office Automation,简称OA)。...
  • zs15932616453
  • zs15932616453
  • 2013年09月03日 07:45
  • 3612

【java】——OA初了解

小编提笔总结的时候,却越发的让小编兴奋,因为看似是在写OA初了解,其实是在总结针对于一个OA项目是什么?做什么?怎么做?这些方面展开进行宏观概述以及微观剖析的过程;希望能和读者朋友携手向全栈工程师迈进...
  • u013030601
  • u013030601
  • 2016年11月05日 09:56
  • 660

OA的学习--第一篇--学习之后的感想

感想     到现在为止,我已经看完了汤阳光的OA视频,现在是觉得总结太重要了,不总结,我实在安不下心继续往下学习,我怕欠的账太多,到时不知该从哪头还起.所以觉得需要对OA进行总结性的学习.     ...
  • liuyanlinglanq
  • liuyanlinglanq
  • 2015年03月14日 10:39
  • 1657

从"OA系统"开发设计看软件工程中的几张模型图

点击这里查看更多设计文档及OA系统核心模块源代码系统功能模型顶层数据流图 0层数据流图 1层数据流图 2层数据流图 加工2.1的分解 加工2.2的分解 加工2.3的分解 加工2.4的分解...
  • lxf_44944
  • lxf_44944
  • 2015年02月15日 20:03
  • 2471

Nginx反向代理研究,通达OA服务器反向代理

通过有一个NGinx服务器代理通达OA的服务器,同一个端口可以附带很多个应用程序: listen 8000; server_name localhost; #location ...
  • hai7425
  • hai7425
  • 2016年09月08日 13:53
  • 406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OA架构设计之启示
举报原因:
原因补充:

(最多只允许输入30个字)