微博

QQ

跨媒体、跨平台的软件工程模式化再构(下)

2005-01-11 赵季伟 辽宁电视台 依马狮网


    (接上期)
    五.数字媒体应用模式化软件工程方法学
    模式化软件工程方法学是软件开发商长年失败和成功经验的理论总结。根据软件重用的思路,方法学的重用价值远非某些程序组件的重用价值所可比,更非尚未消化数字媒体流程与业务的软件开发商以软件模块堆集所能为。在辽宁电视台总集成的辽宁数字电视节目平台上,参与集成的27家,承担主要子系统软件集成的开发商就有6家之多,软件工程产品规模为7个子系统(新增加1个IPTV子系统)、137 个模块、46 类报表、69个数据库表、259 个业务窗口和412 个数据窗口。如此浩瀚的系统工程集成,倘若不是依据OOSE方法学来构建整体结构的统一平台,必然成为Michael Wiebel教授所蔑视的“一批乌合之众的集合”。如何运用OOSE方法学,在实际应用问题中求解,举例如下。

    问题1:发布平台的数据流程整合问题
    在没有建设发布平台以前,我们已经经历了系统初期构架(试验版)和基础构架(DEMO版)2个设计与建设阶段,积累了项目设计与目标开发的实践经验。针对既存系统的约束条件和反面模式,提出了EPG播控系统、DVB播控系统、网络演播室实时与延时播控系统、IPTV直播与分发系统、内容归档与编排系统、MAM节目批上载等的分支子系统的数据流程整合问题,以构成业务平台底层数据的开发模式与管理模式。
    解:首先,数字电视系统是最新的广电应用,无论技术与业务都是刚刚开始,系统生存期内需求和结构变数很大,必然呈现出分期建设的递增式开发;因此,可定义为“成长型”项目,必须具有较强的可再造性与可维护性。其次,前期工程与后续工程的每期开发成果应具有较高的可重用率;因而,应能够采用OOSE方法学,以最大限度地减少重复开发与投入,实现开发过程中的成果共享和模式重用。再次,必须具有能支持消除需求理解误差的调整工序,使下游成品阶段的设计变更比较容易实施。 
    以此为前提条件与约束条件,对逐步建设的EPG数据库、播控排序表、实时与延时播控列表、分发数据库、内容归档元数据库、迁移管理数据库、批处理与批上载列表数据等进行基础数据整合,以Oracle EPG数据库为中心,以全关系型RDBMS体系结构为基础,对各对象数据库模式的数据列表进行面向对象的逻辑分析,区分面向播控的读流程与写流程,推演编单数据、播控指令数据、EPG数据、播出排序调度数据等关联性数据的逻辑关系模型,建立核心数据库的再构,并通过父表类和子表类构成的树型层次结构,在便于数据继承的前提下,减少多重设置SQL程序的描述关系,解决如Oracle和SQL Server之间的异构数据库数据变换等的结构问题,形成2套视频流播控系统(TS流视频点播、MPEG-2 IBP视频流播控)、2套数据流播控系统(EPG信息播控、数据封装的多协议数据信息播控)一致编单和共享数据的协同播控模式结构。
    将4个播出控制编单工位对象整合为1个捷简流程,不仅可以同享对象数据,克服了多重类数据冗余和多种数据格式冲突,而且,降低了人工录入信息的差错和数据格式变换所出现的冗余差错,简化了播控工作流程,提高了劳动效率。实现系统的既结构简便,又安全可靠,对未来发展的可重用度、可维护性、及自动化的性能指标方面,均超过某些开发商以结构化方法开发的独立功能系统,安全可靠地实现了发布平台的自动化模式。

    问题2:运营支撑平台的主体结构设计问题
    由于数字电视的市场尚未成熟,对于节目平台的运营模式并没有既存软件模式,缺乏模式比照和模式继承,因而,问题抽象的承担者和重用模式库的资源都不足,设计运营支撑平台的模式化结构,成为数字电视媒体软件工程普遍存在的疑难问题。
    解:重用是软件开发方法学的最重要思想之一。对程序应用层设计来说,一方面鼓励程序重用既存对象,另一方面提倡共享对象数据辞典,通过对象重用及时反映到整体对象模型中,以保持软件再工程的继承关系。应用层设计对象的独立性、封装性和多态性很便于重用,而底层基础程序的开发最省力、最有效率的编程方法,仍然是大量使用重用对象。而且,面向对象方法开发出的软件具有较高的可重用性,这种重用包括开发项目内部的重用和外部的重用。重用依存于超类设计,没有超类的对象,系统不能物尽其用。超类设计的优劣,首先看其内部重用率的高低,内部重用率高,必然外部重用率也高。倘若不能在设计阶段就预先设计和开发出超类对象,则多项业务开发者在同一项目内没有共同继承的祖先对象,甚至各开发人员自己都不明确或不使用继承关系,那就不可能达到软件工程的最佳效果。 
    针对运营支撑平台缺乏重用软件模式的问题,依据OOSE方法的调查结果,我们发现挪威电信BMS(Business Management System)程序是基于面向对象方法开发的应用软件,不仅具有较高的可重用性,而且在国际电信和欧洲DVB的企业级运营支撑上被大量重用,成为不同业务模式共同继承的“祖先”。以此重用对象,共同开发BMS的本地化模式,支持包括SMS在内的客户资源信息库,并参与下层对象对上层对象、超类、子类对象的反馈和重用他人对象,以稍加特化的编程面向可重用对象,形成以BMS为下层,以宏对象类为基础开发上层业务应用,构建如SMS多种功能、多项业务的软件模式,形成上层应用的用户对象面向运营管理、质量监管、权限审查、授权管理、流通管理、成本核算、财务监管、现金控管、市场分析、产品规划、节目包定制等等软件模式的基础构架,实现来源于外部的媒体企业信息整合和数据处理,达到对内部的计划、规划、统计、电算和管理的各种业务功能调控和操作。这样一来,不仅管理与执行的数据变换少,还把对象与对象的操作看成一一对应,使我们运用OOSE构建的最初问题描述对象模型与功能模型达到基本一致,从而拥有了我们自己的对象数据辞典和重用软件模式库。

    问题3:JDSM媒体资产管理的新业务再开发问题
    尽管MAM在国外拥有大量应用,但在国内还是新兴的媒体应用,正面模式与反而模式都不丰富。而且,MAM的应用特征是数据不断积累、业务不断发展的适应过程,必然要求应用程序不仅具有开发平台合理的继承性和拓展性,还要面向对象数据库模型合理地映射各种关系数据库逻辑模式。
    解:IBM-TSM(IBM Tivoli Storage Manager)的内容管理在世界上拥有众多的应用,是最可继承并能重用的通用开发平台。针对数字媒体新业务的再开发,若以OOSE方法学面向业务对象,就能实现稳定的平滑拓展。对于数据库结构设计,如层次型、网络型、关系型,当然也包括面向对象型,以异构数据共享的DB2数据库模式为主,设计成为3个层次的模式结构:(1)从特定DB应用角度看待DB设计的外部模式;(2)从业务应用出发进行概念模式的DB设计;(3)处理对应特定内部模式的 DBMS 特征与局限性DB设计。内部模式是数据库的SQL定义,逻辑模式是表集合的逻辑定义,外部模式是从特定应用角度看的局部DB。外部模式与逻辑模式之间的接口是视图、存储过程或其他驻在服务器端的DB处理程序。
    JDSM是基于TSM面向广电行业的捷成世纪存储管理系统,以TSM与CM、 Video Charger的应用模式为重用祖先;采用基于LDAP和CM ACL的2层安全控制,不仅极易建立从底层对上层应用的开发继承,而且通过分布式、动态可扩展的迁移节点来降低控制干扰,以实现模式化流程管理的灵活再构。辽宁MAM构建以JDSM为基础结构模式,面向数字电视节目平台的业务对象再开发,使其具有更好的兼容性、安全性和稳定性。在面向数字媒体对象的各种数据实现自动备份和归档存储管理的基础上,通过交互良好的GUI,组建管理信息数据中心,对磁带库、磁带、文件、各个节点对象和到位情况进行有效监测并执行监测后的业务处理。特别是运用JDSM的C++、Java 等API开放的应用编程接口,灵活再构文件级数据的新应用与新模式,从而积累并形成了新的重用软件模式库。
    比如元数据库设计,就采用了OOD数据库设计方法,为JDSM继承与重用模式的再开发与再工程铺平了道路。如此模式结构,使对象模型面向对象关系数据库模式的映射易如反掌。在抽象出的对象模型中,各个应用分别是一个或多个超类对象的子对象,通过选择适当细分层次的对象模型将其映射到概念模型,使外部模式与概念模式之间的接口最少,以“最简单的模式就是最好的模式”面向业务对象。在对问题世界的对象建模以后,明晰了父对象与子对象之间的关系,轻松实现以1个WMV9的标志流应用于归档检索和IPTV的2个模式对象;如转码服务、迁移服务、标志流和数据流的关系库管理

视听科技视频号 广告
发表评论