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
CONNECTIONLIMIT-1
PASSWORD'xxxxxx';
COMMENTONROLE apf_user IS'Usuário do Sistema APF de Contagem de Pontos de Função.';
CREATEDATABASEapf_db
WITH
OWNER=apf_user
ENCODING='UTF8'
LC_COLLATE='pt_BR.utf8'
LC_CTYPE='pt_BR.utf8'
TABLESPACE=pg_default
CONNECTIONLIMIT=-1
IS_TEMPLATE=False;

Por algum motivo, o JPA não está criando o banco de dados automaticamente. Desta forma, gerei o esquema relacional emcreate.sqle executei manualmente via PgAdmin. Desta forma, foi necessário executar comandos de permissões para o usuárioapf_userdo banco de dadosapf_db.

GRANTALL PRIVILEGESONDATABASE apf_db TO apf_user;
GRANTALL PRIVILEGESONSCHEMA public TO apf_user;

GRANTALL PRIVILEGESONALL TABLESINSCHEMA public to apf_user;
GRANTALL PRIVILEGESONALL SEQUENCESINSCHEMA public to apf_user;
GRANTALL PRIVILEGESONALL FUNCTIONSINSCHEMA 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 tabelauserparausers,pois o nomeuseré umapalavra reservadado Postgres.

CREATESCHEMAIFNOT EXISTS apf
AUTHORIZATION apf_user;
  1. Povoamento do Banco de Dados
INSERT INTOroleVALUES(1,'ADMIN');
INSERT INTOroleVALUES(2,'USER');

INSERT INTOattributionVALUES(1,'PROJECT MANAGER');
INSERT INTOattributionVALUES(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:

mvnclean
mvninstall
paraodiretório/target
java-jarapf-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:

mvntest

licença

MIT

Referências

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

Tutoriais

  • Na páginaTutoriaistemos a lista de tutoriais consultados.

Artigos

  • Na páginaArtigostemos 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