首页> 中国专利> 一种基于PSP和TSP的软件过程改进系统

一种基于PSP和TSP的软件过程改进系统

摘要

本发明公开了一种基于PSP和TSP的软件过程改进系统,包括一个TSP根服务器、多层TSP服务器和多个PSP客户端,所有服务器和客户端组成一个多叉树,分别对应软件产品的各级模块,从而进行相应的TSP软件过程改进和PSP软件过程改进。该系统提供了个人级和团队级的软件过程管理和改进的手段,改善开发能力,提高开发效率,提高了软件产品的质量。

著录项

  • 公开/公告号CN105700889A

    专利类型发明专利

  • 公开/公告日2016-06-22

    原文格式PDF

  • 申请/专利权人 南京工程学院;

    申请/专利号CN201610027200.5

  • 发明设计人 王丹华;

    申请日2016-01-15

  • 分类号G06F9/44(20060101);G06F11/36(20060101);

  • 代理机构32224 南京纵横知识产权代理有限公司;

  • 代理人董建林

  • 地址 211167 江苏省南京市江宁科学园弘景大道1号

  • 入库时间 2023-12-18 15:45:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-24

    专利权的转移 IPC(主分类):G06F8/20 登记生效日:20200107 变更前: 变更后: 申请日:20160115

    专利申请权、专利权的转移

  • 2019-06-14

    授权

    授权

  • 2016-07-20

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20160115

    实质审查的生效

  • 2016-06-22

    公开

    公开

说明书

技术领域

本发明涉及软件工程领域,尤其涉及一种基于PSP和TSP的软件过程改进系统。

背景技术

目前,软件企业都采用软件工程的理论和方法来提高软件产品的质量,提升软件开发的效率,而软件过程是软件工程的基础。在软件工程中,软件过程是“开发和维护软件及其相关产品所涉及的一系列活动”,人们通过改进软件过程来改善软件产品的质量。

PSP(PersonalSoftwareProcess,个体软件过程)是一种用于控制、管理和改进软件开发人员的个人软件过程的过程,它包含一套完整的方法、表单和规程,是指导开发人员个人的软件工程。实施PSP是软件能力成熟度从组织转向个人的跨越,也是软件工程从定向转为定量的标志。

TSP(TeamSoftwareProcess,团队软件过程)提供了一个明确的可操作过程来指导一个项目团队实施软件工程。它更多侧重在项目团队的集体合作方面,体现了软件过程在团队中的实施。一个支持TSP的框架应当能够收集并分析个人过程数据,根据需求产生不同的数据视图(如基于不同模块、不同阶段、不同任务),还能够根据历史数据、项目计划和当前状态对项目作出预测,帮助团队进行软件生产。

PSP和TSP都是软件工程领域中公知的方法,它们的使用提高了软件生产的效率和质量。但是它们之间各自独立,缺乏联系,为了更好地发挥它们的效用,需要一种可以将其有机结合的、切实可行的、对现有的软件过程改进支持工具进行改进和完善的方案。

发明内容

针对现有技术存在的问题,本发明提出了一种基于PSP和TSP的软件过程改进系统,该系统的目的是使用PSP/TSP指导个体和团队的软件过程改进,实现对现有的软件过程改进支撑工具的完善和改进。

本发明所采用的技术方案是:

一种基于PSP和TSP的软件过程改进系统,其特征在于,该系统包括通过网络连接成多叉树结构的多台TSP服务器和PSP客户端,所述多叉树的叶节点都是PSP客户端,非叶节点都是TSP服务器,其中根节点是一台TSP根服务器,所述多叉树的深度为i+1的TSP服务器为i级TSP服务器(i≥1);

所述软件按照自顶向下、逐步细化的软件工程方法,划分成一个软件模块多叉树,所述系统的多叉树结构和所述软件模块多叉树完全对应一致,从而所述服务器和客户端分别对应该软件模块多叉树中的同位置的软件模块。

所述TSP根服务器是所述软件的TSP团队过程服务器,为整个软件开发团队提供软件过程监控和分析;所述i级TSP服务器是相应软件模块的TSP服务器,为相应软件模块的开发小组提供软件过程监控和分析;每台TS服务器包括一个团队过程数据库和团队过程监控/分析工具集,TSP服务器根据上述团队过程数据库和工具集,执行相应软件模块的TSP软件过程的改进步骤;

所述PSP客户端为相应软件模块的开发人员提供个人软件过程的监控和分析,其包括一个个体过程数据库和个体过程监控/分析工具集,PSP客户端通过上述个体过程数据库和工具集,执行PSP软件过程的改进步骤。

