【asp源码栏目提醒】:本文主要为网学会员提供“个人软件过程2 项目开发的基本流程-asp net学习网 - 讲义教程”,希望对需要个人软件过程2 项目开发的基本流程-asp net学习网 - 讲义教程网友有所帮助,学习一下!
c.net编程学习网 个人软件过程2 项目开发的基本流程 个人软件过程2 项目开发的基本流程 内容 个人软件过程2 项目开发的基本流程 第一步当然是需求的采集怎么做 先和用户交流弄清楚项目的目标这个通常是几句话用户的语言但你必须理解并且文字记录下来。
然后我们需要做第二件事情即软件需要提供哪些功能来实现项目目标。
当然这和用户的作业流程、业务规则、具体岗位是有关系的这里的产品是一份功能清单。
第三个则是功能清单的说明通常也就是一段话使用用户的语言。
一般没有必要记录非常详细的业务规则在交流过程中这些通常会变得清晰。
我们的问题是做什么而不要涉及太多的细节。
这三项工作完成之后需求也就告一段落。
我们的团队将至少有一个人完全明了这个项目的目标、我们需要实现哪些功能、这些功能主要是做什么的。
关于业务细节可以通过交流然后形成文字、简单的也可以忽略。
但这个过程中负责需求分析的先生必须完全能够说服自己。
此后划分阶段这需要一定的经验。
功能清单对应的工作时间。
嗯是有理想工作日的概念----我个人觉得不用管它将自己初步测算的时间乘以2就是不错的选择。
也有人认为此时是比大小的阶段即找出最简单的功能将其大小看着1其他每项功能按比例赋值---嗯那其实也是很麻烦。
虽然那些书生给我们讲课的时候比较鄙视估算时间这一说但时间毕竟是最直接的的概念。
估算时间的作用是考虑分阶段完成。
时间紧张的项目尽量2周一个阶段略长的则可考虑四周一个阶段。
划分阶段的依据是什么4个原则1、最快的投入使用2、均匀分布到每个阶段3、考虑各种风险因素4、每项功能在每个阶段都必须是彻底完成不要做成半成品 我们需要在将每个阶段的目标用一到三句话记录下来。
此后我们开始第一个阶段这通常是和用户交流一个工作日之后1到2天的事情不要拿起架子做多少多少准备工作。
这里我不推荐所谓的小组评估功能大小、用户决定哪些先做哪些后做这类花头第一是浪费时间、第二是缺乏可行性。
然后项目负责人可以考虑为第一阶段的各项功能做用户体验设计并划分开发任务这里也需要一定的经验1、一项功能需要考虑哪些事情菜鸟和老手是有非常大的差异的。
2、这些任务的开发顺序尽量要自然一些。
3、在这些任务中可能碰到哪些问题也要列出来。
这些问题可能是业务方面的需要布置文档任务可能是技术方面的需要解决并写成文档形式以免团队其他人同样花费时间解决这些问题。
4、有哪些地方是需要测试的----不要追求覆盖全部。
之后程序员将开始第一阶段的开发工作。
这里对每个程序员来说首先遇到的或者是数据库设计、类设计、界面设计这类问题。
我们每项功能涉及到哪些表格这个阶段就创建数据库、设计好这些。
类设计原则上是每个程序员针对自己的任务要做的事情但如果涉及到多个程序员都会遇到的项目经理必须预先在任务中说明并且最好先建立空白的类。
关于常见的ORM的问题没有必要使用某个ORM框架从我个人的经历来看将数据库当作一个仓库放进去、拿出来就行了。
出于性能考虑、开发耗时的考虑依赖某个Orm框架未必是好主意。
每天项目经理自己判断是否有必要询问哪位进度慢了遇到问题了做的是否有错不需要所谓每天的站立会议之类。
这个过程中鼓励程序员多看看项目中其他程序员的代码新手初哥实际上是在模仿的过程中形成团队接近统一 的风格的。
至于代码规范未必要太讲究只要不是那种惨不忍睹的形式就可以笼统要求一下尽量模仿开发环境生成的代码的风格就行。
项目经理若有时间或者有耐心不妨偶尔修改一下程序员的代码。
程序员完成某项任务告知项目经理然后会接到下一项任务。
项目经理在合适的时机执行重要功能测试并将相应的问题作为bug记录并指定人员修复。
一项功能的所有任务完成测试没有发现问题开始做下一项直到这个阶段的所有功能开发完毕。
此时可以邀请客户看看效果一般是由他们自己来操作记录下他们的想法和意愿下一阶段考虑。
如此循环直到项目结束。
小结一下流程是这样的项目目标几句话的文档-功能清单-划分阶段包括各阶段功能和阶段目标说明这样的文档-第一项功能的用户体验设计-第一项功能的开发任务、问题分配到人--项目中公用的任务数据库、界面体系、公用类设计、说明、安排人员-程序员逐项完成任务-第一项功能完成-重点功能测试--开始下一项功能... 业务细节的文档需要写的时候才写作为项目任务安排进去。
作为项目经理可以反思一下自己在编程的时候是什么状态心情不好的时候是不是会整天没办法做事集中精力做了2个小时会不会感到头昏眼花需要休息3个小时碰到问题解决不了的时候连续被挂上好几天是不是厌烦到极点能不能暂时搁置一下 其实每个程序员都是这样的。
早上可以 出去跑跑步10分钟有氧运动会令大家的心情奇怪的变好一些。
程序员进度明显停滞的时候要有耐心等待不要催。
可以问问他遇到什么问题了可以考虑是否能提出合适的建议。
这是很正常的现象。
工作一到两小时完全可以集体休息一会聊聊天。
在进度没有很明显问题的情况下不要绷得太紧张。
进度出现问题的情形下怎么办 嗯按照这种过程一般不会崩溃因为用户最需要的功能在前面已经完成了但你若遇到过于认真的客户基本上没有多少办法将不急的功能放在最后某些功能想办法说服用户不做一些功能用更简单的办法实现要求强手担负更多的工作或者项目经理赤膊上阵我想这些大家基本上都经历过。
我的意见仍然是基本上没有多少办法-----时间的减少导致程序品质的下降是有临界点的。
公司如果在承诺的时间做的是超出能力的工作软件过程是不能真正解决这个问题的。
最后的结果仍然是加班前提是项目经理承担更多。
加班的现实作用是增加紧迫感这可以从外部倒逼程序员有略多的专注工作时间。
所谓加班不能解决问题加班本身就意味着项目失败这种说法不适合中国人。
当然我们需要一套比较简易的项目管理工具我使用的是team fundation server上面提到的阶段、功能、任务、问题、bug、测试和源代码管理基本上都能够简单的解决。
即使是个人项目我也使用Tfs。
我推荐以基本模式安装也就是不用管报表之类的东西这样的话备份简单备份一个数据库就行了------复杂的备份过程是很浪费人力、并且抑制备份欲望的这不安全。
接下来我将以私募基金股票分析项目的例子将上面的过程重现一遍。
?? 2011 c.net编程学习网 xml地图
上一篇:
ASP网站数据库的安全分析及防范
下一篇:
[新闻文章]勇者天空文章主页v1_065567news10