Skip to content

erosenov/file-compressor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

File Compressor

1. System Architecture

1.1. Technologies

  • Python 3.11

1.2. IDE

  • PyCharm

1.3. Coding standards

  • PEP 8

  • Google Python Style Guide

1.4. Version control

  • Git (Github)

1.5. Release Management

  • Semantic versioning with major, minor, hotfix, and build numbers

1.6. Issue tracking

  • Github Issues and Projects

2. Deployment Strategy

  • Standalone application as executable Python script

3. Functional Requirements

  • Console application (CLI)

  • GUI

  • User can enter archive format

  • User can enter compression method

  • User can enter compression level

  • User can enter word size

  • User can enter dictionary size

  • User can enter the maximum number of CPU threads

  • User can enter split the volume size in bytes

  • User can see application instructions

  • User can see application statistics (compression ratio, ETA, …​)

  • User can see application’s about

4. Non-Functional Requirements

  • Application shall have user documentation

  • Application should be cross-platform

  • Application should be compatible with Python 2.7

  • Application shall not crash on invalid data

  • Application must be able to run at high performance.

5. Architecture and Design

5.1. Architecture

  • Application shall be object-oriented (OOP)

  • Application shall be layered with Front-End, Back-End and Data layers

  • Application shall be monolithic with all layers in one application

  • Application shall be MVP (Model-View-Presenter)

5.2. Back-End

5.2.1. Class Diagram

5.2.2. Sequence Diagram

5.2.3. State Diagram

5.2.4. Activity Diagram

5.2.5. Use Case Diagram

5.3. Front-End

5.4. Data Layer

6. Development Model

  • Agile

7. Testing

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published