A analise de sistemas orientada ao sucesso

download A analise de sistemas orientada ao sucesso

If you can't read please download the document

Transcript of A analise de sistemas orientada ao sucesso

O seguinte artigo uma compilao de trechos do livro " Anlise de Sistemas Orientada a o Sucesso: Por que os projetos atrasam? " liberada para o JavaFree pelo autor Da niel Batista Fernandes e pela editora Cincia Moderna. O livro foi lanado em 2005 e j est entre as principais referncias em anlise de sistemas da lngua portuguesa. Abordagem Na imensa " selva " que se tornou a rea de Tecnologia da Informao com o predomnio da s novas tecnologias induzindo as empresas a um consumismo imediatista " das novi dades ", a capacidade de pensar do analista de sistemas parece estar sendo coloc ada em segundo plano. A tendncia de tornar as coisas mais fceis, mais prticas, mais produtivas e mais amigveis, acaba pressionando um processo nem sempre consistent e de transformao do modelo convencional de anlise para um modelo de desenvolvimento baseado em ferramentas automatizadas. O livro procura abordar esse tema de uma forma crtica, porm simples e com um leve toque de humor para tornar a leitura meno s rida e mais descontrada. Versa sobre a pretenso de que softwares, tecnologicament e sofisticados, possam substituir a imprescindvel contribuio intelectual do analist a de sistemas na elaborao de um projeto. Ao mesmo tempo em que sugere uma viso crtic a da utilizao da metodologia na empresa, isenta de interesses comerciais, procura passar ao leitor os aspectos fundamentais que determinam a eficcia de uma metodol ogia de desenvolvimento de sistemas. Ao colocar em primeiro plano interesses com erciais, fornecedores de hardware e software contribuem para uma excessiva volat ilidade das solues de tecnologia, muitas vezes inconsistentes entre si. Este livro nos convida a refletir, com senso crtico, sobre a influncia da Indstria da Informao na Metodologia de Desenvolvimento de Sistemas, ao desmistificar o principal argu mento dos " vendedores de soluo ": " o atraso dos projetos de software. "

A indstria da informao, baseada no conhecido argumento do? atraso nos prazos do pro jeto?, fatura bilhes de dlares por ano, produzindo equipamentos e softwares, levan do s empresas a um permanente estado de adaptao de seus processos de desenvolviment o; enquanto que as empresas, empurradas para a necessidade de uma constante adap tao e atualizao as novas plataformas e aos novos padres de mercado, no conseguem atin ir um estgio ideal de amadurecimento em seus processos de construo de software. Lon ge de resolver os problemas propostos, tais solues contribuem para o surgimento de novos problemas, com a introduo da? novidade?; at que o novo processo torne-se suf icientemente maduro, surgem novas falhas no desenvolvimento dos sistemas, e, par adoxalmente:? novos atrasos em projetos?. O risco, para empresas e profissionais de sistemas, que os softwares de hoje, es taro obsoletos amanh, e esse movimento vai se tornar cada vez mais rpido e a idade de obsolescncia dos profissionais vai reduzir cada vez mais, aumentando a dependnc ia das empresas por novas tecnologias, aumentando a dependncia dos profissionais de novas certificaes em ferramentas e softwares especializados e perpetuando o mer cado dos vendedores de soluo. Especificao de Requisitos O objetivo da Especificao Preliminar ou Anteprojeto transmitir uma idia global e ge nrica do projeto a ser desenvolvido segundo a viso dos usurios. elaborado para comp reender a real necessidade dos usurios e suas expectativas, dimensionar a sua abr angncia e delimitar o seu escopo.

A principal caracterstica do Anteprojeto a sua natureza de estudo de viabilidade, de algo desejado, mas que ainda no foi devidamente analisado, permitindo dessa f orma explorar alternativas para verificao de sua eficcia como soluo. fundamental o e tabelecimento das Premissas Bsicas que nortearo o desenvolvimento do sistema, aten do-se ao que o sistema? deve? fazer para cumprir a sua finalidade. Compreende as pectos como:

