A Formal Model for Software Project Management

Absfraet-A model called DesignNet for describing and monitoring the software development process is presented. This model utilizes the AND/OR graph and Petri net notation to provide the description of a project work breakdown structure and the specification of relationships among different project information types (activity. product, resource, and status report information). Tokens are objects with specific properties. Token propagation through structural links allows aggregate information to be collected automatically at different levels of detail. The transition firing is a nonvolatile process and creates new token instances with time dependent information. The typed places, together with connections among them, defines the static construct of a project. Whenever transitions are fired, the project execution history is recorded by the token instances created. Using the model, we have provided definitions for basic properties of a successful project, namely connectedness, plan complete, plan consistent, and well-executed. We have given algorithms for computing these functions and shown that the computing time is linear in the size of the project. This assures that any system based on DesignNet should be able to compute these functions efficiently. Flnally. we have shown how the waterfall We cycle model maps onto a DesignNet and the implications for project planning, cost estimation, project network construction, reinitiation of activities, and traceability across the life cycle. Other life cycle models can be equally treated.

[1]  C. V. Ramamoorthy,et al.  Performance Evaluation of Asynchronous Concurrent Systems Using Petri Nets , 1980, IEEE Transactions on Software Engineering.

[2]  Charles R. Vick,et al.  The Software Development System , 1976, IEEE Transactions on Software Engineering.

[3]  E Horowitz,et al.  SODOS: a software documentation environment-its use , 1986 .

[4]  Ellis Horowitz,et al.  SODOS: A software documentation support environment — Its use , 1985, IEEE Transactions on Software Engineering.

[5]  Bill Curtis,et al.  On building software process models under the lamppost , 1987, ICSE '87.

[6]  Wolfgang Polak,et al.  Iteration in the software process , 1986, ISPW.

[7]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[8]  Robert A. Nelson,et al.  Casting Petri Nets into Programs , 1983, IEEE Transactions on Software Engineering.

[9]  Mark Dowson,et al.  Iteration in the software process; review of the 3rd International Software Process Workshop , 1987, ICSE '87.

[10]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[11]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[12]  Ellis Horowitz,et al.  SODOS: A software documentation support environment — Its definition , 1986, IEEE Transactions on Software Engineering.

[13]  Dennis McLeod,et al.  An Approach to Information Management for CAD/VLSI Applications , 1983, Engineering Design Applications.

[14]  Stephen S. Yau,et al.  Distributed Software System Design Representation Using Modified Petri Nets , 1983, IEEE Transactions on Software Engineering.

[15]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[16]  Nick Roussopoulos,et al.  Timing Requirements for Time-Driven Systems Using Augmented Petri Nets , 1983, IEEE Transactions on Software Engineering.

[17]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.

[18]  Ellis Horowitz,et al.  Fundamentals of Data Structures in Pascal , 1984 .