字体:大 中 小
护眼
关灯
上一页
目录
下一页
第拾伍章 年度最佳 (第2/5页)
这么一天。与其到时措手不及,或是痛定思痛之后迫不得已,不如现在主动采用。 历史上第一个正式使用并得到业界广泛认可的软件开发模型应该是1970年WinstonRoyce提出的“瀑布模型”。这个模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 在这个模型里,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。 瀑布模型在七十年代末就面临被淘汰,因为其对于用户提出了不合理的要求,即必须在谈判之初就确定全部需求。法律上这样似乎无懈可击,如果提出了需求开发方没做到,自然是开发一方的责任;如果没提出需求,自然就是客户的责任了。 实际上不可能,永远无法要求客户对于软件的理解和开发商一样。需求提不出来或者提出的不对,这很正常。为了争夺客户,自然会有人采用更灵活的开发方式。从另一个角度看,做项目和做产品不一样,应该是提供软件服务的意思。客户有权利随时随地改变需求,开发一方的权力仅仅是对于这种改变提出合理的要价而已。 另外,由于开发模型是线性的,作为用户只有等到整个过程的末期才能见到开发成果;而作为开发者,早期犯的错误可能要等到开发后期的测试阶段才能发现。这些固有的缺陷在后来的业界形势下越来越让人无法忍受,最终导致该模型被淘汰。 当初瀑布模型之所以兴起,是因为那时候的计算机行业都是卖方市场,市面上有什么东西,客户就只能用什么东西。具体的说,就是项目做起来和产品一样,厂商基本上都是自行决定产品的功能,然后拿出去卖。当然,在决定的同时,肯定会做一些市场调查,或者,如果是个项目的话,征求一下用户的意见。 考虑到目前业界的现实,瀑布模型刚好够用。况且,这种线性思维的模型最简单,程序员也最容易理解。所以,这一次范含就打算采用“瀑布模型”。因为作为客户的数学家根本没有需求,作为开发商的自己倒是完完全全彻彻底底的了解他们的需求。 看起来这么搞好像是闭门造车,实际上不然。 自从1984年Matlab推出以来,已经经历了无数客户的检验,推出了六个主要的升级版本。现在范含记忆中的Matlab7,应该说是千锤百炼。现在的数学家们看起来,绝对是无可挑剔。哪怕自己仅仅实现其功能中的一个小小的子集,也足够令人拍案叫绝的了。 关于瀑布模型的那一套做法,范含那个时代科班出身的朋友们应该可以倒背如流了,谁让国内的教材还是在讲这一套呢?不外乎是那么几步。 可行性分析可以略过,作为已经接下来的项目,没有“不可行”这种事,除非一开始就觉得不对劲,直接挡掉。但是文档总得写,范含就把这一部分和“计划”阶段的文档和并在一起。其实计划也没什么,或者说范含说什么就是什么。基本上就是描述了一下体系结构,划分了功能块,再估计一下工作量。自己先写个提纲,剩下的让蓝蓝去随心所欲的补充吧。 需求分析是略不过的,范含自己明白不等于别人也明白。不得已,把一些Matlab的文档里面自卖自夸的内容都抄了出来。等到写完了,发现,不对,这些不是需求。没办法,懒得重写了,就让蓝蓝把口气变一下:要是有了这些功能……那该多好哇。 ------- 对范含而言,到了“概要设计”阶段项目才算真正开始。 这一块乍看起来比较简单,就是把工作分成两部分:一部分是打算交给学生们的工作,编写数值计算子程序代码;另一部分才是工作的重点,如何在内部使用这些子程序,以及怎样显示出它们的结果。 首先范含考虑了显示驱动的部分,就打算模仿原来的AppleII型机器上的ROMBasic。那上面有三种模式,范含都打算在这个系统中加以保留。 其中最常见的就是文本模式,在黑底绿字的二十五行八十列的显示器上分行显示文本。这种模式肯定是要的,只不过必须做一点小小的修改。现在一般的机器中,最上面滚出屏幕的文本行就消失不见了,或者说屏幕缓冲区一共就二十五行,循环使用。但这次不行,很可能一个函数的输出就是几十行,还这么搞的话,连结果都看不全。如果用类似“more”工具那样的分屏输出,用起来不方便,并且还是做不到同时察看完整的结果。至于Matlab本来实现的就是类似Windows上面命令行窗口的那样,缓冲区加大,可以前后滚动。当然,滚动条是没有的,只能允许用户使用“PgUp”和“PgDn”两个键来回翻页。 其次是全屏的图形方式,这个也比较好理解,如果程序运行结果需要画图的话,就全屏显示,看够了就按个什么键……比方说“Escape”……退出。这个当然也得要。 最后一种,就是混合模式,这才是有苹果特色的显示方式:屏幕的最底下五行用来显示文本,上面则是图形。这种方式对于交互式的图形cao作相当方便,实际上这种方式用得比全屏方式还要频繁,范含没什么理由去掉它。 显示问题提出要求就成了,具体细节肯定会交给专门人士处理。 设计到了这里,就提醒了范含,一定要尽快确定键盘标准。目前还是封闭硬件结构的销售,什么时候觉得键盘不够用,顺手加上一个就行。如果到了后面,键盘规格成为标准的时候,再想改可就不那么容易了。目前的计算机键盘都是对于打字机键盘原封不动的照搬,还没来得及有其他想法。范含对此当然是不满意的,至少,打字机上面绝对没有“PgUp”和“PgDn”这两个键。 范含自己提出的方案基本上是对美式键盘的一点点更正。 首先,增加了两个输入法相关的键,一个用来切换输入法,另一个用来切换全角和半角字符。这两个键目前根本派不上用场,但是范含还是坚持加在上面。日语键盘上面就有这两个键,其作用对于东亚用户来说不是一般的重要。人家日本人当年觉得需要,就加上了,日本用户就因此一直爽到现在。倒是华人,至今都在用着“美式键盘”。 范含当年用各种汉字系统的时候……不管是最初的吴晓军2.13,CCDOS,还是后来的UCDOS……就深刻的记住了“Alt”加数字键是“切换输入法”,全拼、双拼、五笔字型什么的。等到开始用Windows的时候,一时间对于“Ctrl Space”的切换方式很不适应。这种方式是从繁体中文Windows照搬过来的,台湾人民也许习惯了,但是比起日本人来说,还是麻烦不少。再说了,原来的Alt 数字的方式难道就不麻烦么? 不管那种方式,总是会有些场合引起热键的冲突,这一点正是范含所尽力避免的。归根到底,当初的华人们根本没有选择的余地,你爱用不用,这一点郁闷倒是两岸共同的。现在既然“一朝权在手”,就算为了同胞们着想,范含在这两个键上面也会“便把令来行”。 自然,由于其他工程师全都是美国人,当然无法理解。就算是蓝蓝,现在也都无法领会这种固执的确切含义。并且范含也说不出个所以然来,除了“保留下来,今后肯定有用”之外根本没有其他办法解释。 到头来只好板起脸,拿出“作风简单粗暴”的法
上一页
目录
下一页