Monday, March 25, 2013

Evolutionary Development Model in Software Engineering

This evolutionary development model based on the initial implementation will result in the user comments, so it can be repaired through many versions until an adequate system can be developed. In addition to having separate activities, this model provides feedback to cepatdan simultaneously.There are 2 types in the evolutionary development model:



• evolutionary programming


of this type, the goal is to work with consumers to produce and deliver the needs of end systems to the user / consumer. Development begins with the parts of the system are understood. The system was developed through the addition of appropriate features proposed by the consumer.


• modeling


the second type, the goal of the process is knowing customer needs and develop a better definition of requirements for the system. Models or examples of research focused on the parts of consumers' needs are poorly understood.Important evolutionary programming when it is difficult to make the specification of the system in detail. Some people may agree that all systems fall into this type. However, evolutionary programming is widely used in the development of intelligence systems buatanyang emulate human ability.We can not possibly make a detailed specification for software that rival humans because we do not understand how people carry out their tasks.Evolutionary approach is usually more effective than a waterfall approach to software development that it should immediately be able to meet the needs of consumers. However, in terms of technique and management, this method has a fundamental problem, namely:


• The process is not visible


manager-manager requires "deliverables" that regularly to measure progress. If dikemangkan system will quickly be a waste on making each version of the document that describes the system.• Sisem-systems are typically less structuredThe trend of continuous change will reduce the structure of the software. The evolution of software seem difficult and expensive.


• special skills are rarely held


It is unclear boundaries of normal skill in software engineering that may be effectively used in the model development. Most of the systems developed in this way has been implemented by a small group who have high skills and strong motivation.To solve these problems, sometimes the goal of evolutionary development is developing a system instance. This example is used to understand and menvalidasikan system specifications. This is where the evolutionary development is part of some larger process (such as the waterfall model).Due to these problems, large-scale systems are usually not developed through this model.


Evolutionary development of more appropriate for:


• Development of a relatively small system. The problems of the existing system changes avoided by re-implementing the entire system whenever a significant change is needed. If modeling is used, not too expensive.• Development of a system that has a relatively short masahidup. Here, the system was developed to support some of the activities that are restricted by time. For example, a system may be developed specifically for the launch of new products. Development of the system or parts of large systems which do not allow to express the specification in detail. For example, AI systems and user interfaces.


Resources and Reading material:Dharwiyanti, Sri (2003), Introduction to the Unified Modeling Language (UML), www.ilmukomputer.com
Kristianto, Adi (2003), Design of Information Systems and Application, Media Gava Yogyakarta
Wijana, Katon (1997), Module Software Engineering, Universitas Kristen Duta Yogyakarta Discourse

1 comment:

  1. I found this blog really interesting. I like the way you expressed the content over here. Hope you also like to see Evolutionary Software Process Model

    ReplyDelete