System modeling has a unique role in the development of a complex software system. The Unified Modeling Language (UML) provides a framework for modeling software systems, which is widely used across the software development community. Although using the UML to facilitate modeling is a step in the right direction, it is unclear whether this is the most productive environment, since various types of impediments that have been reported by UML users hinder the effectiveness of UML modeling as part of the development process. In order to assess the adequacy and sufficiency of UML modeling in order to maximize the effectiveness and benefits of system modeling, we examined some core UML modeling capabilities and compared them with those of an alternative modeling formalism, OPM (object-process methodology), a system modeling and development paradigm which specifies the system's structure and behavior in a single, unified model. The results of our study show that by using an alternative modeling method (OPM) it is possible to model the same system while using a much more succinct set of diagrams and notations to represent the same information. This ability increases the effectiveness of system modeling. However, the granularity of low-level code-oriented information conveyed, by the UML diagram seems to be higher than that of OPM hence being more suitable for programmers.
['Shalom Cohen', 'Avi Soffer']
Scrutinizing UML and OPM Modeling Capabilities with Respect to Systems Engineering