An Overview of Model-Driven Software Developing
For software engineering students, it is important to acquire the ability of doing technical works which are related to computer science, such as programming (C, C++ and Java). However, this is not enough. In fact, the main difference between students majored in computer science, IT and we software engineering students is that we should be able to do a higher level work, such as software management and development.
Before doing this course, my understanding about software development is coding, debugging, testing and documentation, based on the project I am doing this year. Not until I started to learn this course did I realize the superiority of this software developing method. In this essay, I am going to talk about my understanding about Model Driven Software Development (MDSD), including the process, main advantages.
To begin with, one of the apparent advantages of MDSD is generating code automatically. During the workshop, we found that once we finished identifying the state model diagram and domain chart, if all the state and domain can be identified, then the completed, executable java code could be generated. When I saw the code running on the lab’s computer
However, the above prospect is only one minor advantage of MDSD, because coding is only a small part of software developing. In fact, it has many potential good things.
- MDSD is faster
From the workshop, it is known that the abstraction level of MDSD ix higher then the level of traditional programming languages, for the reason that this model can generate code and execute the model. According from Hann(2009), the model in higher abstraction level has a much smaller scale compared with the model which is in a lower level of abstraction. In this case, software developers could build more than one function at the same time.
- MDSD is more cost effective
When it comes to the cost issue, there are two main points. The first reason is that MDSD saves time obviously, which has been mentioned above. This can reduce the expenditure from space, facilities and salaries. The second reason is that the model can help developers find the mistakes and error stages. It is common knowledge that the earlier you find the drawback, the less loss you will be suffer from.
- MDSD can increase the software quality
We can find our errors or defects from the diagrams, then these mistakes could be fixed simply by modifying the diagram. For example, during the lab workshop, I found that there was an unexpected event ignored in the PedestrianCrossing state model, then we managed to fix it by only adding a new transaction. As lone as software developers understand these diagram, then the problems could be solved effectively.
Base on the above discussion, the advantages of MDSD is apparent. But this does not mean that we could use this method all time while developing a project.
In the following portfolio, I will talk about each diagram respectively.
Reference
JOHAN DEN HAAN Read more at: http://www.theenterprisearchitect.eu/blog/2009/11/25/15-reasons-why-you-should-start-using-model-driven-development/. 2009. 15 reasons why you should start using Model Driven Development. [ONLINE] Available at: http://www.theenterprisearchitect.eu/blog/2009/11/25/15-reasons-why-you-should-start-using-model-driven-development/. [Accessed 25 September 14].
Reference
JOHAN DEN HAAN Read more at: http://www.theenterprisearchitect.eu/blog/2009/11/25/15-reasons-why-you-should-start-using-model-driven-development/. 2009. 15 reasons why you should start using Model Driven Development. [ONLINE] Available at: http://www.theenterprisearchitect.eu/blog/2009/11/25/15-reasons-why-you-should-start-using-model-driven-development/. [Accessed 25 September 14].


没有评论:
发表评论