Friday, August 28, 2009

Modeling : from Business Process to Software

What is so special on modeling? Why we often hear : business process modeling and also software modeling?
Before going to far, we must understand that modeling can be interpreted as simplication of real problem or we can say in other words abstraction because we emphasize on most important features than more detail features. It is not meaning that we dispel detail features, but we manage them in different perspectives. It is best recommended that we have many views so we can use them in various purposes.

The special ones about modelings are their functions.
First, they can reduce complexity from business or software complexity. It is related with how human can handle and memorize problems in the same time.
Second, they can increase our understanding on problems that we face. As our understanding increase, we can find many ideas to overcome them.
Lastly, they can be used as communication tool among all related stakeholders. Solving problems mean we need to communicate to our clients, our team and also our stakeholder. We need mean to do that and the model is the answer.

From software engineering perspective there are some questions in using models to help making software :
1. Do we need both business process and software modeling?
2. Can we use only business process modeling?
3. Is software modeling enough to product software without business process modeling?

Here are some of the answers :
1. We can use firstly Business Process Modeling Notation( BPMN, de-facto Business Process Modeling ) and than be integrated with Unified Modeling Language( UML, de-facto Software Engineering Modeling ). The problem is this approach is becoming uncommon, because nowadays, we can use BPEL instead of UML to make software.
2. It means we use BPMN and latter we use BPEL. I believe we have still face so many technical problems on formal and semantics completeness due of business process modeling.
3. We can extend UML to provide more on business process modeling, for example : using business use case model and extend activity diagram notation to model more detail on business process entities.

Ultimately, i believe this is not the end of our problem in modeling because modeling is not capture all aspect in problem domain and it is a nature that changing always happens in our problem domain. But for now, i have to move on other topic in software engineering.

1 comment:

allen perumal said...

Hey, nice site you have here! Keep up the excellent work!


Agile Software Development