mircealungu / student-projects

11 stars 2 forks source link

Notebook-Based Architectural Views #27

Closed mircealungu closed 1 year ago

mircealungu commented 3 years ago

Notebooks (such as Jupyter or Colaboratory) are a novel and popular approach to live coding.

One of their strengths is that they can combine textual explanations, figures and code. In fact, this is probably one of the reasons for which they are very often used nowadays for data science.

Another domain in which we need to combine source code and visual explanations is the description of software architecture.

The advantage of specifying architecture in notebooks could be that one could specify live documents, that do not get out of date.

In this project, you will experiment with defining Python tools that enable notebooks to be easily used for live architectural descriptions. Coding abstractions, version control integration, and interactive visualizations are all features that you'll probably have to support.

Once that's done you'll evaluate your new "toolset for the modern software architect" with developers in order to understand its usability.

For an example of what one can obtain with a little bit of effort one can look several notebooks used in the software architecture course at ITU in Copenhagen: Basic Abstraction, Evolutionary Analysis