天天看点

谈谈软件设计

   先看一下软件设计的四个案例:

   1.某项目要求在很短时间内完成,而且客户对系统的当前认识还是比较初步的,你还打算怎样设计这个系统?

   2.某软件公司接了一个“网页+数据库”类型的项目,这类项目已经做过多个,但这次的业务却是新的,你怎样考虑这个项目的设计?

   3.某软件公司已经成功的为n个医院做了管理系统,现在需要为一家新的大医院做类似这个系统,你会怎样考虑这个系统的设计?

   4.你接到一个任务,要做一个即时战略游戏,目标是要在当前游戏市场找中杀出一条血路,你怎样考虑这个游戏的设计?

   以上四个案例各种特点,分别代表4种“典型”:

   1.需求很朦胧,工期很紧,技术上基本上没有积累。

   2.需求是心的,但可以重用“网页+数据库”的技术架构。

   3.需求是类似的,技术架构也是类似的,相信你会直接重用之前的系统。

   4.这是一个需求创意和高技术含量的游戏,而游戏软件的需求和技术都是充满挑战的。

   上述4种情况,相信你采取的设计策略是不一样的,你可能会发现所谓的优秀设计没有固定的标准。

   通过你觉得优秀设计的标准是什么?是“高效、可靠、易用、安全、可扩展、兼容性强、移植性强……“么,我觉得软件设计应该随机应变,软件就应该设计出高性价比。

    优秀的设计应具备以下特点:

    1.优秀的设计都是需求驱动的,不熟悉需求就做出来的设计是不靠谱的

    2.优秀的设计应该是当前团队能理解能实现的,太超前的设计项目团队做不出来,这个设计只能是摆设;

    3.优秀的设计应充分考虑当前各种限制条件,适当做出平衡,能保证达成项目的目标;

    4.优秀的设计能尽量降低项目的整体工作量,让整个项目更加可控。

   优秀的设计是需要从分析需求开始的;架构设计是全面考虑各种需求、项目的工期限制预算限制,还有项目组人员水平后综合做出来的一种平衡。

谈谈软件设计

继续阅读