• Nenhum resultado encontrado

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE E SEU USO NO EXÉRCITO BRASILEIRO

N/A
N/A
Protected

Academic year: 2021

Share "PROCESSO DE DESENVOLVIMENTO DE SOFTWARE E SEU USO NO EXÉRCITO BRASILEIRO"

Copied!
6
0
0

Texto

(1)

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE E SEU USO NO EXÉRCITO BRASILEIRO

LAURO DE SOUZA SILVA*

Resumo: O presente trabalho versa sobre a importância de um processo de desenvolvimento

padronizado na instituição e suas principais vantagens e problemas de não se utilizá-lo. Apresenta também uma proposta para a utilização e padronização de um processo de desenvolvimento no Exército Brasileiro. É proposto o uso do processo de desenvolvimento Rational Unified Process (RUP). São abordadas as principais características e práticas do RUP e também as particularidades de modo generalista das diversas Organizações do Exército. A partir desse levantamento sugere-se uma configuração do RUP objetivando seu uso no Exército de acordo com a unidade e tamanho de projeto de software ali desenvolvido.

Palavras-chave: Processos de Desenvolvimento, RUP, Engenharia de Software, Análise de

Sistemas, Exército Brasileiro

Abstract: The current paper talks about the importance of a development process standardized at the

institution and its advantages and problems that occur when it's not used. It also presents a proposal to the utilization and standardization of a development process at the Brazilian Army. It's proposed the use of the Rational Unifed Process (RUP) development process. The main RUP characteristics and practices are mentioned and also the particularities in a general way of the several Army Organizations. From this data collect we can suggest a RUP configuration that aims its use at the Brazilian Army according to the unit and project size of the software developed there.

Keywords: Development Processes, RUP, Software Engineering, System Analysis, Brazilian Army

1 Introdução

O trabalho de desenvolvimento de software tem como objetivo obter um produto final que atenda os requisitos propostos em sua concepção. Para atender esse objetivo tem-se criado diversas metodologias de desenvolvimento.

O Exército Brasileiro, ao longo dos anos tem também buscado a evolução tecnológica. Na área de informática e computação criou o Centro de Desenvolvimento de Sistema, os Centros de Telemática de Área e os Centros de Telemática. Apesar dos esforços realizados ainda não existe uma metodologia de desenvolvimento padronizada na Força.

Neste trabalho foi realizado uma revisão bibliográfica sobre o tema, abordando

o processo de desenvolvimento Rational Unified Process (RUP) que pode ser utilizado nas diversas Organizações Militares. Partindo de fatos simples como a

relação entre os processos de

desenvolvimento e recursos humanos disponíveis e o escopo ou grandeza do projeto, tem-se por objetivo chegar a uma conclusão generalista e ampla para a utilização do RUP pelo Exército Brasileiro.

2 Processo de Desenvolvimento

O termo “crise do software” tem se tornado popular nos últimos anos, no entanto, foi utilizado pela primeira vez em 1969 para

* Tecnólogo em Informática e Especialista em Projeto e Desenvolvimento de Sistemas Orientados a Objetos. Escola de Administração do Exército (EsAEx), Salvador/BA - email: laurodesouza@gmail.com

(2)

descrever as dificuldades e as conseqüentes frustrações que o desenvolvimento e a manutenção de softwares trouxeram, e ainda trazem, para as grandes empresas. Desde então, vem-se procurando estratégias efetivas para combater esses problemas.

Com o surgimento da engenharia de software onde o software é encarado como um produto houve um considerável melhora na área pois foram adquiridos conhecimento técnico e científico da área industrial. A partir daí iniciou-se o uso dos processos também no desenvolvimento, como coloca ORTENCIO(1992):

“A Adoção desta analogia permitiu que um grande acervo de conhecimento técnico e científico da área industrial fosse incorporado e adaptado para produção de software.

Até bem pouco tempo, a ênfase tem sido na conscientização e emprego de técnicas, ferramentas, boas práticas, demandando portanto uma metodologia que cada organização adota ou desenvolve, dedicando um esforço hercúleo para implantar, adaptar e consolidar.”

Um processo de desenvolvimento de software é um conjunto de atividades ordenadas com a finalidade de obter um produto de software. Engloba atividades de especificação, projeto, implementação e testes, caracterizando-se pela interação entre pessoas, ferramentas e métodos.

