系统生命周期
系统规划——
系统规划是信息系统生命周期的第一阶段,其任务是对企业的环境、目标及现有系统的状况进行初步调查,根据企业目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。根据需要与可能,给出拟建系统的备选方案。对这些方案进行可行性分析,写出可行性研究报告。可行性研究报告审议通过后,将新系统建设方案及实施计划编写成系统设计任务书。
信息系统建设是投资大、周期长、复杂度高的社会技术系统工程。系统规划可以减少盲目性,使系统具有良好的整体性、较高的适应性,建设工作有良好的阶段性,以缩短系统开发周期,节约开发费用。目前,国内企业建设的信息系统,单项应用的多,综合应用的少,系统适应性比较差,难以扩充。缺乏科学的规划是造成这种现象的原因之一,有些规模较大的项目,由于没有系统规划和科学论证,上马时轰轰烈烈,上马后困难重重,导致骑虎难下的局面,不仅造成资金、人力的巨大浪费,而且为今后的系统建设留下隐患。因此,系统规划是信息系统建设成果的关键,它比具体项目的开发更为重要。
系统分析——
系统分析阶段也称为逻辑设计阶段,其任务是根据系统设计任务书所确定的范围,对现有系统进行详细调查,描述现有系统的业务流程,指出现有系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。
在系统分析阶段,系统分析师要和用户一起细致地进行调查分析,把用户的初始需求具体化、明确化,最终转换成关于新系统“做什么”的逻辑模型。系统分析是整个系统建设的关键阶段,也是信息系统建设与一般工程项目的重要区别之所在。系统分析阶段的工作成果体现在系统需求规格说明书中,这是系统建设的必备文件,是系统设计阶段的工作依据,也是将来系统验收的依据。
软件需求工程——
在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视。后来,软件开发引入了生命周期的概念,需求分析成为其第一阶段。随着系统规模的扩大,需求分析与定义在整个系统开发与维护过程中越来越重要,直接关系到系统的成果与否。人们也逐渐认识到需求分析活动不再仅限于系统开发的最初阶段,而是贯穿于系统开发的整个生命周期。于是,形成了软件工程的子领域——软件需求工程。
软件需求工程是包括创建和维护软件需求文档所必需的一切活动的过程,可分为需求开发和需求管理两大工作。需求开发包括需求获取、需求分析、编写需求规格说明书(需求定义)和需求验证4个阶段。在需求开发阶段需要确定软件所期望的用户类型,获取每种用户类型的需求,了解实际的用户任务和目标,以及这些任务所支持的业务需求。同时还包括分析源于用户的信息,对需求进行优先级分类,将所收集的需求编写成为需求基线、处理需求变更和需求跟踪等方面的工作。这两方面是相辅相成的,需求开发是主线,是目标;需求管理是支持,是保障。
软件架构设计——
传统的软件开发过程可以划分为从概念到实现的若干个阶段,包括软件计划、需求分析、软件设计、软件实现和软件测试等。在这种开发过程中,如何将需求分析的成果转换为软件设计,这个问题一直困扰着研究人员和实践工作者。近年来,软件工程界提出了各种需求工程和软件建模技术,然而,在软件需求和设计之间仍然存在一条很难逾越的鸿沟,从而很难有效地将需求转换为相应的设计。为此,学者们提出了软件架构(Software Architecture)的概念,并试图在软件需求与设计之间架起一座桥梁,重点解决系统结构和需求向实现平坦过度的问题。
另一方面,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。在这种背景下,人们也逐渐认识到软件架构的重要性,促进了软件架构技术的快速发展和应用。
系统设计——
系统设计是系统分析的延伸与拓展。系统分析阶段解决“做什么”的问题,而系统设计阶段解决“怎么做”的问题。同时,它也是系统实施的基础,为系统实施工作做好铺垫。合理的系统设计方案既可以保证系统的质量,也可以提高系统开发效率,确保系统实施工作的顺利进行。
系统设计阶段又称物理设计阶段,它是信息系统开发过程中一个非常重要的阶段。其任务是根据系统规格说明书中规定的功能要求,考虑实际条件,具体设计实现逻辑模型的技术方案,也就是设计新系统的物理模型,为下一阶段的系统实施工作奠定基础。
系统实现与测试——
系统实现阶段是将设计的系统付诸实施的过程。这一阶段的任务包括计算机等设备的购置、设备安装与调试、程序编写与调试、人员培训等。这个阶段的特点是几个互相联系、互相制约的任务同时开展,因此,必须精心安排、合理组织。系统实现是按实施计划分阶段完成的,每个阶段应写出实施进展报告,系统测试之后写出测试分析报告。
系统质量的好坏和系统分析与设计的质量密切相关,但系统实现时选用的程序设计方法、程序设计语言和程序设计风格也将对系统的可靠性、可维护性和可复用性产生很大的影响。软件测试是软件质量保证的主要手段之一,其目的就是在软件正式运行之前,尽可能多的找出软件中存在的各种错误和缺陷。
系统运行与维护——
通过系统规划、分析、设计、实现与测试之后,所期望的信息系统已经开发完毕,可以交付给用户使用了。在信息系统运行过程中,仍会出现系统调试与测试阶段没有发现的隐藏错误,还可能为系统功能的扩展与集成进行系统的改动,为此要对系统进行科学的维护与管理,记录系统运行的情况,评价系统的工作质量与经济效益。这是一项长期工作,根据各信息系统的实际情况不同,系统运行与维护阶段在整个系生命周期中所占的比重在60%~80%之间。