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
http://psasir.upm.edu.my/id/eprint/9650/
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Universiti Putra Malaysia
Language: English
English
id my.upm.eprints.9650
record_format eprints
spelling my.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
institution Universiti Putra Malaysia
building UPM Library
collection Institutional Repository
continent Asia
country Malaysia
content_provider Universiti Putra Malaysia
content_source UPM Institutional Repository
url_provider http://psasir.upm.edu.my/
language English
English
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
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
publishDate 2000
url http://psasir.upm.edu.my/id/eprint/9650/1/FSKTM_2000_6_IR.pdf
http://psasir.upm.edu.my/id/eprint/9650/
_version_ 1783948480318799872