Baixe o app para aproveitar ainda mais
Prévia do material em texto
FACULDADE ESTÁCIO DE TERESINA 3CURSO: 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) 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. No ano de 2004 a empresa HP sofreu perdas de $160 milhões de dólares devido a problemas no seu sistema de ERP. Os seguintes pontos contribuíram para esse fracasso: • Dificuldades na gestão do programa devido ao alto nível de dependência entre as equipes. • Problemas de integração de dados entre o sistema legado e o sistema SAP em implantação. Falta de eficácia no treinamento de produto e gerenciamento impróprio de dados de produto foram identificados como as principais causas destes problemas. • Problemas de previsão de demanda. • Testes inadequados. A engenharia de software poderia ter evitado isso com uma análise de riscos e um plano de contingência mais elaborados. FACULDADE ESTÁCIO DE TERESINA 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. O projeto é o lugar onde os requisitos dos interessados, as necessidades da aplicação e considerações técnicas se juntam na formulação de um produto ou um sistema. O escopo é constituído por dados quantitativos que vão delimitar as características que o software deve ter e por restrições e/ou limitações e, também fatores mitigadores. O cronograma é a ferramenta que permite o gerente acompanhar as etapas do projeto, bem como alocar recursos humanos para as tarefas, permite definir tarefas e suas dependências. Custo é o valor monetário que inclui o custo dos recursos necessários para realizar determinadas atividades ou componente ou para produzir o componente. 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®. 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. Integração significa unificação, consolidação e articulação. O Gerenciamento da Integração requer que sejam feitas escolhas sobre alocação de recursos, concessões entre objetivos e alternativas conflitantes, além do gerenciamento de dependências mútuas entre áreas de conhecimento e processos. Aqui se destaca a importância que tem a comunicação com os participantes do projeto. 2 - Gerenciamento do Escopo do projeto: FACULDADE ESTÁCIO DE TERESINA O Gerenciamento do Escopo inclui processos necessários para assegurar que o projeto inclui todo o trabalho necessário e somente o trabalho necessário para concluir o projeto com sucesso. O objetivo é definir e controlar o que faz parte do projeto, assim, evita-se que o escopo do projeto se expanda conforme o tempo passa. O escopo/âmbito é o foco do projeto. O escopo do projeto difere-se do escopo do produto na medida em que o escopo do projeto define o trabalho necessário para fazer o produto, e o escopo do produto define os recursos (atributos e comportamentos) do produto que está sendo criado. 3 – Gerenciamento de Cronograma: Também chamado de gerenciamento de tempo em edições anteriores à sexta edição do Guia PMBOK®, 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 ajustes dos prazos, se necessário. O gerenciamento do cronograma inclui processos necessários para estimar as tarefas, seus recursos e durações, de modo a gerenciar o projeto para o término pontual. 4 – Gerenciamento de Custos: A Gestão de Custos inclui processos envolvidos em estimativas, orçamentos e controle dos custos, de modo que o projeto possa ser terminado dentro do orçamento aprovado. Assim, é possível manter os custos com mão-de-obra, materiais e equipamentos dentro do orçamento inicialmente aprovado. Os processos de gerência do custo do projeto incluem: • Planejar o gerenciamento dos custos: determinar como o gerenciamento de custos será feito; • Estimar os custos: desenvolver uma aproximação dos gastos com os recursos necessários para execução do projeto; • Determinar o orçamento: agregar os custos estimados de atividades ou de pacotes individuais de trabalho para estabelecer uma base de custo; FACULDADE ESTÁCIO DE TERESINA • Controlar os custos: influenciar nos fatores que geram uma variação de custo e controlar as mudanças de orçamento do projeto. 5 – Gerenciamento de Qualidade: O Gerenciamento da Qualidade inclui processos e atividades da organização executora que determinam as políticas de qualidade, objetivos, requisitos e responsabilidades de modo que o projeto satisfaça às necessidades para as quais foi empreendido. Implementa o sistema de gerenciamento da qualidade e atividades para a melhoria contínua dos processos. 6 – Gerenciamento de Recursos do projeto: Também chamada de recursos humanos em algumas edições, ela inclui processos que organizam e gerenciam a equipe do projeto. Faz parte desta área do conhecimento descrever as necessidades de pessoal e suas respectivas capacidades e habilidades. O foco é utilizar conhecimento, experiência e habilidades de cada um da maneira mais proveitosa possível. Envolver a equipe a partir das fases iniciais do projeto agrega conhecimentos e fortalece o comprometimento. 7- Gerenciamento de Comunicações: O gerenciamento das Comunicações inclui todos os processos necessários para assegurar que as informações do projeto sejam geradas, coletadas, distribuídas, armazenadas, recuperadas e organizadas de maneira oportuna e apropriada. 8 – Gerenciamento de Riscos: FACULDADE ESTÁCIO DE TERESINA O gerenciamento de Riscos inclui processos de planejamento, identificação, análise, estabelecendo também um plano de resposta para tratar de problemas que possam surgir, bem como o monitoramento e controle de riscos de um projeto. Os objetivos do gerenciamento de riscos são aumentar a probabilidade e o impacto dos eventos positivos e reduzir a probabilidade e o impacto dos eventos negativos no projeto. 9 – Gerenciamento Aquisições do projeto: O gerenciamento das Aquisições do projeto inclui os processos necessários para comprar ou adquirir produtos, serviços ou resultados externos ao projeto e abrange o gerenciamento de contratos. A organização pode ser tanto compradora como vendedora dos produtos, serviços ou resultados de um projeto. Na ótica do PMI®, abordamos o gerenciamento das aquisições do ponto de vista do comprador. 10 – Gerenciamento de Partes Interessadas no projeto: A gestão das partes interessadas ou stakeholders entrou como área de conhecimento na quinta edição do gerenciamento de projetos PMBOK®. O Gerenciamento das Partes Interessadasinclui processos de identificação, planejamento, engajamento e gerenciamento das partes interessadas. Os objetivos do gerenciamento das partes interessadas é aumentar o suporte e comprometimento dos stakeholders ao projeto. Para isso, são utilizadas estratégias para identificar e gerenciar as expectativas das partes interessadas. 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.) FACULDADE ESTÁCIO DE TERESINA Riscos IOS • Segurança • Performance • Questões legais • Design • Custo Segurança = Verificar se o app não pode contém conteúdo difamatório, ofensivo ou de teor adulto. E fazer a substituição por conteúdo que esteja de acordo com as diretrizes da Apple Store. Performance = Realizar testes de desempenho a fim de que o software atenda aos requisitos de desempenho. Questões legais = Elaborar a documentação que atenda aos requisitos legais em todos os lugares em que ele seja disponibilizado. Design = Seguir rigorosamente as Diretrizes de Design da Apple. Custo = Estimar as features e a complexidade do app para que o custo não ultrapasse o orçamento. Riscos Android • Rentabilidade • Google Play Store • Teste • Design • Fragmentação Rentabilidade = Melhorar o marketing do produto a fim de aumentar a visibilidade do app. Google Play Store = Adequar o app as diretrizes da loja de aplicativos google play Teste = Realizar o maior número de testes possível. Assegurando assim que o app desenvolvido funcione bem em diferentes dispositivos e atendam aos padrões definidos pela loja. FACULDADE ESTÁCIO DE TERESINA Design = Seguir não apenas as diretrizes de design com relação aos padrões visuais e de navegação como também em compatibilidade e desempenho Fragmentação = Adequar o app por meio de testes de desempenho a fim que ele performe bem em diversos dispositivos Android. 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. Instagram Requisitos funcionais: Um requisito funcional define-se pela necessidade, uma função de um aplicativo ou parte dele. Ele é o conjunto de funcionalidades que vão compor o seu aplicativo. Exemplo: cadastro de usuários, login, geolocalização, busca por listas, emissão de relatórios etc. Deve-se levar em conta que vários requisitos funcionais podem estar dentro de uma funcionalidade. São várias funções que se pode especificar dentro de um app, abaixo citamos algumas delas: • Incluir/alterar/excluir informações • Geolocalização • Tela de buscas • Geração de relatórios • Pagamento por débito e crédito • Consulta de saldo ou estoque Requisitos não-funcionais: Requisitos não funcionais são relacionados ao uso da aplicação em termos de desempenho, usabilidade, confiabilidade, disponibilidade, segurança e tecnologias envolvidas. Muitas vezes, os requisitos não funcionais acabam gerando restrições aos funcionais. Tratados como restrições, os requisitos não funcionais muitas vezes determinam todas as necessidades que um requisito funcional não pode cumprir. Geralmente definem características e restrições do aplicativo como um método de desenvolvimento, tempo, espaço etc. Os requisitos não funcionais são divididos em três tipos principais: requisitos do produto, requisitos organizacionais e requisitos externos. Confira abaixo alguns requisitos básicos não funcionais: • Módulo de informações cadastrais offline • Linguagem específica: Java, Objective-C, Swift, #C, Visual Basic etc. • Executável em qualquer plataforma • Emissão de relatório por usuário FACULDADE ESTÁCIO DE TERESINA • Entender profundamente os tipos de requisitos do seu app pode decidir o futuro dele. É necessário também ter em mente que o um aplicativo pode ser desenvolvido de forma flexível, unindo um projeto de qualidade sem um alto custo de aquisição. Esse tipo de estratégia facilita e otimiza a manutenção e correção de erros, além de prover uma visão clara do serviço que está sendo implementado. Não apenas do lado do cliente, mas também da empresa que está desenvolvendo. Netflix Requisitos funcionais: • Ter um player funcional • Selecionar idiomas (áudio e legenda) • Pausar/continuar/avançar/voltar reprodução do vídeo • Ter opção para selecionar outros episódios (para seriados) • Reprodução em segundo plano (tablets e computadores) • Enviar informações sobre a conta via e-mail/SMS • Visualizar histórico de vídeos reproduzidos • Selecionar qualidade de reprodução do vídeo Requisitos não-funcionais: • Transmitir dados rapidamente para boa experiência de streaming • Ter centro de ajuda • Efetuar comunicação com bandeiras de cartões de crédito/débito • Ter termos de Uso • Efetuar seleção automática da qualidade de streaming baseado na rede • Armazenar com segurança os dados cadastrais do usuário • Armazenar com segurança os dados de pagamento do usuário 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; FACULDADE ESTÁCIO DE TERESINA • 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. FACULDADE ESTÁCIO DE TERESINA d) A avaliação da qualidade e dos objetivos deve ocorrer durante todoo projeto. 8ª Questão Dada a Engenharia de Software, identifique a principal motivação/indicação para seu surgimento: 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. 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: b) iniciação, planejamento, execução, monitoramento e controle, 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 11ª Questão São requisitos que tratam das restrições do software, visando sempre a qualidade: c) Requisitos Não Funcionais 12ª Questão São requisitos que definem o que nunca deve ocorrer durante a execução do software: b) Requisitos Inversos Integrantes: Samuel Vinícius Pereira de Oliveira - 201709058595 Marcelo de Sousa Alves - 201802317783 Giovanni Freitas - 201802139281 Felipe Mateus Oliveira Sousa - 201903426073 Guilherme Matheus - 201803058897 Gabriel Oliveira Dantas Léllis - 201803191007
Compartilhar