COTIL Análise e Projeto de Sistemas de Informação (APSI) Profa. Simone Berbert Rodrigues Dapólito CAP. 2 FASES DO DESENVOLVIMENTO DE SISTEMAS
Introdução O software/sistema de informação(si) é um produto que precisa: Atender às necessidades e expectativas do cliente ou usuário; Proporcionar melhorias em relação ao funcionamento das empresas; Ser bem produzido e fácil de usar.
Introdução Na prática, um SI deve agregar valor à empresa, isto é, possibilitar a melhoria do desempenho de um setor/departamento ou mesmo de uma unidade industrial.
Introdução Como já vimos, a construção de um projeto de software começa com a idéia básica de que é necessário criar um SI ou melhorar o desempenho do que já está em operação. Normalmente, os analistas estão à frente desse trabalho bastante complexo, mas proporcional ao tamanho de cada sistema.
Introdução Imagine um SI que controle o estoque de medicamentos de uma pequena farmácia; Agora, imagine controlar o estoque de medicamentos de uma rede de farmácias com 400 lojas em todo o Brasil; Os cenários são bem diferentes, assim como a complexidade de cada sistema.
Para um projeto de software/si, a equipe de desenvolvimento deve ter em mente as seguintes fases: Concepção do sistema Estudo de viabilidade Processo de análise Projeto do sistema Projeto detalhado Implementação Testes Implantação Manutenção
Essas principais fases, permitem trabalhar de forma disciplinada e gradual; Cada fase pode ser desdobrada em subfases, de acordo com as habilidades e conhecimentos da equipe.
Concepção Estudo da Viabilidade Processo de Análise Projeto do Sistema Projeto Detalhado Manutenção Implantação Testes Implementação
Concepção do Sistema Alguém na organização identifica um problema a ser resolvido ou uma necessidade a ser atendida; A partir daí pode-se entender que é necessário construir um SI ou aperfeiçoar um já existente; Aqui tem início a fase de Concepção;
Concepção do Sistema Essa fase pode ser considerada o embrião do sistema; Inicialmente o analista fará um entendimento inicial das necessidades e uma estimativa de custos não muito precisa;
Concepção do Sistema Nessa fase inicial ainda é difícil prever investimentos, mas a organização/cliente precisa ter uma idéia aproximada dos custos. Para fazer um relatório das principais necessidades da organização/cliente, apresentar alternativas de solução e uma idéia aproximada de custos, o analista tem um prazo que pode variar de 3 dias a 1 semana de acordo com a complexidade do projeto.
Concepção do Sistema Após esse estudo preliminar, o analista elabora um relatório mais detalhado das necessidades levantadas e soluções propostas, passando a considerar também o prazo estimado para a conclusão do projeto como um todo.
Concepção do Sistema Com esse documento/relatório em mãos, a organização decide se deve ou não dar andamento ao projeto.
Estudo da viabilidade Consiste em uma avaliação detalhada dos custos e benefícios de um projeto de software para a empresa. Se os riscos e limitações forem superiores aos benefícios, a equipe técnica pode propor a extinção do projeto ou mudanças substanciais que se adaptem melhor à empresa.
Estudo da viabilidade Pode-se também optar pela construção de um sistema, pela melhora do atual ou pela compra de um software pronto no mercado de informática; Em alguns casos, a compra de um software pronto pode atender à demanda da organização, tendo custo bem menor do que o desenvolvimento de um projeto personalizado.
Estudo da viabilidade Nesse contexto é importante avaliar a viabilidade técnica e a viabilidade econômica;
Estudo da viabilidade A viabilidade técnica depende basicamente: Da cultura da organização/cliente; Da familiaridade dos usuários com Tecnologia da Informação(TI); Da aceitação de inovações tecnológicas por usuários inexperientes.
Estudo da viabilidade A viabilidade econômica depende basicamente: Dos custos operacionais e de desenvolvimento; Da necessidade de compra de equipamentos; Da necessidade de contratação de profissionais;
Estudo da viabilidade O estudo da viabilidade deve ser realizado em conjunto pelo gerente de projetos, pelo analista de sistemas e pela alta administração da organização/cliente.
Estudo da viabilidade Quanto aos objetivos da construção do sistema, ou aperfeiçoamento de um sistema existente, destacam-se: Manter a organização em nível superior ao dos concorrentes; Melhorar o atendimento aos clientes; Melhorar a qualidade dos serviços prestados ou dos produtos; Aumentar o lucro; Obter dados e informações com mais rapidez; Aumentar vendas; Reduzir custos, etc.
Processo de Análise Consiste em fazer um levantamento minucioso de dados e fatos para descobrir o que realmente precisa ser feito pelo sistema;
Processo de Análise Nessa fase, a equipe de análise de sistemas vai: Ouvir o usuário; Trocar sugestões; Atentar para sua expectativa; Avaliar a realidade cotidiana da organização;
Processo de Análise Deve haver uma grande sintonia entre o usuário e a equipe de análise, possibilitando o desenvolvimento do projeto de software/si; (Stakeholders) Stakeholder: qualquer pessoa ou organização que tenha interesse, ou seja afetado pelo projeto (partes interessadas); O problema deve ser resolvido em caráter definitivo e não com medidas paliativas e temporárias;
Processo de Análise É indispensável identificar todos os elementos de dados que podem gerar informações importantes para a tomada de decisão na organização empresarial...e... Avaliar como eles podem ser introduzidos no novo sistema.
Processo de Análise Esse levantamento pode ser realizado por meio de: Pesquisas em documentos Entrevistas com usuários / futuros usuários Análise de arquivos da empresa, etc. Esse processo recebe o nome de Coleta e Análise de Requisitos e é muito importante pra definir as entradas de dados e saídas de informações relevantes para a empresa.
Processo de Análise O documento / relatório gerado nessa fase, deve conter: Definição dos principais objetivos do sistema; Listagem dos deptos que participarão e os que não participarão do desenvolvimento; Descrição do funcionamento do sistema; Descrição dos arquivos a serem utilizados; Definição dos métodos de atualização dos arquivos; Definição dos responsáveis pela alimentação de dados no sistema; Indicação de prazo para processamento de dados; Indicação de prazo para apresentação de resultados ao usuário; Modelo lógico do sistema;
Processo de Análise Todos esses itens podem sofrer modificações após ser revisto / validado com o usuário.
Projeto do Sistema Nessa fase o analista passar a buscar as alternativas de solução para atender as necessidades da organização / cliente; O analista deve apresentar documentos / relatórios para cada alternativa, listando custos e benefícios de cada uma;
Projeto do Sistema Além dessas informações, os documentos, relatórios devem conter, de forma sintética: Diagrama de Casos de Uso que possam demonstrar a idéia do sistema; Tipos de bancos de dados ou arquivos a serem utilizados; Definição de arquivos de dados e seus layouts; Especificação dos relatórios a serem emitidos;
Projeto do Sistema Após a análise das alternativas propostas, a administração da organização / cliente opta por aquela que atenda melhor aos seus interesses.
Projeto Detalhado Concluído o projeto geral do sistema e feita a escolha da melhor alternativa, passa-se para a fase de Detalhamento do Projeto, onde deve-se: Definir detalhadamente o modelo de dados; Definir detalhadamente os arquivos de dados e seus laytous; Criar layouts de relatórios; Criação de diagramas UML que possam facilitar o entendimento do projeto;
Projeto Detalhado Detalhar as funcionalidades em casos de uso textuais; Criar protótipos; Criar planos de testes; Revisar estimativas de custos e prazos, etc.
Projeto Detalhado Para a conclusão dessa fase e início da fase de implementação, o analista/engenheiro de software/arquiteto de software deve(m) fazer a validação do projeto com o usuário, demonstrando como o SI funcionará;
Projeto Detalhado Ainda nessa fase, a equipe de analistas/engenheiros/arquitetos deve(m) definir, junto aos programadores os detalhes da implementação do sistema. Os programadores precisam de todas as especificações técnicas necessárias para a codificação de cada programa.
Implementação Essa fase consiste na codificação/programação, na construção física do sistema, baseada na documentação gerada na fase anterior (Projeto Detalhado);
Testes Teste de software é o processo de execução de um produto para determinar se ele atingiu suas especificações e funcionou corretamente no ambiente para o qual foi projetado; O seu objetivo é revelar falhas em um produto, para que as causas dessas falhas sejam identificadas e possam ser corrigidas pela equipe de desenvolvimento antes da entrega final; Essa fase visa ao aumento da confiança de um produto através da exposição e resolução de seus problemas, porém antes de sua entrega ao usuário final.
Implantação Consiste na entrega do produto ao cliente; O sistema está concluído e é preciso colocá-lo em operação; Essa fase deve ser muito bem planejada e articulada com os gerentes dos setores usuários, destacando-se alguns pontos, como:
Implantação Teste geral do sistema com dados reais e no ambiente real; Treinamento de usuários; Acompanhamento de todos os procedimentos operacionais pela equipe de análise; Controle e análise de resultados.
Implantação Antes de finalizar o processo de implantação, o analista deve estudar cuidadosamente os resultados gerados pelo sistema para assegurar a total confiabilidade das informações; Em seguida, o novo sistema de informação será liberado para operar.
Manutenção A manutenção de um sistema é o processo de acompanhamento de suas operações, dando suporte permanente aos usuários; Na fase inicial, esse processo visa também a correção de possíveis erros; Os sistemas também mudam e evoluem com o passar do tempo para atender a dinâmica da organização/empresa e/ou mudanças na legislação;
Manutenção O suporte permanente ao cliente é de grande valor, pois ele vai se sentir muito mais seguro na operação do novo sistema.
Próximo passo Conhecer um pouco sobre Ciclo de Vida de um Sistema, mas antes...
Exercícios 1 - Qual é o principal objetivo de um SI? 2 - Quais são as fases do desenvolvimento de SI's? 3 - Explique resumidamente qual é o objetivo de cada fase. 4 - Diferencie Viabilidade Técnica e Viabilidade Econômica. 5 - Quais os principais objetivos de se construir um software ou de se alterar um software já utilizado por uma organização? 6 - O que é "Stakeholder"? 7 - Na fase Processo de Análise, quais os meios utilizados para se fazer o levantamento de requisitos? 8 - O que os programadores precisam "ter em mãos" para iniciar a implementação do software? 9 - Qual é a importância dos testes de software? 10 - Quais os fatores que podem gerar manutenção em um software?
Bibliografia SILVA, Nelson Peres da. Análise de Sistemas de Informação Conceitos, Modelagem e Aplicações. 1. ed. São Paulo : Érica 2014 Artigo Engenharia de Software - Introdução a Teste de Software <http://www.devmedia.com.br/artigo-engenharia-de-software-introducaoa-teste-de-software/8035> Acesso em 26 de março de 2015