Essays.club - Get Free Essays and Term Papers
Search

Evaluating the Feasibility of Adopting Models in Software Engineering Process

Autor:   •  August 17, 2017  •  1,881 Words (8 Pages)  •  207 Views

Page 1 of 8

...

These factors explain us that model driven development is feasible.

AUTOMATION OF CODE GENERATION

In Model driven development, models are the primary artifacts. Code is generated from model(Jakab 2012). But, we have to keep in mind that code generation is not the only aim of model driven development. If the approach is code-centric then the developers are required to manually write the code, which makes the task complex. The complexity increases as the number of developers are increasing to develop a software product. Synchronizing the individually developed code by the developers from different locations or same location takes more time and it also costs more. Sometimes the same code is written many times, which increase the size of the software. After synchronizing the overall code and getting rid of the same code, the final code should be examined. The testing process requires more time and more people are required for testing.

But, Model driven development focuses on models. The automation of such recurring tasks can be attained by applying models. There are many code generators available in the market. The code can be fully generated or partially generated. It depends on the tool the company is using to generate the code. The information is extracted from the models by the generator and then transforms that information into the code. And so the code is associated to the framework and it is compiled. If the code is not fully generated, then the code should be written manually. Models should be created with high cohesion and low coupling.

Even though the code is generated from models, this does not mean that models supersedes writing code. There are some tools which can generate code fully. Fully, in the sense the generated code is perfect and there is no need of composing the code manually. But, these tools are not applicable in all environments or to develop some softwares. The further study of developing these code generators is needed, where those code generators can fully generate code.

CONCLUSION

Software companies are facing lack of abstraction and complexity issues in developing software. To face these challenges in this modern world, I conclude that models should become the end expression of software engineering. Models should be created in each phase of the software engineering process. Cost effective, high quality products can be developed in less time by using model driven development approach. MDD is less prone to errors and can adopt change.

The abstraction level is increased by separating design and the data. Developers are required to concentrate on implementation rather than code. Documentation and code generation is developed from models. Coding efforts are reduced, thereby increasing the speed of development. Depending on the size of software code is automatically generated which varies from hundreds to thousands of lines in less time. Debugging the generated code from models is easy to test by using various tools which are available in the market. Collaboration of developers is made easy because of the code consistency. The information stored in the models is easy to process and interpret. Because of the same mode or pattern of code, developers can easily interpret and use some other developer's code.

I have discussed how the feasibility of model driven development is assessed. From my observations, I conclude that model driven development is feasible. Productivity of software is increased by applying models. The time required to generate and test code is less. And also the time required to migrate to a new platform is also very less, which explains that MDD systems are portable. Maintenance is also a very easy task since the code is automatically generated and it is easily understandable to the new staff.

I conclude that even though code is generated automatically from the models it does not mean that models supersede writing code. This may be changed in the future, i.e., models may supersede ultimately writing code. The code generators are not efficient to generate code in full. Fully in the sense there should be no need of writing the code manually. There are code generators which can generate code completely, but it cannot be applied to all the platforms.

Further study is needed to implement code generators that can effectively generate code completely. Model driven development should be adopted in software companies to raise the level of abstraction and reduce complexity. By applying models in software engineering process quality of the product is increased and the change can be adopted in the future.

REFERENCES

Bettin, Jorn. (2004). "Model-driven software development." MDA Journal 13(4).

Jakab, Matej.(2012) "The problem of model-code consistency and Model Driven Development."

Krogmann, K. and S. Becker (2007). A Case Study on Model-Driven and Conventional Software Development: The Palladio editor. Software Engineering (Workshops).

Manset, David, H. Verjus, R. McClatchey and F. Oquendo (2006). "A formal architecture-centric model-driven approach for the automatic generation of grid applications." arXiv preprint cs/0601118.

Mraidha, Chokri, S. Robert, S. Gerard and David Servat (2004). MDA Platform for Complex Embedded Systems Development. Design Methods and Applications for Distributed Embedded Systems, Springer: 1-10.

Ozgur, T. (2007). "Comparison of Microsoft dsl tools and eclipse modeling frameworks for domain-specific modeling in the context of the model-driven development." School of Engineering. Ronneby, Sweden, Blekinge Institute of Technology: 56.

Pressman, R. S. (2010). Software engineering: a practitioner's approach, Eighth edition, McGraw-Hill Higher Education.

Sendall, S. and W. Kozaczynski (2003). Model transformation the heart and soul of model- driven software development.

Swithinbank, Peter, M. Chessell, T. Gardner, C. Griffin, J. Man, H. Wylie and L. Yusuf.(2005) "Patterns: Model-Driven Development Using IBM Rational Software Architect."

...

Download:   txt (12 Kb)   pdf (94.4 Kb)   docx (13.5 Kb)  
Continue for 7 more pages »
Only available on Essays.club