过程蓝图设计方法学及其支撑工具
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
行为过程开发是软件开发的组成部分和重要内容。可视化过程设计方法为算法密集的复杂程序开发提供了更有效的手段。深入研究这种方法并为它提供CASE工具是软件工程的一个研究方向和内容。作者综合现有过程开发技术的研究成果,提出一种新的、适用于过程开发的局部方法学—过程蓝图设计方法学,研制了支持这一方法学的CASE工具,并通过小范围的应用实践初步验证了技术的有效性。本文详细论述了作者在可视化过程建模语言、开发过程、设计方法的理论研究、工具开发及技术应用方面的工作。
     可视化过程建模语言方面,作者提出一种具有抽象概念结构图、抽象逻辑结构图和抽象实现结构图三层抽象外部表示视图、二级映射和统一内部结构表示的过程蓝图语言。该语言将过程表示为概念、逻辑和实现三个抽象层次,通过三层表示间的控制流和数据流二级映射将它们将统一为一个语义上完整的整体,并组织在一个树形结构内部表示框架内,提供了与实现无关和与实现相关的过程表示能力,以及一定程度的程序独立性(控制流独立性和数据流独立性),使过程的修改局部化,实现过程在概念层的重用和移植,能够满足跨越分析、设计和构造阶段的过程表示要求,为解决三层视图间的平滑过渡和一致性问题奠定了基础。过程蓝图目前能够支持JAVA、C++、VB、VFP和PASCAL五种编程语言的过程开发与实现。论文对过程蓝图语言及其规格说明的完整性(有效性、一致性、完备性、正确性)进行了严格的形式化定义,对语言良构规则的无矛盾性进行了论证,对语言的分层设计和程序独立性原理进行了论述。
     开发过程方面,作者考虑了过程蓝图语言的特点、逐步求精、和质量保证的要求,定义了一个以控制结构为中心、自顶向下、增量迭代的规范开发过程和设计模型。该开发过程提供了跨越过程开发各个阶段的平滑过渡性和无缝连接性。
     设计方法方面,作者考虑了自动化的要求,提出了初始抽象逻辑结构图导出和一致性同步更新的半自动化方法,提出从过程蓝图内部统一结构表示到外部视图导出的自动方法。方法学在降低过程复杂性和易理解性方面具有较好的可操作性,得到的结果具有较好的适应需求变化的能力。
     工具开发方面,作者设计开发了一个基于类图和过程蓝图的可视化JAVA面向对象程序设计支撑实验系统,以及作为局部工具使用的过程蓝图编辑器和代码生成器。研制的过程蓝图CASE工具支持过程蓝图设计方法学的正向工程和五种编程语言的过程实现。论文给出了JAVA可视化面向对象程序设计支撑系统的设计方案。
     技术应用方面,作者将理论研究和工具开发成果应用于几个中小规模程序开发问题,取到了良好的效果,初步验证了过程蓝图设计方法学及其CASE工具的可用性和技术有效性。
     本文详细介绍了作者在可视化过程开发技术领域开展的理论研究和工具支持工作。这些工作表明,可视化过程开发技术正逐步走向成熟,前景广阔。
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 construc
    tion 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 visual
    
    
    object-oriented programming supporting system (JVOOPSS) based on the class diagram and
    procedure blueprint, and procedure blueprint editors and code generators used as local tools
    to support forward engineering of the methodology and procedure implementation for the
    five programming language. Design of JVOOPSS is presented in the paper.
    In technical application aspect, author has brought the results of theory research and the
    developed tools into several medium-scale or small-scale programming problems, and got
    satisfactory effects, which validates availability and effectiveness of the methodology and
    tools initially.
