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