图书馆项目管理计划书
系(部)名 称 计算机科学与技术学院 组 长 组 员
课 程 名 称 软件项目管理 指 导 教 师
日 期: 2015 年 01 月 8日
1项目背景 1)项目组成
开发软件名称: 图书管理系统 项目任务提出者: 项目开发者:
用户:系统管理员、操作员、读者 实现软件单位: 2)待开发系统定义
传统的图书馆管理系统模式有多种缺陷,比如操作繁琐、工作量大难以上手,效率低、容错率差等。给大量的资料查询、更新及维护带来了大量的困难。图书管理系统对于现代图书馆而言,是能否发挥其教学科研的作用的至关重要技术平台。对于读者和图书管理员来说,是能否方便快速获取信息的关键。所以我们接受这个项目,首先考虑的便是功能的实现,给用户带来充足的信息和快捷方便的操作。 3)图书管理系统模型 图书信息表
⑴图书信息表(tsxxb)
字段 图书编号 图书名称 图书类别编号 书架位置 ISBN 类型 文本 文本 文本 文本 文本 长度 20 50 20 20 20 约束 主键,必须输入 必须输入 必须输入 作者 译者 单价 出版社编号 出版时间 总数量 入库日期 入库操作员 现存量 借阅次数 是否注销 内容简介 备注
⑵读者信息表(dzxxb)
字段 读者编号(借书证号码和用户名与此同) 读者姓名 读者类别编号 读者性别 出生日期 读者状态 办证日期 已借图书数量 证件名称 证件号码 读者单位 联系地址 联系电话 EMAIL 用户密码 办证操作员 备注
⑶借阅信息表(jyxxb)
字段 图书编号 图书名称 读者编号 读者姓名 图书价格 文本 文本 数值 文本 时间/日期 数值 时间/日期 文本 数值 数值 文本 文本 文本 20 20 20 10 1 200 50 类型 文本 长度 20 约束 主键,必须输入 文本 文本 文本 时间/日期 文本 时间/日期 数值 文本 文本 文本 文本 文本 文本 文本 文本 文本 10 20 2 4 10 20 30 40 30 30 10 10 50 必须输入 必须输入 类型 文本 文本 文本 文本 数值 长度 20 50 20 10 约束 主键,必须输入 主键,必须输入 借阅日期 应还日期 续借次数 借阅操作员
⑷图书类别表(tslbb) 字段 图书类别编号 图书类别名称 备注 ⑸出版社信息表(cbsxxb) 字段 出版社编号 出版社名称 出版社地址 邮政编码 联系人 联系电话 EMAIL 备注
⑹读者类别表(dzlbb) 字段 读者类别编号 读者类别名称 可借书数量 可借书天数 可续借次数 逾期缓冲天数 时间/日期 时间/日期 数值 文本 10 类型 文本 文本 文本 类型 文本 文本 文本 文本 文本 文本 文本 文本 长度 20 20 50 长度 20 30 40 6 20 30 30 50 约束 主键,必须输入 必须输入 约束 主键,必须输入 必须输入 类型 文本 文本 数值 数值 数值 数值 数值 数值 类型 文本 数值 时间/日期 文本 长度 20 10 长度 20 10 约束 主键,必须输入 必须输入 约束 主键,必须输入 必须输入 逾期每天罚款金额 丢失罚款倍数 ⑺ 图书注销信息表(tszxxxb) 字段 图书编号 注销数量 注销日期 注销操作员 2主要功能
本系统主要实现书籍管理、读者管理和借阅管理等主要的图书管理功能。 2.1图书管理
图书类别管理:增、删除、改等管理。 图书信息管理:新书入库,图书购入后由图书管理人员将书籍编码并将其具体信息录入书籍信息表。书籍信息修改,书籍信息由于工作人员的疏忽而出现错误时,可修改其信息。管理
员按不同方式查询、统计,读者按不同方式查询。 出版社信息管理:增、删除、改等管理。 图书注销:某一部分图书会随着时间的增长及知识的更新而变得不再有使用的价值,或者图书被损坏,这些图书就要在图书籍信息表中的除去。即从书籍信息表中删去此书籍记录。 2.2读者管理
读者类别信息管理:增、删除、改等管理。
读者信息管理:办理、挂失、暂停借、注销阅卡,录入、修改、删除读者信息。 2.3借阅管理
续借管理:提供读者在符合规定的情况下网上续借。
还书管理:根据借阅卡编号、图书ID等,在借阅信息表中找到相应的记录,将借书记录删除,更新该记录的相应数据(图书信息表)。根据违反规定情况计算和登记罚款记录。 借书管理:根据借阅卡编号和图书编号,进行借书登记。在借阅信息表中插入一条借书记录,该记录包括读者ID、图书ID、借出日期、借阅编号、操作员等信息,更新该记录的相应数据(图书信息表)。把超期图书以列表的形式显示出来,并以电子邮件或打印成书面通知读者。提供读者网上查询自己的借阅情况(包括超期提示)
3开发进度与成本估算 图书馆图书管理系统,此项目的成本是项目进行全过程所消耗的各种费用总和。根据工作分解结构制定出项目分摊估计表来有效的进行项目的成本计划。合同规定项目的总成本(包括软件开发成本、硬件成本和开发中的其他成本)是10万元人民币。 根据项目团队制定的工作分解结构,按照系统的生命期将本项目划分为六个活动,分别是项目规划、需求分析、软件设计、编程实现、系统测试、验收总结。对这六个活动进一步分解得到21个小活动。小活动的成本主要由劳动力成本(工资)和硬件成本构成。其中工资根据工期、人数和日工资来确定,硬件成本根据该项小活动的需求数量来确定。成本估算采用的方法为:先估算出每项小活动的预算,然后在算出大活动的预算,进而预算出整个项目的成本。
表1 图书馆图书管理系统项目工资标准计算表 1 2 3 资源名称 最大单位 标准费率 100% 100% 100% 加班费率 每次使用成本 ¥0.00 ¥0.00 ¥0.00 成本累算 按比例 按比例 按比例 基准日历 标准 标准 标准 ¥330/工作日 ¥50/小时 ¥200/工作日 ¥40/小时 ¥200/工作日 ¥35/小时
表2 图书馆图书管理系统项目分摊估算表(单位:元) 活动 小活动 预算小活动分摊 预算大活动分摊 770 2310 预算累计 770 2310 3850 6930 项目规划 1、模板确定 2、撰写项目计划报告 1540 3、需求调研 需求分析 4、需求分析 1540 3080 5、需求确认 6、撰写需求分析说明书 7、系统分析 8、模块设计 软件设计 9、数据库设计 10、美工设计 11、撰写详细设计说明书 12、硬件安装 软件开发 13、环境配置 14、代码实现 15、集成测试 软件测试 16、系统测试 17、撰写系统测试报告 验收总结 18、撰写用户手册 19、人员培训 20、产品转移 21、经验总结 1540 770 2310 5390 3850 2310 770 10000 770 10780 3080 3080 770 770 770 770 770 6930 8470 9240 14630 11550 16940 20790 23100 23870 21550 33870 34640 45420 6930 48500 51580 52350 3080 53120 53890 54660 55430
经过预算, 图书馆项目预算总金额为55430元。项目的合同规定总成本为100000,基本上达到44.6%的利润率。
原计划此图书管理经费占整个图书管理系统的百分之一十,即是10万,时间为3个月,整个项目由一名项目经理,两名开发成员,同时完成开发后要兼顾测试比较辛苦,所以时间也比较充足,要求图书管理的开发的时间最长不能超过原定计划的3天。比原计划提前了20天。这样就节省了不少成本。 4系统开发项目风险分析报告 4.1软件开发项目的风险背景
信息产业的发展是目前发展最快的行业之一,也是对社会影响最大的一个行业,它不但为我们创造了巨大的财富,而且从各个方面改变着我们的生活,达到一个行业,小到一项服务。我们不得不承认软件是二十一世纪最不可思议的产品。
伴随着软件开发技术的不断更新、软件数量的增多、软件复杂程度不断加大、客户对产品的要求也在不断的提高,随之而来的是软件开发项目给软件开发企业和需求企业带来的巨大风险。软件开发项目的成功与否会直接影响到公司的生存。这对软件开发企业来讲应该是更大的难题。一方面是业务需求更加复杂。人们对软件质量和用途的期望大幅度提高,对业务系统的要求也越来越挑剔。另一方面是开发成本不断缩减。在此形势下,风险管理与控制已成
为软件开发项目成败的关键。 软件开发项目由于其具有连续性、复杂性、少参照性,无标准规范等特点,其风险程度较高。目前国内的大多数软件开发企业还缺乏对软件开发项目的风险认识,缺少进行系统、有效的度量和评价的手段。据有调查数据显示,有15—35%的软件项目中途被取消,剩下的项目不是超期就是超出预算或是无法达到预期目标。另外,软件项目因风险控制和管理原因失败的约占90%,可见,软件风险控制与管理在目前的软件开发项目中的重要性。 4.2风险管理与风险控制介绍 1)风险管理
风险管理应是贯穿软件项目开发始末的一项重要任务,其中包括风险识别、风险评估、风险计划、风险解决和风险监控。它能让风险管理者主动“规避”风险,进行有效的风险管理。风险管理模型有:SEI风险管理模型、Riskit风险管理模型、SoftRisk风险管理模型、IEEE风险管理过程模型、CMMI风险管理模型、MSF风险管理模型等。在项目管理中,建立风险管理策略,在项目的生命周期中不断控制风险是非常重要的,风险管理主要包括五个阶段: (1)风险识别:识别风险的方法常用的有现场观察法、座谈法、流程图法、财务报表法、相关部门配合法和环境分析法等。
(2) 风险评估:对已识别的风险要进行估计和评价,风险估计的主要任务是确定风险发生的概率与后果,风险评价则是确定该风险的经济意义及处理的费/效分析,常用的方法有:概率分布、外推法、多目标分析法等。
(3) 计划进度:按照评估后的风险结果,制定相应的风险管理进度表,为后续的风险管理提供参考。
(4) 风险处理:一般而言,风险处理有三种方法,① 风险控制法,即主动采取措施避免风险,消灭风险,中和风险或采用紧急方案降低风险。② 风险自留,当风险量不大时可以余留风险。③ 风险转移。
(5) 风险监控:包括对风险发生的监督和对风险管理的监督,前者是对已识别的风险源进行监视和控制,后者是在项目实施过程中监督人们认真执行风险管理的组织和技术措施。 2)风险控制
(1)建立有效的风险控制的组织机构 ①设置风险管理岗位:在软件开发项目管理过程中设置风险管理岗位,该岗位的主要职责是在制订与评估规划时,从风险管理的角度对项目规划或计划进行审核并发表意见,不断寻找可能出现的任何意外情况,试着指出各个风险的管理策略及常用的管理方法,以随时处理出现的风险,风险管理者最好是由项目主管以外的人担任。风险管理岗位的人数依据项目大小来决定,一般2—3人较为适合。
②双项目经理:为项目开发项目设定两个项目经理岗位,一个负责技术岗位,另一个负责管理岗位。目前,国内的软件开发企业的项目经理一般都是一名,而且是技术出生的占绝对多数,他们主要擅长的是技术研发,在管理方面先天不足,这不利于项目风险管理和控制。通过增加专门的管理经理岗位,可以弥补技术出生的项目经理的不足,提升软件开发项目的管理水平。而且这样的经验也已得到了国外业界大多企业的认可。 (2) 建立有效的风险控制管理过程
风险管理过程包括培训,风险识别、风险分析、风险计划、执行计划、跟踪计划等活动,有效的风险管理过程应是学习型的、持续的和不断改进的。软件企业应建立自己的风险管理数据库作为风险管理的基础,并在实施中不断地更新和完善。 根据企业和项目的实际情况,进行科学的项目风险和控制,对项目的成功研发有着举足轻重的意义。在项目开发的过程中,进行必要的项目风险分析,制定符合项目特点的风险评估和监督机制,特别是要定期对项目的风险状况进行评估和监管,发现意外风险或者是风险超出
预期的一定要重点关照。发现问题要立即上报,尽快解决。并建立风险监管日志,实行“岗位负责制”,将软件开发项目的风险降到最低。 4.3软件开发项目的风险来源及对项目成败的影响
软件开发项目风险是指在软件生命周期中所遇到的所有的预算、进度和控制等各方面的问题,以及由这些问题而产生的对软件项目的影响。软件项目风险经常会涉及许多方面,如:缺乏用户的参与,缺少高级管理层的支持,含糊的要求,没有计划和管理等,总体概括下来应该由楼六大方面。 1) 需求风险
很多项目在确定需求时都面临着一些不确定性。当在项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就会对项目的成功造成很大威胁。如果不控制与需求相关的风险因素,那么就很有可能产生错误的产品或者拙劣地建造预期的产品。每一种情况对产品来讲都可能致命的。 2) 相关性风险
许多风险都是因为项目的外部环境或因素的相关性产生的。经常我们在控制外部的相关性上做的不够,因此缓解策略应该包括可能性计划,以便从第二资源或协同工作资源中取得必要的组成部分,并且觉察潜在的问题。 3) 技术风险
软件技术的飞速发展和经验丰富员工的缺乏,意味着项目团队可能会因为技巧的原因影响项目的成功。在早期,识别风险从而采取合适的预防措施是解决风险领域问题的关键。 4) 管理风险
尽管管理问题制约了很多项目的成功,但是不要因为风险管理计划中没有包括所有管理活动而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,他们有先天性的不足——自己检查自己的错误,这是最难的。然而,像这些问题可能会使项目的成功变得更加困难。如果不正视这些棘手的问题,它们就很有可能在项目进行的某个阶段影响项目本身。 5)自然风险
软件产品本身也属于一种应用型产品,同样会受到自然灾害的的影响。(自然风险主要有火灾、洪涝、恶劣天气等对图书馆的馆藏、服务系统、信息系统和人员可能造成的损害。) 4.4图书馆管理系统风险应对表 风险识别 编WBS号 模块 风险定性与定量分析 风险事件 风险概率 风险影风险影响描述 响值 风险期望值 风险应对 缓解策略策略 应急计划和突发事件 风险处理措施 风险负责人 1 需求风险 需求分析不到位,导致数据模型建立好后无法使用 缺少有效的需求变化管理过6% 10%≤成本增长<20% 0.2 0.12 重新进行到位的需求分析 当数据模型建立后无法使用时,即使重新做需求分析 一工周 作包负责人 三工天 作包2 需求风险 10% 5%≤进度实施0.2 0.020 及时和项目经理进行有效的当缺少有效的需求变化管理过程时,要及时,与相应的程 <10% 沟通,确保需求的有效管理 0.1 0.009 1、要做好与客户之间的沟通工作2、工作人员要做好应对必要变化的准备,满足客户的需求 0.080 与客户相关人员进行有效沟通 管理人员惊醒沟通,制定有效的变化管理 当客户不断变化需求时,1、要做好与客户之间的沟通工作2、工作人员要做好应对必要变化的准备,满足客户的需求 负责任 一工周 作包负责人 3 需求风险 客户不断9% 工作质变化需求 量受到较小的影响 4 需求风险 院图书馆调研经常推后 20% 10≤进度拖延< 0.4 当需求调研不能及时进行时,根据合理时间调研并与相关工作人员进行有效沟通并确定调研时间 两项天 目经理 5 需求风险 某些需求超出项目范围 25% 范围主要部分受到影响 0.2 0.050 查看范围进度计划,并与客户,进行合理的沟通 0.006 查看范围进度计划,及时修改 某些需求超出项目一项范围时,1、明确列天 目出超出项目范围需经求,2查看范围进理 度计划,并与客户,进行合理的沟通 当漏掉某些模块或多了某些模块时,1、查看范围进度计划,及时与项目经理进行沟通,如果漏掉某些模块,及时把漏掉的任务分配给相应的工作人员进行补充,如果多了一些设计模块,查看进度,并决定是否删除多出的模块 一工周 作包负责人 6 需求风险 漏掉某些模块或多了某些模块 6% 范围的次要不分受到影响 0.1 7 相关性风险 签订合同不科学不严谨,存在边界界定不清楚的问题 15% 10%≤进度实施<20% 0.4 0.060 及时与客户进行有效沟通并重新修订合同 当合同有问题时,三项1、及时与客户进行天 目有效沟通,并进行经重新修订合同,2、理 重新根据需求制定更加完美的合同 9 相关性风险 软硬件不兼容 1% 项目的最终产品实际上不能使用 0.8 0.040 及时与供应商联系,并进行有效沟通,更换硬件设备 当软硬件不兼容时三工1、及时与供应商联天 作系,并进行有效沟包通,更换硬件设备负2、如果无法更换,责查看该硬件是否可人 以用在该系统的其他位置 当病毒、黑客入侵 造成图书馆系统无法正常工作时,1、及时进行系统体检,用相关工具杀毒,2、通过相关设备对系统进行有效保护防止系统再次收到攻击 10 相关性风险 病毒、黑客入侵造成系统无法正常工作 5% 项目的最终产品实际上不能使用 0.6 0.050 做好系统安全防护 11 技术风险 预算有9% 10%≤误,导致进度实开发过程施无法进行 <20% 0.2 0.018 向投资者申请新的的资金 当预算有误,导致一工开发过程无法进行周 作时,向投资者申请包新的的资金,2、向负投资者展示新的预责算和以前错误的预人 算 当开发工具不可靠一工时,1、及时做测试,周 作发现bug。2、更换包开发工具 负责人 当使用框架存在漏一工洞bug,导致项目周 作失败时,1、及时对包框架进行修复2、负更换更可靠的框架 责人 当技术人员离职,2项模块任务无人完成天 目时1、加强人员考经核;确定人员的可理 靠性2、及时需找人员代替齐工作3、与当事人做及时沟通 12 技术风险 开发工具不可靠导致项目过程中的bug 5% 10%≤进度实施<20% 0.40. 0.032 确定开发工具可靠 13 技术风险 使用框架1% 质量降0.2 存在漏洞低需要bug,导致得到有项目失败 关领导的批准 技术人员离职,模块任务无人完成 5% 10%≤进度实施<20% 0.3 0.002 测试人员及时发现问题,开发人员及时解决问题 0.050 1、加强人员考核;确定人员的可靠性2、及时需找人员代替气工作 14 管理风险 15 管理风险 不能按进度计划完成相应的任务 2% 10%≤进度实施<20% 0.3 0.060 做好跟踪记录 当不能按进度计划一工完成相应的任务周 作时,1、做好对每个包人的及时跟踪记负录,2、若不能按进责度完成,应当进行人 加班完成相应任务 当进度进化不够完善导致整体任务滞后时1、及时调整计划2、将所差进度加班完成 2工天 作包负责人 15 管理风险 进度进化5% 质量降0.6 不够完善低需要导致整体得到有任务滞后 关领导的批准 火灾、涝灾、地震等自然灾害 1% 质量降0.3 低需要得到有关领导的批准 0.086 及时调整计划 16 自然风险 0.020 做好转移工作,降低损失程度 当火灾、涝灾、地三工震等自然灾害时1、天 作做好系统备份的转包移工作,把损失降负低到最小2及时做责出应急处理,是相人 关负责人做出快速反映。 5开发项目人员分配
项目人力资源计划就是决定在项目中的每一项工作中用什么样的人力资源,确定人力资源的数量、质量和结构。 组织结构
图书管理系统的项目管理是采用项目型组织,各成员按照从事的项目组成不同的团队,并由指定的项目经理来协调和管理项目的运作。 a、职能型组织 b、项目型组织 c、矩阵型组织 复合型组织 人员要求 a、项目经理
1、有5年以上软件研发经验
2、能分析和判断大部分软件问题。对项目软件开发过程负责。有丰富的项目经验和很强的责任心。
有熟练的英文阅读能力和交流能力。 b、调研分析员
1计算机、软件工程等专业本科以上学历;
2熟悉需求调研方法,具备较强的业务流程及业务模型分析设计能力;
3熟悉软件工程理论,掌握软件需求获取与分析方法;具备财务软件、物流系统软件、ERP\\SAP等系统软件的需求分析经验优先考虑; 4有较强的文档编写能力,有较强的团队协作精神 c、系统分析员
1精通Java语言,WEB编程,熟悉J2EE应用系统开发,熟悉Tomcat等应用服务器; 2熟悉Mysql等数据库的设计与开发;
3熟悉软件开发流程,具有需求分析和架构设计的实际经验;
4能够控制客户需求,并能够处理好与客户之间的关系,有较强的文档撰写能力; 5能够高效的管理与激发团队,使团队更具有凝聚力。 d、模块设计员
1精通java及数据库相关知识(至少3年以上开发经验,1年以上架构设计经验); 2熟悉面向对象的分析设计方法;
3熟练使用UML工具进行建模设计,并能充分理解客户的需求并根据需求进行模块化和面向对象分析设计;
4能够独立完成系统需求分析与概要设计设计工作; 5有较强的系统需求分析、设计文档编写能力; 6具有良好的团队协作精神,有较强的业务模型分析能力,思维清晰敏捷,逻辑分析能力强,善于与人沟通,能够承担一定的工作压力 e、测试工程师
1计算机、软件工程等相关专业; 角色 项目经理 调研分析员 姓名 职责 项目总体设计,制定和监控开发进度,制定相应的开发规范、负责各个环节的评审工作,协调各个成员(小组)之间开发。 实际调研,提供详细的策划方案和需求分析 2对人员管理、资源调配、测试方法改进等经验;
3分析能力强,思维周密、积极主动,关注细节,勇于创新,良好的沟通技巧以及优秀的言语表达能力,具备良好的团队合作精神;
4熟悉一些主流的软件工程方法论和思想,了解软件工程,软件生命周期模型基础; 实施人员 1积极上进
2有项目管理经验优先 3肯吃苦,能出差 客户联络员
1较强的沟通、理解和应变能力
2有刚正不阿的性格,吃苦耐劳的精神 3服从公司工作安排,能长期出差。 2角色职能表
系统分析员 模块设计员 程序员 测试工程师 实施人员 客户联络员 根据需求分析报告进行总体分析,得出系统的概念模型 根据系统分析结果对系统做模块化分及相关接口定义 编写功能模块的实现代码并惊醒单元测试 测试程序及系统的功能 负责工程实施, 现场培训, 协助项目验收,需求的初步确认,项目维护。 与客户联系、协助其他人员与客户的交流 6系统成品评价
6.1对生产效率的评价
给出实际生产效率,包括:
⑴.系统开发已历时快2个月的时间了 ⑵开发的反复性比较多。
⑶对客户的需求理解不是很透彻。
综合以上,虽然以上问题是项目开发经常面对的问题,开发工程中存在着一些问题,造成这些问题的原因是多方面的。如:前期系统数据库的设计缺陷和部分代码的构建缺陷、客户需求的理解上也存在一定问题,这就需要我们用一定的时间来维护客户使用过程中提出的新问题和存在的bug,这些都造成了一定时间的消耗,但同时也使得我们的产品日趋完善。但是总的来说此项目的开发效率不是很高,相反有相当一定时间的浪费。 经过我们各位成员的共同努力,图书管理系统已经很好的完成了客户的业务流需求。经过对客户使用过程的观察,此项目开发的还是比较成功,但是还是存在着一些问题,造成这些问题的原因是多方面的。如:前期系统数据库的设计缺陷和部分代码的构建缺陷、客户需求的理解上也存在一定问题,这就需要我们用一定的时间来维护客户使用过程中提出的新问题和存在的bug。总的来说,此系统的功能开发还是一个比较成功的案例。 6.2对技术方法的评价 ⑴系统开发框架:此系统的框架使用的是简单三层结构,此框架在开发一些中小软件是比较实用的。但是我们要是可以开发出自己的框架,把一些通用的功能开发到框架中。这样以来,在以后的系统开发中,针对系统中一些通用的功能就不需要再开发,从而也可以很好的提高我们的开发效率;减少很多维护费用。使我们的技术不断的更加成熟。
⑵系统安全加密:此系统中针对客户提出的系统安全问题,我们采用了Ikey加密硬件钥匙来验证客户端登陆客户的合法性,此Ikey钥匙可以绑定到一个系统使用用户,也可以让多个用户来使用一个加密钥匙来验证登陆系统的合法性。这样以来,即使用户的密码不慎丢失,或者被不法人员取得(不法人员他也是无法登陆到我们的系统中来),这样就最大的提高了我们系统的安全性。Ikey加密钥匙是很好的加密B/S架构软件的硬件工具,在以后的软件安全方面可以借鉴。
⑶我们在项目开发中,使用了一些测试工具,包括JUnit,JCheck。
测试工具的应用可以提高测试的质量、测试的效率。但是在选择和使用测试工具的时候,我们也应该看到,在测试过程中,并不是所有的测试工具都适合我们使用,同时,有了测试工具、会使用测试工具并不等于测试工具真正能在测试中发挥作用。 7经验与教训 7.1签定合同
一个项目的开发成败或者说项目开发带来效益的大小,在很大程度上是受项目合同签定的影响的。往往,很多一部分公司与客户签定的项目合同都是很模糊的,也很难签定的比较清楚,这样以来就会导致在项目的开发后期,工作两会越来越大,影响项目的竣工周期;而且,项
目的开发费用一般是不会变的。这样以来,我们就大大的降低了我们的开发效益。虽然需求范围很难签定的明确,但是我们在签定合同时,需要研究求实,要尽量的去把合同功能边界和添加新功能的条件签定。 7.2需求的调研
在项目确立后,就到了需求调研分析阶段。
1.项目组对客户的整体组织结构、公司有关人员的关系、职责等如果没有一个很好、足够的了解掌握,这样项目组就无法很好的完整的整理到客户的需求、或者说客户真实的功能需求,如此以来我们就为自己埋下了地雷,影响项目的开发周期,这就要求我们要与客户搞好无论是工作上的还是生活上的朋友关系,要深入的去了解客户需求。 2.我们要尽量的让客户也参与到项目的开发团队中来,也就是说我们要使客户把自己也纳入到项目的开发团队中来,如此一来,我们掌握客户需求的真实性、可靠性就会大大的提高,也就不会为项目的后期功能开发埋下陷阱
3.在需求调研过程中,如果缺乏足够用户参与,这样的需求调研也是失败的。很多程序员不愿参与到客户的需求调研中去,为什么呢?很简单,与客户沟通不如与代码沟通容易有意思。尽管这样,我们还是必须用足够多的时间去和客户进行沟通,了解他们真实的需求。很多用户也是如此,他们自己也不愿意参与到项目的需求调研中来,为什么呢?需求调研是一件枯燥的事对吗?虽然现状如此,我们还是要努力的使客户参与到需求的调研中来。 7.3做好开发计划
在项目确立后,我们就需要做好项目开发计划,需求调研用时,开发用时,测试用时,实施用时,维护用时。在我们做好了计划后,我们要随时的跟踪计划任务的完成进度,从而使我们的项目进度掌控在我们的开发周期范围之内,今日计划、行动,明日成功。 7.4做好人际沟通、培训准备和动员工作
1)项目组成员的任务分配不是十分均衡,小组成员的职能划分不清,未能按要求实现计划书中的职能分配,造成了效率低下。
2)由于实现开发成员对此次项目开发的环境并不太熟悉,项目组也没有组织培训,造成了摸石过河的现象,降低了开发速度和后期的赶工。
3)项目组成员在各个模块的开发时后沟通不够,一度各自为政,造成了二次开发,浪费了资源。
4)项目组缺乏一种有效的激励机制,出现了一些怠工现象。
在其他行业中,人与人的之间的沟通只很重要的。项目开发也不例外,很好的沟通能够加快项目的进度,这就要求我们每一个开发人员要学会和善于沟通于客户和同事之间。利于下次项目开发可以让项目组成员成员之间以及与本公司其他其他项目组保持沟通,实现技术共享提高开发效率。同时对外上,在一个项目的开发过程中,我们与客户的沟通是一个不断交流和沟通的过程。在开发到一定的阶段,我们就需要和客户沟通已有功能,尽量的去避免一些隐藏的问题,及时的发现问题,解决问题,从而按时或者提前完成项目的开发。
因篇幅问题不能全部显示,请点此查看更多更全内容