节点文献
过程蓝图设计方法学及其支撑工具
【作者】 刘建宾;
【导师】 郝克刚;
【作者基本信息】 西北大学 , 计算机软件与理论, 2003, 博士
【摘要】 行为过程开发是软件开发的组成部分和重要内容。可视化过程设计方法为算法密集的复杂程序开发提供了更有效的手段。深入研究这种方法并为它提供CASE工具是软件工程的一个研究方向和内容。作者综合现有过程开发技术的研究成果,提出一种新的、适用于过程开发的局部方法学—过程蓝图设计方法学,研制了支持这一方法学的CASE工具,并通过小范围的应用实践初步验证了技术的有效性。本文详细论述了作者在可视化过程建模语言、开发过程、设计方法的理论研究、工具开发及技术应用方面的工作。 可视化过程建模语言方面,作者提出一种具有抽象概念结构图、抽象逻辑结构图和抽象实现结构图三层抽象外部表示视图、二级映射和统一内部结构表示的过程蓝图语言。该语言将过程表示为概念、逻辑和实现三个抽象层次,通过三层表示间的控制流和数据流二级映射将它们将统一为一个语义上完整的整体,并组织在一个树形结构内部表示框架内,提供了与实现无关和与实现相关的过程表示能力,以及一定程度的程序独立性(控制流独立性和数据流独立性),使过程的修改局部化,实现过程在概念层的重用和移植,能够满足跨越分析、设计和构造阶段的过程表示要求,为解决三层视图间的平滑过渡和一致性问题奠定了基础。过程蓝图目前能够支持JAVA、C++、VB、VFP和PASCAL五种编程语言的过程开发与实现。论文对过程蓝图语言及其规格说明的完整性(有效性、一致性、完备性、正确性)进行了严格的形式化定义,对语言良构规则的无矛盾性进行了论证,对语言的分层设计和程序独立性原理进行了论述。 开发过程方面,作者考虑了过程蓝图语言的特点、逐步求精、和质量保证的要求,定义了一个以控制结构为中心、自顶向下、增量迭代的规范开发过程和设计模型。该开发过程提供了跨越过程开发各个阶段的平滑过渡性和无缝连接性。 设计方法方面,作者考虑了自动化的要求,提出了初始抽象逻辑结构图导出和一致性同步更新的半自动化方法,提出从过程蓝图内部统一结构表示到外部视图导出的自动方法。方法学在降低过程复杂性和易理解性方面具有较好的可操作性,得到的结果具有较好的适应需求变化的能力。 工具开发方面,作者设计开发了一个基于类图和过程蓝图的可视化JAVA面向对象程序设计支撑实验系统,以及作为局部工具使用的过程蓝图编辑器和代码生成器。研制的过程蓝图CASE工具支持过程蓝图设计方法学的正向工程和五种编程语言的过程实现。论文给出了JAVA可视化面向对象程序设计支撑系统的设计方案。 技术应用方面,作者将理论研究和工具开发成果应用于几个中小规模程序开发问题,取到了良好的效果,初步验证了过程蓝图设计方法学及其CASE工具的可用性和技术有效性。 本文详细介绍了作者在可视化过程开发技术领域开展的理论研究和工具支持工作。这些工作表明,可视化过程开发技术正逐步走向成熟,前景广阔。
【Abstract】 Behavior procedure development is a constitute part and important content of software development. Visual procedure design method provides a more effective way for development of algorithm-intensive complex program. It is a study direction and theme of software engineering that to do more in-depth research work on this method and to provide supporting CASE tools. On the basis of colligating existing study fruits of procedure developing technology, author proposes a new local procedure blueprint design methodology suited for procedure development, and develop CASE tools to support this methodology, and validate effectiveness of the technology through small-scale application practice initially. This dissertation describes the author’s theory research in Visual procedure modeling language, development process and design method, and tools developing and technical application work in detail.With regard to visual procedure modeling language, author proposes a procedure blueprint language with three-tier abstract outside views represented as Abstract Concept Structure Diagram (ACSD), Abstract Logic Structure Diagram (ALSD) and Abstract Implementation Diagram (AISD), two-level mapping and inside unified integration structure. The language represents procedure at conceptual, logical, and implemental tree abstract levels, and unifies them into an integrated whole in semantics, and organizes them in a tree-shaped structure framework by means of two-level mapping of control flow and data flow among the tree-tier representation, providing implementation-independent and implementation-dependent representation capability and procedure independency (i.e. control flow independency and data flow independency) on certain extent, making procedure modification localized, implementing reuse and portability of procedure at conceptual level, enabling representation requirement across analysis, design and construction phrase satisfied, which establish basis for solving the problem of smooth transition and consistency among three-tier views. Currently, It can support procedure development and implementation of five programming language, including JAVA, C++, VB, VFP, and PASCAL. In this paper, rigorous formal definition of Procedure Blueprint language and the concept of the specification integrity (i.e. validity, consistency, completeness, and correctness) are presented, and non-contradiction of the language’s well-formed rules is proved, the principle of the language’s delaminated design and procedure independency is discussed.In the development process aspect, author defines a control-construct-centered, top-down, incremental, iterative, normative development process and design model, having taken characteristics of the language and requirement of step-by-step refinement and quality assurance into consideration, which provides properties of smooth transition and seamless connection across various development phrases.As to design method, considering automation, author proposes semi-automatic methods of initial ALSD derivation and consistent synchronization update, and automatic derivation methods from inside unified structure representation to outside views. The methodology provides operational methods in reducing procedure complexity and improving comprehensibility and better adaptive capability for requirement variation. In tool development aspect, author has designed and implemented a JAVA visualobject-oriented programming supporting system (JVOOPSS) based on the class diagram andprocedure blueprint, and procedure blueprint editors and code generators used as local toolsto support forward engineering of the methodology and procedure implementation for thefive programming language. Design of JVOOPSS is presented in the paper.In technical application aspect, author has brought the results of theory research and thedeveloped tools into several medium-scale or small-scale programming problems, and gotsatisfactory effects, which validates availability and effectiveness of the methodology andtools initially.