Hi All,
I am using UML currently for business process modeling, few days back I came across
OCL(object constraint language) for elaborating business process, rule & constraint notations,
It feels I am not comfortable using OCL for my models. How Much OCL is important
when we talk about business analysis field?? Is it really to have some advantage by
knowing this language as it is totally an abstraction of OOPS concept.
Any sugesstions!
Kumar Rohit.
Hi Kumar,
I am not aware of many business analysts who use OCL (Object Constraint Language) in their day to day work. The OCL was added to the UML specification in order to provide an unambiguous language for describing additional information about UML models and for querying UML models. OCL might be more relevant to systems analysts who use UML to create functional and technical specifications - though I'm not sure, in practice, how useful that would be in most scenarios.
If the consumer of the model is human being (stakeholder, end user, etc.) then OCL would be an overkill and too hard to read. Consider using some form of pseudo-code/structured English.
However, if the consumer of the model is a computer then OCL becomes very important. Code generation is one application of OCL. The systems analyst would create the UML models and further describe them using OCL (Object Constraint Language). This way code generation software can transform the model into code. The advantage if OCL is that it's not implementation specific. Given the right tool you can transform UML+OCL into C++, Java, C#, etc.
So - my gut feeling is that, at this time, OCL would not be a very useful tool for a business analyst.
- Adrian
brought to you by enabling practitioners & organizations to achieve their goals using: