Baixe o app para aproveitar ainda mais
Prévia do material em texto
CURSO: BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE DOCENTE: ALYSSON RAMIREZ TURMA: 1002 SEMESTRE LETIVO: 2021.1 TURNO: DIURNO Atividades Acadêmicas Avaliativas em Grupo Prazo de entrega (18/03/2021) O grupo: Camilo Italo Oliveira Lima - 201903058252 Brunno Fernando de Assunção Silva - 201708318003 Roberto Marques Araújo - 201909000973 Vitória Pinheiro Almeida - 201908356308 Gabriel Portela Paiva e Silva - 201902331249 Francisco Victor Fortes Machado da Costa – 201902232372 Esta é uma das Atividades Acadêmicas Avaliativas da AV1, e vale 1,0 ponto. Esta atividade deverá ser enviada (no formato PDF) ao professor em ATÉ uma semana (dia da próxima aula). OBS: Não esqueça de colocar matrícula e nome COMPLETO de todos os integrantes do grupo no trabalho. Questões discursivas 1ª Questão Pesquisem e analisem na internet em grupos um caso de um software que tenha fracassado. Identifiquem qual foi o seu principal problema e indiquem como a engenharia de software poderia ter evitado o insucesso. Windows Vista: o maior problema foi devido a um requisito não funcional, o requisito de produto, pois a empresa Microsoft não levou em conta a capacidade gráfica e de memória RAM que seria necessária fosse compatível com as máquinas que usavam o sistema anterior, outro problema ocorrido, agora de requisito funcional, foi a incompatibilidade os drives. E acabou sendo esses principais motivos do insucesso do Sistema Operacional. Isso poderia ter sido evitado com uma simples analise de requisitos, o que infelizmente não ocorreu, mostrando não só que a engenharia de software é necessária, como também o gerenciamento de projeto pode mostra algo trivial que tem imensa importância, evitando assim falhas indesejadas. 2ª Questão Com relação ao Desenvolvimento de Software, faça uma pesquisa e defina o que é Projeto, levando em consideração que um projeto deve ter planejamento de vários aspectos, sendo assim, também pesquise e defina os conceitos e principais características da Restrição Tripla: escopo, cronograma (tempo) e custo, para que ele tenha uma maior chance de sucesso. Projeto é fase em que consideramos como o sistema funcionará internamente, para que os requisitos do cliente possam ser atendidos. Alguns aspectos devem ser considerados nessa fase de projeto do sistema, como: arquitetura do sistema, linguagem de programação utilizada, Sistema Gerenciador de Banco de Dados (SGBD) utilizado, padrão de interface gráfica, entre outros. No projeto é gerada uma descrição computacional, mencionando o que o software deve fazer, e deve ser coerente com a descrição realizada na fase de análise de requisitos. Em projetos, você tem três áreas essenciais para produtos ou serviços de qualidade (Escopo, Prazo e Custo). Um produto ou serviço de qualidade deveria: Atender as necessidades implícitas e explícitas do Cliente (Escopo); ser disponibilizado a tempo (Prazo); e ter preço e custos compatíveis (Custo). Seu patrocinador ou cliente, como todos nós, sempre vai querer obter o maior número de benefícios possível, ele muitas vezes, irá lhe solicitar o serviço bom, barato e rápido. Você deve apresentar as alternativas possíveis: Para aumentar escopo, você precisa aumentar o custo e/ou o prazo; Para diminuir o prazo, você precisa aumentar o custo e/ou reduzir o escopo; Para diminuir o custo, você precisa reduzir o escopo. Não é possível, você aumentar o escopo, reduzindo o custo e o prazo. Para fazer mais, você precisará de mais recursos e consequentemente será mais caro e / ou mais demorado. Isso é uma regra geral. É claro que existem projetos que foi previsto uma boa margem de contingência, onde você consegue aumentar o escopo, sem aumentar o custo e o prazo planejado. Porém, isso só mostra que foi previsto contingências para o projeto (como, um possível aumento no escopo), e que de certa forma, o cliente pagou mais caro por isso. 3ª Questão Ainda em relação ao Projeto de Desenvolvimento de Software, explique as definições de gerenciamento de projetos e a aplicação do PMBOK 6, ou seja, discorra, principalmente, sobre as 10 áreas de conhecimento do guia PMBOK®. Gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos. Conhecimento em Gerenciamento de Projetos (PMBOK) é um termo que descreve o conhecimento no âmbito da profissão de gerenciamento de projetos. O conhecimento em gerenciamento de projetos inclui práticas tradicionais comprovadas amplamente aplicadas, bem como práticas inovadoras que estão surgindo na profissão 1- Gerenciamento de integração de projetos A integração é referente ao processo de combinar ou unir as várias partes móveis de qualquer projeto. Assim, será mais fácil trabalhar em direção a um objetivo comum. Aqui se destaca a importância que tem a comunicação com os participantes do projeto. 2- Gerenciamento do escopo do projeto O escopo aparece para garantir que cada projeto inclua todo o trabalho necessário. Ele deve ser identificado no início do projeto, assim, evita-se que o escopo do projeto se expanda conforme o tempo passa. 3- Gerenciamento do cronograma Também chamado de gerenciamento de tempo em edições anteriores, o cronograma visa manter uma sequência de eventos precisa e atualizada. Dessa forma, busca-se o cumprimento de prazos e responsabilidade, porém, podem ocorrer ajuste dos prazos, se necessário. 4- Gerenciamento de custos Os custos se referem ao planejamento, orçamento e controle dos aspectos financeiros dos projetos. Assim, é possível manter os custos com mão-de-obra, materiais e equipamentos dentro do orçamento inicialmente aprovado. 5- Gerenciamento da qualidade A qualidade representa o estabelecimento de políticas e objetos do nível de satisfação de certos parâmetros mínimos. Isso deve ser feito no início do projeto. Assim, as verificações recorrentes podem ser feitas para garantir que o projeto satisfaça as necessidades de todos. 6- Gerenciamento de recursos do projeto Também chamada de recursos humanos em algumas edições, ela representa a delegação de tarefas específicas aos membros da equipe do projeto. O foco é utilizar conhecimento, experiência e habilidades de cada um da maneira mais proveitosa possível. 7- Gerenciamento de comunicações As comunicações determinam a maneira mais eficiente de distribuir, monitorar, controlar e armazenar informações com todos os envolvidos. 8- Gerenciamento de riscos Um plano de gerenciamento de riscos deve ser feito para cada projeto, identificando, analisando e controlando riscos, estabelecendo também um plano de resposta para tratar de problemas que possam surgir. 9- Gerenciamento de aquisições do projeto As aquisições se referem à obtenção dos produtos ou serviços necessários para concluir o projeto. Os subconjuntos nesta área de conhecimento incluem planejamento de aquisições, planejamento de solicitações, seleção de fornecedores, administração e encerramento de contratos. 10- Gestão de partes interessadas do projeto A gestão das partes interessadas entrou como área de conhecimento na quinta edição do gerenciamento de projetos PMBOK. Ela faz a identificação de todas as pessoas ou equipes envolvidas no projeto. Além disso, define que papel eles desempenharão, quais são suas expectativas e quais estratégias de gerenciamento serão empregadas. 4ª Questão Referente ao Gerenciamento de Risco, os grupos deverão identificar uma lista com 5 riscos para o desenvolvimento de um aplicativo para cada sistema operacional, iOS e Android, realizar a análise de cada um deles e planejar as respostas aos riscos, ou seja, como proceder quando uma situação de risco acontecer. (SOMMERVILLE, Ian. Engenharia de Software. 7ª Ed. São Paulo: Pearson Prentice Hall, 2011. Páginas 647 até 661.) Android 1° Saber quais são as necessidades do usuário final que irá utilizar o app: Possível Solução: Fazer uma pesquisa sobre tudo o que é necessário para o usuário final. 2°Desenvolver o app que seja de forma prática e fácil de utilizar: Possível Solução: Aplicar um design fácil e de boa compreensão facilitará o intendimento do usuário final. 3° Criar um software que irá abrangir vários modelos diferentes de aparelhos Android: Possível solução: Manter a versão do app sempre atualizada de acorda com as novas versões do Android. 4° Software pesado e não roda direito na plataforma designada: Possível solução: Criar uma codificação mais limpa e não muito grande reutilizar os códigos que poder e deixa-lo mas tamanho melhor para facilitar ao usuário final. 5° Usuário não interessado pelo o software: Possível Solução: Criação de um designer chamativo e bonito para o usuário final tem interessado. IOS 1° Equipe que não tem experiência com a criação de app para o sistema específico: Possível Solução: Contratar pessoas experiente na linguagem informada para desenvolver o app. 2° Tempo dado a equipe para a conclusão do software é ultrapassado Possível Solução: Fazer organizaçõa do horário de trabalho da equipe para que completar no prazo oferecido. 3° Taxa de cobrança para que o app seja mantido disponível para os usuários finais ter acesso ao software: Possível Solução: Fazer uma pesquisa sobre a taxa que a empresa pede para deixar o software disponível na plataforma. 4° Possíveis Bugs futuros no software: Possível solução: Contratar um equipe adequada para receber os feedback e orientá-lo para a possível solução. 5° Usuário com dificuldades de Utilizar o app por causa do designer: Possível Solução: Criação de um designer Fácil de entendimento para o usuário final. 5ª Questão Em grupo, vocês irão escolher dois aplicativos de celular que seja de uso comum entre os participantes, em seguida deverão listar alguns requisitos, primeiro os funcionais e depois os não funcionais. FACULDADE ESTÁCIO DE TERESINA FACULDADE ESTÁCIO DE TERESINA Funcional WhatsApp: - Envio de Mensagens - Compartilhamento em geral Maps: - Calcular distâncias - Buscar a rotas mais viáveis pra navegação Não Funcional WhatsApp: - Uso de GPS - Permissão de Arquivos Maps: - Acesso à Internet - Permissão para áudio 6ª Questão No tocante a análise de requisitos, existem outras classificações de requisitos, tais como: inversos, voláteis, estáveis, do cliente, do sistema, entre outras, realizem uma pesquisa e apresente as principais características sobre essas classificações. Os requisitos de software são de três tipos: Requisitos funcionais: são requisitos que descrevem uma ação que o software deve ser capaz de realizar; Requisitos não funcionais: são requisitos que tratam das restrições do software visando sempre a qualidade, ou seja, é uma qualidade que o software deve possuir durante a sua execução; Requisitos inversos: são requisitos que definem o que nunca deve ocorrer durante a execução do software; Os requisitos funcionais são de dois tipos: Requisitos estáveis: requisitos que não são alterados ou modificados com frequência, sua alteração é algo excepcional; Requisitos voláteis: são requisitos que vivem em constante modificação, eles podem ser divididos em quatro categorias: compatíveis, mutáveis, emergentes e consequentes. Os requisitos ainda podem ser divididos em outra categoria, se vistos pelo aspecto da implementação: Requisitos do cliente, ou requisitos de alto nível: são aqueles expostos pelo cliente em linguagem natural, ou ainda em forma de desenhos ou casos de uso, qualquer técnica que facilite o entendimento. O importante é que esses requisito se caracterizam por dizer apenas aquilo que o usuário ou cliente quer que o sistema faça, não há a preocupação de como aquela funcionalidade será implementada. Requisitos do sistema, ou requisitos de baixo nível: são requisitos mais detalhados, que relatam não só o que deve ser implementado, mas como deve ser implementado, eles fazem restrições a aspectos de implementação e arquitetura, possuem detalhes que geralmente são obscuros para o cliente, mas que certamente os desenvolvedores conhecem bem. Na próxima aula os grupos deverão apresentar e debater com toda a turma as suas conclusões. Julguem itens corretos das questões objetivas abaixo: 7ª Questão Sobre os mitos e verdades da Engenharia de Software, analise as opções abaixo e marque a alternativa que apresenta uma verdade. a) Se um projeto estiver atrasado, deve-se solucionar o problema adicionando mais pessoas ao time. b) A documentação é parte importantíssima do projeto e deve ser elaborada ao fim do desenvolvimento. c) Uma definição geral dos objetivos é suficiente para iniciar a escrita dos programas. d) A avaliação da qualidade e dos objetivos deve ocorrer durante todo o projeto. e) A engenharia de software produz documentação volumosa e desnecessária, além retardar o desenvolvimento. 8ª Questão Dada a Engenharia de Software, identifique a principal motivação/indicação para seu surgimento: a) Engenharia se mostra indispensável para a ampliação da infraestrutura, para a melhoria na qualidade de serviços prestados à sociedade e para a resolução de problemas de caráter econômico e social. b) Por meio de conhecimentos diversos como administração, economia e engenharia, esses profissionais aperfeiçoam técnicas e táticas de produção assim como organizam atividades financeiras, logísticas e comerciais de uma empresa. c) Numa tentativa de contornar a crise de software e dar um tratamento de engenharia, mais sistemático e controlado, ao desenvolvimento de sistemas de softwares complexos. d) Por estar intimamente ligada a tecnologia, a Engenharia é de suma importância para o mundo moderno, onde é responsável desde o mais simples circuito eletrônico encontrado nas mais variadas tecnologias até os campos de geração, transmissão e distribuição de energia. e) Nenhuma das alternativas. 9ª Questão O Guia do Conhecimento em Gerenciamento de Projetos (PMBOK) é uma das principais referências na área de gerenciamento de projetos. De acordo com este guia, os processos desta área são organizados nos seguintes grupos: a) iniciação, criação, execução, monitoramento e controle, e encerramento. b) iniciação, planejamento, execução, monitoramento e controle, e encerramento. c) iniciação, planejamento, execução, testes e encerramento. d) iniciação, criação, execução, testes e encerramento. e) iniciação, criação, planejamento, execução, testes e encerramento. 10ª Questão Na análise qualitativa de riscos, cada risco é analisado individualmente. Para que se realize a priorização são estimados dois fatores. São eles: a) Probabilidade e Impacto b) Probabilidade e Exposição c) Impacto e Exposição d) Ameaça e Impacto e) Ameaça e Exposição 11ª Questão São requisitos que tratam das restrições do software, visando sempre a qualidade: a) Requisitos Inversos b) Requisitos Voláteis c) Requisitos Não Funcionais d) Requisitos Funcionais e) Requisitos Estáveis 12ª Questão São requisitos que definem o que nunca deve ocorrer durante a execução do software: a) Requisitos de Cliente b) Requisitos Inversos c) Requisitos Não Funcionais d) Requisitos Negativos e) Requisitos de Domínio
Compartilhar