Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercício sobre Mito Processos e Ética 1. O que foi a crise do software e no que ela contribui para a melhoria da área de Engenharia de Software? A Crise do software foi um termo que surgiu nos anos 70, O termo expressava as dificuldades do desenvolvimento de software frente ao rápido crescimento da demanda por software, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas estabelecidas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validados. As melhorias dadas por essa crise foi o desenvolvimento foi foram: • Utilização de técnicas, ferramentas e processos sistematizados para produzir software. • Treinamento e educação em conjunto com a mudança de paradigma sobre o que é desenvolver software e como deveria ser feito. • Criação da Engenharia de Software 2. O que apontou o levantamento feito pela Chaos Report da Standish Group sobre projetos de tecnologia da informação? Na sua opinião, ao ver os resultados mostrados, você afirmaria que a área de desenvolvimento de software está melhorando, estagnada ou piorando? Por que? Com base na chaos report publicada em 2015 podemos afirmar que a área de desenvolvimento de software está piorando. Segundo o documento, teve uma diminuição de 7% na taxa de sucesso e um aumento de 7% na taxa de desafios (projetos entregues sem sucesso) comparando os gráficos resolução tradicional e resolução moderna. 3. Quais os principais problemas relacionados ao desenvolvimento de software segundo o Gartner Group Research? Dentre os problemas, qual deles você resolveria primeiro e por que? Qual deles você resolveria por último ou não resolveria e por que? O primeiro problema a ser resolvido seria o “profissionais qualificados”. Porque quase a maioria dos outros problemas podem ser em função de uma mão de obra desqualificada, o que acarretaria também em outros problemas. O problema a ser resolvido por ultimo seria o “Custos elevados”. Porque com a resolução dos outros problemas, consequentemente terá um melhor gasto dos seus recursos o que permitira uma diminuição dos custos. 4. Encontre o Chaos Report de 2015 da empresa Standish Group e responda: a. Qual a porcentagem de projetos dentro e fora do orçamento (onbudget)? Dentro do prazo 44%, Fora do prazo 56%. b. Qual a porcentagem de projetos entregues no prazo e atrasados (ontime)? Dentro do prazo 40%, Atrasados 60%. c. Qual a porcentagem de projetos que atenderam as especificações (ontarget)? 56% Antederam as especificações. 5. Analisando a figura 1 da referência bibliográfica 2 e a tabela da primeira página do Chaos Report denominada “Traditional Resolution For All Projects”, na sua opinião o desenvolvimento de software está melhorando, estável piorando? Por que? Segundo o material informado e a comparação entre eles podemos afirmar que o desenvolvimento de software está melhorando. Com base na comparação dos gráficos de 2009 e 2015 temos: casos de sucesso com um aumento de 4% (quanto maior melhor), nos casos de desafio um aumento de 1% (quanto maior pior) e nos fracassos uma diminuição de 5% (quanto menor melhor). 6. Segundo Deboni, modelos são úteis para que? O objetivo da modelagem é a criação de modelos para uma melhor compreensão do que será realmente construído. Os modelos são úteis para elaboração da estrutura do software, além de permitir visualização, especificação, construção e documentação dos artefatos de projeto. 7. Cite 2 características de software e explique-a. • O software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico. o Isso implica que ambas as atividades dependem de pessoas, mas a relação entre as pessoas envolvidas e o trabalho executado é diferente. Ambas as atividades exigem a construção de um “produto”, mas as abordagens são diferentes. Os custos do software estão concentrados no trabalho de engenharia (desenvolvimento) e não na manufatura. • Software não se “desgasta”. Algo que pode ocorrer com o hardware. o Entretanto, o software deteriora-se, pois com manutenções corretivas ou adaptativas) que todo software recebe é provável que novos defeitos sejam introduzidos ao software, fazendo com que o nível do índice de falhas mínimo comece a se elevar. 8. Cite e explique 3 Mitos da Engenharia de Software, sendo 1 Administrativo, 1 do Cliente e 1 do Profissional. • Terceirizar o trabalho é garantia de sucesso sem trabalho? o É preciso indicar os requisitos, estabelecer padrões de qualidade, mecanismo de aceite da entrega e conferir o resultado entregado. Logo, mesmo terceirizando haverá trabalho e se o resultado não for entregue na data estabelecida, como ficam as responsabilidades. • Uma declaração geral dos objetivos é suficiente para se começar a escrever programas, podemos preencher detalhes mais tarde. o Uma definição inicial ruim é a principal causa de fracasso dos esforços de desenvolvimento de software. Uma descrição formal e detalhada do domínio da informação, função, desempenho, interfaces, restrições de projeto e critérios de validação é fundamental. Essas características podem ser determinadas somente depois de cuidadosa comunicação entre cliente e desenvolvedor. • Assim que escrevermos o programa e o colocarmos em funcionamento nosso trabalho estará completo. o Alguém disse certa vez que “quanto mais cedo se começa a escrever o código, mais tempo demora para que se consiga terminá-lo. A manutenção do software desenvolvido é essencial visto que as regras de negócios mudam constantemente e também bugs no código são encontrados. 9. Defina Método, Técnica e Ferramenta e elabore um exemplo seu para cada um desses conceitos. • Método: sequência lógica empregada para atingir o objetivo desejado; Exemplo: Trocar lâmpada. o Passo 1— Pegar uma lâmpada nova; o Passo 2 — Pegar a escada; o Passo 3 — Posicionar a escada embaixo da lâmpada queimada; o Passo 4 — Subir na escada com a lâmpada nova; o Passo 5 — Retirar a lâmpada queimada; o Passo 6 — Colocar a lâmpada nova; o Passo 7 — Descer da escada; o Passo 8 — Ligar o interruptor; o Passo 9 — Guardar a escada; o Passo 10 — Jogar a lâmpada velha no lixo. • Técnica: Representa as habilidades necessárias para executar uma determinada tarefa. Na prática, a técnica vem do ser humano. • Exemplo: Técnica de estudo -> Repetição espaçada, consiste na técnica de estudar algo levando em conta o tempo da curva de esquecimento do nosso cérebro, assim utilizando de intervalos pré-programados para revisá-los posteriormente. • Ferramenta: Qualquer instrumento que se usa para a realização de um trabalho. • Exemplo: Enxada, Martelo, Serrote etc... 10. Conceitue/Diferencie Programa e Software. • Um programa é um conjunto de instruções que dizem ao computador o que deve ser feito. Dessa forma, um programa nada mais é do que um conjunto de instruções que servem para dizer ao nosso computador o que ele deve fazer. • Software não é apenas o programa, mas também toda a documentação associada e os dados de configuração para fazer com que eles operem corretamente. Assim, podemos pensar em software como algo mais abstrato, intangível, não palpável que envolve não só as instruções para o computador propriamente ditas, mas todas as informações para fazê-lo funcionar. 11. Como Engenheiro de Software você foi contratado por duas softhouses A e B para avaliar o processo de desenvolvimento de software. Após algumas medições os gráficos abaixo foram esboçados. Dê seu diagnóstico sobre o processo de desenvolvimento de software e relate ao dono da empresa ou responsável o que está ocorrendo. Defina se o gráfico representa um problema e, caso seja, quais possíveis causas? Empresa A: O software possui falhas e após manutençõeselas diminuem, porém voltam a ocorrer após um tempo, isso pode ocorrer devido a uma manutenção superficial no problema. Empresa B: O software possui falhas, porém diminuem com manutenções, contudo, essas falhas voltam e aumentam após um tempo. Isso pode ocorrer devido a um problema estrutural no projeto. 12. Leia os casos reais de ética contido num arquivo distribuído junto com este trabalho. Escolha dois casos reais envolvendo ética e explique por que o caso é considerado antiético. • Continental Can: É antiético pois utilizava do software para marcar a data próxima a aposentadoria dos funcionários para despedi-los antes e consequentemente arcar com os custos referentes a isso. • Violação do painel eletrônico do Senado: É antiético pois além de violar a confidencialidade dos votos pode se utilizar dessa informação para benefício próprio e fazer algum tipo de chantagem com as pessoas envolvidas.
Compartilhar