Projeto de Orçamento TI
Todo período de estágio foi dedicado ao projeto de um sistema de controle de orçamento na área de TI da empresa. Neste projeto, fui o responsável por todo processo de especificação e desenvolvimento, sob orientação da coordenadora de desenvolvimento interno, Cláudia Miyazaka, e com intensa participação dos clientes do sistema, o diretor de TI, Michel Basciano, e o gerente da área, José Batista.
Periodicamente no Banco BNP Paribas é efetuado o levantamento da previsão de gastos anual. Este é o orçamento e pode ser de 2 tipos:
O banco possui diversos "departamentos" para os quais os custos são alocados, estes são chamados de Centros de Custo. Na área de TI temos cerca de 15 Centros de Custos e cada um destes possui um coordenador responsável. Ex: Redes, Management, Desenvolvimento interno, etc... Pode-se ter para cada Centro de Custo inúmeros projetos relacionados. Os projetos por sua vez contêm os custos a serem considerados no Orçamento.
Todo tipo de custo é levado em conta: desde compra e manutenção de equipamentos e softwares, gasto com funcionários até com viagens e estadias. Podemos classificar os custos em: despesas e investimentos. As despesas têm uma regra especial: não são custeadas para o Centro de Custo diretamente relacionado, elas são distribuídas para os Centros de Custo do Banco de acordo com uma série de parâmetros denominada Chave de alocação. Para cada projeto temos uma chave de alocação definida.
É função do coordenador levantar os custos de cada projeto relacionado ao centro de custo do qual é responsável. O diretor da Área por sua vez tem o papel de analisar cada um destes projetos, e se for necessário efetuar os cortes necessários, e no final entregar relatórios a seus superiores.
Proposta do Sistema
Antes da implantação do sistema, na área de TI o orçamento era todo feito através de planilhas em Excel resultando em processo bastante trabalhoso.
Este sistema foi desenvolvido com os objetivos:
No sistema proposto temos o seguinte fluxo (simplificado) de atividades realizadas pelos usuários:
O sistema segue o modelo de 4 Camadas:
Cliente (Web Browser) |
Camada Apresentação (ASP) |
Camada Lógica (COM+ DLL) |
Camada Dados (SQL Server) |
Este modelo foi utilizado pois se trata de um modelo muito utilizado, eficaz e flexível:
A escolha das tecnologias utilizadas para cada camada foi restrita aos produtos Microsoft, mas que não foram empecilho algum para a implementação do sistema. Pela minha falta de experiência e a possibilidade de reaproveitamento de códigos e componentes foi adotada a tecnologia padrão já utilizada na intranet, baseada em páginas em ASP, Componentes DLLs (comunicação através do middleware* COM+) e banco de dados MS SQL Server.
*Software que permite a intercomunicação de estruturas de software
A área de desenvolvimento interno da empresa tem uma metodologia padrão baseada no modelo em cascata. Porém pude tomar a liberdade de adotar o modelo de desenvolvimento incremental no desenvolvimento deste sistema. As poucas restrições foram para validação final e implantação e, portanto seguimos as normas do departamento:
Foram definidas 3 iterações do processo de desenvolvimento que corresponderam aos 3 módulos do sistema:
Nesta fase foi desenvolvido o módulo essencial do sistema. Funcionalidades para controle do orçamento foram implementadas: criação, exclusão, cópia, alteração de dados e status de parâmetros, orçamentos e projetos. Como os requisitos nesta fase pareciam bem simples, o processo adotado nesta iteração foi o modelo em cascata. A interação com o cliente foi intensa na parte inicial para especificação, com a definição dos dados necessários ao sistema e a definição da interface gráfica do sistema (com o uso de protótipos de interface).
![]() |
![]() |
![]() |
![]() |
Screenshots das telas do sistema |
Este módulo é responsável pela geração de relatórios em formato Excel a partir dos dados inseridos no sistema no módulo anterior.
Como havia conceitos não muito bem definidos para este processamento foi utilizado o modelo de desenvolvimento evolucionário exploratório nesta fase.
Temos 3 tipos principais de relatórios:
Além destes temos a geração de outros relatórios auxiliares, utilizados apenas para análise do diretor:
Além do controle do orçamento, é importante prover o controle de gastos efetivos e poder analisar os dados e comparar com o orçamento. Inicialmente, este módulo não nem estava previsto, ele foi desenvolvido no período final do estágio e, portanto as funcionalidades e requisitos necessários eram uma incógnita, por isso adotei o modelo evolucionário exploratório com uso intenso de protótipos para definir funcionalidades adicionais ao sistema que poderiam auxiliar o controle de gastos efetivos. A única funcionalidade que estava bem definida era a geração automática de um relatório idêntico ao step 2, mas somente com as despesas que de fato foram gastos em um mês.
A parte de codificação no início não foi fácil devido à inexperiência nas tecnologias utilizadas, entretanto, o maior desafio neste sistema foi a coleta de requisitos e modelagem. Em especial, o processo de alocação foi o mais trabalhoso, a maioria das chaves de alocação não eram triviais (como no exemplo), e suas regras muitas vezes não eram claras (nem mesmo para o diretor da área de TI).
O projeto de Orçamento foi implantado com sucesso na área de TI preenchendo os requisitos estipulados. O sistema reduziu consideravelmente o trabalho dos coordenadores, e em grau ainda maior ao diretor da área pois a geração de relatórios ficou totalmente automatizada no processo de orçamento.
Ainda está planejado o incremento do sistema na parte relativa ao controle efetivo de gastos. Existe a possibilidade no futuro de que com base neste sistema ocorra o desenvolvimento e integração do processo orçamentário com as outras áreas do banco.
* Os dados contidos nos exemplos deste documento têm apenas caráter ilustrativo, contendo somente valores fictícios.