* Levantamento Inicial? Onde se busca encontrar, embora em termos genricos, o mximo de informaes relacionadas rea do Negcio, que sejam relevantes aos objetivos d projeto ou que possam impactar o seu desenvolvimento.

* Estudo Preliminar? Identificao de todas as reas envolvidas na soluo e os grande s mdulos de processamento, bem como o seu inter-relacionamento, sendo desejvel a e laborao de um desenho macro onde o usurio possa identificar cada componente da soluo pretendida. Nessa especificao no dever haver a preocupao com a soluo tcnica que ser adotada, entanto, descrever as opes j verificadas ou desejadas pelos usurios no que se refere tecnologia pretendida. A soluo tecnolgica propriamente dita ser objeto da fase de P rojeto. Como todo relatrio dever zelar pela clareza e objetividade das informaes, se us dados devem ser precisos e suas estimativas e projees devero ser realistas, sem exageros ou omisses, dando base a concluses sobre Custos e Benefcios com a implantao do sistema. A apresentao dever ser organizada em tpicos coerentes favorecendo a comp reenso e a seqncia do raciocnio. Resumindo, trata-se de uma pea importante e que merece total cuidado na preparao, p ois alm de possibilitar que seja dado aprovao ao prosseguimento do projeto, a apres entao criar expectativas nos futuros usurios e servir de base ao detalhamento das fas es seguintes do desenvolvimento. Uma verificao dos documentos obrigatrios da nossa metodologia vai permitir encontrar alguns itens que podero ou devero compor o rela trio de Especificao de Projetos, de modo genrico, lembrando que quanto mais precisa for a especificao original, maior ser a chance de sucesso na implementao. Requisitos do Sistema:

Mas afinal o que so requisitos? Requisito pode ser descrito como: Uma condio ou cap acidade necessitada por um usurio para resolver um problema ou alcanar um objetivo ; Condio necessria para a obteno de certo objetivo, ou para o preenchimento de certo fim; Uma condio ou capacidade que deve ser suprida por um sistema para satisfazer um contrato ou um padro; Enfim, tudo o que o sistema deve fazer para implementar uma necessidade de automao requerida pela soluo. Na prtica, requisito o que o sistem tem que ter para atender plenamente ao propsito para o qual foi criado. Para garantir a aderncia aos requisitos fundamental que a Metodologia implemente e gerencie eficazmente o documento: Especificao dos Requisitos de Software, que te m como objetivos: * Descrever cuidadosamente, quais os requisitos do sistema e como o sistema dever implementar tais requisitos. * Descrever objetivamente, como essa implementao poder ser testada e verificada pelo usurio. Os requisitos podem ser classificados em: * Requisitos Funcionais? Funcionalidade a ser implementada no software para atender a uma necessidade de automao. * Requisitos Operacionais? Especificao de caractersticas relacionadas com o pro cessamento do software, tais como: volume, freqncia, disponibilidade, performance, localizao fsica etc. * Requisitos de Contingncia? Tarefas alternativas para o caso de no funcioname nto ou indisponibilidade eventual do software. * Requisitos Tcnicos? Premissas e restries quanto arquitetura tecnolgica, aos pa dres, comunicao, s ferramentas, s linguagens etc. Exemplo: Projeto: ABC * * * * * Objetivo do Projeto; Pblico Alvo; Polticas Internas; Premissas Bsicas que regem o negcio; Definio do Produto;

* * * * * * * * * * * * * *

Condies de operacionalizao; Aspectos envolvendo processamento e comunicao com o Cliente; Fatores que deram origem ao projeto; Limitaes ou Restries Operacionais; Benefcios Esperados pelos Usurios com a implantao do Sistema; Principais necessidades que devero ser atendidas pelo projeto; Alternativas de Soluo; Necessidade de Integrao com Sistemas Corporativos; Padres de Qualidade e Performance a serem obtidos; Atribuio de Responsabilidades; Fatores de Risco; Aspectos Contbeis e Financeiros; Aspectos Legais e Jurdicos; Gerenciamento das Informaes do Sistema.

