----我感觉马上自己像是做一个毕业设计。因为有个小项目从需求谈判到维护,我将一条龙服务。有人开玩笑,说,你现在是做什么啊,项目经理吗?真好笑,哈哈,我从实习到现在才工作5个月不到。
     今天在用rose写需求规格说明时,有件事很触动自己。我做的是x库管理系统,对于x的修改和删除,这个数据表如何设计。我当初想,在x主表中加入状态位,从待提交,已审核,发布状态,修改申请,已修改。还有一种方法,建一张和修改有关的表,包括申请人,时间,批准状态,等字段。我觉得第一种简单。比较好,就像是数学题中的简便方法。但是又一想,如果有多个人同时提出修改申请呢?但是,会不会多个人同时提出修改呢?客户允许多个人同时提出申请吗?
    我又联想到之前维护的一个y系统的状况,许多东西,用户的需求是不断改变的。而这种改变的结果往往会引起数据库实体层次的改变。我一方面抱怨用户为什么自己的需求当初不一下子想好,又一方面抱怨开发这个系统的人,让维护的人带来这么大的不便。
    经过了数月的总结,我得出这么些结论:首先,马克思的一切事物都是在发展的,也适用于客户的需求,因为客户的需求本身来源于客户自身的发展,遇到的实际问题的变化,思想的转变,而且同一个项目的客户群在时间轴上是一个变量。所以,不能怪客户!
   那应该怪谁呢?
   怪没有经验!怪没有长远的考虑!更怪设计软件的出发点不对!
   我今天觉得,当然我不知道大师级人物是不是也这么觉得,或者自己以后是不是这么觉得,设计软件不是做数学题!数学题的求解追求高度精湛的思路,高度简便的求解过程!高度准确的结果!而软件设计呢?没有最好,只有更好。特别是针对变化的需求,怎么设计?正确的出发点,应该是从长远的角度去思考应该如何设计。比如,就像刚才提到的,到底允许一个人提出申请还是同时可以多个人?答案是,两个都有可能,那么哪一种设计能同时满足两种需求呢?显然是第二种,虽然刚开始我觉得它不简便,还要新建张表,但是,万一现在是一个人申请,以后变成多个人申请了,那改法会打击你的自信心的!

我也突然想到一句话,以不变应万变。这句话的执行,需要一个人具有长远的思考方式,而有多长远呢?长到哪一年呢?这个说不准,越长越好把,所以,这就是软件设计没有最好,只有更好的原因之一!面对变化的因素,应该首先进行每一个因素的分析,再考虑每一个因素的对策,最后再试图合并这些对策,达到一个容量最大的对策并集!当然,说不准这个牵涉到运筹学了,或者更高深的数学。

所以,我有突然想到,牛顿风光了几百年,并且在高中以前我认为他是绝对的权威。但是高中认识了爱因斯坦,觉得他又是神了。其实,他的相对论肯定不是正确的!肯定要被未来更为正确的理论所替代!

这,也就是马克思所说的,绝对性和相对性的统一。

转载于:https://www.cnblogs.com/foreverlove/archive/2009/08/24/1553077.html

