摘要
探索新的软件开发方法和技术以提高计算机软件的生产率和质量一直是软件工程学研究的一个焦点。以软件过程为中心的时代正在到来,并且以研究软件过程为内容的软件过程技术成为控制和管理软件质量的研究热点。在软件过程这段时期里面,出现了关于软件过程的三个流派:ISO-9000,ISO-SPICE,CMM。从这三个质量评价和保证体系可以看出,作为软件过程技术研究的核心对象的软件过程的正确定义、正确的分析、正确的重用和正确的评价,都是关系到软件过程乃至软件质量的重要方面。因此,本文从CMM模型出发,综合各种流派的共同特点——软件过程的观点,使用软件过程技术和工作流技术对软件过程进行建模、分析和自动运行。本文的主要工作和创新有:
(1)综合考察了各种以软件过程为中心的软件工程环境的概念、研究状况,软件过程技术的发展,提出了标准软件过程框架,指出了软件过程模型的现状及其问题,给出了问题的原因。同时还概述了工作流管理系统的体系结构。
(2)提出了将软件过程模型和工作流管理技术相结合的一个新的PSEE的方案。首先是介绍了当今的软件过程技术的研究状况和PSEE环境,本文分析了PSEE环境和工作流管理系统的特点认为,工作流系统的几个主要模块的主要功能在体系结构的层次上很好地解决了以过程为中心的软件工程环境PSEE的重要问题,是对PSEE的过程建模和自动化的非常好的支持,本文基于上述原因,采用了工作流管理系统的方案来构筑PSEE的建模和运行机制。
(3)提出了软件过程网,分析了它的性质,并应用XML语言对其进行了描述,从而支持软件过程网与其他过程建模系统的互译。在文中将Petri网用作过程建模的基础,扩展了Petri网,应用形式化的基础和其图形表示的特点,进行软件过程建模。分析了模型运行时的路由问题,提出了一个表达式语言支持过程模型的运行。
(4)开发出了支持以上理论模型的原型系统Softev Suite。分析了系统结构和使用的新技术,以及应用流程,讨论了过程建模、资源分配、消息管理器、引擎、监控器和客户端运行等重要模块的功能、设计思想,以及和模块之间的关系,最后讨论了系统的实用意义。
It is always a focus of Software Engineering's researches that we explore new software developing methods and techniques, to improve the productivity and quality. As the software process-centered epoch is coming, software process technology, whose research object is software process, is a hotspot on controlling and managing software quality. During this time, there are 3 schools: ISO-9000, ISO-SPICE, and CMM. They find that correct definition, reuse and appraisal of software process, a core aspect of software process technology research, are crucial to software process and quality. From the CMM's point, this paper has adopted a commonsense of those schools' views of software process, modeled, analyzed and automatically run software process by taking best use of software process technology and workflow technology. The work of this paper are mainly focused on:
(1) Review many kinds of PSEE's conception, the status of researches. Review the
development of the Software Process Technology, carry out a standard software process framework, point out the status of current software process models, its problem, and the reason. And summarize the architecture of the Workflow Management System.
(2) Bring out a brand-new PSEE solution, which combines software process model and
workflow management system together. First, introduces current status of software1 process technology research and PSEE. After that, this paper analyses characteristics of PSEE and workflow management system, and concludes that functions of main modules of workflow management system solve those important problems of PSEE well, in a level of system architecture. It gives great support to process modeling and automation. This paper adopts workflow management system to construct a mechanism of modeling and running of PSEE.
(3) Brings out Software Process Net, analyses its attributes, and describes it with XML, which supports SPNet and its interchanging with other software process modeling technology. In this paper, basing software modeling on Petri net, we extend Petri net to model software process, taking advantage of its formal basis and its inherent graphic representation. Then analyze the routing strategy of model's runtime, carry out an expression language to support running.
(4) Softev Suite system, which supports the theoretic model above, has been developed:
We analyzes its system architecture and introduces the new technologies adopted. Analyzes the functions of modules such as Model, Resource, Messager, Engine, Supervisor and Client, as well as the relationships between them. At last, their practice areas are discussed.
引文
[1] IEEE Standard for a Software Quality Metrics Methodology, IEEE Std 1061:1992, 1992
[2] Mark C. Paulk, Bill Curtis, Mary Beth Chrissis, Charles V. Weber, Capability Maturity Model for Software, Technical Report SEI-93-TR-024, Software Engineering Institue, 1993
[3] 潘秋菱,基于过程和度量的软件质量管理方法的研究,博士学位论文,合肥工业大学 , 2002
[4] Fourth International Software Process Workshop: Representing and Enacting the Software Process, 1988
[5] Workflow Management Coalition. The workflow reference model. Technical Report, WfMC-TCOO-1003, Hampshire: Twente, 1996
[6] Van der Aalst W M P. Structural characterizations of sound workflow nets. Technical Reports, 96/23, Eindhoven: Eindhoven University of Technology, 1996
[7] Programming Systems Laboratory, Marvel 3. 1. 1 Manuals, Columbia University, New York, 1995
[8] G. Junkermann, B. Peuschel, W.Shafer and St. Wolf., MERLINE: Supporting Cooperation in Software Development Through a Knowledge-Based Environment. In Software Process Modeling and Technology, 1994, P103-129
[9] C. Montangero and F. Scarselli. Software Process Monitoring Mechanism in OIKOS, International Journal of Software Engineering and Knowledge Engineering, 1994, 4(4) : 481-499
[10] S. Arbaoui and F. Qquendo. PEACE: Goal-Oriented Logic-Based Formalism for Process Modeling, In Software Process Modeling and Technology, P249-277, 1994
[11] C. Godart and D. Dietrich. Stepwise Specification of Interactive Processes in COO, In Proceedings of the 4~(th) European workshop on software Process Technology, 1995,P220-239
[12] W. Deiters and V. Gruhn. The FUNSOFT Net Approach toSoftware Process Management. International Journal of Software Engineering and Knowledge Engineering, 1994, 4(2) : 229-256
[13] SLANG Process Modeling Language Reference Manual ver 3. 0, 1995
[14] G. T. Heineman and G. E. Kaiser. Integrating a Transaction Manager Component with Process-WEAVER, Technical Report CUCS-012-94, Columbia University Department of Computer Science, May, 1994
[15] D. Avrilionis, P.Y. Cunin, and C. Fernstrom. OPSIS: A View Mechanism for Software Processes which Supports their Evolution and Reuse, In Proceedings of 18th International Conference on Software Engineering, IEEE Computer Society Press, March 1996, P38-47
[16] L. Groenewegen and G. Engels. Coordination by Behavioural Views and Communication Pattern. In Proceeding of the 4th European Workshop on
Software Process Technology, 1995, P189-192
[17] L. Osterweil, Software Processes are Software too. In Proceedings of the 9~(th) International Conference on Software Engineering, 1987, P2-13
[18] S. M. Sutton, D. Heimigner and L. J Osterweil. APPL/A: A Language for Software Process Programming. ACM Transactions on Software Engineering and Methodology, 1995, 4(3) 211-286
[19] Jen-Yen Jason Chen, CSPL: An Ada95-Like, Unix-Based Process Environment, the IEEE Transactions on Software Engineering, vol.23, no. 3, P171-184, 1997
[20] R. F. Bruynooghe, R. M. Greenwood, I. Robertson and B. C. Warboys, PADM: Toward a Total Process Modeling System, In Software Process Modeling and Technology, P293-334, 1994
[21] Workflow Management Coalition. Workflow Management Coalition Terminology and Glossary, WfMC-TC-1011, P11, 1999
[22] Workflow Management Coalition. Interface 1: Process Definition Interchange Process Model, WfMC TC-1016-P, 1999
[23] Van der Aalst W M P. Structural characterizations of sound workflow nets. Technical Reports, 96/23, Eindhoven: Eindhoven University of Technology, 1996
[24] Van der Aalst W M P. Three Good Reasons for using a Petri-net-based Workflow Management System. In: Navathe S, Wakayama T eds. Proceedings of the International Working Conference on Information and Process Integration in Enterprises (IPIC'96) . Cambridge, MA, Kluwer Academic Publishers, 1996. 179-201
[25] S. Das, K. Kochut, J.Miller, A. Sheth, D. Worah ORB Work: A Reliable Distributed CORBA-based Workflow Enactment System for METEOR2. Large scale Distributed Information Systems Lab, The University of Georgia, 1997
[26] Craig Schlenoff, The Process Specification Language (PSL) Overview and Version 1. 0 Specification. Gaithersburg, MD 20899, National Institute of Standards and Technology, 1992
[27] C. A. Petri. Kommunikation mit Automaten. Ph.D. thesis, Institut fur instrumentelle Mathematik, Bonn, 1962.
[28] W.M.P. Van der Aalst, G. De Michelis, and C. A. Ellis, Workflow Management: Net-Based Concepts, Models, Techniques and Tools (WFM1 98) . UNINOVA, Lisbon, Portugal, 1998
[29] W3C Extensible Markup Language (XML) 1. 0. REC-xml-19980210, 1998
[30] Workflow Management Coalition. Workflow Standard-Interoperability Wf-XML Binding, WFMC-TC-1023, 2000