XX Seminário Institucional de Iniciação Científica 
XVII Seminário de Integração de Pesquisa e Pós-Graduação 
II Colóquio Tecnológico da URI (COLTURIS) 
XII Seminario Extensão 
PESQUISA E ESTUDO SOBRE TÉCNICAS 
E MÉTODOS RELACIONADOS A 
ENGENHARIA DE SOFTWARE 
Jonas Mayer Ferreira, Luciéli Tolfo Beque Guerra 
[jonas.mayer.developer@gmail.com, lucieli@urisantiago.br] 
Grupo de pesquisa: Engenharia e Garantia de Qualidade de 
Software 
Linha de Pesquisa: Engenharia de Software 
Área do Conhecimento: Engenharias e Ciência da Computação 
Bolsa: PIIC/URI 
Universidade Regional Integrada do Alto Uruguai 
e das Missões – Campus Santiago
Introdução 
Índice de sucesso em projetos de Desenvolvimento de Software 
em 2012, segundo o CHAOS Manifesto[1]
Introdução 
O almoxarifado da Universidade Regional 
Integrada do Alto Uruguai e das Missões 
Campus Santiago (URI) entre outras funções 
armazena documentos e gerência seu fluxo. No 
entanto o gerenciamento destes documentos 
era feito de forma manual, atráves de planilhas 
eletrônicas e da impressão das mesmas.
Objetivos 
O projeto de desenvolvimento de um 
software para gestão de documentos para o 
Almoxarifado da URI objetivava desenvolver 
um software com qualidade que atendesse as 
necessidades do almoxarifado e otimiza-se os 
seus processos, enquanto pesquisava, estudava 
e aplicava sólidos princípios da Engenharia de 
Software.
Software de Qualidade 
Segundo MCLAUGHLIN [2] um software de 
qualidade 
● deve satisfazer as necessidades do cliente 
● possuir uma boa arquitetura e código 
conciso de modo que tenha 
○ bons índices de manutenibilidade 
○ facilite a reutilização de código 
○ siga princípios que facilitem a extensão das 
funcionalidades
Dominio 
Almoxarifado da URI Santiago: 
● grande quantidade e variedade de 
documentos 
● possui um alto índice de instabilidade em 
relação a estrutura organizacional e 
legislação de processos
Metodologia 
Modelo de ciclo de vida Waterfall [3]
Resultados e Discussão (metodologia) 
baseado em Waterfall natureza 
incremental 
Vantagens 
- entrega de um software 
sólido 
- diminuição dos riscos 
relacionados a prazos 
- foco nas etapas do processo 
de desenvolvimento 
- entrega em períodos 
menores 
- melhor resposta a 
mudança 
Desvantagens 
- entrega apenas após 
conclusão do projeto 
- adequação tardia a 
mudanças 
- feedback tardio 
- menor controle de 
prazos 
- estimativa menos 
apurada sobre progresso 
do projeto 
- possibilidade de 
diminuição da qualidade 
do código
Resultados e Discussão 
Linguagem: Java 
● Portabilidade 
● Desempenho 
SGBD (Sistema Gerenciador de Banco de 
Dados): PostgreSQL 
● Open Source 
● Funcionalidades de alto-nível
Resultados e Discussão (levantamento de requisitos) 
Técnicas de levantamento de requisitos: 
● observação 
● questionários 
● entrevista
Resultados e Discussão (requisitos) 
● armazenamento do registro de documentos e 
de sua estrutura
Resultados e Discussão (requisitos) 
● gerenciar e administrar os processos de 
retiradas e solicitações de documentos 
SAlmox
Resultados e Discussão (requisitos) 
● manter um histórico das solicitações e das 
retiradas dos documentos
Resultados e Discussão (requisitos) 
● gerenciamento de usuários e controle do 
acesso
Resultados e Discussão (requisitos) 
● inicialmente o sistema deveria armazenar 9 
categorias (atualmente 14) de documentos e 
sua estrutura
Resultados e Discussão (requisitos) 
● gerar 
○ relatórios de retirada 
○ lombadas 
○ etiquetas 
○ relatórios de descarte 
○ folha rosto (1.04)
Resultados e Discussão (análise de requisitos)
Resultados e Discussão (análise de requisitos)
Resultados e Discussão (análise de requisitos)
Resultados e Discussão (projeto)
Resultados e Discussão (projeto) 
Proposta de melhoria
Resultados e Discussão (projeto) 
Arquitetura baseada no padrão composto MVC 
(Model–View–Controller) 
View 
Controller 
Model
Resultados e Discussão (codificação) 
Model DAO View Controller 
Adotado 
Proposto 
DAO 
View 
Controller 
Model
Resultados e Discussão (codificação) 
DAO Banco de 
Dados 
Stored 
procedures 
e visões
Resultados e Discussão (teste) 
A etapa de testes consistiu de testes manuais, 
estes que se provaram, quando usados 
desacompanhadas de outras modalidades de 
testes, lentos e desgastantes. 
Como proposta de melhoria, estaria a 
automação de testes com o uso de unit testing e 
acceptance testing. Bem como o uso de TDD 
(Test-driven development).
Resultados e Discussão (manutenção) 
Realizadas manutenções para: 
● adição e adaptação de relatórios 
● refatorações 
● adaptção a portaria Nº 1.224 de 18 de 
dezembro de 2013 (em andamento)
Resultados e Discussão (implantação) 
Inicialmente a implantação ocorreu em 
pequena escala (em um único terminal), devido a 
problemas de indisponibilidade de um servidor 
para o gerenciamento do banco de dados. 
Ocorrendo posteriormente, em uma maior 
escala, através da migração do banco de dados 
para um servidor no NI da Instituição.
Software 
Linguagem: Java (versão minima 1.7) 
Sistemas Operacionais compatíveis: 
Linux e Windows 
SGBD: PostgreSQL (< 9.0) 
Versão atual: 1.04 
Versão em produção: 1.1 
Licença: GPL v.2 (Open Source)
Software
Software
Documentação
Cronograma 
Pesquisa e estudo sobre conceitos de Engenharia de Software. 
Escolha de uma Linguagem de Programação e Banco de Dados. 
Levantamento dos requisitos através do uso de técnicas de Engenharia de Software. 
Modelagem do sistema utilizando os principais diagramas da UML. 
Implementação do sistema. 
Realização de testes no software desenvolvido. 
Validação do sistema junto aos usuários.4 
Implantação do sistema no setor do almoxarifado da URI Campus de Santiago. 
Elaboração de manual de utilização do software. 
Treinamento no uso do software.
Conclusões 
Segundo os parâmetros do CHAOS 
Manifesto [1], o projeto pode ser considerado 
um sucesso, pois: 
1. entrega do projeto no prazo determinado 
2. contendo funcionalidades inicialmente 
requisitadas
Conclusões 
No entanto conforme citado a aplicação de 
certas técnicas e tecnologias acompanhada do 
uso de uma metodologia baseada em modelo 
incremental poderiam reduzir o tempo e 
esforço empregados durante a realização do 
projeto.
Conclusões 
As medidas empregadas para aumentar os 
indicies de manutenibilidade, como o uso do 
padrão composto MVC, realmente facilitaram 
as manutenções.
Referências 
[1] STANDISH GROUP – Manifesto Chaos 2013. Disponível em: <http://www. 
versionone.com/assets/img/files/CHAOSManifesto2013.pdf> Acessado em: 15 de Maio de 
2014> 
[2] MCLAUGHLIN B., et. al. ; Head First Object-Oriented Analysis & Design;primeira 
edição; O’Reilly Media, EUA. 2007 
[3] PRESSMAN R.; Software Engineering: Apractioner's Approach, 7ª edição, 2010.
Obrigado!