O processo estabelece também como sistematizar e controlar as atividades relacionadas à construção de sistemas computacionais. Um bom processo deve ser estruturado em disciplinas que possibilitem o gerenciamento dos aspectos mais críticos de um projeto de software onde “cada disciplina focaliza uma determinada complexidade do processo e define uma abordagem de como organizar, conduzir e avaliar os procedimentos relacionados a estes aspectos críticos, minimizando os riscos associados a um projeto de software”(BARTIE,2006).

A utilização de um processo de desenvolvimento de software fornece uma

padronização em todas as etapas de desenvolvimento. Facilitando, dessa forma, a comunicação e o entendimento entre os envolvidos no processo e contribuindo para o intercâmbio de conhecimento e a otimização das tarefas.

3 Desenvolvimento de Software no EB

O Exército Brasileiro não tem uma tradição em pesquisa computacional como a que é feita nas forças dos países desenvolvidos. Grande parte do seu orçamento é destinado a manutenção da atividade fim da Força, mais de 80% é destinado a despesas com pessoal, o que dificulta ou inviabiliza o investimento maciço em pesquisas. Porém é importante ressaltar o grande valor da pesquisa computacional no meio militar, pode ser citado como frutos dessas pesquisas a rede mundial de computadores (internet) e o modelo CMMI.

Contudo, a pesquisa tecnológica brasileira, conforme diretriz do governo federal, deve focar-se no “domíno das tecnologias-chave” (SOCINFO, 2000, p.8) ou seja, no conhecimento das tecnologias em uso, já desenvolvidas, logo cabe ao Exército utilizar tecnologias e soluções já consagradas.

O Exército Brasileiro, possui diversas Organizações Militares espalhadas por todo o Brasil, onde muitas delas desenvolvem para uso nos mais diferentes segmentos sistemas computacionais. Ocorre que muitos desses sistemas são feitos sem seguir qualquer metodologia e não raro encontramos sistemas sem documentação alguma.

A quantidade de pessoas disponível para atividades relacionadas ao desenvolvimento também é bastante variada. Existem OM as quais a atividade fim é o desenvolvimento de sistemas e algumas outras as quais o desenvolvimento é uma atividade sazonal. Para efeito de classificação nesse trabalho podemos categorizar as OM

(3)

de acordo com a sua participação na área de computação conforme abaixo:

de Desenvolvimento: são unidades onde

a atividade fim é o desenvolvimento de sistemas computacionais para uso na Força, geralmente são construídos

sistemas corporativos. Possui

disponibilidade de um efetivo especializado para a atividade.

de Suporte: são as OM responsáveis pelo

suporte a sistemas implantados na força, possui equipe de desenvolvimento, ocasionalmente desenvolve sistemas para uso regional. Possui algumas pessoas especializadas em desenvolvimento.

Comando de área e brigadas: são OM

onde existe uma seção de informática, com uma demanda de desenvolvimento pequena, com um efetivo pequeno para desenvolvimento, geralmente comandos militares e brigadas.

Unidade: OM geralmente nível

batalhão, onde existe uma seção de informática, porém os serviços na área computacional são geralmente voltados ao suporte a redes e computadores. Raramente são desenvolvidos sistemas, e quando o são é para uso na unidade somente, existem um ou dois militares em condições de executar a tarefa.

4 RUP

O RUP é um refinamento do Processo Unificado (PU) que é um processo iterativo popular para o desenvolvimento de software visando a construção de sistemas orientados a objetos (LARMAN, 2007, p.46).

De acordo com IBM(2000) o RUP oferece uma abordagem baseada em disciplinas para atribuir tarefas e responsabilidades dentro de uma organização de desenvolvimento. Sua meta é garantir a produção de software de alta qualidade que atenda às necessidades dos usuários dentro de um cronograma e de um orçamento previsíveis.

Existem duas dimensões no RUP, uma espacial, que representam as disciplinas agrupadas por natureza, e a temporal, que representa os aspectos do ciclo de vida a medida que se desenvolve conforme Ilustração 1.

Por ser um processo iterativo, ele possibilita a entrega de várias versões do produto, fazendo com que as partes interessadas possam ir validando o sistema a medida que é construído, conforme Ilustração 2.

O RUP, é um processo de desenvolvimento criado pela Rational Software Corporation, adquirida pela IBM, fornece técnicas a serem seguidas pelos membros da equipe de desenvolvimento de software com o objetivo de aumentar a sua produtividade.

O RUP foi concebido utilizando o paradigma de orientação a objetos e a notação UML.

É um processo considerado pesado e preferencialmente aplicável a grandes equipes de desenvolvimento e a grandes

Ilustração 1: Gráfico de Baleias

