Software engineering, the study of disciplined development of software systems, has reached the point where using traditional techniques cannot make a significant breakthrough. Applying artificial intelligence (AI) techniques and object-oriented concepts to software engineering, considered as a major promising approach, has now become a current trend. Software engineering environment, which gained popularity in the past decade, is an integrated solution that could solve many software engineering problems at one time. In this dissertation, we present a knowledge-based framework to facilitate the development of software engineering environments (SEE).;The knowledge-based framework consists of a software development base and methodology. The software development base contains several components including a knowledge classification method, an object-oriented knowledge representation scheme, object specification languages, and a knowledge acquisition method. This methodology can guide software engineers through the software life-cycle, particularly when designing SEE. Issues that involve the construction of a software engineering environment are discussed.;The resulting SEE incorporates many software tools. It stores extensive knowledge classes that cover broad application areas throughout the entire software life-cycle. The knowledge representation model is formalized by four different object grammars. Through these grammars, four different types of objects are formally specified, which in turn will represent all kinds of knowledge in SEE. The knowledge acquisition methods are accomplished by grammar-directed object editors that acquire different types of objects from the software engineer throughout the entire software life-cycle by incremental, interactive, full-screen interviewing. Using the grammar-directed object editors also ensures the grammatical correctness of object programs.;The knowledge-based framework can reduce development effort of software engineering environments and provide support to users of such environments. The completed SEE will be flexible enough for future extension and changes. |