软件项目管理课程设计.doc
西安科技大学软件项目管理课程设计报告题目 图书管理系统 学院 计算机学院 专业及班级 软工1203班 学号 1208010319 1208010321 2015年7(参考格式)目 录一、工作任务说明书 二、生存期模型三、需求规格说明书四、系统WBS五、系统进度计划六、系统的成本估算七、系统的质量计划八、系统的人力资源计划九、系统的沟通计划 十、系统的风险计划十一、系统的执行控制十二、总结参考文献1 工作任务说明书1.1整体要求1)新进图书的登记功能对于购进的新书,系统必须具备图书信息资料的录入功能。2)图书的查询修改功能当图书资料发生变化,如图书丢失或有错误信息输入时,则应能够及时对数据进行修改和补充。3)借阅的登记,归还的登记功能系统的主要功能之一,供本校学生借阅图书、归还图书,并进行登记。4)学生信息的增加、删除和修改功能系统主要功能之一,建立学生信息,并对其进行维护。1.2逻辑模型 图书管理系统学生管理教师管理图书管理归还管理借阅管理借阅措施学生信息查询学生信息管理图书借阅登记按时归还登记超期处罚设置超期丢失登记图书借阅查询教师信息管理教师信息查询图书信息登记图书信息查询丢失处罚设置 图1-1逻辑模型图3.系统功能描述3.1学生管理1)学生信息管理对学生信息进行添加、修改、删除等操作2 学生信息查询对学生信息进行查询3.2教师管理1)教师信息管理对教师信息进行添加、修改、删除等操作2)教师信息查询对教师信息进行查询3.3图书管理1)图书信息登记对新购进的图书的登记,包括编号(条码号)、ISBN号、索书号、原名、原著、译者、图书类别、语种、出版社等。2)图书信息查询对整个图书馆藏图书的查询3.4借阅管理1)图书借阅登记可以完成对读者借阅的操作。2)图书借阅查询学生对自己借阅书籍的查询3.5归还管理1)按时归还登记可以完成对图书的归还2)超期或丢失登记对已经超期或者丢失的图书的登记3.6管理措施1)超期处罚设置对超期图书的学生进行通知,限定再次借书2)丢失赔偿设置对丢失图书的赔偿金额设置4.应达到的技术指标和参数 为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求4.1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。4.2.系统的开放性和系统的可扩充性图书管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升 级和更新换代。4.3、系统的易用性和易维护性图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4.4、系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。4.5、系统的先进性目前计算系统的技术发展相当快,做为图书管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。4.6、系统的响应速度图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。二生存期模型针对本项目的开发特点,参考企业的生存期说明和软件过程体系,觉得采用增量模型,如图所示。项目规划需求分析总体设计增量四增量三增量一增量五增量二集成测试产品提交 图2-1项目生存期模型理由如下(1)图书管理系统的全部功能分成系统功能和日常业务管理功能两大类。 因此可以先基于通用功能做出一个最小的使用版本,在逐步添加其余的功能。这样一来,用户可以在先使用最小版本的同时,提出更多明确的需求。这有助于下一阶段的开发,大大减小了开发的风险。(2)在图书管理系统中,要求系统有扩展性。若使用增量式模型,,可以保证 系统的可扩充性。用户明确了需求的大部分,但也存在不很详尽的地方,通过客户使用这个可用的产品,然后进行评估,评估结果作为下一个增量的开发计划,下一个增量发布一些新增的功能和特性,直至产生最终完善的产品。(3)系统要求有可扩充性,用户可能会增加新的需求。(4)对一个管理方式已经比较成熟的图书管理,要完全舍弃原有的管理方式, 用该图书管理系统替代全部管理,这是不实际的。所以,可以从最基础的做起,逐步扩充其应用,所以选用增量式模型来开发系统。(5)本项目具备增量式模型的其他特点.1)项目复杂程度为中等2)预计开发软件的成本为中等3)产品和文档的再使用率会很高4)项目风险较低生存期中的和阶段定义如下项目规划阶段阶段目标根据合同和初步的需求分析确定项目的规模、时间计划和资源需求。输入合同文本、SOW 过程项目规划、计划确认输出项目计划需求分析阶段阶段目标确定客户的需求输入项目计划、SOW 过程需求获取、需求分析、需求控制输出原型系统、需求规格设计阶段阶段目标总体系统结构设计输入原型系统、需求规格过程总体设计输出系统设计说明书、数据库结构定义增量一实现阶段目标实现系统的系统功能输入系统设计说明书、数据库结构定义过程详细设计,编码,代码走查,代码评审,单元测试输出详细设计说明书,源代码,可运行版本1 增量二实现阶段目标实现系统的图书管理功能输入系统设计说明书,数据库结构定义过程详细设计,编码,代码走查,代码评审,单元测试输出详细设计说明书,源代码,可运行版本2 增量三实现阶段目标实现系统的读者管理功能输入系统设计说明书,数据库结构定义过程详细设计,编码,代码走查,代码评审,单元测试输出详细设计说明书,源代码,可运行版本3 增量四实现阶段目标实现系统的借阅管理功能输入系统设计说明书,数据库结构定义过程详细设计,编码,代码走查,代码评审,单元测试输出详细设计说明书,源代码,可运行版本4 增量五实现阶段目标实现系统的留言板功能输入系统设计说明书,数据库结构定义过程详细设计,编码,代码走查,代码评审,单元测试输出详细设计说明书,源代码,可运行版本5 集成测试阶段目标通过集成测试下的软件测试输入测试计划、测试案例过程集成测试、系统测试输出系统软件包,测试报告,产品说明书产品提交阶段目标产品可投入使用输入系统软件包过程产品提交输出验收报告三需求规格说明1.引言本次产品为图书管理系统1.0版本。为某校做一个简单方便,便于对图书简单管理的系统软件。本产品要能实现基本的借书,还书,读者查询,新书上架等信息管理。务必以最小的工作时间完成此次工作。1.1目的开发出一款图书管理系统的软件,使学生和图书馆能有机的联系在一起。同时使校方的工作趋于简单化,明了化。1.2范围该软件的使用对象为老师,学生,图书管理员之间1.3缩写与术语MySQL一个关系型数据库管理系统。ADO一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。模块对功能与相关数据的封装。数据库按照数据结构来组织、存储和管理数据的仓库Visual C6.0一种开发工具C/C软件开发语言。1.4版本更新消息后续版本会根据客户的要求,以及现实的需要而不断的更新。以及在维护中,和以后的实际需要中更新该软件2应用环境2.1网络环境可将该系统功能增加于校务管理系统中,与其使用同一款服务器。2.2软件环境开发工具为Visual C6.0,后台数据库为MySQL.3.用户界面简单易懂,方便操作。以素颜为主4. 功能需求4.1数据流图(顶层图) 图3-1图书管理系统数据流图顶层图 4.2具体分析4.2.1书籍管理书籍类别管理增、删除、改等管理。书籍信息管理新书入库,图书购入后由图书管理人员将书籍编码并将其具体信息录入书籍信息表。书籍信息修改,书籍信息由于工作人员的疏忽而出现错误时,可修改其信息。管理员按不同方式查询、统计,读者按不同方式查询。出版社信息管理增、删除、改等管理。图书注销某一部分图书会随着时间的增长及知识的更新而变得不再有使用的价值,或者图书被损坏,这些图书就要在图书籍信息表中的除去。即从书籍信息表中删去此书籍记录。4.2.2读者管理读者类别信息管理增、删除、改等管理。读者信息管理办理、挂失、暂停借、注销阅卡,录入、修改、删除读者信息。4.2.3借阅管理续借管理提供读者在符合规定的情况下网上续借。还书管理根据借阅卡编号、图书ID等,在借阅信息表中找到相应的记录,将借书记录删除,更新该记录的相应数据(图书信息表)。根据违反规定情况计算和登记罚款记录。借书管理根据借阅卡编号和图书编号,进行借书登记。在借阅信息表中插入一条借书记录,该记录包括读者ID、图书ID、借出日期、借阅编号、操作员等信息,更新该记录的相应数据(图书信息表)。把超期图书以列表的形式显示出来,并以电子邮件或打印成书面通知读者。提供读者网上查询自己的借阅情况(包括超期提示)四系统WBS 图4-1系统WBS5 系统进度计划5.1初期项目项目初期信息不足,计划表格如下 表5-1项目初期计划5.2项目细化根据WBS的分解情况,继续分解相应的活动,使用MS project工具,将分解后的所有活动和WBS的代码录入项目计划文件中,然后确定各个活动之间的关系,由于采用增量式的生存期模型,在需求设计之后,系统的功能采用增量方式实现,实施阶段分5个增量,通过资源调整优化以及工期、活动关系的调整等,再经过多次评审讨论,将此计划存为基准计划。关于进度计划的表格如下 表5-2项目进度 表5-3项目进度安排 表5-4项目进度安排 表5-5项目进度安排下图是对应的项目甘特图 图5-1项目甘特 图 图5-2项目甘特图 图5-3 项目甘特图六、系统成本估算 项目成本估算作为项目成本管理的核心工作,主要对完成项目各个任务所需资源的成本进行近似的估算,并为下一步项目成本预算打好基础。在分析项目成本估算的进程中,对项目的估算是逐步细化的。在初期根据项目WBS和项目进程,仅是对数据库管理系统的规模、成本、进度进行做大体地估算;等到各个细节讨论确定后,缩小估算进度的范围,进行较为精确的成本估算。以下为详细的论述。6.1成本估算的依据 此次成本估算的依据主要有两大方面,一是历史信息;二是项目内部资料。1)历史信息,通过上网查找先前项目中类似工作的实际数据,作为估计现在项目的基础,在项目初期没有形成具体的工作分解时用于粗略的估算。2)内部资料,在项目启动前期工作完成后,根据所得数据进行进一步的估算,这些资料主要包括工作分解结构WBS、项目范围说明书、项目管理计划(资源计划)、资源单位价格、资金成本参数等。在此将做简要概括分解结构模式WBS,为估算依据的核心。根据它将图书管理系统整体的工作分解成若干细化的工作包,使成本的估算能够分块、分项进行,使其尽量的合理准确。项目范围说明书,提供了在成本估算中需考虑的关于项目要求的重要信 息如可交付成果清单和项目及其产品、服务和结果的验收标准等信息,有利于我们准确把握估算成本。进度管理计划,是视为决定成本估算的主要依据,其决定项目成本的主 要因素是资源的类型和数量,以及这些资源应用到完成项目工作的时间。 项目管理计划,提供了执行估算的标准。人员配备管理计划,项目人员的属性和人工费率是编制进度计划成本估 算的必要组成部分。6.2成本估算的方法由于现在经验的局限性,很难对项目的规模有一个详尽的了解,对源代码行数做出较为精确的估算。如果仅仅是简单的进行估算模型的套用,使用别人的计算系数的话,成本估算的数据与真实数据的偏差会非常的大。因此采用自下而上的估算方法。对WBS的每项活动先确定具体人员,然后根据项目进程对活动本身进行详细分析确定工期,最后通过财务计算得出人力资源成本。通过综合对WBS及项目进程的评估确定项目人员配备情况项目经理1人,系统设计师2人,系统分析师2名,设计员2名,程序员2人,测试人员2人、测试工程师2名。根据制定的WBS,综合考虑系统的功能、关键技术及难度、团队人员情况等因素开始人员工作量的估算。工作量估算是成本管理的关键,其估算结果决定了成本估算。结合工作量的估算和项目进程确定人力资源工作时间,进而确定人力资源估算成本为22320元。6.3功能点计算(1)根据该图书管理系统的功能分析,得到表6-1所示的功能计数项。 图6-1系统的计数项(2)计算UFC,按照UFC的计算过程计算出UFC205,计算结果如下表所示。(3)计算TCF假定该软件项目所有的技术复杂度因子的值都为4,即技术复杂影响程度都是平均程度,则TCF0.650.01(14*4)1.21。(4)计算功能点FP由于UFC205,有公式FPUFC*TCF得出功能点FP205*1.21248.05,即项目的功能点为248。7、 系统质量计划7.1组织结构及职责在项目实施期间成立质量保证组织,该组织由质量保证人员和项目经理组成,项目经理负责质量监督工作及项目进展过程中各环节的质量把关,开发经理负责质量监督工作,质量保证人员负责质量保证工作。在本项目中,质量保证组织的职责如下(1)高层管理老师)高层管理是公司负责质量的高级管理,其质量职责如下受理项目内不能解决的不符合问题,必要时与项目经理协调;负责听取质量保证组的工作报告,评审质量保证活动和结果;负责参加有关质量保证过程改进的评审。(2)项目的质量保证人员质量保证人员的质量职责如下负责项目实施过程中对项目实施情况进行监督,包括对项目实施过程和工作产品进行监督检查;实施项目组成员的质量保证培训;制定质量保证计划;按计划实施审计活动,依照质量保持计划执行评审/审计,并记录执行中发现的不符合项;对不符合问题提交不符合项报告,跟踪并验证措施的执行情况;对项目内不能解决的不符合问题,向高层管理提交报告;向项目经理报告项目质量工作状况和质量度量结果;定期向项目组报告质量活动的结果;制定质量保证的过程改进计划,记录过程数据。(3)项目经理项目经理的质量职责如下评审质量计划;与质量保证人员一起协调不符合项问题的纠正措施,并安排资源实施纠正措施;定期或事件驱动的评审质量保证活动和结果。7.2质量目标根据企业的质量方针和质量目标,结合本项目特点,制定项目的总体质量目标基于需求的测试覆盖率为100。软件功能测试用例通过率不低于95。每个阶段评审中发现的问题都已经解决或得到适当处理。产品发布时不存在严重问题以及以上的缺陷。7.3质量策略为了保证提交给用户的产品是高质量的,实施过程中采取的质量保证措施包括(1)将质量贯彻到日常的项目进展过程中。(2)应该特别注意项目工作产品质量和早期评审工作,无论是质量保证还是质量控制,采取的策略都是早期预防和早期排除缺陷。八.系统人力资源计划人力资源主要包括项目经理、系统分析员、系统设计师、设计员、程序员、测试员和测试工程师。下表是人力资源计划表 表8-1人力资源计划表8、 系统的沟通计划系统的沟通计划主要有以下几点(1)项目组通过QQ会话组建了虚拟的集中环境,并要求拥有笔记本电脑成员集中到学校图书馆三楼网络自习室,实现了地理环境和虚拟环境的融合,增强了沟通;(2)不同功能模块之间有许多技术重用的地方,由于成员之间沟通较及时,许多公用的技术得到了共享,提高了开发效率;(3)在项目组织管理出现进度滞后时,能够及时查找问题根源,组织核心成员进行技术攻关和追赶进度;(4)组建了自己的文件管理模式,编撰了团队章程,财务管理办法,并制作了财务账单对项目经费进行了控制;建立了项目组会议制度,进行详实的会议记录;团队建设活动都有报道稿;指派专人进行文件管理;(5)项目组进行了多次团队活动,如团队培训,集中会餐等,增进了团队的团结,起到了有效的激励作用;(6)与其他项目组保持良好的联系,及时了解他们的工作进展,同时老师担任技术顾问,和技术顾问进行频繁的沟通,为技术瓶颈的有效解决做好了充足的技术储备。(7)加强项目沟通,定期进行项目检查,实行有效激励应该采取多元化形式加强项目组成员之间的沟通,加强项目组成员与老师之间的沟通,加强与各利益相关者的沟通;同时,设计一套合理有效的激励机制,对项目组成员进行激励。9、 系统的分险计划9.1潜在风险(1) 合同风险签订的合同不科学、不严谨,项目边界和各方面责任界定不清等是影响项目成败的重大因素之一。(本项目不存在合同)(2)需求变更风险需求变更是软件项目经常发生的事情。一个看似很有“钱途”的软件项目,往往由于无限度的需求变更而让项目承建方苦不堪言,甚至最终亏损(实际上项目建设方也面临巨大的风险)。(3)沟通不良风险项目组与项目各干系方沟通不良是影响项目顺利进展的一个非常重要的因素。(4)缺乏领导支持风险上层领导的支持是项目获得资源(包括人力资源、财力资源和物料资源等)的有效保障,也是项目遇到困难时项目组最强有力的“后台支撑”。(5)进度风险有些项目对进度要求非常苛刻(进度要求不高的项目,我们同样要考虑该风险),项目进度的延迟意味着违约或市场机会的错失。(6)质量风险有些项目,用户对软件质量有很高的要求,如果项目组成员同类型项目的开发经验不足,则需要密切关注项目的质量风险。(7)系统性能风险有些软件项目属于多用户并发的应用系统,系统对性能要求很高,这时项目组就需要关注项目的性能风险。(8)技术风险在软件项目开发和建设的过程中,战略管理技术因素是一个非常重要的因素。项目组一定要本着项目的实际要求,选用合适、成熟的技术,千万不要无视项目的实际情况而选用一些虽然先进但并非项目所必须且自己又不熟悉的技术。如果项目所要求的技术项目成员不具备或掌握不够,则需要重点关注该风险因素。(9)团队成员能力和素质风险团队成员的能力(包括业务能力和技术能力)和素质,对项目的进展、项目的质量具有很大的影响,项目经理在项目的建设过程需要实时关注该因素。(10)团队成员协作风险团队成员是否能齐心协力为项目的共同目标服务,生产管理是影响进度和质量的关键因素。9.2解决方案1.强调团队支持2.给予项目经理相应的权利3.改进问题的处理和沟通4.避免使用纯项目式组织结构5.增加项目检测的频率6.为项目团队建立清晰的项目目标7.选择有经验的项目经理10、 系统的执行控制在系统的最后阶段,应对系统分模块进行测试并分析相应的测试结果,对系统进一步完善。10.1测试结果和评价(1)系统登录结果在测试过程中对于选用的用例基本能过提出错误提示,变现良好。分析在输入时没有游客模块,在该功能上还有待进一步改进。(2)图书管理测试结果资料管理测试中的各项功能,包括添加书籍、修改图书、删除图书、下架 书籍、添加图书分类、修改图书分类、删除图书分类,表现得都比较迅速。分析对于图书信息表的数据项还应该多添加一些,这点还有待进一步改善。(3)借阅管理测试结果归还资料、续借速度较快,能力也较好。分析最好能实现用户自己自主实现借阅功能,但需要自主借阅限制。(4)借阅查询测试结果能够进行简单查询书籍借阅的基本的情况分析查询条件设立不够多(5)物品管理测试结果能够完成一般物品借还需求,物品管理,添加,修改分析此功能较完善(6)读者管理测试结果能够对用户进行全面的管理,增加,修改,删除分析此功能较完善10.2测试执行和记录如下表表10-1 表10-1测试执行记录10.3测试评价(1)测试评价本图书管理系统能在功能上,不仅能包含图书管理的常用功能(如书籍管理、期刊管理、物品管理、读者管理、借、还、预借、续借和统计分析等等功能),而且还增加了条码的生成和打印功能,界面简洁美观,但是在某些功能上还有待进一步改善。针对现实情况,该软件能对管理模块进行相应的操作,能做到基本的登陆验证、图书管理、还书、借书、图书查询、用户、管理员管理等功能,反应速度还能令人满意。(2)缺陷和限制1.在登录系统中,没有对不符合要求的用户名和密码格式进行限制。2.在图书管理系统中,数据库中的内容还较少,不能较准确的反应出添加、 删除、修改图书信息以及添加、删除、修改图书分类信息的速度。3.在还书系统中,没有将书的条形码有效利用起来。4.在限制条件下,最好能够实现用户自主借阅管理的功能。11、 总结 通过本次课程设计,我们小组成员在以前学习的基础上,深入对软件项目执行的探讨和研究,能具体化了解项目的具体流程和步骤,具体到每个环节,达到共同学习和互相学习的目的。前阶段的测试工作结束后,通过对项目进行总结,统计分析得出结论,对今后的工作提出改进建议和参考。从而具体地了解项目的整体过程。本来这门课程的知识我还学得不够扎实,但通过这次课设,在设计过程中碰到了很多问题,刚开始要设计的时候不知道从哪里下手,但通过不断摸索和老师的教导得以解决,让我学到了很多书本上没有的东西,我也将课本上的知识融会贯通,起到了很好的辅助学习的效果,我也发现我学到的知识比上个学期学的还要多。理论和实践相结合是学习的最有效的方法 这次课程设计中我们也发现了自己的很多不足之处,对以前所学的理解不够深刻,掌握不够牢固。通过这次课设,我们组也把所学过的知识重新温故了一边。在准备工作中要正确的分析系统需求,把大体框架做好,然后再逐一细化。同时通过这几天报告的编写,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还是比较脆弱。最后,在这里对老师和同学的帮助表示最诚挚的感谢。参考文献(样式)1 荆涛. 数据库平台及开发工具选择J.农经纵横, 1999 5 77 792戴霄 陈学武李文勇 公交IC 卡信息处理的数据挖掘技术研究J.交通与计算机2006,1 第24 卷总第128 期3夏火松. 数据仓库与数据挖掘技术M.北京.科学出版社, 2004. 109 1104 陈京民 等. 数据仓库与数据挖掘技术M.北京.电子工业出版社,2002. 2572815 王晟 马里杰.SQL SERVER数据库开发经典案例解析M.北京.清华大学出版社,2006.165230