计算机2000年问题的解决之道 邓晓辉、曾光 1998年 第48期 07版 #1解决Y2K问题的一般方法步骤   目前,国内外解决计算机2000年问题,一般可以分为六个步骤进行,对于不同类型的系统,每个阶段的确切步骤将有所不同,开销费用也会有很大的差异。 #1  1.了解2000年问题   对问题的正确认识很重要,首先要求从领导到一般技术人员都要认识、了解什么是2000年问题;2000年问题的广泛性、严重性和复杂性;如何处理和解决2000年问题。在这个阶段一个很重要的工作是建立企业级Y2K项目办公室。 #1  2.进行评估,制定计划,开展各项准备工作   (1)如果系统存在Y2K问题,要确定问题的影响范围,确定总体计划。   (2)确定Y2K问题的风险、解决措施,并提交高层管理机构审批。尽量采用当前可行的项目管理工具和技术,并考察其它行业和政府所采取的措施。   (3)确定当前必须的项目管理工具及技术。   (4)进行初步评估。   对于自行开发的系统,可利用经验和使用已有的工具进行评估;对于购买的系统或系统间的接口及其它关键系统,可以使用表格进行调查,调查表的内容主要应集中于建立问题的类型,以便评定系统所具有的风险。然后,列出系统产品清单,并与供应商联络,检查这些系统和产品能否渡过2000年,了解提供系统的硬、软件厂商对其系统、产品或零部件产品顺应2000年所采取的对策、解决方案和许诺,以及购买合同、技术支持和维护合同。最后制定解决问题的方针,决定对处于风险中的系统,是采取修改的方法或是替换的方法。   (5)制定应急计划。   任何机构在着手进行修改工作前,应该制定2000年问题的应急计划,应急计划可以在意外事件发生时把损失减少到最低限度。随着清查工作的深入,在应急计划中应该逐步标明修改的优先级和关键系统的部位。用逐步细化的办法来制定应急计划,包括安全结果和副作用。   (6)分析可能的解决方案及费用、时间和须做的工作。   对于单一类型及不同类型混合的系统,根据受到的约束,选择出相应的解决方法。然后,依据评估阶段技术上调查的结果和提出的解决方法,做出成本估算,成本估算包括有多少系统受到2000年问题的影响,并需要同步进行修改、测试和现场维护;有的修改需要得到授权;桥接出测试和由于推延引起的变化所需要的成本;购置有关调查、评估、计划、修改测试所必需的工具;以及由一些非预知因素、不利条件、修改过程中的故障和错误引起的成本等。还应估算出实现解决方案需花费的时间,以及实现解决方案跨越的时间段(是否在2000年到来之前)。   (7)根据评估结果和确定的总体计划,对整个工作计划进行细化,列出哪一部分需要修改、何时何地需要、采用何种方式进行、由何人承担等等。   (8)将整个系统全部进行备份。 #1  3.清查   一个单位是否存在2000年问题?如果存在,那么,对本单位的影响是否严重?这些问题都应该经过清查、评估,然后再下结论。清查企业内处于风险中的所有系统和系统组成部件,应包括计算机系统的硬件、操作系统、微码、数据库、应用软件、接口和支持维护设施,以及所有对日期敏感的系统,如电话系统、电力系统、供热系统、照明系统、各类控制系统等。 #1  4.解决方案和计划实施   根据确定的解决方案和实施计划,进行系统的修改和更换工作。 #1  5.测试和验证   在解决计算机2000年问题时,需要大量地改变系统的逻辑和数据,因此,在找出修改之处、实施修改、编写文档之后,必须对相应系统进行重新测试,以确保修改后的新系统正确、可靠、稳定。   测试层次:单元测试、功能测试(或称系统测试)、用户验收测试;   测试周期:基本线、当前年、未来年;   测试类型:日期功能、容量、备份与恢复、操作性能、应急计划。   与传统的方法相比,对修改2000年问题的测试需要有新的和扩展的过程。除此之外,系统通常有一时间窗口,与当前相关的日期也需要测试,这就增加了测试的工作量。 #1Y2K的认证进程   针对一个系统而言,达到Y2K认证目标应采取以下五个步骤:   1.Y2K项目办公室对于单个系统指定认证人。最为理想的情况是,这一步工作在认知阶段完成。   2.认证人针对系统制定认证跟踪报告,并针对系统填写认证情况和信息。   3.认证人应以认证跟踪报告为工具,与系统管理者和开发者保持密切联系,以确保必要措施的实施和文档的准备及完成。认证人在贯穿进程的整个生命周期里填写认证跟踪报告。这份文档与所有的支持材料和报告,针对每个单个系统应被保存在一起,形成系统认证包。   4.当已经认定一个系统是Y2K兼容时(在生效阶段、收尾阶段),当系统管理者、认证人及应用链上与系统运行的有关人员,都对系统修改达到满意程度时,认证人针对认证跟踪报告,应取得所需要的签字或认可证明,并将认证跟踪报告提交给Y2K项目办公室的对口相关人员。   5.项目实施组应该在系统认证人的指导下完成系统的Y2K兼容实施。认证人应继续填写认证跟踪报告和维护系统的所有文档。 #1关键问题 #1  1.Y2K项目办公室   组成:   企业级主管(给予人员、财力上的支持,这一点在我国尤其重要。)、项目总监、应用系统专家、行业专家、项目负责人、过程控制专家、项目小组、系统分析员、专业技术人员、技术负责人、测试协调员、工具专家、厂商联系人、法律顾问……   功能:   管理技术环境、管理系统修复、管理测试与认证、管理计划与协调、管理各种资源、管理财务、管理质保。 #1  2.解决方案与相关技术   关于外购系统(硬件系统,系统软件……):   请尽快向厂商联系咨询产品情况,以保证对系统所做的处置(如:系统升级、更换、修复、淘汰……)能正确、及时进行。   关于MIS系统或用于管理的信息系统:   由于这类系统规模一般比较庞大,建议所采取的方法是将系统按优先级分解成若干独立的、可分别管理的模块,区别处理;对优先级高的系统分块或系统部件块优先处理。针对某些情况,可考虑实行外包。   可采取的技术:   将计算机内表示年的域扩展为四位   在六位空间内记录世纪信息   压缩技术   使用100年逻辑窗口技术(日期重译法)   使用桥接程序   回调系统时钟并使用28年时间桥技术   系统的彻底更换或弃置 #1  3.关于测试   要求:   2000年修改不应改变应用程序功能   着重于日期处理   由于各组件之间的相互依赖关系,要求集成测试   测试环境:   通常是不充足的;   可能不是2000年兼容的;   缺乏现有的测试案例;   可能缺乏现有系统的文档;   缺乏回归测试要求的以往测试结果;   测试层次:基元测试、功能测试(或称系统测试)、集成测试、用户验收测试;   测试周期:基本线、当前应用,2000年后的适应;   测试类型:日期功能、容量、备份与恢复、操作性能、应急计划。 #1个人电脑解决Y2K的一般方法 #1  1.检测微机的BIOS   目前,个人PC、笔记本电脑在社会拥有量巨大,在社会各个领域应用广泛,并具有越来越重要的作用和地位。但是,相当一部分微机的BIOS(Basic Input/Output System)不支持2000年。   检测微机是否支持2000年的方法很简单:修改微机BIOS的时钟日期,看其能否显示正确的2000年日期。如不能够正确显示2000年的日期,则说明你的微机不能够支持2000年。微机的BIOS时钟的2000年问题的解决较为简单,一般的微机厂都提供修改软件,在国际互联网上也有很多免费软件,可以解决微机BIOS时钟问题,对不支持BIOS升级主板的微机则只能进行更换。 #1  2.采用2000年问题测试工具   ·美国国家软件测试实验室开发的YMARK2000测试工具:该工具可以免费下载,COMPAQ公司在其2000年问题技术白皮书中就提到了该测试程序。   ·Survive 2000公司提供的Survive 2000产品:专门测试你的RTC和BIOS,也可以免费下载。   ·RightTime公司的TEST2000工具:该工具可以判定你的微机是否能够自动实现2000年正确过渡,或者是否可以通过手动命令实现2000年过渡,以及是否必须通过BIOS升级才能实现2000年正确过渡。 #1  3.人工测试   (1)备份必要的关键数据   (2)一些关键日期:0000-00-00;1900-1-1;1998-12-31;1999-1-1;1999-9-1;1999-9-9;1999-9-10;1999-12-31;2000-1-1;2000-1-10;2000-2-29;2000-3-1;2000-10-1;2000-10-10;2000-12-31;2001-1-1;2004-2-29;2004-12-31……   (3)利用上面的一些关键日期,测试计算机能否正确识别它们和能否正常工作。   进行自动跨越测试:使用以上的日期和时间的前一天或后一天,让计算机自动过渡到下一日期,看系统能否正常工作。   在完成测试以后,用一些补丁程序或附加硬件或升级最终解决Y2K问题。