`
iwebcode
  • 浏览: 2010719 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

需求和设计也应该进行模拟运行。

 
阅读更多

在传统的软件开发模式中,系统模拟运行一般都只发生在软件实现以后,很少有人会在需求和设计阶段做这个事情。这其实是国内大部分大型软件系统开发失败,或者开发成功后用户却不买帐的原因。这个经验其实来之于我刚工作不久的一个ERP项目,整个ERP项目团队才4-5个人,由于第一次做这么大的项目,我们比较谨慎, 整个需求出来后,我们并没有急于设计和开发,而是针对我们的需求分析结果(简要的概要设计),我们与客户方的相关人员(各个部门的业务骨干)在一起,针对流程和需求约束进行了几次模拟运行,有人可能会说这属于需求论证,也对,但注意,我们准备了必要的业务数据(实际单据),(现在叫业务测试用例),我们提供我们了解和理解的业务流程、主要业务算法以及约束,客户方根据我们提供的这些用实际的单据进行验证,因为是每个部门的业务骨干在,大家其实是在模拟实际的运作情况。一直到成本核算为止,虽然花费了一些时间,但结果非常好。之后,我们根据这份需求分析的结果开始进行详细设计,我们画出来了所有界面,当然这个界面是直接用开发工具画的,除了没有将业务逻辑实现外,其它的元素都有,相当于一个初步的原型,得到这个原型后,我们内部进行了几次模拟运行,包括流程,算法,数据输入,数据处理,数据输出等,同样采用的是实际业务数据,确定没有问题后,我们又跟客户方进行了两次模拟运行,他们输入单据(实际的单据,但作业是看着界面在白板上进行,前面的需求分析模拟也是这样),我们根据我们掌握的数据处理算法和数据流向,给出输出,这样一步步到最后总帐,成本核算。中间如果出现问题,就及时解决,当然,我们在模拟运行前做了很多准备工作。客户方在协同模拟过程中提出了很多宝贵的意见,虽然有些问题很尖锐,但因为准备充分,经过协商,都取得了一致的结果。在完成了这些之后,我们才开始进入正式开发,基本是从0开始构建系统,但还算顺利,经过半年左右的时间,系统初步构建完成,并进入试运行,中间也耽误了3个月时间,但是是客户方没有听从我们的建议所致。这个项目从需求调研开始到正式上线总共花费了近1年半时间,这个系统到现在虽然增加了一些功能,也做了一些完善,但运行良好,而且主要的业务流程和功能都没基本没变。之所以想用这个示例来说明需求和设计中的模拟运行很重要,主要是后来经历的一些项目,虽然从复杂,规模来讲,都比不上ERP系统,而且人力资源也远远好于当时的那个团队(我们当时4个人只有我对开发工具有点实际经验,其他的同事基本都是没实际用过开发工具的,而且没一个人做过类似的系统),但这几个项目都以失败告终,。原因当然是多方面的,但一个重要的原因就是需求分析和设计根本都不符合客户的需求,在自以为理解的基础上仓促开发,结果是做了一次,客户要求改一次,而且缺少全局规划,这个做完了,可以用,但另外一个模块开发完成开始用得时候发现前面的模块有问题了.....。虽然,我也力主推行我的理念,但因为一些原因,没办法实行,哥也无力回天。

说了这么多,总结一下就是,如果你真的想让系统开发成功,那么不妨在需求分析和设计时,都用实际的业务数据来模拟运行一下,验证一下你的理解和设计是否真的是客户所求.

分享到:
评论

相关推荐

    进程状态模拟转换.docx

    操作系统课程设计文档,内容为进程状态转换模拟,设计技术参数1)系统中进程的数目; (2)系统资源的种类和数目; (3)系统作业或进程的对每类资源的需求数目; (4)进程运行所需的时间片大小 设计要求:模拟两种...

    weixin009模拟考试小程序+ssm设计毕业源码案例设计

    随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,模拟考试被用户普遍使用,为方便用户能够可以随时进行模拟...

    java语言操作系统课程设计模拟进程管理系统源码.zip

    针对需求1、2: 为实现多个进程并发运行需要建立管理对象和进程对象的联系以便对运行的进程进行管理,故可以在管理对象中设置就绪、阻塞、运行队列来容纳进程,从而方便的进行管理; ①创建:初始化刚建立的进程对象...

    weixin009模拟考试小程序+ssm设计

    随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,模拟考试被用户普遍使用,为方便用户能够可以随时进行模拟...

    TD_SCDMA模拟BBU软件设计与实现

    结合芯片特点和软件功能,设计软件总体结构,从顶层划分三个子系统,分别定义每个子系统的功能和性能需求,以及子系统之间的接口。进一步详细设计子系统软件结构,分解为更小的软件模块,并设计子模块之间的接口,子...

    java课程设计atm柜员机模拟程序定稿版.docx

    系统需求分析 (1)设计目标:随着市场经济的繁荣发展,人们的物质生活得到极大的提高,手中的剩余资金也日益增多。受传统观念影响,绝大多数人喜欢把资金投进银行,而在需要使用现金的时候再到银行提取现金。这就...

    数据结构设计--电梯模拟系统.doc

    概要设计 2 3.1数据结构描述 2 3.2模块设计 3 3.3电梯的模拟流程图 3 4详细设计及实现 3 4.1全局变量的定义 3 4.2人具体情况的定义 4 4.3队、栈的类型 4 4.4.电梯类型 4 4.5系统类的定义 5 5.调试分析 6 6.结论及...

    毕业设计,课程设计,大作业-模拟考试小程序,包含详细说明文档、源代码、论证表、任务书、开题报告、论文、答辩ppt、数据库等

    随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,模拟考试被用户普遍使用,为方便用户能够可以随时进行模拟...

    计算机毕业设计:SSM无纸化考试模拟系统 (数据库+程序+LW),保证可靠运行,附赠计算机答辩PPT 

    数据库设计合理,确保了数据的完整性和安全性,为系统的稳定运行提供了坚实基础。 在程序开发方面,SSM框架的运用使得系统代码结构清晰、易于维护。Spring框架负责业务逻辑的处理,SpringMVC负责请求的接收和响应的...

    基于MATLAB的微电网模拟系统建模设计-论文可参考.docx

    本文运用的是MATLAB/Simulink平台进行微电网模拟系统的仿真设计,模拟实现微电网系统基本运行功能,并设计了微电网模拟运行的硬件电路结构。主要使用三相逆变电路作为研究参考对象,将输入的直流电转换成三相交流电...

    java招警考试模拟题库设计与实现毕业设计程序

    接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。...

    模拟银行存储管理系统 - 毕业设计论文

    本文主要阐述了研究和设计一个基于Web的银行业务管理系统的整体流程,详细的分析和描述了系统的设计方法,设计流程,开发过程。通过对开发技术的详细描述,读者可迅速了解该系统开发所使用的开发工具、开发使用的...

    风景区旅游模拟漫游系统的设计与实现(论文+源码)_kaic.docx

    3 五台山风景区旅游模拟漫游系统需求分析 3.1 系统设计目标 3.2 技术可行性分析 3.3 功能需求分析 3.4 数据需求分析 4 五台山风景区旅游模拟漫游系统概要设计 4.1 系统设计原则 4.2 系统总体设计 4.2.1 系统总体结构...

    操作系统课程设计---作业调度模拟.doc

    24 日 任务完成日期 2012 年 6 月 29 日 《操作系统》课程设计任务书 一、课程设计的性质与目的 操作系统课程设计是集中实践性环节之一,是学习完《操作系统》课程后进行的一次全面 的综合练习。要求学生达到熟练...

    设计1.ms14(一个模拟电路,实测可以运行)

    一个模拟电路,实测可以运行,具体干嘛可根据自身需求做更改

    模拟设计段式虚拟存储管理中地址转换

    题 目: 模拟设计段式存储管理中地址转换 初始条件: 1.预备内容:阅读操作系统的内存管理章节内容,理解段式存储管理的思想及相应的分配主存的过程。 2.实践准备:掌握一种计算机高级语言的使用。 要求完成的...

    进程调度模拟设计 武汉理工

    2、 需求分析 1 3、 功能设计 1 3.1先来先服务算法 1 3.1.1算法说明 1 3.1.2流程图 2 3.2抢占式短进程优先算法 2 3.2.1算法说明 2 3.2.2流程图 2 4、 开发平台及源程序的主要部分 3 4.1开发平台 3 4.2源程序的主要...

    基于Qt界面设计的模拟航路生成系统.zip

    资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。有任何问题也可以随时私信博主,博主会第一时间给您解答!!! 本资源中的源码都是经过本地...

    模拟银行存储管理系统 - 毕业设计源码

    本文主要阐述了研究和设计一个基于Web的银行业务管理系统的整体流程,详细的分析和描述了系统的设计方法,设计流程,开发过程。通过对开发技术的详细描述,读者可迅速了解该系统开发所使用的开发工具、开发使用的...

    java课程设计-ATM柜员机模拟程序说课讲解.doc

    java课程设计-ATM柜员机模拟程序 课程设计(大作业)报告 课程名称:面向对象程序设计课程设计 设计题目:ATM柜员机模拟程序 院 系:信息技术学院 班 级: 设 计 者: 学 号: 指导教师: 设计时间:2016-1-4-2016-...

Global site tag (gtag.js) - Google Analytics