Skip to content

Sistema para facilitar a contagem na análise por pontos de função APF.

License

Notifications You must be signed in to change notification settings

labens-ufrn/apf-bsi

Repository files navigation

ANALISADOR DE PONTOS DE FUNÇÃO

GitHub language count Codacy grade Repository size GitHub last commit Repository issues GitHub

Sistema para a contagem e análise dos pontos de função para estimar o tamanho funcional de um software.



Sobre o Projeto   |    Documentação   |    Pré-requisitos   |    Desenvolvimento   |    Build e Execução   |    Testes   |    Licença   |    Referências


Sobre o Projeto

Sistema para facilitar a contagem na análise por pontos de função (APF) desenvolvido para ser utilizado nas disciplinas de Engenharia de Software do curso de Bacharelado em Sistemas de Informação do CERES/UFRN.

Documentação

Pré-requisitos

Para executar o projeto, será necessário instalar os seguintes programas:

  • JDK 8: Necessário para executar o projeto Java.
  • Maven: Necessário para realizar o build do projeto Java.
  • Eclipse ou Vscode + extensões Java: Para o desenvolvimento do Projeto.
  • MariaDB ou MySql: para persistência no Banco de Dados
  • Criação do Banco de Dados dev e test(apf_db e apf_db_test) e Usuário(apf_user) com sua devidas permissões. Código abaixo:
  1. Criação das bases de dados e usuário
CREATE ROLE apf_user WITH
	LOGIN
	NOSUPERUSER
	NOCREATEDB
	NOCREATEROLE
	NOINHERIT
	NOREPLICATION
	CONNECTION LIMIT -1
	PASSWORD 'xxxxxx';
COMMENT ON ROLE apf_user IS 'Usuário do Sistema APF de Contagem de Pontos de Função.';
CREATE DATABASE apf_db
    WITH 
    OWNER = apf_user
    ENCODING = 'UTF8'
    LC_COLLATE = 'pt_BR.utf8'
    LC_CTYPE = 'pt_BR.utf8'
    TABLESPACE = pg_default
    CONNECTION LIMIT = -1
    IS_TEMPLATE = False;

Por algum motivo, o JPA não está criando o banco de dados automaticamente. Desta forma, gerei o esquema relacional em create.sql e executei manualmente via PgAdmin. Desta forma, foi necessário executar comandos de permissões para o usuário apf_user do banco de dados apf_db.

GRANT ALL PRIVILEGES ON DATABASE apf_db TO apf_user;
GRANT ALL PRIVILEGES ON SCHEMA public TO apf_user;

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public to apf_user;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public to apf_user;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public to apf_user;

Como os testes não estavam executando com a criação do esquema, essa parte foi removida. Ajustamos o nome da tabela user para users, pois o nome user é uma palavra reservada do Postgres.

CREATE SCHEMA IF NOT EXISTS apf
    AUTHORIZATION apf_user;
  1. Povoamento do Banco de Dados
    INSERT INTO role VALUES (1,'ADMIN');
    INSERT INTO role VALUES (2,'USER');

    INSERT INTO attribution VALUES (1,'PROJECT MANAGER');
    INSERT INTO attribution VALUES (2,'PROJECT MEMBER');

Padrões de Codificação do Editor

  • Insert spaces for tabs
  • Tab policy para Spaces only
  • Indentation size: 4
  • Tab size: 4

Desenvolvimento

Para iniciar o desenvolvimento, é necessário clonar o projeto do GitHub num diretório de sua preferência:

cd "diretório de sua preferência"
git clone https://github.com/labens-ufrn/apf-bsi.git

Build e Execução

Esse projeto faz uso do framework spring-boot que encapsula todas as dependências no arquivo jar. Para o build do projeto, execute os comandos abaixo:

mvn clean
mvn install
 para o diretório /target
java -jar apf-bsi-0.0.1-SNAPSHOT.jar

O comando irá baixar todas as dependências do projeto e criar um diretório target com os artefatos construídos, que incluem o arquivo jar do projeto. Além disso, serão executados os testes unitários, e se algum falhar, o Maven exibirá essa informação no console. Se tudo ocorreu como esperado vai conseguir acessar estes endereços com sucesso.

http://localhost:8080/apf/
http://localhost:8080/apf/login
http://localhost:8080/apf/registration

Testes

Para rodar os testes, utilize o comando abaixo:

mvn test

licença

MIT

Referências

Desenvolvido a partir do tutorial e do código linkado abaixo:

Tutoriais

  • Na página Tutoriais temos a lista de tutoriais consultados.

Artigos

  • Na página Artigos temos a lista de artigos consultados.

About

Sistema para facilitar a contagem na análise por pontos de função APF.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published