jxmst.jpg (4526 bytes)

江西气象科技
JIANGXI METEOROLOGICAL SCIENCE&TECHNOLOGY
2002年 第25卷 第4期 No.4 2002

peri.GIF (2345 bytes)

 

浅谈“气象大观园”科普软件开发中的软件工程原则

王怀清1, 林景辉2 , 刘晓晖3
(1.江西省气象科学研究所,江西 南昌 330046;
2.江西省气象学会,江西 南昌 330046; 3.江西省环境预报中心,江西 南昌 330046)


  摘 要:从软件工程的角度出发,描述了多媒体气象科普软件“气象大观园"的设计思路。希望通过对开发工作的总结,整理出对软件开发有益的经验。
  关键词:气象 科普 软件工程 原则


  “气象大观园”气象多媒体科普软件是江西省气象学会承担的江西省科技馆的1个软件开发项目,是面向广大人民群众的1种多媒体交互式软件,要求软件必须具有科学性、娱乐性以及操作简单等特点。在开发这个软件时,我们遵循了软件工程的一些原则,取得了很大的成功。
1 软件需求分析
1.1 问题识别
  根据江西省气象学会与江西省科技馆软件开发合同书的内容,可以确认软件需求具有以下内容。
1.1.1 功能需求
  “气象大观园"软件在内容上应做到深入浅出地介绍气象科学中的一些典型的现象和问题,重点介绍公众比较关心的如“天气预报是怎样做出来的”、“天气图有什么作用”等方面的知识,另外还应着重介绍江西省的天气气候特点和典型的气象灾害等方面的知识。软件在表现形式上应该具有文字、图片、动画、视频及声音等丰富的表现形式,并做到各种表现形式的协调统一。
1.1.2 性能需求
  本软件用于公共场合,是为不同年龄段的人和不同知识水平的人所使用的,所以应该有很强的稳定性,要坚决杜绝由于用户的操作而使软件崩溃的现象。也就是说软件使用者只能在软件表层操作,不能涉及到软件的底层结构。同时,软件也应该具有使用简单的特点。
1.1.3 运行环境需求
  软件运行的硬件环境应采用PC机,应具备PⅢ700以上的CPU,128 M以上内存,显示器分辨率应能支持1024×768 dpi,应具有16 M以上显存及高性能声卡,具有1对立体声音箱,采用高性能轨迹球作为用户操作计算机的工具。软件环境包括:采用微软的Windows系列操作系统,安装有Direct 6.0X以上的图像加速引擎。
1.2 分析与综合
  该软件的数据结构并不复杂,接口特性也比较简单,重要的工作是气象专业知识结构的整理、素材的获取和处理以及各项功能的合理组合。所以开发过程应象拍摄电影、电视剧一样,首先对气象专业知识进行归类,对所用素材进行艺术加工,使其生动直观,并提供1个软件脚本。通过这个脚本,软件开发者与用户(授权方)之间可以进行很好地交流,使开发工作顺利进行。
2 软件设计
  软件设计是软件开发过程中的最重要一环,实际工作中,我们采用结构化程序设计方法。遵循“自顶向下,逐步求精"的原则,有益于理清各部分的层次关系,各模块互不影响,使软件开发工作逐步、有序地开展下去。
2.1 整理知识体系
  气象科学知识是一个庞大的知识体系,我们不可能把它们全部纳入,必须进行提炼、加工,提取出精华部分和对公众具有很大吸引力的部分。经过专家组的反复讨论,确定了以图1所示的知识体系框架。
2.2 模块划分
2.2.1 总体设计模块划分
  按照所要介绍的知识内容,我们将软件划分为以下5个大的模块:天气预报、大气揭密、气象词典、江西天气和气象游园。这些模块的知识点覆盖了图1所示的知识体系框架。

2.2.2 子模块的划分
  按照“自顶向下、逐步求精"的原则,我们将以上5大模块进行进一步划分,得到第2级模块;然后依次进行划分,逐步求到最底层。对这样1个体系框架进行动作表现、存在时间、程序流向、前后衔接等分析,并经过开发组成员的讨论,形成软件脚本的初稿。此脚本交于专家组分析、讨论,反复修改、完善,最后得到1个比较完善的脚本资料。图2为软件脚本框架模型,由于篇幅所限,这里仅列到第2层。