其中,所述团队过程数据库记录团队过程的所有脚本内容、计划表单、团队成员日志和历史数据。所述团队过程监控/分析工具集包括团队项目计划向导、质量计划向导、团队数据分析和图表工具以及团队服务接口等。

其中,所述个体过程数据库记录PSP客户端所对应开发人员的个体过程中的所有脚本内容、表单数据和外部文档的链接。所述个体过程监控/分析工具集包括所有处理个体过程数据时会用到的自动化工具,包括个体项目计划向导、规模和计划估算工具、脚本设置工具、日志记录工具、个体数据分析和图表工具以及团队过程工具接口等。

优选的,所述TSP根服务器包括一个模拟输入产生模块,每台TSP服务器和PSP客户端都包括一个模拟运行模块;所述模拟输入产生模块可自动产生软件运行时所需要的输入并发送给需要的TSP服务器或PSP客户端,所述模拟运行模块可运行相应TSP服务器或PSP客户端保存的软件代码;

当需要对软件进行运行调试时,首先由TSP根服务器启动其保存的根代码,当某台上级TSP服务器运行的软件代码需要调用下级TSP服务器或PSP客户端的软件代码时,上级TSP服务器将调用消息和参数发送给相应的下级TSP服务器或PSP客户端,当下级TSP服务器或PSP客户端执行完代码后,将执行结果返回给上级TSP服务器。

有益效果:提供了个人级和团队级的软件过程管理和改进的手段,改善开发能力,提高开发效率,提高了软件产品的质量。

附图说明

图1:本发明一种基于PSP和TSP的软件过程改进系统实施例的整体结构图。

具体实施方式

参见图1,示出了本发明一种基于PSP和TSP的软件过程改进系统的一个实施例,包括一个TSP根服务器、两个一级TSP服务器和5个PSP客户端,相互之间的网络连接组成一个树状结构。该系统为一个具体实施例,根据实际软件系统的架构,还可以具有二级服务器、三级服务器等等,以及作为叶节点的多个客户端,组成一个多叉树结构,这取决于具体的软件产品。

根据图1的实施例,TSP根服务器是整个待开发软件的TSP服务器,为整个软件开发团队提供软件过程监控和分析。依据自顶向下、逐步细化的软件工程方法,所述软件首先被划分为两个一级软件模块,分别交给两个相应地开发小组(也可称为一级开发团队)进行开发,每个一级开发团队对应一个一级TSP服务器,即所述一级TSP服务器是相应一级开发团队的TSP服务器。第一个一级软件模块又被划分成3个叶节点模块,分别交给3个开发人员进行开发,每个开发人员对应一个PSP客户端,即所述客户端是相应开发人员的PSP个体过程客户端。类似地,第二个二级软件模块被划分成2个叶节点模块,分别交给2个开发人员进行开发,每个开发人员也对应一个PSP个体过程客户端,由此形成了一个三层的多叉树。

以上实施例针对的是一个比较简单的软件产品,所述软件最终仅被划分成5个叶节点模块,由5个开发人员分别开发。对于更复杂的软件产品,可能有多个一级软件模块,一级软件模块也可以被划分为多个二级软件模块(由二级开发团队负责),二级软件模块也可以被划分成多个三级软件模块(由三级开发团队负责),等等,以此类推,这都属于自顶向下、逐步细化的软件工程方法。从而二级软件模块对应二级TSP服务器,三级软件模块对应三级TSP服务器,以此类推。

每个TSP服务器对应一个开发团队及其开发的软件模块,仅针对该开发团队和软件模块进行软件过程管理。具体地,每个TSP服务器包括一个团队过程数据库和团队过程监控/分析工具集。

团队过程数据库:记录团队过程的所有脚本内容、计划表单、团队成员日志和历史数据。这里的脚本描述一个团队实施TSP的详细步骤和各步骤的具体做法,是软件组织定义使用于所有团队的过程规范。计划表单包括团队当前的项目计划和质量计划。团队成员日志是下一级服务器或客户端的项目相关数据的副本。这些数据可以帮助相应团队了解和控制项目状态;历史数据保留以往团队项目的计划和日志,用于团队过程计划和规模估算。

团队过程监控/分析工具集:这一工具集中包括团队项目计划向导、质量计划向导、团队数据分析和图表工具以及团队服务接口等,具有与后面所述客户端相应工具集类似的功能,不同的是这些工具所基于的数据位于团队过程数据库中。

