项目实训学生指导手册.docx
《项目实训学生指导手册.docx》由会员分享,可在线阅读,更多相关《项目实训学生指导手册.docx(19页珍藏版)》请在冰豆网上搜索。
![项目实训学生指导手册.docx](https://file1.bdocx.com/fileroot1/2023-2/8/63413386-c114-4c9b-954a-0f67b7c1e593/63413386-c114-4c9b-954a-0f67b7c1e5931.gif)
项目实训学生指导手册
项目实训学生指导手册
ProjectTrainingStudentGuide
版本1.0
作者
IBMChina,CSDL,LBSEducation
日期
2007/11/12
审批
日期
变更记录
日期
版本
变更说明
作者
2007/11/12
V1.0
创建
IBMChina,CSDL,LBSEducation
导言
目的
指导实训学员按照软件企业项目开发的过程、方法和规范去完成一个项目,使学员在项目实训过程中正确地完成规定范围内的软件开发工作。
范围
适用于项目实训的各位学员。
实训制度
实训是一种模拟企业项目实际开发的训练,因此具有企业工作的相似性,实行类似企业管理的工作制度。
1、学员配带实习生卡,每天上班要签到或打卡。
实习生卡采用员工卡的形式,有照片、姓名和员工号。
2、学员书写周报,记录每周的工作,并在周五下班前向配置管理库或项目经理提交。
3、学员实行项目经理负责制度
项目实训准备
组织结构
角色
责任
知识技能
人员
项目总监
●讲解软件项目开发的方法、过程和规范
●指导项目开发各过程的活动
●按里程碑检查项目组阶段工作
●监督项目过程规范的执行情况
●指导评审
具备项目工程经验和教学经验
实训师
项目经理
●负责项目干系人的合作协调
●负责项目进度的控制
●负责项目开发各过程活动的组织
●监督配置管理库
●承担部分开发任务
组织过校园活动,有一定管理经验
各项目组组长
技术经理
●负责开发计划的制定
●负责项目开发各过程活动的技术
●负责项目组内部技术的培训
●承担部分开发任务
技术扎实全面,逻辑思维好
各项目组副组长
配置管理员
●制定配置管理规范
●负责配置管理库目录结构的建立
●负责配置管理库的维护
●维护需求跟踪矩阵
●收集测试问题报告单
●分配角色权限、配置库备份
认真负责,思维全面细致
指定的组员
数据库管理员
●负责数据库的设计、建立和维护
熟悉数据库的设计模式和相关数据库的特性
指定的组员
软件工程师
●参与需求分析活动
●参与详细设计
●按照详细设计完成编码和单元测试
●对个人开发活动进行记录,提交个人工作周报
●修改测试出来的缺陷
熟练使用开发工具和编写代码
全体组员
测试工程师
●建立测试环境
●承担功能测试和集成测试工作
●提交测试问题报告单
认真负责,思维全面细致
指定的组员
术语定义
●WBS
WorkBreakdownStructure工作分解结构
●Milestone里程碑
一个在预定时间发生的事件,某个人应该对其负责,并且能用它来测量进程。
●Baseline基线
已经通过正式评审和认可,作为以后进一步开发的基础,并且只有通过正式的更改控制规程才能进行更改得规格说明或产品。
●RM
RequirementManagement需求管理
●SCM
SoftwareConfigurationManagement软件配置管理
●PR
PeerReview同行评审
●DBA
DataBaseAdministrator数据库管理员
●SRS
SoftwareRequirementSpecification软件需求规格说明书
●SCCB
SoftwareConfigurationControlBoard软件配置控制委员会
●SQA
SoftwareQualityAssurance软件质量保证员
●CMM
SoftwareCapabilityMaturityModel软件能力成熟度模型
●PM
ProjectManager项目经理
实训开发过程
项目启动
活动说明
Ø项目总监对项目进行介绍,介绍项目组的组织结构,指导学生分组。
分组以学生方式自愿为原则,组长负责与项目组成员讨论确定组织结构成员,给项目组命名,如**组。
完成后,由组长向项目总监提交。
Ø项目总监讲解项目管理课程,包括项目开发管理和配置管理的内容,各项目组确定本项目组的项目管理方法,包括文件命名规范、配置管理规范、编码规范。
Ø项目总监发放项目《需求规格说明书》和静态原型,学生须全面了解项目。
Ø准备开发环境,包括熟悉并安装配置管理库、数据库和开发工具。
立项
输入
《需求规格说明书》
静态原型
活动说明
Ø项目总监讲授立项时的流程和工作内容
Ø项目总监解释《项目计划书》、《配置管理计划》和《测试计划书》中的关键点,并发放三种计划书的模板。
Ø项目经理组织项目组成员书写《项目开发计划》、《配置管理计划》和《测试计划》。
Ø立项里程碑评审:
项目总监组织安排《项目开发计划》、《配置管理计划》和《测试计划》评审。
若评审组认为以上内容存在问题,需将该问题整理出来并在评审会上指出,由本项目组专人记录所有问题。
Ø评审过程:
参见附录之“评审过程”
输出
评审通过并已经纳入基线的《项目开发计划》
评审通过并已经纳入基线的《配置管理计划》
评审通过并已经纳入基线的《测试计划》
《立项评审报告单》
立项参考:
项目主要开发信息
项目名称
项目名称
项目编号
**-001
客户名称
项目客户方
客户负责人
N/A
开始日期
年-月-日
结束日期
年-月-日
项目经理
各项目组组长
客户代表
N/A
项目组织及角色
角色
姓名
电子邮件
电话
项目总监
指导教师
客户经理
N/A
项目经理
项目组组长
技术经理
项目组副组长
咨询顾问
指导教师
质量保证员
N/A
软件工程师
项目组成员
测试工程师
项目组成员
数据库管理员
项目组成员
配置管理员
项目组成员
项目总体计划
项目预计需要*周的时间,*年*月*日代码开发完毕。
*月*日系统测试,*年*月*日结项。
项目阶段
开始时间
结束时间
主要工作产品
项目启动
*年*月*日
*年*月*日
项目计划
需求
*年*月*日
*年*月*日
Usecase,用例规约,测试用例
设计
*年*月*日
*年*月*日
UML模型,测试用例
开发
*年*月*日
*年*月*日
源代码
测试
*年*月*日
*年*月*日
测试报告
结项
*年*月*日
*年*月*日
项目总结报告
里程碑提交产品
里程碑
提交产品
提交时间
负责人
立项
项目开发计划
*年*月*日
项目经理
测试计划
*年*月*日
项目经理,测试经理
配置管理计划
*年*月*日
项目经理,配置管理员
需求
用例模型,用例规约
*年*月*日
技术经理
设计
UML模型
*年*月*日
技术经理
数据库设计
*年*月*日
数据库管理员
测试用例
*年*月*日
测试经理,技术经理
SolutionModel
*年*月*日
技术经理
编码
代码
*年*月*日
技术经理
测试
测试总结报告
*年*月*日
测试经理,技术经理
结项
项目总结报告
*年*月*日
项目经理
开发环境
硬件
软件
实训开发环境:
每生一台PC机或笔记本:
PIV2G以上
1G-2G内存
硬盘80G以上
开发服务器或测试服务器一台
应用服务器:
WebSphereApplicationServer6.1
数据库:
DB2Express9.1
开发工具:
RationalApplicationDeveloper7
UML建模工具:
RationalSoftwareArchitect7
配置管理工具:
CVS
数据库设计工具:
评审
按计划需要评审的工作产品,以及采用的评审方式和参加评审的人员。
评审方式是里程碑评审为主,小组内可采用同行评审,二次评审采用单人评审。
工作产品
评审方式
评审参与人员
评审材料发放时间(提前X天)
计划
里程碑评审
项目总监、项目组成员
1
用例规约
里程碑评审
项目总监、项目组成员
1
UML模型和测试用例
里程碑评审
项目总监、项目组成员
1
代码
代码走查
项目总监、项目组成员
1
测试报告
里程碑评审
项目总监、项目组成员
1
需求分析过程
角色说明
角色
职责
项目总监
指导面向对象需求分析的过程,指导项目组理解需求和评审
项目经理
协调项目组资源,与技术经理协商决定本阶段的人员分工,并按照协商结果分配任务并监督执行情况,参与本阶段部分工作
技术经理
配合项目经理,带领项目组进行面向对象的需求分析,进行用例建模,书写《用例规约》;负责技术难点的解决和培训
测试经理
带领测试人员全面了解需求,按照测试计划启动《测试用例》,并开始书写部分需求明确的测试用例,反复与需求分析人员沟通,确保对需求理解一致
输入
《需求规格说明书》
静态原型
《用例规约》、《数据字典》、《关键抽取》、《域模型设计》和《测试用例》模板
活动说明
Ø项目总监讲解面向对象需求分析的过程,并简要说明项目裁剪掉的部分需求阶段工作
Ø项目经理和技术经理经协商,决定任务分配原则并进行人员分工。
Ø技术经理以会议或内部培训形式带领项目组成员理解《需求规格说明书》和原型,确保全组成员对需求理解一致;若大家对于需求的理解存在疑问,项目经理(或指定组员)将这些疑问记录在《需求问题跟踪》中,并针对这些问题咨询项目总监,并将答复的信息也记录在《需求问题跟踪》中,项目经理确保项目组中的每一位成员都理解了需求
Ø配置管理员按配置管理计划建立配置管理库,并监督全组人执行
Ø各成员按分配的任务进行面向对象的分析工作,进行UML建模:
⏹用例建模:
使用IBMRSA进行用例建模,画出与需求一致的全部用例图
⏹精化用例:
项目总监讲解并指导用例规约,按《用例规约》模板书写用例规约文档
⏹关键抽取:
项目总监讲解并指导关键抽取,按《关键抽取》模板书写关键抽取文档
⏹域模型设计:
项目总监讲解并指导域模型设计,使用IBMRSA进行域模型设计,并按《域模型设计》模板书写域模型设计文档
Ø项目总监发放《测试用例》模板并讲解,测试经理按照测试计划启动《测试用例》,并开始书写部分需求明确的测试用例,测试人员需反复与需求分析人员沟通,确认对需求理解一致
Ø技术经理指定一名成员书写《数据字典》文档,包括项目组文档命名规范,项目中专用名词及页面中数据的约定
Ø需求里程碑评审:
项目总监组织安排《用例规约》、《关键抽取》和《域模型设计》评审。
若评审项目组人员认为以上评审内容存在问题,需将该问题整理出来并在评审会上指出,由本项目组专人记录所有问题
Ø评审过程:
参见附录之“评审过程”
输出
评审通过并已经纳入基线的《用例规约》
评审通过并已经纳入基线的《数据字典》
评审通过并已经纳入基线的《关键抽取》
评审通过并已经纳入基线的《域模型设计》
《需求评审报告单》
设计过程
角色说明
角色
职责
项目总监
指导面向对象设计的过程,定义基本的软件技术架构,指导评审
项目经理
协调项目组资源,与技术经理协商决定本阶段的人员分工,并按照协商结果分配任务并监督执行情况,参与本阶段部分工作
技术经理
配合项目经理,带领项目组进行面向对象设计,进行UML建模,书写相关文档;指导DBA进行数据库设计;负责技术难点的解决和培训
测试经理
继续书写并完成全部《测试用例》,反复与设计分析人员沟通,确保对需求理解一致
输入
《需求规格说明书》
静态原型
评审通过并已经纳入基线的《用例规约》
评审通过并已经纳入基线的《数据字典》
评审通过并已经纳入基线的《关键抽取》
评审通过并已经纳入基线的《域模型设计》
《鲁棒分析》、《解决方案说明书》、《数据库设计说明书》和《测试用例》模板
活动说明
Ø项目总监讲解面向对象设计的过程,定义基本的软件技术架构,提出数种项目组可以使用的技术架构和模式,但不限定项目组使用的模式和框架
ØDBA根据需求和《数据字典》进行数据库设计(可以先产生“E-R”),并按照模板书写《数据库设计说明书》
ØDBA同时要完成数据库的建立,建表及初始化数据,并建立项目组成员开发或测试时使用的用户名和密码,管理员密码只有DBA自己保存。
Ø延续需求分析阶段的分工,各成员继续依照上阶段的工作成果进行面向对象的设计,进行UML建模
◆鲁棒分析:
项目总监讲解并指导鲁棒分析,使用IBMRSA进行鲁棒分析,建议通过序列图和协作图进行分析,并按《鲁棒分析》模板书写鲁棒分析文档
◆解决方案:
项目总监讲解并指导解决方案,项目经理和技术经理依据项目成员的技术能力选择解决方案要使用的设计模式或框架,并按《解决方案说明书》模板书写解决方案说明书文档
Ø测试经理带领测试人员按照《测试计划》和《需求规格说明书》继续书写《测试用例》,反复与设计分析人员沟通,确保对需求理解一致
Ø设计里程碑评审:
项目总监组织安排《鲁棒分析》、《解决方案说明书》、《数据库设计说明书》和《测试用例》评审。
若评审项目组人员认为以上评审内容存在问题,需将该问题整理出来并在评审会上指出,由本项目组专人记录所有问题
Ø评审过程:
参见附录之“评审过程”
输出
评审通过并已经纳入基线的《鲁棒分析》
评审通过并已经纳入基线的《解决方案说明书》
评审通过并已经纳入基线的《数据库设计说明书》
评审通过并已经纳入基线的《测试用例》
《设计评审报告单》
《用例评审报告单》
编码过程
角色说明
角色
职责
项目总监
指导编码过程,发放编码规范,指导代码走查
项目经理
协调项目组资源,与技术经理一起分解开发任务;编码
技术经理
配合项目经理,分配任务单;主持编码工作和代码走查
编码人员
进行编码工作;代码走查
输入
评审通过并已经纳入基线的《解决方案说明书》
评审通过并已经纳入基线的《数据库设计说明书》
《编码规范》
静态原型
活动说明
Ø项目总监讲解编码过程,发放编码规范,编码人员必须严格按照编码规范进行编码工作
Ø项目经理和技术经理根据《软件项目开发计划》安排编码人员的工作,以《开发任务单》(即最小化任务)的形式发放任务
Ø编码人员接收到《开发任务单》后,要确保开发人员清楚其任务的需求和设计(可找技术经理进行讲解,或由项目经理安排技术经理专门进行讲解),推荐延续设计的分工对编码进行合理的分工。
Ø编码工作中如有技术上的疑问,可通过组成员间讨论沟通解决,也可通过internet寻找解决方法,不能确定或有争议,由技术经理来安排解决。
如技术经理也无法确定,咨询实训师
Ø编码人员应按项目经理的要求按时开发完成分配的任务,如不能在工作日内完成,可加班完成
Ø编码人员必须每天严格地对配置开发库进行检入和检出,即每天下班前,应及时将完成的、编译通过的代码检入开发库,每天上班后,首先从开发库中检出开发使用的代码,并及时向项目经理提交《开发任务单》。
Ø配置管理员每天对配置开发库进行检查,对不能及时对配置开发库进行检入和检出的编码人员而影响了项目开发进度的,配置管理员要及时向项目经理汇报
Ø项目经理汇总提交的《开发任务单》并提交给技术经理;技术经理负责对所提交的任务进行技术审核,并及时纠正编码人员的问题
Ø编码人员修改问题,并重新提交《开发任务单》,可依据情况重复上步
Ø代码后期由配置管理员承担bulding的工作,将配置开发库中的代码在开发服务器上反复调试运行
Ø技术经理主持代码走查,项目经理协助,代码走查可以定期或不定期举办,必要时请项目总监参与
Ø代码走查未通过,则直接使用其他项目组的结果或由项目总监推荐
Ø代码走查通过后代码,由配置管理员负责入基线库
输出
源代码
应用程序包
《代码走查报告》
测试过程
角色说明
角色
职责
项目总监
指导测试过程,指导评审
项目经理
协调项目组资源,跟踪测试问题报告单的处理
技术经理
配合项目经理和测试经理,跟踪测试问题报告单的处理,并进行缺陷修正工作的技术指导
测试经理
配合项目经理,搭建测试环境,建立测试库,负责主持测试工作,编写测试总结报告
测试人员
按测试计划和测试用例执行测试,填写测试问题报告单
编码人员
及时处理测试问题报告单,修改测试出来的缺陷
输入
评审通过并已经纳入基线的《测试计划》
评审通过并已经纳入基线的《测试用例》
评审通过并已经纳入基线的《用例规约》
《需求规格说明书》
静态原型
《测试问题报告单》和《测试总结报告》模板
活动说明
Ø项目总监讲解测试过程,受时间和条件所限,实训的测试只进行功能测试和集成测试
Ø项目经理协调资源,测试经理负责带领项目组进行测试环境的搭建和验证,测试经理要书写《测试任务单》,该文档中应包括测试人员要执行的测试任务及该任务对应的修改指派人(开发人员)
Ø功能测试过程如下:
⏹测试经理发放《测试任务单》给测试人员和开发人员,明确职责
⏹测试经理进行测试管理工具BugFree的培训,参训人为全体项目组成员
⏹测试人员按照测试用例执行测试,发现每发现一个缺陷在BugFree中提交一个缺陷项,此时缺陷项状态是“Active”
⏹每个开发人员要及时查看BugFree,如发现指派人是自己的缺陷,必须在0.5个工作日之内修改完成,并点击“解决”修改缺陷状态为“Resolved”
⏹测试人员验证缺陷是否已修改,如修改正确,将该缺陷关闭,该缺陷状态为“closed”;如发现仍有缺陷,可重新激活该缺陷,提醒开发人员再次修改
⏹测试要覆盖全部测试用例
⏹测试反复进行,直至达到测试计划中的要求
Ø功能测试基本完成后迭代进行集成测试。
项目组全体组员均参与集成测试,主要保证各功能模块间调用正常,再出现功能上的缺陷,不再修正
Ø测试经理书写《测试总结报告》
Ø测试里程碑评审:
项目总监组织安排《测试总结报告》评审。
若评审项目组人员认为以上评审内容存在问题,需将该问题整理出来并在评审会上指出,由本项目组专人记录所有问题
Ø评审过程:
参见附录之“评审过程”
输出
评审通过并已经纳入基线的《测试总结报告》
《测试评审报告单》
实施过程
实训的实施过程因不具备条件而省略。
项目总监讲解工程项目的生产部署、试运行、验收、维护的过程和方法。
结项
输入
经过测试后的源代码和应用程序包
《配置管理计划》中发布基线的配置项
活动说明
Ø项目经理带领项目组整理项目文档、代码等,将最终版本提交至开发库,再由配置管理员更新至基线库,形成最终版本
Ø配置管理员负责向助理实训师提交本项目组最终版本的基线库
Ø项目组提交项目总结,项目组成员提交个人项目总结
Ø各项目组演讲本组项目情况
Ø项目总监总结
输出
《项目发布清单》
《项目总结报告》
《个人总结报告》
基线库
附录:
评审过程:
Ø评审需提前一天发料
Ø对于评审提出的问题经实训师确认需要修正的,修正的时间不超过0.5个工作日;修正完成后,助理实训师与修正人进行单人评审并将结果入基线库。
Ø如修正后仍存在问题,可组织小范围的二次同行评审,参加人由助理实训师和项目经理确定。
对于两次评审仍未通过的项目组,将不再让其修改,而直接使用其他项目组的成果或项目总监推荐的成果。
Ø技术经理根据评审结果带领项目组对评审内容进行修正,并书写《评审报告单》
Ø评审通过后的文档,由配置管理员负责入基线库
附录1 《配置管理指南》
附录2 《项目经理手册》
附录3 《评审过程指南》
【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】