(4)

projetos, porém o fato de ser amplamente customizavel torna possível que seja adaptado para projetos de qualquer escala.

Para a gerência do projeto o RUP provê uma solução disciplinada de como assinalar tarefas e responsabilidades dentro de uma organização de desenvolvimento de software.

O RUP é, por si só, um produto de software. É modular e automatizado, e toda a sua metodologia é apoiada por diversas ferramentas de desenvolvimento integradas.

O desenvolvimento de software efetuado através do RUP é incremental e cada incremento é desenvolvido utilizando-se quatro fases: iniciação, elaboração, construção e transição. A isto se chama ciclo de desenvolvimento. Após a fase de transição, o produto pode voltar a percorrer cada uma das fases, constituindo a fase de evolução, na qual se produz uma nova versão do produto.

Na fase Iniciação é realizado um entendimento do problema e da tecnologia através da definição dos casos de uso mais críticos. Ao final, tem-se definido o escopo e riscos e a viabilidade do projeto.

Após a iniciação, tem inicio a fase de Elaboração, na qual é descrita a arquitetura do produto, nessa fase são estimados custos e elaborado cronogramas.

A fase de Construção é a construção do software propriamente dita, além de código são gerados os planos de teste e documentação.

A fase de Transição é onde os treinamentos de usuários são realizados.

O conceito de Artefatos definido pelo manual do RUP é “são produtos de trabalho finais ou intermediários produzidos e usados durante os projetos” (IBM, 2000). Eles são utilizados na captura e transmissão de informações do projeto. Exemplos de artefatos são, documentos, modelos e elementos do modelo. Os artefatos são agrupados em nove conjuntos:

– Modelagem de negócio; – Requisitos; – Análise e Design(Projeto); – Implementação; – Teste; – Implantação – Gerenciamento do Projeto; – Gerenciamento de Configuração e Mudança; – Ambiente.

O processo RUP é dividido em fluxos de trabalho, descritos abaixo:

A Modelagem de negócio provê um

entendimento comum entre as partes envolvidas sobre quais os processos de negócio que devem ser apoiados. A modelagem dos processos de negócio é feita através dos casos de uso de negócio.

Os Requisitos objetivam capturar as

necessidades do cliente para que sejam satisfeitas pelo produto de software que será entregue. Nas fases de iniciação e elaboração, a ênfase será maior neste fluxo de trabalho, pois o objetivo destas fases é o entendimento e a delimitação do escopo do produto de software.

Na Análise e projeto, o objetivo é

compreender mais precisamente os casos de usos definidos, produzindo um modelo voltado para a implementação.

A Implementação é propriamente

escrever os códigos de classes e objetos em termos de componentes.

O Teste objetiva a realização de casos

de testes para atestar se os requisitos foram atendidos.

Na Entrega é fechado uma nova

versão do produto e entregue ao usuário final. Pode incluir atividades de teste e migração de dados.

Outra característica importante do RUP é que os riscos do projeto são maiores nas fases iniciais do projeto, a medida que o projeto caminha o risco tende a ser menor. Dessa maneia é possivel eliminar ou diminuir

(5)

os efeitos dos riscos logo no início do projeto reduzindo os custos e evitando o desperdício, a Ilustração 3 demostra essa relação.

5 Análise de Adequabilidade

O RUP por ser altamente customizável pode ser utilizado em qualquer tamanho de projeto. Nesse artigo o autor busca propor uma configuração para utilizar o processo nas mais diversas OM do Exército Brasileiro. Os projetos foram classificados em três tamanhos:

– Pequenos (P);

– Médios (M);

– e Grandes(G).

A configuração proposta aqui é somente em nível de artefatos, mantendo o ciclo de desenvolvimento original proposto pelo RUP.

As OM também foram classificadas quanto às suas atribuições.

– desenvolvimento (1);

– suporte (2);

– comando de área e brigadas (3);

– unidade (4)

O objetivo é que se utilize um só processo de desenvolvimento em todo Exército, para que se possa ter um protocolo nessa área.

Parte-se do pressuposto também que projetos grandes só serão desenvolvidos em OM especificas para isso. Nas OM tipo 4 só serão desenvolvidos projetos pequenos.

Foi dado uma maior ênfase nas atividades de requisitos, objetivando para que não se afaste da metodologia proposta pelo

RUP, onde os riscos devem ser identificados e mitigados logo no inicio do projeto, dessa forma até mesmo nos projetos pequenos é dado ênfase nesses artefatos.

