2011软件设计师知识点:构建完整的解决方案2
升级需求
一般来说,客户对升级的需求有这么几点:
1. 可控制的升级。 即检测是否可升级、是否执行升级、多个升级目标的选择、升级的计划任务等都是可以控制的,比如可以设定自动检测是否升级;设定自动升级到最高版本;设定执行升级必须为手工设置;设置手工升级时可以立即升级也可以指定计划任务时间等等。
2. 不影响业务的升级。 基本上客户都希望升级这个事情,不要影响他们的业务。但是有些系统实在太老了,基于这种旧系统的再开发项目必然受限于原系统的升级方案。这时就考虑:1.能不能通过升级,使系统以后升级不再影响业务;2.如果不能,怎样使(本次后以后)升级对业务的影响最小。
3. 升级的简单性。升级应该简单快捷,没有太多的参数需要配置,没有太多需要手工干预的步骤。
4. 升级的完整性。尤其是对于分布式系统,升级时需要考虑各个部件之间版本的一致性。一个升级方案必须是完整的,不能在升级以后出现由于版本间不兼容的原因而导致系统无法工作。举个例子:
一个简单的CS系统,采用加密通道进行通讯,现在升级加密算法,该如何设计呢?
假设是互联网应用,有上万个客户端,该如何设计呢?
从这个例子可以看出,系统的设计,从一开始就必须考虑这些"隐性"需求,否则系统架构可能都要****重来。
易用性需求
通常提到易用性,大家会觉得无非是界面啦,帮助啦。没错,但是不全。
让我们看几个例子,可以大概理解一下易用性是什么概念。
在桌面系统的竞争中,专业而强大的Unix败给了经常被人批评的Windows系列,因为windows安装简单,升级简单,安装新的游戏或者软件也很简单,操作起来更是如此,直观的图形界面虽然设计和功能不太丰富和强大,但是相对于unix必须先学习"文件系统"概念,再学习命令行而言,"树"的概念用户可以无师自通,拖拽更是没有命令行可以比拟;
同样是微软,C++语言乘微软之名,挟操作系统之利,语言和开发环境都不可谓不强大,但是结果怎样呢?IDE方面多数人还是用SI,语言方面,微软更是不得不推出C#来与Java抗衡。就因为SI看代码的时候查找上下文方便;Java比C++开发起来方便;
在中文输入法的竞争中,强大高效的笔画输入法败给了拼音输入法。现在拼音输入法大行其道,笔画输入几乎鲜有提起。
最主要的,是业务模型要和客户的一致。这个应该算是基础。业务模型代表着思维模式(比如输入法),也就是说,要从客户的角度来设计系统,而不是机械的堆砌数据和流程。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>