论文部分内容阅读
摘要:文章简单介绍了PSP个体软件过程的发展,及笔者在教学过程中的课程设置,就psp与数据库项目实训过程结合的方法及结果做出了分析。
关键词:个体软件过程;数据库管理系统
中图分类号:G424文献标识码:A文章编号:1009-3044(2008)24-1128-02
The Database Training Base on PSP
XIA Min, LONG Kai-hong
(Yiyang vocational and Technical College,Yiyang 413049, China)
Abstract: This thesis simply studies the development of personal software process and the curriculum equipments in teaching pricers.the article also analyses the ways and the results on how to combine psp with database training.
Key words: personal software process(PSP); database management system(DBMS)
1 引言
PSP(Personal Software Process 个体软件过程)是由美国卡内基梅隆大学软件工程研究所(SEI)的Watts S. Humphrey领导开发的,它是一种可用于控制,管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格,指南和规程的结构化框架。PSP与具体的技术(程序设计语言,工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能有效地帮助软件工程师使用正确的工程方法,指导他们如何计划工作,对工作进行追踪记录通过对工作结果的分析改进下一计划中的个体行为过程。它使工程师们从自己及他人的实际工作中总结并找到最适合特定任务及自己能力的工作方法,提高了个体的过程意识和过程能力。它针对项目计划,时间管理,缺陷管理,质量管理等几个方面提出了规范,经过PSP学习和实践的正规训练,软件工程师们能够在他们参与的项目工作之中充分利用PSP,从而保证了项目整体的进度和质量。
由于PSP课程强调的是在软件系统开发过程中养成良好的习惯和职业态度,因此不应该把它仅仅当成是一门独立的课程,教师应该引导学生将PSP的方法应用到其它专业课程的学习中,在自己的工作中坚持贯彻PSP的原则。在传统教学中,PSP与编程课程的结合是比较常见的,但是PSP在软件开发的领域中有着更广泛的应用,它的基本原理除了可以应用到编程任务中,还可以应用到系统分析,设计以及数据库开发等活动中。
2 PSP在软件技术专业教学计划中的设置
在学院软件技术专业的教学设计中,第一年两个学期分别安排了周2学时的《个体软件过程》作为专业必修课程,与此同时开设的编程课程有C,C 和VB。并且安排有一周的PSP项目实训课程,项目将PSP与编程活动结合起来,旨在提供学生一个机会认识和体会到在实践中软件开发不仅仅是编代码活动,它包括各种生命周期活动,规模与时间的估计、测量和跟踪,缺陷及质量管理等。
3 数据库课程在软件技术专业教学计划中的设置
在学院软件技术专业的教学设计中,第二年安排了数据库与SQL Server课程,该课程涵盖了概念数据建模、数据库架构、关系数据模型的逻辑数据库设计、数据和数据库管理、物理数据库设计和数据操作。在为期两周的数据库管理系统实训中,我们选用了包含数据库创建和操作的一个项目,要求学生分别用MS Access和SQL Server实现。
4 PSP在数据库管理系统实训中的应用
4.1 PSP与MS Access项目的结合
在MS Access项目中,要求每个学生根据一个完整的数据定义创建和装载一个数据库,然后利用已有的视图设计来使用查询向导完成逐渐复杂的查询,这里采用的是查询向导而不需要学生直接编写SQL代码。
尽管以前没有太多的经验,学生仍然需要在开始项目之前先估计每项开发活动所需要的时间,整个项目被划分为数据库定义,数据库装载,简单列举查询,交叉表查询,查找重复项查询和查找不匹配项查询。在开发过程中还需对每项活动的实际花费时间记录日志,并进行统计,具体表格设计如表1。
除了PSP时间日志及总结表,学生还要求对MS Access项目进行规模测量,测量软件规模是非常重要的,因为它和开发软件所需要的时间、人力和成本是直接相关联的。在开发MS Access项目中所记载的规模和开发时间可以作为下次数据库开发的项目计划基础。
PSP在对计算机程序测量规模时通常使用统计代码行(LOC)的方法,可是在MS Access项目中因为没有直接编写代码,所以没有采用代码行的方式来测量。这里可以采用一种计数标准:对于数据库定义活动,按照表、列和约束的个数来记录;数据库查询活动则依据表或子查询的数量,排序、集合以及连接查询的数量来记录。
在此项目中采用PSP方法所获得的时间及规模数据,可以帮助学生估计未来MS Access开发项目的所需资源,同时可作为紧接下来的同命题SQL Server项目的估计基线。
4.2 PSP与SQL Server项目的结合
SQL Server项目的任务和上面讲述的MS Access项目采用同样的问题定义,不同点在于学生要对数据库的定义、更新和修改采用编写SQL代码的方式,另外还增加了一些更复杂的SQL查询,这些是在MS Access中无法用查询向导设计模式来实现的。
有以下PSP任务需要学生完成:
1)项目计划:估计整个项目的时间和规模;
2)记录每项开发活动的时间和规模;
3)记录缺陷日志。
与前面MS Access项目采用计数标准测量规模不同,SQL Server项目使用SQL LOC方式来计量。由于PSP中定义的缺陷类型标准是针对结构化和面向对象编程语言的,在应用到SQL上时不是很准确,因此可以采用表2的对照标准来统计缺陷。
4.3 有关PSP应用在数据库项目中的报告
在2个项目结束以后,要求学生提交实训报告,其中应该包含对PSP在项目应用中的评估和分析,要求学生对获取的数据进行统计,统计数据通过时间/活动柱形图、缺陷率(defects/KLOC)柱形图、缺陷分布柱形图的方式来显示。可以提示学生分析这些图时回答以下问题:
1)在哪项活动中花费的时间最多?
2)自己面临的主要问题是什么?
3)是什么导致了这些问题,如何进行改进?
5 教学实践的反馈
学生对于在数据库项目中应用PSP方法的最初反应是觉得麻烦,不像C ,JAVA项目,可以使用一些自动LOC计数工具,在数据库项目中需要学生手工记录数据。但是在完成了最后的分析报告后,开始认识到收集个人活动详细数据的价值,MS Access项目的PSP数据可以用来预测下一个SQL Server项目的时间与规模,以便更好地作出计划;并且由缺陷数据可以发现自己的长短处,从而确定改进的目标。
虽然行业实践数据已经显示出PSP的显著作用,但要让学生积极地参与和认同PSP的活动,教师应起到一个积极的推进作用,教师可以使用学生自己的数据作为示例,帮助学生深入理解个人数据对过程改进的意义。
通过2个项目的数据采集来实现过程改进显然是远远不够的,PSP需要的是一个循序渐进的循环开发方式,只有通过多次任务布置、任务完成、情况反馈的重复,才能充分展示PSP的强大威力。因此可以将项目具体再划分为几个子项目,每个子项目规定完成的时间,在每个子项目阶段分别应用PSP过程。
6 结论
PSP在编程课程的应用是比较普遍的,但是PSP对于数据库开发同样具有重要的意义,本文对如何在数据库开发过程中指导学生使用PSP方法提出了解决方法:包括如何划分数据库开发活动、如何定义SQL缺陷以及将一个项目进行子项目划分等。通过在具体的数据库项目中实施项目计划和缺陷管理,学生对个人的数据库开发活动有了更深入的了解,这些PSP信息对学生今后的学习和工作都具有启迪意义。
参考文献:
[1]Hunphrey W S,著,吴超英,车向东,译.个体软件过程[M].北京:人民邮电出版社,2001.
[2] 宋秀红. 基于PSP的个体项目过程管理技术工具研究[D].大连海事大学, 2004.
[3] Borstler J, Carrington D, Hislop W D,et al.Teaching PSP:Challenges and lessons learned[J].IEEE Software,2002,19(5):42-48.
关键词:个体软件过程;数据库管理系统
中图分类号:G424文献标识码:A文章编号:1009-3044(2008)24-1128-02
The Database Training Base on PSP
XIA Min, LONG Kai-hong
(Yiyang vocational and Technical College,Yiyang 413049, China)
Abstract: This thesis simply studies the development of personal software process and the curriculum equipments in teaching pricers.the article also analyses the ways and the results on how to combine psp with database training.
Key words: personal software process(PSP); database management system(DBMS)
1 引言
PSP(Personal Software Process 个体软件过程)是由美国卡内基梅隆大学软件工程研究所(SEI)的Watts S. Humphrey领导开发的,它是一种可用于控制,管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格,指南和规程的结构化框架。PSP与具体的技术(程序设计语言,工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能有效地帮助软件工程师使用正确的工程方法,指导他们如何计划工作,对工作进行追踪记录通过对工作结果的分析改进下一计划中的个体行为过程。它使工程师们从自己及他人的实际工作中总结并找到最适合特定任务及自己能力的工作方法,提高了个体的过程意识和过程能力。它针对项目计划,时间管理,缺陷管理,质量管理等几个方面提出了规范,经过PSP学习和实践的正规训练,软件工程师们能够在他们参与的项目工作之中充分利用PSP,从而保证了项目整体的进度和质量。
由于PSP课程强调的是在软件系统开发过程中养成良好的习惯和职业态度,因此不应该把它仅仅当成是一门独立的课程,教师应该引导学生将PSP的方法应用到其它专业课程的学习中,在自己的工作中坚持贯彻PSP的原则。在传统教学中,PSP与编程课程的结合是比较常见的,但是PSP在软件开发的领域中有着更广泛的应用,它的基本原理除了可以应用到编程任务中,还可以应用到系统分析,设计以及数据库开发等活动中。
2 PSP在软件技术专业教学计划中的设置
在学院软件技术专业的教学设计中,第一年两个学期分别安排了周2学时的《个体软件过程》作为专业必修课程,与此同时开设的编程课程有C,C 和VB。并且安排有一周的PSP项目实训课程,项目将PSP与编程活动结合起来,旨在提供学生一个机会认识和体会到在实践中软件开发不仅仅是编代码活动,它包括各种生命周期活动,规模与时间的估计、测量和跟踪,缺陷及质量管理等。
3 数据库课程在软件技术专业教学计划中的设置
在学院软件技术专业的教学设计中,第二年安排了数据库与SQL Server课程,该课程涵盖了概念数据建模、数据库架构、关系数据模型的逻辑数据库设计、数据和数据库管理、物理数据库设计和数据操作。在为期两周的数据库管理系统实训中,我们选用了包含数据库创建和操作的一个项目,要求学生分别用MS Access和SQL Server实现。
4 PSP在数据库管理系统实训中的应用
4.1 PSP与MS Access项目的结合
在MS Access项目中,要求每个学生根据一个完整的数据定义创建和装载一个数据库,然后利用已有的视图设计来使用查询向导完成逐渐复杂的查询,这里采用的是查询向导而不需要学生直接编写SQL代码。
尽管以前没有太多的经验,学生仍然需要在开始项目之前先估计每项开发活动所需要的时间,整个项目被划分为数据库定义,数据库装载,简单列举查询,交叉表查询,查找重复项查询和查找不匹配项查询。在开发过程中还需对每项活动的实际花费时间记录日志,并进行统计,具体表格设计如表1。
除了PSP时间日志及总结表,学生还要求对MS Access项目进行规模测量,测量软件规模是非常重要的,因为它和开发软件所需要的时间、人力和成本是直接相关联的。在开发MS Access项目中所记载的规模和开发时间可以作为下次数据库开发的项目计划基础。
PSP在对计算机程序测量规模时通常使用统计代码行(LOC)的方法,可是在MS Access项目中因为没有直接编写代码,所以没有采用代码行的方式来测量。这里可以采用一种计数标准:对于数据库定义活动,按照表、列和约束的个数来记录;数据库查询活动则依据表或子查询的数量,排序、集合以及连接查询的数量来记录。
在此项目中采用PSP方法所获得的时间及规模数据,可以帮助学生估计未来MS Access开发项目的所需资源,同时可作为紧接下来的同命题SQL Server项目的估计基线。
4.2 PSP与SQL Server项目的结合
SQL Server项目的任务和上面讲述的MS Access项目采用同样的问题定义,不同点在于学生要对数据库的定义、更新和修改采用编写SQL代码的方式,另外还增加了一些更复杂的SQL查询,这些是在MS Access中无法用查询向导设计模式来实现的。
有以下PSP任务需要学生完成:
1)项目计划:估计整个项目的时间和规模;
2)记录每项开发活动的时间和规模;
3)记录缺陷日志。
与前面MS Access项目采用计数标准测量规模不同,SQL Server项目使用SQL LOC方式来计量。由于PSP中定义的缺陷类型标准是针对结构化和面向对象编程语言的,在应用到SQL上时不是很准确,因此可以采用表2的对照标准来统计缺陷。
4.3 有关PSP应用在数据库项目中的报告
在2个项目结束以后,要求学生提交实训报告,其中应该包含对PSP在项目应用中的评估和分析,要求学生对获取的数据进行统计,统计数据通过时间/活动柱形图、缺陷率(defects/KLOC)柱形图、缺陷分布柱形图的方式来显示。可以提示学生分析这些图时回答以下问题:
1)在哪项活动中花费的时间最多?
2)自己面临的主要问题是什么?
3)是什么导致了这些问题,如何进行改进?
5 教学实践的反馈
学生对于在数据库项目中应用PSP方法的最初反应是觉得麻烦,不像C ,JAVA项目,可以使用一些自动LOC计数工具,在数据库项目中需要学生手工记录数据。但是在完成了最后的分析报告后,开始认识到收集个人活动详细数据的价值,MS Access项目的PSP数据可以用来预测下一个SQL Server项目的时间与规模,以便更好地作出计划;并且由缺陷数据可以发现自己的长短处,从而确定改进的目标。
虽然行业实践数据已经显示出PSP的显著作用,但要让学生积极地参与和认同PSP的活动,教师应起到一个积极的推进作用,教师可以使用学生自己的数据作为示例,帮助学生深入理解个人数据对过程改进的意义。
通过2个项目的数据采集来实现过程改进显然是远远不够的,PSP需要的是一个循序渐进的循环开发方式,只有通过多次任务布置、任务完成、情况反馈的重复,才能充分展示PSP的强大威力。因此可以将项目具体再划分为几个子项目,每个子项目规定完成的时间,在每个子项目阶段分别应用PSP过程。
6 结论
PSP在编程课程的应用是比较普遍的,但是PSP对于数据库开发同样具有重要的意义,本文对如何在数据库开发过程中指导学生使用PSP方法提出了解决方法:包括如何划分数据库开发活动、如何定义SQL缺陷以及将一个项目进行子项目划分等。通过在具体的数据库项目中实施项目计划和缺陷管理,学生对个人的数据库开发活动有了更深入的了解,这些PSP信息对学生今后的学习和工作都具有启迪意义。
参考文献:
[1]Hunphrey W S,著,吴超英,车向东,译.个体软件过程[M].北京:人民邮电出版社,2001.
[2] 宋秀红. 基于PSP的个体项目过程管理技术工具研究[D].大连海事大学, 2004.
[3] Borstler J, Carrington D, Hislop W D,et al.Teaching PSP:Challenges and lessons learned[J].IEEE Software,2002,19(5):42-48.