Qualidade De Software Andre Koscianski Pdf 12 ((EXCLUSIVE))
LINK >>> https://urloso.com/2tgW7B
3 18 Qualidade de Software A história da qualidade prosseguiu com inúmeros exemplos de resultados extraordinários: os grandes templos construídos na Grécia e Roma antigas, os feitos de navegação no século XVI, as catedrais medievais. Em todas essas realizações, não se dispunha de instrumentos de precisão nem técnicas sofisticadas. Na França, os construtores de catedrais utilizavam simples compassos e cordas com nós a intervalos regulares para desenhar e construir edifícios [Vincent, 2004]. Em geral, espera-se que obter mais precisão exija mais recursos ou mais tecnologia. Assim, a regulagem da carburação de um motor de um veículo moderno não pode ser feita como no passado, quando, com uma lâmpada, um mecânico conseguia acertar o ponto do distribuidor. O exemplo dos antigos egípcios nos faz pensar uma questão curiosa: como teriam sido as pirâmides se, na época, os trabalhadores dispusessem de medidores a laser Como veremos ao longo do livro, a qualidade de software ainda depende principalmente do correto emprego de boas metodologias pelos desenvolvedores. Embora eles sejam apoiados por várias ferramentas, ainda restam problemas sérios sem tal suporte. As técnicas para verificação automática, dentre as quais a interpretação abstrata [Cousot, 2000] é um excelente exemplo, ainda são incipientes. Um grande marco na história da qualidade foi, com certeza, a revolução industrial. Esse período também é associado a profundas mudanças econômicas e sociais, como o início da automação e o surgimento do consumo de massa. Durante essa época de efervescência, milhares de novas empresas surgiram. A criação de diversas indústrias levou rapidamente à concorrência entre elas, o que, por sua vez, desencadeou um processo de melhoria contínua que perdura até hoje. O aumento da eficiência tornou-se uma condição imprescindível para garantir a sobrevivência. Uma ilustração clara disso é a extinção de centenas de fábricas de automóveis nos Estados Unidos: no início do século XX, esse país contava com cerca de fabricantes diferentes. Na década de 1920 surgiu o controle estatístico de produção. Nas fábricas que produziam grande quantidade de itens tornou-se impossível garantir a qualidade individual de cada peça, ao contrário do que se fazia (e ainda se faz) no trabalho artesanal. Dessa forma foi preciso desenvolver mecanismos diferentes e a resposta veio da estatística. Um dos primeiros trabalhos associados ao assunto é o livro publicado por Walter Shewhart em 1931, Economic Control of Quality of Manufactured Product. Shewhart, dos Bell Laboratories, teria introduzido os diagramas de controle (control charts ou Shewhart chart). A Figura 1.1 apresenta um exemplo desse tipo de diagrama.
5 20 Qualidade de Software do cenário como trabalhadores e máquinas. Tais elementos são chamados de categorias. Depois, para cada categoria procura-se identificar fatores (causas) que possam contribuir para aumentar ou reduzir o problema (efeitos). Dependendo do tipo de indústria, sugere-se usar diferentes categorias: para manufatura: mão-de-obra, métodos, materiais e máquinas; para serviços e administração: equipamentos, procedimentos, políticas e pessoas. Materiais Trabalhadores Falta de luvas Distração por cansaço Acidentes de trabalho Treinamento Métodos Antiquadas Máquinas Figura 1.2 Diagrama de Ishikawa. No pós-guerra, o impulso recebido pelas indústrias se manteve. Os computadores digitais já estavam em uso nessa época, embora estivessem restritos sobretudo a meios militares e acadêmicos. Alguns anos mais tarde, quando as máquinas se tornaram mais acessíveis e um maior número de pessoas as utilizava, a qualidade dos softwares começou a se mostrar um objetivo mais importante. 1.2 Uma crise de mais de trinta anos Um dos fatores que exerce influência negativa sobre a qualidade de um projeto é a complexidade, que está associada a uma característica bastante simples: o tamanho das especificações. Construir um prédio de 10 andares implica tratar um número de problemas muito maior do que os existentes em uma simples residência: a diferença entre as duas construções, é claro, está longe de ser resolvida apenas com um número de tijolos maior. Em programas de computador, o problema de complexidade e tamanho é ainda mais grave, em razão das interações entre os diversos componentes do sistema. Por volta da década de 1950 acreditava-se em uma relação chamada lei de Grosch [Pick et al., 1986]: o desempenho de um computador seria proporcional ao quadrado de seu preço. Nessa época e de acordo com essa lei uma idéia interessante era reunir um grupo de usuários para adquirir um computador de grande porte (mainframe). Era comum também alugar uma máquina diretamente do fabricante. Problemas maiores significavam apenas a necessidade de máquinas maiores.
6 Capítulo 1 O que é qualidade 21 E como eram as máquinas grandes nessa época Até a década de 1970 ainda eram utilizadas as memórias de núcleo (core memory): caras, lentas e consumidoras de muita energia. A memória semicondutora só foi criada em 1966 (por Robert H. Dennard, na IBM) e fabricada, pela primeira vez, pela Intel, em Logo após, em 1971, surgiu o primeiro microprocessador em silício: o Intel 4004, uma CPU de 4 bits utilizando menos de 3 mil transístores, mas com tanto poder de processamento quanto o ENIAC, que possuía 18 mil válvulas. Assim, um computador grande, em 1960, era uma máquina ocupando uma sala de dezenas de metros quadrados! A mudança tecnológica teve um efeito dramático na produção de software. Num breve período de tempo, os recursos de hardware aumentaram muito e permitiram que produtos mais complexos fossem criados. Traçando um paralelo, seria como se os engenheiros civis, depois de anos construindo apenas casas ou pequenos prédios de 2 ou 3 andares, se vissem repentinamente com a tarefa de construir grandes arranha-céus [Dijkstra, 1972]: A maior causa da crise do software é que as máquinas tornaramse várias ordens de magnitude mais potentes! Em termos diretos, enquanto não havia máquinas, programar não era um problema; quando tivemos computadores fracos, isso se tornou um problema pequeno e agora que temos computadores gigantescos, programar tornou-se um problema gigantesco. Mas a situação ainda era agravada por outro motivo: os primeiros programadores não possuíam ferramentas como dispomos hoje. A tarefa que enfrentavam poderia ser comparada, em certos aspectos, a erguer prédios empilhando mais e mais tijolos. Embora a noção de ciclo de vida já houvesse sido esboçada [Naur e Randell, 1968], não havia técnicas consagradas de trabalho. Não havia escolas ou sequer a profissão de programador; as pessoas aprendiam e exerciam essa atividade de maneira empírica [Dijkstra, 1972]: \"... em 1957, casei-me e os ritos holandeses requerem declarar a profissão; declarei ser um programador. Mas as autoridades municipais de Amsterdã não aceitaram, com base em que não havia tal profissão\". Provavelmente a primeira vez em que se utilizou o termo Engenharia de Software foi em uma conferência com esse nome, realizada em 1968, na Alemanha. A conferência foi realizada por uma entidade que, a rigor, não possuía nenhuma ligação com a área: o Comitê de Ciência da NATO (North Atlantic Treaty Organisation Organização do Tratado do Atlântico Norte). Curiosamente, já havia instituições relacionadas com informática: a primeira delas foi a ACM (Association for Computing Machinery), criada em 1947 e que edita uma revista científica, Communications of the ACM, desde 1957.
7 22 Qualidade de Software Hoje, mais de trinta anos depois, quais são os problemas enfrentados na construção e utilização de software Ao lermos o relatório da conferência da NATO de 1968 e outros documentos produzidos na década de 1970, fazemos uma descoberta assustadora: os problemas são os mesmos que encontramos atualmente. Façamos uma pequena lista: cronogramas não observados; projetos com tantas dificuldades que são abandonados; módulos que não operam corretamente quando combinados; programas que não fazem exatamente o que era esperado; programas tão difíceis de usar que são descartados; programas que simplesmente param de funcionar. Os erros parecem estar por toda parte, como uma epidemia que não conseguimos controlar depois de décadas de trabalho e pesquisas. O último exemplo e certamente mais conhecido é o bug do milênio, quando foi predito o apocalipse da sociedade da informação: aviões cairiam, contas bancárias seriam zeradas, equipamentos militares perderiam o controle e bombas seriam disparadas. Embora seja verdade que poucos problemas de fato aconteceram, também é verdade que o erro realmente existia em muitos sistemas. O assunto será provavelmente lembrado no ano de 2100 como uma boa piada. Hoje em dia, contudo, não há motivos para rir, pois a pergunta permanece: não somos capazes de produzir software de qualidade Essa questão não é simples de ser respondida, mas podemos aventar algumas razões. O aspecto não repetitivo do desenvolvimento de software torna essa atividade difícil e, sobretudo, em boa medida imprevisível. Apenas uma pequena parcela da construção de software corresponde a atividades que poderíamos chamar de \"montagem. Quando se constrói uma rodovia ou, por exemplo, uma ponte, os processos de cálculo de estruturas, correção de inclinações, preparação do terreno e pavimentação são conhecidos. Algumas vezes ocorrem surpresas, como descobrir que o solo de uma seção da estrada não correspondia ao que era imaginado; mas em geral, as diversas etapas são cumpridas sempre da mesma maneira. É durante o projeto dessa ponte que há mais questões em aberto e soluções de engenharia devem ser desenvolvidas. Assim, por exemplo, antes do projeto não se conhece o traçado que será mais confortável, seguro e econômico para os futuros usuários. O problema é comentado na Figura 1.3. 153554b96e
https://www.consultoriacm.com/forum/discusiones-generales/bose-sounddock-10-drivers-top