基于.NET的软件评测管理系统的研究
摘要
关键词
软件评测;管理系统;NET;B/S架构;数据库
正文
引言:
软件评测是对软件产品进行检查、验证的过程,是软件质量保证的重要手段。通过软件评测,可以发现软件产品存在的各类缺陷和问题,并及时反馈给开发者进行修正,从而有效提高软件产品质量,确保软件的可靠性、安全性、易用性等。近年来,随着信息技术的快速发展,各行业软件应用日益广泛,软件评测需求也随之快速增长。与此同时,软件系统日益庞大复杂,评测任务量大幅上升,传统的人工管理方式已难以适应,亟须建立规范高效的软件评测管理系统。
一、软件评测管理系统需求分析
软件评测管理是一项涉及面广、流程复杂的系统工程,对管理系统的功能性、可靠性、易用性等都提出了较高要求。因此,开发软件评测管理系统必须在深入调研的基础上,准确把握用户需求,合理划分角色权限,优化业务流程,明确系统目标[1]。本文所设计的软件评测管理系统主要面向第三方软件评测机构,旨在提高其日常管理效率,规范评测流程。
(一)系统角色分析
1.系统管理员:管理整个系统的运行维护,包括用户管理、权限管理、系统参数设置、数据备份等。
2.评测管理员:负责评测项目的受理、任务分配、过程监督、成果汇总等管理工作。
3.质量主管:负责评测过程的质量把关,对评测方案、用例、报告等进行审核。
4.评测工程师:承担具体的评测任务,如编写测试方案、设计测试用例、提交测试报告等。
不同角色拥有不同的系统权限,可以访问和操作与其职责相关的功能模块,既有利于发挥各自的管理职能,又能防止越权操作[2]。
(二)系统环境分析
从系统建设的可行性和实用性出发,本系统采用B/S(Browser/Server)架构,即浏览器/服务器架构。该架构具有如下优点:
1.易于部署和升级。系统只需在服务器端部署,用户通过浏览器即可访问,避免了在每个客户端安装和升级应用程序,大大降低了系统维护成本。
2.良好的跨平台特性。由于用户界面通过浏览器实现,不依赖于特定操作系统,用户可以在Windows、Linux、Mac OS等各种系统上使用该系统。
3.较强的安全性。B/S架构天然支持互联网访问,便于异地办公;同时,由于核心数据和业务逻辑都在服务器端,安全性高于C/S架构。
在B/S架构下,本系统采用当前主流的.NET平台进行开发。NET平台提供了丰富的类库和强大的开发工具,使得开发过程变得简单高效[3]。同时选用SQL Server作为后台数据库管理系统,借助ADO.NET技术实现数据库的连接与访问。
二、软件评测管理系统设计
(一)系统功能设计
本系统的功能设计遵循模块化、层次化的原则,将系统划分为若干功能模块,并根据软件评测业务流程合理组织。
1.用户管理。系统管理员通过该模块管理系统用户,可以添加、修改、删除用户信息,并赋予适当的角色和权限。
2.评测项目管理。评测管理员使用该模块对评测项目进行管理,主要包括项目登记、人员分配、过程监控、评审验收等。每个评测项目对应软件产品的一个版本,经过申请、分配、实施、验收等环节。
3.评测任务管理。评测工程师通过该模块领取并完成评测任务,主要包括编写评测方案、设计评测用例、执行评测、记录缺陷、评估结果、提交报告等。每个任务对应项目的一部分测试内容[4]。
4.评测资产管理。主要包括评测用例库、评测脚本库、评测工具库等,便于评测资源的集中管理和重复利用,提高评测效率。
5.质量监督。质量主管使用该模块对重点评测环节进行监督,包括评审项目计划、审核评测方案、抽查评测过程、复核评测报告等,以保证评测过程的规范性和结果的可靠性。
6.数据统计。系统将评测项目的进度、工作量、缺陷分布等信息进行统计分析,并以图表方式直观展现,为项目管理决策提供数据支持。
7.系统管理。用于系统参数配置、数据字典维护等,保证系统平稳运行。
(二)数据库设计
根据系统功能需求,本系统设计了用户表、项目表、任务表、用例表、缺陷表等核心数据表。
其中用户表存储系统用户的基本信息和角色信息;项目表存储评测项目的属性信息,包括软件名称、版本号、需求文档、测试级别等;任务表存储每个具体评测任务的信息,与项目表形成一对多关系;用例表用于管理评测用例,包括用例ID、所属任务、标题、步骤、预期结果等;缺陷表用于记录评测过程中发现的各类缺陷,包括缺陷ID、所属任务、缺陷概述、严重程度等。表1给出了部分核心表的结构。
数据库表通过主外键关联,构成了完整的数据模型,可以覆盖系统的主要业务实体及其关系,为系统的数据存储与访问提供了坚实基础。同时,系统还采取了完整性约束、索引优化等措施,确保了数据的一致性和查询效率[5]。
三、工程案例
本节选取系统的几个关键功能进行实现说明,以期展现系统的设计思路与实现方法。
(一)母版页的设计与实现
为了保证Web页面呈现风格的一致性,系统采用母版页对界面布局进行统一定义,包括页眉、侧边导航、页脚等公共部分。
母版页使用Master Page控件实现,内容页使用Content Place Holder控件预留可变内容的位置。当请求内容页时,ASP.NET会自动将母版页和内容页组合在一起,形成完整的HTML页面。这种方式大大提高了页面的可重用性和可维护性。
(二)数据库连接
为简化数据库连接管理,系统将连接字符串放在单独的配置文件Web.Config中,代码如下:
<connectionStrings>
<add name="ConStr"connectionString="Data Source=(local);Initial Catalog=SoftwareTestDB;User Id=sa;Password=****"providerName="System.Data.SqlClient"/
</connectionStrings>
在代码中通过ConfigurationManager类读取连接字符串,再利用SqlConnection对象建立连接,例如:
string conStr=ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
using(SqlConnection con=new SqlConnection(conStr))
{
con.Open();
//数据库操作
con.Close();
}
这种集中配置的方式便于连接字符串的修改和保密,避免了在代码中硬编码的弊端。
(三)用户登录验证
用户登录是系统安全的第一道防线。系统采用ASP.NET自带的表单身份验证机制,并结合SQL Server数据库存储的用户信息进行身份认证。流程如下:
1.用户在登录页面输入用户名和密码,提交表单。
2.服务器收到请求后,调用Membership.ValidateUser方法,将明文密码加密后与数据库中的密码进行比对。
3.如果验证通过,则使用FormsAuthentication.SetAuthCookie方法写入身份认证Cookie。
4.重定向到系统主页,系统根据Cookie中的身份信息确定用户权限。
相关代码如下:
if(Membership.ValidateUser(txtUserName.Text,txtPassword.Text))
{
FormsAuthentication.SetAuthCookie(txtUserName.Text,false);
Response.Redirect("~Default.aspx");
}
else
{
lblMessage.Text="用户名或密码错误";
}
登录成功后,系统使用基于角色的访问控制方法,根据用户的角色属性授予相应的操作权限,保证了系统的安全性。
(四)评测业务数据管理
评测业务管理是系统的核心功能,包括项目管理、任务管理、缺陷管理等。本文以缺陷管理为例进行说明。
缺陷管理采用GridView控件实现,可以对缺陷记录进行浏览、添加、编辑、删除等操作。
后台代码使用ADO.NET对数据库进行操作,主要包括:
1.查询缺陷列表:
string sql="SELECT*FROM Defect ORDER BY ID DESC";
using(SqlDataAdapter da=new SqlDataAdapter(sql,con))
{
DataSet ds=new DataSet();
da.Fill(ds,"Defect");
GridView1.DataSource=ds.Tables["Defect"];
GridView1.DataBind();
}
2.添加新缺陷:
string sql="INSERT INTO Defect(TaskID,Title,Severity,Status,Remark)VALUES(@TaskID,@Title,@Severity,@Status,@Remark)";
using(SqlCommand cmd=new SqlCommand(sql,con))
cmd.Parameters.AddWithValue("@TaskID",ddlTask.SelectedValue);
cmd.Parameters.AddWithValue("@Title",txtDefectTitle.Text);
cmd.Parameters.AddWithValue("@Severity",ddlSeverity.SelectedValue);
cmd.Parameters.AddWithValue("@Status","新建");
cmd.Parameters.AddWithValue("@Remark","txtRemark.Text);
cmd.ExecuteNonQuery();
3.编辑缺陷:
string sql="UPDATE Defect SET TaskID=@TaskID,Title=@Title,Severity=@Severity,Remark=@Remark WHERE ID=@ID";
using(SqlCommand cmd=new SqlCommand(sql,con))
{
cmd.Parameters.AddWithValue("@TaskID",ddlTask.SelectedValue);
cmd.Parameters.AddWithValue("@Title",txtDefectTitle.Text);
cmd.Parameters.AddWithValue("@Severity",ddlSeverity.SelectedValue);
cmd.Parameters.AddWithValue("@Remark",txtRemark.Text);
cmd.Parameters.AddWithValue("@ID",lblID.Text);
cmd.ExecuteNonQuery();
}
4.删除缺陷:
string sql="DELETE FROM Defect WHERE ID=@ID";
using(SqlCommand cmd=new SqlCommand(sql,con))
{
cmd.Parameters.AddWithValue("@ID",lblID.Text);
cmd.ExecuteNonQuery();
}
通过ADO.NET的SqlCommand、SqlDataAdapter等对象,系统实现了对缺陷数据的增删改查,并通过GridView控件展示在页面上,方便了对缺陷的集中管理。其他功能模块的数据管理也采用类似的方式实现。
四、软件评测管理系统的测试
为保证系统的质量,本文在系统开发的各个阶段都进行了测试,主要包括功能测试和性能测试两大类。
(一)系统功能测试
功能测试主要检查系统的功能是否满足需求、设计要求,是否存在遗漏或错误。测试人员根据用例设计测试方案,逐一测试系统的各项功能,并记录测试结果。本系统的功能测试情况如表1所示。
表1系统功能测试情况
功能模块 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
用户管理 | 添加用户 | 成功添加用户信息并保存到数据库 | 与预期一致 | 通过 |
修改用户信息 | 成功修改用户信息并更新到数据库 | 与预期一致 | 通过 | |
删除用户 | 成功从数据库中删除用户信息 | 与预期一致 | 通过 | |
评测项目管理 | 创建项目 | 创建项目并初始化项目信息 | 与预期一致 | 通过 |
与预期一致 | 通过 | |||
与预期一致 | 通过 | |||
分配人员 | 成功为项目分配评测管理员、质量主管等人员 | 与预期一致 | 通过 | |
修改项目状态 | 能正确修改项目的当前状态 | 与预期一致 | 通过 | |
评测任务管理 | 创建任务 | 成功创建评测任务并关联到项目 | 与预期一致 | 通过 |
领取任务 | 评测工程师可以成功领取分配的任务 | 与预期一致 | 通过 | |
提交任务 | 评测工程师完成后可成功提交任务 | 与预期一致 | 通过 | |
缺陷管理 | 添加缺陷 | 成功纪录新发现的缺陷信息 | 与预期一致 | 通过 |
修改缺陷 | 成功修改缺陷的严重级别、状态等 | 与预期一致 | 通过 | |
关闭缺陷 | 经确认后可成功关闭缺陷 | 与预期一致 | 通过 |
从表中可以看出,系统的主要功能模块都通过了功能测试,表明系统满足了用户的功能需求。个别需要完善的细节经修改后也都得到验证。
(二)系统性能测试
性能测试主要评估系统在高负载、大并发等条件下的响应速度、资源占用等性能指标,以发现可能存在的性能瓶颈。本系统采用LoadRunner工具,通过模拟大量用户并发访问,测试系统的响应时间、吞吐量、资源利用率等。
经测试,系统在100用户并发的情况下,平均响应时间控制在2秒以内,CPU、内存等资源利用率保持在合理范围,未出现异常、宕机等现象,满足了用户对系统性能的要求。同时也发现,系统在并发数持续上升时,数据库访问成为性能的瓶颈所在,有进一步优化的空间,如采用缓存机制、优化SQL语句等。这为系统后续的优化完善指明了方向。
结语:
本文针对软件评测机构的实际需求,基于.NET平台设计并实现了一套软件评测管理系统。系统采用当前主流的B/S架构和MVC设计模式,借助ASP.NET、ADO.NET等技术,实现了软件评测业务的信息化、流程化管理。经过需求分析、系统设计、功能实现、系统测试等一系列工作,该系统基本达到了预期目标,为软件评测机构提供了一个高效、规范、可扩展的管理平台。
系统开发过程中,本文重点研究和解决了以下几个关键问题:一是如何围绕软件评测业务设计系统的功能模块,既要全面覆盖评测活动的各个环节,又要合理划分角色权限,确保流程的规范性和数据的安全性。二是如何设计数据库模型,在满足数据完整性、一致性的同时,还要考虑系统性能和扩展性。三是如何将.NET平台的各项技术应用到系统开发中,发挥其RAD、跨平台、安全等优势。四是如何设计和开展系统测试,全面评估系统的功能、性能、可靠性、易用性等质量特性。这些问题的解决,保证了系统开发的质量和进度,积累了宝贵的经验。
参考文献:
[1]刘健.基于.NET的软件评测管理系统的研究[J].计算机时代,2018(9):99-102.
[2]苗丽..Net软件工程师评测系统的研究与实现[D].电子科技大学,2016.
[3]贾跃,付丽梅,韩羽佳.软件开发技能测评系统的设计与实现[J].电子技术与软件工程,2016(22):2.
[4]伍文梅.基于.NET的大学生体质评测管理系统的设计与实现[D].厦门大学[2024-09-02].
[5]邹芳.Web管理系统ASP.NET的设计与实现[J].科技促进发展(应用版),2010.
...