约公元前25年,古罗马建筑师维特鲁威说:"理想的建筑师应该既是文学家又是数字家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算。"(好难哪,软件构架设计师的要求呢?大家好好想想吧。
posted @ 2011-10-30 13:01 就是喜欢 阅读(15) 评论(0) 编辑
|
约公元前25年,古罗马建筑师维特鲁威说:"理想的建筑师应该既是文学家又是数字家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算。"(好难哪,软件构架设计师的要求呢?大家好好想想吧。 posted @ 2011-10-30 13:01 就是喜欢 阅读(15) 评论(0) 编辑 人与人之间最难得是合作,组件与组件之间最难得时协作。“合为贵" posted @ 2011-10-30 10:01 就是喜欢 阅读(8) 评论(0) 编辑 用户提出的需求与用户理想系统之间的鸿沟需要逻辑模型来填平。逻辑模型包括领域知识、企业情况、数据情况等等等等 。 用户提出的需求是片段的,不系统的,逻辑上不完备的,需要领域专家以这些需求为基础进行开发,开发的最重要的内容就是建立系统的逻辑模型。先建立旧系统的逻辑模型,即使旧系统中并不包含计算机等现代的信息处理工具,但只要有人的活动就有信息的流动,纸和笔就也能构建起复杂的信息系统。 逻辑模型是表述信息系统复杂概念结构的有力工具。写需求分析与写小说一样的是创作的过程,用户需求可能是一个个的灵感,但要把故事编圆满了就需要需求分析了。 posted @ 2011-10-21 06:25 就是喜欢 阅读(18) 评论(0) 编辑
文/陈皓 还记得以前本站的那一篇“编程好难啊”吗,那是一篇众程序员调侃程序新手的文章,有恶搞的成分在里面。今天要和大家说的这个事没有一些恶搞和调侃的意思,是比较严肃的话题,你一定可以从中收获一些东西。这个话题来自StackOverflow上的一个问题——Cycle in Family Tree Software,这个程序员问了下面这个问题:
看到这里,请重点阅读一下下面的两点:
我在前面说过,“这个是一个严肃的话题,你可以从中收获一些东西”,当然,我并不希望你来收获乱伦的知识和心得,酷壳是一个技术博客,应该是收获技术方面的东西。 从技术的角度上来说,这是我们经常在设计软件时犯的错误—— 1)作了错误的假设(Assumption) Assumption是软件设计的重大天敌,Assumption的动词Assume意为Ass u me – Ass you and me 。你的假设做得越多,你的设计就越不靠谱。这里的假设是——我们以为family tree是一个tree,其实并不是tree。Assumption是魔鬼。 还有一些经典的Assumption如下所示
2)没有认真分析用户案例(Use Case) 在设计软件时,我们需要考虑各种各样的用户案例,比如如下的东西:
不想再列下去了,人类真TMD恶心,有点要吐了。 ——————为了缓解一下恶心的气氛,请允许我插入一个搞笑短文——————
看完上面这个短文,不知道你是否和我一样,觉得这么一个简单的程序将是如此难做啊。另外,我决定在下一次的面试中让应聘者来设计Family Tree的程序。 我又说多了,现在还是让我们回到技术上来。除了上面那几个观点,我在回复中还看到了如入一些有意思的回复:
挺好的,相信你对软件开发又学到了一些东西。 posted @ 2011-06-11 09:41 就是喜欢 阅读(30) 评论(0) 编辑 让管理靠边站!
他们希望被人领导。 你可曾听说过“世界管理者”这样的说法? “世界领导人”,这才像话。 政治领导人, 宗教领导人, 商业领导人, 。。。。。。 他们都是在领导, 他们不是在管理。 胡萝卜永远比大棒有效。 不信就拿你的马儿试一试。 你可以“领”着他走到水边, 却无法“管”着让他去喝水。 如果你想管人, 那就管管你自己。 把自己管好, 你就愿意停止进行管理了。 然后你就会走上领导之路了。 posted @ 2011-05-16 18:27 就是喜欢 阅读(8) 评论(0) 编辑 今天来和大家分享两个很不错的程序设计「做」与「不做」列表。首先,是 Andres Taylor (安缀斯‧泰勒)写的「Top 10 Things Ten Years of Professional Software DevelopmentHas Taught Me」,翻成中文就是「十年程序设计经验教我的十件事情」。
原文不长,里面有很多不错的观念,我鼓励你们去读读。以下是中文版:
而至于什么事情应该要避免,大家可以参考 Dare Obasanjo (戴尔‧欧巴桑侯)写的「Top 10 Signs Your Software Project is Doomed」,翻成中文就是「十个软件项目注定失败的迹象」。
以上,跟大家分享,希望能够帮助你们在做的产品更顺利、更成功,加油! posted @ 2011-05-02 12:48 就是喜欢 阅读(14) 评论(0) 编辑 摘要: 人月神话--没有银弹-软件工程中的根本和次要问题(No Silver Bullet - Essence and Accident in Software Engineering)所有软件活动包括根本任务——打造由抽象软件实体构成的复杂概念结构,次要任务——使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。现在是关注软件任务中的必要活动的时候了,也就是那些和构造异常复杂的抽象概念结构有关的部分。我将它们分成根本的——软件特性中固有的困难,次要的——出现在目前生产上的,但并非那些与生俱来的困难。一个相互牵制关联的概念结构,是软件实体必不可少的部分,它包括:数据集合、数据条目之间阅读全文 posted @ 2011-03-24 16:37 就是喜欢 阅读(96) 评论(0) 编辑 摘要: 进京感受 这是来北京的第一篇随笔,第一次来北京,呵呵! Live Writer里面写下了几个1,2,3系列(1,2,3在英语中代表很简单的事情和方法)的标题: Silverlight XAML 1,2,3 依赖属性 1,2,3 ASP.NET生命周期 1,2,3 却发觉始终没有了往日下笔如涌泉的灵感,大概是因为心里在想着找工作的事情,也可能因为是一个人到一个陌生城市都会有的失落,不知所错的感觉,就像去年去深圳。 回想这两年南下北漂的经历,有些想法和感悟想和刚开始工作的朋友分享。 2009年毕业只身前往深圳,虽然带着梦想和希望,也带着自信,然而一次一次的离开面试的公司却也无情地告我,我没有工作经阅读全文 posted @ 2011-02-22 19:25 就是喜欢 阅读(24) 评论(0) 编辑 |
||