Conceptual modeling is a crucial software development activity for both Software Engineering and Knowledge Engineering. Each discipline, however, has developed its own techniques for conceptual modeling, and there is no agreement about a common set of techniques that can be used in both disciplines. This chapter will describe such techniques, paying special attention to the more recent and innovative ones, as well as to the concepts shared by the techniques used in the two disciplines.
The chapter will, therefore, outline the field of conceptual modeling within these two disciplines. Although the situation in the field is satisfactory, as can be inferred from the review conducted, there is still a lot of work to be done. Indeed, a series of shortcomings besetting the different techniques will be identified and an alternative perspective will be described, which points to a way of quieting such objections.