This paper is concerned with the development of a methodology for object-oriented software development. The intention is to support effective use of a formal model for specifying and reasoning during the requirement analysis and design of a software development process. The overall purpose is to enhance the application of the Unified Modeling Language (UML) with a formal semantics in the Rational Unified Software Development Process (RDP). The semantic framework will define the meaning of some UML submodels. It must identify both the static and dynamic relationships among these submodels. This paper only deals with the requirement analysis activities and models in the RDP. Thus, the focus is the development of a semantic model to consistently combine a use-case model and a conceptual class diagrams to form a system specification. Reasoning and refinement of specifications can then be done by taking object diagrams as system states.