The rest of this dissertation is organized as follows: In Chapter Two we present background information in the form of a brief historical perspective of thirty years of related software engineering research. Specifically, Chapter Two covers areas of software visualization, hypertext and hypermedia, object-oriented methods, and AI inference diagrams. Chapter Three discusses software uncertainty in detail, including sources of uncertainty and uncertainty in development phases. In Chapter Four we present an uncertainty modeling technique called Bayesian Belief Networks and justify its applicability to software engineering situations. Several examples of Bayesian networks are included. Chapter Five describes the architecture and components of the CEquencer system, selected as case study for this dissertation. In Chapter Six we present results and impressions from our study of uncertainty modeling at Beckman. Chapter Seven describes three specific applications of Bayesian networks in practice as well as related work in uncertainty modeling. Finally, Chapter Eight presents conclusions and future work.
In conclusion of the introduction, we wish to point out that uncertainty abounds not only in software development but also in most engineering and scientific pursuits as well as many everyday situations (For uncertainty in everyday situations see, for example, Stefik [Ste95], pp. 460.). Detailed exploration of uncertainty in general is, therefore, beyond the scope of this dissertation. Nevertheless, we hope that the maxims, techniques, tools, and results described here will help identify research opportunities as well as provide a solid foundation for future work in software uncertainty modeling. We encourage readers to consider occurrences and consequences of uncertainty in their own domains of interest and expertise. Our future plans include additional modeling of software uncertainties at Beckman as well as exploring other domains where uncertainty modeling may be useful. We are particularly interested in ``Bayesian Internets,'' i.e., the modeling of information retrieval uncertainties on the Internet and WWW.