Return to search

Controlling the software development process through the techniques of software process modelling and formal methods

Over the years the computing industry has enjoyed increasing levels of integration within the software which it employs: data integration; tool integration; human computer interface integration; etc. as well as the environment in which the software is used, ie. integration across a heterogeneous environment. In fact, it is the case that environments have been developed to further enhance the development of integrated software. 1bese are generally referred to as software development environments, or software factories. However, until recent years no comparable effort had been placed upon the achievement of similarly high levels of integration relating to the process by which that software is developed. Whilst environments offer the ability to share data, utilise the same tools, and present a common interface for using the tools, little regard had been given to how such integrated environments would be used by the members of the software development team in order to realise an integrated end product. It is now recognised that integration is required in the actual process of software development. Whilst software development methods such as SSADM and Yourdon go some way to achieve this, by specifying the tasks and activities required of a software development process, they are not sufficient to realise an integrated development process and hence an integrated end product. Achieving such integration within the process of developing software is the subject of the research reported in this thesis. Investigations into effecting Activity Integration, by which it is referred, reveal that current thinking is to model the activities of the software development process, providing an accurate representation of how the activities specified within that software development process would be carried out within a specific development environment. In doing so accurately depicting: tasks which depend on the completion of others; tasks which are independent of those around it; in addition to features such as iteration and selection. The product of this activity is generally referred to as a Software Process Model. Software process models have the capability of guiding members of a software development team through the activities of the software development process. It is thought that such guidance endows software process models with an advantage over existing techniques. Traditionally manuals are created to instruct developers in the use of a particular tool. Consequently in an environment consisting of many tools, many manuals are required. Additional guidance is required in the actual process of software development, method support. Again this is traditionally in the form of a manual, typically written for the purpose of instructing on all aspects of the complete method. In reality an organisation is likely to tailor the method of software development to meet the needs of an individual software development project. Accordingly what currently exists may be summed up as a 'ragbag' of manuals in addition to instructions on a general method. It is not surprising that activity integration is rarely achieved.In this work the analysis phase of the approach to software development advocated by SSADM will be represented as an informally specified software process model. To illustrate fully this modelling activity the environment is assumed to be one in which development takes place in a distributed fashion, necessitating modelling of the features inherent within such an environment, namely: sequence; selection; concurrency and iteration. Software process models will be shown to offer the capability of providing an accurate representation of how the activities of the analysis phase of SSADM may be executed within a distributed development environment. Furthermore, they will be shown to offer the flexibility to tailor a general method to meet the needs of a specific development project, in doing so providing the capability for the realisation of activity integration. However, this informal modelling technique will be shown to be inadequate for the realisation of activity integration. Although the resultant software process model is able to add considerable visibility and clarity to the 1Mb of the software development process, due to its informal nature it is not able to offer guarantees that the modelled process will be adhered to, a requirement for effecting activity integration. To overcome this issue, formal specification techniques are investigated. It will be shown that formal specification techniques, as a result of their rigorous, mathematical basis, when used to specify the 1Mb and activities of a software process model, are able to provide guarantees that the modelled process will be adhered to, and hence that activity integration will be realised. Furthermore, the ability to reason about a design and to prove properties of it, offered by formal techniques, enables guarantees to be made that the eventual implementation will be able to meet its intended aims.

Identiferoai:union.ndltd.org:bl.uk/oai:ethos.bl.uk:241538
Date January 1994
CreatorsProudlock, Kimberley M.
PublisherUniversity of Portsmouth
Source SetsEthos UK
Detected LanguageEnglish
TypeElectronic Thesis or Dissertation

Page generated in 0.0327 seconds