2.2.3 动作表现、存在时间、程序流向、前后衔接设计
  动作表现、存在时间、程序流向、前后衔接设计是多媒体软件必须要重点考虑的问题。这个过程好比拍摄电影一样,对软件脚本中每一个元素的行为动作、存在时间要进行精心策划。程序流向、前后衔接的协调自然,是软件追求的目标,可使整体表现达到赏心悦目的效果。这些工作是极其复杂的过程,耗费了软件开发人员的大量心血。
2.2.4 素材设计
  制作“气象大观园"这样1个大型的多媒体交互式软件,必须具有大量的素材,否则“巧妇难为无米之炊",即使前面的设计脚本再好也没有任何意义。素材的来源有以下几个方面:第一是从各种出版物,包括音像、图书、杂志以及各种电视新闻报告、专题节目中提取素材,以视频、声音、图片、文本以及各种格式的动画文件的方式存贮;第二是从Internet上下载各种格式的素材;第三是在电脑上利用Photoshop 6.0、Corel Draw 8.0等绘图软件手工绘制各种优美、生动的卡通图,应用Macromedia Flash 5.0、3D Studio Max 3.0等动画制作软件制作平面及三维动画文件。
2.2.5 界面设计
  遵循“统一又各具特色"的原则,我们对界面进行了设计。首先确定软件界面的整体风格。根据气象科学的特点,将软件界面的主色调定位在蓝和白,取"蓝天、白云"之意,并且确立了基本界面框架。所有的页面都是以此为基础进行制作。其次对于5大模块,又设计出具有自身特色的界面,这些特色主要在主界面右下角天蓝色空白区中来实现。即用不同的图片、文字来体现其特色和风格。在软件开发过程中,我们一直以“清晰、简明、友好"的原则进行软件界面设计。用户操作“气象大观园"多媒体软件时,可以深切地体会到这个原则。用户几乎不需任何说明即可对软件进行操作。
2.2.6 模块的独立性
  模块的独立性是指软件系统中每个模块只涉及软件要求的功能,而和软件系统中其它模块的接口是简单的。在软件工程原则中,一般用2个准则来度量模块的独立性,即模块间的耦合和模块的内聚。耦合性是程序结构中各个模块之间相互关联的度量。耦合性越弱,表示模块的独立性越强。本软件绝大部分模块与其它模块之间的耦合性都是较弱的一种,即非直接耦合。这是因为各模块间的联系普遍采用的是用鼠标点击跳转,通过主控模块(也就是人用鼠标点击发指令)控制和调用来实现模块之间的联系。另外,软件中大部分模块的内聚性是最高的,属于功能内聚。这主要是因为模块内部中所有部分都是为了完成1项具体功能而协同工作,紧密联系,不可分割,所以本软件的各模块都具有较高的独立性。
3 软件实现
  软件实现主要是指程序编码工作。由于我们采用自动化程度很高的多媒体开发软件Authorware 6.0,程序内部编码工作已由计算机自动完成,实际手工编码的工作量非常少,所以我们用“软件实现”这个名词来代替程序编码。软件实现的过程如同拍摄电影的过程,对照软件脚本的要求,将每一个过程在开发环境下实现,然后把所有的过程组装起来,形成1个完整的软件。在这项工作中我们采用了专业化分工协作的工作方式,将工作分为美工、动作设计、文字录入、知识点审核以及软件集成5个小组进行工作,各小组工作协调一致,杜绝了杂乱无章的现象,大大提高了工作效率。
4 后期工作
  该项工作分为软件测试和维护。软件的测试分为α测试和β测试。α测试是指由软件开发人员在软件开发环境下进行的测试;β测试是由软件的各个用户在1个或多个用户的实际使用环境下进行的测试。实际工作中,我们请了2组测试人员:1组为非气象专业人员,该组人员主要是测试软件的界面和可操作性,测试过程中开发人员不在场,属于β测试;另外1组人员为气象专业人士,其中还包括几名软件开发人员,属于α测试。经过这2种测试,发现了许多错误,开发人员进行了及时纠正,使软件得以更加完善。软件维护是在软件运行、维护阶段对软件产品所进行的修改,“气象大观园”软件已进入江西省科技馆实际运行1个多月了,除发现几个小错误外(已及时纠正),运行良好。
5 结语
  (1) 软件开发遵循软件工程原则,将大大提高工作效率,少走弯路,并大大地提高软件质量。
  (2) 软件开发过程中进行人员的合理分工协作,有助于提高工作效率。
  (3) 完善的软件设计是软件开发工作取得成功的根本。

------------------------------
第一作者简介:王怀清,男,工程师,主要从事应用气象研究与开发工作。