PSP课程辅助教学系统的工作流程及评分准则

时间:2022-03-02 11:36:56

PSP课程辅助教学系统的工作流程及评分准则

文章编号:1672-5913(2008)20-0084-03

摘 要:为了解决个体软件过程(PSP)教学中多数学生开发软件时不遵循流程、记录数据明显滞后、缺乏数据分析习惯等问题,我院设计了基于Web的PSP辅助教学系统。通过该教学系统的运用,规范了学生开发软件的过程,使其尽早掌握软件开发过程中诸如时间管理、质量保证等关键环节。

关键词:个体软件过程;计算机辅助教学;软件过程管理;评分准则;软件工程教育

中图分类号:G642 文献标识码:B

1 PSP辅助教学系统简介

个体软件过程(Personal Software Process,简称PSP)是一门面向个体的、以数据为中心的课程[1],教学目的是不仅使学生理解PSP的基本理念,掌握如何记录自己的数据,更重要的是通过对这些数据正确地分析管理,提升学生个人软件开发的基本素养并为将来的团队协作做好准备[2]。因此正确、全面地记录数据是这门课程对学生最基本、最重要的要求。

在往年的教学中,记录数据的方式是通过给学生发放统一格式的PSP手册[3],让学生将自己的数据填写到记事本上来实现的。由于需要记录的数据量大且要对数据进行统计,给学生带来了不小的工作量,占用了学生一部分有效学习时间。除此之外,当教师根据学生上交的记事本进行成绩评定时,也常常由于工作量太大而无法进行有效的操作。

为了解决上述教学中的困难,我院实现了一个基于Web的“PSP辅助教学系统”[4]。学生在完成教师指定的6个模块大小程序的过程中,只需将所记录的数据录入到网站,便可自动获得数据的统计分析结果,这样就可以减少学生相当的工作量。为了使系统更加实用,在接收学生的数据输入时,系统对数据进行一些必要的规范。通过预定义的流程规范学生的工作习惯,并将数据及时、准确地录入至系统中。按照这个正确的工作流程记录数据,同时也加深了学生对PSP理论的理解,因此本系统具有明显的辅助教学功能。

具体的工作流程以及为了实现这个工作流程所采取的手段将在本文的第一部分中介绍。此外,本系统还可以自动根据数据录入的情况给学生评定成绩,详细的评分规则将在本文的第二部分中介绍。

2 工作流程与控制

如前所述,本系统的主要目的是辅助PSP课程的教学,减小教师和学生的工作量,增强教学效果。在记录数据的过程中需要一个事先定义好的填写流程,合理的填写流程不仅有利于学生的数据录入,更重要的是可以防止虚假数据的产生。通过控制数据录入的流程,可以引导学生正确地记录数据。

下面我们将定义各部分数据(项目计划总结表及其他)填写的预定流程以及在网站中需要采用哪些手段来实现这个流程。

2.1 项目计划汇总(Project Plan Summary)

(1) 工作流程 对于项目总结报告的填写,从实际情况考虑,计划数据的填写与实际数据的填写应该在不同的时间段进行。前者是在编程开始之前,后者是在编程开始之后,也就是说二者时间差起码应该大于编程所花的时间。因此,实际操作的预期流程应该是:做计划à编程à记录实际数据,如图1所示。

图1 项目计划汇总的工作流程

(2) 控制方法 在系统具体实现时,计划数据与实际数据的填写应该在两个填写页面中分别输入,并且在用户填写并确认保存之后不再允许用户进行修改,这主要是为了防止用户随意编造数据。在很大程度上防止假数据产生的同时,也会导致另外一个问题的产生,即用户由于误操作而输错数据以后也不能修改,这就会使用户多少产生一些报怨。但为了尽量防止假数据的产生,用户随意修改数据是绝对不能允许的。如果用户需要更改误操作产生的错误数据则通过报告管理员的方式来解决。

除了数据不允许修改以外,还要分别记录计划数据与实际数据填写的具体时间,如果在后续的评分中发现两次输入的时间之差小于实际数据中的各项工作所花费时间的总和,则可以断定此项目总结的数据没有按照预定的流程填写,或者存在编造数据的可能。

