20、信息系统工程中的领域建模方法概述

信息系统工程中的领域建模方法概述

在信息系统(IS)工程领域,领域建模方法和技术一直是软件和系统开发的核心要素。随着技术的发展,不同的领域建模方法不断涌现,它们在需求识别、系统开发和变更管理等方面发挥着重要作用。

1. 背景与基本概念

在IS工程中,领域建模的主要目的是识别待构建信息系统的需求体系。IS工程强调需求是经过精心设计的,而非简单地从终端用户传递到软件。需求工程通常采用多种方法来系统地获取和整合需求,这些方法可以分为两个主要类别:

  • 以软件用户需求为重点的方法 :这类方法从软件用户的角度出发,试图确定能够满足用户需求的软件需求体系。早期的方法如并行开发功能和数据库需求,但由于一致性问题,后来转向了面向对象的方法和用例。然而,这些方法存在信息集成问题,难以验证业务领域、需求领域和软件开发领域之间的关系。
  • 以企业模型为重点的方法 :这类方法旨在构建领域模型,然后从模型中推导出需求。以企业建模(Enterprise Modeling)和i 方法为例,企业建模基于企业模型(EM),可以在三个概念层次上进行表示;i 方法则侧重于参与者及其关系。这两种方法虽然侧重点不同,但都能反映相似的领域模型范围。
需求工程方法 人类知识 领域/企业模型 需求 设计
以软件用户需求为重点(用例、观点) X
以企业模型为重点(i*、EM) X X X

在模型驱动软件开发中,领域建模通常发生在计算独立模型(CIM)级别。不同的研究人员和从业者使用了多种模型和模型组合来描述领域,但大多数方法缺乏对领域模型完整性和一致性的分析,且更侧重于领域描述语言而非信息流程。

2. 不同IS开发方法中的领域建模工件

所有IS开发方法可以分为敏捷开发和计划驱动开发。这两种方法在领域模型的创建和使用上存在显著差异:

  • 敏捷开发方法 :基于软件开发人员与“现场客户”的密集沟通。模型通常记录在白板上,生命周期较短,主要用于辅助心理模型的开发。常见的工件包括业务规则定义、组件图等,但不包含整体领域模型。
  • 计划驱动开发方法 :可能会使用多种类型的模型,包括整体领域模型。这些方法更依赖于半正式或正式的模型,但也不能忽视隐性知识的作用。
开发方法 领域/企业模型 IS模型 需求模型 软件设计模型
敏捷开发 无或隐性、碎片化 隐性、碎片化 从隐性碎片化到半正式碎片化 从隐性到半正式
计划驱动开发 从隐性到半正式 从隐性到半正式 从隐性到正式 从隐性到正式

从领域知识的共享性来看,敏捷开发中使用用例是常见的需求获取方法,因为其相对简单。而计划驱动方法中,只有企业建模(EM)方法能够同时具备硬领域模型和共享的领域知识。

开发方法 隐性知识(心理模型) 领域模型
敏捷开发 客户和开发人员之间共享 未开发
计划驱动开发 - 以软件用户需求为重点(用例、观点) 未共享 未开发
计划驱动开发 - 以企业模型为重点(i*、EM) 通常未共享(i*),业务用户和(可选)开发人员共享(EM) 存在(i*、EM)
3. 企业架构在领域建模和分析中的作用

企业架构从信息技术领域发展而来,在业务发展中变得越来越重要。常见的企业架构包括MDA(模型驱动架构)、认知工程框架和Zachman框架。

  • MDA :是一种多层次的架构,包括PSM(平台特定模型)、PIM(平台独立模型)和CIM(计算独立模型)。它是一种一维的抽象架构,但在IS开发中,CIM - PIM - PSM层次结构没有考虑到CIM和PIM之间的部分关系以及信息的作用。
  • 认知工程框架 :建议在二维框架中反映复杂系统,即手段 - 目的层次结构与部分 - 整体层次结构正交。这种框架有助于理解和建模领域、IS和软件。
  • Zachman框架 :是一种二维框架,考虑了不同的建模视角和抽象维度。它使用面向方面的抽象,与MDA的多层次抽象有所不同。
架构 层次或维度 描述
MDA CIM、PIM、PSM 一维抽象架构,PIM抽象特定技术,CIM抽象软件满足用户期望的方式
认知工程 目的和约束、抽象功能和优先级度量、一般功能、物理过程和活动、物理形式和配置 二维框架,反映复杂系统
Zachman 规划者、所有者、设计者、构建者、分包商、运行中的企业;什么(数据)、如何(功能)、哪里(网络)、谁(人员)、什么(时间)、为什么(动机) 二维框架,考虑多种建模视角和抽象维度