Alm desses requisitos que definem objetivos e funcionalidades do sistema, devemos lembrar que qualquer sistema deve estar aderente s polticas da organizao em relao lidade e segurana das informaes; deve rodar em um ambiente produtivo em que rodam o s outros sistemas da empresa, portanto deve estar em compatibilidade com todas a s caractersticas operacionais desse ambiente sem impactar ou causar distrbios ness es processamentos; deve estar em conformidade com os padres de mercado em termos de tempo de resposta, desempenho e performance em mquina, minimizando a utilizao do s recursos computacionais. A indstria de software vem demonstrando crescente interesse em engenharia de requ isitos, isto , entender o que se deseja construir antes de comear a faz-lo. Felizme nte j h uma percepo de que o tempo utilizado no entendimento do problema um excelent e investimento. Os requisitos de software so a base a partir da qual a qualidade medida. Desta forma, a falta de conformidade aos requisitos significa falta de q ualidade. O modelo de avaliao de maturidade do processo de desenvolvimento CMM (Ca pability Maturity Model) considera o gerenciamento de requisitos como sendo uma das primeiras etapas para alcanar a maturidade organizacional, e para haver o ger enciamento preciso que o processo de desenvolvimento de requisitos esteja implan tado na empresa. Desta forma, para se alcanar a gerncia de requisitos necessrio que os requisitos tenham sido definidos, e importante que a empresa tambm possua seu s processos de desenvolvimento de requisitos definidos. A cada dia, as empresas tornam-se mais dependentes dos seus sistemas de informaes. Construir esses sistemas, em tempo hbil para serem teis aos negcios, com a qualida de e custos adequados sua importncia para a organizao, o desafio que todos os desen volvedores esto enfrentando. Pressman define qualidade de software como? conformi dade a requisitos funcionais e de desempenho explicitamente declarados, a padres de desenvolvimento claramente documentados e a caractersticas implcitas que so espe radas de todo software profissionalmente desenvolvido?. Requisitos No-Funcionais A Norma ISO / IEC 9126 define seis caractersticas de qualidade de software que devem ser avaliadas: * * * * * * Funcionalidade (finalidade do produto); Usabilidade (esforo para utilizar, aprender o produto); Confiabilidade (freqncia de falhas, recuperabilidade); Eficincia (caracterstica relacionada ao desempenho); Manutenibilidade (esforo necessrio para modificar); Portabilidade (capacidade de transferir o produto para outros ambientes).

Pressman define Requisitos No-Funcionais como: Fatores de qualidade de software q ue podem ser medidos de forma indireta?, ou como:? Caractersticas implcitas que so

esperadas de todo software profissionalmente desenvolvido?. * Reusabilidade (Capacidade de reutilizao de mdulos do sistema em outras aplicaes ). Este requisito est relacionado a outros fatores tais como: o o o o Modularidade: independncia funcional dos componentes; Generalidade: amplitude do potencial de aplicao; Encapsulao; Abstrao;

* Portabilidade (Esforo exigido para transferir um sistema de um ambiente de hardware e / ou software para outro). Fator diretamente relacionado a reusabilid ade e s linguagens de programao e ferramentas utilizadas;

* Manutenibilidade (Esforo exigido para localizar e reparar erros em um siste ma ou para modific-lo com o propsito de adapt-lo a um novo ambiente, a novas funcio nalidades ou a outras metas de qualidade). Este requisito est relacionado a outro s fatores, tais como: o o o o Boa documentao; Legibilidade; Reusabilidade; Portabilidade

* Multimodalidade (Uso de diferentes mecanismos para representao ou apresentao d a informao e para a interao com o usurio). Este requisito est relacionado ao uso de d versos canais de comunicao: o o o o Visual; Ttil; Auditiva; Motora.

