五天实现CSDN新闻MIS系统开发手记

  软件行业发展了很多年,已经衍生出各种开发模式,像RUP,极限编程等等。而本文详细记录了我在使用轻量级B/S引擎NoahWeb来开发B/S结构的CSDN新闻MIS系统的时所使用的“增量迭代”开发模式的过程。意在让更多的人能了解和对比NoahWeb中所倡导的“增量迭代”开发模式同其他模式的不同之处。

特别感谢:撰写本文时由于得到CSDN相关部门的大力支持!因此文中所提MIS系统的各阶段源码也随本文同时提供,在了解这套MIS系统的开发模式的同时,有兴趣的读者还可以深入了解一下CSDN对新闻采编所使用的先进管理经验,再次感谢CSDN为我们无私的公开该项目源码与管理思想。

先来和大家介绍一下本文中将要登场的三个人物(使用代称):

  • James-我公司的客户经理
  • Neo-CSDN管理人员
  • job-也就是我,这个项目的具体实施者
  • 另外还有CSDN一些使用该系统的使用者。


6月8日(星期三):需求分析阶段

上午

  早晨到公司上班,James告诉我有一个新的系统要开发,是CSDN的一个MIS系统。并把头天晚上他和Neo在MSN进行的一段交谈记录发给了我,并要我尽快完成这个项目,MSN谈话中Neo详细讲述了他所需要的新闻报道的MIS系统的需求,看后我对系统也有了个大概了解。

MSN中的内容如下:
src="http://black.blueidea.com/csdn/MSN.htm" width="90%">

  由于NoahWeb开源示例中已经有一套成型的MIS权限管理示例,并提供了完整的源码,所以有关MIS中的权限这部分我觉得我没必要再做了,可以直接以它为蓝本继续开发。另一方面虽然Neo对所系统的需求已经描述的很仔细,可是系统中有关系的元素很多。我和Neo之间的理解可能会有很大差异,因此开发管理上我决定采用“增量迭代”模式,逐步探索该系统的需求,同时保证整个项目能尽快完成。

  因此,第一步:我先用假页面进行系统策划,以便更多更深刻的了解Neo那边的需求。

下午

15点36分:经过一系列分析,我制作出假页面交付给James,我们的目的是更多更深刻的了解Neo那边的需求。这时的假界面版本暂定为1.0。

策划1.0版本
src="http://black.blueidea.com/csdn/csdnnews1/default.htm" width="90%" height="270">

James把这个策划发给了Neo,其中他们又使用了MSN进行沟通,对话内容如下:
src="http://black.blueidea.com/csdn/msn2.htm" width="90%">

15点41分:我回头看James和Neo在MSN对话的时候发现策划1.0版本中我遗漏了“搜索产品的功能”,呵没办法,常言到智者千虑也必有一失嘛。没等Neo给我反馈,我已经开始修改策划,又发了一套假页面的策划给James,这个版本为1.1。
策划1.1版本
src="http://black.blueidea.com/csdn/csdnnews2/default.htm" width="90%" height="270">

16点53分:James拿到了Neo那边的意见,意见如下:
MSN对话内容
src="http://black.blueidea.com/csdn/msn3.htm" width="90%" height="270">

为此我再次制作出了1.2版本的策划假页面。

策划1.2版本
src="http://black.blueidea.com/csdn/csdnnews3/default.htm" width="90%" height="270">

18点26分:James发来了和Neo的对话。策划出来的假页面已经不需要进行修改,这是个不错的消息。明天准备开始写代码实现功能。
原对话内容
src="http://black.blueidea.com/csdn/msn4.htm" width="90%" height="270">

  今天用静态页面做了好几个策划版本,目的是通过这些的界面可以让客户通过一定程度的真实体验感去体会系统最后开发出来的效果,从而提出反馈获得帮助获得更准确的需求,通过这几次的修改对客户的需求会更快更深的了解,这无疑是一种非常好的低成本增加效率的方式,也能大大减少开发后期需求变化的可能,至少不会出现和用户需求“大相径庭”的现象。


6月9日(星期四) - 6月10日(星期五) :编码实现阶段

  从策划分析确定了这个MIS系统很小,所以“增量迭代”后面的过程我就简化了。周四和周五两天内没再同James或是Neo沟通,根据最后确定的策划1.2版,开始设计数据库和编写代码,由于NoahWeb的编码机制很利于“增量迭代”模式的开发,而且有很强的表单支持,资源重用很容易,所以在两天内整套MIS系统的功能就都实现了。


  MIS系统1.0版本下载(根据策划1.2版,完成的实际版本MIS版本1.0)

  给James发过去了代码,James在下班前把1.0版发给了CSDN的Neo,呵呵本周工作结束,周末我可以好好休息了。


6月13日(星期一)空闲

  今天没我啥事,可能CSDN那边还未进行部署吧。我继续做我别的事情。


6月14日(星期二)变更阶段

上午

  依旧没我啥事情,我接着弄别的。

下午

16点15分:CSDN的Neo给James发来了系统安装后的一个错误日志报告,我忽略的一个小BUG。
对话内容
src="http://black.blueidea.com/csdn/msn5.htm" width="90%" height="270">

为此我赶快发送了将缺少资源的两个文件进行替换解决了此BUG。

16点22分:CSDN那边试用过系统之后发来了反馈意见,呵呵意料中的事了,一个系统没真正使用前谁也不能体会真实的使用感觉,所以在试运行阶段,变更是肯定的,这个正好也是“增量迭代”的中心思想!
对话内容
src="http://black.blueidea.com/csdn/msn6.htm" width="90%" height="270">

