从开发方法的视角来看,主流的开发策略包括结构化方法(即面向流程的方法)、数据建模方法(即面向数据的方法,又被称为信息工程方法),以及面向目标的方法。
1. 结构化方法
结构化方法,也被称为面向流程的方法或以流程为驱动的方法,是诞生于上世纪七十年代中期的软件开发策略。它涵盖了结构化程序规划、结构化分析和结构化规划三大核心部分。这种方法的核心思想是自顶向下、逐步细化,以及模块化规划。通过遵循一定的设计原则,软件被分解成具有明确功能的模块,每个模块都具有单一入口和单一出口的结构特征。模块化不仅使软件结构更加清晰、易于理解、测试和修改,还提高了软件的可靠性。模块化也有助于软件开发从个体开发向集体化开发的转变,便于项目的组织和管理。结构化方法的工具包括数据流图、结构图、Warnier-Orr图、Petri网、数据字典以及决策树等。
2. 数据建模方法(面向数据的方法)
数据建模方法是一种基于系统数据的组织和存取来建立系统模型的技术,也被称为数据驱动的方法。数据建模技术和信息工程是该方法的典型代表。该方法的主要技术和工具包括实体关系图(E-R图)、事务域分析以及信息模型等。
数据建模技术是从信息(数据)的角度而不是从功能(流程)的角度来开发信息系统的。在实际应用中,现实世界被描述为由数据、数据属性以及它们之间的关系组成。
信息工程则是一系列相互关联、环环相扣的正规化、自动化技术的集合体,用于企业模型的建立、数据模型和业务流程模型在一个综合知识库中的创建和维护。除了将流程建模和数据建模有机结合外,信息工程还强调系统规划的重要性。在很多情况下,信息工程已经替代了传统的结构化分析和设计技术,因为它包含了结构化技术中的大多数概念、工具和技术。
3. 面向目标的方法
面向目标的分析和设计方法是另一种将面向对象编程思维应用于系统开发的方法。与传统的结构化方法相比,它在解决问题的方式上有所不同。传统的结构化方法遵循结构化、确定性和顺序的风格,而面向目标的方法则运用了目标、属性、职责以及消息的概念和机制。可以说,面向目标的方法是面向流程和面向数据方法的结合体。在这种方法中,数据和流程被封装为目标。每个目标由数据和可以访问和修改这些数据的流程组成。只有定义在数据上的流程(有时称为服务)才能访问和修改这个目标。不同的目标实例和目标类通过发送可以指示它们执行特定目标的消息来相互关联。
