基于.NET的软件评测管理系统的研究

期刊: 环球探索 DOI: PDF下载

崔超

江南机电设计研究所

摘要

软件评测是保障软件质量的重要手段,对提高软件产品质量、促进软件行业健康发展具有重要意义。传统的软件评测管理大多采用人工方式,效率低下、差错率高,难以适应日益增长的软件评测需求。为提高软件评测管理效率,本文设计并实现了一套基于.NET平台的软件评测管理系统。系统采用B/S架构,运用ASP.NET、C#、ADO.NET、SQL Server等技术,实现了软件评测业务全流程的信息化管理。系统主要包括用户管理、评测业务管理、质量监督、数据统计等功能模块,覆盖了软件评测机构日常管理的主要业务。实际应用表明,该系统运行稳定,功能完备,在提高软件评测管理效率、规范评测流程、加强过程监管等方面发挥了积极作用,具有良好的推广应用前景


关键词

软件评测;管理系统;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.

 


...


阅读全文