从人生,从马克思主义哲学角度对于软件设计的思考20090824相关推荐

  1. 微信的软件设计使用思考

    微信进入后的主界面采用的是竖排列表的主操作界面,个人感觉这样的一个操作界面最系统的信息组织的可扩展性相对而言比较弱了,包括新浪微博的android客户端也是,基本就是一个粗制滥造的android客户端 ...

  2. 从软件哲学角度谈 Amazon SageMaker(第二讲)

    概览 上一讲我们从:天下没有免费的午餐--权衡之道.简单之美--大道至简.没有规矩不成方圆--循规蹈矩三个软件哲学的角度带大家了解亚马逊云科技的拳头级产品 Amazon SageMaker.这一讲,我 ...

  3. 哲学思想对软件开发的启示

    一 关于软件的实质   什么是软件?它从哪里来,它有生命吗? 当我在想到这个问题的时候,就像是哲学中要解决的一个根本问题,我们来自哪里,我们是什么,人生的意义又是什么?也就是冯友兰先生在<中国哲 ...

  4. 从哲学角度理解面向对象的思想

    "双语播放器"已在app store上架,欢迎大家前去下载(主要用于看电影,学英语,程序员一定要学好英语!) 这里是链接: https://itunes.apple.com/cn/ ...

  5. 对于c++面向对象的深刻认识和理解--哲学角度看问题(源生论)

    对象论认为:数据和逻辑不是分离的,而是相互依存的.相关的数据和逻辑形成个体,这些个体叫做对象(Object),世界就是由一个个对象组成的.对象具有相对独立性,对外提供一定的服务.所谓世界的演进,是在某 ...

  6. 马克思主义哲学(一):物质

    马克思主义哲学之"物质" 1.物质及其存在的形态: 物质的组成:可见物质(实物)与不可见物质(社会.关系等). 物质存在形式: 时间与空间是空间的存在形式. 物质根本属性: 运动- ...

  7. 马克思主义哲学(哲学概论)

    哲学概论 哲学与世界观 哲学:哲学是理论化,系统化的世界观,又是方法论 世界观:人们对于生活于其中的世界以及与世界关系的根本观点,根本看法 方法论:是人们认识世界,改造世界的一般方法,是人们用什么样的 ...

  8. 《关于费尔巴哈的提纲》 马克思主义哲学中人的本质

    人的本质是什么? 马克思说:"人的本质不是单个人所固有的抽象物,在其现实性上,它是一切社会关系的总和." --<关于费尔巴哈的提纲>(见下文) 这就是说,人的本质不是与 ...

  9. php获取肖前时间,马克思主义哲学原理(上下册)

    前言 上册 第一章哲学是时代精神的精华 第一节哲学及其社会功能 第二节哲学的基本问题 第三节哲学的历史发展 第二章马克思主义哲学是无产阶级的科学的世界观 第一节马克思主义哲学是人类历史发展和哲学发展的 ...

最新文章

  1. ASP.net本地调试时正常,发布时错误的几个问题解析
  2. Runtime-消息发送和消息转发
  3. 11kw星三角启动延时几秒_电机星三角降压启动原理图
  4. NOIP2017 列队——动态开点线段树
  5. Linux安装中遇到如下错误提示:"cannot find appropriate C++ compiler on this system"
  6. 生成模型VS判别模型
  7. 清华学霸尹成Python爬虫视频 [MP4] (33.96G)
  8. python中怎么用format居中_python中format函数
  9. 年薪60w的程序员与年薪6w的极品程序员,差距怎么这么大呢?
  10. 程序流程图、N-S图、PAD图
  11. nexus 仓库类型_Nexus仓库搭建及配置详解
  12. 通用的综合大数据数据可视化展示html页面源码
  13. 系统架构师(一)选择题
  14. maven的wagon-maven-plugin插件详解
  15. SpringBoot中: Incorrect result size: expected 1, actual 0以及column xxxx not found解决
  16. SAS中的informat和input
  17. JavaSDK上传文件到阿里云对象存储oss
  18. 【懒人系列】快手获取当前播放视频时长
  19. 以小见大——那些基于 protobuf 的五花八门的 RPC(1)
  20. 运维开发标准化文档的四项基本原则

热门文章

  1. Java经典逻辑编程题(不死神兔问题)
  2. CAS的核心类--unsafe类
  3. Scala定义函数的5种方式
  4. 在Eclipse中显示.project和.classpath和.setting目录
  5. Windows10 编译 Open3D 时出现 error C2220: 以下警告被视为错误 (编译源文件
  6. stateflow错误:Error in port widths or dimensions.
  7. 函数调用的参数太少c语言,调用input_message的参数太少在主函数中 是神马意思 大神们帮帮我...
  8. uml活动图 各个功能的操作流程和分支_UML学习系列教程08------九大基本图05---活动图(Activity Diagram)(重点理解和流程图的区别)...
  9. npoi 所有列调整为一页_必能用到,一页PPT中想放超多图片怎么办?
  10. 华大 MCU 之一 HC32F460 替换 STM32F411 移植记录