论行业应用软件系统的开发规划
[摘要]
本人在一所高校信息技术中心工作,2005年应多个学校和校领导的要求,对以前开发的较独立的十多个学校信息化软件系统进行升级改造,使得各系统之间能够相互进行数据共享,配合工作。所进行的软件项目,与高等院校的学生招生、收费、教学、管理和服务密切相关,具有很强的行业特征,需要使用系统的师生员工(用户单位)、高校管理专家和项目开发人员间良好的分工协作;与常规的通用应用软件开发过程相比,具有明显的差异,主要表现在系统的分析、设计、实现、测试和维护均带有明显的行业特点,行业应用软件的成功开发必须遵循行业规范,正确使用专业术语,及时与专家和用户进行交流。
本人在项目中主要负责需求分析和软件系统设计,本文主要从资源互补、角色定位、相互协作的角度讨论行业软件系统的开发规划工作,我在实践中发现,行业应用软件系统的成功开发是从其规划到诞生起就应从行业中汲取各种营养,具有行业特征、行业味道,才能满足行业应用的需求。
正文]
作为一所高校信息技术中心的技术骨干和技术负责人,高校内部信息化建设受到我们时常的关注。十多年来,我们与兄弟院校、知名软件企业合作进行了多项与高校信息化建设相关的软件系统开发工作,有学生收费管理系统、学生学籍管理系统、学生成绩管理系统、学生选课系统、学校图书借阅系统、学生奖惩管理系统、学生应聘就业管理系统、学
校后勤服务系统、教材管理系统、教师业绩考核系统、学校办公自动化系统等十多个软件项目,覆盖了学校招生、入学收费、教学管理、学生管理、后勤服务和学生毕业的整个过程,这些项目,是我们与不同兄弟院校技术部门、不同企业合作的结果,被省内30余家高校使用,它有力地促进了我们与兄弟院校的信息化建设,提高办学的效益和办事效率。但随着系统的增多,也暴露出了一些矛盾问题,制约了相关学校的发展和信息化进程:
1、这些软件项目是我们与不同兄弟院校、不同企业合作开发的,也有些是独立开发的,信息难于相互共享。
2、这些软件项目开发于不同时期,期间技术中心人员变更较大,不同阶段、不同时期采用的技术不同,各个系统形式多样,有单机的、c/s网络结构的、B/S网络结构的和混合结构的。使用极不方便。
3、经过近年来的高校大发展进程,各校在管理上有了较大变化,原来的一些软件已经不适应学校的发展。
因此,在2005年我校领导参加省教育厅关于学校信息化建设工作会时,省内20余家高校提出让我们牵头进行系统的升级改造工作,并承诺在资金和人力方面给予支持,引起了省教育厅领导高度重视。我校领导将这一艰巨任务以政治任务的形式布置到我们信息技术中心,限时完成。
项目于2005年5月启动,成立了由七个人组成的项目组,作为信息技术中心的技术
骨干和技术负责人,我参与了该项目的总体架构组,主要负责需求分析和软件系统设计,并完全负责该项目的管理。
虽然我们团队的大部分人长期工作在高校技术部门,但对于高校教学、管理和服务中的专业知识掌握并不多,高等教育行业的专业性特强,由开发人员现学领域知识是不现实的,这就需要用户和行业专家的协助。从相关部门聘请行业专家是明智之举。
作为行业性很强的应用软件,它和通用应用软件系统开发有很多不同,我觉得主要有
以下几个方面:
一是需求分析阶段专业业务难把握、难摸透,管理目标和专业目标难一致。
二是设计阶段,设计规范难统一,难细化。
三是开发阶段,开发阶段的测试往往由于专业背景各系统联系紧密,难确认测试。
四是实施阶段,实施阶段的业务人员对系统认同差,沟通复杂。
五是整个过程涉及到过多的行业习惯,许多方面不和其他开发雷同。
聘请行业专家做项目组的顾问是应用软件开发过程中较好的策略。行业专家主要是作为领域知识源,提供技术文件和已有应用。在高校信息化改造建设这个项目中,我们从有关部门和其他高校聘请了各分系统的资深专家作为项目的顾问,获取到《高等学校数据规范标准》等技术文件和部分以前编写的源代码,该源代码是多个独立运行的、凌乱的、较小的系统,经过整理后可以用到新系统中,这为领域模型和设计模型的建立打下了良好的
基础。
用户是应用软件目前和未来的需求提供者,其对项目成败的重要性是显而易见的。00A过程是从对系统将被使用的方式的理解开始的,在需求诱导时需要从用户的观点对系统建模,需要项目组和用户共同确定使用场景和定义系统的功能和运行需求;需要用户提供清楚而无二义性的终端用户和系统如何相互交互的描述;需要用户提供确认测试的基础。在这外项目中,我们与用户充分合作,请用户给我们讲解高等学校有关教学、管理和服务的常识、过程、功能等,将用户作为项目组成员,作为每个阶段的技术评审的主要成员。
开发者是应用软件系统的建设者,需要从用户方进行需求诱导,建立领域分析模