65.9K
CodeProject 正在变化。 阅读更多。
Home

新的 SQL Server 系统提高了少年司法跟踪的质量

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2005年2月21日

7分钟阅读

viewsIcon

25251

南卡罗来纳州青少年司法部在使用 Red Gate 软件的 SQL Bundle,在迁移到 SQL Server 的过程中,提高了青少年司法追踪的质量。

引言

三年前,南卡罗来纳州青少年司法部 (DJJ) 做出了一个关键决定:面对其使用 18 年、与 43 个县级办公室硬连接的主机系统的局限性,DJJ 开始使用 SQL Server 工具开发一个用于追踪青少年罪犯的 Web 系统。

在获得联邦政府三年、180 万美元的拨款后,DJJ 首先将计算机技术的职责从州首席信息官部门转移到一个新成立的 IT 部门。

一旦新的 IT 运营启动并运行,DJJ 就更仔细地审视了旧的 MIS 主机及其用于追踪和管理青少年案件的应用程序,并决定将这些也纳入内部。该机构计划淘汰主机,并将旧应用程序转换为一个更直观的系统,该系统可以被州内的县级办公室通过互联网轻松快速地访问。这似乎是一项多年工程,但将为用户带来巨大的回报。

“新的 JJMS [青少年司法管理系统] 将比 MIS 更快,它将允许用户执行以前无法完成的任务,”高级架构师兼负责从主机进行转换的团队项目负责人 Frederick Volking 说。“对用户来说,最重大的改进可能是不再需要记住主机所需的数千个代码。”

主机使用的四位数字代码代表特定的青少年指控。一个代码可能表示孩子犯有破门而入罪;另一个可能表示破门而入并伴有袭击。目前,这些代码必须被记住或在厚厚的书中查找,这是一个耗时的过程。

在新系统中,用户将从下拉菜单中选择或使用查找表。他们还可以使用更复杂的参数集来搜索指控,例如“涉及毒品的袭击”。这将提高数据质量。

迁移到 SQL Server

Volking 负责八名开发人员,其中五名随时在岗。两名全职为 DJJ 工作,六名是独立承包商。开发人员使用 Visual Studio .NET、SQL Server 2000 以及 Red Gate 软件的 SQL Bundle,其中包括 SQL Compare、SQL Data Compare 和 DTS Compare。这些软件工具使开发人员能够在自己的机器上以组件级别进行工作,然后将他们的代码迁移到服务器。

Volking 的团队管理着 11 台网络连接到台式机的服务器。前两台,一台 SQL Server 和一台 Web 服务器,负责开发集成。第二组由一台 SQL Server 和两台 Web 服务器组成,用于 QA 测试和用户验收。第三组用于生产环境,包括两台 SQL Servers 和两台 Web 服务器。最后两台服务器是域控制器。

尽管有了这些新的硬件武器,MIS 主机至少在转换完成之前仍然存在。因此,每晚主机都会将数据文件通过 FTP 发送到生产、QA 和集成服务器。

“我们有成千上万行的 Transact-SQL 每天晚上执行,”Volking 说。

无错误比较

该机构每天晚上更新其数据库,并在周六使用 Red Gate 的 DTS Compare 软件进行全面刷新。DTS Compare 使团队能够快速了解集成服务器和 QA 服务器之间配置上的差异。然后,团队可以创建一个脚本将信息推广到 QA。该脚本将在 QA 上运行,直到它经过测试,并且团队决定是时候将其推广到生产环境了。

“这很复杂,”Volking 说。“我们谈论的是成千上万行代码,以及大约 35 到 40 个执行不同任务的小型 DTS 包的嵌套。手动尝试可能近乎不可能。它会如此容易出错,简直是疯狂的。”

开发团队依赖 Red Gate 的 SQL Compare 来验证数据库对象的架构在集成和 QA 中是否完全相同。

“我们拥有的字段数量相同吗?它们是相同类型的字段吗?我们是否拥有完全相同的索引?外键?约束相同吗?这些是我们用 SQL Compare 寻找的东西,”Volking 说。

在软件比较了两个数据库的架构后,它会指示需要添加(例如)索引的位置。这使得 DJJ 的开发人员可以在完全独立、独立的开发环境中工作,并使用 SQL Compare 和 Visual Studio 进行集成。

“有时,当你将所有这些架构提升到下一个推广级别时,一些东西就会停止工作,而你却无法弄清楚发生了什么,”Volking 说。“屏幕为什么需要 45 秒才能加载,而它应该只需要两秒钟?

“没有 SQL Compare,你需要花费数百小时去寻找和比较来找出问题所在,”Volking 说。“我为很多公司做过开发,确保不遗漏一个标志或不遗漏一个索引的能力,其收益是巨大的。”

拼图的第三块

转换的另一个重要部分是数据本身。该机构不仅希望保留其拥有的信息,还希望在未来可以收集的数据类型方面拥有灵活性。为此,开发团队已经收到了参与转换的、经过特别挑选的县级员工(作为 QA 测试人员)提出的许多更改请求。

这些测试人员通常是经验丰富的员工,他们既了解 MIS 系统,也了解其背后的业务流程。QA 测试人员非常适合帮助 Volking 和他的团队开发 JJMS,使其能够适应当前需求以及未来的改进。

例如,应 QA 测试人员的要求,团队创建了一个“人员类型”表。此查找表包含诸如青少年的亲属、辅导员、假释官等数据。如果在开发过程中,团队被要求添加另一种名为“监护人但非法定”的人员类型,他们会在桌面开发级别添加。但他们必须确保此内容迁移到所有服务器。

这可以通过 SQL Bundle 中的第三个模块,称为 SQL Data Compare 来轻松完成。该软件允许开发团队创建一个项目,其中包含用于比较和迁移数据到服务器层次结构顶端的规则。团队创建的一个项目规定,每当比较两个数据库时,SQL Data Compare 必须同时比较数据表和查找表中的数据。

“SQL Bundle 现在已经帮助我们解决了将开发从 PC 迁移到生产并保证可重复性的所有三个主要问题,”Volking 说。

Volking 估计 SQL Bundle 将他的总人力需求减少了约 20%,他承认如果人们是完美的,情况可能并非如此。

“一个程序员的失误可能会花费数百小时去发现和修复,”他说。

经受考验

在县级办公室运行 JJMS 后,开发团队将再次对 SQL Bundle 进行测试。项目的后续阶段要求整合检控官办公室(在其他州称为地区检察官)、法官办公室、缓刑和假释办公室、监狱、拘留中心以及更广泛的县级服务部门。

这些办公室从未获得过 MIS 访问权限,因此许多人开发了自己的追踪数据库。多年的 JJMS 计划要求整合这些小型数据库,使所有 JJMS 用户能够即时查看和理解,例如,一项严重的指控与法官仅推荐缓刑的原因之间的关系。它甚至可以显示两个过去发生过冲突的青少年罪犯被安排在同一个拘留中心。

在 Volking 的设想中,JJMS 将成为一个交互式工具,而不仅仅是一个追踪系统。它将允许少年司法系统中的每个人根据孩子的独特情况和过往历史,确定他们是否需要治疗、惩罚或缓刑。

“MIS 历来是我们业务的必要之恶,”Volking 说。“JJMS 将首次成为我们开展业务的工具。这其中差异巨大。”

要了解 SQL Bundle 对您有多大帮助,请从 Red Gate 的网站下载功能齐全的 **免费试用版**。

新的 SQL Server 系统提高了青少年司法追踪的质量 - CodeProject - 代码之家
© . All rights reserved.