الملخص الإنجليزي
Object oriented software engineering has proven to be a powerful tool in developing huge enterprise libraries. Yet, it comes with new notations and a number of diagrams, which traditional software engineering practitioners are not well acquainted with. The change of the development approach from a traditional approach to an 0-0 approach can prove to be costly, and incorporates a lot of new techniques and procedures. This thesis identifies the steps in moving an application from a traditional design paradigm to an object-oriented paradigm. It uses an example of Social Network Analysis tools where modules were decomposed to objects and operations, implementation changed, data storage was changed, and free relations between objects were introduced in the final OO application.
The main purpose for the change was the versatile nature of objects. Using the ready traditional design will cut the time for the designers and developers alike. The introduction of objects will lead to more reusability. The OO design provides clearer separation between objects; hence there is more specialization.
This move can be achieved by identifying the main modules in the original design. Then they are decomposed into processes and components. In each component, there is a need to identify objects and operations, and define possible relations between objects. On the data storage side, each derived object's data should stand alone in a relational data base. Relations between objects are represented as pair of keys in relation tables.
Studying the move, it was found that deriving the new OO design depends on the main interests of the hosting organization. The level of abstraction of the original design dictates the change. By using OO techniques such as inheritance and such would be used for creating specialized components from the new design.
The findings are significant because they show that the team knowledge affects the move greatly. The degree of abstraction in an object is essential for future benefit of the OO design. The move to an OO design is an intermediate step. It can be the basis for more specialized solutions using the produced objects.