1、本科实验报告课程名称: 软件项目管理 实验项目: 软件项目管理实验 实验地点: 逸夫楼 404 专业班级: 学号: 学生姓名: 指导教师: 2013 年 05 月 04 日实验一 分解项目工作一、 实验目的和要求1.目的:学会通过业务需求说明书对项目结构进行分解。2.要求:按项目功能进行项目结构分解时,要充分考虑到:(1)子系统的划分;(2)三个角色工作的体现。按软件生命周期进行项目结构分解时,要充分考虑到:(1)需求分析细化到需求获取、需求分析、需求定义及需求验证;(2)开发环境准备细化到硬件环境准备、软件环境准备;(3)总体设计细化到策略确定、开发标准确定、架构设计及集成测试计划编制;(4
2、)详细设计细化到接口设计、模块设计、界面设计及单元测试计划编制;(5)实现阶段细化到编码、代码复核、单元测试;(6)测试阶段细化到集成测试、系统测试、测试总结、缺陷跟踪及手册编写;(7)试运行阶段细化到试运行、试运行报告及系统改进;(8)交付阶段细化到验收测试、产品提交及用户培训。(注意:在进行项目进度计划编制时,要使用到按软件生命周期进行的项目结构分解结果,因而应考虑对每一任务不但要给出名称,而求应进行编号。)二、 实验内容和原理分解项目工作有两种方法,1)按项目功能进行项目结构分解;2)按软件生命周期进行项目结构分解。本实验的内容包括:1按项目功能进行项目结构分解,并划出工作分解结构图。2
3、按软件生命同期进行项目结构分解,并划出工作分解结构图。三、 主要仪器设备设备:lenovo V470 软件环境: win7四、 操作方法与实验步骤1仔细阅读网上招聘系统业务需求,深刻领会功能、性能要求;2按项目功能进行项目结构分解;3按软件生命同期进行项目结构分解;4整理实验报告。五、 实验结果与分析1.项目分解(一)按项目功能进行项目结构分解1.1 子系统划分1.1.1 客户端子系统FA1:职位选择职位选择是显示目前正在招聘的所有职位以及每个招聘职位的描述和应聘要求等。FA2:简历录入如果应聘者满意某个职位,开始录入简历,简历从应聘者的基本信息开始,简历输入包括输入应聘者的基本信息、工作经历
4、、教育经历、基本技能、家属关系、个人简短评价等。FA3:问卷回答问卷回答要求应聘者回答问卷的所有题目,根据所选择的答案,系统给出分数(应聘者看不到这个分数) 。1.1.2 管理端子系统FB1:登录管理登录管理是由管理员判断这个用户的权限信息,不同的登录人可能具有不同的权限,系统根据不同的权限实现不同的功能。FC1:题库管理题库管理是由管理员登录至系统,实现对敌废品库中试题的增加、删除、修改的功能及提供知识库试题的详细信息。FC2:问卷管理问卷管理是由管理员登录到系统,根据知识题库中提取出来的题目生成各种类别的问卷,并且对问卷的试题进行增加、删除、修改的功能。FC3:职位发布职位发布是由管理员登
5、录到系统,录入职位及职位的详细描述信息,并且为职位附加问卷,同时也可对职位进行增加、删除、修改功能。FC4: 简历管理简历管理是由人力资源部的管理人员对应聘者发来的简历进行整理,并根据试题的分数,挑选合适的简历,同时浏览简历的基本信息,最后确定可以进行面试的人员,这样将所有的应聘者分为等待面试、简历删除、保存简历三个状态。FC5:面试管理面试管理是由人力资源管理部门的面试管理者通知需要面试的人员具体面试的时间、然后员进行面试,记录面试结果。FC1:用户管理用户管理是由系统管理员增加或删除用户,编辑用户名、用户密码,修改用户权限,例具有不同权限的用户进入系统主界面时,出现在界面左侧栏中的图标数有
6、所不同,具体的图标与用户权限对应。1.2 角色划分(1)应聘者:指在这个网络招聘系统中通过客户端提交简历信息的人员,这个角色主要参与客户端的职位查询、填写简历、回答问题、提交简历等功能。(2)管理用户:指管理端的用户,引角色派生两个子类,HR(人力资源管理)和系统管理员,HR 是指在网络招聘系统中通过管理端参与公司人力资源管理工作的人员,它又可以派生三个子类即试题管理者、职位发布者和面试管理者。系统管理员是指对网上招聘系统进行相关设置、进行系统维护的人员,他也是通过管理端登录对管理端的用户进行设置,分配权限等,它们的关系如图1-1 所示。管理用户具体说明如下: HR试题管理者:管理题库、组织相
7、关问卷。 职位发布者:根据公司的需要发布相应的职位。 面试管理者:整理应聘者简历、对简历合格人员进行面试。 系统管理员通过管理端对系统用户进行管理的人员,这个角色主要负责对管理端用户的增删,权限的设置等功能。(3) 数据库数据库是一个与系统产生交互的外部系统,这个角色负责系统的数据查询、增加、删除、和修改等操作。(二)按软件生命周期进行项目结构分解软件生命周期划分图阶段 任务编号 任务名称 任务描述101 需求调研 从软件拥有者和用户获取该项目的需求102 需求分析 平衡需求的范围,确定最终需求需求分 析103 需求报告 定义软件需求,生成需求规格说明书111 硬件环境准备 准备一套用户开发的
8、硬件,如服务器开发环境 112 软件环境准备 如操作系统,开发软件,数据库122-1 策略确定 确定总体策略122-2 开发标准确定 确定开发规范122-3 架构设计 设计软件架构总体设计122-4 集成测试计划编制 设计集成测试计划123-1 接口设计 设计系统内和系统间接口123-2 模块设计 设计子模块123-3 界面设计 设计用户界面详细设计123-4 单元测试计划编制 设计单元测试计划131 编码 编写代码141 代码复核 复核代码实现142 单元测试 单元测试143 集成测试 集成测试144 系统测试 系统测试145 测试总结 测试总结146 缺陷跟踪 跟踪缺陷测试147 手册编写
9、 编写测试手册151 试运行 试运行152 试运行报告 试运行报告试运行153 系统改进 改进系统160 验收测试 验收测试161 产品提交 提交产品交付162 用户培训 培训用户(1)需求获取(2)需求分析(3)需求报告(4)开发环境准备硬件环境:客户机:普通 PCCPU:P4 1.8GHz 以上内存:256MB 以上能够运行 IE5.0 以上或者 NetScape4.0 以上版本的机器 软件环境操作系统:UNIX/Linux/Windows 2000 或以上版本数据库:SQL Server 2005 及以上版本开发工具包:JDK Version 1.4.2Web 服务器: TomCat浏览
10、器:IE6.0 以上(5)总体设计策略确定、开发标准确定、架构设计及集成测试计划编制;(6)详细设计 接口设计、模块设计、界面设计及单元测试计划编制(7)实现阶段编码、代码复核、单元测试 (8)测试阶段集成测试、系统测试、测试总结、缺陷跟踪及手册编写(9)试运行阶段 试运行、试运行报告及系统改进(10)交付阶段验收测试、产品提交及用户培训六、 讨论、心得对软件项目进行分解工作,首先要对项目有比较全面的认识,对项目的结构了解之后,在进行项目的分解与工作安排。通过实验我了解到分解项目工作主要有两种方法:1)按项目功能进行项目结构分解 2)按软件生命周期进行项目结构分析。实验二 软件项目进度计划编制
11、一、 实验目的和要求1、目的:(1)学会通过项目工作结构分解图,制作项目工作关系表的方法;(2)学会绘制甘特图;(3)学会项目网络图的制作方法;(4)进一步理解关键路径、最早开始时间、最迟开始时间、最早完成时间、最迟完成时间、总时差、自由时差的概念,并掌握各自的计算方法。2、要求:(1)项目的总工期预计为 150 天;(2)需求分析完成后,开发环境准备和总体设计可同时进行;(3)详细设计为总体设计的后续环节;(4)详细设计和开发环境准备都完成后才能开始实现环节;(5)开发环境准备所需时间大约是总体设计和详细设计时间之和的三分之一;(6)在每一个节点(任务)上,都标出最早开始时间、最迟开始时间、
12、最早完成时间、最迟完成时间、总时差、自由时差等参数;(7)用粗线标记出关键路径。二、 实验内容和原理1通过按软件生命周期产生的项目结构分解图制作项目工作关系表。内容包括任务编码、任务名称、工作代号、前期工作、后续工作及持续时间;2制作项目进度计划的甘特图;3按单代号网络制作项目进度计划网络图;4制定项目里程碑计划。三、 主要仪器设备设备:HP ProBook6450b 软件环境:win7四、 操作方法与实验步骤1按照软件项目各个阶段所需时间比例,大致估出每个阶段所需时间,并分解到各具体任务中;2制定项目工作关系表;3绘制项目甘特图;4绘制项目单代号网络图;5在网络图中找出关键路径;6通过正推法
13、计算最早开始时间、最早完成时间;7通过逆推法计算最迟完成时间、最迟开始时间;8计算自由时差和总时差;9制定项目里程碑计划表及图;10实验结束后,整理实验报告。五、 实验结果与分析1. 项目工作关系表任务编码任务名称工作代号前期工作后续工作持续时间最早开始时间最迟开始时间最早完成时间最迟完成时间负责人101需求调研 A 102 10 04.01 04.01 04.11 04.11102需求分析 B 101 103 5 04.12 04.12 04.17 04.17103需求报告 C 102111,1214 04.18 04.18 04.22 04.22111硬件环境准备D 103 122 2 0
14、4.23 04.23 04.25 04.25112软件环境准备E 111 131 2 04.26 04.26 04.28 04.28121系统分析 F 112 122 8 04.29 04.29 05.06 05.06122总体设计 G 121 123 8 05.07 05.07 05.14 05.14123详细设计 H 122 131 12 05.15 05.15 05.27 05.27131 编码 I112,121,123141 20 05.28 05.28 06.17 06.17132界面设计 J 131 141 10 06.18 06.18 06.28 06.28141测试计划 K 1
15、31 142 3 06.29 06.29 07.01 07.01142单元测试 L 141 143 10 07.02 07.02 07.12 07.12143集成测试 M 142 151 10 07.13 07.13 07.23 07.23151系统试运行N 143 152 14 07.24 07.24 08.06 08.06152试运行报告P 151 153 2 08.07 08.07 08.09 08.09153系统改进 Q 152 160 5 08.10 08.10 08.15 08.15160系统验收 R 153 5 08.16 08.16 08.21 08.212. 项目进度计划甘特
16、图3. 项目进度计划网络图IFDB CHGEALJK MNPQR4. 项目里程碑计划序号 里程碑计划 交付成果 开始时间 完成时间1 项目立项 立项建议书、可行性分析报告 2013.04.01 2013.04.152 项目启动 项目进度计划、质量保证计划 2013.04.16 2013.04.303 需求分析 需求分析说明书 2013.05.01 2013.05.184 系统设计概要设计说明书,详细设计说明书 2013.05.20 2013.06.205 软件编码 源程序代码、用户使用手册 2013.06.21 2013.07.106 软件测试 测试计划、测试报告 2013.07.11 201
17、3.07.317 系统试运行 系统试运行报告 2013.08.01 2013.08.198 项目验收 验收报告 2013.08.20 2013.09.03本小组负责人意见:(签字)项目经理审批意见:(签字)项目委员会意见:(签字)项目相关人员意见:(签字)六、 讨论、心得本实验中项目编码与实验一相对应,实验要求的甘特图使用MicrosoftOffice Project 画出的,网络图是在 MicrosoftOffice PowerPoint中制作的。通过实验,对项目的计划有了进一步的了解,学会如何用甘特图与网络图对项目作出计划。实验三 项目规模成本估算一、 实验目的和要求1、目的:(1)了解项
18、目成本估算包含的内容;(2)掌握项目成本的估算方法。2、要求:1总体要求(1)项目的报价=项目总估算成本+利润。利润包括风险基金、利润和税费,计算公式为:利润=项目总估算成本 X 0.3;(2)项目总估算成本=直接成本+间接成本;(3)项目直接成本=开发成本+管理成本+质量成本;(4)间接成本包括前期合同费用、房租、水电、培训、员工福利、客户服务等。它的计算方法为:项目间接成本=直接成本 X 间接成本系数。间接成本系数=0.25;(5)开发成本由相应模型估算;(6)管理成本和质量成本=开发成本 X 管理质量系数。管理质量系数=0.28;(7)通过成本估算模型估算出的结果,只是项目的开发成本。2
19、按标准估值法(1)聘请了 5 位专家,他们对开发成本的最小规模、最大规模及最可能规模的估值如下表。专家编号 专家名称 最小规模(元) 最大规模(元) 最可能规模(元)0001 张 XX 190000 230000 2100000002 王 XX 195000 235000 2150000003 李 X 180000 200000 1900000004 钱 XX 185000 220000 2050000005 赵 XX 175000 240000 220000(2)由于采用 B/S 结构,通过计算,修正系数为 1.25。3按 COCOMO 模型法(1)代码行估算大约在 5KLOC;(2)属于组
20、织型项目;(3)符合中级 COCOMO 模型;(4)开发费用为 1.2 万元/人月;(5)考虑成本因素。4按自下而上估值法(1) 按功能制作如下项目规模估算表任务编号 任务名称估计值(人天)小计(人天)总计(人天)(2)按 400 元/人天考虑开发费用。二、 实验内容和原理1按标准估值法进行项目成本估算;2按 COCOMO 模型进行项目成本估算;3按自下而上估值法进行项目成本估算。三、 主要仪器设备设备:lenovo V470 软件环境: win7四、 操作方法与实验步骤1按标准估值法进行项目成本估算;2按 COCOMO 模型进行项目成本估算;3按自下而上估值法进行项目成本估算;4实验结束后,
21、整理实验报告。五、 实验结果与分析1.按标准估值法(1)聘请了 5 位专家,他们对开发成本的最小规模、最大规模及最可能规模的估值如下表。专家编号 专家名称 最小规模(元) 最大规模(元) 最可能规模(元)0001 张 XX 190000 230000 2100000002 王 XX 195000 235000 2150000003 李 X 180000 200000 1900000004 钱 XX 185000 220000 2050000005 赵 XX 175000 240000 220000(2)由于采用 B/S 结构,通过计算,修正系数为 1.25。开发成本采用最有可能规模进行计算:最
22、小规模平均值A=(190000+195000+180000+185000+175000)/5=185000(元)最大规模平均值B=(230000+235000+200000+220000+240000)/5=225000(元)最可能规模平均值M=(210000+215000+190000+205000+220000)/5=208000(元)由此可得:开发成本=修正系数*(A+4*M+B)/6 =1.25* 207000 =258750(元)管理成本和质量成本=开发成本*管理质量系数=258750*0.28=72450(元)项目直接成本=开发成本+管理成本+质量成本=258750+72450=3
23、31200(元)项目间接成本=直接成本*间接成本系数=331200*0.25=82800(元)项目总估算成本=直接成本+间接成本=331200+82800=414000(元)由此可得:利润=项目总估算成本* 0.3=414000*0.3=124200(元)项目的报价=项目总估算成本+利润=414000+124200=538200(元)2.按 COCOMO 模型法(1)代码行估算大约在 5KLOC;(2)属于组织型项目;(3)符合中级 COCOMO 模型;(4)开发费用为 1.2 万元/人月;(5)考虑成本因素。开发成本总计人月数*人月单价= 19 *1.2=22.8(万元)管理成本和质量成本=
24、开发成本*管理质量系数=22.8*0.28=6.384(万元)项目直接成本=开发成本+管理成本+质量成本=22.8+6.384=29.184(万元)项目间接成本=直接成本*间接成本系数=29.184*0.25=7.296(万元)项目总估算成本=直接成本+间接成本=29.184+7.296=36.48(万元)由此可得:利润=项目总估算成本* 0.3=36.48*0.3=10.944(万元)项目的报价=项目总估算成本+利润=36.48+10.944=47.424(万元)3.按自下而上估值法(1)按功能制作如下项目规模估算表任务编码 任务名称 人数(人) 时间(天) 总计(人天)101 需求获取 3
25、 13 39102 需求分析 4 8 32103 需求定义 2 7 14104 需求验证 2 5 10111 开发环境 2 4 8122 总体设计 5 14 70123 接口设计 4 13 52131 模块设计 4 12 48132 界面设计 3 15 45141 实现阶段 2 59 118151 测试计划 6 6 36152 单元测试 3 14 42153 集成测试 3 10 30154 测试总结 2 23 46161 试运行 10 4 40162 系统改进 4 11 44170 交付阶段 1 6 6合计 680(2)按 400 元/人天考虑开发费用。开发成本总计人天数*人天单价 680 *
26、400272000(元)管理成本和质量成本=开发成本*管理质量系数=272000*0.28=76160 (元)项目直接成本=开发成本+管理成本+质量成本=272000+76160=348160(元)项目间接成本=直接成本*间接成本系数=348160*0.25=87040(元)项目总估算成本=直接成本+间接成本=348160+87040=435200(元)由此可得:利润=项目总估算成本* 0.3=435200*0.3=130560(元)项目的报价=项目总估算成本+利润=435200+130560=565760(元)4.项目成本估算总表估算方法 开发成本管理成本质量成本直接成本间接成本总估算成本利
27、润 项目报价标准估值法 258750 72450 72450 331200 82800 414000 124200 538200COCOMO 模型法 228000 63840 63840 291840 72960 364800 109440 474240自下而上估值法 272000 76160 76160 348160 87040 435200 130560 565760六、 讨论、心得通过实验了解并应用了项目规模成本的三种主要计算方法:标准估值法、COCOMO 模型法、自下而上估值法。其中自下而上估值法对“人天数”的灵活性大,对实际的估算变化大。三种估算方法估算出来的成本相差不是太大。实验四
28、 软件项目质量、团队、沟通及配置管理计划编制一、 实验目的和要求1、目的:(1)掌握软件项目质量管理计划的编制方法;(2)掌握软件项目团队管理计划的编制方法;(3)掌握软件项目沟通计划的编制方法;(4)掌握软件项目配置管理计划的编制方法。二、 实验内容和原理1. 编制软件项目质量管理计划;2编制软件项目团队管理计划;3编制软件项目沟通计划;4编制软件项目配置管理计划。三、 主要仪器设备设备:lenovo V470 软件环境:win7四、 操作方法与实验步骤1编制软件项目质量管理计划;2编制软件项目团队管理计划;3编制软件项目沟通计划;4编制软件项目配置管理计划。五、 实验结果与分析1.编制软件
29、项目质量管理计划(1)审查软件开发计划(2)审查开发工作是否按计划进行(3)审查文档模板及规范(4)审查文档是否按模板进行编写(5)审查代码规范(6)审查代码是否按代码规范编写(7)审查测试计划(9)审查测试是否按计划实施2.编制软件项目团队管理计划责任人 工作名称项目经理系统分析人员设计人员开发人员测试人员财务部人力部工程部市场部需求获取 需求分析 需求定义 需求分析需求验证 硬件环境准备 开发环境准备 软件环境准备 策略确定 开发标准确定 架构设计 总体设计集成测试计划编制 接口设计 接口设计 模块设计 详细设计界面设计 编码 代码复核 实现阶段单元测试 测试计划编制整合 集成测试 系统测
30、试 测试阶段测试总结 试运行 试运行试运行报告 验收测试 交付阶段产品提交 表示负责 表示审批 表示铺助 表示参与3.编制软件项目沟通计划;沟通频度工作名称沟通形式一般情况 必要时沟通人员 会议内容需 求分 析正式沟通,书面沟通 每周 每 3 天 项目经理,客户 问题分析,需求描述,需求验证开发环境准备书面沟通,口头沟通 每周 每天 系统分析人员 开发的软硬件环境总体设计 正式沟通,书面沟通 每周 每周 系统分析人员 设计系统的总体,子系统设计等详细设计 书面沟通,口头沟通 每周 每天 设计人员,项目经理,系统分析员系统分析,功能模块分析,数据库设计,界面设计等实现阶段 非正式沟通 每 10
31、天 每周 开发人员,设计人员,系统分析员文档制作,源代码编写等测试阶段 非正式沟通,书面沟通每周 每天 测试人员,系统分析员,项目经理单元测试结果,集成测试结果,系统测试结果试运行 正式沟通,书面沟通 每周 每天 项目经理,客户 试运行结果,验收结果交付阶段 正式沟通,书面沟通 每周 每天 开发人员,客户 客户培训等4.编制软件项目配置管理计划。角色 人员 职责和工作范围配置管理者 A (1) 制定配置管理计划(2) 创建和维护配置库SCCB 负责人 B (1) 审批配置管理计划(2) 审批重大的变更SCCB 成员 A B C 审批某些配置项或基线的变更 配置管理环境: 建议使用 CVS 或
32、Visual SourceSafe配置库的目录结构序号 内容 说明 路径1 TCM 技术合同管理 $prj-SchoolTCM2 RM 需求管理 $prj-SchoolRM3 SCM 软件配置管理 $prj-SchoolSCM4 SQA 软件质量保证 $prj-SchoolSQA5 设计 $prj-SchoolSPEDESIGN6 源代码 $prj-SchoolSPESOURCE7 目标代码 $prj-SchoolSPEBUILD8 测试 $prj-SchoolSPETEST9SPE软件产品工程发布 $prj-SchoolSPERELEASE配置库的用户权限类别 人员 权限说明配置管理者 A
33、负责项目配置管理,拥有所有权限项目经理 B 访问、读质量保证人员 C 访问、读开发人员 D 访问、读高层管理 R 访问、读 配置项标志 命名规范本项目配置项命名规范由 5 个字段组成,从左到右依次为:公司、项目、类型、编号和版本号,如下图所示。这些字段用一横线(-)分隔。QTD-SchoolRMSRS-v1.0公司:3个字符项目:最长10个字符类型:最长5个字符编号:最长8位数字/字符版本号:V m.n 主要配置项配置项列表类型 主要配置项 标识符 预计正式发表时间项目计划 QTD-School-SPP-PP-V1/0 2013/3/6质量保证计划 QTD-School-SPP-SQA-V1/
34、0 2013/3/18计划配置管理计划 QTD-School-SPP-SCM-V1/0 2013/3/28需求 需求规格说明书 QTD-School-RM-SRS-V1/0 2013/4/1总体设计说明书 QTD-School-Design-HL-V1/0 2013/5/4数据库设计 QTD-School-Design-DB-V1/0 2013/6/18详细设计说明书 QTD-School-Design-LL-V1/0 2013/7/12设计设计术语及规范 QTD-School-Design-STD-V1/0 2013/7/20源程序 QTD-School-Code-ModuleName-V1
35、/0 2013/7/23编程编码规则 QTD-School-Code-STD-V1/0 2013/7/23测试计划 QTD-School-Test-Plan-V1/0 2013/8/11测试用例 QTD-School-Test-Case-V1/0 2013/8/17测试测试报告 QTD-School-Test-Report-V1/0 2013/9/1提交 运行产品 QTD-School-Product-Exe-V1/0 2013/9/22验收报告 QTD-School-Product-Report-V1/0 2013/9/26用户手册 QTD-School-Product-Manual-V1/
36、0 2013/9/30 配置项的版本管理配置项可能包含的分支从逻辑上可以划分成 4 个不同功能的分支:主干分支、私有分支、小组分支、集成分支。 变更管理变更管理的流程是:(1) 由请求者提交变更请求,SCCB 会召开复审会议对变更请求进行复审,以确定该请求是否为有效请求。典型的变更请求管理有需求变更管理、缺陷追踪等。(2) 配置管理者收到基线修改请求后,在配置库中生成与此配置项相关的波及关系表。(3) 配置管理者将基线波及关系表提交给 SCCB,由 SCCB 确定是否需要修改,如果需要修改,SCCB 应根据波及关系表,确定需要修改的具体文件,并在波及分析表中标志出来。(4) 配置管理者按照出库程序从配置库中取出需要修改的文件。(5) 项目人员将修改后的文件提交给配置管理者。(6) 配置管理者将修改后的配置项按入库程序放入配置库。(7) 配置管理者按 SCCB 标识出的修改文件,由波及关系表生成基线变更记录表,并按入库程序放入配置库。六、 讨论、心得通过本次实验可以对一个项目有更入的了解,在前几个实验的基础上,完成前几个实验中所涉及的内容之后,在进行本实验中的准备。这样,才可以更好、更快速、更高效的完成项目。