ETAPAS PARA DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO (SI) (Ênfase em Sistema de Banco de Dados) São passos a serem seguidos que organizam e estruturam as fases do desenvolvimento facilitando o gerenciamento e controle das diversas atividades do processo. Diminui a complexidade do desenvolvimento de um SI, facilitando a distribuição de tarefas de acordo com a especialização do pessoal. 1. ESTRATÉGIA. Nesta fase são abordados assuntos estratégicos fundamentais para o desenvolvimento do sistema de informações como um todo (visão macro ou global). Os seguintes tópicos podem ser abordados: a) Objetivos do sistema. GERAL (Definido com uma frase ou parágrafo ou o nome do sistema). ESPECÍFICOS (Detalhamento do geral). Levantar os objetivos do sistema de informações que será desenvolvido. Normalmente os SI são desenvolvidos para: - Solucionar um problema. Ex: o sistema atual de uma empresa está obsoleto, gerando saídas de processamento inconsistentes (relatórios incorretos) e sua manutenção se tornou inviável. - Aproveitar uma oportunidade. Ex: a empresa visualizou uma nova área de negócios para atuar no mercado e precisa de um sistema para operar nessa nova área. b) Escopo do sistema. - Definir quais são as áreas / setores / departamentos / seções / atividades e se possível os processos da empresa que serão atendidos pelo sistema e quais áreas da empresa não serão atendidas pelo sistema (fronteiras do sistema). c) Definição da forma de trabalho. - Contratação de pessoal para desenvolvimento do SI dentro da própria empresa: é melhor que a organização possua uma área de informática estruturada sendo a contratação apenas um reforço de pessoal especializado não existente na empresa. - Terceirização: quando a empresa não possui uma área de informática / desenvolvimento de SI estruturada dentro da organização ou julga mais vantajoso esta opção por outros motivos (custos, especialização do pessoal, tranferência de tecnologia/conhecimento, sobrecarga de trabalho do seu pessoal, etc). - Desenvolvimento próprio: a empresa possui pessoal especializado disponível. - Outras formas de desenvolvimento. 1 d) Arquitetura que será utilizada. - Linguagem de programação. - SGBD (Sistema Gerenciador de Banco de Dados). - Arquitetura do sistema (2 ou 3 camadas) - etc... e) Pessoal / especializações. - Levantamento (quantitativo e qualitativo) do pessoal especializado necessário para o desenvolvimento do sistema: analistas de negócio, analistas de sistema, programadores, suporte técnico, pessoal de apoio administrativo, etc.). f) Infraestrutura a ser utilizada. - Hardware, software, instalações físicas. g) Estimativa de custos. - Recursos disponíveis pela empresa para o desenvolvimento do SI. - Recursos necessários para o desenvolvimento do SI considerando: escopo do SI, pessoal necessário, prazos, infraestrutura, tecnologias, etc. h) Migração de dados. - Onde estão os dados ? - Qual o seu volume ? - Quais os formatos ? i) Existe um sistema atual ? - Utilizado a quanto tempo ? - Qual a sua arquitetura (BD e interfaces) ? - Qual o número de usuários ? j) Treinamento do usuário. (colher dados para futuro planejamento) - Quantos usuários ? - Como será o treinamento ? - Qual a infra-estrutura necessária ? - Qual o tempo necessário e em que horários ? k) Prazos. - Elaborar o cronograma de desenvolvimento do SI considerando: escopo do SI, pessoal disponível, infraestrutura disponível, tecnologias, necessidades da empresa, etc. 2 2. ANÁLISE. a) Entrevistas. Nesta fase serão levantados os Requisitos de Negócio (RN) que serão utilizados no desenvolvimento do sistema através de entrevistas com os usuários/áreas de negócios dentro da empresa. As entrevistas podem enfatizar a sua importância (foco) nos dados ou nos processos dependendo da abordagem escolhida pelo gerente do desenvolvimento. Detalhes para a entrevista: experiência e perfil do entrevistador, dupla de analistas, data/hora/local, gravador, remeter pré-questionário com antecedência ao usuário. Produto da entrevista: rascunho com os RN (preocupação com conteúdo e não com a forma). b) Elaboração dos RN. Passar a limpo os rascunhos dos RN transformando-os em RN propriamente dito. RN: texto claro, preciso e objetivo contendo as regras de negócio do usuário (deve ser redigido para qualquer analista entendê-lo – preocupação com a forma). Trocar os RN com os demais analistas para verificar a clareza. 3. DESENHO. Com base nos Requisitos de Negócios (RN) são construídos os modelos: de dados (Modelo Entidade Relacionamento - MER) e de processos (Diagrama de Fluxo de Dados – DFD). Construção do Modelo Conceitual de Dados (não atrelado a nenhum SGBD específico). Utilizar Ferramenta Case (Ex: Power Designer). 4. CONSTRUÇÃO. A partir do modelo anterior (MER Conceitual) gerar na própria ferramenta CASE o Modelo Lógico (Power Designer chama de Modelo Físico). Escolher o SGBD específico em que o modelo será gerado. Geração do Script (arquivo texto com os comandos SQL de criação do banco). Criar o BD utilizando o Script gerado pela ferramenta CASE. 5. DOCUMENTAÇÃO. Na realidade esta fase deverá estar presente em todas as demais fases do processo de desenvolvimento. A documentação é imprescindível e fundamental em todas as fases do processo de desenvolvimento. As ferramentas CASE já disponibilizam a estruturação e armazenamento da documentação à medida que o analista vai interagindo e fornecendo as informações de desenvolvimento em todas as fases. 3 6. TESTES. Logo após a construção dos programas, estes devem ser reunidos, integrados e testados utilizando uma massa de dados de testes. Testes preliminares: feitos isoladamente pelo próprio programador. Testes de integração: testes feitos em mais de um módulo funcionando em conjunto. 7. TRANSIÇÃO. Duas situações devem ser aqui consideradas: A primeira, quando a empresa já possui um sistema em operação(sistema atual) que será substituído pelo novo sistema. Neste caso, antes de "desligar" o sistema em operação, deve-se efetuar a chamada produção em paralelo para evitar a interrupção das atividades de processamento da empresa caso o novo sistema apresente algum problema mais sério. Os dados utilizados pelo sistema em uso são migrados para o novo sistema (migração de dados). A segunda, quando a empresa não possui um sistema em operação, o sistema novo deve operar em status de implantação, ou seja, em fase de experiência. Treinamento do usuário. 8. PRODUÇÃO. Esta última fase segue-se após a transição e nesta fase o sistema já deverá ter sido validado e recebido pela empresa, ocasião em que entrará em plena operação. OUTRAS CONSIDERAÇÕES: Os sistemas são abertos, dinâmicos e sofrem a influência do ambiente que o cerca (interno e externo) o que pressupõe a necessidade de manutenções durante seu ciclo de vida. As manutenções podem ser corretivas, quando se referem à correção de erros de desenvolvimento/programação, normalmente previstos no prazo de garantia contratual ou evolutivas, quando se referem a novas necessidades/funcionalidades/requisitos não previstos no escopo inicial do sistema. Todas as fases do processo de desenvolvimento do sistema devem ser parte integrante de um contrato com validade jurídica, estabelecendo prazos de desenvolvimento, produtos de cada fase, cronograma, desembolso financeiro, multas por atraso, não cumprimento do contrato, prazos de garantia, etc. 4