This chapter describes the foundation and properties of object-oriented software measures. Many software measures for object-oriented applications have been developed and tested in the development environment. However, the process of defining new measures is still alive. The reason for such development lies in difficulties associated with understanding and maintaining object-oriented applications. It is still difficult to relate the measures to the phenomena we want to improve. Do our measurements indicate problems in reliability, maintenance, or too much complexity of some portions of the application? In order to reduce the complexity of software, new development methodologies and tools are being introduced. An example of the new approach to development is separation of concern. The tools, such as Aspect/J (Kiezales et al., 1997) or Hyper/J (Ossher & Tarr, 1998), facilitate the development process. There does not seem to be a sound metrics suite to measure complexity and efficiency of applications developed and coded with Aspect/J or Hyper/J. In this chapter, we attempt to review the current research into object-oriented software metrics and suggest theoretical framework for complexity estimation and ranking of compositional units in object-oriented applications developed with Hyper/J.