The main aim of this chapter is to present and discuss a set of modeling and specification techniques, in what concerns their ontology and support in the requirements representation of computer-based systems. A systematic classification of meta-models, also called models of computation, is presented. This topic is highly relevant since it supports the definition of sound specification methodologies in relation to the semantic definition of the modeling views to adopt for a given system. The usage and applicability of Unified Modeling Language (UML) diagrams is also related to their corresponding meta-models. A set of desirable characteristics for the specification methodologies is presented and justified to allow system designers and requirements engineers to more consciously define or choose a particular specification methodology. A heuristic-based approach to support the transformation of user into system requirements is suggested, with some graphical examples in UML notation.Computer-based systems integrate, as information processing sub-systems, one or more computing systems able to capture, store, process, transfer, present and manage information. Within the design of computer-based systems, this justifies the need for the incorporation of several technological entities: (1) software, firmware, and (analog and digital) hardware, to process and store information; (2) communication network services to transport information; (3) sensors and actuators to interact with the physical environment; and (4) human-machine interfaces to exchange information with human operators. Although computer-based systems can be strictly based on computer technologies, they normally include other entities such as human operators, organizational subsystems, documentation, and manuals.Since computer-based systems are, by nature, heterogeneous, modeling and specifying their requirements demands a holistic approach.A requirement can be defined as "something that a client needs." From the point of view of the system designer or the requirements engineer, a requirement could also be defined as "something that must be designed." The IEEE 610 standard [21] defines a requirement as: (1) a condition or capability needed by a user to solve a problem or achieve an objective; (2) a condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed documents; (3) a documented representation of a condition or capability as in (1) or (2).