Software architectural concept in object-oriented use-case driven design which structures the classes according to use case realization