软件工程PSP实践例程设计与验证开题报告.doc
页数:7页学院本科生开题报告学号: 姓名: 所在单位: 指导教师: 2021年2月28日开题题目:软件工程PSP实践例程设计与验证一、选题描述一课题背景与意义 软件能力成熟度模型Capability Maturity Mode,CMM是对软件工程的工业实践所需的有关目标、方法与实践的最正确有效描述。但是在软件工程的实践中如何确保按CMM规那么来开发软件,CMM并没有给出答案。CMM是一个致力于组织过程改良的框架,如何才能确保CMM使工作有效而且便利,CMM没有提供有关实现关键过程所需要的具体知识与技能。为了解决这些问题,个体软件过程PSP(Personal Software Process)也就应运而生。个体软件过程Personal Software Process ,PSP是由美国Carnegie Mellon大学软件工程研究所(CMU/SEI)的Watts s. Humphrey领导开发的,于1995年它的推出,在软件工程界引起了极大的轰动,可以说是由定向软件工程走向定量软件工程的一个标志。PSP是一种可用于控制、管理与改良个人工作方式的自我改善过程,是一个包括软件开发表格、指南与规程的构造化框架。PSP为基于个体与小型群组软件过程的优化提供了具体而有效的途径,例如如何制订方案,如何控制质量,如何与其他人相互协作等等。在软件设计阶段, PSP的着眼点在于软件缺陷的预防,其具体方法是强化设计完毕准那么,而不是设计方法的选择。根据对参加培训的104位软件人员的统计数据说明,在应用了PSP后,软件中总的过失减少了58.0,在测试阶段发现的过失减少了71.0,生产效率提高了20.0。PSP的研究结果还说明,绝大多数软件缺陷是由于对问题的错误理解或简单的失误所造成的,只有很少一局部是由于技术问题而产生的。而且根据多年来的软件工程统计数据说明,如果在设计阶段注入一个过失,那么这个过失在编码阶段引发3-5个新的缺陷,要修复这些缺陷所花的费用要比修复这个设计缺陷所花的费用多一个数量级。个体软件过程的魅力日益凸现,软件工业化生产证实,工程小组高效开发高质量软件产品的能力,在很大程度上取决于个体工程师如何进展时间管理、进度管理、质量管理,取决于他们用标准化的方法开发程序的能力。PSP主要涉及软件工程规划与软件产品质量问题。具体包括规模测量、规模估计、如何基于历史数据来估计规模与资源以及如何进展过程测量问题,还包括缺陷管理、设计过程、设计验证、如何将psp应用于大型工程、如何进展过程开发问题。因此,PSP保障软件产品质量的一个重要途径是提高设计质量。1、个体软件过程PSP 软件工程Software Process 是人们用来开发与维护软件及附属产品如工程方案、设计文档、代码、用户手册等等的活动、方法与实践。PSP制定了一系列软件过程来指导软件工程师提高工作效率与保证软件质量。(1) PSP的原理PSP设计是基于下述方案与质量原理进展的;每一个工程师都是不同的,他们都有自己的特点;为了能发挥自己最大的工作效率,每个工程师们必须自己工作方案,而且必须依据他们自己的个人数据来做他们的方案;为了协调一致的改良他们的性能,工程师们必须使用精心定义与度量的过程;为了生产高质的产品,工程师们必须对他们的产品负责,好的产品时无缺陷生产的,所以每个工程师们必须致力于高质量的工作;在过程的早期发现与修改的效率高得多;用的最少的花费、最快的速度做最多的事情。 (2) PSP特点CMM提供了一个软件过程改良的框架与策略,但缺少实现关键过程所需的具体知识技能与根本方法。因此研究人员将CMM5级过程中的成功经历用来改良个体的过程意识与过程能力提出了个体软件过程Personal Software Process,PSP456 。(3) PSP框架个体软件过程是一种可用于控制、管理与改良个人工作方式的自我改善过程,是一个包括软件开发表格、指南与规程的构造化框架。PSP为个体的能力也提供了一个阶梯式的进化框架,每一级别都包含了更低一级别中的所有元素,并增加了新的元素。PSP过程构造流程如下图图1 标准过程框架以需求描述开场,第一步是方案,有一个指导这工程的方案脚本与记录规划数据的方案总结表。PSP脚本为W.EdwardsDeming称为操作过程,也是用户在使用这些脚本工作时,他们按时记录所用时间与缺陷数据及缺陷日志,并在工作最后,在后置处理阶段,从日志记录中总结作用时间与缺陷数据,测量程序规模,并把它们添入工程方案总结表中。所有这些完成后,连同完成的方案总结表一起交付给最终产品。PSP过程框架的7个过程级别,如图2所示,其中后在一个级别在前一级别的根底之上,引入一些新的方法与元素如此直到PSP的最高级别PSP3图2 PSP进化框架个体度量过程PSP0与PSP0.1。PSP0的目的是建立个体过程基线,通过这一步,学会使用PSP的各种表格采集过程的有关数据,此时执行的是该软件开发单位的当前过程,通常包括方案,开发包括设计、编码、编译与测试以及后置处理三个阶段,并要做一些必要的试题,如测定软件开发时间,按照选定的缺陷类型标准、度量引入的缺陷个数与排除的缺陷个数等,作为测量在PSP的过程中进步的基准。PSP0.1增加了编码标准、软件规模度量与过程改善建议等三个关键过程域,其中过程改善建议表格用于随时记录过程中存在的问题、建议问题的措施以及改良过程的方法,以提高软件开发人员的质量意识与过程意识。个体规划过程PSP1与PSP1.1。PSP1的重点是个体方案,引入了基于估计的方案方法PROBE(PROxy Based Estimating),用自己的历史数据来预测新程序的大小与需要的开发时间,并使用线性回归方法计算估计参数,确定置信区间以评价预测的可信程度。PSP1.1增加了对任务与进度的规划。在PSP1阶段应该学会编制工程开发方案,这不仅对承当大型软件的开发十分重要,即使是开发小型软件也必不可少。因为,只有对自己能力有客观的评价,才能做出更加准确的方案,才能实事求是的承受与完成客户委托的方案。 个体质量管理过程PSP2与PSP2.1。PSP2的重点是个体质量管理,根据程序的缺陷数建立检测表,按照检测表进展设计复查与代码复查,以便及早发现缺陷,使修复缺陷的代价最小。随着个人经历与技术的积累,还应学会怎样改良检测表以适应自己的要求。PSP2.1那么论述设计过程与设计模板,设计介绍方法,并提供了设计模板。但PSP并不强调选用什么设计方法,而强调设计的完备性准那么与设计验证技术。实施PSP的一个重要目标就是学会在开发软件的早期实际地,客观的处理由于人们的疏忽所造成的程序缺陷问题。人们都期盼获得高质量的软件,但是只有高素质的软件开发人员并遵循适宜的软件过程,因此,PSP2引入并着重强调设计复查与代码复查技术,一个合格的软件开发人员必须掌握这两项根本技术。 个体循环过程PSP3。PSP3目标是个体开发小程序所能到达的生产效率与生产质量,延伸到大型程序。其方法是采用螺旋式上升过程,即迭代增量式开发方法,首先把大型程序分解成小的模块,然后对每个模块按照PSP2.1所描述的过程进展开发,最后把这些模块逐步集成为完整的软件产品。应用PSP3开发大型软件系统,必须使用增量式开发方法,并要求每个增量都具有很高的质量。在这样的前提下,在新一轮开发循环中,可以采用回归测试的方法,集中力量考察新增加的这个这些增量是否符合要求,因此,要求在PSP2中进展严格的设计复查与代码复查,并在PSP2.1中努力遵循设计完毕准那么。 从对个体软件过程框架的描述中可以看到,如何做好工程规划与如何保证产品质量,是如何软件开发过程中最根本的问题。二研究目标1、熟悉Windows Microsoft Visual C+ 6.0编程环境,熟练使用在MFC Microsoft Foundation Classes 微软根底类框架下用C+语言编写调试程序并实现功能。2、通过实例训练,了解PSP训练的具体方法、 根本流程以及实现软件工程标准化与标准化3、经过完整的PSP训练后,了解PSP训练对于提高产品开发水平的优越性与有效性。三研究内容1、基于编程工具使用的研究1Visual C+采用的框架是MFC。MFC是一种Application Framework,随微软Visual C+ 开发工具发布。该类库提供一组通用的可重用的类库供开发人员使用。大局部类均从CObject 直接或间接派生,只有少局部类例外。MFC早在Windows 3.x的时代就出现了,那时的Visual C+还是16位的。经过这些年的不断补充与完善,MFC已经十分成熟。 2)Visual C+的易用性非常好。VC有Class Wizard、Source Browser等一系列工具,还附带Visual SourceSafe、Visual Modeler等强大的工具,易用性非常好。它所带的MSDN这部“开发者的百科全书更是让你“没有找不到的,只有想不到的。2、软件工程PSP实践例程-数据库软件设计。数据库是利用Visual C+ 与Windows Microsoft Access 相互连接,来实现数据库的查询、输入、删除等功能。在Windows Microsoft Access 工程中,根据一个完整的数据定义创立与装载一个数据库然后利用已有的视图设计来使用查询向导完成逐渐向导的查询。在数据库软件设计的过程中,按照PSP个体软件过程训练的标准过程,完整的实现一遍,记录PSP训练过程中的各种问题,完成各个级别的记录表格,验证训练环节、考前须知与效果。通过数据库实例的学习,完成PSP的训练。最终总结形成教学案例,作为以后课程实践教学环节应用的依据与参考四运行环境Windows XP 操作系统, Windows Microsoft Visual C+ 6.0编程环境,Windows Microsoft Access工具,Windows MFC框架。五国内外相关领域研究现状的分析 当今计算机工业开展迅速,软件产业更是如此,软件开发质量与效率要求的不断增高常令技术人员与管理人员感到明显的压力。我国信息技术产业的蓬勃开展促使各种先进技术与产品广泛应用,为国内的软件开发注入了活力。然而,值得注意的是,各种先进的操作系统,开发工具等在带来效益的同时,也使得我们的开发环境日益复杂化。无组织的开发环境会导致潜在问题的产生,甚至影响整个系统。比方:团队沟通困难,软件重用率低下,开发人员各自为政,代码冗余度高,文档不健全等;结果造成数据丧失,开发周期漫长,产品可靠性差,质量低劣,软件维护困难,用户抱怨使用不便,工程风险增加等。事实已经说明,随着整个软件业的迅速开展,由于软件开发质量与效率低下所出现的风险与挑战将越来越突出。因此,建立标准化的软件开发环境,早已为西方兴旺国家软件产业的开展实践证明是解决上述问题的有效途径,并已在软件业开展领先的国家与地区得到普及,基于个体软件过程的软件开发质量与效率的研究与实践显得很有必要。PSP为软件工程师提供了将所需的标准化方法,当把这些标准化方法提供应企业时,必须从大学开场讲授标准化方法。目前,在美国、欧洲与澳大利亚局部大学先后开设了PSP的课程,并且亚洲的少局部院校也正在考虑开设PSP课程,北航软件工程研究所从1997年开场在硕士研究生中开场讲授?个体软件过程工程引论?课程。最近也在本科生的软件工程中讲授PSP的内容,并进展了PSP应用实验。当前为了满足工业界的需要,每年软件工程研究所对一些公司进展几次PSP课程的短期培训。软件工程研究所也准予PSP教师在组织机构中介绍PSP的相关内容。PSP也先后在Motorola、HP、AIS等公司推广使用。PSP是一种相对较新的技术,随着工业界与书生界的不断采用,它将与CMM、TSP有效的结合起来,到达软件过程持续改良的结果,形成一套更先进、更科学、更新的管理模式。PSP能够指导软件工程师如何保证自己的工作质量,估计与规划自身的工作,度量与追踪个人表现,管理自身的软件过程与产品质量。其核心思想就是通过不断地改良软件的过程,使之不断的得到改善,已到达按时按质地完成软件开发任务。这个事项不但适用于软件工程师开发软件,对于任何人任何工作来说都是适用的,每个人都要虚心地成认自己的缺乏,不断地改良,以实现自我的不断改善。二、拟解决的关键问题与技术难题1VC编程环境的熟悉与掌握,并熟练运用;2数据库的建立以及连接;3实现数据库菜单弹出对话框 ;4在设计数据库过程中,各种控件按钮的调试以及功能实现5PSP训练时数据的标准化与标准化记录; 6recordset记录集的定义三、时间进度安排可附页2021年3月8日前,搜集资料。2021年3月15日前,熟悉VC的环境。2021年3月22日前,练习数据库与VC环境的连接2021年3月30日前,完成开题报告。2021年4月5日前,整理相关文献综述与外文翻译。2021年4月26日前,编写源代码,完成调试并实现功能。2021年4月30日前,初步完成论文的初稿。2021年5月5日前,检查并完成毕业论文初稿。2021年5月10日前,完成毕业论文鉴定。2021年5月20日前,准备毕业辩论。2021年5月 25日前,完成毕业辩论。四、参考文献可附页1孙鑫. vc+深入详解.第三版. 电子工业出版社,2006;2陈争光,由坤. Visual C+入门与提高. 科学出版社,2021;3陈平.Visual C +6.0实例教程.浦东电子出版社,2001;4潘爱民,王国印.Visual C +技术内幕.第四版.浦东电子出版社,2001;5侯俊杰. 深入浅出MFC. 第二版. 华中理工大学出版社,1996;6颜志军. Visual C+数据库开发典型模块与实例精讲. 电子工业出版社, 2007;7路游,于玉宗. 数据库系统课程设计. 清华大学出版社,2021;8何新贵. 软件能力成熟度模型. 清华大学出版社,2000;9汤庸. 软件工程方法与管理. 冶金工业出版社,2002;10覃征,何坚,高洪江,李顺东,黄茹.软件工程与管理.人民邮电出版社,2005;11齐治昌.软件工程.第二版.高等教育出版社,1998;12美汉弗莱Humphrey,W.S.软件工程标准 .人民邮电出版社,2002;13 . Introduction to the Personal Software Process个体软件过程. 吴超英、车向东译. 人民邮电出版社,2001;六、导师意见导师签章 年 月 日 第 11 页