为提高公司车辆使用效率、节约经费开支,保障工作正常开展与车辆正常运行,经公司研究决定,办公室负责管理所有机动车辆,具体规定如下:
一、车辆使用范围
1、根据车辆使用范围的不同,公司车辆分为办公用车与项目用
车两类:
1.1
办公用车指由办公室日常安排调度的车辆。
1.2
项目用车指公司有针对性的派驻某个项目使用的车辆。
2、办公用车的使用范围:
2.1
公司领导公务用车。
2.2
公司业务用车。
2.3
携带现金较多的工作用车。
2.4
重要会议或集体重大活动用车。
2.5
其他紧急情况用车。
3、项目用车的使用范围:
3.1
用于项目材料采购、工程、销售等业务。
二、车辆调度
1、办公用车的调度:
1.1
统一由办公室主任或车管人员负责派遣调度。用车人员应做
好《出车记录表》的登记。
1.2
业务用车人员提前提出用车申请,以便办公室合理安排车辆。如多个部门同时申请用车,办公室有权根据业务的轻重缓急统筹安排车辆,用车人员不得因无公车使用而延误工作。
1.3
公司领导急用车可直接通知驾驶员出车,驾驶员在出车前或
1.0目的
为了规范项目部车辆管理,提高项目部车辆使用效率,满足公务用车需求;降低出车事故率,保证车辆及出行安全;充分利用现有车辆资源,减少经费开支,特制定本规定。
2.0范围
项目部
3.0职责
3.1行政部负责项目部所有车辆的统一管理。
3.2项目部的车辆由项目经理负责调配。
3.3责任人负责车辆的具体使用及养护。
4.0内容
4.1项目部车辆原则上由行政部统一管理,项目经理负责项目车辆的调配。
4.2新项目的开工,公司行政部将根据项目的具体情况配置车辆。
4.3项目部内部用车,每次外出时,须经项目经理批准并根据需要及车辆调度情况做用车统筹安排。
4.4每次出车前及出车后,应及时,准确做好出车里程数登记。
4.5驾驶员必须服从项目经理的调配安排,严格按照派车规定的时间、地点出车,不得私自用车或擅自将车辆借给他人使用,一经查实,写出书面检讨,并予以行政处罚。如发生责任事故,造成经济损失,驾驶员应负全部责任。
4.6驾驶员是车辆的主要责任人,必须保证车辆安全,定期按规定对车辆进行日常保养;保证行车安全,严禁酒后驾车及无照驾车或将车辆借与不相干人等使用。
4.7私车公用,车主需到公司行政部登记备案,并根据《项目车辆管理办法》的规定对该车辆在项目部产生的费用进行核实后方能报销;车辆报销的费用仅含车辆正常使用的油费、过路费、维修及日常保养费用,年审、保险费用由车主承担。
4.8出车完毕,车辆必须停放在项目部规定地点,钥匙交还项目部。严禁异地停放,并采取必要的防盗措施。
4.9油卡及粤通卡充值办理,应按公司制定标准及当月财务统计公布数据为准;项目部如有情况特殊需要增加油费,需提交油卡增值书面申请报总经理审批。
4.10驾驶员必须随时掌握车况,定期按规定对车辆进行保养、修理、使其处于良好的性能状态。
4.11私车公用的车辆,公司将安排定点车辆维修中心对其进行评估,再由行政部经理核定后,制定该车辆的维修定额。
4.12车辆维修前应由驾驶员填写维修申请单,注明修理范围、更换机件项目及修理费用预算等,由项目经理核实签字后送修。如果超出维修内容或超出车辆固定维修金额发生的费用,公司不给予报销。
4.13驾驶员外出行车或停车时,必须严格遵守交通规则,严禁违章、违规行驶或停放。驾驶员因自身原因违反交通法规,罚款由驾驶人自行承担。因公发生违章,驾驶员与公司各承担50%的罚款。因公发生交通责任事故,查明原因,视发生情况的轻重给予处理;车辆调配发生异动,期间的车辆违章罚款及缴费手续由用车人负责。
4.14车辆购置后必须及时购买保险,除附表中车辆保险由公司承担外,其余车辆的全险、强险、商业险、车船税等保险购买由车主自行承担。
4.15为完善行政部车辆管理档案及了解车辆的使用情况,项目部每月5日前需将上月车辆产生的所有费用报公司行政专员统计并录入车辆管理系统。
4.16油卡充值按月按定额以银行转账方式进行充值;外地项目部车辆油费、过路费、保养及维修费则经项目经理审核后采用实报实销的方式。
4.17因公车辆违章由车辆当事人以个人报销形式申请报销,并说明原因;
4.19指定车辆的保险由公司统一进行购买和付款。
4.20深圳市内车辆保养、维修的费用采用月结的方式付款;外地车辆则采用实报实销的方式。
4.21车辆调配、出车均应填写《用车登记表》,经项目经理审核签字后,根据车辆调配实际情况给予安排。
4.22行政部不定时进行记录核查。
5.0其他
5.1本制度由行政部负责解释与修订。
5.2本制度自签发批准之日起生效执行。
6.0附件
《用车申请登记表》
1、认真贯彻国家有关安全生产的法律法规、方针、政策,认真贯彻有关建筑施工的各项规章制度。坚持“管工程必须管安全”的原则,在工程建设工作的计划、布置、检查、总结、评比的同时,计划、布置、检查、总结、评比安全工作。
2、各单位要根据施工安全的需要,建立、健全项目的安全生产管理制度。
3、各单位要根据有关规定,制定工程建设期和年度安全目标、安全工作计划、安全技术措施计划,经项目安全生产委员会审议后,组织落实,并报企业主管部门备案。
4、企业必须设立独立的安全生产监督机构,配备必要的工作人员。
5、项目安全生产委员会每季度应召开一次全体会议,研究解决项目安全工作方面的重大问题。每月召开一次安全生产例会,传达上级安全文件、会议精神,通报安全生产情况,检查和布置安全生产工作。
6、企业和各单位在签订工程管理合同时,要将安全生产要求列入技术和商务条款中,要根据有关法规的要求,在合同中明确双方应承担的安全责任。
1、项目成立安全领导小组,项目经理为小组组长,施工队队长、安质工程师为副组长,各施工队安全员为组员,协助项目经理监督、检查日常安全生产。
2、经理部及各施工队必须经常性的组织职工学习安全生产的有关知识、文件,每月至少一次,并做好文字记录。
3、参加施工的所有人员必须进行上岗前的安全教育,经考试合格后,方可上岗作业。
4、项目经理、安质工程师和各施工队每月组织一次全面的安全的检查,检查的重点是防机械伤人、防触电、防火灾、防洪、爆破物品等。特别是本工程位于林区施工,应非常注意防火。进场施工人员严禁吸烟,严禁在林区明火,防止引起森林火灾。对查出的事故隐患及事故苗头,有关部门要制定计划,限期整改。
5、进场作业人员必须遵守劳动安全纪律,戴好安全帽,高空作业必须系安全带,严禁穿硬底鞋、拖鞋、高跟鞋或赤脚进入施工现场:女工不得穿裙子上班作业,非工作人员不得随意进入施工现场,爆破警戒区。
6、施工各现场必须设置各种防护设施,安全标志。
7、发生伤亡事故后,应当保护事故现场,有关人员应立即报告项目经理或有关领导,采取措施,组织抢救,防止事故扩大,尽量避免人员伤亡和财产损失。
8、在项目安全生产工作中,项目部将对安全生产班组和个人给予表扬和奖励,对安全事故责任人按有关条例进行处罚,对违反施工现场安全管理的人员处以50~100无的罚款。对造成重大财产损失和人员伤亡的,将直接追究肇事者的经济和法律责任,追究施工队负责人的领导责任。
一、风险评估
软件项目风险是指在整个项目周期中所涉及的成本预算、开发进度、技术难度、经济可行性、安全管理等各方面的问题,以及由这些问题而对项目所产生的影响。项目的风险与其可行性成反比,其可行性越高,风险越低。软件项目的可行性分为经济可行性、业务可行性、技术可行性、法律可行性等四个方面。而软件项目风险则分为产品规模风险、需求风险、相关性风险、管理风险、安全风险等六个方面:
1. 产品规模风险
项目的风险是与产品的规模成正比的,一般产品规模越大,问题就越突出。尤其是估算产品规模的方法,复用软件的多少,需求变更的多少等因素与产品风险息息相关:
(1) 估算产品规模的方法
(2) 产品规模估算的信任度
(3) 产品规模与以前产品规模平均值的偏差
(4) 产品的用户数
(5) 复用软件的多少
(6) 产品需求变更的多少
2. 需求风险
很多项目在确定需求时都面临着一些不确定性。当在项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就会对项目的成功造成很大威胁。如果不控制与需求相关的风险因素,那么就很有可能产生错误的产品或者拙劣地建造预期的产品。每一种情况对产品来讲都可能致命的,这些的风险因素有:
(1) 对产品缺少清晰的认识
(2) 对产品需求缺少认同
(3) 在做需求分析过程中客户参与不够
(4) 没有优先需求
(5) 由于不确定的需求导致新的市场
(6) 不断变化需求
(7) 缺少有效的需求变化管理过程
(8) 对需求的变化缺少相关分析等
3. 相关性风险
许多风险都是因为项目的外部环境或因素的相关性产生的。控制外部的相关性风险,能缓解策略应该包括可能性计划,以便从第二资源或协同工作资源中取得必要的组成部分,并觉察潜在的问题,与外部环境相关的因素有:
(1) 客户供应条目或信息
(2) 交互成员或交互团体依赖性
(3) 内部或外部转包商的关系
(4) 经验丰富人员的可得性
(5) 项目的复用性
4. 技术风险
软件技术的飞速发展和经验丰富员工的缺乏,意味着项目团队可能会因为技巧的原因影响项目的成功。在早期,识别风险从而采取合适的预防措施是解决风险领域问题的关键,比如:培训、聘请顾问以及为项目团队招聘合适的人才等。关于技术主要有下面这些风险因素:
(1) 缺乏培训
(2) 对方法、工具和技术理解的不够
(3) 应用领域的经验不足
(4) 对新的技术和开发方法应用不熟悉
5. 管理风险
尽管管理问题制约了很多项目的成功,但是不要因为风险管理计划中没有包括所有管理活动而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,他们有先天性的不足――不能检查到自己的错误。因而,使项目的成功变得更加困难。如果不正视这些棘手的问题,它们就很有可能在项目进行的某个阶段影响项目本身。当我们定义了项目追踪过程并且明晰项目角色和责任,就能处理这些风险因素:
(1) 计划和任务定义不够充分
(2) 对实际项目状态不了解
(3) 项目所有者和决策者分不清
(4) 不切实际的承诺
(5) 不能与员工之间的进行充分地沟通
6. 安全风险
软件产品本身是属于创造性的产品,产品本身的核心技术保密非常重要。但一直以来,我们在软件这方面的安全意识比较淡薄,对软件产品的开发主要注重技术本身,而忽略了专利的保护。软件行业的技术人员流动是很普遍的现象,随着技术人员的流失、变更,很能会导致产品和新技术的泄密,致使我们的软件产品被它公司窃取,导致项目失败。而且在软件方面关于知识产权的认定目前还没有明确的一个行业规范,这也是我们软件项目潜在的风险。
7. 回避风险的方式
(1) 以开发方诱导能保证需求的完整,使需求与客户的真实期望高度一致。再以书面方便形成《用户需求》这一重要的文档,避免疏漏造成的损失在软件系统的后续阶段被逐步地放大。
(2) 设立监督制度,项目开发中任何较大的决定都必须有客户参与进行的,在该项目中项目监督由项目开发中的质量监督组来实施。
(3) 需求变更需要经过统一的负责人提出,并且要用户需求的审核领导认可,需求变更应该是定期而不是随时的提出,而且开发方应该做好详细的记录,让客户了解需求变更的实际情况。
(4) 控制系统的复杂程度,过于简单的系统结构,对用户来使用比例会有明显的折扣,甚至造成软件寿命过短。反之,软件结构的过于灵活和通用,必然引起软件实现的难度增加,系统的复杂度会上升,这又会在实现和测试阶段带来风险。适当控制系统的复杂程度有利于降低开发的风险。
(5) 从软件工程的角度看,软件维护费用约占总费用的55%~70%,系统越大,该费用越高。对系统可维护性的轻视是大型软件系统的最大风险。在软件漫长的运营期内,业务规则肯定会不断发展,科学的解决此问题的做法是不断对软件系统进行版本升级,在确保可维护性的前提下逐步扩展系统。
(6) 设定应急计划,每个开发计划都至少应该设定一个应急预案去应对出现突发情况和不可遇知的风险。
二、成本预算
1. 成本预算方式
(1) 自上而下的预算方法
自上而下的预方法主要是依据上层、中层项目管理人员的管理经验进行判断,对构成项目整体成本的子项目成本进行估计,并把这些判断估计的结果传递给低一层的管理人员,在此基础上由这一层的管理人员对组成项目的子任务和子项目的成本进行估计,然后继续向下一层传递他们的成本估计,直到传递到最低一层。
使用此预算方式,在上层的管理人员根据他们的经验进行的费用估计分解到下层时,可能会出现下层人员认为上层的估计不足以完成相应任务的情况。这时,下层人员不一定会表达出自己的真实观点,不一定会和上层管理人员进行理智地讨论,从而得出更为合理的预算分配方案。在实际中,他们往往只能沉默地等待上层管理者自行发
现问题并予以纠正,这样往往会给项目带来诸多问题。
自上而下更适用于项目启动的前期,与真实费用相差在30% ~ 70%之间。
Scrum使用自上而下的成本预算方式,它不会立即精确地确定成本,而是以最大限度容纳客户对未来产品要求所
产生的变更。
(2) 自下而上的预算方法
自下而上方法要求运用WBS(Work Breakdown Structure,工作分解结构)对项目的所有工作任务的时间和预算进行仔细考察。最初,预算是针对资源(团队成员的工作时间、硬件的配置)进行的,项目经理在此之上再加上适当的间接费用(如培训费用、管理费用、不可预见费等)以及项目要达到的利润目标就形成了项目的总预算。自下而上的预算方法要求全面考虑所有涉及到的工作任务,更适用于项目的初期与中期,它能准备地评估项目的成本,与真实费用相差在5% ~ 10%之间。
注解:WBS
WBS是面向提交成果对项目的分解,从提交成果的列表可以确定每个提交成果需要执行的活动。Scrum会对WBS进一步细化,把每个迭代分解为更细小的工作包。
2. 确定项目支出
总体成本预算就是结合下列多个成本预算方式,组成开发的总体成本:
(1) 零基数预算
在成本预算的初期应该使用零基数的计算原则,而不可以使用类似于:以上一年总体费用加上20% 这样粗略的方式计算项目成本。
(2) 软硬件成本、物品成本
物品成本是指类似于:服务器(RAM 硬盘 CPU NIC卡 RAID簇)成本、维护成本、机房租金、光纤通讯成本、软件成本等的成本。
计算成本时需要考虑组装硬盘需时的长短,技术人员需要具备的质素,产品供应商能否提供保证质量,管理时是否需要额外的管理人员这些多方因素。
(3) 软件许可证成本
(4) 外包成本
当使用类似:视频、短信、移动电信类服务、门户网站等子项目时可以考虑以外包形式完成,以降低开发成本。
(5) 人力资源成本
计算人力资源成本时应该使用以最高和最低的工作效率估算平均效率的方式,计算出人力资源的平均成本。
(6) 维修保养成本
三、客户沟通的过程
从客户沟通的方向出发来看,软件项目可分为:需求识别、方案定制、项目实施、项目结束等4个不同的阶段,各个阶段都具有不同的沟通重点。
1. 需求识别阶段
(1) 文本沟通
在需求识别的前期,应该通过问卷、原型展示、界面展示、逻辑处理展示、准化文档模板等方式进行全方位多角度的分析,随时将不明确之处反馈给客户,以期待客户解答。并以文本记录的方式建立需要分析书,并要求客户审核需求分析书,以达到需要分析与客户的真实期望高度一致的结果。
(2) 业务逻辑沟通
在进行业务沟通时,应该了解客户的行业语言,以促进业务分析的过程,越过应用需求和开发之间的鸿沟。沟通过程提倡以草图或者可视信息化的方式进行,针对不同层面的企业用户提供最适合的操作界面。以多角度的方式思考问题,要抓住需求重点,尤其是客户方领导所关注的创新类和实用类需求。
(3) 需求变更的规范化管理
需求变更在软件开发类项目中是可以理解的,但必须对需求变更做好规范化的管理,以避免出现需求无止境变更的风险。需求变更必须由统一的负责人提出,并且由用户需求的审核领导者认可。需求变更的提出应该是定期而不是随时的,开发方应该做好详细的文本记录,让客户了解需求变更的实际情况和开发方为之所付出的成本代价。
2. 方案定制阶段
该阶段项目的主要任务是与客户共同制定一个以前期明确的需求、双方的资源、项目开始的阶段、实施的时间约定、项目费用限制等为基础的具有可操作性的项目计划,从本阶段开始争取客户全面参与项目的管理,并以双方的共同利益考虑项目实施的具体计划与风险规避。
3. 项目实施阶段
在该阶段,软件项目团队应该与客户共同领导项目的实施。同时,项目团队应实时评估客户满意度,并通过持续改进的方式提高客户满意度,还应要求客户参加必要的培训,以及在必要时检查项目产品。在出现客户的需求变更前,应主动与客户沟通交流,使客户充分了解项目的每个环节,以及变更带来的影响,减少需求变更。如果出现客户需求变更,应与客户一起共同解决由变更引起的成本、进度、质量变化。
4. 结束阶段
该阶段主要进行项目成果的移交,并把系统交付给维护人员,帮助客户实现商务目标,结清各种款项。完成这些工作后应该进行项目评估,审核此项目的成果并总结项目经验。
5. 售前人员注意事项
在产品型项目作为开发成果时,相关销售人员应该注意:对产品的推销不应该过分承诺。如果过分承诺,会给后续的项目实施带来困难;一旦承诺没有兑现,也会降低客户满意度,影响今后合作。如果有附加承诺,一定要以文本形式记录,让实施项目经理知晓并传达给项目组成员。
注解:在软件项目中,需要明确以下四种客户角色
A. 要明确最终使用部门和用户,要去了解他们现有的工作方式,要让他们知道项目的目标框架,知道项目要解决他们的哪些困难,但绝对不是全部困难,这样可以较好的控制项目范围。
B. 要明确需求的提出者,他或者他们要能够代表最终客户群体。提出产品需求的这类客户要具有一定的技术、业务能力和权威,能够真正代表最终客户团队的意愿和想法,最好有IT基础,能够用IT语言描述问题和需求,以利于双方的沟通、协作,避免产生歧义。
C. 要明确做需求确认的中层领导,他要把握方向。软件开发项目是解决实际生产或者管理问题,同时 也是领导系统建设的具体实现,做需求确认的客户领导,既要了解高层领导的系统建设要点和方向,又要谙熟具体业务和生产管理实际。如果是这样的客户领导来把握和决策,对企业软件开发项目的顺利进展作用非凡。
D. 要明确谁来对成品提意见,谁来验收。项目验收环节,是项目的收尾环节,如果验收的人对项目初期的需求目标不了解,会从态度和产品实际使用效果上对验收产生负面的影响,对提供产品的企业关闭项目非常不利。根据实践总结,由需求提出人和确认人来做项目的验收工作,能够促进项目的顺利完成,避免延期。
四、需求分析
1.需求分析的过程
需求过程包括需求开发和需求管理2个部分:
(1) 需求开发就是对开发前期的管理,与客房的沟通过程,可以分为4个阶段:需求获取、需求分析、编写需求
和需求验证。
(2) 需求管理:就是软件项目开发过程中控制和维持需求约定的活动。包括:变更控制、版本控制、需求跟踪、需求状态跟踪。
2. 需求的层次
需求的层次包括:业务需求、用户需求、功能需求、非功能需求等4个方面。
3.需求开发阶段的重点
(1) 提取业务对象
业务对象是指系统使用的真实对象,例如一个供应链管理(Supply Chain Management ,简称SCM)业务对象主要包括:生产批发商、零售商、送货商、顾客多个层次。
(2) 提取业务流程
在了解业务逻辑的过程中,应该列举出所开发软件模块的各自职能,并细化每个工作流程,深入分析业务逻辑。
(3) 性能需求
在分析的前期应该注意客户对所开发软件的技术性能指标,如存储容量限制、运行时间限制、安全保密性等。
(4) 环境需求
环境需求是指软件平台运行时所处环境的要求,如硬件方面:机型、外部设备、数据通信接口;软件方面:系统软件,包括操作系统、网络软件、数据库管理系统方面;使用方面:使用部门在制度上,操作人员上的技术水平上应具备怎样的条件。
(5) 可靠性需求
对所开发软件在投入运行后发生故障的概率,应该按实际的运行环境提出要求。对于重要的软件,或是运行失效会造成严重后果的软件,应提出较高的可靠性要求。
(6) 安全保密要求
在需要分析时应当在这方面恰当地做出规定,对所开发的软件给予特殊的设计,使其在运行中,其安全保密方面的性能得到必要的保证。
(7) 用户界面需求
为用户界面细致地规定到达的要求。
(8) 资源使用需求
开发的软件在运行时和开发时所需要的各种资源。
(9) 软件成本消耗与开发进度需求
在软件项目立项后,根据合同规定,对软件开发的进度和各步骤的费用提出要求,作为开发管理的依据。
(10)开发目标需求
预先估计以后系统可能达到的目标,这样可以比较容易对系统进行必要的补充和修改。
面向对象分析的基本原则
面向对象分析是面向对象的软件开发过程中同问题域直接打交道的阶段,为了尽可能完成高质量、高效率的分析,分析过程中应该遵循如下原则。
1.抽象原则。面向对象分析方法中的类就是抽象得到的;系统中的对象是对现实世界中事物的抽象;类是对象的抽象;一般类是对特殊类的进一步抽象;属性是事物静态特征的抽象;服务是事物动态特征的抽象。
2.分类原则。分类就是把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。分类原则实际上是抽象原则运用于对象描述的一种表现形式,通过不同程度的抽象可以形成一般/特殊结构。在OOA中所有的对象都是通过类来描述的。
3.聚合原则。聚合是把一个复杂的事物堪称若干简单的事物的组合体,从而简化对复杂事物的描述。在面向对象分析中运用聚合原则将一个较复杂的事物划分为几个组成部分,分别用整体和部分进行描述,这样形成的整体/部分结构不仅能清晰地表达事物的组成关系,还可以简化分析过程。
4.关联原则。关联是人类思考问题时常用的方法,通过一个事物可以联想到另外的事物,产生联想的原因是事物之间存在着某些联系。在面向对象分析过程中运用关联原则可以在系统模型中明确地标识对象之间的静态联系。例如理发师和剃头刀之间存在着这样一种关联,理发师可以使用某把剃头刀。如果这种联系信息是系统责任所需要的,则要求在面向对象模型中通过实例连接明确地表示这种联系。
5.消息通信原则。这一原则要求对象之间只能通过消息进行通信,而不允许在对象之外直接地存取对象内部的属性。通过消息进行通信是由于封装原则而引起的。在面向对象模型中要求用消息连接表示出对象之间的动态联系。
4. 需求分析的任务
需求分析的主要任务是借助于当前系统的逻辑模型导出目标系统的逻辑模型,其流程如下:
(1) 确定对系统的综合需求(功能、性能、运行、扩充需求)
(2) 制作产品需求文档 (PRD)
(3) 分析系统的数据需求(概念模型、数据字典、规范化)
(4) 导出目标系统的详细的逻辑模型(数据流图、数据字典、主要功能描述)
(5) 开发原形系统
(6) 从PRD提取编制软件需求规格说明书(SRS)
备注:SRS格式
1.引言 2系统概述(项目背景、系统目标、核心业务流程) 3.术语说明 4.系统结构(架构图、功能图)
5.主体功能与业务逻辑(重点) 6.接口需求(内部、外部接口、) 7.网络总体设计(拓扑网络、主机、组网)
8.运行环境(Linux、Windows、IIS、WebLogic、Tomcat、OLAP、OLTP、JDK 8.0 、。NET Framework 4.0等)
五、面向对象程序设计(略)
1. 设计原则
(1) SRP单一职责链
每个类都应该只负责做一件事。
(2) OCP开封闭合原则
软件的实体(类、模块、函数等)应该是可以扩展的,但是不可修改的。
(3) LSP替换原则
子类必须能替换他们的基类型。
(4) DIP依赖倒置原则
高层模块不应该依赖于低层模块,二者都应该依赖于接口与抽象类。抽象不应该依赖于细节,细节应依赖于对象。
(5) ISP接口隔离原则
不应该强迫客户依赖于并未使用的接口,而应该把胖接口分离。
2. 实现UML建模
(1) 业务对象的提取
(2) 根据SRS、CRC等实现用况建模
(3) 实现业务顺序图
(4) 建立类图,根据用况图建立对象之间的关联
(5) 绘制活动图、实现协作图、状态图
六、开发管理
1. 建立项目计划
(1) 设计总体架构
针对系统的实施需要,采取适当的且成熟的框架结构。
(2) 控制可扩展度
扩展度过大,将提高系统的复杂程度,延长开发时间;扩展度过低,会直接影响系统的二次开发与维护。控制系统的可扩展性,能提高开发效率,降低系统维护的难度。
(3) 建立基础设施
合理分配软、硬件等基础设施的部署所需要的时间与成本(例如:服务器的订购安装、光纤接入、软件平台订购)。
(4) 划分开发任务
利用WBS(Work Breakdown Structure,工作分解结构)对可交付结果进行分类与划分。每个项目都能划分为多个不同阶段,每个阶段又可以分为多个工作包(Work Package),工作包是WBS里最小的可交付结果,最后从工作包中分解出多个开发任务列表。
(5) 部署开发进度
一个项目应该按进度划分为多个开发阶段,每个阶段的开发周期一般在30~60个工作日以内。在此阶段内应该与客户举行协商会议,制定产品路线图,在开发过程中邀请客户积极参与并提出反馈意见。然后把该时段内的开发任务按照开发难度,依赖性,重要性等多方条件划分为多个迭代周期。
在Scrum 敏捷软件开发原则中,应该把每个迭代任务进一步细分为多个开发任务列表,开发任务的开发时间应该控制在15个工作小时以内,如果开发时间超出15个工作小时,应该考虑把开发任务再度细化。开发任务建议应该由组员自主选择,而不要使用强制分配的方式。
(5) 测试项目成果
每个工作包都应该同步部署测试工作,提高项目的质量。对出错BUG的工作包应该由测试人员以文本方式记录,向开发人员展示错误所在,让开发人员及时进行修改。
2. 管理开发团队
(1) 组建团队
按照工作任务与项目时间的前提条件建立团队,按团队职责分配人员,一般团队人数应该控制在8~12人之间。当团队人数超过15人时,应该考虑把团队分解成2个独立团队,负责不同的开发任务。
(2) 分配开发任务
在每个迭代周期内(一般是15~30个工作日),应该把每个工作包进一步细分为多个开发任务,开发任务的开发时间应该控制在15个工作小时以内,如果开发任务的开发时间超出15个工作小时,应该考虑把任务再度细化。而开发任务应该以自由选择的方式分配给每个组员。
(3) 监督开发进度
在迭代的前期举行一次会议,让组员了解开发的进展及流程,并以自主选择的方式分配开发任务。期间可使用Microsoft Project等工具记录开发流程的进展,在每个工作包完成开发后应该进行性功能的测试,并以文本方式记录测试结果。
每天举行一次15分钟的站立会议,让组员交待昨天已完成的开发任务,当天将要做的任务,与开发过程中所遇到的问题。并在每周末举行一次例行会议,交待总体进程。
在迭代末期举行一次冲刺会议,总结项目的进展,交行已完成的任务,回顾该迭代周期内所遇到的问题,为下一个迭代做好准备。
(4) 系统测试
对每个已完成的工作包进行适时的测试,保证系统质量与性能。对测试结果进行文本的记录,并把测试结果与绩效工资收入挂钩,并以真实数据计算组员的绩效收入。
(5) 解决开发中所遇到的问题
对开发人员进行前期培训,可适当按工作能力分配任务,指导组员的开发。当遇到问题时应该在当天的站立会议时即时提出,并在15个工作小时内解决所遇到的问题以防止问题进一步扩大。
3. 监管产品质量
(1) 质量需要的是计划、设计而并非审查的。在产品建立的初级,必须与“质量保证”(QA)的部门进行协商,以正式文档的方式,决定恰当的质量策略和标准。
(2) 在开发过程中使用TDD(测试驱动开发)的模式,提高开发质量。测试人员应该以文本方式记录bug,并与开发人员共同工作的,把突出的缺陷演示给开发人员,以提高修改的效率。
(3) 在每个迭代的结束时进行一次产品效果的演示,从客户、使用者、高层领导中收集反馈信息。在团队内部举行评审会议,分析测试结果,了解产品性能,为下次迭代所需要做的改进做好计划。
4. 修改项目计划
(1) 在产品需要识别阶段,应该以文档形式记录产品功能与开发流程,在开发计划需要修改时,应该与客户共同探讨,让客户了解计划修改对项目进度所造成的影响。
(2) 项目计划的修改应该由统一的负责人提出,并且由用户需求的审核领导者认可。需求变更的提出应该是定期而不是随时的。
(3) 计划的变更应该做好详细的文本记录,让客户了解需求变更的实际情况和开发方为之所付出的成本代价。
七、产品交付
1. 项目的后期审核
在项目开发最终完成后,对开发人员来说可算是放下工作的重担,但对项目经理来说这往往是项目的关键时刻。前期的风险评估、成本预算、需求分析、软件设计都是为了引导项目走向这一时刻,此时所有的目光都将投向项目管理人员。你可能发现大量而琐碎的工作将要在几个小时内完成,此刻项目经理更需要保持清醒与镇定,把最后的工作视为微型项目来对待。细致地对项目进行后期的审核,分析项目成果、项目团队的效率、可交付产品的价值,以此审核结果可作为项目管理经验总结的一部分。
2. 质量评审
在项目交付前,应该把项目交给相关的“质量保证”(QA)部门进行质量评审,并邀请典型用户感受产品的质量。
3. 项目的最终交付
正常情况下在项目的前期就会订立项目交付的协议,项目交付方式分为非正式验收与正式验收两种。一般在项目完成后都会先进行非正式验收,让客户体会项目的质量并提出反馈意见,最后在客户肯定产品质量后再以书面协议的形式进行正式的产品验收。
4. 项目的最终报告
在项目的最后,应该制定项目的最终报告,此报告可以视为是对该项目一个记录,但报告不必包含项目的所有方面。一般最终报告应该包含以下方面:
(1) 最初引进项目时的初期项目视图
(2) 对该项目的价值评估及支持性信息
(3) 项目的范围
(4) 项目的开发流程及WBS
(5) 项目的会议记录
(6) 项目变更的报告及变更的理由
(7) 与项目相关的沟通过程文件
(8) 项目的审核报告与客户验收报告
(9) 项目成员的表现报告
(10)项目的最终成果
[任务项目管理流程]
项目管理流程是项目先后衔接的各个阶段的全体,以下是信息系统项目的管理流程,一起看看吧。
信息系统项目管理流程
项目启动
在项目管理过程中,启动阶段是开始一个新项目的过程。启动信息技术(IT)的项目,必须了解企业组织内部在目前和未来主要业务发展方向,这些主要业务将使用什么技术及相应的使用环境是什么。启动信息技术(IT)的项目的理由很多,但能够使项目成功的最合理的理由一定是为企业现有业务提供更好的运行平台,而不是展示先进的IT技术。
每个项目在一个阶段完成后,进入下一阶段之前必须要顺利的通过前面一个阶段的阶段关口控制。要将本阶段的关口控制文件或关口控制审批做好。随着项目不断地向前推进,项目的投入将越来越多。因此,每个阶段都要进行阶段性的审核或检查。上一阶段控制关口提供的文件将是下一阶段的启动文件。
一般意义上的项目启动是在招投标结束了,合同签订之后。
项目计划
在项目管理过程中,计划的编制是最复杂的阶段,项目计划工作涉及十个项目管理知识领域。在计划编制的过程中,可看到后面各阶段的输出文件。计划的编制人员要有一定的工程经验,在计划制定出来后,项目的实施阶段将严格按照计划进行控制。今后的所有变更都将是因与计划不同而产生的。也就是说项目的变更控制将是参考计划阶段的文件而产生的。
目前,一些企业为了追求所谓的低成本、高收益,压缩项目计划编制时间,导致后期实施过程的频繁变更。学习PMP的人都知道,质量是规划、设计出来的,不是靠检查来实现的。所以,这样做既没有降低成本,也没有提高效益,反而导致项目的失败。
项目实施
在项目实施阶段是占用大量资源的阶段,此阶段必须按照上一阶段定制的计划采取必要的活动,来完成计划阶段定制的任务。在实施阶段中,项目经理应将项目按技术类别或按各部分完成的功能分成不同的子项目,由项目团队中的不同的成员来完成各个子项目的工作。在项目开始之前,项目经理向参加项目的成员发送《任务书》。《任务书》中规定了要完成的工作内容、工程的进度、工程的质量标准、项目的范围等与项目有关的内容,《任务书》还含有项目使用方负责主要人的联系方式及地址等内容。
项目收尾
项目的收尾过程涉及到整个项目的阶段性结束,即项目的干系人对项目产品的正式接收。使项目井然有序地结束。这期间包含所有可交付成果的完成,如项目各阶段产生的文档、项目管理过程中的文档、与项目有关的各种记录等。同时通过项目审计。
在项目的收尾阶段中的主要活动是,整理所有产生出的文档提交给项目建设单位。收尾阶段的结束标志是《项目总结报告》,收尾阶段完成后项目将进入维护期。
项目的收尾阶段是一个项目很重要的阶段,如果一个项目前期及实施阶段都作的比较好,但是在项目的收尾阶段没有重视,那么这个项目给人的感觉就象虎头蛇尾的工程一样,即使项目的目标已达到,但项目好像总没有完结一样。所以一个项目的收尾是非常重要的,项目的收尾做的好,会给项目的所有干系人一个安全的感觉。项目的收尾还有一个重要的事情,就是要对本项目有一个全面的总结,这个总结不仅对本次项目是一个全面的总结。同时,也是为今后的项目提供一个可以参考的有经验的案例。
项目维护
在项目收尾阶段结束后,项目将进入到后续的维护期。项目的后续维护期的工作,将是保证信息技术能够为企业中的重要业务提供服务的基础,也是使项目产生效益的阶段。在项目的维护期内,整个项目的产品都在运转,特别是时间较长后,系统中的软件或硬件有可能出现损坏,这时需要维护期的工程师对系统进行正常的日常维护。维护期的工作是长久的,他将一直持续到整个这个信息技术(IT)项目的结束。也就是说,什么时候本IT项目的硬件及其上运行的系统退出,那时将是项目后续的维护期的结止日。
一、总体设计思路
1、考核目的
为了提升项目实施人员的工作业绩、奖励先进、督促后进、促进团队合作、贯彻公司的发展战略,特结合项目实施人员的工作特点,制定本方案。
2、适用范围和特点
适用于本公司所有项目实施人员和配合项目实施的技术人员,本方案的考核内容仅限于项目实施部分。
3、考核指标及考核周期
针对项目实施人员的工作性质,将参与项目实施人员的考核内容确定为工作业绩考核,考核周期分单项目考核和年度绩效考核。
4、考核关系
由总项目负责人会同项目经理以及相关人员对项目实施进度、质量管理和个人工作能力、设备投放社会公众满意度检测进行调查和评定,项目总负责人做最后考核结果的审批。
二、考核内容设计
1、工作业绩指标
项目实施人员的工作业绩指标要根据项目实施工作特点和公司的实际情况主要侧重于个人工作能力、任务指标完成情况两个方面。任务指标完成情况:指公司安排的任务计划是否按时完成。
考核结果分“合格”与“不合格”两种,按时完成即为“合格”,
无特殊原因没有按时或因工作质量不达标要求重新实施部分工作即为“不合格”。
考核结果分“优秀”、“良好”“一般”三种,能够独立熟练有序完成工作的为优秀,独立/熟练/有序满足其二的为良好,只能达到某一条件为一般。
2、项目实施考核表
3、年度绩效考核表
三、考核实施
项目实施的考核过程由三个阶段构成完整的考核管理流程,分别是计划沟通阶段、计划实施阶段和考核阶段。
1、考核明细标准
总分数为10分,达到8分+为优秀,6分+为良好,4分+为一般。
2、计划沟通阶段
(1)项目经理(或考核者)与被考核者明确本次考核项目的工作任务、完成目标和计划时间
(2)双方确定工作任务等情况的前提下编撰工作计划书。
3、计划实施阶段
⑴行政文员发布项目计划和工作计划以及完成目标和考核标准。
⑵被考核项目组根据工作计划和目标开展工作,达成目标。
⑶各工作计划完成后,被考核人登记完成情况。
4.项目考评
(1)被考核人员每日工作进度完成情况上报,考核人员进度质量核实,并定期向相关负责人汇报。
(2)结果审核
项目实施计划的工作由项目总负责人签署(合格与不合格),行政文员将评估审核结果公示,公示内容包括该项目的完成情况和质量检测以及社会满意度结果。
(3)行政部文员将项目考核结果公示,项目经理负责与实施顾问进行沟通,项目总负责与技术研发人员沟通,双方共同讨论绩效改进的方式和途径。
四、绩效结果运用
1、人员奖惩
2、薪酬调整
3、年度绩效考核