Skip to main content

Trabalho Prático Engenharia de Software 2

Grupo:

  • Francisco Bonome Andrade
  • Lucas Caetano Lopes Rodrigues
  • Lucas Starling de Paula Salles
  • Yasmin Araújo

FastTask

O FastTask é um sistema para gestão de tarefas. O sistema é capaz de gerenciar diferentes boards, nos quais o usuário pode criar tarefas, com nomes, descrições, e prioridade.

Para executar o sistema, instale-o através do pip: pip install fasttask

O usuário pode interagir com o sistema utilizando a CLI:

$ fasttask board create UFMG --label Pessoal
$ fasttask task list
On Default (id=1):

$ fasttask board list
Default (id=1)
UFMG (id=2)

$ fasttask board checkout 2
$ fasttask task create projeto_es2_entrega_1 --label "ES2"
$ fasttask task list
On UFMG (id=2):
projeto_es2_entrega_1

$ fasttask task describe projeto_es2_entrega_1
Task details:
Id:  1
Name:  projeto_es2_entrega_1
Status:  ToDo
Creation date:  29/05/2022
Label:  ES2
Priority:  0
Time Worked in this task: 0

Tecnologias utilizadas

O sistema foi desenvolvido utilizando Python 3.7+ para construção da CLI e das classes principais do sistema, e SQLite para armazenar os boards e as tarefas criadas. A ferramenta Unittest também foi utilizada para criar testes unitários para os componentes do sistema.

Relatórios do Lizard

Para gerar os relatórios, utilizamos a seguinte configuração para o Lizard:

  • Threshold para cyclomatic_complexity é 5
  • Ordenar por: 1) cyclomatic_complexity; 2) length
  • Para os arquivos do sistema em src/

Você pode encontrar todos os relatórios na pasta lizard_reports.

O comando utilizado foi:

$ lizard -T cyclomatic_complexity=5 -s cyclomatic_complexity -s length paths src/main.py src/modules/dbhandler.py src/modules/clicontroller.py src/modules/command.py src/modules/board.py src/modules/task.py

Após finalizar o projeto inicial do sistema, esses eram os warnings gerados:

==========================================================================================
!!!! Warnings (cyclomatic_complexity > 5 or length > 1000 or nloc > 1000000 or parameter_count > 100) !!!!
================================================
  NLOC    CCN   token  PARAM  length  location  
------------------------------------------------
      24      7    145      1      24 parse@82-105@src/modules/command.py
      16      7     93      1      16 shell@110-125@src/modules/command.py
      17      6    107      1      17 parse_flags@136-152@src/modules/command.py
==========================================================================================
Total nloc   Avg.NLOC  AvgCCN  Avg.token   Fun Cnt  Warning cnt   Fun Rt   nloc Rt
------------------------------------------------------------------------------------------
       491       6.6     1.5       43.2       72            3      0.04    0.12

Com as refatorações, as três funções mais complexas pararam de gerar warnings:

==========================================================================================
No thresholds exceeded (cyclomatic_complexity > 5 or length > 1000 or nloc > 1000000 or parameter_count > 100)
==========================================================================================
Total nloc   Avg.NLOC  AvgCCN  Avg.token   Fun Cnt  Warning cnt   Fun Rt   nloc Rt
------------------------------------------------------------------------------------------
       518       6.6     1.5       42.6       76            0      0.00    0.00

Release files for fasttask 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fasttask 1.0.1
File Size Uploaded
fasttask-1.0.1.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fasttask 1.0.1
File Interpreter ABI Platform
fasttask-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.5 kB

Release files / fasttask-1.0.1.tar.gz

Download URL fasttask-1.0.1.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9a87606d4d1b111546d1387905ae03605c889ef09fe0f5cdfcb7e2022ac76a17
BLAKE2b-256 checksum
How to use checksums
79c9afff193ab0132548c1b1d4a26a5de7e920e8fe679e49afc927e7459df674
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.10

Release files / fasttask-1.0.1-py3-none-any.whl

Download URL fasttask-1.0.1-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6be43cc18d1aa1aa1ab1a43e4c35053e07b9644869821d6178ae97da38faeb52
BLAKE2b-256 checksum
How to use checksums
f15889b2f276ab3b9eecf550d025fef26c8ec99961ce80749487b59a35f6d671
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.0.2

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page