(郑旭)PDMS数据导出模块开发过程小结

2024-04-09

(郑旭)PDMS数据导出模块开发过程小结(通用1篇)

篇1:(郑旭)PDMS数据导出模块开发过程小结

挑战

----PDMS数据导出模块开发过程小结

开发部副经理 郑旭

PDMS数据导出模块已经基本完成了,能够顺利地导出元件库、等级库。对于设计库、属性库等其它库的导出,只要按照已有的框架编写代码就可以很容易的完成了。这个模块能够顺利完成,还依赖大家的相互协作,在此,我感谢在开发过程中给予过我帮助的所有的人。

因为已经完成,这篇应该算是回忆录了,但将思绪转到从前,却又无从整理出一个头绪,很难用一些合适的文字来表述这段时间我所学到的东西。

还记得刚下达任务的时候,我已经将底层熟悉了,并且对底层做了应用的维护和拓展,正打算进一步熟悉等级库和元件库持久层访问模式,以求与设计库达到统一。对于突然到来的任务,我有点措手不及。对于PDMS的数据库,我几乎是什么都不懂,不知道它是以什么形式来存储,也不知道它到底是一种怎样的结构?难道就仅仅是我们目前所看到的那种层次数据库吗?很茫然,根本找不到任何突破口,摆在我面前的就是那些不知名格式的文件,一大堆,尽管想用办法显示它的内容,一切都是徒劳。

突然听同事说PDMS有它自己的DARs(Data Access Routines),并且前辈们已经用这些接口读到过某些元件的属性,我喜出望外,有救了!于是在同事的指导下找到了这些动态库以及接口声明,结合相关文档的阅读,很快有了结论:PDMS有它自己的数据库存储文件,它对外部提供了一些接口,用以读取数据表中某个字段的值,这些函数是FORTRAN语言实现的,但它提供了 C/C++接口,接下来的工作就好安排了。

测试接口是一件很麻烦的事,也是具有挑战性的。本来以为可以很顺利地试验成功,但现实却给我们制造了不小的麻烦。首先是并没有环境配置这种概念,直接拷贝了库中的一个例程进行测试,并抱着必胜的信心,结果事与愿违,使用那些访问接口根本就无法启动PDMS软件,那么就无法用这些访问接口访问PDMS的数据库了。还好,有同事一眼就认出PDMS平台需要配置自己的环境。还是很纳闷,对环境这个概念好像是一无所知。也并不知道应该配置些什么。还好,偶然中发现了安装目录下PDMS的环境配置文件,继而了解了启动时所需的环境配置,在同事的帮助下,写了个启动时的批处理文件,这样,PDMS的启动问题得到了解决。

接下来就是对接口的无数次测试。虽然能够访问PDMS了,经过试验能够打开PDMS了,可是当想要定位到具体的某个数据库时却又出现了问题,尽管输入了正确的数据库名,尽管对打开时的批处理文件做了相应的修改,错误提示始终是找不到数据库。相关的英文文档我也看了,可就是找不出个所以然。可我一想,既然能提供出这种接口,那么肯定不会有错的,难道我对英文的理解有误?我再仔细阅读,然而始终就是那几个例子。“DESI/GN”、“CAT/ALOGUE”,“CAT/PIPE”,„„,而我的写法就是数据库名,忽然想起PDMS中有这样一种约定,名字前必须要用“/”,于是随便试了下,果然,这招成功了。有点欣喜若狂,前面那些例子似乎也逐渐明朗起来,前面部分应该是表示模块,后面部分就是数据库组的名字了。在此之后,测试工作有了很大的进展。(其实到后来才发现,参考文献的后半部分有说明,只是为了争取时间,所以没有阅读参考文献的后面部分,但在后续接口功能及参数的查询中起到了至关重要的作用。)

测试了所有的接口,对其含义和命名规则都熟悉了,接下来的事便是要合理的设计这个模块的架构,希望它能成为一个独立的功能添加到我们的软件当中。还好,在接受这个任务以前是做底层分析与维护的,因此对我们整个软件的架构还是比较熟悉,再加上对重用代码有浓厚的兴趣,因而这边没有太多的难点。经过考虑,觉得写数据库部分可以重用我们软件的逻辑,而在模块的域领域中不能涉及我们软件的域逻辑。而对于数据库模式,决定用广度优先遍历的方式对数据库进行访问。一切进展得很顺利,在几个工作日后,PDMS的ANSI标准元件库终于展现在我们眼前,看到成果了,心情当然激动。

在设计架构以前考虑过由于数据库与等级库、元件库访问数据库的方式有所不同,由于设计库的特殊性,在数据库中维护了领域中的逻辑(这可能是数据库设计的一个瑕疵),从而导致潜在的风险,架构对设计库不起作用,而事实证明,确实存在这样的问题。当时的想法就是有两种解决方案:一:数据库仍然维护领域层中的逻辑,但是维护方式改变,使得这种关系是由节点自己维护,而无须通过其他域对象;二:改变数据导出模块中的领域层,是之对设计库逻辑和元件库等其他库的逻辑都使用。虽然有了方案,但各有利弊,不好取舍。在综合了多方面考虑之后,最终还是采取了第二种实现方式,使得各个库的导出逻辑得到了统一。

在整个设计过程中,虽然遇到了不小的挑战,但我总是以一种乐观的心态去面对这些,虽然有时候也曾低落过,而心中那种必胜的信念从没有减弱。我相信,既然能发现问题,那么就肯定有一种合理的方法来解决它,那只是时间的问题。

完成了,重担似乎卸下了,便有更轻松的心情去迎接新的挑战!

(2007.06.04供稿)

上一篇:家乡的小溪-五年级作文下一篇:先什么再什么造句