引文
[1] Object Management Group. Unified Modeling Language Specification. Framiningham, Mass. 2002.9(UML 1.4.1), Available WWW (2002)
    [2] James Rumbaugh, Ivar Jacobson and Grady Booth. The Unified Modeling Language Reference Manual, Addison-Wesley, 1999
    [3] Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide. Addison-Wesley, Reading, Mass., 1999.
    [4] Jos Warner and Anneke Kleppe. OCL: The Constraint Language of the UML. JOOP (the Journal of Object-Oriented Programming), May 1999, Vol.12, No.2, pp.10-13
    [5] Ivar Jacobson, Grady Booth, and James Rumbaugh. The Unified Software Development Process, Addison-Wesley, 1999
    [6] Yaohan Chu. Software Blueprint and Examples.Lexington: D. C. Heath and Company. 1982
    [7] James Martin and Carma Mcclure. Action Diagrams: Clearly Structured Specification, Programs and Procedures.2nd editon. New Jersey: Prentice-Hall. 1989
    [8] James Martin and Carma McClure. Diagramming Techniques for Analysts and Programmers. Englewood Cliffs.NJ: Prentice-Hall Inc. 1985.
    [9] R. Wieringa, A Survey of Structured and Object-Oriented Software Specification Methods and Techniques. ACM Computing Surveys, 30(4): 459-527, 1998
    [10] Leonard L. Tripp. A Survey of Graphical Notations for Program Design-An Update. ACM SIGSOFT Software Engineering Notes. Vol. 13, No 4, Oct. 1988
    [11] S. P. Maj. Language independent Design: An Introduction. Oxford: NCC. Blackwell Limited. 1991
    [13] John D. McGregor. Making Diagrams Useful, Not Archival. JOOP.May 1999 Vol.12, No.2, pp.24-28
    [14] J. C. Jones.Design Methods: seeds of human futures, Welley-Intersclence, London. 1970
    [15] L. J. Peters and L. L. Tripp. Design Representation Scheme.Proceedings of MRI Symposium on Computer Software Engineering, 1976,pp.31-56
    [16] L. J. Peters. Software Representation and Composition Techniques.Proceedings of the IEEE, Vol. 68, No.9, Sept.1980, pp.1085-1092
    [17] R.Schneyer.A Survey of Graphic Algorthmle Representation Techniques.Interface, Spring 1984,pp.38-48.
    [18] R.Firth, B.Wood, R.Pethla, L.Roberts, V.Mosley and T.Dolce.A Classification Scheme for Software Development Method.Techical Report SEI-87-TR-41, Software Engineering Institute, Carnegie Mellon University, Nov. 1987
    [19] E. J. Brown. On the Application of Rothon Diagrams to Data Abstraction. SIGPLAN Notices, Vol.18, No.12, Dec.1983, pp.17-24
    [20] Ferstl.Flowcharting by Stepwise Refinement.SIGPLAN Notices, Vol.13, No.1, Jan.1987, pp.34-42
    [21] Y.Futamura, T.Kawal, H.Horikoshi and M.Tsutsuml.Development of Computer Program by Problem Analysis (PAD). Proceedings of 5th International Conference on Software Engineering, 1981, pp.325-332
    [22] S.Hanata and T.Satoh.COMPACT CHART-A Program Logic Notation with High
    
    Describability and Understandability. SIGPLAN Notices, Vol. 15, No.9, Sept. 1980, pp. 32-38
    [23] Y.Kanda and M.Sugimoto.Software Diagram Description: SDD and Its Application. Proceedings of COMSPAC-80, 1980, pp.300-305
    [24] S. C Chyou.Structure Charts and Program Correctness Proofs.Proceedings of the 7th International Conference on Software Engineering, 1984, pp 486-498.
    [25] R.Doran and G.Tate.An Approach to Structured programming. Masey University Technical Publication, June 1972.
    [26] R. W Jensen and C. C. Tonles.Software Engineering.Prentice-Hall, Englewood Cliffs,N.J., 1979, pp.267-273
    [27] P.Grouse, FLOWBLOCKS-A Technique for Structured Promgramming, SIGPLAN Notices, 1977, pp.46-56.
    [28] D.Jonsson.Pancode and Boxchats: Structured Programming Revisited.SIGPLAN Notices, Vol.22, No.8, Aug. 1987, pp.89-98
    [29] G.H. Lindsey.Structure charts: A Structured Alternative to Flowcharts.SIGPLAN Notices, Vol.12, No.11, Nov. 1977
    [30] D.Marca.A Method for Specifying Structure Programs. ACM SIGSOFT Software Engineering Notes, Vol.4, No.3, July 1979, pp.22-31
    [31] F. G. Pagan.A Graphical FP Language.SIGPLAN Notices, Vol.22, No.3, March 1987, pp.21-39
    [32] R. W. Witty. The Design and Construction of Hierarchically Structured Software. Proceedings of Pragmatic and Sensible Software, Online Ltd, Feb. 1977, pp.361-388
    [33] L. A. Belady, C. J. Evangelisti, and L. R. Power.GREENPRINT: A graphic representation of structured programs, IBM System Journal, Vol.19, No.4, 1980, pp.542-553
    [34] D.Harel, P.Norvig, J. Rood, and T. To. A Universal Flowcharter. Proceedings of AIAA Computers in Aerospace Conference, 1979, pp.218-224
    [35] P. N. Robillard.On an Experimental Tool for General Software Development.Proceedings of the 14th Hawaii International Conference on Systems Sciences, 1981,pp.90-97
    [36] R. P. Taylor, N.Cunniff and M. Uchiyama.Learning, Research and the Graphical Representation of Programming.Proceedings of 1986 Pall Joint Computer Conference, 1986, pp.56-63
    [37] Dennis, J. B.: First version of a data flow procedure language, Lecture Notes in Computer Science, Vol. 19, pp. 362-376, 1974
    [38] G.Raeder.A Survey of Current Graphical Programming Techniques.IEEE Computer, August 1985, pp. 11-25
    [39] Jackson, M. A., Principles of program design, Aedemic Press, 1975.
    [40] 二村良彦,运用问题分析图(PAD)的程序的改进,电子通信学会综合全国大会预约稿S13—2,昭和55年3月
    [41] Morrison, J. P., Data stream linkage mechanism, IBM System J., Vol 17, NO.4, PP 383-408(1978)
    [42] Parnas, D. L, On the criteria to be used in decomposing systems into modules, Commun ACM, Vol 15, NO.12, PP 1053-1058 (1972)
    [43] Shigo, O., Shimomura, T., Iwamoto, K. and Maejima, T., Implementing the abstraction
    
    technique in software development, 2nd USA—Japan Comp, Conf. pp. 517-522 (1975)
    [44] 佐藤匡正,浅见秀雄,流程图层次表现的一方案,情报处理学会第20回全国大会预稿,21—9,昭和54年7月
    [45] Gold stein, H, H, and Von Neumann: Planning and Coding Problems for An Electronic Computing Instrument, Part Ⅲ, in Von Neumann Collected Works Vol. Ⅴ, McMillan, New York. pp. 80-151.
    [46] Shneiderman, B., Mayer, R.Mckay, D. and Heller, P., Experimental Investigations of the utility of detailed flowcharts in programming, Comm. ACM, Vol.20, NO.6, pp.373-381. (1977).
    [47] Leer, V., Top-down Development Using a Program Design Language, IBM System Journal, Vol. 2 (1976), pp. 155-170
    [48] Dahl, O. J. Dijkstra, E. M., and Hoare, C. A. R., Structured Programming, Academic Press, (1972).
    [49] N. Wirth, Systematic Programming: An Introduction, Prentice-Hall. 1973.
    [50] Wirth, N., Algorithms+Data Structures=Programs, Prentice-Hall. 1976.
    [51] Jensen, K. and Wirth, N., PASCAL User Manaual and Report, Spring-Vedag, 1974.
    [52] Chapin, N., A New formal for flowcharts, Software: Practice and Experience, Vol.4, No. 4, 1974, pp. 341-357.
    [53] Nassi, I. and Shneiderman, B., Flowchart Techniques for Structured Progrmming, SIGPLAN Notices 8, (Aug, 1973), 12-26.
    [54] Verdegraal, P. A. and Goodman A. S.: The Warnier-Orr Diagram, Digest of Papers, COMPCON79, IEEE Catalog NO.79.CH1393-8C, PP301-306
    [55] 二村,结构程序设计的一种方法,电子通信学会综合全国大会预约稿S8-9,昭和53年3月
    [56] Goodenough, J. B. and Gehart, S. L., Toward a Theory of Test Data Selection, IEEE Trans. of Software Engineering. Vol, SE-1.No2, June 1975.
    [57] 夜久竹夫,二木厚吉,流程图的树结构法,电子通信学会AL研究会,AL78-47.1978.
    [58] 大原,夜岛,前田,流程图的树结构法一提案,电子通信学会总会全国大会预约稿1499,昭和54年3月
    [59] Stacy J., Prowell Carmen J., Trammel Richard C.Linger, Jesse H.Poore, Cleanroom Software Enginerring: Technology and Process, Addison—Wesley, 2000.
    [60] Mana Z., and Pnnueli A., The Temporal Logic of Reactive and Concurrent System—Specification, New York: Springger—Verlag, 1992
    [61] Bohm, C., and G. Jacopini, Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules, Comm. ACM, Vol.9, No.5, May 1966, pp. 366-371.
    [62] Ledgard, H. F. and Marcotty, M., A genealogy of control Structures, Comm. ACM, 18,11 (November 1975), 629-639.
    [63] Knuth,D. E., Fundamental algorithms, The Art of computer programming Vol. Ⅱ, Assison-Wesley, Reding Mass. 1968
    [64] Knuth, D. E., Structured programming with GOTO Statements, Computing Surveys, 6(Dec 1974) 261-301.
    
    
    [65] Dijkstra, E. W., A Discipline of Programming, Preatice-Hall, Englewood Cliffs N. J., 1976
    [66] Wulf, W. A., Russell, D. B., and Habermann, BLISS: A language for systems programming, Comm. ACM 14, 12(Dec 1971), 780-790
    [67] Baker, F. T., Structured programming in a production programming, IEEE Trans.on software Engineering, June 1975
    [68] Anderson, J. P., Program structures for processing, Comm.ACM 8, 12 (Dec 1975) pp. 786-788
    [69] Dijkstra, E. W., Go to Statement Considered Harful, Comm. Of the ACM 11 (March 1968), pp. 147-148
    [70] 夜久竹夫,二木厚吉,流程图的树结构表示法,电子通信学会AL研究会,AL78—47(1978)
    [71] Warnier,J. D.,Warnier程序设计,铃木君子译,日本能率协会(1975)
    [72] UML Revision Task Force, OMG Unified Modeling Language specification, v. 1.3. Document ad/99-06-08, Object Management Group, June 1999.
    [73] C. A. R. Hoare, An Axiomatic Basis for Computer Programming, Comm. CAM 12(October 1969), pp. 576-583.
    [74] Sebesta, Robert W. Concepts of Programming Languages. Menlo Park, CA: Benjamin/Cummings, 1989.
    [75] Dijkstra, E. W., A Constructive Approach to the Program Correctness, BIT 8(No.3, 1968), pp. 174-186.
    [76] Appleby, Doris. Programming Languages: Paradigm and Practice. New York, NY: McGraw-Hill, 1991.
    [77] Trembley, J. and Sorenson, P. The Theory and Practice of Compiler Writing. New York, NY: McGraw-Hill, 1985.
    [78] Wilde, N., Understanding Program Dependencies, (CMU/SEI-CM-26, ADA 235700). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1990.
    [79] Proctor, R. and Zandt, T. Human Factors. Boston, MA: Allyn and Bacon, 1994.
    [80] Fagan, M. E., Design and Code Inspections to Reduce Errors in Programs, IBM Systems Journal 15, 3 (3rd Quarter 1976): 219-248.
    [81] Lehman, M. and Belady, L. Program Evolution: Processes of Software Change. San Diego, CA: Academic Press, 1985.
    [82] Winograd, T., Beyond Programming Languages, Comm. ACM, Vol. 12, 1979.
    [83] Kernighan, Brian W., and Pike, Rob, The Practice of Programming, Addison-Wesley, 1999. (Chapters 1, 2, 3,5, 6, 9)
    [84] Maguire, Steve, Writing Solid Code. Microsoft Press, 1993.
    [85] Sethi, Ravi, Programming Languages-Concepts& Constructs (Second Edition). Addison-Wesley, 1996. Parts Ⅱ, Ⅲ, Ⅳ, Ⅴ)
    [86] Aho, V. A. and Ullman, J. D., Foundations of Computer Science, New York, NY: Computer Science Press, 1992.
    [87] IEEE STD 610.2: IEEE Standard Glossary of Soft, are Engineering Terminology, 1990.
    [88] Pressman, Roger S. Software Engineering: A Practitioner's Approach, 4th Edition. New York, NY: McGraw-Hill, 1997.
    [89] Pfleeger, S. Software Engineering Theory and Practice. Englewood Cliffs, NJ: Prentice-Hall, 1998.
    [90] Sommerville, I. Software Engineering, 5th edition. Reading, MA: Addison-Wesley, 1995.
    
    
    [91] Dorfman, M. and Thayer, R, Software Engineering. Los Alamitos, CA: Computer Society Press, 1997.
    [92] Dupuis, R. et al., A Guide to the Software Engineering Body of Knowledge, A Straw Man Version. Los Alamitos, CA: IEEE Computer Society Press, 1998.
    [93] PMI Standards Committee, A Guide to the Project Management Body of Knowledge, Available WWW (1994).
    [94] General Electric Company. Software Engineering Handbook, New York, NY: McGraw-Hill, 1986.
    [95] Mareiniak, J. J., Encyclopedia of Software Engineering. New York, NY: John Wiley, 1994.
    [96] IEEE Software Engineering Standards, 1994 Edition, Los Alamitos, CA: IEEE Computer Society Press, 1994.
    [97] Boehm, B. W., Software Risk Management: Principles and Practices, IEEE Software 8, 1 (January 1991): 32-41.
    [98] Brooks, F. P., The Mythical Man-Month, Essays on Software Engineering, Anniversary Edition. Reading, MA: Addison-Wesley, 1995.
    [99] Barry W. Boehm. Software Engineering Economics.Prentice Hall Inc. 1981
    [100] Beizer, B. Software System Testing and Quality Assurance. New York, NY: Van Norstrand Reinhold Company, 1984.
    [101] Beizer, B. Software Testing Techniques, New York, NY: Van Norstrand Reinhold Company, 1990
    [102] Zhu, H., Hall, P. A. V. and May, J. H. R., Software Unit Test Coverage and Adequacy, ACM Computing Surveys, 29, 4 (Dec. 1997) 366-427
    [103] Pigoski, T. M., Practical Software Maintenance. New York, NY: John Wiley, 1997.
    [104] Lano, K. and Haughton, H. Reverse Engineering and Software Maintenance. New York, NY: McGraw-Hill, 1994.
    [105] Arnold, R. S. Software Reengineering. Los Alamitos, CA: IEEE Computer Society Press, 1993.
    [106] Rob, P. and Coronel, C. Database Systems, 3 rd edition. Boston, MA: Boyd & Fraser, 1997.
    [107] Kevin Lano.The B Language and Method: A Guide to Practice Formal Development, Springer Verlag, 1996
    [108] DeMarco, Tom. Structured Analysis and System Specification. Englewood Cliffs, NJ: Prentice-Hall/Yourdon Press, 1979.
    [109] Edward Yourdon, Larry L. Constantine. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Yourdon Press, Englewood Cliffs, N. J., 1979.
    [110] Yourdon, Edward, Modern Structured Analysis, Englewood Cliffs, NJ: Prentice-Hall/Yourdon Press, 1989.
    [111] Budgen, D., Software Design. Reading, MA: Addison-Wesley, 1994.
    [112] McCall, J. A., Factors in Software Quality-General Electric, n77C1502, June 1977
    [113] Page-Jones, Meilir, The Practical Guide to Structured Systems Design. Englewood Cliffs, NJ: Prentice-Hall/Yourdon Press, 1980.
    [114] P. Naur, Programming by Action Cluster, BIT 9(No. 3, 1969), pp. 250—258.
    [115] B. Leavenworth, Review #19420, Computing Review 11(July 1970), pp. 396—397.
    [116] R. L. London, Software Reliability through Proving Program Correct, Proc. of the IEEE International Symposium on Fault-Tolerant Computing, March 1971.
    
    
    [117] J. B. Goodenough and S. L. Gerhart, Toward a Theroy of Test Data Selection, IEEE Trans. on Software Engineering SE-1 (June 1975), pp. 156-173.
    [118] Bertrand Meyer, Object-Oriented Software Construction, Prentice Hall, New York, N. Y., 1988
    [119] James Martin, Principles of Object-Oriented Analysis and Design, Prentice-Hall, N. J. 1993.
    [120] Michael Blaha, William Premerlani. Object-Oriented Modeling and Design for Database Applications. Prentice Hall, Upper Saddle River, N. J., 1998.
    [121] Booch, G. Object-Oriented Analysis and Design with Applications, 2nd ed. Redwood City, California, Addison-Wesley Publishing Company, 1993.
    [122] Jacobsen, I., Christerson, M., Jonsson, P., and Overgaard, G. Object-Oriented Software Engineering: A Use Case Driven Approach. Wokingham, England, Addison-Wesley Publishing Company, 1992.
    [123] Rumbaugh, J. Blaha, M. Premerlani, W. Eddy and Lorensen, W. Object-Oriented Modeling and Design. Englewood Cliffs, New Jersey, Prentice-Hall, 1991
    [124] Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommedad, Michael Stal. Pattern-Oriented Software Architecture: A System of Patterns. Wiley, Chichester, U. K., 1996.
    [125] Peter Coad and Edward Yourdon. Object-Oriented Analysis, 2nd ed. Yourdon Press, Englewood Cliffs, N. J., 1991
    [126] Brad J. Cox. Object-Oriented Programming: An Evolutionary Approach. Addison-Wesley, Reading, Mass., 1986.
    [127] Brian W. Embley, Barry D. Kurtz, Scott N. Woodfield. Object-Oriented Systems Analysis: A Model-Driven Approach. Yourdon Press, Englewood Cliffs, N. J,, 1992.
    [128] M. Tamir, ADI: Automatic Derivation of Invariants, IEEE Trans. on Software Engineering SE-6 (January 1980), pp. 40-48.
    [129] David Harel, Michal Politi. Modeling Reactive Systems With Statecharts: The STATEMATE Approach. McGraw-Hill, New York, N. Y., 1998.
    [130] James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen. Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, N. J., 1991.
    [131] James Rumbaugh. OMT Insights: Perspectives on Modeling from the Journal of Object-Oriented Technology. SIGS Books, New York, N. Y., 1996
    [132] Bran Selic, Garth Gullekson, and Paul T. Ward, Real-Time Object-Oriented Modeling. Wiley, New York, N. Y., 1994
    [133] Sally Shlaer, Stephen J. Mellor, Object-Oriented Systems Analysis: Modeling the Word in Data, Yourdon Press, Englewood Cliffs, N. J., 1988.
    [134] Sally Shlaer, Stephen J. Mellor. Object Lifecycles: Modeling the World in States. Yourdon Press, Englewood Cliffs, N. J., 1992
    [135] Paul Ward, Stephen J. Mellor. Structured Development for Real-Time Systems: Introduction and Tools. Yourdon Press, Englewood Cliffs, N. J., 1985.
    [136] Jos B. Warmer, Anneke G. Kleppe. The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading, Mass., 1999.
    [137] R. A. Demillo, R. J. Lipton, and A. J. Perils, Social Processes and Proofs of Theorems and Programs, Comm. ACM 22(May 1979), pp. 271-280.
    
    
    [138] Ince, D., ISO 9001 and Software Quality Assurance, New York, NY: McGraw-Hill, 1994.
    [139] Kan, S. H. Metrics and Models in Software Quality Engineering. Reading, MA: Addison-Wesley, 1995.
    [140] Arthur, L. J., Software Evolution. New York, N-Y: John Wiley, 1988.
    [141] Gillies, A. C. Software Quality: Theory and Management. London: Chapman & Hall, 1992.
    [142] Grady, R. B. and Caswell, D. L. Practical Software Metrics for Project Management and Process Improvement. Englewood Cliffs, NJ: Prentice-Hall, 1992.
    [143] Hall, E. M., Managing Risk. Reading, MA: Addison-Wesley, 1998.
    [144] Sheppard, M., Software Engineering Metrics, New York, NY: McGraw-Hill, 1992.
    [145] Musa, J. D.; Iannino, A., and Okumoto, K. Software Reliability: Measurement, Prediction, Applications, New York, NY: McGraw-Hill, 1987.
    [146] Humphrey, W. S., Managing the Software Process, Reading, MA: Addison-Wesley, 1989.
    [147] Humphrey, W. S. Introduction to Software Process Improvement (CMU/SEI-92-TR-7, ADA 253326). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1992.
    [148] Christie, A., A Practical Guide to the Technology and Adoption of Software Process Automation, (CMU/SEI-94-TR-007, ADA 280916). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1994.
    [149] Ford, Gary and Gibbs, Norman E., A Mature Profession of Software Engineering (CMU/SEI-96-TR-004, ADA 307889). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1996.
    [150] Paulk M. et al., Capability Maturity Model, Version 1.1, (CMU/SEI-93-TR-24, ADA 263403). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1993.
    [151] M. C. Paulk,C. V. Weber, B. Curtis, and M. B. Chrissis. The Capbility Maturity Model: Guidelines for Improving the Sol,rare Process.Reading,MA: Addison-Wesley, 1995
    [152] R. C. Linger, M. C. Paulk, and C. Trammell, Cleanroom Software Engineering Implementaion of the CMM for Software. CMU/SEI—96—TR—023. Pittsburgh: Software Engineering Institute, Carnegie Mellon University, 1996.
    [153] D. Budgen, Software Design, Addison-Wesley, 1994
    [154] N. Cross (ed.), Developments in Design Methodology, John Wiley & Sons, 1984.
    [155] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice. SEI Series in Software Engineering, Addison-Wesley, 1998
    [156] D. F. D'Souza and A. C. Wills, Objects, Components, and Frameworks with UML-The Catalysis Approach, Addison-Wesley, 1999.
    [157] N. E. Fenton and S. L. Pfleeger, Software Metrics-A Rigorous & Practical Approach (Second Edition). International Thomson Computer Press, 1997.
    [158] P. Freeman and A. I. Wasserman, Tutorial on Software Design Techniques, fourth edition. IEEE Computer Society Press, 1983.
    [159] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns-Elements of Reusable Object-Oriented Software, Professional Computing Series, Addison-Wesley, 1995.
    [160] A. T. F. Hutt. Object Analysis and Design-Comparison of Methods. Object Analysis and Design-Description of Methods, John Wiley & Sons, 1994.
    [161] C. Larman, Applying UML and Patterns-An introduction to Object-Oriented Analysis and Design, Prentice-Hall, 1998
    
    
    [162] B. Liskov and J. Guttag, Abstraction and Specification in Program Development. The MIT Press, 1986.
    [163] B. Liskov and J. Guttag, Program Development in Java-Abstraction, Specification, and Object-Oriented Design, Addison-Wesley, 2001.
    [164] S. McCormell. Code Complete. Microsoft Press, 1993.
    [165] A. J. Riel. Object-Oriented Design Heuristics, Addison-Wesley, 1996
    [166] G. Smith and G. Browne. Conceptual foundations of design problem-solving, IEEE Trans. on Systems, Man, and Cybernetics, 23(5): 1209-1219, 1993.
    [167] R. Wirfs-Brock, B. Wilkerson, and L. Wiener, Designing Object-Oriented Software. Prentice-Hall, 1990
    [168] Aho, A. V., J. Hopcroft, and J. Ullmann, Data Structures and Algorithms, Addison-Wesley, 1983.
    [169] Landwehr, C. E., The Best Available Techniques for Computer Security, IEEE Computer 16(July 1983), pp. 86—100
    [170] Caine, S., and K. Gordon, PDL—A Tool for Software Design, in Proc. Natl. Computer Conference, AFIPS Press, 1975, pp. 271-276.
    [171] Chapin, N., A New Format for Flowcharts, Software—Practice and Experience, Vol. 4, No.4, 1974, pp. 341-357.
    [172] Cross, J. H., K. H. Chang, and T. D. Hendrix, Grasp/Ada95—Visualization with Control structure Diagrams, CrossTalk Journal of Defence Software Engineering, January 1996, Vol. 9, No. 1, pp. 20-24.
    [173] Dahl, O., E. Dijkstra, and C. Hoare, Structured Programming, Academic Press, 1972.
    [174] Dean, T. R,, and J. R. Cordy, A Syntactic Theory of Software Architecture, IEEE Trans. Software Engineering, Vol. 21, No. 4, April 1995, pp. 302-313.
    [175] Dijkstra, E., Programming Considered as a Human Activity. IFIP Congress, North Holland Publishing Co., 1965.
    [176] Dijkstra, E., Structured Programming in Software Engineering: Concepts and Techniques, Buxton et al., Van Nostrand Reinhold, 1976
    [177] Freeman, R., The Context of Design. in Software Design Techniques, 3rd ed., P. Freeman and A. Wasseman (eds.), IEEE Computer Society Press, pp. 2-4.
    [178] Linger, R. C. H. D. Mills, and B. I, Witt, Structured Programming, Addison—Wedey, 1979.
    [179] Myers, G., Composite Structured Design, Van Nostrand Reinhold, 1978.
    [180] Nassi, I. and B. Shneiderman, Flowchart Techniques for Structured Programming. SIGPLAN Notices, ACM, August 1973.
    [181] Peters, L. I., Software Design: Methods and Techniques, Yourdon Press, New York, 1981.
    [182] Shaw, M., and D. Garlan, Formulations and Formalisms in Software Architecture, Volume 1000—Lecture Notes in Computer Science, Springer—Verlag, 1995
    [183] Stevens, W., G. Myers, and L. Constantine, Structured Design, IBM System Journal, Vol. 13, No.2, 1974, pp. 115-139.
    [184] Wasseman, A., Principles of Systematic Data Design and Implementation, Software Design Techniques, (P. Freeman and A. Wasseman, eds.), 3rd ed., IEEE Computer Society Press, 1980, pp. 287-293
    [185] Wirth, N., Program Development by Stepwise Refinement, CACM, Vol. 14, No. 4, 1971, pp.221-227.
    
    
    [186] Yourdon, E., and L. Constantine, Structured Design, Prentice-Hall, 1979.
    [187] Curritt, P. A., M. Dyer, and H. D. Mills, Certifying the Reliability of Software, IEEE Trans., Software Engineering, Vol.SE-12, No.1, January 1994.
    [188] Dyer, M., The Cleanroom Approach to Quality Software Development, Wiley, 1992.
    [189] Hausler, R. A., R. Linger, and C. Trammel, Adopting Clearlroom Software Engineering with a Phased Approach, IBM Systems Journal, Vol.33, No.1, January 1994, pp. 89-109.
    [190] Henderson, J., Why Isn't Cleanroom the Universal Software development Methodology? Crosstalk, Vol. 8, No.5, May 1995, pp. 11-14.
    [191] Hevner, A. R., and H. D. Mills, Box Structure Methods for System Development with Objects, IBM Systems Journal, Vol,31, No.2, February 1993, pp. 232—251.
    [192] Linger, R. M., H. D. Mills, and B. I. Witt, Structured Programming—Theory and Practice, Addison—Wesley, 1979.
    [193] Linger, R. M., and H. D. Mills, A Case Study in cleanroom Software Engineering: The IBM COBOL Structuring Facility, Proc. COMPSAC'88, Chicago, October 1988.
    [194] Linger, R., Cleanroom Process Model, IEEE Software, March 1994, pp. 50-58.
    [195] Mills, H. D., M. Dyer, and R. Linger, Cleanroom Software Engineering, IEEE Software, September 1987, pp. 19-24.
    [196] Mills, H. D., Stepwise Refinement and Verification in Box Structured Systems, IEEE Computer, June 1988, pp. 23-35.
    [197] Musa, J. D., A. Iannino, and K.Okumoto, Engineering and Managing Software with Reliability Measures, McGraw-Hill, 1987.
    [198] Poore, J. H., and H. D. Mills, Bringing Software Under Statistical Quality Control, Quality Progress, November 1988, pp. 52-55.
    [199] Poore, j., H. D. Mills, and D. Mutchler, Planning and Certifying Software System Reliability, IEEE Software, Vol.10, No.1, January 1993, pp. 88-99.
    [200] Wohlin, C., and P. Runeson, Certification of Software Components, IEEE Trans. Software Engineering, Vol.20, No.6, June 1994, pp. 494-499.
    [201] 唐稚松.时序逻辑程序设计与软件工程(上册).北京:科学出版社,1999
    [202] 郝克刚.软件设计研究.西安:西北大学出版社,1992
    [203] 唐稚松.郝克刚.计算机软件开发方法、工具和环境.西安:西北大学出版社,1985
    [204] 徐家福.软件语言及其实现.北京:科学出版社,2001
    [205] 徐家福.陈道蓄,吕建,王志坚.软件自动化.北京:清华大学出版社,南宁:广西科学技术出版社,1994
    [206] 仲萃豪.冯玉琳,陈友君.程序设计方法学.北京:北京科学技术出版社,1985
    [207] 何克清.计算机软件工程学.武汉:武汉大学出版社,1983,92—144
    [208] 王选.软件设计方法.北京:清华大学出版社,1992
    [209] 龚世生.刘建宾.软件工程.广州:广东高等教育出版社,1999
    [210] 齐志昌.谭庆平.宁波.软件工程.北京:高等教育出版社,1997
    [211] 郑人杰.殷人昆.陶永雷.实用软件工程(第2版).北京:清华大学出版社,1997
    [212] 赵晓华.软件开发自动化技术—软件工程与CASE.长沙:国防工业出版社,1997
    [213] 郑人杰.计算机辅助软件工程CASE技术.北京:清华大学出版社,1992
    [214] 周启海.计算机同构化程序设计原理及其应用导论.清华大学出版社,1993,39-43
    [215] 黄曾思.陈仲驹.软件开发规范的实施文档.广州:中山大学出版社,1991
    [216] 萨师暄.王珊.数据库系统概论(第三版).北京:高等教育出版社,2000
    [217] 刘建宾.JACKSON结构图到抽象逻辑结构图的转换.小型微型计算机系统,
    
    Vol.17,No.4,1996,46-50
    [218] 刘建宾.JACKSON程序规格说明到过程监图的映射.计算机应用与软件,Vol.14.No.2,1997,19-25
    [219] 刘建宾.JAVA过程蓝图.计算机科学,Vol.27,No.7,2000,88-91
    [220] 刘建宾,郝克刚.抽象概念结构图到JAVA过程蓝图的平滑过渡及一致性.计算机科学,Vol.28,No.8,2001,89—93
    [221] 刘建宾,郝克刚.一个JAVA可视化面向对象程序设计支持系统的设计.计算机科学,Vol.29,No.4,2002,31—34
    [222] 刘建宾.JAVA过程蓝图到抽象概念结构图的逆向映射与有效性.计算机科学,Vol.29,No.6,2002.134—136
    [223] 刘建宾,郝克刚.抽象逻辑结构图到VB过程蓝图的导出与映射.小型微型计算机系统,Vol.23,No.7,2002,862—864
    [224] 刘建宾.VB过程蓝图到抽象逻辑结构图的逆向映射规则及其双向映射有效性.小型微型计算机系统,已录用即将发表
    [225] 刘建宾,郝克刚.PASCAL过程蓝图.计算机工程与设计,Vol.21,No.6,2000,28-31
    [226] 刘建宾,郝克刚.抽象逻辑结构图导出PASCAL过程蓝图的方法.计算机工程与设计,Vol.22.No.3,2001,24-27
    [227] 刘建宾.PASCAL过程蓝图到抽象逻辑结构图的逆向映射.计算机工程与设计,Vol.23,No.3,2002,1-4
    [228] 刘建宾,郝克刚.一种C++过程的可视化设计方法.计算机工程与应用,Vol.37.No.15,2001,154-156
    [229] 刘建宾,郝克刚.从概念程序表示到C++过程蓝图的映射.计算机工程与应用,Vol.37,No.17,2001,39-41
    [230] 刘建宾.抽象逻辑结构图C++逻辑程序到概念程序的逆向映射.计算机工程与应用,Vol.38,No.2,2002,73-75
    [231] 刘建宾,郝克刚.VFP过程蓝图设计.计算机应用研究,Vol.18,No.2,2001,28-31
    [232] 刘建宾,郝克刚.抽象逻辑结构图到VFP过程蓝图的过渡与映射.计算机应用研究,Vol.18,No.11,2001,19-21
    [233] 刘建宾.VFP过程蓝图到抽象逻辑结构图的逆向映射规则与同步更新方法.计算机应用研究,Vol.19,No.7,2002,13-15
    [234] 刘建宾,郝克刚.VB过程蓝图.现代计算机,2000年10期,9-13
    [235] 刘建宾,郝克刚.C++过程蓝图.第七届联合国际计算机会议论文集,2000.11,1361—1365
    [236] W. F. Opdyke. Refactoring Object-Oriented Frameworks. Ph. D. thesis, University of Illinois, 1992.
    [237] Lance Tokuda. Evolving Object-Oriented Designs with Refactorings. Ph. D. thesis, University of Texas at Austin, 1999.
    [238] Donald Bradley Roberts.Practical Analysis for Refactoring. Ph. D. thesis, University of Illinois, 1999
    [239] Mel (?) Cinn(?)ide, Automated Application of Design Patterns: A Refactoring Approach, Ph. D. thesis, University of Dublin, Trinity College, 2000.
    [240] Martin Fowler. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999.
    [241] Beck, Kent. eXtreme Programming eXplained: Embrace Change. Addison-Wesley Co., Inc, Reading, MA, 2nd printing Nov 1999.
    [242] D. Batory et al., JTS: Tools for Implementing Domain-Specific Languages. In 5th International Conference on Software Reuse, Victoria, Canada, June 1998
    [243] I. Baxter and C. Pidgeon. Software Change through Design Maintenance.In Proceedings of the International Conference on Software Maintenance' 97, IEEE Press, 1997
    [244] Frederick P. Brooks, Jr. The Mythical Man-Month: Essays on software Engineering.
    
    Addison-wesley, 1975
    [245] Alexej Kupin. Design and development of program transformation tool, Master thesis, University of Munich, 2000
    [246] W. Griswold, Program Restructuring as an Aid to Software Maintenance. Ph. D. thesis, University of Washington. August 1991.
    [247] R. Johnson and B. Foote. Designing Reusable Classes. In Journal of Object-Oriented Programming, pages 22-35, June/July 1988.
    [248] Walter Fred Korman. Elbereth: Tool support for refactoring java programs. Master's thesis, University of California, San Diego, 1998
    [249] K. Lieberherr, W. Hursch, and C. Xiao. Object-Extending Class Transformations.Techinal report, College of Computer Science, Northeastem University, 360 Huntington Ave., Boston, Massachusetts, 1991
    [250] Ivan Moore, Automatic inheritance hierarcy restructuring and method refactoring, OOPSLA '96 CA, USA.
    [251] C. Simonyi, "The Death of Computer Languages, the Birth of Intentional Programming", Microsoft Corporation, Sept 1995.
    [252] John David Morgenthaler.Static Analysis for a Software Transformation Tool. Ph. D. thesis, University of California, San Diego, 1997
    [253] PerOlof Bengtsson and Jan Bosch. Haemo dialysis software architecture design experiences. In Proceedings of the International Conference on Software Engineering, pages 516-525, Los Angeles, 1999. ACM Press.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700