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

61 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2023-03-06 14:05:24 +00:00
# Information Modelling & Analysis: Project 1
2023-03-06 13:35:46 +00:00
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.
2023-03-06 14:05:24 +00:00
## Install dependencies
```shell
# create venv
python -m venv env
source env/bin/activate
pip3 install -r requirements.txt
```
2023-03-22 13:28:17 +00:00
## Running part 1: find god classes
2023-03-06 14:05:24 +00:00
```shell
./find_god_classes.py
```
The resulting CSV file containing a list of God classes is generated in the `god_classes/god_classes.csv` path.
2023-03-06 15:41:40 +00:00
2023-03-22 13:28:17 +00:00
## Running part 3: clustering and silhouette metric
To compute optimal k-means and agglomerative clusterings using silhouette
validation for all classes run:
```shell
./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:
```shell
./k_means.py KLASS K
```
```shell
./hierarchical.py KLASS K
```
Then, to check their silhouette metric run:
```shell
./silhouette.py
```
2023-03-06 15:41:40 +00:00
## Compile report
- Install [Pandoc](https://pandoc.org/);
- Run `pandoc main.md -o main.pdf` in `report` directory.