Buscar

Perguntas para prova av2 Processos de desenvolvimento de software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

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

Outros materiais