2.2 其他记录数据

这里所指的其他数据包括工程记事本(Engineering Notebook)、时间记录日志(Time Recording Log)和缺陷记录日志(Defect Recording Log)。由于这三部分的工作流程较为相似,下面给出综合介绍。

(1) 工作流程 工程记事本和时间记录日志都应按照时间顺序填写。在理想情况下,学生应该每天都填写当天的数据,不允许补写以往的数据,这样才能尽可能保证数据的真实性。但是考虑到实际情况中条件的限制,学生不能每天都上网记录数据,不能做到每天都将当天的数据录入系统,因此系统只能适当的放宽条件。学生每天先将当天的数据记录在(纸质的)PSP手册上,然后在上网时将记录的数据成批的输入系统。

缺陷记录日志除了要按照时间顺序填写外,还要按照程序的顺序记录。也就是说,学生应该按照程序的编号记录,在记录一个程序的所有缺陷时,按照缺陷发生的时间进行记录。原则上要求学生发现一个缺陷就记录一个缺陷,但同样受上网条件的限制,学生不能如此实时的登录网站,因此也只能是学生将缺陷先记录在PSP手册上,然后再批量录入到系统中。

(2) 控制方法 根据前面对于工作流程的说明,系统不能苛求学生将所有的数据在当天就记录到系统中,因此学生登录系统后,可以一次批量录入多天(条)的数据。但是为不致学生太过随意的记录数据,系统仍然在最低限度上保证学生所记录数据的时序性,所采取的方法是:不允许学生录入的数据早于他(她)已记录的最后一条数据的时间。例如某学生已录入了6月3日的数据,就不能再补录6月2日或以前的数据,补录行为被视为编造数据。

3 评分规则

3.1 评分的基本框架

评分细则的根本原则是:要求同学们如实的记录自己的所有数据,即所记录的数据的真实性是第一位的。

满分定义为:所有录入的数据均正确、合理,且数据的总量达到一定要求。具体来说,评分细则从四个部分、三个层次对同学所记录的数据进行评价。

四个部分包括:

工程记事本(Engineering Notebook),

时间记录日志(Time Recording Log),

缺陷记录日志(Defect Recording Log),

项目计划总结(Project Plan Summary)。

下述的三个层次中,前两个层次决定基本分数,第三层次为加分项。具体指:

(1) 数据的正确性、合理性 录入数据的正确合理是对数据的首要要求;

(2) 数据的总量 PSP要求记录的数据需要达到一定数量,因此对于学生录入的数据总量也需要一个指标来进行评价;

(3) 数据的一致性 四个部分的数据之间有一定的联系,一致性检查就是查看学生记录的数据是否保持了这些联系。

3.2 评分的基本步骤

最终的分数包括基本分数和加分。基本分数满分为100,加上加分后总分也不超过100。

对于基本分数的确定,首先要计算出上述四部分各自的分数,然后再根据各部分对总分所占的权重,进行加权求和得到总分。对于各部分分数的计算,则需要从数据的正确率和实际数据录入的完成率两方面来计算。例如,若某同学录入的数据的正确率为90%,录入了要求量的80%,则基本分就是满分的85%。

对于加分的计算,则根据加分规则逐条累加。

最终,总分 = 基本分数 + 加分,总分不超过100分。评分的基本过程如图2所示。

图2 评分的基本流程

3.3 评分细则

3.3.1 正确性检查及合理性检查

此部分检查包括以下规则:

(1) 任何一条记录的产生时间应该在课程规定的时间范围内。

(2) 在Time Recording Log中,每一条记录中的总时间不应超过300分钟,被打断的时间也不应超过60分钟。

(3) 在Defects Recording Log中,缺陷被排除的阶段应该晚于缺陷被引入的阶段。

(4) 在Defects Recording Log中,每个缺陷的记录日期应该在该缺陷所对应程序规定的期限内。

(5) 在Project Plan Summary中,LOC/Hour的值不应大于200,Defect/KLOC不应大于1000,Total New & Changed不应大于1000。

