SAlmox SIIC 2014

Post on 09-Jul-2015

171 views 0 download

description

Apresentação para o SIIC 2014

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

[jonas.mayer.developer@gmail.com, lucieli@urisantiago.br]

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!