旅游管理系统 软件项目管理大作业.pdf
目123合生需目-4求规同存格说录书期明标-2-3-4用户类和特征-4运行环境-4功能需求-5确定执行者-5确定用例-5用例文档-6非功能需求-8故45任项直间障务目接接处分估成成理解算本本-8-8-9-9-12估算的误差-126进活甘度动特计顺划序图-13-13-147质组量织计机划构-14-14高层管理-14项目的质量保证人员-14质量量置险目策管管标略理理-15质89配风-16-16-17风险识别与评估-17风风风险险险分控规析划表制-17-18-201.1.合同书合同书合同名称:旅游管理系统项目开发合同合同号:甲方:北京交通大学海滨学院地址:北京交通大学海滨学院乙方:海科软件科技有限公司地址:上海陆家嘴邮编:510000联系人:刘备电话:(010)邮编:061100联系人:关羽电话:(010)传真:(010)传真:(010)根据中华人民共和国合同法的规定,合同双方就旅游管理系统项目的技术开发,经协商一致,签定本合同。第一条、双方的基本权利和基本义务甲方的权利和义务根据本合同项目的实际需要和乙方的要求提供协助,并提供有关的资料,报表及文档等,甲方保证所提供的所有资料完整、真实、合法。按本合同约定支付软件开发费用。甲方有权在软件验收之日起一年内,要求乙方对验收完毕的软件模块出现的非人为因素造成的错误及故障,进行免费维护。乙方的权利和义务按照甲方提供的材料按时完成本合同规定的软件开发工作。可以根据甲方的要求帮助甲方举办培训和技术咨询,具体的操作方式及费用双方另行签署协议确认。依合同收取软件开发费用。乙方有义务在软件验收之日起一年内,对验收完毕的软件模块出现的非人为因素造成的错误及故障,进行免费维护。第二条、标的技术的内容、范围及要求:根据甲方的要求,乙方完成西安火车站售票系统的研制开发。1.根据甲方要求进行系统方案设计,要求建立B/S 结构的,基于的Sqlserver 数据库、NT 服务器和 J2EE 技术的三层架构体系的综合服务软件系统。2.配合甲方,在于整体系统相融合的基础上,建立系统建立的软硬件环境。第三条、应达到的技术指标和参数1.系统应满足并行登陆,并行查询的速度要求。其中主要内容包括(1)保证 1000 人以上可以同时登陆系统(2)所有查询速度应在10 秒之内(3)保证数据的每周备份(4)工作日期间不能当机(5)出现问题应在 10 分钟内恢复。2.系统的主要功能是满足双方认可的需求规格,不可以随意改动。第四条、研究开发计划1.第一间断:乙方在合同签订后15 个工作日内,完成合同内容的系统设计方案。2.第二阶段:完成第一阶段的系统设计方案之后,乙方于 100 个工作日内完成系统基本功能的开发。3.第三阶段:完成第一和第二阶段的任务之后,由甲方配合乙方于10 个工作日内完成系统的调试、集成。第五条、技术成果的归属和分享专利申请权:归甲方所有;技术秘密的使用权、转让权:两年内,使用权转让权归甲方所有。第六条、验收的标准和方式:研究开发所完成的技术成果,达到了本合同第二条所列技术指标,按国家标准,采用一定的方式验收,由甲方出具技术项目验收证明。第七条、风险的承担:在履行本合同的过程中,确因在现在水平和条件下难以克服的技术困难,导致研究开发部分或全部失败所造成的损失,风险责任由甲方承担 50%,乙方承担 50%。本项目风险责任确认的方式:双方协商。第八条、违约金和损失赔偿额的计算:除不可抗力因素外(指发生战争、地震、洪水、飓风或其他人力不能控制的不可抗力事件),甲乙双方必须遵守合同承诺,否则视为违约并承担违约责任;1.如果乙方不能按期完成软件开发工作并交给甲方使用,乙方应向甲方支付延期违约金。每延迟一周,乙方向甲方支付合同总额%的违约金,不满一周按一周计算,但违约金总额不得超过合同总额的5%。2.如果甲方不能按期想甲方支付合同款项,甲方应向乙方支付延期违约金。每延迟一周,甲方向乙方支付合同总额%的违约金,不满一周按一周计算,但违约金总额不得超过合同总额的5%。甲方(盖章):法人代表(签字):刘谁 2016 年 6 月 6 日乙方(盖章):法人代表(签字):张谁 2016 年 6 月 6 日2.2.项目生存期项目生存期此项目因面向的用户群体相当广泛,不同的用户都有可能提出该系统针对某一类群体的改进意见和要求。此项目在开发过程应满足在开发结束后,可以在功能上进行扩充。项目内部意见不统一,可完成核心功能后推出开发初代版本,搜集用户意见进行有效更改和相关功能的添加,因此选用增量式模型。增量式模型的特点如下:可以避免一次性投资太多带来的风险,将主要的功能或者风险大的功能首先实现,然后逐步完善,保证投入的有效性。可以更快地开发出可以操作的系统。可以减少开发过程中用户需求的变更。(图)图3.3.需求规格说明需求规格说明目标“旅游管理系统”主要提供用户信息、管理员信息、旅游信息等的管理与维护。用户类和特征管理员、用户。管理员需要进行用户的创建、修改、删除、备份等工作,具备计算机知识,如权限管理等。用户是普通用户,具备一定的计算机操作知识即可。运行环境(1)硬件资源服务器:工作站或小型机;网络设备:网络交换机,网卡,网线;打印机。(2)软件资源服务器端软件选择的具体说明:操作系统:windows 2000 或 windowsXp数据库:Microsoft SQL Server 2005 JDK:应用服务器:Apache开发平台:+MyEclipse 5.5.1客户端软件选择的具体说明:web 浏览器。功能需求相应的需求有:(1)能够存储一定数量的用户信息,并方便有效的进行相应的信息操作和管理,这主要包括:用户基本信息的查询、个人信息的修改。(2)能够对一定数量的旅游线路信息进行相应的信息操作和管理,这其中包括:旅游线路信息的查询。(3)能够提供给管理员对所有信息进行相应的信息操作和管理,这其中包括:管理员对所有用户信息的添加、修改、删除和备份。管理员对所有旅游路线信息的添加、修改、删除和备份,批量打印。管理员对账号,密码信息的修改用户对账号,密码信息的修改(4)数据保存:需要长期保存在数据库的数据有:1.用户信息:用户的基本信息;2.旅游线路信息:旅游线路的基本信息;3.用户账号信息:用户账号密码信息;4.管理员账号信号:管理员账号密码信息(5)系统用户:管理员、用户。5.用户:可对本人住址信息、联系方式、和基本信息进行查询。6.可对本人联系方式、住址信息、年龄、性别进行修改。7.可对旅游路线信息就行查询。=8.管理员:可对本人的账号密码进行查询。9.可对旅游路线信息进行查询、添加、修改。10.11.可对所有用户账号信息进行添加、修改、删除。可对所有用户基本信息进行添加、修改、删除、备份。确定执行者执行者为用户和管理员确定用例图是我们通过一定的调研和分析得到的“旅游管理系统”的用例图:图用例文档(1)用户基本信息的维护用例用例名:用户信息的维护参与执行者:管理员/用户入口条件:管理员/用户已经登陆到该系统中。事件流:管理员将用户基本信息(Excel 文件)导入本系统时,点击提交按钮,系统将用户的基本信息从 Excel 中解析出后,保存到数据库中,并创建相关用户的系统默认账户信息;当有单个用户基本信息入库时,管理员在录入页面录入用户基本信息,点击提交按钮,系统将用户基本信息保存到数据库中;当某一用户的基本信息需要修改时,管理员通过输入查询条件,搜索出该用户,点击“查看用户信息”,系统在不可编辑状态显示该用户基本信息,点击编辑按钮,系统在可编辑状态显示该用户的基本信息,管理员修改具体信息,点击提交按钮,系统将更新数据库中该用户的基本信息;当需要删除一个或多个用户信息时,管理员查找到需要删除的用户记录,点击删除按钮,系统提示“确定要删除?”对话框,管理员选择“是”,系统将删除数据库中相应用户的基本信息,以及删除数据库中相应的用户账户记录,反之,则不进行任何操作;当需要备份一个或多个用户信息时,管理员查询到需要备份的用户纪录,点击备份按钮,系统提示“确定要备份这些记录吗?备份后将删除这些记录”对话框,当管理员选择“是”,系统将这些数据保存到 Excel 文件,并删除数据库中相应的记录。出口条件:系统将数据库中的信息进行相应的操作:添加信息时,将新的用户基本信息保存在数据库中,并在用户帐户中添加相关用户的默认帐户信息;修改用户基本信息时,将数据库中该用户的基本信息做相应的更新操作;删除用户基本信息时,则删除数据库中的相应用户记录,并在用户帐户中删除相应用户账户记录;备份用户基本信息时,则将数据库中的相应用户记录保存为 Excel 文件,并删除数据库中的相应用户记录。异常事件:无(2)旅游线路信息的维护用例用例名:旅游线路信息的维护参与执行者:管理员入口条件:管理员已经登录到该系统中。事件流:管理员将旅游线路信息(Excel 文件)导入本系统时,点击提交按钮,系统将旅游线路信息从 Excel 中解析出后,保存到数据库中;当有单个旅游线路基本信息入库时,管理员在录入页面录入旅游线路信息,点击提交按钮,系统将旅游线路基本信息保存到数据库中;当某一旅游线路的基本信息需要修改,管理员通过输入查询条件,搜索出课程,点击查看,系统在不可编辑状态显示该旅游线路基本信息,点击编辑按钮,系统在可编辑状态显示该旅游线路的基本信息,管理员修改具体信息,点击提交按钮,系统将更新数据库中该旅游线路的基本信息;当需要删除一个或多个旅游线路信息时,管理员查找到需要删除的课程记录,点击删除按钮,系统提示“确定要删除?”对话框,当管理员选择“是”,系统将删除数据库中相应旅游线路的基本信息,反之,则不进行任何操作。出口条件:系统将数据库中的旅游线路信息进行相应的操作:添加旅游线路信息时,将新的旅游线路信息保存在数据库中;修改旅游线路信息时,将数据库中该旅游线路信息做相应的更新操作;删除旅游线路信息时,则删除数据库中的相应课程记录。异常事件:无(3)用户基本信息的查询用例用例名:用户基本信息的查询参与执行者:管理员和用户入口条件:管理员和用户已经登录到系统中事件流:管理员通过交互界面输入查询条件搜索用户信息纪录,点击“查看用户信息”,在不可编辑状态下查看用户基本信息;学生点击个人基本信息,在不可编辑状态下查看用户基本信息。出口条件:系统显示用户信息(4)旅游线路基本信息的查询用例用例名:旅游线路基本信息的查询参与执行者:管理员和用户入口条件:管理员和用户已经登录到系统中。事件流:管理员登录后显示旅游线路列表点击查看按钮,在不可编辑状态下查看课程信息;管理员通过交互界面输入查询条件搜索课程信息,点击查看按钮,在不可编辑状态下查看旅游线路信息。出口条件:系统显示旅游线路信息。(5)账号密码信息管理用例用例名:账号密码信息管理参与执行者:管理员和用户入口条件:管理员和用户已经登录到系统中。事件流:用户点击“修改密码”,在口令修改页面输入原密码、新密码,并确认新密码,点击提交按钮。出口条件:数据库中的密码被修改成最新的密码。非功能需求1.性能需求“旅游管理系统”的使用者是管理员和用户。对于管理员的管理工作,性能要求不是很严格,但需要方便查找、录入、导出等操作。对于用户的查看成绩功能,对性能要求较高,一般需要达到并发数400 以上。2.安全性需求由于“旅游管理系统”中的用户资料是重要资料,所以要保证对于用户资料的操作有较高的安全级别。对于整个系统,需要完整的权限控制,防止某些人恶意的攻击系统,修改原始记录。同时对于数据库中的数据需要定时备份,防止系统数据丢失。此外,系统要求用户在登陆时需要身份验证。故障处理在正常情况下,应不出错。一旦发生意外,比如掉电、网络不通等,应保证系统数据不会丢失。4.4.任务分解任务分解本计划以项目初期估算为蓝本,尽量实现所有成员在整个项目过程中都能得到相关技能的锻炼,根据现有成员的特点,制定了任务分配。若在计划执行过程中遇到不可控困难,可向项目经理提出申请延期。项目开始前可根据个人意愿进行小幅度任务调整,申请人需填写任务申请表。计划开始后除极特别因素外,不予重新调整。项目任务分解编码表编码R000 000P000 000P100 000P200 000任务名称需求讨论软件规划项目规划计划评审需求开发M100 000M200 000M300 000M400 000M500 000用户界面设计用户需求评审修改需求、界面编写需求说明需求验证设计D100 000D200 000D300 000概要设计数据库 ER 图编制、建库设计评审实施C100 000C100 100C100 200C100 300C100 400用户管理用户注册用户注销账号登陆个人信息管理旅游线路信息管理添加旅游线路信息删除旅游线路信息编辑旅游线路信息备注初步确定需求制定项目计划M000 000细化需求D000 000完成项目设计工作C000 000实际开发C200 000C200 100C200 200C200 300T000 000C200 400查看旅游线路信息测试对项目进行测试V000 000T100 000T200 000T300 000功能模块测试系统集成测试环境测设部署发布并交付5.5.项目估算项目估算直接成本成本估算的方法有 1.代码行、功能点、对象点。2.类比(自顶向下)估算法。3.自下而上估算法。4.参数法估算法。5.专家估算法。在这个项目中我们主要采取功能点估算法,同时融合进入其他的估算方法进行验证。用系统的功能数量来测量其规模,与实现产品所使用的语言和技术没有关系的。基本公式FP=UFC*TCFUFC:未调整功能点计数TCF:技术复杂度因子TCF=+(sum(Fi):Fi:0-5,TCF:项复杂度权重因素简单一般复杂外部输入346外部输出457外部查询346外部文件内部文件577101015本项目的功能点计算:项功能点TCF-技术复杂度因子:一般复杂简单外部输入5*33*45*6外部输出外部查询外部文件内部文件总计UFC技术复杂度因子7*45*34*510*71486*51*42*71*10701*73*64*101*15110148+70+110=328F1F3F5F7F9F11F13可靠的备份和恢复分布式函数大量使用的配置操作简单性复杂界面重复使用性多重站点F2F4F6F8F10F12F14数据通信性能联机数据输入在线升级复杂数据处理安装简易性易于修改TCF =+*(5+4+3+2+1 5+2 2+3+5+4+3+3)=+*45=。功能点计算:FP=UFC*TCF。UFC=328。TCF=.FP=328*=人月数计算:在本项目中,根据以往的经验使用经验导出成本模型(面向FP 驱动的)中的 kemerer 模型来计算人月数。Kemerer 模型E=10-8 FP3。带入本项目的实际数据 E=*10-8*=220、03(人月)直接成本计算直接成本组成:开发成本,管理成本,质量成本。简易估算:开发(工作量)规模:Scale(Dev)(单位:人月)管理、质量(工作量)规模:Scale(Mgn)=a*Scale(Dev)=*20%=44a:比例系数:例如:20%-25%直接成本=规模*人力成本参数=*=40 万元人力成本参数=1500/人月(由于校内开发,成本比较低)间接成本间接成本=规模*人力成本参数*间接成本系数(间接成本系数=3)本例中间接成本=*=60 万元。估算成本=直接成本+间接成本=40+60=100 万元估算的误差由于基础数据不足,缺乏经验的估算人员,签约前后不连贯,低劣的推测技术,估算对需求的敏感性等一系列原因,可能会引起估算的误差。对此项目的人月数定义考虑误差如下估算:220 个人月+40-25+15 人月:需求变更-15 人月:晚上时间的利用+5 人月:假期放假-10 人月:实验室采取奖励措施+20 人月:放假最佳情况:95 人月。计划情况:120 人月。最坏情况:160 人月。项目成本估算声明:由于涉及到的小组成员没有实际开发的经验,在薪酬结算方面没有可供参照的标准,因此在这里采用统一的¥人天。成本估算任务名称旅游管理系统设备损耗需求讨论软件规划需求开发设计实施测试部署工时111人天31工作日2*2人天6*2人天6*4人天4*4人天6*13 人天3*5人天2*1人天成本估算¥6.6.进度计划进度计划活动排序描述项目规划任务A前导任务无时间/天18需求分析总体设计详细设计编码测试甘特图BCDEF无A,BA,BC,DE4184717.7.质量计划质量计划组织机构在项目实施期间成立项目质量保证组织,该组织由质量保证人员和项目经理组成,项目经理负责质量监督工作及项目进展过程中各环节的质量把关,开发经理负责质量控制的工作,质量保证人员负责质量保证的工作。高层管理高层管理是公司负责质量的高级管理,其质量职责如下:受理项目内不能解决的不符合问题,必要时与项目经理协调;负责听取质量保证组的工作报告,评审质量保证活动和结果;参加有关质量保证过程改进的评审。项目的质量保证人员质量保证人员的质量职责如下:负责项目实施过程中对项目实施情况进行监督,包括对项目实施过程和工作产品进行监督检查;实施项目组成员的质量保证培训;制定质量保证计划;按计划实施审计活动,依照质量保证计划执行评审/审计,并记录执行中发现的不符合项;对不符合问题提交不符合项报告,跟踪并验证纠正措施的执行情况;对项目内不能解决的不符合项问题向高层管理提交报告;向项目经理报告项目质量工作状况和质量度量结果;定期向项目组报告质量活动的结果;制订质量保证的过程改进计划,记录过程数据。质量目标根据企业的质量方针和质量目标,结合本项目特点,制定项目的总体质量目标:1)基于需求的测试覆盖率为 100%;2)?软件功能测试用例通过率不低于 95;3)?每个阶段评审中发现的问题都已经解决或得到适当处理。4)?产品发布时不存在严重及其以上的缺陷。注:严重问题指导致系统或模块不能正常工作的问题。结合以往的项目经验和企业的质量相应标准,制定质量标准如下表:质量计划标准项目缺陷排除率(缺陷数/页)具 体 描 述需求检查系统总体设计检查缺陷排除率(缺陷数/KLOC)详细设计复核详细设计检查代码复核代码检查编译单元测试计 划42301065202015实 际系统集成系统测试55质量策略为了保证提交用户的产品是高质量,实施过程中采取的质量保证措施包括:1)将质量贯彻到日常的项目进展过程中;2)应该特别注意项目工作产品质量的早期评审工作,无论是质量保证还是质量控制采取的策略都是早期预防和早期排除缺陷。8.8.配置管理配置管理配置管理的目的是保证在整个软件生命周期中软件产品的完整性。软件配置的基本目标包括:软件配置管理的各项工作是有计划进行的。被选择的项目产品得到识别,控制并且可以被相关人员获取。已识别出的项目产品的更改得到控制。是相关组别和个人及时了解软件基线的状态和内容。配置管理的流程图9.9.风险管理风险管理项目风险管理是指通过风险识别、风险分析和风险评价去认识项目的风险,并以此为基础合理地使用各种风险应对措施、管理方法技术和手段,对项目的风险实行有效的控制,妥善的处理风险事件造成的不利后果,以最少的成本保证项目总体目标实现的管理工作。风险识别与评估1 风险识别是试图通过系统化地确定对项目计划的威胁,识别已知和可预测的风险。2 风险识别过程输入 标识风险 按照一定标准对风险排序 制定风险表3 根据“IT 项目常常存在一些共同的风险源”我们根据以往经验制定了风险分析表。检查表法是利用检查表作为风险识别的工具,是根据风险要素建立软件项目的风险条目列表,列表中列出所有与风险因素有关的提问,可以使管理者集中识别常见的类型中的已知和可预测的风险。风险规划针对风险分析的结果,为提高实现项目目标的机会,降低风险的负面影响而制定风险应对策略和应对措施的过程,即制定一定的行动和策略来对付、减少、以至于消灭风险事件。通常采取的措施有1.回避风险。2.转移风险。3.损失控制。4.自留风险。风险分析表通过对风险识别,风险评估,风险规划,我们制定了如下风险分析表。排序排序1输入输入最终风险事件风险事件用户可风险分析表可能性可能性影响影响风险值风险值70%70%50%风险应对措施风险应对措施1.尽力满足用户提出的需求。2.界面尽可能的美观,方便。3.需求分析阶段派出专门的系统分析员去了解用户的性格,爱好,工作习用户抵制能会由于某该系统。个细节的问题对整个系统产生反感。惯。2客户需求不70%50%35%1 采取加班的方法。2 修改计划去掉一些任务。3 与客户商量延长一些时间。4.当出现影响重大的变更需求时与客户协调,这个版本的不做改动,在下一个版本中进行功能的提升。3合同制。进度要金额有限。30%50%15%可以请一些实习的学生做辅助工作,一来成本不高,二来可以加快进度.。4交付期限紧缩。需方存在紧缩交付期限的可能。导致项目吃紧。5历史项目信息。开发人员的流动。15%60%9%20%60%10%12.加班。13.临时雇佣员工。14.调整结构。1 注意项目团队的沟通,及时了解开发人员的动态。2 控制好项目过程中的文档。3.从其他的项目组借调人带来的限求紧,合同的需求规明确,增加格说明。需求,导致需求蔓延,由于本软件是不太了解计算机的领导使用,变更需求可能性很大。员。4 从外部招聘有过此类开发经验人员。6人员缺乏经验。由于本项目中的一些员工是刚刚招聘来的,可能会缺乏经验。15%30%10%1.采取一帮一,让有经验的程序员带着相对经验少的程序员进行开发。2.开发之前适当的培训。7技术可能有10%10%10%1.找懂得这种技术的人帮忙。2.向老师请教。达不到预一些技术达期效果。不到预期的效果,不能使需方满意。如访问速度,一些特效等等。风险控制1.实施和跟踪风险管理计划,保证风险计划的执行,评估削减风险的有效性。2.针对一个预测的风险事实上是否发生了,确保针对某个风险而制定的风险消除步骤正在合理使用3.监视剩余的风险和识别新的风险。4.收集可用于将来的风险分析信息。