A Python module that analyses your architecture strength based on DSM data.
Project description
Archan is a Python module that analyzes the strength of your project architecture according to some criteria described in “The Protection of Information in Computer Systems”, written by Jerome H. Saltzer and Michael D. Schroeder.
Archan is used in combination with dependenpy in the Django app called django-archan.
Installation
Just run pip install archan.
Usage
Archan takes a dependency matrix as parameter. It is a list of list of numeric values, representing the dependencies between the packages that are used in your project. It also needs the keys (one string for each row of the matrix), and their associated group type.
In django-archan, these data are provided by the dependenpy Python module, but you can build and use your own:
from archan.dsm import DesignStructureMatrix
from archan.checker import Archan
my_matrix = [[0, 1, 2, 0],
[1, 1, 1, 0],
[0, 0, 0, 3],
[3, 3, 0, 1]]
my_keys = ['core', 'some_app', 'whatever', 'feature']
my_groups = ['core_lib', 'app_module', 'app_module', 'app_module']
archan = Archan()
my_dsm = DesignStructureMatrix(my_groups, my_keys, my_matrix)
complete_mediation = archan.check_complete_mediation(my_dsm)
economy_of_mechanism = archan.check_economy_of_mecanism(my_dsm)
...
Please take a look at the source code to see what other methods are available.
License
Copyright (c) 2015 Pierre Parrend
This Source Code is subject to the terms of the Mozilla Public License, v. 2.0. See the LICENSE.txt file for more details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file archan-0.0.3.tar.gz
.
File metadata
- Download URL: archan-0.0.3.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4667a34ee8a43eb73c68ef68b4298139026fdefe146a42922832df5e3dbd0bea |
|
MD5 | 96a36d2357a544288bfc793a5cdd2e32 |
|
BLAKE2b-256 | b49314b3112fd854988ac3e7ad01b5d6dc698507d2755e7f7901a5c1be53dbdc |
File details
Details for the file archan-0.0.3-py2.py3-none-any.whl
.
File metadata
- Download URL: archan-0.0.3-py2.py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23eb486364e1bcf103224c7b90eb400e7a814d280925890df1afcd3057db1bdd |
|
MD5 | 4cbf633ce41d334f6b206c2036fed5c4 |
|
BLAKE2b-256 | f68b1701143954b5ef6caa99c800805703947485a3e1d540647db0cf5e54c63a |