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...
Saved in:
Main Author: | |
---|---|
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!
|
Summary: | 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. |
---|