一、 总述 2二、 项目计划 2三、 项目组织 3四、 项目管理 44.1、 软件开发规范 44」.1、命名体系 44.1.2、 编码风格 44.1.3、 界面风格 44.1.4、 版本控制 54.1.5、 通用约束 54.1.6> 开发方法 54.1.7、 开发流程 54.1.8、 交流制度 64.1.9、 代码标進化管理 64.1.10、 备份制度 64」.11、文档管理 64.1.12、 项目交付管理 74.1.13、 项目归档管理 74.2、 任务分解与分目标制定 74.3、 进度检查与绩效考评 84.3.1、 考评原则 84.3.2、 考评标准 94.3.4、考评矩阵 94.4、 应对一些突发事件(协调与调整) 124.5、 与有利害关系的人共享信息 12附录4・1项目开发计划 13附录4-2软件需求说明书 15附录4-3详细设计说明书 17附录4・4用户手册 19附录4・5数据要求说明书 22附录4・6项目开发总结报告 24附录5-1 JAVA编码规范 26附录5-2应用结构定义与命名规范 32附录5・3数据库对象命名规范 32.总述项目管理覆盖整个项目生命周期,管理制度就是落实到管理过程中的一些基 本要素,这里我们将其概括为三项基本业务:I、 项目计划① 指明要取得的各种结果② 指定进度表③ 估计所需资源II、 项目组织落实项目体系中的角色配置与角色的职责III、 项目管理① 约束② 任务分解与分目标制定③ 进度检查与质量评估④ 应对一些突发事件(协调与调整)⑤ 与有利害关系的人共享信息二、项目计划项目计划的结果体现为“项目开发计划”书面形式,其中要对开发过程中各 项工作的负责人、开发进度、进度衡量的标准、完成进度所需经费预算以及所需 软、硬件条件等问题详尽的罗列出来,以便根据本计划开展和检查本项目的开发 工作。
附录4-1给出计划书模板三、项目组织项目组织包括项目角色定义、角色责任定义、角色间关系定义角色定义是 根据项目需求配置(调配、招聘)具备相应素质与能力的成员角色责任定义就 是将具体的任务分解到每个角色;角色间关系定义指明报告与检查体系;一般情 况下为三级组织:业务与商务协调组(商务洽谈、目标与进度及资源定义与落实调整)项目经理开发组系统支持组负责主机、网络、应用支撐软件的安装调试开发经理系统架构组负责系统的体系结构与应用框架设计详细设计组落实到具体语言的功能实现质量控制组(负责功能、性能、可用性、可维护性、稳定性、压力测试)质量经理业务与商务协调组一般由客我双方成员共同组成,负责项目的总体需求、总 体目标、里程碑,关键技术路径定义在制定项目总体目标、里程碑定义与关键 技术路径时候要与开发经理联合统筹,并以项目经理意见为主开发组的责任人是开发经理,系统体系结构与框架由开发经理与开发组主力 程序员联合统筹,并以开发经理意见为主,具体功能实现一般以主力程序员(系 统分析员、高级程序员)意见为主系统支持”属于临时调配,很可能是外部 资源,但工作质量由开发经理检查质量控制由质量经理、开发经理、项目经理联合统筹,以质量经理意见为主。
整个项目生命周期中一般角色责任定义如下:软件开发可分为:据、定义、设计、编码、系统测试、接收、移植、运行等过程a阶段职责文角色定义需要定义问题说明书项目经理/分析员开始项目规划项目规划分析员设计设计方案设计说明书分析员编码编写程序编码说明书分析员倚级程序员将程序集成到系统中集戚测试说明书程序员测试验证系统功能与性能系统测试说明书测试员/分析员接收向客户演示系统操作说明书项目经理器户移植移植最终运行环境移植说明书分析员信级程序员数据采集及导入分析员雁序员运仃用户培训用户培训文档分析员/用户监控系统运行性能用户/分析员四. 项目管理4.1.软件开发规范这里只是给岀我司软件开发必须遵从的原则,具体内容应该由项目经理或开 发经理根据具体项口制定详尽约定在罗列规范Z前,开发组织(团队)必须遵 从一个最基本的约定一一统一开发环境:os:操作系统;IDE:集成开发工具;DEBUG:调试工具;SC:源代码控制器;IM:即时交流工具;DD:文档工具(计划,任务,报告);ASM:间接交流工具,一般以mail为主另外还要为团队固定一些一些角色,builder / Server administrator(dba&osa)。
严格区分开发平台与生产平台之间的界限(安全、测试、性能)4.1.K命名体系A) 数据库与数据库对象命名;B) 开发语言的元素命名(类、对象、文件、命名空间、组件、函数、方法等);C) 页面与页面元素命名.D) 文件目录体系缩进、换行、块大小、文件大小、注释4.1.3、界面风格组件类别、大小、前景、背景、字体、鼠标敏感、边框、布局4.1.4.版本控制创建权限、创建分之权限、更新频度、提交准则4.1.5、通用约束向导设置、数据校验、提示信息、响应时间与响应方式4丄6、开发方法鉴于用户需求的不容易澄清性与变动频繁这一特点,所有项目均采用迭代开 发方法这就是说不要指望在明确的需求调硏阶段能把问题搞清楚,弄清楚个大 概即可,以不超过两周的迭代间隔快速的交互原型,以便反馈更进一步的需求、 这样一步步逼近用户的真实想法这里要特别强调的是多与用户交流,项冃组内 有关设计方法与策略也要频繁地交流纯粹从开发的角度我们将项目周期划分为两个阶段,每个阶段要完成的的如下:■-初角J 阶、段4.1.8、交流制度项目组每周至少要进行不少于两次的集体交流,否则就是开发经理或项目经 理失职(交流不限制时间长短、方式、内容可以从需要到设计到实现、其至是抱 怨)。
4.1.9.代码标准化管理小组内成员必须开展互测,项目经理要督促进行如果一般性的缺陷被质量 组测试发现,项目经理可以作出警告、取消休假、扌II发奖金等处理措施项目经 理或开发经理可抽查成员代码,对比规范作出人员基本技术素养评测,计入期末 (项目结束)考核(去留)应用系统的所有资料[代码(程序、脚本块、数据库脚本)、文档、数据], 除了数据以外,全部纳入源代码控制系统数据每天备份一次[媒介是磁盘],代 码(程序脚本、数据库脚本)、文档每周一次[媒介是磁盘],所有信息每月备份 一次[媒介是光盘]4.1.1K文档管理没有文档的软件是一种灾难代码不是传达系统原理和结构的理想媒介;开 发团队更需要编制易于阅读的文挡,来对系统及其设计决策的依据进行描述然而,过多的文档比过少的文档更糟编制众多的文档需要花费大量的时间, 并且要使这些文档和代码保持同步:就要花费更多的时间如果文档和代码Z间 失去同步,那么文档就会变成庞大的、复杂的谎言.会造成重大的误导;对于团队來说,编写并维护一份系统原理和结构方而的文挡将总是一个好主 慝,但是那份文档应该是短小、突出主题的为此我们拟定所有项FI都必须编制 以下文档1《项目开发计划书》,模板见附录4-12《软件需求说明书》,模板见附录4-23《详细设计说明书》,模板见附录4-34《用户手册》,模板见附录4-45《数据库需求说明》,模板见附录4-56《项目开发总结报告》,模板见附录4-64.1.12、项目交付管理软件交付[应用,源代码]文档交付[视技术合同要求交付的内容而定]运行维护技术交付:系统、数据库、应用的日常管理与维护。
系统安全性交付:操作系统管理与应用账号、数据库管理与应用开发账号、应用 服务器的管理与应用开发账号4丄13、项目归档管理项目执行过程的所有资料[程序、脚本、数据、文档]以光盘作媒介,并附上 资料清单,交给公司行政部4.2、任务分解与分目标制定组织中的负责人负责具体的任务分解并落实到组织中的每个人形式如下:软件开发任务单项目名称: 任务编号 子项名称按“子系统f模块f功能”最多三级划分功能描述技术要求复杂度(业务与技术两个层次)任务发岀人任务承接人限时开始yyyy/MMdd限时结束yyyy/MMdd考核标准(百分制)分值考评项目301、时效性:(是否按时完成)402、客户关注点:(功能、可靠性、易用性、高效性、 可维护性、可移植性)表现如何103、规范与标准54、复用与创新85、团队精神26、奉献精神57、沟通精神4.3、进度检查与绩效考评4.3.K考评原则软件开发人员的绩效考评是所有软件公司都深感棘手但又必须而对的问题 棘手的原因是既不能进行计时处理、也不能进行计件处理计时会造成出工不出 力,计件(一般按代码条数)会挫伤优秀软件人员的积极性(同样实现一个功能, 差的软件人员成百上千行,而优秀软件人员只有几十行,且好用)。
但是只要尊 重一些必要的原则,还是能够加以评估的这里提岀六条原则:1、 被考核对象必须有明确的任务项目经理或开发经理必须发出明确的任务书:任务书中指定任务名称、任务 内容、完成时限之、考核标准、向谁负责、任务的难易程度(业务与技术两个方 面)难易程度由项目组成员集体评价没有明确的任务当然就无法考评(见表 4-2 )o2、 考评标准要综合计量量与非计量量计量量如:完成时间、完成了对少功能、测试出多少缺陷等,非计量量如:用户接受程度如何、项目组合作情况如何等等,要将这些因素综合考虑3、 要体现多劳多得、奖勤罚懒高效、高质完成任务的人员必须得到区别对待(调资、休假、奖金)4、 考评结果要及吋与被考评对象沟通,容许争议协调5、 考评时间不得跨度太大,一般为两周一次,不符合这种周期的,项 目经理与开发经理需要适当对任务做进一步分解6、 被考评要提供周报月报之类的内容,但不作为考评的依据我们只 注重结果,也就是说根据结果认定过程4・3・2、考评标准1、 时效性:不管是承揽项目还是产品研发都有一定的时间限定,愈期就意味着成本增加 甚至是失败所以能否按时完成任务是绩效考评的一个重要标致2、 客户关注点客户关注点也就是软件的品质,涉及的内容很多,按国家标准分为六个层面, 即:功能、可靠性、易用性、高效性、可维护性、可移植性。
这六个项目的次序 也就是我们考察的顺序,首先必须完成功能,然后再衡量功能是否可靠,再然后 才其他几个方面,如果以百分制来衡量,这六个指标的比例大致是 50, 25, 15, 10, 5, 5o也就是说必须保证前四项而功能、可靠性又是重中之重75%3、 规范与标准不以规矩不能成方园,不遵从标准的与规范的设计开发必将造成巨大的维护 成本与技术积累成本,同时也给软件交流与究错设置障碍,所以必须强调规范化 与标准化4、 复用与仓ij新性这是软件开发人员设计与开发综合能力的一个集中体现5、 团队精神没有团队精神的软件开发人员坚决辞退:开发过程中团队精神主要表现在: 一、对测试出的问题是互相推委,还是协商解决;二、接口设计各行其事还是共 同制订;三、发现他人犯错是善意提醒还是沉默不语;四、不注重版本管理6、 奉献精神任务比较紧张时候,是否不计较个人得失主动加班加点赶任务7、 沟通精神不懂问题是。