青少年司法系统现代化:从大型机到网络化解决方案

青少年司法系统(DJJ)面临着一个关键的决策:其18岁的大型机系统与43个县级办公室硬连接,限制了其功能。为了解决这一问题,DJJ开始使用SQL Server工具开发一个基于网络的系统,用于跟踪青少年罪犯。

在联邦政府提供的为期三年、价值180万美元的资助下,DJJ首先将计算机技术的责任从州首席信息官部门转移到新成立的IT小组。一旦新的IT运营开始运行,DJJ就对旧的MIS大型机及其用于跟踪和管理青少年案件的应用程序进行了深入研究,并决定将这些应用程序内部化。该机构计划逐步淘汰大型机,并将旧应用程序转换为更直观的系统,该系统可以通过互联网轻松快速地被州内的县级办公室访问。这将是一个多年的任务,但对用户来说将带来巨大的回报。

“新的JJMS(青少年司法管理系统)不仅会比MIS更快,它还将允许用户做一些以前无法做的事情,”负责从大型机转换的团队的高级架构师和项目负责人Frederick Volking说。“对用户来说,最重要的改进是不再需要记住大型机所需的数千个代码。”

大型机使用的四位数代码代表特定的青少年指控。一个代码可能表示一个孩子被指控入室盗窃;另一个可能表示入室盗窃并伴有攻击。目前,这些代码必须被记住或在一本大书中查找,这是一个耗时的过程。

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

迁移到SQL Server

Volking监督着八名开发人员,其中五名在任何时候都在工作。两名全职为DJJ工作,六名是独立承包商。开发人员使用Visual Studio .NET、SQL Server2000和Red Gate Software的SQL Bundle,包括SQL Compare、SQL Data Compare和DTS Compare。这些软件工具使开发人员能够在自己的机器上在组件级别上工作,然后将他们的代码迁移到服务器上。

Volking的团队管理着11台服务器,这些服务器与桌面PC网络连接。前两台,一台SQL服务器和一台Web服务器,用于开发集成。第二组包括一台SQL服务器和两台Web服务器,用于QA测试和用户验收。第三组,用于生产,有两台SQL服务器和两台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将成为一个交互式工具,而不仅仅是一个跟踪系统。它将允许青少年司法系统中的每个人根据他或她的独特情况和过去的历史,确定一个孩子是否需要治疗、惩罚或缓刑。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485