(2)2002年12月5日,读UML资料的一点体会,请大家指教
前面的类图,协作图,时序图,状态图在我看来,是属于系统结构确定以后干的事情,是比较具体的,而体系结构和接口图则是在系统结构设计的时候要做的事情,这个系统有哪些硬件设备,各自的物理分布位置,之间的通信方式,每个硬件设备上运行着哪些软件,这些软件之间的通讯方式,这些都可以用包图、硬件配置图、软件结构配置图来表达出来。我就我做过的一个项目来谈谈我对这些东西的看法。
这是为某个热电厂做的一个数据采集和报警系统。其功能就是把底层的数据(模拟量)通过A/D转换变成数字量,然后把这些数据在PC机的界面上显示出来,并且能够打印报表和系统报警的功能,这些数据还要上web网。
这个系统的硬件分布就可以用硬件分布图来表示,硬件分布图是个很直接的东西,用户能够看得见,摸得着的:
1)一个数据采集器卡件负责A/D转换和把数据上传给PC机(这里称为主机),并且接受主机来的数据,把数据传给现场的变送器到执行器;它与主机通过网线在主机上的一个网卡进行通讯;
2)主机:负责收发数据给数据采集器,并且提供给用户浏览数据和控制数据的方式,报警,把数据传递给另外一个打印服务器上;
3)打印服务器:负责把主机传来的数据打印成报表,并且把数据传给一个web服务器;
我想这个系统对于软件结构配置图方面,可以这样说:
1)数据采集器是厂家提供的东西,其软件部分是从主机下载进去的,进行数据采集和控制模块的实现;
2)主机上运行着3个软件,一个是组态软件,还有报警软件和一个与主机实现通讯,并且把数据发送给打印服务器的软件;
3)打印报表的软件;
包图实际上是单纯的软件之间的交互。
我想,象这样一个带有分布式色彩的系统分析,用如下的顺序比较好:硬件配置图软件结构配置图包图比较好一些,请众大虾提出自己的意见。
人机界面是在组态软件里面实现的,这里可以用到窗口布局图和窗口导航图,这里就有个用户需求的问题,一定要与他们中的代表人物好好商量,这里附带提一下我前一阵子看软件需求的一些体会,因为这套系统的使用者是厂里的运行人员,所以关于界面方面就需要跟他们进行沟通,当时,我把他们的负责人和一些运行人员都叫在了一起进行协商,发觉原来我老板考虑的很多东西也用不着,所以,我在做需求的时候要记住,你的最终用户是运行人员,而不是你的老板,虽然老板会根据他的经验提出很多用户一般会有的需求或他们考虑不到的需求,但是最终的用户是运行人员,所以,跟他们中代表人沟通是一定必要的。