`
lane_cn
  • 浏览: 52335 次
社区版块
存档分类
最新评论
文章列表
按照时下的说法,拿东西给别人看,叫做“分享”,最近某位人就群发了一个mail,给广大程序员们分享了一回。 邮件内容如此: /*********引用开始**********/ 遗忘机票的商人 某航空公司总裁在任时坚持“顾客第一”的原则,因此深深打动了所有同仁的心。建立起“顾客第一”的企业文化。 一天,某人出差到斯德哥尔摩,办完公事后匆匆赶往机场,准备办理登机手续,才忽然发现机票遗忘在了下榻的饭店里。 这时柜台的滑位小姐看到商人面有难色,关心的问起:“您好,是否需要帮忙?” 商人很紧张的说:“我不小心将机票遗忘在饭店的房间里,不知道该怎么办才好。” 没想到这位划位小姐回答说:“先生请您不用着急, ...
基本层次 软件的逻辑结构可以划分为下面四个基本层次: 从下往上依次是: 1:基础设施层——这个层次是纯技术层次,解决的是系统的物理问题,比如database gateway、网络通信、对象容器……这个部分与业务需求关系不大,是 ...
看了一篇讨论:http://www.cnblogs.com/yimlin/archive/2006/11/30/578333.html有些感想:并不是所有的行为都必须属于某个对象,有的行为似乎放在任何一个对象中都不合适,那就单独放在那里好了,没必要非要造出一个对象来,更不能把它硬 ...
先说一个小笑话。有一个生产队队长,他对专家说:“现在我们生产队的地越来越多,牛越来越忙不过来了。我想要这么一种牛,他吃的草和普通牛一样多,但是干的活是普通牛的十倍。”专家说:“这种牛是可以造出来的,现在有基因工程。”队长说:“好吧,你给这造几头这样的牛。”于是专家找到了生物实验室,让生物实验室的人搞一个基因工程,把牛造出来。于是工程浩大,投资无法保证,合作多半是不愉快的收场。 现实世界里很多人分析需求的过程就类似于这位专家,他们把注意力放在用户提出的功能点上,而对用户的实际需求没有兴趣。有不少软件公司和程序员,其实都在做类似的基因工程。如果这个专家把注意力放在生产队长的业务需求上,而不是太在乎他 ...
程序维护的时候经常遇到两个困难:1、不知道这段代码是实现什么功能的(code —— function);2、不知道这个功能是实现什么需求的(function —— business)。解决第一个问题是比较容易的,大家都是搞技术的,一头扎进代码里去 ...
NGOSS(Next Generation Operational Support Systems)是由TMF(Tele Management Forum)提出的,他用于电信领域,是构建下一代OSS/BSS系统的框架。TMF提供了技术中立构架(TNA)作为NGOSS解决方案的技术构架,这样就把NGOSS建立成了一种标准,这个标准与实现他的技术相互独立。TMF还提供了一组测试方法,用于验证解决方案是否符合NGOSS的标准。完整的NGOSS框架有多个组成部分,这些部分也可以独立的实施,用于解决某个领域的业务问题。下面对这几个部分做个基本的解释:eTOM(Enhanced Telecom Operat ...
IT系统是根据需求建设的,而需求是从哪里来的呢?为什么这个世界需要一个这样的系统,为什么系统需要做成这样,不多做一些事情,也不少做一些事情,恰好就要做这么多事情?这些问题难道不是问题吗,难道需求是理所应 ...
灵活的软件,可以更好的适应用户的需求。什么样的软件才是灵活的?一旦用户提出灵活性方面的需求,设计者经常想到的一个对策是:增加配置。在不同的业务环节上增加功能配置,哪里需要灵活性,就把配置写到哪里。配置为软件系统提供了无数个可能——这就是灵活性。但是配置经常复杂无比,失去控制。很多配置项目已经失去了业务意义,完全成为一种数学意义上的排列组合。按照一些配置的路线,业务无法形成闭环流程,走进死胡同。这样的系统,维护配置和维护程序本身一样复杂。配置,就是不需要编译的代码。实际上,软件最大的灵活性,来自于完整的业务模型。一个完整的业务模型,不需要华丽的技术——设计模式、先进的平台、巧妙的构思——这些都不重 ...
我的第一个工作是在一家软件公司写程序,主要的客户是一家省级电力公司。工作主要是以项目的形式,项目签下来了,忙几个月,从需求调研到设计,编码,测试,然后现场调试,现场维护。做完了以后通常有一个空闲时间,然后进入下一个项目。每个项目的需求都有一定的差异,但是都是在同一家电力公司里,尽管具体的客户不同,解决的问题也不同,但是都属于同一个大的商业范围。现在已经离开这家公司近一年了。有时候思考以前的经历,更能摆脱那种身在此山中的迷惑,也能够在技术方面有一些回忆和反思。虽然已经是马后炮,毕竟工作还在继续,总结以前的经验对以后也是一种财富。对于其他人来说,也许能够有一些借鉴作用。也希望一代一代的程序员能够积累 ...
一个7×24的帐务系统,一个每天都要开门营业的营业厅,运行了好几年了,小改小闹几乎天天不断,大的升级隔半年到一年就要有一次。外界还有新的系统要接在上面,不断的开拓新的接口,功能不断扩充……系统最近一次大的 ...
很快又到了大学生毕业的季节了,很多同学将要走上工作岗位,回想一下自己工作这几年的经历,很想对他们说几句话,尤其是各位搞IT行业的.工作是一种责任,一个岗位必然意味着一种责任.一个人能得到什么收入,不是取决于他做的事情有多少技术含量,只取决于他做的事情需要承担多大的责任.无论是给老板打工,还是自己创业都是这样.要工作就要承担责任,需要在职责范围内去作出决定.工作需要协作.知道别人在做什么事情,让别人知道自己做什么,为别人做事情,找人为自己做事情,推掉自己无法完成的事情--这就叫协作.不明白的事情要及时去寻找帮助,求助你的上级,同事,拉人加班,请人吃饭...总之不择手段.任务可以靠IQ完成,也能靠E ...
软件设计首先要整理用户的业务模型,然后以此为参照,结合环境条件,建立软件系统模型。在这个过程中,很重要的一点是:要剔除软件模型中多余的概念。哪些是“多余的概念”呢?如果一个概念是从用户的业务模型中无法 ...
最近经常有这样的事情出现:Email已经发出去了,却发现附件没有加上,于是再补上一个Email。不得已写了下面这个小程序,可以用在Outlook上面。在Email发送的时候,他会检查标题和正文里面有没有“附件”两个字,如果有这两个字,却又没有附件,就会出现提示。最近用了这个东西,还是不错的,预防了不少事故的发生。谨在此献给象我一样粗心的人,希望大家喜欢。代码如下: '''''''''''''''''''''''''''''''''''''''''''''发送Email的时候,会触发这个过程'这段代码一定要写在发送Email的响应过程中''''''''''''''''''''''''''''''' ...
刚才看了idior的一篇文章:Enterprise Test Driven Develop。看后有一些感想,在这里写下这篇文章,讲讲我对这个问题的看法:自动化的单元测试应该测什么。最近有朋友提出意见,觉得我写的文章比较空洞,写的很长,但是很不实在。可能原因是这样的:代码太少了。今天就从一段代码开始吧,这段代码描述电信营业系统中的缴费开机的过程: User user = User.getUserByServiceId("13309790280");//通过电话号码找到用户Account account = user.getAccount();//与用户关联的帐户user.pay ...
什么是重构重构,用最简单的一句话说:就是要在不改变系统功能的情况下,对系统的内部结构进行重新调整。重构的最直接目的在于改进软件系统的内部架构。一个好的结构可以更加适应于需求的变化,更好的满足客户的需求,最大限度的延长软件系统的生命周期。为什么要重构在不改变系统功能的情况下,改变系统的实现方式。为什么要这么做?投入精力不用来满足客户关心的需求,而是仅仅改变了软件的实现方式,这是否是在浪费客户的投资呢?重构的重要性要从软件的生命周期说起。软件不同与普通的产品,他是一种智力产品,没有具体的物理形态。一个软件不可能发生物理损耗,界面上的按钮永远不会因为按动次数太多而发生接触不良。那么为什么一个软件制造出 ...
Global site tag (gtag.js) - Google Analytics