SAlmox SIIC 2014

  • 1.
    XX Seminário Institucionalde Iniciação Científica XVII Seminário de Integração de Pesquisa e Pós-Graduação II Colóquio Tecnológico da URI (COLTURIS) XII Seminario Extensão PESQUISA E ESTUDO SOBRE TÉCNICAS E MÉTODOS RELACIONADOS A ENGENHARIA DE SOFTWARE Jonas Mayer Ferreira, Luciéli Tolfo Beque Guerra [jonas.mayer.developer@gmail.com, lucieli@urisantiago.br] Grupo de pesquisa: Engenharia e Garantia de Qualidade de Software Linha de Pesquisa: Engenharia de Software Área do Conhecimento: Engenharias e Ciência da Computação Bolsa: PIIC/URI Universidade Regional Integrada do Alto Uruguai e das Missões – Campus Santiago
  • 2.
    Introdução Índice desucesso em projetos de Desenvolvimento de Software em 2012, segundo o CHAOS Manifesto[1]
  • 3.
    Introdução O almoxarifadoda Universidade Regional Integrada do Alto Uruguai e das Missões Campus Santiago (URI) entre outras funções armazena documentos e gerência seu fluxo. No entanto o gerenciamento destes documentos era feito de forma manual, atráves de planilhas eletrônicas e da impressão das mesmas.
  • 4.
    Objetivos O projetode desenvolvimento de um software para gestão de documentos para o Almoxarifado da URI objetivava desenvolver um software com qualidade que atendesse as necessidades do almoxarifado e otimiza-se os seus processos, enquanto pesquisava, estudava e aplicava sólidos princípios da Engenharia de Software.
  • 5.
    Software de Qualidade Segundo MCLAUGHLIN [2] um software de qualidade ● deve satisfazer as necessidades do cliente ● possuir uma boa arquitetura e código conciso de modo que tenha ○ bons índices de manutenibilidade ○ facilite a reutilização de código ○ siga princípios que facilitem a extensão das funcionalidades
  • 6.
    Dominio Almoxarifado daURI Santiago: ● grande quantidade e variedade de documentos ● possui um alto índice de instabilidade em relação a estrutura organizacional e legislação de processos
  • 7.
    Metodologia Modelo deciclo de vida Waterfall [3]
  • 8.
    Resultados e Discussão(metodologia) baseado em Waterfall natureza incremental Vantagens - entrega de um software sólido - diminuição dos riscos relacionados a prazos - foco nas etapas do processo de desenvolvimento - entrega em períodos menores - melhor resposta a mudança Desvantagens - entrega apenas após conclusão do projeto - adequação tardia a mudanças - feedback tardio - menor controle de prazos - estimativa menos apurada sobre progresso do projeto - possibilidade de diminuição da qualidade do código
  • 9.
    Resultados e Discussão Linguagem: Java ● Portabilidade ● Desempenho SGBD (Sistema Gerenciador de Banco de Dados): PostgreSQL ● Open Source ● Funcionalidades de alto-nível
  • 10.
    Resultados e Discussão(levantamento de requisitos) Técnicas de levantamento de requisitos: ● observação ● questionários ● entrevista
  • 11.
    Resultados e Discussão(requisitos) ● armazenamento do registro de documentos e de sua estrutura
  • 12.
    Resultados e Discussão(requisitos) ● gerenciar e administrar os processos de retiradas e solicitações de documentos SAlmox
  • 13.
    Resultados e Discussão(requisitos) ● manter um histórico das solicitações e das retiradas dos documentos
  • 14.
    Resultados e Discussão(requisitos) ● gerenciamento de usuários e controle do acesso
  • 15.
    Resultados e Discussão(requisitos) ● inicialmente o sistema deveria armazenar 9 categorias (atualmente 14) de documentos e sua estrutura
  • 16.
    Resultados e Discussão(requisitos) ● gerar ○ relatórios de retirada ○ lombadas ○ etiquetas ○ relatórios de descarte ○ folha rosto (1.04)
  • 17.
    Resultados e Discussão(análise de requisitos)
  • 18.
    Resultados e Discussão(análise de requisitos)
  • 19.
    Resultados e Discussão(análise de requisitos)
  • 20.
  • 21.
    Resultados e Discussão(projeto) Proposta de melhoria
  • 22.
    Resultados e Discussão(projeto) Arquitetura baseada no padrão composto MVC (Model–View–Controller) View Controller Model
  • 23.
    Resultados e Discussão(codificação) Model DAO View Controller Adotado Proposto DAO View Controller Model
  • 24.
    Resultados e Discussão(codificação) DAO Banco de Dados Stored procedures e visões
  • 25.
    Resultados e Discussão(teste) A etapa de testes consistiu de testes manuais, estes que se provaram, quando usados desacompanhadas de outras modalidades de testes, lentos e desgastantes. Como proposta de melhoria, estaria a automação de testes com o uso de unit testing e acceptance testing. Bem como o uso de TDD (Test-driven development).
  • 26.
    Resultados e Discussão(manutenção) Realizadas manutenções para: ● adição e adaptação de relatórios ● refatorações ● adaptção a portaria Nº 1.224 de 18 de dezembro de 2013 (em andamento)
  • 27.
    Resultados e Discussão(implantação) Inicialmente a implantação ocorreu em pequena escala (em um único terminal), devido a problemas de indisponibilidade de um servidor para o gerenciamento do banco de dados. Ocorrendo posteriormente, em uma maior escala, através da migração do banco de dados para um servidor no NI da Instituição.
  • 28.
    Software Linguagem: Java(versão minima 1.7) Sistemas Operacionais compatíveis: Linux e Windows SGBD: PostgreSQL (< 9.0) Versão atual: 1.04 Versão em produção: 1.1 Licença: GPL v.2 (Open Source)
  • 29.
  • 30.
  • 31.
  • 32.
    Cronograma Pesquisa eestudo sobre conceitos de Engenharia de Software. Escolha de uma Linguagem de Programação e Banco de Dados. Levantamento dos requisitos através do uso de técnicas de Engenharia de Software. Modelagem do sistema utilizando os principais diagramas da UML. Implementação do sistema. Realização de testes no software desenvolvido. Validação do sistema junto aos usuários.4 Implantação do sistema no setor do almoxarifado da URI Campus de Santiago. Elaboração de manual de utilização do software. Treinamento no uso do software.
  • 33.
    Conclusões Segundo osparâmetros do CHAOS Manifesto [1], o projeto pode ser considerado um sucesso, pois: 1. entrega do projeto no prazo determinado 2. contendo funcionalidades inicialmente requisitadas
  • 34.
    Conclusões No entantoconforme citado a aplicação de certas técnicas e tecnologias acompanhada do uso de uma metodologia baseada em modelo incremental poderiam reduzir o tempo e esforço empregados durante a realização do projeto.
  • 35.
    Conclusões As medidasempregadas para aumentar os indicies de manutenibilidade, como o uso do padrão composto MVC, realmente facilitaram as manutenções.
  • 36.
    Referências [1] STANDISHGROUP – Manifesto Chaos 2013. Disponível em: <http://www. versionone.com/assets/img/files/CHAOSManifesto2013.pdf> Acessado em: 15 de Maio de 2014> [2] MCLAUGHLIN B., et. al. ; Head First Object-Oriented Analysis & Design;primeira edição; O’Reilly Media, EUA. 2007 [3] PRESSMAN R.; Software Engineering: Apractioner's Approach, 7ª edição, 2010.
  • 37.