软件缺陷管理系统的分析与设计

  摘要:本论文主要论述了基于B/S模式软件缺陷管理系统的MVC2三层模式与ADO.NET Entity Framework(EF)混合开发架构的基本业务与信息统计分析模块的设计与实现,侧重点放在了讨论这个程序的需求分析、设计、实现及所用到的项目管理知识。对维护人员提交的缺陷报告认真鉴定、筛选、分类,进入不同的处理流程,以获得真正的缺陷跟踪数据。  关键词:MVC框架;软件缺陷;缺陷跟踪;缺陷处理  中图分类号:G642.4 文献标识码:A 文章编号:1674-9324(2012)08-0061-02  缺陷是软件开发中的副产品,通常缺陷也会导致软件在某种程度上不满足用户的需要。在软件开发规模比较小时,缺陷管理可能只需要口头通知开发人员修改,并简单做一些书面记录即可。而在一个复杂系统的开发中开发团队庞大。这时交流成本迅速增加,采用口头或简单书面交流的方法已不能满足需求。了解软件缺陷生命周期能够为缺陷管理起到积极作用。  一、需求分析  用户与权限管理模块的权限设置主要是为了使业务操作方面权限更加合理安全,所以有必要在对软件测试时,对缺陷管理系统的业务流程进行分析,这样才能够更加明确、清晰地进行权限、角色、用户三者的分配管理。进行缺陷管理时,项目经理、测试人员、开发人员三者分工如下:①测试人员:测试人员登录后可以在系统中将发现的软件缺陷登入Bug,设置状态为Submited,等待项目经理的审核,也可查询状态为Fixed的缺陷。开发人员修改完代码后,权限任务再次回到测试人员手上,测试人员通过回归测试,检验该软件缺陷是否得到修改。完成操作后,提交操作任务,让项目经理审批或开发人员修改。②开发人员:开发人员登录系统查询状态项目经理分派的为Open的缺陷修改任务,对该缺陷进行分析并修改代码。如果成功修复缺陷,则将缺陷状态设置为Fixed,然后将缺陷返回给测试人员。如果缺陷未能解决或者缺陷不需要解决,则将缺陷设置为Rejected(拒绝)状态并注释原因,提交审批。完成操作后,提交任务,让测试人员或项目经理接手,进一步处理缺陷。所有操作都需验证用户权限,才能执行相关操作。③项目经理:项目经理可以通过缺陷管理系统查询自己组测试人员提交的缺陷修改请求任务,并对其进行认证。如果确认是缺陷,则分派任务给开发人员,如果不是缺陷或其他原因,如有些缺陷由于没有足够的时间、不算真正的软件缺陷、修复的风险太大等原因,项目经理可以将该缺陷关闭或将该缺陷挂起。  二、系统架构设计  用户需求的功能主要有三项,分别是项目管理、缺陷管理和相关的信息统计。而为了方便管理用户,管理员需求对不同的用户分配不同的权限,而同类型的用户又较多,单独每个用户分配权限又不太现实,从而引用角色概念,对角色受权,再将用户分配不同角色中去。系统的功能结构如图2-1所示。  图2-1 系统功能结构设计图  用户与权限管理主要可分为用户管理、角色管理、权限管理和用户权限管理。其中用户管理主要缺陷管理系统对使用系统的用户进行的管理,可进行新增用户、修改用户、删除用户等操作;角色管理是系统针对缺陷管理时所涉及到的角色,如管理员、项目经理、测试人员、开发人员等角色的管理,可进行新增用户、修改用户、删除用户等操作;权限管理是系统针对登入系统进行缺陷管理时所涉及的操作设定不同的控件、权限,可进行新增权限、修改权限、删除权限等操作;而用户权限管理是指管理员对用户、角色、权限三者的关联分配操作。  三、主要功能模块设计  1.项目管理模块设计。项目信息设置:由开发人员、项目经理、测试人员共同完成,主要的功能有添加项目的基本信息、项目基本信息的修改和基本信息的删除3个功能操作。每次对项目信息的添加、修改或删除,都会通过日志记录下来是由哪位用户执行的操作,方便以后信息的查阅。项目模块管理:由开发人员、项目经理、测试人员共同完成,每个项目由不同的模块所组成,在这个功能里面主要有添加项目模块信息、修改项目模块信息和删除项目模块信息。项目数据统计:由系统根据用户的选择进行统计,用户可以使用该功能统计系统全部项目的总数量,也可以统计单个项目当中所有模块的数量信息等。  2.缺陷管理模块设计。缺陷管理模块是系统的核心功能部分,在此重点介绍该模块的设计思想。一个缺陷的一般生命周期是如下顺序,“提交”→“分配”→“修正”→“验证”→“通过”→“关闭”,这里简化了软件缺陷管理的流程,将角色设置为测试人员、测试经理、开发人员、项目经理四种。由测试人员“提交”缺陷,经过测试经理审核确认为一个缺陷时,“打开”缺陷,通知开发人员修复,开发人员检查后不认为是一个缺陷,也就是“发生冲突”,此时项目经理查看该缺陷信息,裁决仍属于缺陷,需要被修复,于是“重新打开”缺陷,然后由开发人员修复该缺陷,测试人员再进行回归测试,测试经理审核验证后确认修复完毕,“关闭”缺陷。  3.用户管理模块设计。用户管理模块内容只有一个简单的功能,就是用户可以对个人的用户信息进行设置。因为前面文章中提到,系统是由内容员工所使用,用户是不能以个人名义进行注册的,是由管理员进行添加相应用户,添加的用户会包含用户的基本资料,如用户名、密码、性别等等。由于工作量相对较大,有些信息可能不完整或有错漏,那么个人用户即可通过此功能更改自己的个人信息,除了用户名不能修改外,其他信息均可修改(可修改的有如密码、联系方式等,但用户权限等在此并无该功能,因此不会出现将个人权限进行提升等情况)。  4.管理员模块设计。在管理员模块中主要有以下几个功能:用户管理、角色管理、权限管理、数据管理。各功能设计如下:①用户管理。主要是完成添加用户的基本资料信息、编辑用户信息和删除用户信息,要使用本系统,必须由管理员添加该用户之后方可使用。②角色管理。此功能类似Windows操作系统中的用户组,设定角色主要是因为有较多的用户,一一对其进行权限划分,工作量较大,显得不太现实,因此使用角色,将相同类型的用户添加到该组当中。③权限管理。权限管理主要有添加、修改、删除权限,添加新的权限后,可能权限进行设置,分别有权限的分配、权限的移除。与角色相同,如果该权限具体应用在某个角色当中时,该权限不能被删除,除非将该权限在对应的角色中移除后方可删除权限。④数据管理。在此功能当中主要实现对数据进行备份和进行数据还原,以防数据在遇到意外灾难时不至于丢失。

  摘要:本论文主要论述了基于B/S模式软件缺陷管理系统的MVC2三层模式与ADO.NET Entity Framework(EF)混合开发架构的基本业务与信息统计分析模块的设计与实现,侧重点放在了讨论这个程序的需求分析、设计、实现及所用到的项目管理知识。对维护人员提交的缺陷报告认真鉴定、筛选、分类,进入不同的处理流程,以获得真正的缺陷跟踪数据。  关键词:MVC框架;软件缺陷;缺陷跟踪;缺陷处理  中图分类号:G642.4 文献标识码:A 文章编号:1674-9324(2012)08-0061-02  缺陷是软件开发中的副产品,通常缺陷也会导致软件在某种程度上不满足用户的需要。在软件开发规模比较小时,缺陷管理可能只需要口头通知开发人员修改,并简单做一些书面记录即可。而在一个复杂系统的开发中开发团队庞大。这时交流成本迅速增加,采用口头或简单书面交流的方法已不能满足需求。了解软件缺陷生命周期能够为缺陷管理起到积极作用。  一、需求分析  用户与权限管理模块的权限设置主要是为了使业务操作方面权限更加合理安全,所以有必要在对软件测试时,对缺陷管理系统的业务流程进行分析,这样才能够更加明确、清晰地进行权限、角色、用户三者的分配管理。进行缺陷管理时,项目经理、测试人员、开发人员三者分工如下:①测试人员:测试人员登录后可以在系统中将发现的软件缺陷登入Bug,设置状态为Submited,等待项目经理的审核,也可查询状态为Fixed的缺陷。开发人员修改完代码后,权限任务再次回到测试人员手上,测试人员通过回归测试,检验该软件缺陷是否得到修改。完成操作后,提交操作任务,让项目经理审批或开发人员修改。②开发人员:开发人员登录系统查询状态项目经理分派的为Open的缺陷修改任务,对该缺陷进行分析并修改代码。如果成功修复缺陷,则将缺陷状态设置为Fixed,然后将缺陷返回给测试人员。如果缺陷未能解决或者缺陷不需要解决,则将缺陷设置为Rejected(拒绝)状态并注释原因,提交审批。完成操作后,提交任务,让测试人员或项目经理接手,进一步处理缺陷。所有操作都需验证用户权限,才能执行相关操作。③项目经理:项目经理可以通过缺陷管理系统查询自己组测试人员提交的缺陷修改请求任务,并对其进行认证。如果确认是缺陷,则分派任务给开发人员,如果不是缺陷或其他原因,如有些缺陷由于没有足够的时间、不算真正的软件缺陷、修复的风险太大等原因,项目经理可以将该缺陷关闭或将该缺陷挂起。  二、系统架构设计  用户需求的功能主要有三项,分别是项目管理、缺陷管理和相关的信息统计。而为了方便管理用户,管理员需求对不同的用户分配不同的权限,而同类型的用户又较多,单独每个用户分配权限又不太现实,从而引用角色概念,对角色受权,再将用户分配不同角色中去。系统的功能结构如图2-1所示。  图2-1 系统功能结构设计图  用户与权限管理主要可分为用户管理、角色管理、权限管理和用户权限管理。其中用户管理主要缺陷管理系统对使用系统的用户进行的管理,可进行新增用户、修改用户、删除用户等操作;角色管理是系统针对缺陷管理时所涉及到的角色,如管理员、项目经理、测试人员、开发人员等角色的管理,可进行新增用户、修改用户、删除用户等操作;权限管理是系统针对登入系统进行缺陷管理时所涉及的操作设定不同的控件、权限,可进行新增权限、修改权限、删除权限等操作;而用户权限管理是指管理员对用户、角色、权限三者的关联分配操作。  三、主要功能模块设计  1.项目管理模块设计。项目信息设置:由开发人员、项目经理、测试人员共同完成,主要的功能有添加项目的基本信息、项目基本信息的修改和基本信息的删除3个功能操作。每次对项目信息的添加、修改或删除,都会通过日志记录下来是由哪位用户执行的操作,方便以后信息的查阅。项目模块管理:由开发人员、项目经理、测试人员共同完成,每个项目由不同的模块所组成,在这个功能里面主要有添加项目模块信息、修改项目模块信息和删除项目模块信息。项目数据统计:由系统根据用户的选择进行统计,用户可以使用该功能统计系统全部项目的总数量,也可以统计单个项目当中所有模块的数量信息等。  2.缺陷管理模块设计。缺陷管理模块是系统的核心功能部分,在此重点介绍该模块的设计思想。一个缺陷的一般生命周期是如下顺序,“提交”→“分配”→“修正”→“验证”→“通过”→“关闭”,这里简化了软件缺陷管理的流程,将角色设置为测试人员、测试经理、开发人员、项目经理四种。由测试人员“提交”缺陷,经过测试经理审核确认为一个缺陷时,“打开”缺陷,通知开发人员修复,开发人员检查后不认为是一个缺陷,也就是“发生冲突”,此时项目经理查看该缺陷信息,裁决仍属于缺陷,需要被修复,于是“重新打开”缺陷,然后由开发人员修复该缺陷,测试人员再进行回归测试,测试经理审核验证后确认修复完毕,“关闭”缺陷。  3.用户管理模块设计。用户管理模块内容只有一个简单的功能,就是用户可以对个人的用户信息进行设置。因为前面文章中提到,系统是由内容员工所使用,用户是不能以个人名义进行注册的,是由管理员进行添加相应用户,添加的用户会包含用户的基本资料,如用户名、密码、性别等等。由于工作量相对较大,有些信息可能不完整或有错漏,那么个人用户即可通过此功能更改自己的个人信息,除了用户名不能修改外,其他信息均可修改(可修改的有如密码、联系方式等,但用户权限等在此并无该功能,因此不会出现将个人权限进行提升等情况)。  4.管理员模块设计。在管理员模块中主要有以下几个功能:用户管理、角色管理、权限管理、数据管理。各功能设计如下:①用户管理。主要是完成添加用户的基本资料信息、编辑用户信息和删除用户信息,要使用本系统,必须由管理员添加该用户之后方可使用。②角色管理。此功能类似Windows操作系统中的用户组,设定角色主要是因为有较多的用户,一一对其进行权限划分,工作量较大,显得不太现实,因此使用角色,将相同类型的用户添加到该组当中。③权限管理。权限管理主要有添加、修改、删除权限,添加新的权限后,可能权限进行设置,分别有权限的分配、权限的移除。与角色相同,如果该权限具体应用在某个角色当中时,该权限不能被删除,除非将该权限在对应的角色中移除后方可删除权限。④数据管理。在此功能当中主要实现对数据进行备份和进行数据还原,以防数据在遇到意外灾难时不至于丢失。


