Extracting Object Oriented Software Architecture from C++ Source Code

Software architecture strongly influences the ability to satisfy quality attributes such as modifiability, performance, and security. It is important to be able to analyse and extract information about that architecture. However, architectural documentation frequently does not exist, and when it...

Full description

Saved in:
Bibliographic Details
Main Author: Mresa, Ali Hussein A.
Format: Thesis
Language:English
English
Published: 2000
Subjects:
Online Access:http://psasir.upm.edu.my/id/eprint/9650/1/FSKTM_2000_6_IR.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
id my-upm-ir.9650
record_format uketd_dc
spelling my-upm-ir.96502023-11-29T02:45:17Z Extracting Object Oriented Software Architecture from C++ Source Code 2000-10 Mresa, Ali Hussein A. Software architecture strongly influences the ability to satisfy quality attributes such as modifiability, performance, and security. It is important to be able to analyse and extract information about that architecture. However, architectural documentation frequently does not exist, and when it does, it is often out of sync with the implemented system. In addition, it is not all that software development begins with a clean slate; systems are almost always constrained by the existing legacy code. As a consequence, there is a need to extract information from existing system implementations and reason architecturally about this information. This research presents a reverse engineering tool VOO++ that will read an Object- Oriented C++ source code using UML notation in order to visualise its Class structure and the various relationships that may exist including, inheritance, aggregation, and dependency relationships based on the modified Cohen-Sutherland clipping algorithm. The idea of clipping is reversed, instead of clipping inside the rectangle, the clipping is done out side the rectangle in terms of four directions (left, right, top, and bottom) and two points represent the centre point for each rectangle. An Object-Oriented approach is used to design and implement the tool. Reverse engineering, design pattern, and graphics are the underlying techniques supplied. VOO++ aids an analyst in extracting, manipulating and interpreting the Object-Oriented static model information. By assisting in the reconstruction of static architectures from extracted information, VOO++ helps an analyst to redocument and understand architectures and discover the relationship between "as-implemented" and "asdesigned" architectures. Software architecture Object-oriented programming languages C++ (Computer program language) 2000-10 Thesis http://psasir.upm.edu.my/id/eprint/9650/ http://psasir.upm.edu.my/id/eprint/9650/1/FSKTM_2000_6_IR.pdf text en public masters Universiti Putra Malaysia Software architecture Object-oriented programming languages C++ (Computer program language) Faculty of Computer Science and Information Technology Abd. Ghani, Abdul Azim English
institution Universiti Putra Malaysia
collection PSAS Institutional Repository
language English
English
advisor Abd. Ghani, Abdul Azim
topic Software architecture
Object-oriented programming languages
C++ (Computer program language)
spellingShingle Software architecture
Object-oriented programming languages
C++ (Computer program language)
Mresa, Ali Hussein A.
Extracting Object Oriented Software Architecture from C++ Source Code
description Software architecture strongly influences the ability to satisfy quality attributes such as modifiability, performance, and security. It is important to be able to analyse and extract information about that architecture. However, architectural documentation frequently does not exist, and when it does, it is often out of sync with the implemented system. In addition, it is not all that software development begins with a clean slate; systems are almost always constrained by the existing legacy code. As a consequence, there is a need to extract information from existing system implementations and reason architecturally about this information. This research presents a reverse engineering tool VOO++ that will read an Object- Oriented C++ source code using UML notation in order to visualise its Class structure and the various relationships that may exist including, inheritance, aggregation, and dependency relationships based on the modified Cohen-Sutherland clipping algorithm. The idea of clipping is reversed, instead of clipping inside the rectangle, the clipping is done out side the rectangle in terms of four directions (left, right, top, and bottom) and two points represent the centre point for each rectangle. An Object-Oriented approach is used to design and implement the tool. Reverse engineering, design pattern, and graphics are the underlying techniques supplied. VOO++ aids an analyst in extracting, manipulating and interpreting the Object-Oriented static model information. By assisting in the reconstruction of static architectures from extracted information, VOO++ helps an analyst to redocument and understand architectures and discover the relationship between "as-implemented" and "asdesigned" architectures.
format Thesis
qualification_level Master's degree
author Mresa, Ali Hussein A.
author_facet Mresa, Ali Hussein A.
author_sort Mresa, Ali Hussein A.
title Extracting Object Oriented Software Architecture from C++ Source Code
title_short Extracting Object Oriented Software Architecture from C++ Source Code
title_full Extracting Object Oriented Software Architecture from C++ Source Code
title_fullStr Extracting Object Oriented Software Architecture from C++ Source Code
title_full_unstemmed Extracting Object Oriented Software Architecture from C++ Source Code
title_sort extracting object oriented software architecture from c++ source code
granting_institution Universiti Putra Malaysia
granting_department Faculty of Computer Science and Information Technology
publishDate 2000
url http://psasir.upm.edu.my/id/eprint/9650/1/FSKTM_2000_6_IR.pdf
_version_ 1794018873530384384