Case Study 1: Generative Software Development
Case Study 1: Generative Software Development Advanced Software Engineering –CIS 518 February 17, 2013 Case Study 1: Generative Software Development Generative software development is a development that permits products to be produced automatically through different specifications. This type of development happens in two phases the first phase consist of the domain engineers developing the product down to generating the software mechanisms. Once development is completed, then each individual product is produced.
The normal software development process would normally consist of several different models that have a particular set of task that have to be set forth during a certain point during the process. The software development process happens over a series of activities and depending on the development model will determine what activities will take place at any given time during the process verse the Generative software development happens in two phases with specifications that are already determined at the start of the development.
Developing generative software would benefit an organization because this allows for automation to software development. Many companies develop software but it is so generic and takes intense processes where the whole software is based on coding from scratch which can be possibly be used by any software. With the use of languages like FORTRAN and C will have less of an impact of the software quality and the length and speed of the development will not be effected (Iseger, 2010). Moving toward automation will give developers more room to come up with software solutions and the complier with automatically produce lower assemblers.
This would streamline the organizations software with less downtime, easier maintenance and convert everything to an automated system. With the use of generative software development would save developers time in the end from having to redevelop codes from scratch which risk defects because of incorrect coding etc. The challenges that would be faced with implementing the generative software development process in organization would be to ensure that all software and systems could be integrated and automated without any delays or downtime.
There would also be a problem with saving old data that is not used any longer saving and archiving information without the loss of any data during the transfer. Making sure that the development team understands the new process and how the implementation will take place. These challenges will be easy to overcome first thing would be to test as much as possible before implementation to try and catch any errors that may come up and make sure all of the developers are using and coding the new application with the desired language that was chosen for the application.
Also having a back place to store the data before integrating the data so that just in case the data is lost during the implementation there is a back-up location to access any of the organizations data. Developer will had had several training sessions on the new process and there will be at least three meeting a week during implementation to ensure everyone is on the same page and to make sure that the process is running smoothly to have a successful implementation.
The generative software development process might be applied to an organizations development process to quickly automate the system and create a streamline of applications that work and can be integrated without several phases to follow before implementation can occur. This can be used for organizations that are looking to automate all of their data and system applications to increase productivity enhance the security, provide data back up and data storage.
The organization can use the Domain Specific Modelling, which is an approach that applies generative programming in order to improve the software applications development quality and boost the developer productivity. The move towards 3GL is the key to achieving 400% productivity (Iseger, 2010). The first step to the use of DSM is to identify the solution and come up with a illustration by using critical thinking and relating the problem to the domain. However, the use of a UML is most commonly used to provide a full model solution.
Creating a visual depiction of the application model provides a blue print of the software application which programmers can use these specifications but now in the programming language. When creating the application the use of programming concepts by raising the level of abstractions will help with developing the system concept. The Organization can create the system specifications by using the concepts and rules based on the company’s products produced. Creating the application in the concept of using domains verse classes enhances the applications speed and makes it much easier to develop.
This will allow the application to be more streamlined to the data and make it easier program as a whole. Creating classes all of the data has to somehow link together for the classes to retrieve the correct data but the use of DSM will eliminate that. References Iseger, M. (2010, July 23). Domain-specific modeling for generative software development. Retrieved from http://www. developerfusion. com/article/84844/domainspecific-modeling-for-generative-software-development/ Lawerence Pfleeger, S. (2010). Software engineering. (4th ed. ). Upper Saddle River, NJ: Pearson.