Na Tabela 1 encontra-se uma representação dessa proposta, onde é especificado os tipos de OM definidos no artigo, os conjuntos de artefatos e quais seriam confeccionados dependendo do tamanho do projeto. Conjunto de Artefatos Tipo O M Modelagem de Negócios Requi sito s Análi se e Projeto Impleme ntaçã o Tes te Implanta ção Ges tão de Projeto Gestão de C onfigu raç ão Ambiente 1 G PMG PMG PMG MG MG MG MG MG 2 PMG PMG PMG MG MG G G G 3 PM PM PM M 4 P P P

Tabela 1: Proposta de Adequação

Observa-se também que em projetos pequenos os artefatos de teste não são produzidos, porém os testes devem ser realizados durante a atividade de implementação, mas sem produzir artefatos.

5 Conclusão

A utilização de um processo é de

fundamental importância no

desenvolvimento de sistemas. A padronização, um dos principais benefícios da utilização de um processo, é de fundamental importância principalmente em uma instituição do porte do Exército Brasileiro com unidades espalhadas por todo o Brasil.

A informática por sua vital importância na atualidade, necessita, no âmbito do Exército Brasileiro, de uma

(6)

padronização, assim como a que já é feita em diversas outras áreas da Força.

A padronização facilita não só no entendimento do problema, mas também na continuidade dos sistemas já implantados, ou que estão em desenvolvimento.

O RUP se destaca por sua flexibilidade, seria possível ao Exército configurar o processo adequando-o as necessidades de cada projeto. Definindo os artefatos que seriam necessários para cada tipo de projeto, os quais poderiam ser categorizados por tamanho.

A escolha do RUP neste artigo se deve a sua grande adaptabilidade a diversos tamanhos de projetos. O autor acredita ser

esta a realidade do Exército, onde são desenvolvidos desde sistemas de uso por toda a Força até sistemas para uso em nível de uma companhia.

Em trabalhos futuros seria interessante o estudo de mecanismos para que o Exército Brasileiro pudesse mensurar o tamanho de seus projetos baseados em experiências anteriores na própria instituição ou um levantamento junto a grandes estatais como o Serviço Federal de Processamento de Dados (SERPRO) e a Informática do Paraná (CELEPAR). E também a definição de modelos para os artefatos que seriam gerados com o RUP.

Referencias

LARMAN, Craig; Utilizando UML e

Padrões – Uma Introdução a Análise e ao Projeto Orientado a Objetos e ao Desenvolvimento Interativo. 3ª ed. Porto

Alegre: Bookman, 2006.

BRASIL, Sociedade da Informação no;

Livro Verde. Brasília: Ministério da Ciência

e Tecnologia, 2006.

BARTIE, Alexandre; Inovação do Processo

de Software. Disponível em

<http://www.imasters.com.br/artigo/3834/des

_de_software/inovacao_do_processo_de_soft

ware/>

Acesso em 29/06/2007

IBM; Manual do RUP. Acompanha o Produto. IBM.

ORTENCIO, Vanderlei Vilhanova: Processo

de Desenvolvimento de Software.

Disponível em:

<http://www.pr.gov.br/batebyte/edicoes/1992

Referências

Documentos relacionados

Das conclusões apresentadas acima, afirma-se que o objetivo geral de Analisar o desdobramento logístico do Exército Brasileiro, evidenciando suas Organizações Militares

Estabelecer os critérios para a concessão de vagas em cursos e estágios em Organizações Militares (OM) do Exército Brasileiro (EB), destinadas a militares de

Aprova as Normas para o Processamento de Pedidos de Cooperação de Instrução no Exército Brasileiro O CHEFE DO ESTADO-MAIOR DO EXÉRCITO , no uso da competência que lhe foi

Diante do volume dos contratados celebrados pelas Organizações Militares do Exército Brasileiro e da importância que os militares designados têm para desempenharem

Com este estudo, pretende-se colaborar para a Gestão Pública das Organizações Militares de Saúde do Exército Brasileiro, analisando o trabalho

Para analisar o uso dos Esquadrões de Cavalaria Paraquedistas do Exército Argentino e do Exército Brasileiro, objetivo principal deste trabalho é determinar as diferenças

Conforme Exército Brasileiro (2017), os resíduos de serviços de saúde (RSS), são aqueles gerados em instalações de saúde das Organizações Militares (OM), em

A Implantação de Usinas Fotovoltaicas nas Organizações Militares, nível Batalhão, do Exército Brasileiro: instalação, manutenção, eficiência energética, autonomia energética