CS605 Software Engineering-II GDB Solution Fall 2012

Triple constraints refer to balancing the project’s scope, time and cost to deliver a quality product. Now if you consider the software development processes you have studied, you will remember that there two types of development life cycle models. Object oriented life cycle models and non object oriented ones. Analyzing the characteristics of both, which of them ensures the development of software within scope, time and specified budget?Justify your answer with reasons.


As compared to the conventional system development techniques, OO modeling provides many benefits. Among other benefits, there are all the benefits of using the Object Orientation. Some of these are:

  • Reusability – The classes once defined can easily be used by other applications. This is achieved by defining classes and putting them into a library of classes where all the classes are maintained for future use. Whenever a new class is needed the programmer looks into the library of classes and if it is available, it can be picked up directly from there.
  • Inheritance – The concept of inheritance helps the programmer use the existing code in another way, where making small additions to the existing classes can quickly create new classes.
  • Programmer has to spend less time and effort and can concentrate on other aspects of the system due to the reusability feature of the methodology.
  • Data Hiding – Encapsulation is a technique that allows the programmer to hide the internal functioning of the objects from the users of the objects. Encapsulation separates the internal functioning of the object from the external functioning thus providing the user flexibility to change the external behaviour of the object making the programmer code safe against the changes made by the user.
  • The systems designed using this approach are closer to the real world as the real world functioning of the system is directly mapped into the system designed using this approach.

Advantages of Object Oriented Methodology

  • Object Oriented Methodology closely represents the problem domain. Because of this, it is easier to produce and understand designs.
  • The objects in the system are immune to requirement changes. Therefore, allows changes more easily.
  • Object Oriented Methodology designs encourage more re-use. New applications can use the existing modules, thereby reduces the development cost and cycle time.
  • Object Oriented Methodology approach is more natural. It provides nice structures for thinking and abstracting and leads to modular design.