1. 1. Defina Engenharia de Software:
É uma área do conhecimento da computação voltada para a especificação,
desenvolvimento e manutenção de sistemas de software aplicando tecnologias e
práticas de gerência de projetos e outras disciplinas, objetivando organização,
produtividade e qualidade
2. Qual a finalidade de se modelar?
Para manter a aplicação mais robusta e mais fácil de manter além de tornar o
desenvolvimento mais organizado, evitando assim problemas futuros.
3. Qual a diferença entre análise e projeto?
A análise enfatiza a investigação de um problema e os requisitos desse problema, o
projeto enfatiza a solução que satisfaça os requisitos desse problema.
4. Quais as características que norteiam a escolha de uma metodologia
tradicional?
Equipe grande, criticidade do projeto, prioridades do projeto, longo prazo para entrega,
entre outros.
5. Quais as características que norteiam a escolha de uma metodologia
ágil?
Curto prazo, equipes pequenas, mudanças freqüentes de requisitos, baixa criticidade.
6. Defina processo:
É uma seqüência coerente de práticas que objetiva o desenvolvimento ou evolução de
sistemas de software.
7. Qual a finalidade do SEI?
Servir como um provedor global em engenharia de software e melhoria de processos
como um todo.
8. Qual a finalidade da OMG?
Organização internacional que aprova padrões abertos para aplicações orientada a
objetos.
9. Qual a finalidade do RUP?
Fornecer uma abordagem disciplinada para atribuição de tarefas e responsabilidades
dentro de uma organização de desenvolvimento.
10. Qual a finalidade da UML?
Basicamente, permite que desenvolvedores visualizem os produtos de seus trabalhos
em diagramas padronizados, serve também para especificar significados.
11. Quais são e explique as fases do RUP
2. Concepção: A fase de concepção contém os workflows necessários para que as partes
interessadas (stakeholders) concordem com os objetivos, arquitetura e o planejamento
do projeto. Se as partes interessadas tiverem bons conhecimentos, então, pouca
análise será requerida. Caso contrário, uma análise maior será requerida.
Elaboração: A fase de elaboração será apenas para o projeto do sistema, buscando
complementar o levantamento / documentação dos casos de uso, voltado para a
arquitetura do sistema, revisa a modelagem do negócio para os projetos e inicia a
versão do manual do usuário.
Construção: Na fase de construção, começa o desenvolvimento físico do software,
produção de códigos, testes alfa e beta.
Transição: Nesta fase ocorre a entrega do software, é realizado o plano de implantação
e entrega, acompanhamento e qualidade do software.
12.Quais são e explique as disciplinas do RUP:
Disciplina de Modelagem de Negócios: Modelagem de negócios, explica
como descrever uma visão da organização na qual o sistema será implantado e
como usar esta visão como uma base para descrever o processo, papéis e
responsabilidades.
Disciplina de Requisitos: Esta disciplina explica como levantar pedidos das
partes interessadas ("stakeholders") e transformá-los em um conjunto de
requisitos que os produtos funcionam no âmbito do sistema a ser construído e
fornecem requisitos detalhados para o que deve fazer o sistema.
Disciplina de Análise e Projeto ("Design"):O objetivo da análise e projeto é
mostrar como o sistema vai ser realizado.
Disciplina de Implementação : Sistemas são realizados através da aplicação
de componentes. O processo descreve como a reutilização de componentes
existentes ou implementar novos componentes com responsabilidades bem
definidas, tornando o sistema mais fácil de manter e aumentar as possibilidades
de reutilização.
Disciplina de Teste : permite encontrar defeitos tão cedo quanto possível, o
que reduz radicalmente o custo de reparar o defeito. Os testes são realizados
ao longo de quatro dimensões da qualidade: confiabilidade, funcionalidade,
desempenho da aplicação, e o desempenho do sistema. Para cada uma destas
dimensões da qualidade, o processo descreve como você passar pelo teste do
ciclo de planejamento, projeto, implementação, execução e avaliação.
Disciplina de Implantação: O objetivo da implantação é o de produzir com
sucesso lançamentos de produtos e entregar o software para seus usuários
finais.
Disciplina de Ambiente: O ambiente enfoca as atividades necessárias para
configurar o processo para um projeto.
3. Disciplina de Configuração e Gerência de Mudança:
A disciplina de Gestão de Mudança em negócios com RUP abrange três
gerenciamentos específicos: de configuração, de solicitações de mudança, e de
status e medição.
• Gerenciamento de configuração: A gestão de configuração é responsável pela
estruturação sistemática dos produtos. Artefatos como documentos e modelos,
precisam estar sob controle de versão e essas alterações devem ser visíveis. Ele
também mantém o controle de dependências entre artefatos para que todos os artigos
relacionados sejam atualizados quando são feitas alterações
• Gerenciamento de solicitações de mudança: Durante o processo de
desenvolvimento de sistemas com muitos artefatos existem diversas versões. O CRM
mantém o controle das propostas de mudança
• Gerenciamento de status e medição: Os pedidos de mudança têm os estados: novo,
conectado, aprovado, cedido e completo. A solicitação de mudança também tem
atributos como a causa raiz, ou a natureza (como o defeito e valorização), prioridade,
etc. Esses estados e atributos são armazenados no banco de dados para produzir
relatórios úteis sobre o andamento do projeto. A Rational também tem um produto
para manter a solicitações de mudança chamado ClearQuest. Estas atividades têm
procedimentos a serem seguidos.
O que é um artefato?
É o produto de uma ou mais atividade dentro do contexto do desenvolvimento
de um software.
14. Defina XP:
Programação extrema (do inglês eXtreme Programming), ou simplesmente XP,
é uma metodologia ágil para equipes pequenas e médias e que irão
desenvolver software com requisitos vagos e em constante mudança. Para isso,
adota a estratégia de constante acompanhamento e realização de vários
pequenos ajustes durante o desenvolvimento de software.
15. Quais são as regras que o XP utiliza?
Comunicação, simplicidade, feedback e coragem.
16. Quais são as 12 boas práticas do XP?
Planejamento, fases Pequenas, metáfora, design Simples, testes, refatoração,
programação pareada, propriedade coletiva, integração contínua, semana de
40 horas, cliente junto aos desenvolvedores, padronização do código.
Explique a prática do XP chamada 40 horas:
Trabalhar com qualidade, buscando ter ritmo de trabalho saudável (40
horas/semana, 8 horas/dia), sem horas extras. Horas extras são permitidas
quando trouxerem produtividade para a execução do projeto. Outra prática que
se verifica neste processo é a prática de trabalho energizado, onde se busca
4. trabalho motivado sempre. Para isto o ambiente de trabalho e a motivação da
equipe devem estar sempre em harmonia.
Explique a prática do XP chamada fatoração:
É um processo que permite a melhoria continua da programação, com o mínimo
de introdução de erros e mantendo a compatibilidade com o código já
existente. Refabricar melhora a clareza (leitura) do código, divide-o em módulos
mais coesos e de maior reaproveitamento, evitando a duplicação de código-
fonte.
19. Explique a prática do XP chamada simplicidade:
A simplicidade nos ensina a implementar apenas aquilo que é suficiente para
atender as necessidades atuais do cliente. Ou seja, ao codificar uma
funcionalidade o desenvolvedor deve se preocupar apenas com os problemas
de hoje e deixar os problemas do futuro para o futuro. Não se deve tentar
prever o futuro, pois raramente obter-se-á êxito nas previsões.
20. Explique a prática do XP chamada programação em pares:
É a programação em par/dupla num único computador. Geralmente a dupla é
formada por um iniciante na linguagem e outra pessoa funcionando como um
instrutor. Como é apenas um computador, o novato é que fica à frente fazendo
a codificação, e o instrutor acompanha ajudando a desenvolver suas
habilidades. Desta forma o programa sempre é revisto por duas pessoas,
evitando e diminuindo assim a possibilidade de defeitos. Com isto busca-se
sempre a evolução da equipe, melhorando a qualidade do código fonte gerado.
21. Explique a prática do XP chamada planejamento
O desenvolvimento é feito em iterações semanais. No início da semana,
desenvolvedores e cliente reúnem-se para priorizar as funcionalidades. Essa
reunião recebe o nome de Jogo do Planejamento. Nela, o cliente identifica
prioridades e os desenvolvedores as estimam. O cliente é essencial neste
processo e assim ele fica sabendo o que está acontecendo e o que vai
acontecer no projeto. Como o escopo é reavaliado semanalmente, o projeto é
regido por um contrato de escopo negociável, que difere significativamente das
formas tradicionais de contratação de projetos de software. Ao final de cada
semana, o cliente recebe novas funcionalidades, completamente testadas e
prontas para serem postas em produção.
22. Explique a prática do XP chamada feedback:
Basicamente, é o processo de troca de informações, relacionadas ao que é
produzido e consumido durante um projeto, entre o cliente e a equipe de
desenvolvimento e vice-versa.
Explique a prática do XP chamada primeiro testar:
5. Primeiro crie os testes unitários (unit tests) e depois crie o código para que os
testes funcionem.
Explique a prática do XP chamada entregas constantes:
A liberação de pequenas versões funcionais do projeto auxilia muito no
processo de aceitação por parte do cliente, que já pode testar uma parte do
sistema que está comprando.
25. Explique a prática do XP chamada metáfora:
Procura facilitar a comunicação com o cliente, entendendo a realidade dele. O
conceito de rápido para um cliente de um sistema jurídico é diferente para um
programador experiente em controlar comunicação em sistemas em tempo
real, como controle de tráfego aéreo. É preciso traduzir as palavras do cliente
para o significado que ele espera dentro do projeto.
O que a técnica Delphi orienta:
Defina Scrum:
O Scrum é um processo de desenvolvimento iterativo e incremental para
gerenciamento de projetos e desenvolvimento ágil de software.
28. Quais são os papéis no Scrum?
Scrum máster, productor sprint, equipe, proprietário do produto.
O que é um sprint?
Iteração que segue um ciclo de desenvolvimento e entrega de software pronto.
O que é um backlog?
Conjunto de requisitos, priorizados pelo dono do produto.
Defina processo iterativo e incremental:
É uma estratégia de planejamento estagiado em que várias partes do sistema
são desenvolvidas em paralelo, e integradas quando completas.
32. RUP e Scrum são iterativos e incrementais?
Sim
XP e Scrum são processos iguais?
Não, o scrum visa mais planejamento de requisitos.
Quais as diferenças entre RUP e Scrum?
6. O scrum é uma metodologia ágil, no scrum não existem papeis definidos como
no RUP, o scrum por ser uma metodologia ágil é aconselhável para equipes
pequenas, e com projetos com curto prazo de entrega, entre outros.
35. Quais os termos do manifesto ágil?
Os indivíduos e suas interações acima de procedimentos e ferramentas, o
funcionamento do software acima de documentação abrangente, a colaboração dos
clientes acima da negociação de contratos, a capacidade de resposta à mudanças
acima de um plano pré-estabelecido;
36 Qual o foco da análise?
A análise enfatiza a investigação de um problema e os seus requisitos, ao invés da
solução.
37. Qual o foco do projeto?
Enfatiza uma solução conceitual que satisfaça os requisitos.
38. XP faz uso da UML?
XP usa alguns diagramas UML (mais especificamente o diagrama de caso de uso) para
facilitar o desenvolvimento. Mas não é uma regra usar diagramas, pelo contrário,
diagramas são usados apenas quando úteis.
39. RUP e Scrum são baseados em que paradigma?
Paradigma ágil, sendo o scrum melhor para projetos pequenos e o RUP para projetos
de médio e grande porte.
40. O que é desenvolvimento Adhoc?
Desenvolvimento que não foi devidamente projetado em razão da necessidade de
atender uma demanda específica do usuário, são modelos informais utilizados pelo
desenvolvedor, como por exemplo, rabiscar uma idéia pra obter mais clareza e
simplificação da realidade. Porém esses modelos não possuem uma linguagem clara
que possa ser compartilhada com outras pessoas facilmente.
41. O que consiste a análise orientada a objetos?
Têm como meta identificar o melhor conjunto de objetos para descrever um sistema de
software. O funcionamento deste sistema se dá através do relacionamento e troca de
mensagens entre estes objetos.
42. Forneça 2 exemplos de processos da metodologia tradicional:
RUP, cascata.
7. 43. Forneça 2 exemplos de processos da metodologia ágil:
Scrum, XP.
44. XP e Scrum podem conviver juntos?
Sim. As boas práticas de um podem ser usadas no outro.
45. O RUP pode ser instanciado?
Pode ser instanciado, porém se for instanciado por completo torna-se inviável.
46. Quais as características que devem ser avaliadas para se usar RUP?
Tamanho da equipe, criticidade do projeto, complexidade dos requisitos, localização de
toda a equipe, entre outros.
47. Quais as características que devem ser avaliadas para se usar
Scrum?
Tamanho da equipe, criticidade do projeto, complexidade dos requisitos, localização de
toda a equipe, disponibilidade do cliente, entre outros.
48. Quais os diagramas da UML?
Estruturais: diagrama de classes, de objetos, de instalação, de componentes de
pacotes e de estruturas.
Comportamentais: caso de uso, transição de estados e de atividades.
Interação: diagrama de seqüência, interatividade, colaboração ou comunicação e de
tempo.
49. A metáfora pode ser substituída por qual diagrama da UML?
Caso de uso.
50. Qual a diferença entre desenvolver Adhoc e usando metodologia
ágil?
Organização, clareza, confiabilidade do software, ao usar uma metodologia evita-se
problemas futuros em relação a manutenção, e se houver necessidade, o problema
será resolvido mais rapidamente.