18点29分:经过修改,把1.1版本给James发过去了。
MIS系统1.1版本下载

18点47分:Neo和James联系,那边对于1.1版本基本上满意了,任务顺利完成。
对话内容
src="http://black.blueidea.com/csdn/msn7.htm" width="90%" height="270">


后记:

  “增量迭代”模式本身源于实际B/S项目开发的经验,它将整个必要的开发过程分成多个迭代过程,并通过迭代探索用户真实需求,并在每次迭代的同时根据最新获得的需求调整最终系统,使用迭代也将减少系统开发结束之后的变更工作量,把原本在项目最后阶段才会暴露出的变更融合进整个项目开发中,缩短开发周期!降低成本。

  本次的开发到这里也就结束了。5天开发完成出这么一套系统的确不是一件容易的事情,最初3个版本的策划假页面起了很大的帮助,如果没有这些工作,恐怕两周也不能开发完成。另一方面NoahWeb引擎所采用的高效编码机制对采用“增量迭代”模式下的编码效率和迭代中变更支持也起到了决定性的作用。

  希望这种开发模式能为大家带来一点点的灵感,谢谢。

参考资料:

参考一:什么是NoahWeb?(http://www.noahweb.net/what.aspx)

参考二:什么是动作?(http://www.noahweb.net/training/whataction.aspx)

参考三:适合1月以下的“增量迭代”管理流程(http://www.noahweb.net/training/website.aspx)

参考四:适合1月以上的“增量迭代”管理流程(http://www.noahweb.net/training/base.aspx)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 软件系统是指由软件开发人员设计和开发的一套程序和工具,用于满足用户需求的系统。用户是指使用软件系统的个体或组织,包括最终用户、管理员和其他系统参与者。CSDN是国内最大的IT技术社区,提供了大量的技术资源、文章和开发者社交平台。 软件系统用户对于软件的开发和改进起着关键作用。他们是评估系统功能、提供反馈和需求的重要人群。用户的需求和意见能够帮助开发人员更好地理解和满足用户的期望,提高系统的可用性和用户体验。 CSDN作为一个开发者社区,为软件系统的用户提供了一个交流和学习的平台。用户可以通过CSDN平台学习和分享编程技术、解决问题、互相交流经验,从而提高开发能力和技术水平。CSDN还提供了丰富的开发资源,如开源项目、技术博客、视频教程等,帮助用户快速入门和学习新的技术。 与此同时,CSDN也是一个对开发人员发表自己观点和经验的平台。开发人员可以通过CSDN编写技术文章、发布开源项目等,与其他开发者分享自己的知识和经验。这样能够促进技术的交流和合作,推动软件系统的发展和改善。 综上所述,软件系统的用户和CSDN对于软件开发具有重要作用。用户的需求和反馈能够促进系统的改进和完善,而CSDN作为一个开发者社区则提供了学习、交流和分享的平台,帮助用户和开发人员不断提高技术水平和解决问题。 ### 回答2: 软件系统是一种用来支持用户开发过程的工具,而用户是指计算机程序的最终使用者。而CSDN(中国软件开发网)则是一个专注于软件开发领域的在线社区。 软件系统的主要目的是为了满足用户的需求并提供相关的功能和服务。用户在使用软件系统时,可以通过图形化界面或者命令行来操作系统,并根据需要进行各种功能的开发。用户通过软件系统可以创建、编辑、测试和运行自己的程序,以及进行调试和错误修复等工作。软件系统还可以提供一系列的工具和资源,如代码编辑器、编程语言解析器和调试器等,以帮助用户更高效地进行开发。 而CSDN作为一个专业的软件开发社区,为用户提供了一个交流和分享的平台。用户可以在CSDN上发布自己开发的软件,并与其他开发者和用户交流经验、分享技术以及解决问题。通过CSDN,用户可以获取到丰富的技术文章、博客、论坛和教程,以帮助他们在软件开发的道路上不断进步。CSDN还定期举办技术分享活动和线上讲座,以帮助用户扩展技术视野,并获得来自业界专家的指导和建议。 总的来说,软件系统CSDN都是为用户开发提供了支持和帮助的工具和平台。通过软件系统CSDN,用户可以更高效地进行软件的开发,并与其他开发者进行交流和互动,促进技术的进步和共享。 ### 回答3: CSND(国内专业IT技术社区)是一个软件系统,它涵盖了用户端和开发端两个关键角色。 从用户角度来看,CSND是一个方便用户获取技术知识、解决技术问题和交流的平台。用户可以通过CSND浏览和搜索各种技术文章、博客和教程,以便获得所需的知识。用户还可以在社区中发表自己的技术问题,得到其他用户的帮助和解答。此外,CSND还提供了技术论坛和在线讨论群组,使用户能够与其他技术爱好者和专业人士进行交流和分享。总之,对于用户来说,CSND是一个便捷的技术资源平台,能够满足他们对技术知识的需求。 从开发角度来看,CSND是一个软件系统,需要开发人员进行设计、开发和维护。开发人员需要按照用户需求设计系统的功能和界面,并选择合适的技术和编程语言来实现。他们还需要编写代码、进行调试和测试,确保系统的稳定性和性能。同时,开发人员也需要定期更新和优化系统,以提供更好的用户体验和功能。总的来说,开发人员是CSND软件系统成功运行的关键,他们的努力和技术才能保证了CSND的稳定性和可用性。 综上所述,CSND是一个软件系统,用户和开发人员是其中非常重要的组成部分。用户通过CSND获得技术知识和问题解答,而开发人员负责设计、开发和维护系统,以满足用户的需求。彼此之间的良好合作和互动才能使CSND成为一个成功的技术社区。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值