(6) 在Project Plan Summary的Time in Phase中,Code和Code Review都不应为0。

(7) 在Project Plan Summary的Defects Removed栏中的第一个数所处的阶段应该晚于Defects Injected栏中的第一个数所处的阶段。

(8) 在Project Plan Summary中所有计划和实际的数据值不应大于1000。

注1:由于在Engineering Notebook、Time Recording Log、和Defects Recording Log中的每条记录包括的信息较少,因此通过准则(2)~(4)可以直接确定Engineering Notebook、Time Recording Log、和Defects Recording Log中的每一条记录是否正确,即只要某条记录违背(2)~(4)中的任一条,则认为该条记录不正确,不被记入总量。

注2:由于Project Plan Summary的每条记录包括的数据很多,因此判断一个Project Plan Summary是否正确,需要综合根据准则(5)~(8)来综合判断。准则(5)~(8)相当于是四个检查点,这四个检查点涉及到很多数据,若(5)~(8)所涉及的数据有一半不正确,则认为这个Project Plan Summary不正确,不被计入总量。

3.3.2 数量上的要求

本节对于数量上的要求是最高标准,达到此标准则认为在数量上可以得满分。在统计数量时,只计入正确的数据。具体的数量要求如下:

(1) 对于Engineering Notebook,每周20条数据。

(2) 对于Time Recording Log,每周30条数据。

(3) 对于Project Plan Summary,每个程序一个,总共6个Project Plan Summary。

注:先分别求出上述三方面的完成率(实际录入量/上

述标准中的量),然后再取平均值即为最终的完成率。

3.3.3 一致性检查(加分项)

加分规则共4条:

(1) 在Time Recording Log中,一天的总记录时间(包括Delta Time和Interrupted Time)大于480分钟,每天加0.1分;

(2) 对于一个程序,Defects Recording Log中记录的总数与Project Plan Summary中Defects的总数相等,每个程序加0.3分;

(3) 在Project Plan Summary中,各Total项的实际值与估计值相差不超过80%,每个程序加0.2分;

(4) 在Project Plan Summary中,Yield和A/FR[1]的实际值达到预期效果,每个程序加0.2分。

注:准则(3)(4)不宜提前告知学生,以防止假数据。

4 总结

PSP计算机辅助教学网站于2008年春季学期应用于哈尔滨工业大学软件学院07级本科生的教学及成绩评估中。实践证明,尽管网站建设早期存在一些用户界面不够友好、录入数据有效性验证不足等问题,但学生通过实时系统提交每周工作(学习)数据,从很大程度上提高了他们的学习兴趣。绝大多数同学养成了在编写程序时及时记录数据、每周整理数据、录入数据的好的学习习惯。这一辅助教学系统的使用,在提高学生自身个体软件素养的基础上,为将来的团队协作做好了意识上、技术上、习惯上的准备。

参考文献

[1] Watts S. Humphrey. Introduction to the Personal Software Process[M]. Addison-Wesley, Pearson Education, Inc., 1997.

[2] Watts S. Humphrey. PSP: A Self-Improvement Process for Software Engineers [M]. Pearson Education Asia Ltd., 2006.

[3] 王延青.个体软件过程手册[R].哈尔滨工业大学软件学院,2003.

[4] Yanqing Wang, Chaohua Luo, Li Lei, Guoping Zhou. Design of Real-time Assessment System on PSP Course Learning[C]. Proceedings of 2008 International Colloquium on Artificial Intelligence in Education (ICAIE’2008). Wuhan, China, Oct. 17-18, 2008, (待发表)

Abstract: In order to solve such problems by students as not developing software conforming to development process, recording data with a big time lag and lacking of the habit of data analysis, a web-based computer aided instruction system was designed for course PSP (Personal Software Process). Through the application of this system, the developing process by students was standardized. Moreover, students have mastered such main capabilities as time management and quality assurance at the preliminary stage of their computing study.

Keywords: personal software process (PSP), computer aided instruction (CAI), software process management, marking criteria, software engineering education.

上一篇:高职计算机网络专业人才培养方案研究与实践 下一篇:加强过程控制,提高计算机专业毕业设计(论文)质...