记录一个人事管理信息系统的开发过程2(结束)

项目结束已经很久了,没心情,不太想记录这些破事了,但还是有朋友关心,所以就整理了一下,也希望他人能从中吸取教训。

一、需求。随着与客户沟通的深入,发现H、F等前期的需求分析并不到位,有很多地方没有达到客户的期望。这时,X建议采用界面原型法开发,先做出个东西,让客户逐步确认是否是他们想要的,如果不是也请他们配合用书面文字提出自己的要求或改进意见。在这个过程中,客户具体负责人的本职工作很忙,有畏难情绪,并且他们一开始并没有重视这个项目(项目老板Y最初并没有与客户方达成书面合同,只是想通过此项目作为突破口打入政府机关的更多大项目)。后来,在客户方领导逐步重视并要求下,需求分析才有较明确的进展。此后,顺利设计了数据库,并准备在界面原型的基础上继续开发。由于时间紧张,就计划先开发一个基础可用版本,先不考虑人员信息变动要审批的情况。

二、开发。经过前一阶段做需求和界面原型开发的过程,团队成员彼此更熟悉了。在做需求的过程中,X也基本掌握了.Net Remoting技术,并开发了程序的服务器端和整个项目的程序框架。在这个框架的基础上,我们准备分工开发。X与项目组织者F商量,在团队中明确X的技术主导地位,能够去指导、检查H、K的工作,并做代码的合并与检测,以保证项目的进度和质量。必竟后来做的需求主要是X去做的,而且有相应的技术优势,并且根据X以往的带队经验,觉得这样会更有利于项目的进展。但是F不同意,说大家都平等分任务就行了。X也没说什么,那就平分吧。其实还是X主导大家商量着,相对平均的分了一下。大概一周多后,团队成员碰头,X、H的进度基本可以,但K的进度太慢,他只关注界面而忽略核心业务,确切说与业务相关的东西都没做。X、H心都很气愤。K说最近太忙没时间。K走后,X、H对F说,如果K这样子不如不用他了。后F与K沟通,K也说不想干了,但过了两天,F又说K还想干,希望大家给他一个机会,X、H也没脾气,只好同意。大约两周多后(暑假大家分头各自开发),大家又碰头,X的工作顺利完成(要知道这些日子,X加班加点,中间回家探亲也未与父母说几句话,天天埋头在笔记本电脑上),可是H的就差强人意了,K的就更气人了,进展很小。F后说,K说这期间家中有老人病危,我想信他的话,也很同情他,但即使这样也应该及时向团队说明情况,可以让团队及时调整工作,唉,不说了。K终于走人了,可是耽误的是时间,这一段时间客户方要求得更紧了,说一个月必须完成,否则本部门上级要开发一个比此简单的类似系统,完成后我们的系统就没法上报了(当然是无法申请经费了)。后来,H要去外地读博士,H也走了,没人了。X告诉F要再找人,一个人干不下去,而身体也越来越吃不消了。团队已经散了,或者团队压根没有形成。其实X也想放弃了,从头至尾X苦苦支撑,总想把这件事完整的做好,可是太累了。

三、坚持。F劝X再坚持一段,作为朋友X没有推辞,但坚持不再做具体代码工作了,身体受不了,需要再找人开发。F又找了一个学校的研究生Z。老板Y看目前的情况很着急,碍于情面并未挑明。F后来又一直出差,Y为了把此项目坚持做下来,又找了一个技术不错的D,D是Y的同乡朋友。Y就与X一道跑客户,并与X聊项目的组织等情况,希望X组织好后续的开发,后来一段时间X负责整理客户意见,然后分工让Z和D开发或修改程序,之后X测试并要求他们改进。前期的简化版基本出来了,D也渐渐掌握了整个项目的情况。X也不想干了,太累了,所以后续也不主动参与了。D有时候问X问题,X也详细解答。D成为后续开发的主要力量。

四、结局。这样,在X基本不参与的情况下,持续了近一个月。老板Y约F、X一块碰头,D也在。D演示了后续的程序效果,Y现在基本满意项目的进度,并要求商量一下D与前期F、X等工作量的问题,其实就是基于原先承诺给F团队的资金的分成问题,也是想做个了结。让X提议,X提了自认为客观的比例2:3,即D占2,F团队占3,大家都没异议。Y说这钱等项目在政府有最终结果时(哪怕是项目没有申请上)时再给。如果这钱没有结果,X真为自己前期那么投入去做这个项目感到不值。做软件开发太累了,今后X是不太想做了,当然X有本职工作,目前要尽量把自己从技术苦力中摆脱出来。

五、心得:

(1)缺乏组织的团队,无法真正形成合力,团队领导很关键;

(2)有分工才会有协作,分工不是平均分配任务;

(3)沟通、协作的素质是团队的基本要求,否则就无法敏捷了;

(4)界面原型法是有效的捕获需求的方法,MIS系统是不断随需求的变化演进的;

(5)简单三层架构在MIS系统开发中会使项目结构清晰,一般也勿须用更复杂的分层了;

(6)学点设计模式或者再深入学习下“抽象”会对程序设计有很好的帮助,能够一定程度上降低代码的耦合度,提高代码的扩展性、优雅度;

(7)用.Net Remoting技术开发分布式MIS系统不失为一种好办法,编程复杂度并算太大(采用简单三层架构);

(8)健康第一,挣钱第二!

 

上篇: 记录一个人事管理信息系统的开发过程1

时间: 2024-09-24 22:24:23

记录一个人事管理信息系统的开发过程2(结束)的相关文章

