This repository has been archived on 2023-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
ima01/readme.md

1.4 KiB

Information Modelling & Analysis: Project 1

Student: enter your name here

Project instructions:

Please follow the instructions provided in the project slides. For your convenience, the source code to be analyzed (xerces2) has already been added to this repository (/resources/xerces2-j-src).

Attention: Please consider the submission instructions available on iCorsi.

Report: You may want to use the template distributed on iCorsi.

Install dependencies

# create venv
python -m venv env
source env/bin/activate

pip3 install -r requirements.txt

Running part 1: find god classes

./find_god_classes.py

The resulting CSV file containing a list of God classes is generated in the god_classes/god_classes.csv path.

Running part 3: clustering and silhouette metric

To compute optimal k-means and agglomerative clusterings using silhouette validation for all classes run:

./silhouette.py --validate --autorun

To compute k-means or agglomerative clustering for a specific number of clusters K and a specific class KLASS run respectively:

./k_means.py KLASS K
./hierarchical.py KLASS K

Then, to check their silhouette metric run:

./silhouette.py

Compile report

  • Install Pandoc;
  • Run pandoc main.md -o main.pdf in report directory.