关于项目工程管理的探讨.(200分)

  • 主题发起人 主题发起人 willsu
  • 开始时间 开始时间
W

willsu

Unregistered / Unconfirmed
GUEST, unregistred user!
如果你是一个小团队的leader,你将怎样组织并带领大家进行项目开发。
主要是关心技术方面,比如:全局变量、全局函数的命名和使用,
各模块的之间的衔接...
有哪些是须注意的关键.
 
严重关注。
 
技术方面的话。
第一:设计先行,设计时需要将软件架构考虑清楚。基类、源代码目录、
公用类,公用的工具类函数库等都需要先考虑清楚。对一些公用的对象首先定义好接口,
然后再编程。最大程度将界面和商业逻辑隔离开。不然以后维护会很麻烦。
第二:开始编程了,选一个版本控制软件,定义好编程规范。让一两个写程序好的人
写好示范代码,组织大家学习。然后开始编吧。
 
最重要的是需求分析,
一般的项目实践,凡是出现重大问题,
追根溯源基本都会发现是需求问题。
因为需求问题,是和客户的一个共同
协作的产物,有很多开发团队难以控制的
因素,且是以后的所有环节的基础。
如果需求不出大问题,其他的问题
一般都可以在开发团队内部得到处理。
毕竟如果大方向不错,自己人内部的
问题,怎么说都好说。
 
这是我从过去的一些小感想中cut了一些,有些语句不通,多担待着看
我们第一阶段的目标:
1代码易读,好找错,好修改,稳定,好维护
2螺旋式开发,每周小计划安排,频繁检查目标,进度和质量
在这一阶段,最容易犯的是注重性能,注重程序技巧和不常用技术,想面向对象,怕浪费资

不要去吝惜多写begin
..end,不要吝惜多写一个变量赋值,我看见程序员这样写
GetData(pid, GetOutWardDate());因为在参数和()多了的时候往往使语句显的很复杂
不管单元,函数,还是变量,尽量使用业务命名,不要使用计算机术语命名。并且写的代码
和注释尽量突出业务需要和业务流程
不要面向对象,因为你用属性,消息,事件,继承,反而把易读性失去了。因为在第一阶段
的程序员往往还不能灵活并深刻掌握面向对象的本质
我们应该一切所做都是为了这个目标
1命名,写注释,封装,小函数,错误自我保护,这样易理解[命名,写注释],错误也不容易
扩散[封装,小函数,错误自我保护],报错也清晰易修改[错误提示清晰]
2严格数据结构设计,所有字段都不允许为空,不允许有默认值,没有约束条件,没有
trigger,力求出错就断定是程序的错,而不会程序和数据库两头不稳定,两边都需要查,这
样就好找错,也为稳定性提供了支持
3先开发流程大框架,再开发大框架中的功能,再开发需要数据拉下和保存的数据操作[这是
or mapping],再开发界面[这是oi mapping],这样就保证了由于彼此独立所以好修改
4有各种数据校验工具,系统维护管理工具,初始化工具,数据表说明,数据字典说明,业务
手册,很容易维护
5迭代开发,功能由粗变细,由少变多,所以不让问题扩散,既保证了进度又保证了稳定性
6每周小计划安排保证了进度安排现实,可以现实控制。频繁检查目标,进度和质量,避免程
序员尝试新技术新方法或追求完美偏离目标和时间表
7用SQL SERVER设计表结构,用PB记下字段含义,用DELPHI做界面,用WORD写描述,用
SMARTDRAW画流程
在产品开发期间就用它进行数据输入输出和字典维护。在产品出品准备期间,集中进行业务
逻辑正确性测试,数据正确性测试,报表正确性测试,性能压力测试,加强保护代码和错误
提示代码
在客户实施期间,边加强功能实用易用边调整高性能
易用的指导原则是尽量不用输入,不用回答是与否,不用人工检查,一句话,尽量不用动脑
子和手
实用的指导原则是完成他现在最需要解决的问题,而不是所有问题和未来要遇到的问题
这样实用,易用,高性能,代码好修改,实施好维护,开发有进度,稳定的一个产品多好
第二阶段的目标
由于第一目标的实现,工程人员在第二阶段需要完成的关键
1做好需求调查
找到关键提需求的人,找到关键需求问题[是他们一直想解决却解决不了的]
收集他们的人员组织,人员功能
常用流程,单据,报表
不常用流程,单据,报表
特殊流程,单据,报表
2按培训手册和培训计划进行培训
3按数据规范进行数据准备,按数据校验工具进行数据校验
4按实施规范把软件环境各方面部署好
5按上线计划推进

没有用什么XP,UML,CMM,ROSE,ERWIN,VISIO,DUNIT,设计模式,project2000之类,
软件写的挺好,用户也用的不错,你还奢望什么
 
阿朱说的真好。
我我们大致也是如此,但是没有做的这么好。
有一点一定要抓住--项目管理。
最好是学习微软的软件里程碑的创建性的项目管理,个人觉得很好。
每个阶段都要有阶段性的成功,这样程序员比较容易有成就感;
客户也比较容易接受。
而willsu说的技术问题,个人觉得都不是什么问题,呵呵。
模块之间的衔接注意耦合度要比较小就可以了。
如果做到每个模块都可以独立,那么你的软件就更棒了。
 
按照rup的方式进行
业务建模,需求,分析,设计,实施,测试
进行迭代是开发
不要项目开始的时候就想怎么实现,用什么技术阿等等
先搞清楚用户的需求,否则,后患无穷
 
通俗点:
1.注意整个程序框架的把握
2.公用的函数,窗体等要非常通用,并要通过严格的试测
3.全局变量少用或不用
4.关键的模块或窗体由专人写
 
后退
顶部