1.结构化分析与设计
结构化分析与设计是目前应用最广、最成熟的一种开发方法,其基本思想是将生命周期与结构化程序设计思想相结合,遵循用户至上的原则,结构化、模块化、自上而下地对系统进行开发。
结构化分析与设计是由荷兰埃因霍温大学的Dijkstra教授和Bohm以及Jacopini于20世纪六七十年代先后提出的。这种思想强调一个程序的详细执行过程可以按照“自上而下,逐步求精”的方法确定。“自上而下”是将程序分解成若干个功能模块,这些模块之间尽可能彼此独立;“逐步求精”是将模块的功能进一步分解出一组子功能,通过对每个子功能的实现来形成一个完整的程序。后来人们受到结构化程序设计的启发,将其“模块化”核心思想引入系统设计中,把一个系统设计成层次化的模块结构。
结构化系统开发的基本思想是采用结构化的系统分析和设计方法,依据系统开发的生命周期,把一个复杂的系统开发过程严格划分为足够简单,并能够被人清楚地理解和表达的若干阶段;每一个阶段都规定有任务、工作流程、管理目标,产生并编制相应的文档;下一个阶段的工作是在上一个阶段文档的基础上进行,以使开发工作易于管理和控制,形成一个可操作的规范,并分阶段实现。系统的生命周期和结构化程序设计思想的结合,使系统分析与设计结构化、模块化、标准化,使整个开发过程可控且易于管理。
结构化开发方法是一种传统的开发方法,它的突出优点是:
(1)强调系统开发过程的整体性和全局性。强调在整体优化的前提下,考虑具体的系统分析设计问题,即自上而下的观点。
(2)强调系统开发过程中各个阶段的顺序性。强调严格地区分开发阶段,通过每个过程及时地发现错误,从而进行反馈和修正,以避免开发过程的混乱。
(3)强调工作文档标准化、规范化。系统开发过程由不同的阶段构成,不同的阶段有不同的开发者参与,为了保证不同阶段的工作能够很好地衔接,实现不同角色协同工作,需要使开发过程的每个步骤规范标准化。
结构化分析和设计也有一些不足,主要表现在两个方面:
(1)缺乏灵活性,难以满足多变的需求。结构化系统开发方法要求在用户需求分析阶段中必须完整准确地描述用户的各种需求,然而在现实中通常做不到这一点。当用户需求发生变化时,整个系统可能会发生巨大的改变。
(2)系统开发过程重复烦琐,开发周期长。结构化开发方法是在充分了解目标系统的需求后一次性地完成所有任务,这导致了系统的开发周期过长。同时,一旦设计中发现有需求发生变化或者产生新的需求,则会进一步增加系统的开发周期。
结构化分析与设计方法是一个从抽象到具体、从复杂到简单的过程,是一种较为传统和经典的系统设计方法。在坦克装甲车辆电子综合系统设计中,也会采用这种方法,而且主要是在需求与方案论证阶段以及方案设计阶段,用于系统功能自上而下的分析和分解,从而保证从系统到分系统再到每一个软/硬件构件都具有明确的功能定义,各个层级的功能集合能够覆盖坦克装甲车辆电子综合系统的所有功能。
以坦克装甲车辆电子综合系统功能作为研究对象的结构化设计方法如图2-1所示。在需求分析和方案论证阶段,一项重要的活动就是将坦克装甲车辆电子综合系统功能分解为子系统功能,从而对子系统进行定义。在方案设计阶段,在子系统功能分解的基础上,完成对设备/模块的功能定义,进而对设备/模块的功能进行解构,完成对软、硬件构件的功能定义。
图2-1 坦克装甲车辆电子综合系统功能的结构化设计方法
2.原型法
原型法是计算机软件技术发展到一定阶段的产物(图2-2)。其与结构化系统开发方法的区别在于:结构化系统开发方法强调系统开发早期需求的完备性以及开发每一阶段的严谨性;原型法不注重对坦克装甲车辆电子综合系统的全面、系统的详细调查与分析,而是本着系统开发人员对用户需求的理解,先快速实现一个原型系统,然后通过反复修改来完成系统的开发。所谓“原型”,在建筑学或机械设计学中指的是其结构、大小和功能都与某个物体相类似的模拟该物体的原始模型;在坦克装甲车辆电子综合系统中,它指的是一个结构简单但已具备系统的部分重要特性,可由开发人员与用户合作,直接在运行中不断修改不够成熟的原型,通过反复试验、验证与修改,最终开发出满足用户要求的坦克装甲车辆电子综合系统。因此,原型可用来确定用户的需求、验证设计的灵活性、训练最终用户以及创建成功的系统。(www.xing528.com)
图2-2 原型法
在运用原型法开发坦克装甲车辆电子综合系统时,开发人员首先要对用户提出的问题进行分析,并总结出用户基本需求,然后利用高级开发工具和开发环境,快速地实现一个原型系统并运行。开发人员和用户在反复试用原型的过程中要加强交流和反馈,从而进一步加深对系统的理解,确定用户需求的各种细节,逐步减少分析与交互过程中的误解,弥补遗漏,通过反复评价和不断改进逐渐完善系统的功能,直至用户完全满意为止。
原型法的突出优点是:
(1)系统开发初期只需提出其基本功能,系统功能的扩展与完善是在开发过程中逐步实现的,因此原型法比较容易实现不断变化的环境。
(2)对需求分析采用启发式动态定义,使得需求分析随原型逐步深入且不断提高,即使是模糊需求也会变得越来越清晰,这符合人们的认识规律,使系统开发易于成功。
原型法也有一些不足之处,主要体现在以下3个方面:
(1)在开发过程中缺乏对坦克装甲车辆电子综合系统全面、系统的认识,因此它不适合开发大型的坦克装甲车辆电子综合系统。
(2)每次反复过程都要花费人力和物力,如果用户合作不好,盲目纠错,就会延长开发过程。
(3)由于强调以“原型演进”代替完整的分析与设计,故系统文档不完备,系统也可能较难维护。
原型法近年来在坦克装甲车辆电子综合系统设计中也被广泛应用,最典型的是通过乘员舱的原型系统对需求与方案进行论证。根据用户的需求,搭建一个乘员舱原型,最简单的原型系统可以由驾驶员、车长、炮长的显控软件及数据激励软件构成;复杂的原型系统则包括了乘员舱舱体、乘员座椅、乘员显控装置、乘员操作面板等硬件部分及与软件部分的集成。
以最简单的乘员舱原型系统为例,通过Qt、Altia等界面设计工具,以所见即所得的方式快速地搭建驾驶员、车长、炮长3个席位的显控界面。显控界面是车辆向乘员提供功能的主要接口之一,因此可以利用对显控界面的操作快速地演示和论证乘员的任务。通过激励软件发送的数据,驾驶员可以利用驾驶员显控原型在无车辆实际运行环境的条件下演示、论证和测试车况查看、故障报警、“三防”灭火等功能;车长可以利用车长显控原型在无实际炮塔和通信系统运行的条件下演示、论证和测试指挥控制、态势、导航、威胁告警等功能;炮长可以利用炮长显控原型在无炮塔系统运行的条件下演示、论证和测试观瞄、火力打击、武器管理等功能。因此,用户通过对显控界面的操作不仅可以帮助设计部门尽快地论证功能要求,还可以通过乘员对操控的评价来优化乘员操作程序,进而提高人机交互的效率。
3.模型驱动设计方法
一个复杂系统的开发实际上有两个抽象过程:①将待开发的业务化繁为简,用系统模型的方式表现出来,让业务人员与开发人员可以理解;②把计算相关的种种底层细节封装起来,上升为一种更高级的语言形式,这些语言形式更为严谨,语义更明确,逻辑更清晰。技术人员可以比较容易地理解和使用这些高级语言,用它们来反映系统的实体和流程信息,最后甚至可以将这些技术细节用可视化模型直观地表达出来。这两个抽象过程,在“模型”这个环节衔接在一起,因此模型应该成为系统开发者关注的中心。这个设计方法称为模型驱动设计方法,如图2-3所示。
图2-3 模型驱动设计方法
模型驱动设计方法的主要思想包括模型分类、平台无关以及模型的转换和精化。模型驱动设计方法的本质是利用模型来引导系统的设计、开发和维护。模型驱动设计方法分离业务功能分析设计的制品与实现技术之间紧耦合的关系,从而最小化技术变化对系统的影响。这种途径最有意义的方面就是系统使用平台无关语言进行描述,使得它和具体的平台以及实现技术分离,同时可以根据各种具体平台的映射关系生成各种实现模型。目前,以基于模型的系统工程(Model Based System Engineering,MBSE)的方法论为基础,进行了坦克装甲车辆电子综合系统分析、设计及验证,以可视化的模型为手段,实现自上而下增量设计,自下而上集成验证,各层同步迭代验证的V模式设计过程。本书第7章将对该方法进行介绍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。