企业架构提供了比领域模型更广泛的问题考虑范围。领域模型可以根据任何使用的架构进行组织,但在特定的系统开发环境中,每个问题的可用性以及企业模型的开发、文档化和维护都需要合适的工具支持。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
    A(MDA):::process --> B(CIM):::process
    A --> C(PIM):::process
    A --> D(PSM):::process
    E(认知工程):::process --> F(目的和约束):::process
    E --> G(抽象功能和优先级度量):::process
    E --> H(一般功能):::process
    E --> I(物理过程和活动):::process
    E --> J(物理形式和配置):::process
    K(Zachman):::process --> L(规划者):::process
    K --> M(所有者):::process
    K --> N(设计者):::process
    K --> O(构建者):::process
    K --> P(分包商):::process
    K --> Q(运行中的企业):::process
    K --> R(什么 - 数据):::process
    K --> S(如何 - 功能):::process
    K --> T(哪里 - 网络):::process
    K --> U(谁 - 人员):::process
    K --> V(什么 - 时间):::process
    K --> W(为什么 - 动机):::process

通过对这些架构的分析,可以发现它们在IS开发中各有优缺点。认知工程框架提供了一种更全面的方式来理解和建模系统,但目前企业架构的元模型仍有待完善,以更好地解释其所有特征。

4. 工具支持在领域建模方法中的作用

在21世纪初,IS开发所需的工具存在差距。包括需求管理工具、企业建模工具、业务流程建模工具和软件开发工具等。近年来,工具市场发生了很大变化,最佳的企业建模工具与软件开发工具进行了合并,表明软件供应商已经认识到领域建模和支持工具的重要性。

企业建模不仅仅局限于IS开发,在业务流程管理中也变得越来越流行。真正的企业建模需要多种工具,包括战略工作工具、价值链和高级业务流程定义工具、性能监控工具以及识别和优先处理流程改进工作的工具。

为了满足企业开发和软件开发的需求,软件工具包应具备以下基本功能:
- 企业战略和运营管理(ESOM) :包括定义和记录战略声明、使命声明、目标和政策等功能。
- 企业架构建模(EAM) :支持根据不同的企业架构构建模型。
- 需求工程(RE) :用于系统地获取和整合需求。
- 变更管理(CM) :处理系统变更相关的问题。
- 软件开发(SD) :支持软件的实际开发过程。

工具集 ESOM EAM RE CM SD 来源
IBM Rational + + + + + http://www - 01.ibm.com/software/rational/
ARIS + Software AG工具 + + + + + http://www.ids - scheer.com/international/en
Casewise + + + + - http://www.casewise.com/
ADONIS + + + + 仅BPEL http://www.boc - group.com/
QPR + + + + 仅工作流 http://www.qpr.com/products - overview.html
Sparx Systems Toolset - + + + + http://www.sparxsystems.eu/

然而,目前工具的使用情况存在差异。大型企业(员工超过5000人)中有64%使用企业架构工具,而小型企业中只有26%部分使用,主要原因是成本和易用性障碍。因此,市场上需要更用户友好的高级版本工具。

5. 领域模型与变更管理

在当代IS开发中,由于外部环境的变化,系统经常需要进行变更。领域模型在变更管理中起着重要作用。当代IS工程使用复杂的领域模型,几乎企业的每个问题都有自己的模型,理论上可以反映企业的大部分相关变更,并跟踪其对不同子系统的影响。

MDA声称可以独立开发业务和技术,通过将业务流程模型中的人类任务和软件任务分离,并使用业务流程执行语言生成应用程序,实现应用程序行为与特定代码的分离。因此,业务流程模型成为企业和IS变更管理的核心元素。

IS变更管理的主要对象包括数据、知识、IS用户、IS活动、业务流程活动、领域、资源和产品。为了实现有效的变更管理,领域模型需要反映或关联这些变更元素。然而,目前大多数领域建模工具和方法没有妥善处理领域模型与人类知识之间的关系。一些研究如主动知识建模和敏捷企业建模正在尝试解决这个问题。

6. 未来研究方向与结论

未来的研究需要考虑到领域建模中人员的重要性。在IS变更管理中,业务知识、IS知识和软件系统知识是三个相关的知识领域。因此,在企业模型和工具中,将用于业务的IS和用于软硬件开发和维护的IS作为独立的子系统进行考虑是有价值的。

综上所述,领域建模是需求工程活动的一部分。知识集成点越高,越有利于验证需求和进行系统的企业、IS和软件开发。敏捷开发中共享的心理模型有助于软件系统的接受度,而计划驱动方法需要开发领域模型并促进知识共享才能取得成功。领域建模工件有助于知识共享和心理模型的发展,整体领域模型可以确保系统的完整性和一致性。使用认知工程框架有助于理解和建模领域、IS和软件。目前,领域建模已经得到了软件工具的良好支持,但领域模型与人类知识之间的关系仍需进一步研究和改进。

信息系统工程中的领域建模方法概述

7. 领域建模方法的综合分析

在信息系统工程中,不同的领域建模方法各有优劣,适用于不同的场景。以软件用户需求为重点的方法,虽然能快速聚焦用户需求,但在信息集成和跨领域验证方面存在不足。例如,用例方法虽然简单直观,但难以处理复杂的业务逻辑和多用户视角的整合。而以企业模型为重点的方法,如企业建模(EM)和i*方法,能够提供更全面的领域视图,有助于从整体上把握企业需求,但建模过程相对复杂,需要更多的专业知识和经验。

