Baixe o app para aproveitar ainda mais
Prévia do material em texto
Perguntas para prova av2 Processos de desenvolvimento de software. O que é sistema? Conjunto de partes, independentes, cada qual com seu objetivo e colaborando por um objetivo comum O que é sistema de informação? Conjunto de elementos inter-relacionados que coleta (entrada), manipula (processamento), armazena a dissemina (saída) informações Cite três problemas com sistema de informática? As pessoas que operam o sistema podem ser mal qualificadas. Investimento em treinamento –Processos de negócios inadequados (no qual o sistema esta inserido) –Deficiência do próprio sistema. Tecnologia inadequada O processo de desenvolvimento do hw é um sucesso o do sw não porque? Hw: fabricado, falhas inicio e fim, substitui peças, montagem componentes padrões. Sw: manufaturado,falhas ao ser alterado,tem que ser alterado,desenvolvido:difícil padronizar para reuso. Cite o ciclo de vida do sw. •1. Começo: percepção de necessidades. •2. Desenvolvido, transformado-se em um conjunto de itens a ser entregue ao usuário •3. Entra em operação, sendo usado dentro de um processo de negócio e sujeito a atividades de manutenção. •4. Fim: é retirado de operação ao final de sua vida útil. Defina o conceito de processo. Maneira pela qual se realiza uma operação, segundo determinadas normas Cite a s três etapas do estudo de viabilidades Entrada: 1.Conjunto preliminar de requisitos de negócio 2.Esboço da Descrição do Software 3.Como apóia a área de negócios Saída: 1.Viável? (técnica, operacional e financeiramente) Como se dá o requisito de usuário Descrição dos serviços esperados do sistema e restrições sobre as quais ele deve operar –“O sistema deve controlar o bloqueio de exemplares pelo professor” Como se dá o requisito de sistema -Definição estruturada e detalhada dos serviços e restrições operacionais –Detalhar as funções de Bloqueio de exemplares Quais os tipos de requisitos Funcionais –Declarações de serviços que o sistema deve fornecer e como deve se comportar. –Pode estabelecer o que o sistema NÃO deve fazer •Não Funcionais –Restrições sobre os serviços ou funções oferecidos pelo sistema –Características ou qualidades Quais as características do brainstorm Reuniões onde participam todos os envolvidos •Objetivo: permitir que todos expressem suas idéias de forma a obter o consenso. •Todos expressão de forma desorganizada mesmo •Organizam-se as idéias •Identifica-se conflitos entre áreas •Visões diferentes do requisito nas empresas. Cite as fases da Análise Estudar, entender e modelar o problema •Modelar = criar modelos para apresentar os requisitos –Modelos= abstração da realidade –Exemplos: maquetes, protótipos •Independe de tecnologia •Estrutural •Comportamental Cite as técnicas da análise Estruturada / Essencial (obsoleta) –Eventos que afeta o sistema funções –Foco: funcional –3 visões: funções, dados e controle –Sistema = conjunto de processos •Orientada a objeto (atual) –O mundo é composto por objetos O que é UML Linguagem de modelagem unificada, utilizada em engenharia de software Características da UML Não é uma metodologia. NÃO diz para você o que fazer primeiro e em seguida ou como projetar seu sistema Compreende uma série de diagramas Tipos de diagramas UML. Diagrama de objetos, diagrama de classes, diagrama de caso de uso,diagrama de maquinas de estado,diagrama de atividades, diagrama de iteração, diagrama de estrutura,diagramas de pacotes, diagramas de implantação,diagramas de componentes. Qual o tripé da análise Diagrama de Casos de Uso, Diagrama de Classe,diagrama de sequencia Quais são as visões do projeto EXTERNA –Visão do usuário –Modelo de interação interface •INTERNA –Componentes do sistema –Relação entre os componentes (acoplamento) –Funcionamento do componente –Interconexões com outros sistemas Níveis de reutilização do código Código reutilização de parte do código do programa Reutilização de objetoBiblioteca e classes fundamentais Reutilização de plataformacamada de arquitetura Reutilização de classemodulo de código binário Desenho aproveitamento de idéias para solução de processos encontrados Quais são as fases do processo. Requisitos,implantação,testes,desenho,manutenção,análise,implementação,concepção Ciclo de vida Concepção, requisitos, análise,Desenho e testes Onde estão os erros? Manutenção,Implantação. Fase de testes Objetivo encontrar erros não descobertos - bem sucedidos:Acha erro não previsto -é preciso usar o produto -Pra melhor análise o teste deve ser feito por uma equipe independente, diferente da equipe desenvolvedora. Estratégia de teste Teste da caixa preta (+simples) Não considera a forma de como está implementado- detalhes internos. Vantagem: não requer conhecimento técnico da tecnologia empregada ou da implementação empregada. Teste da caixa branca (+complexos) Identificar defeitos na estrutura do sw através da simulação que toda estrutura usa na codificação. Desvantagem: requer conhecimento técnico da tecnologia empregada Vantagem: eficientes na detecção de erros. Implementação A fase de implementação, ou codificação, tem como objetivo escrever o programa em uma linguagem de programação. Interpretação Interpretação é a tradução do código de linguagem de máquina em tempo de execução. - uma característica marcante das linguagens interpretadas são que elas executam o código até o ponto em que há um erro. Compilação - primeiro faz uma leitura completa do código identificando variáveis e outros elementos - no segundo passo, a tradução do código em linguagem de máquina Ambientes de desenvolvimento (programa em c) Compilador, montador, link editor, loader. Programa baseado em componentes Um componente é uma unidade reutilizável de software, tipicamente com fronteiras bem definidas e encapsulado. Programação em par técnica usada em metodologias ágeis 2 programadores trabalham juntos A programação em par é uma forma eficaz de reduzir bugs em um sistema A programação em par explora a diversidade de idéias- troca de conhecimento Documentação para manutenção - possibilitar que a equipe entenda o que foi pensado e as soluções dadas - possibilitar que as alterações e novas funções possam ser documentadas Tipo de documentação Ferramentas case ajuda a manter a documentação viva e atuzalizada. Documentação do processo Cronograma, relatórios, padronização de processos, comunicação entre projetos. Documentos técnicos, descreve estratégias de como chegar ao resultado final, registram erros Modelos iniciais ( anos 70-80) Modelo balburdia: experiência dos programadores Segunda fase implementação e correção. Modelo codifica –remenda, erros descobertos com o uso Surge a idéia de necessidades após implantação Confiabilidade e qualidade começam a ser contestadas Modelo cascata - atividades ordenadas, com fluxo continuo para auxiliar o acompanhamento do projeto Fluxo de informações, relacionamento entre atividades. Linear a atividade é concluída antes de iniciara próxima, seqüencial e para frente. Útil pequenos projetos, sem padronização e documentação, ganho na fase de planejamento. Problema o projeto a fase de requisitos está em constante evolução e mudança. Características base para outros modelos, usado até hoje. Requer documentação em todas as fases, simples de implementar e gerir Desvantagens -todos os requisitos devem ser descobertos no inicio, não prevê alteração, não é possível corrigir erros em fases já completas, não prevê manutenção, usuários só vê os resultados ao final As principais atividades são Estudo de viabilidade, análise e especificação, desingn da arquitetura, desingn detalhado, integração e testes do sistema. Cascata com retroalimentação Cascata tradicional que permite realimentação. Modelo que permite arevisão de fases anteriores e a superposição entre as fases, correções que surgirem durante outras fases do processo. Vantagem: possibilita a correção de erros nas fases anteriores ao processo de desenvolvimento, prevê manutenção Desvantagem dependendo da quantidade de revisões e realimentações o processo pode se tornar difícil gerenciar. Modelo iterativo-incremetal Os projetos são desenvolvidos em porções(incremental) aos poucos em várias iterações, idéia de melhoramento sucessivos (aos poucos) Define: um subconjunto de requisitos e utiliza o modelo em cascata para sua realização Passos fundamentais: iniciar o desenvolvimento com um subconjunto simples de requisitos de sw e iterativamente alcançar evoluções subseqüentes das versões até o sistema todo estar implementado, a cada iteração as modificações de projeto são feitas e novas funcionalidades são adicionadas. Processo iterativo Identifica, especifica, implementa, testa e implementa a iteração, se atender as especificações passa para a próxima iteração. Baseia-se na idéia de aumento no âmbito do sistema, desenvolvimento em partes. As partes podem ser desenvolvidas em paralelo e integradas quando completas. Modelo prototipação Criação de um modelo para ser analisado e desenvolvido a partir do protótipo, o analista coletará informações para um mini projeto concentrando-se na entrada e saídas do software, após a criação e aceitação do protótipo, o produto final será desenvolvido, o protótipo serve como mecanismo para identificar os requisitos, existem dois tipos de protótipos papel ou sistema. Devemos usar quando o cliente definiu um conjunto de objetivos para o software Fazem parte do processo de prototipação: obtenção de requisitos, projeto rápido construção do protótipo, avaliação do protótipo, refinamento do protótipo, contrução do protótipo. Modelo espiral O modelo espiral assemelha-se com o prototipação, mas inclui um fator: a análise de risco, funciona de forma iterativa, incremental mas com uma etapa onde pode ser tomada uma decisão de se interromper ou não o processo Cada volta da espiral representa uma fase do processo: planejamento Análise de riscos, Engenharia,avaliação do cliente Não a fases fixas como especificação e desenho- as voltas na espiral são determinadas pelo que é requerido, riscos são explicitamentes avaliados e resolvidos no processo,usa a prototipação em qualquer etapa da evolução do produto como mecanismo de redução de riscos. Vantagens: modelo evolutivo, possibilita uma maior integração entre as fases e facilita a depuração e manutenção do sistema, permitem que o projetista e cliente entender e reagir aos riscos. Desvantagens: avaliação de riscos exige muita experiência, o modelo é novo e não tem sido amplamente utilizado. Processo de desenvolvimento ágeis. Baseado em um manifesto criado por desenvolvedores experientes, estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazerem o mesmo, foco em pessoas e não em ferramentas, mudanças de valores. Valoriza-se.Indivíduos e interações, software em funcionamento colaboração com o cliente, responder a mudanças Nossa maior prioridade é satisfazer o cliente, mudanças nos requisitos são bem vindas ainda que tardia entregar frequentemente o software funcionando, pessoas de negócios e desenvolvimento devem trabalhar diariamente Construa projetos em torno de indivíduos motivados, o método mais eficiente e eficaz de transmitir informações para equipe é “a conversa”. Software funcionando é a medida primária do progresso. Método XP Extreme Programing Baseado em cinco valores: comunicação coragem(para lidar c/mudanças no requisito) feddback, respeito( entre os membros da equipe), simplicidade (fazer o necessário). Praticas do método XP: reuniões em pé, programação em par, testes de aceitação, posse coletiva,pequenas versões, ritmo sustentável, padrão de codificação Método Scrum Scrum é um processo de desenvolvimento iterativo e incremental para gerenciamento de projetos e desenvolvimento ágil de software. É usado em trabalhos complexos onde não há previsão exata do que se pretende desenvolver Product backlog lista com funcionalidades implementadas Sprint backlog análise dos requisitos para informar equipe como será implementado Sprint período para finalização de cada requisito Scrum reunião diária para análise de andamento Scrum máster coordenador (não estourar o sprint Rup- rational unified process Processo proprietário de desenvolvimento de software criado pela rational, que foi adquirida pela IBM. - baseado em oo -processo pesado -uso em grandes processos - desenvolver iterativamente - utiliza uml - qualidade durante todo o processo disciplina+fases+iterações As fases do rup Iniciação Concepção elaboração construção transição 2 dimenções Eixo horizontal representa o tempo, mostra os aspectos do ciclo de vida a medida que se desenvolve fases e interações Eixo vertical representa as disciplinas, que agrupam as atividades
Compartilhar