Giter Club home page Giter Club logo

week2's Introduction

Week 2

In this week's lectures we discussed the process of trying to understand unfamiliar software systems, and to start to identify potentially problematic aspects of the design or architecture.

For this lab, we'll carry out this range of steps on an unfamiliar software system. In contrast to the lecture-time however, we'll utilise some tools to help us.

A note on the choice of subject system

This week we'll focus on the CovaSim project we have covered previously. Once you have managed to get it working on this system, try the steps with your own choice of system!

You'll eventually be required to retrace these steps on your group project.

Setup

  1. Clone the repository.
  2. Set up and activate a virtual environment.
  3. Install the requirements.

In order to install the pydeps requirement, you may need to add the conda-forge repository:

conda config --add channels conda-forge

For the remainder of steps, you can either use PyCharm (see last week's steps). Or you can do the same using the terminal.

git clone THIS_REPO
cd THIS_REPO
python3 -m venv venv  # or python -m venv venv
source venv/bin/activate  # or venv\Scripts\activate on Windows
pip install -r requirements.txt

Steps

  1. Run the steps to create the word-cloud from the docs within the Jupyter Notebook.
  2. For the word-cloud, some of the words included are unhelpful and get in the way. Find out which statement in the Jupyter Notebook you can tweak to add stop-words.
  3. In the prep-work and lecture-time we started off a table that mapped concepts to source code classes. Revisit this, and add any additional concepts that appear important within the word-cloud.
  4. Run the final part of Jupyter notebook (running PyDeps). This should provide you with an overview of the dependencies between the modules. Write down any conclusions you draw about potential issues around coupling, and where they may arise.
  5. Given what we covered in the lecture, and the tools that you have found out about today, revisit CovaSim and try to apply a combination of top-down and bottom-up comprehension, to establish what you can about the system.

Contributors

Please record below who participated in this week's lab practice submissions:

  • Everyone Contributed Equally
    • Oliver Billich
    • Yuxin Cui
    • Rani Kumari
    • Cheng Man Li
    • Siyuan Peng

week2's People

Contributors

donghwan-shin avatar meikong-cui avatar neilwalkinshaw avatar rsomers1998 avatar sheff-mlb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.