Since the birth of software engineering, it always are recognized as one pure
engineering subject, therefore, the foundational scientific problems are not
paid much attention. This paper proposes that Requirements Analysis, the kernel
process of software engineering, can be modeled based on the concept of “common
knowledge”. Such a model would make us understand the nature of this process.
This paper utilizes the formal language as the tool to characterize the “common
knowledge”-based Requirements Analysis model, and theoretically proves that :
- the precondition of success of software projects regardless of cost would be
that the participants in a software project have fully known the requirement
specification, if the participants do not understand the meaning of the other
participants; 2) the precondition of success of software projects regardless of
cost would be that the union set of knowledge of basic facts of the
participants in a software project can fully cover the requirement
specification, if the participants can always understand the meaning of the
other participants. These two theorems may have potential meanings to propose
new software engineering methodology.