记录一个人事管理信息系统的开发过程1

  项目初期-愉快的沟通.确定路线.统一思想 朋友F接到一个项目,开发一个地级市的人事管理信息系统.分布式的终端用户约100个,人员数据量约4万条,5年内数据增长后不会超过10万条.我们组建了一个四人小团队,X(就是我啦).H和K,当然还有F. X.H具有多年的程序开发经验,以前合作过,很愉快.X善长.NET,H善长Java. K有一定开发基础,熟悉PHP/MySQL,经验略显不足. H已经做了初步的系统功能设计,对用户需求较熟悉. 初次的团队会议(很自由的讨论)讨论技术路线问题.H主张用Del

请人帮忙给我的女友编写一个人事管理信息系统程序,明天上午要交

问题描述 请人帮忙给我的女友编写一个人事管理信息系统程序,明天上午要交 1.①建立员工信息,包括:员工编号.姓名.性别.年龄.民族.出生日期.联系电话.婚姻状况.家庭住址.归属部门.备注: ②建立员工工资,包括:员工编号.工资编号.基本工资.加班工资.奖金.补贴.备注: ③建立员工就职,包括:员工编号.部门编号.部门名称.就职时间.离时间.手机号码.就职职位.备注: ④建立公司部门,包括:部门编号.部门名称.主管领导.员工人数.部门电话.备注: ⑤建立用户表,包括:用户名.密码.用户权限: 2.

用vbs记录屏幕保护程序的开始时间和结束时间_vbs

问: 您好,脚本专家!如何记录屏幕保护程序的开始时间和结束时间? -- JS 答: 您好,JS.您知道,一位脚本专家(嘿,谁说"肯定是 Greg"?)年纪大得记得屏幕保护程序刚出现的日子.那时,这类脚本毫无意义.毕竟,屏幕保护程序启动后,每个人都神魂颠倒,从未想过让它结束.事实上,作为计算机支持人员的这位脚本专家首先必须做的一件事就是在每个人的桌面上创建快捷方式,使他们能够随时启动"飞转的小烤炉". 那时人们很容易得到快乐. 啊,但是活在过去没有意义,对吧?在今天的

软件-C# 如何实现当一个指定的进程(非本身)结束后, 同时也结束掉自己的进程(本身)!

问题描述 C# 如何实现当一个指定的进程(非本身)结束后, 同时也结束掉自己的进程(本身)! 举例. 现在我同时打开了 软件A, 软件B, 软件A 是已经做好的软件或是游戏~ 不是我自己编写的. 软件B 是我自己现在要做的软件~ 如何实现 在两个软件同时打开的情况下, 关闭掉软件A, 那么软件B也会自动关闭. 关闭掉软件B, 强制结束掉软件A的进程! 解决方案 所谓的B自动关闭,其实就是B执行结束.因此来说,在B中只要判断A是否存活.A若存活,则继续执行.A若不存活,则结束程序,即可. 建议由B

用十年时间记录一个苗寨

       业余摄影爱好者蒋建雄正在做一件"伟大的事",除了大量的照片,他还写下了近6万字的文字叙述 蒋建雄正在做一件"伟大的事"--他用10年时间,用镜头和笔,记录着一个苗寨的"成长"--生产.生活.甚至生理特象--包括看得见的和看不见的,远远超过摄影师的镜头之外. 蒋建雄觉得"伟大"评价过高.但之所以用"伟大"这词,一点也不夸张,原因有二:其一,目前柳州甚至在国内,除了他以外,还没有发现有人这样做:历

Juniper防火墙的日志记录一个的问题

今天看了一下机房的防火墙,突然一段连续且短的但是很明显的英文通过我的眼睛进入了我的大脑,有点儿不对劲儿,打开详细内容看看. SIP parser error Message: Cannot find CRLF SIP parser error Message: Cannot find CRLF SIP parser error Message: Cannot find CRLF SIP parser error Message: Cannot find CRLF SIP parser error

还原SEO过程:记录一个网站收录的前前后后

最近在A5上看到了很多关于淘宝客的项目,也看了很多站长的分享,感觉它是一个非常有潜力.有竞争,同时灵活性也非常强的行业,所以自己就购买了域名并且购买了虚拟主机,开始了我的淘宝客之路.几个网站到现在已经半个多月,现在排名最好的已经到首页,从收录到排名,让我又一次见证了SEO手法与百度的特点,今天和新手站长们分享一下最近的记录,看看一个网站想要收录并且获得排名都会经历些什么. 保持各方面的持续稳定 第一要保证网站各个方面的持续稳定,请注意,是持续稳定.这次我做淘宝客,选择的关键词也都不是很难,主要目

记录一个mysql连接慢的问题

问题现象是这样的: 我在一台机器上(61.183.23.23)启动了一个mysql,然后开通一个账号可以从127.0.0.1或者从61.183.23.23访问.但是遇到一个问题就是使用下面两个命令行访问的时候,速度差别非常大: mysql –h 127.0.0.1 –u user mysql –h 61.183.23.23 –u user   然后我使用ping,判断两个IP的速度差不多. 使用127.0.0.1的IP速度比另一个快太多了.虽然说这里的61.183.23.23需要去外网走一圈,但

怎样 将数据库查出的一列记录 !一个一个的放如ArrayList中!高手赐教!

问题描述 同上 解决方案 解决方案二:1.可以把数据库读出来的记录先放到dataset中,然后循环dataset将数据写入到arrylist.2.可以用datareader,一条一条的进行写入.解决方案三:sqlcommandcmd=newsqlcommand(sqlconnection,commandtext)sqldatareaderrd=cmd.Excudereader()ArrayListlist=newArrayList()while(rd.read()){list.add(rd[0]