Document
Simplified O-O re-design approach : deriving object oriented design form traditional procedural design
Publisher
Sultan Qaboos University
Gregorian
2014
Language
English
English abstract
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.
Member of
Resource URL
Arabic abstract
أثبت هندسة البرمجيات بمنهج موضوعي التركيز أنها أداة قوية في تصميم البرمجيات على مستوى التصاميم الضخمة. لكنها تأتي بالعديد من الرموز و الأشكال البيانية التي لم يعتادها مهندسو البرمجيات التقليديين. إن التغيير في منهجية التصميم من المنهجية التسلسلية التقليدية إلى تلك المركزة على المواضيع بالإمكان أن تكون مكلفة، كما أنها تنطوي على العديد من التقنيات و الأساليب الجديدة. هذه الأطروحة تتناول منهجية على هيئة خطوات لهذه النقلة؛ حيث أنها تتناول تطبيق عملية على تصميم البرمجية تحليل الشبكات الاجتماعية حيث تم استخلاص المواضيع أو العناصر المكونة للبرمجية من المكونات الأساسية في تصميم النظام.
الهدف الرئيسي من التغيير هو ما تقدمة المواضيع من مرونة في التعامل. حيث بالإمكان إعادة إستخدامها . كذلك فان خصوصية كل موضوع تجعل تحديد استخداماته أدق و أكثر تخصصية.
هذا التغيير ممكن من خلال التعرف على المكونات الرئيسية للنظام، ثم تحليل هذه المكونات الى مكوناتها الأصغر و العمليات التي تتضمنها. ومن خلال المكونات الأصغر يتم استخلاص المواضيع و العمليات التي ترتبط بها. كذلك التعرف على العلاقات التي تربط المواضيع بعضها ببعض.
من خلال دراسة التغيير وجد أنه يعتمد على الاهتمامات الرئيسية للمؤسسة التي تحتضن النظام المراد تغيير تصميمه. كذلك فإن مقدار التجريد و العزل بين اختصاصات المكونات في التصميم يتحكم في الاستفادة من التقنيات المركزة على المواضيع مثل: الوراثة البرمجية. حيث يتم تصميم مواضيع جديده من تلك الناتجة من عملية التغيير.
تكمن أهمية الأطروحة في أنها تبين أن معرفة فريق التصميم بأسس هندسة البرمجيات الموضوعية التركيز تؤثر
على عملية التغيير. كذلك أن درجة التجريد في المواضيع الناتجة من عملية التغيير تؤثر على مقدار الاستفادة منها من خلال التقنيات موضوعية التركيز. كما أن خطوة التغيير هي خطوة وسطية و التصميم الناتج بالامكان استغلاله في انتاج تصاميم أخرى بتقنيات هندسة برمجيات مختلفة.
الهدف الرئيسي من التغيير هو ما تقدمة المواضيع من مرونة في التعامل. حيث بالإمكان إعادة إستخدامها . كذلك فان خصوصية كل موضوع تجعل تحديد استخداماته أدق و أكثر تخصصية.
هذا التغيير ممكن من خلال التعرف على المكونات الرئيسية للنظام، ثم تحليل هذه المكونات الى مكوناتها الأصغر و العمليات التي تتضمنها. ومن خلال المكونات الأصغر يتم استخلاص المواضيع و العمليات التي ترتبط بها. كذلك التعرف على العلاقات التي تربط المواضيع بعضها ببعض.
من خلال دراسة التغيير وجد أنه يعتمد على الاهتمامات الرئيسية للمؤسسة التي تحتضن النظام المراد تغيير تصميمه. كذلك فإن مقدار التجريد و العزل بين اختصاصات المكونات في التصميم يتحكم في الاستفادة من التقنيات المركزة على المواضيع مثل: الوراثة البرمجية. حيث يتم تصميم مواضيع جديده من تلك الناتجة من عملية التغيير.
تكمن أهمية الأطروحة في أنها تبين أن معرفة فريق التصميم بأسس هندسة البرمجيات الموضوعية التركيز تؤثر
على عملية التغيير. كذلك أن درجة التجريد في المواضيع الناتجة من عملية التغيير تؤثر على مقدار الاستفادة منها من خلال التقنيات موضوعية التركيز. كما أن خطوة التغيير هي خطوة وسطية و التصميم الناتج بالامكان استغلاله في انتاج تصاميم أخرى بتقنيات هندسة برمجيات مختلفة.
Category
Theses and Dissertations