从开发方法的角度来看,敏捷开发和计划驱动开发也各具特点。敏捷开发注重快速响应和团队沟通,能够及时调整需求,但由于缺乏正式的文档和模型,可能在项目规模扩大或人员变动时出现知识传承困难的问题。计划驱动开发则强调前期规划和文档化,能够保证项目的系统性和可控性,但可能在面对需求变化时不够灵活。

企业架构在领域建模中起到了重要的指导作用。不同的企业架构,如MDA、认知工程框架和Zachman框架,提供了不同的视角和抽象层次,帮助我们更好地理解和设计信息系统。然而,目前这些架构还存在一些不足之处,如MDA缺乏对信息作用的考虑,Zachman框架缺乏完善的元模型等。

工具支持是领域建模成功的关键因素之一。随着工具市场的发展,越来越多的工具具备了多种功能的集成,但在实际应用中,工具的易用性和成本仍然是限制其广泛使用的重要因素。特别是对于小型企业来说,如何选择合适的工具并充分发挥其作用是一个亟待解决的问题。

8. 领域建模在实际项目中的应用案例

为了更好地理解领域建模方法的实际应用,下面以一个企业资源规划(ERP)系统的开发项目为例进行说明。

在项目初期,采用以企业模型为重点的方法进行领域建模。首先,使用企业建模(EM)方法构建企业的整体模型,包括目标、资源、概念、业务流程、业务规则和IS需求等方面。通过与企业各部门的沟通和协作,明确企业的核心业务流程和需求,为后续的系统设计提供了坚实的基础。

在需求获取阶段,结合用例方法和i 方法,从用户和参与者的角度出发,详细描述系统的功能和交互。用例方法帮助确定系统的具体功能需求,而i 方法则用于分析参与者之间的关系和依赖,确保系统能够满足各方的利益和期望。

在系统设计阶段,根据MDA的思想,将企业模型转换为平台独立模型(PIM)和平台特定模型(PSM)。通过模型转换和映射,实现业务逻辑与技术实现的分离,提高系统的可维护性和可扩展性。

在项目实施过程中,采用敏捷开发方法进行迭代开发。通过频繁的沟通和反馈,及时调整需求和设计,确保项目能够按时交付并满足用户的需求。同时,使用合适的工具支持,如IBM Rational工具集,对项目进行管理和监控,提高开发效率和质量。

9. 领域建模的最佳实践建议

基于以上分析和实际案例,以下是一些领域建模的最佳实践建议:
- 选择合适的建模方法 :根据项目的特点和需求,选择以软件用户需求为重点或以企业模型为重点的方法,或者将两者结合使用。在项目初期,优先考虑使用企业模型方法进行整体规划,然后在需求细化和设计阶段结合用例等方法进行详细描述。
- 重视知识共享和团队协作 :领域建模是一个涉及多个部门和角色的过程,需要充分的知识共享和团队协作。建立有效的沟通机制,促进不同人员之间的交流和合作,确保模型的准确性和完整性。
- 合理运用企业架构 :根据项目的规模和复杂度,选择合适的企业架构作为指导。在设计过程中,充分考虑架构的层次和维度,确保系统的结构清晰、易于理解和维护。
- 选择合适的工具支持 :根据项目的需求和预算,选择功能强大、易用性好的工具支持。同时,要注重工具的集成性和扩展性,以便在项目的不同阶段能够灵活使用。
- 持续改进和优化 :领域建模是一个不断完善的过程,需要根据项目的进展和反馈进行持续改进和优化。定期对模型进行审查和评估,及时发现问题并进行调整,确保模型能够反映企业的实际情况和需求。

10. 总结与展望

领域建模在信息系统工程中具有重要的地位和作用。通过合理选择建模方法、运用企业架构和工具支持,能够有效地识别需求、设计系统和管理变更,提高信息系统的质量和效率。

然而,目前领域建模仍然面临一些挑战和问题,如领域模型与人类知识的结合、企业架构的完善和工具的易用性等。未来的研究和实践需要进一步关注这些问题,探索更加有效的解决方案。

随着信息技术的不断发展和企业数字化转型的加速,领域建模的重要性将越来越凸显。我们期待未来能够出现更加先进的建模方法、企业架构和工具,为信息系统工程的发展提供更强大的支持。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
    A(项目启动):::process --> B(领域建模):::process
    B --> C(需求获取):::process
    C --> D(系统设计):::process
    D --> E(系统开发):::process
    E --> F(项目交付):::process
    G(反馈和评估):::process --> B
    G --> D
    G --> E
最佳实践建议 具体内容
选择合适的建模方法 根据项目特点和需求,结合以软件用户需求为重点和以企业模型为重点的方法
重视知识共享和团队协作 建立有效沟通机制,促进不同人员交流合作
合理运用企业架构 选择合适架构作为指导,考虑架构层次和维度
选择合适的工具支持 根据需求和预算,选择功能强大、易用的工具
持续改进和优化 定期审查和评估模型,及时调整以反映实际情况

通过以上的分析和建议,希望能够帮助读者更好地理解和应用领域建模方法,提高信息系统工程的实践能力和水平。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值