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

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
_version_ 1825944626906791936
author Mresa, Ali Hussein A.
author_facet Mresa, Ali Hussein A.
author_sort Mresa, Ali Hussein A.
collection UPM
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.
first_indexed 2024-03-06T07:18:52Z
format Thesis
id upm.eprints-9650
institution Universiti Putra Malaysia
language English
English
last_indexed 2024-03-06T07:18:52Z
publishDate 2000
record_format dspace
spelling upm.eprints-96502023-11-29T02:45:17Z http://psasir.upm.edu.my/id/eprint/9650/ Extracting Object Oriented Software Architecture from C++ Source Code 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. 2000-10 Thesis NonPeerReviewed text en http://psasir.upm.edu.my/id/eprint/9650/1/FSKTM_2000_6_IR.pdf Mresa, Ali Hussein A. (2000) Extracting Object Oriented Software Architecture from C++ Source Code. Masters thesis, Universiti Putra Malaysia. Software architecture Object-oriented programming languages C++ (Computer program language) English
spellingShingle Software architecture
Object-oriented programming languages
C++ (Computer program language)
Mresa, Ali Hussein A.
Extracting Object Oriented Software Architecture from C++ Source Code
title 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_short Extracting Object Oriented Software Architecture from C++ Source Code
title_sort extracting object oriented software architecture from c source code
topic Software architecture
Object-oriented programming languages
C++ (Computer program language)
url http://psasir.upm.edu.my/id/eprint/9650/1/FSKTM_2000_6_IR.pdf
work_keys_str_mv AT mresaalihusseina extractingobjectorientedsoftwarearchitecturefromcsourcecode