①团队项目计划向导采用向导形式指导制定团队项目计划。首先在完成概念设计的基础上确定项目的各个模块,制定一个从上至下的概要计划;然后分派角色和任务给团队中的每个成员(包括下级团队或开发人员),让他们使用下级服务器或客户端的项目计划向导制定计划;最后将所有的计划汇总,形成一个从下而上的完整的团队项目计划。②质量计划向导是采用向导形式制定团队质量计划的工具。③团队数据分析和图表工具能够针对不同要求,给出相应的团队当前过程数据的分析视图。④团队服务接口则将以上工具所提供的团队过程服务发布到客户端或下级服务器。

TSP服务器根据上述团队过程数据库和工具集,执行TSP软件过程的改进步骤。

每个PSP客户端针对一个开发人员个人软件过程,其包括一个个体过程数据库和个体过程监控/分析工具集。

个体过程数据库:记录该客户端所对应开发人员的个体过程中的所有脚本内容、表单数据和外部文档的链接。脚本是过程的明确定义,包含对任务如何执行的详细描述。在执行脚本的过程中,可统计的量化过程数据被记录为各种表单,包括项目计划、时间和缺陷日志、个体历史数据和各种可文档化的说明模板等。外部文档是在执行脚本时产生的一些不便纳入系统来管理的产物,如某些开发文档和代码等,通常保留它们的链接。团队项目相关的数据保存到本地个体数据库的同时,也会被及时复制到上级服务器的团队过程数据库中,以确保这部分数据可在团队内共享。

个体过程监控/分析工具集:该工具集中包括所有处理个体过程数据时可能会用到的自动化工具,如个体项目计划向导、规模和计划估算工具、脚本设置工具、日志记录工具、个体数据分析和图表工具以及团队过程工具接口等。

①个体项目计划向导是一个制定个体项目计划的有效工具,它采用向导的形式来指导使用者完成项目计划的制定,每一步均提供详细解释。②规模和计划估算工具辅助个体项目计划完成计划的制定。它利用PROBE方法,结合个体历史数据计算项目规模和所需的开发时间。③脚本设置工具用来修改个人过程数据库中的脚本内容,可以增加新的脚本来描述一些未定义的过程,也可以对已有的过程作出裁减。④日志记录工具包括时间日志记录工具和缺陷日志记录工具。它使用一些手段来尝试尽可能进行时间日志的自动化记录,减少使用者的主动记录动作。⑤个体数据分析和图表工具能够对数据库中的过程数据进行各种分析,并绘制一些直观的图表来显示分析的结果。这些分析主要包括计划统计分析、缺陷统计分析和基于增值的进度分析等。使用者还可以根据个人的不同需要来自行定义分析方法和图表的绘制方式。⑥团队过程工具接口可以让客户端接收上级服务器的团队过程服务。

PSP客户端通过上述个体过程数据库和工具集,执行PSP软件过程的改进步骤。

本发明的软件过程改进系统中提供了个人级和团队级的软件过程管理和改进的手段。通过个体过程数据库、个体过程监控/分析工具集模块来实现个人过程改进,着重于使用半自动的软件方法实现PSP中要求的数据采集和分析过程,最大程度地减轻软件开发人员在进行PSP实践时除去开发工作以外的负担,并且不断改善开发能力,提高开发效率;通过团队过程数据库、团队过程监控/分析工具集模块来实现团队过程改进,简化或辅助完成TSP所强调的团队充分协作的高效管理,提高协作和管理效率。

根据本发明另一个实施例,在第一个实施例的基础上,还可以对软件产品进行运行调试,其中TSP根服务器包括一个模拟输入产生模块,每台服务器和客户端都包括一个模拟运行模块。当软件开发完成,每台服务器和客户端都保存了相应的软件代码,从而组成了一个软件代码树。每台服务器和客户端都可以由其模拟运行模块运行其保存的软件代码,所述模拟输入产生模块可以自动产生软件运行时所需要的输入并发送给需要的服务器或客户端,从而整个系统可以模拟软件产品的运行过程。具体地,首先由TSP根服务器启动其保存的根代码,基于软件的模块化设计,根代码可能会调用一级TSP服务器的代码,同理,每台服务器的代码都可能调用下级服务器或客户端的代码,当需要调用下级服务器或客户端的代码时,上级服务器将调用消息和参数发送给相应的下级服务器或客户端,当下级服务器或客户端执行完代码后,将执行结果返回给上级服务器,通过上述过程,整个系统模拟软件产品运行过程。当某台服务器或客户端的模拟运行过程发生错误时,就可以立即记录日志并报告错误,从而相应开发人员可以分析日志,查找出软件bug。

以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号