* Eficincia e Desempenho (Eficincia: quantidade de recursos de computao e de cdig o exigida para que o programa execute a sua funo - Desempenho: medido avaliando-se a velocidade de processamento, o tempo de resposta, o consumo de recursos) Outros requisitos ou outras definies para o mesmo tipo de requisito ainda podem se r encontrados em diversas literaturas sobre o assunto: * Usabilidade (Refere-se ao grau de facilidade oferecido para que um usurio a prenda a operar, fornecer entradas e interpretar sadas de um componente ou sistem a). A usabilidade de um sistema um conceito que se refere qualidade da interao de sistemas com os usurios e depende de vrios aspectos. Alguns destes fatores so: o Facilidade de aprendizado do sistema: Tempo e esforo necessrios para q ue os usurios atinjam um determinado nvel de desempenho; o Facilidade de uso: Avalia o esforo fsico e cognitivo do usurio durante o processo de interao, medindo a velocidade de uso e o nmero de erros cometidos dur ante a execuo de uma determinada tarefa; Pressupe a existncia de Help, manuais de us urio e boa documentao; o Satisfao do usurio: Avalia se o usurio gosta e sente prazer em trabalhar com este sistema; o Flexibilidade e Nvel de Parametrizao: Avalia a possibilidade de o usurio acrescentar e modificar as funes e o ambiente iniciais do sistema. Assim, este fa tor mede tambm a capacidade do usurio utilizar o sistema de maneira inteligente e criativa, realizando novas tarefas que no estavam previstas pelos desenvolvedores ;

o Produtividade: Avalia se o uso do sistema permite ao usurio ser mais produtivo do que seria se no o utilizasse; o Consistncia de interface; o Cuidado com a navegabilidade; o Tolerncia a erros.

* Rastreabilidade (Capacidade de manuteno de histrico das aes dos usurios tais co o: nmero de acessos ao sistema e material consultado ou do comportamento do siste ma); * Extensibilidade (Capacidade de ampliar o sistema, pela incorporao de novas f uncionalidades, pelo aumento da capacidade de armazenamento etc, e a Medida do e sforo necessria para isso). * Escalabilidade (Capacidade de um componente ou de um software manter o mes mo desempenho (tempo de resposta) quando h um aumento no nmero de usurios e / ou de requisies simultneas). Este requisito est relacionado aos fatores: o Pool de conexes; o Cuidado com operaes de I / O. * Configurabilidade (Capacidade de organizar e controlar elementos da config urao do sistema ou Capacidade de gerar diferentes configuraes ou vises do sistema). E ste requisito est relacionado a outros fatores tais como: o Habilitao ou omisso de contedos e servios; o Parametrizao; o Personalizao e customizao do sistema ou componente de acordo com o conte xto ou com o perfil de usurio. * Variabilidade (Est associada variao de componentes de uma arquitetura). Pode haver variaes: o o o o o o De De De De De De funcionalidade; dados; fluxo de controle; tecnologia; ambiente; metas de qualidade.

* Segurana (Premissas e Restries para o controle e segurana do software alm da di sponibilidade de mecanismos que controlam ou projetam programas e dados). Este r equisito est relacionado aos fatores como: necessidade de criptografia, autenticao de usurios etc. o o o o o Controle de acesso e manipulao de recursos; Autenticao; Autorizao / permisso; Integridade dos dados e confiabilidade; Privacidade e confidencialidade.

* Tolerncia Falha (Capacidade do sistema de manter o seu funcionamento normal dada a ocorrncia de uma falha de hardware ou software). Este requisito est relaci onado aos fatores: o o o o o o Disponibilidade; Confiabilidade; Freqncia e gravidade das falhas; Acurcia dos resultados; Capacidade de recuperao; Redundncia.

Entre outros como: * Interoperabilidade; * Testabilidade; * Correo; * Consistncia; * Compatibilidade; * Complexidade; * Internacionalizao (capacidade do sistema para suportar diferentes lnguas (Por tugus, Ingls, Espanhol etc.) sem a necessidade de recodificao)