Modeling Software Systems Using Uml 2