论文部分内容阅读
模型驱动开发是一种和面向对象开发、面向过程开发不同的新型开发方式。它是一种面向模型的分析、设计、开发方式。模型驱动开发的目标是依据模型生产出符合该模型的软件。就如3D打印一样,通过输入模型可以直接打印出对应的实物。然而在实际的软件工程中,模型驱动往往是比较复杂的,目前还面临诸多困难。一个好的模型可以指导软件开发并提高软件开发效率。本文介绍了依据需求结合分析复用从而设计出完善的软件模型的方法。在模型驱动开发的过程中,模型的来源主要有两个方面:一是从需求中获取,依据需求进行实体关系建模;二是对现有的软件知识包括源码、文档或者模型等信息进行分析并提取出对应的模型。本文分别对以上两方面进行了研究,对从需求中获取模型,本文提出智能化需求建模的方法。针对需求来源的的广泛性、复杂性,本文讨论了不同场景下的多用户需求优选算法。对从已有源码中获取模型信息,本文提出了基于软件分析复用的源码分析技术。实现了从源码中获得项目的结构思维导图模型、元素rank列表、元素关系网络模型、项目整体关系网络模型。通过研究以上方面的模型可以帮助开发人员将现有的软件开发知识迁移到新的软件开发过程中。对从现有的模型中获取知识,本文提出了模型抽象的方法并基于UML类图模型设计和实现了UML类图抽象系统。通过模型抽象的方法帮助开发人员理解模型中的主要矛盾。本文的具体研究主要包括如下方面:智能化需求建模:借助自然语言处理的工具、技术、方法解决需求建模过程中智能化需求建模问题。多用户需求优选:提供不同场景下对采集的需求进行优选的方案。目的是为了筛选出最能满足不同用户需求的需求方案,为智能化需求建模提供基础。基于分析的软件复用:从现有的软件中获取有用的分析知识,构造对决策有利的分析模型,从而指导新的软件的开发与设计。模型抽象:从实际存在的复杂模型中抽取出关键的、简洁的抽象模型,帮助开发人员理解此复杂模型。