相关文章

  • 软件测试报告范本
  • XX 软件测试报告 拟制 审核 会签 批准 共 x 页 年 月 日 年 月 日 年 月 日 年 月 日 1 范围 本文档适用于XX 软件的单元/集成测试. 3.1.1 1.2 系统概述 3.2 1.3 文档概述 本文档用于对XX 软件的测试 ...查看


  • 软件测试理论知识学习
  • . 什么是软件测试,以及软件测试的意义? 软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求.软件测试就是在软件投入运行前,对软件需求分析.设计规格说明和编码的最终复审,是软件质量保证的关键 ...查看


  • 软件测试工程师资料与面试题
  • 开发思想,逻辑能力 目录 测试用例....................................................................................................... ...查看


  • 软件测试选择题[1]
  • 1.坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发工程中尽早发现和预防错误,将出现的错误克服在早期( A ). A. 技术评审B.程序测试C.文档审查D.管理评审 2.经验表明,在程序设计中,某模块与其他模块相比,若该模块已发 ...查看


  • 软件项目解决方案
  • 解 决 方 案 长沙XXXX有限公司 2016年8月 目录 第1章 关于本方案 ................................................................................ ...查看


  • 产品质量管理改进方案
  • 产品质量管理改进方案 Louis Lou 目 录 2一. 质量管理的基本理念 2二. 产品开发的基本质量策略 3三. 质量管理的基础 33.1 ISO 9126质量模型 43.2 缺陷划分 53.3 缺陷修复优先顺序和时间要求 5四. 产品 ...查看


  • 软件测试试题库
  • 一.单选题(2分/题,共30分) 二.多选题(1分/题,共10分) 三.名字解释题(3分/题,共9个) 试题一 (http://xiaolifang84.blog.163.com/blog/#m=0) 一.判断正误题 1. 测试是调试的一个 ...查看


  • 软件测试分析报告
  • 北方民族大学 课程设计报告 系(部.中心) 计算机科学与工程学院 姓 名 xxx 学 号 20091720 专 业 xxx 班 级 学习 课程名称 软件测试技术 设计题目名称 <学校实验室设备管理系统测试分析报告> 起止时间 2 ...查看


  • [重点归纳]软件测试概论
  • 软件测试概论 NO.1 软件测试基础 1.IEEE 对测试的定义:使用人工或自动化手段来运行或测定某个系统的过程.其目的在于检验系统是否满足规定的需求或者是否弄清楚预期结果和实际结果之间的差别.--目的:验证系统满足需求,或确定实际结果和预 ...查看


热门内容