Baixe o app para aproveitar ainda mais
Prévia do material em texto
WORKFLOW DE ANÁLISE Professor Wilson Dias Ismael da Trindade Lourenço¹ Marcos Ribeiro de Jesus² 1 Aluno do 4o Semestre do Curso de Sistemas de Informação, Faculdade Fortium, Disciplina Engenharia de Software. Email: ismael.tmael@gmail.com 2 Aluno do 4o Semestre do Curso de Sistemas de Informação, Faculdade Fortium, Disciplina Engenharia de Software. Email: mrj84@outlook.com RESUMO Cada fase do processo de desenvolvimento consiste de uma ou mais iterações dos seguintes workflows: Requisitos Análise Design Implementação Teste No workflow de requisitos, o modelo de caso de uso e outros artefatos ( protótipos de tela, glossário, etc) são usados para construir um modelo inicial baseado nos requisitos dos usuários. No workflow de análise, os requisitos são analisados com mais detalhes, desde a descrição da estrutura interna e o comportamento do sistema proposto. O limite entre análise e design pode ser bastante vago; eles muitas vezes se sobrepõem. Regras de ouro para a modelagem de análise : O modelo de análise conversa sempre na mesma língua do negócio. Concentrese em captar a grande figura (não se atolar em detalhes) Concentrese no domínio do problema (requisitos de negócios), não o domínio da solução (observando detalhes de design). Não se preocupe com as classes de implementação, tais como acesso de banco de dados ou classes de interface de usuário. Mantenha o modelo simples. Este trabalho explica objetivamente os passos necessários para um processo de análise de sistemas. As principais atividades do Workflow de Análise visam a construção do modelo de análise, o que ajuda os desenvolvedores refinar e estruturar os requisitos funcionais capturados dentro do modelo de caso de uso. Ao fazer a análise de um sistema, todos os pontos devem ser observados a fundo afim de se encontrar soluções para o processo de fabricação de um sistema. 1 Elementos de um sistema Todos os elementos que envolvem um sistema computacional devem ter a atenção do analista. Não há como se iniciar um processo de construção, reparo, ou combate de algo que você não tenha domínio ou no mínimo o conhecimento bem avançado. Primeiro vamos as definições, sistema segundo Aurélio é: “Disposição das partes ou elementos de um todo, coordenados entre si, e que formam uma estrutura organizada.” (Aurélio, 2004, Miniaurélio). As partes ou elementos do sistema precisam estar coordenados para que a estrutura seja organizada. Precisamos separar cada elemento, enquadrálos em uma das classes e então definir seus objetivos ou funções. Sistemas baseados em computador, em sua maioria, é constituído de seis elementos primordiais: documentação, procedimentos, banco de dados, hardware, software e o componente mais importante, por mais que pareça contraditório em se tratando de sistemas computacionais, as pessoas. A seguir cada um deles e sua relativa definição entre aspas segundo Aurélio (2004, Miniaurélio) e associação ao meio computacional: Documentação: “2.Conjunto de documentos. [Pl.: –ções.]” Regimentos internos, aspectos proprietários, manuais de equipamentos ou softwares. Procedimentos: “2.Modo de agir, de proceder; comportamento.” Passos definidos de a serem seguidos por cada elemento ou os passos globais que objetivam a correta execução do sistema como um todo. Banco de Dados: “Dado: Inform. Elemento de informação, em forma apropriada para armazenamento, processamento ou transmissão por meios automáticos.” Banco de dados vem a ser a união todas as informações adquiridas, organizadas e armazenadas para busca, inserção ou atualização, exclusão e utilização através dos softwares. Software: “2.Qualquer programa ou conjunto de programas de computador. ” Servem para automatizar, agilizar e controlar processos ou tarefas. Hardware: “Componente, ou conjunto de componentes físicos de um computador.” Todos os componentes eletrônicos de determinado sistema, podem ser discos rígidos, placas de expansão, processadores, motores, robôs e etc. Pessoas: “4.Jur. Seres a quem se atribuem direitos e obrigações.” Usuários e operadores dos softwares e equipamentos eletrônicos do sistema. 2 Análise de Sistemas Um Workflow de análise necessita dos primeiros diagramas construídos através das primeiras reuniões e impressões obtidas entre os agentes envolvidos no processo de engenharia de requisitos. Segundo Pressman em seu livro Engenharia de Software a análise de sistemas envolve todas as etapas executadas durante a engenharia de sistemas de computador e é realizada com os seguintes objetivos: 1. Identificar a necessidade do usuário; 2. Avaliar a concepção do sistema quanto a sua exequibilidade; 3. Executar análise econômica e técnica; 4. Atribuir funções ao hardware, ao software, às pessoas, ao banco de dados e aos demais elementos do sistema; 5. Estabelecer as restrições de prazo e custo; 6. Criar uma definição de sistema que constitua a base para todo o trabalho de engenharia subsequente. 3 Identificação de necessidade A análise da necessidade de um cliente não pode ter interpretações errôneas ou um pobre levantamento de requisitos, pois os fracassos em projetos nascem nesse momento. A identificação das necessidades é a semente do processo de produção de um software, de uma solução. Após definidos os requisitos principais do sistema, o analisa fará então um questionamento sobre os seguintes pontos: (a) Função e desempenho desejados; (b) Questões de confiabilidade e qualidade; (c) Metas globais do sistema; (d) Requisitos de produção; (e) Mercados e concorrência; (f) Tecnologia disponível; (g) Extensões futuras. 4 Estudo de Viabilidade O estudo da viabilidade é o ponto crucial para a continuidade ou não de um projeto, todos as possibilidades devem ser analisadas de forma profunda. Os recursos e tempo são geralmente os dois pontos que determinam se um projeto será ou não iniciado e caso as estimativas forem erradas o projeto pode parar no meio do caminho e então as duas partes ou uma delas terá muito prejuízo. Além da questão tempo e dinheiro, a questão da visão empreendedora e a capacidade de acompanhar as novas exigências de um mercado cada vez mais experientes em contato com softwares de fácil utilização pesa para empresas que não se adaptem as novas necessidades. Durante o estudo de viabilidade devemos nos concentrarem quatro áreas fundamentais segundo Pressman: Viabilidade econômica: Uma Avaliação do custo de desenvolvimento confrontada com a renda ou benefício últimos derivados do sistema desenvolvido. Este estudo já tem como objetivo o levantamento de custos e impactos econômicos que o software terá dentro da empresa. Por exemplo, se a equipe de desenvolvimento possui o conhecimento necessário da linguagem de programação, se será necessária aquisição de alguma licença especial tanto para o desenvolvimento ou para a implantação do sistema dentro da empresa, custos com hardware, pessoal capacitado, ou seja, nesta etapa tendese a avaliar todo e qualquer custo que ocorrerá tanto no desenvolvimento quanto na implantação do sistema, levandose em consideração sempre o custo benefício. O objetivo final desta etapa e provar ao cliente que o investimento que ele está fazendo terá lucro ou benefícios para a empresa, uma vez que se isto não for comprovando o projeto pode morrer nesta etapa mesmo. Viabilidade técnica: Um estudo da função, do desempenho e das restrições que possam afetar a capacidade de se conseguir um sistema aceitável. A viabilidade técnica é a área mais difícil de ser avaliada nesta etapa do processo de desenvolvimento do sistema. Com todos pontos definidos qualquer coisa pode teoricamente ser possível. Seria interessante que a análise e definição andem paralelamente a avaliação de viabilidade técnica. As três seguintes considerações são normalmente associadas a viabilidade técnica: i) Riscos do desenvolvimento. O sistema pode ser projetado de forma que a função e o desempenho necessários sejam obtidos dentro das restrições reveladas durante a análise? ii) Disponibilidade de recursos. Existe um pessoal competente à disposição para desenvolver o sistema em questão? Os demais recursos necessários (hardware e software) estão à disposição para a construção do sistema? iii) Tecnologia. A tecnologia progrediu para um estado que suporte o sistema? Esse estudo visa avaliar a função, desempenho e limitações que um software terá dentro de uma empresa, com isso é possível identificar se o sistema proposto atenderá ou não as necessidades do cliente. A viabilidade técnica é citada por muitos como a mais difícil a se fazer, uma vez que a função do sistema pode acabar ficando um pouco vaga quando o cliente não sabe exatamente o que quer, com isso desempenho e limitações são feitos por meio de previsões, o que em alguns casos podese comprometer módulos do sistema ou até mesmo o sistema inteiro, não se obtendo o resultado esperado ao final. Em alguns casos por não se conseguir identificar exatamente o que o cliente deseja, acabase optando pelo modelo de ciclo de vida espiral e combinando ele com o modelo de prototipação, caindo em um loop infinito e tornando assim o projeto um fracasso uma vez que nunca se consegue chegar a um produto final. Viabilidade legal: Uma determinação de qualquer infração, violação ou responsabilidade legal que possa resultar do desenvolvimento do sistema. Para este estudo o objetivo passa a ser identificar aspectos legais do sistema. Para isto devese estar atento a leis federais, estaduais e municipais para que nenhuma delas seja infringida. Lembrando que caso a empresa que utilize um sistema e passe por uma fiscalização e nesta seja encontrada algum tipo de irregularidade com o sistema, como por exemplo, você foi contratado para desenvolver um sistema para um mercado, e quando você estava fazendo o levantamento de requisitos o cliente diz que precisaria de um controle “a parte” para entradas e saídas, e que este controle seja feito fora do controle fiscal, nesta hora, muitas vezes para alimentar seu ego e provar que se pode fazer tudo ou até mesmo por impulso, acabase dizendo que não terá problemas para se implementar e que não será nada difícil, e este controle “a parte” acaba sendo implementado. No caso desta empresa sofrer uma fiscalização e que seja detectado este controle “a parte” quem fez o sistema acaba respondendo como cumplice por sonegação de impostos e pode enriquecer seu curriculum com alguns anos de cadeia. Para que o sistema se torne viável ele deve ser submetido a estes 3 estudos e deve obrigatoriamente receber um aval favorável de todos. Uma vez que se o sistema não for viável financeiramente para a empresa, significa que a empresa não poderá pagar por ele. Se não for viável tecnicamente significa que o sistema não atenderá o cliente da forma que ele necessita e não terá o desempenho esperado. Se não for viável legalmente problemas com multas ou até mesmo prisões tendem a aparecer, gerando muitas reclamações por parte do cliente. Resumindo tudo, se o sistema não é viável para o cliente, com certeza não será viável para a equipe de desenvolvimento uma vez que será tempo gasto com um projeto que estava condenado ao fracasso desde seu início. Concluindo, vejo o estudo de viabilidade um ponto de extrema importância para um projeto. Uma vez que ele influência muito no produto final. E se você é um desenvolvedor sério que visa vender seus softwares, ganhar mercado, garantir a qualidade de seu produto e satisfação de seus clientes, vale muito a pena dar uma atenção especial a este item. Alternativas: Uma avaliação das abordagens alternativas ao desenvolvimento do sistema. Assim que as questões associadas à tarefa de análise tiverem sido respondidas, soluções alternativas serão consideradas. Cada função de sistema, com suas características de desempenho e interface exigidas, é atribuída a um ou mais elementos do sistema. Por exemplo, a análise de um novo sistema gráfico de computador indica que uma função importante é a transformação tridimensional de imagens gráficas. Uma investigação de soluções alternativas para a função de transformação descobre as seguintes opções: 1. Todas as transformações tridimensionais são executadas com o uso do software. 2. Transformações “simples” (por exemplo, ajuste de escala, translação, rotação) são executadas em hardware, enquanto as transformações “complexas” (por exemplo, perspectiva, sombreamento)são executadas em software. 3. Todas as transformações são realizadas com um processador gráfico implantado em hardware. 5 Considerações Finais Concluise que workflows de requisito e análise são separados pela necessidade de que os artefatos de requisitos devem ser expressa na linguagem do cliente enquanto os artefatos de análise devem ser precisos e completos o suficiente para os desenvolvedores (embora possam ser revistos com usuários avançados). A análise de sistemas constituse no workflow mais determinante para os outros passos do processo de desenvolvimento de um software. 6 Referência LIVRO: Engenharia de Software Autor: Pressman, Roger S. INTERNET: 3ª Etapa TCC – Estudo de Viabilidade. Data da pesquisa 02/10/2015. Disponível em: https://fernandogodoy.wordpress.com/tag/viabilidadelegal/
Compartilhar