SAlmox SIIC 2014
-
Upload
jonas-mayer -
Category
Science
-
view
171 -
download
0
description
Transcript of SAlmox SIIC 2014
PESQUISA E ESTUDO SOBRE TÉCNICAS E MÉTODOS RELACIONADOS A ENGENHARIA DE SOFTWAREJonas Mayer Ferreira, Luciéli Tolfo Beque Guerra
[[email protected], [email protected]]
Grupo de pesquisa: Engenharia e Garantia de Qualidade de SoftwareLinha de Pesquisa: Engenharia de Software Área do Conhecimento: Engenharias e Ciência da ComputaçãoBolsa: PIIC/URI
Universidade Regional Integrada do Alto Uruguai e das Missões – Campus Santiago
XX Seminário Institucional de Iniciação CientíficaXVII Seminário de Integração de Pesquisa e Pós-Graduação
II Colóquio Tecnológico da URI (COLTURIS)XII Seminario Extensão
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)
Model
View
Controller
Adotado
Proposto
Resultados e Discussão (codificação)
DAO View ControllerModel
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 WindowsSGBD: PostgreSQL (< 9.0)Versão atual: 1.04Versão em produção: 1.1Licenç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 determinado2. 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!