Escolar Documentos
Profissional Documentos
Cultura Documentos
PERGUNTA A comunicação define metas que devem ser alcançadas por meio de uma plano. Es
se planejamento inclui práticas gerenciais e técnicas que permite a definição de um rote
iro a ser seguido. Há muitas filosofias de planejamento diferentes
Minimalista: alegam que modificaçãoes frequentes obscurecem/confumdem a
necessidade de um plano detalhado;
Tradicionalistas: alegam que o plano fornecem um roteiro efetivo, e quanto mais
detalhes, menos chances da equipe ficar “perdida”
• Agilistas: alegam que um rápido “jogo de planejamento” pode ser necessário, porém
ro vai emergir a medida que o trabalho real no software tiver início
Ou seja, independente do rigor com que planejamento é conduzido, os princípios a seg
uir sempre se aplicam:
RESPOSTA 1. Entenda o escopo do projeto; (escopo fornece um destino a equipe – us
e um roteiro!)
2. Envolva o cliente na atividade de planejamento; (negocie com cliente priorid
ades e
restrições!)
3. Reconheça que o planejamento é iterativo; (ajustar o plano para acomodar
modificações!)
4. Estime com base no que é sabido; (intençaõ é fornecer indicação de esforço, custo e
duração de tarefas – se informação for vaga, estimativas serão igualmente não
confiáveis)
5. Considere riscos a medida que define o plano; (se riscos têm grande impacto e
alta
probabilidade, faça plano contigência e ajuste o projeto caso ocorra)
6. Seja realista; (pessoas não trabalham 100% de cada dia – há ruídos na comunicação
humana e erros, consderar isso no projeto!)
7. Ajuste a granularidade à medida que você define o plano; (em geral ela muda de f
ina
para grossa a medida que o tempo se afasta da data atual – atividades futuras pode
m
mudar)
8. Defina como pretende garantir a qualidade; (definir como será garantida a qual
idade –
revisoes formais devem estar no cronograma, programacao em pares no plano!)
9. Descreva como pretende acomodar modificações; (definir politica: um cilente pode
solicitar uma modificacao a qualquer momento? A equipe é obrigada a implementá-la?
Como é avaliado o impacto dessa modificação?)
10. Acompanhe o plano com frequencia e faça ajustes quando necessário (projetos de
software se atrasam um dia de cada vez, procure desacordos diariamente e ajuste-
os!)
PERGUNTA 4. No contexto de gerenciamento de projetos, o que significa a abordag
em 5W2H ?
RESPOSTA Boehm 1996, sugere uma abordagem com foco nos objetivos do p
rojeto, marcos, cronogramas, responsabilidades, abordagens gerenciais e técn
icas, e recursos necessários para definição do projeto e do plano de projeto. (Why
, What, When, Who, Where, How e How Much)
PERGUNTA 5. Em relação a prática de modelagem de software, qual a diferença entre model
ar um software e um edifício? Explique.
RESPOSTA Modelos nos fornecem melhor entendimento da entidade real a ser construíd
a (se for físico, pode ter minuatura, mas software não é assim!). Na computação ele precis
a representa a informação que software transforma, arquitetura, funções, características
desejáveis pelos usuários e o comportamento do sistema
PERGUNTA 6. Quais os objetivos da prática de modelagem nos seus dois níveis de abst
ração?
RESPOSTA Há 2 níveis de abstração para representação da modelagem:
• Nível de usuário: modelo de análise (domínio de informação, funcional e
comportamental)
• Nível técnico. modelo de projeto (caracteriza a arquitetura, interface usuário, detal
hes de componentes)
PERGUNTA 7. Quais são e explique os dois nível de abstração da prática da modelagem de so
ftware?
RESPOSTA O modelo de análise de domínio consiste na representação dos objetos
de dados a serem persistidos no sistema. O modelo de projeto são todos os
demais objetos de dados, controle e interfaces do sistema, os quais consti
tuem a arquitetura e todos os elementos relacionados.
PERGUNTA 8. Na prática da modelagem, qual a diferença entre modelagem da análise e mo
delagem de projeto?
RESPOSTA A modelagem de análise enfoca 3 atributos principais: a informação a ser proc
essada, a função a ser desempenhada e o comportamento a ser exibido. Todos os métodos
estão arelacionados aos seguintes princípios operacionais:
1. O domínio da informação de um problema precisa ser representado e entendido; (abra
nge
dados que entram e saem do sistema e são persistidos!)
2. As funções a serem desenvolvidas pelo software devem ser definidas; (seja em alt
o ou baixo nível de detalhes!)
3. O comportamento do sw (e eventos externos) precisa ser representado; (seja p
or usuário, sistemas externos ou sensores)
4. Modelos que mostram informação, função, comportamento devem ser particionados em ca
madas com seus detalhes; (dividir para conquistar/particionamento estratégia chave
na modelagem da análise)
5. A tarefa de análise deve ir da informação essencial até os detalhes de implementação;
(descreva a essência do problema e depois (projeto) como ela será implementada!)
A modelagem de projeto é criada para fornecer várias visões do sistema (diversos níveis
de detalhes). Existem diversos métodos para derivar elementos do projeto de sw:
• Orientados a dados: a estrutura de dados define a arquitetura e componentes res
ultantes
• Orientados por padrões: usa domínio do problema (modelo análise) para desenvolver
estilos arquiteturais
• Orientados a objetos: usam objetos do domínio do problema para criar estruturas d
e
dados e métodos
Os seguintes princípios de projeto podem são aplicado por todos os métodos apresentado
s:
1. O projeto deve estar relacionado ao modelo de análise; (!)
2. Sempre considere a arquitetura do sistema a ser construído; (!)
3. O projeto de dados é tão importante quanto ao projeto de funções de processamento; (
!)
4. As interfaces (internas e externas) precisam ser projetadas com cuidado;
5. Projeto de interface deve estar sintonizado com o usuário final (deve ser fácil)
; (!)
6. Projeto em nível de componente deve ser funcionalmente independente (medida d
e
objetividade de um componentes de sw!)
7. Os componentes devem ser fracamente acoplados uns aos outros e ao ambiente e
xterno;
(!)
8. Representações de projeto (modelos) devem ser facilmente compreensíveis; (!)
7
9. O projeto deve ser desenvolvido iterativamente. A cada iteração o projetista dev
e lutar por maior simplicidade; (!) Seguindo esses princípíos, os engenheiros criam
projetos que exibem fatores de qualidade e externos (observados pelo usuário ex. v
elocidade, confiabilidade, correção, usabilidade, etc) e internos (perspectiva técnica
).
PERGUNTA 25. Os métodos ágeis podem ser aplicados em qualquer projeto de software? J
ustifique sua resposta.
RESPOSTA Não. As características do tipo de projeto de projeto, equipe, risc
os, cronograma e orçamento devem ser avaliados para aplicação ou não de um método ágil d
desenvolvimento.
PERGUNTA 26. Cite os pontos fortes e fracos das metodologias ágeis.
RESPOSTA • Fracos: Métodos ágeis também enfatizam trabalho no software como uma medi
da primária de progresso. Combinado com a comunicação face-a-face, produzem pou
ca documentação em relação a outros métodos, sendo este um de seus pontos negativos. També
critica-se o desenvolvimento ágil como codificação cowboy1
. Também exige maior participação do cliente, o que as vezes não é possível.
• Fortes: a entrega é mais rápida, ou seja, o cliente vê o software funcion
ando antes. Além disso, erros devido a coleta de requisitos são corrigidos de manei
ra bem mais rápida.
PERGUNTA 27. Cite ao menos cinco metodologias ágeis existentes atualmente.
RESPPOSTA SCRUM, FDDM, Cristal, XP e Agile Process Unified.
PERGUNTA 28. O que é a WebE e uma WebApp?
RESPSOTA A WebE “aplica princípios científicos sólidos, de engenharia e de ges
tão, abordagens disciplinadas e sistemáticas, para o bem sucedido desenvolvimento
, implantação e manutenção de sistemas e aplicações de alta qualidade baseados na
eb”. Por sua vez, o termo WebApp
significa aplicações que são baseadas Web, ou simplesmente Aplicações Web.
PERGUNTA 29. Quais as diferenças entre a ES tradicional e a WebE?
A WebE não é um clone perfeito da Engenharia de Software, mas, toma muitos
conceitos e princípios fudamentais dela. É adaptada para suprir as necess
idades das características específicas de WebApps, enfatizando atividades técni
cas e de gestão com uma abordagem disciplinada.
PERGUNTA 30. Diferencie uma aplicação convencional de uma aplicação baseada na
Web apresentando os principais atributos de uma WebApp?
RESPOSTA • Concentração em redes: Internet, Intranet, Extranet
• Concorrência: Número de acessos simultâneos
• Carga imprevisível: Mudança da ordem de magnitude de acesso
• Desempenho: Acesso lento pode estimula mudar ação
• Disponibilidade: Tempo e fuso horário
• Voltada a dados: Hipermídia para apresentar informação
A codificação cowboy, também chamada de balbúrdia, é a ausência de método de definição: os
da equipe fazem o que eles sentem que é correto.
• Sensível ao conteúdo: Determina a qualidade de uma WebApp
• Evolução continuada: As WebApps evoluem continuamente!
• Imediatismo
• Segurança
• Estética
PERGUNTA 31. Cite ao menos quatro categorias distintas de WebApps.
• Informacional: conteúdo de leitura de navegação (links)
• Para baixar: baixar informação
• Adaptável: usuário adapta conteúdo as necessidade específicas
• Interação: salas de bate-papo, quadros de aviso
• Entrada de usuário: entradas baseadas em formulários
• Orientada a transação: usuário faz solicitações
• Orientada a serviço: aplicação fornece serviços ao usuário
• Portal: aplicação orienta o usuário para aplicação/serviços fora do domínio do portal
• De acesso a banco de dados: usuário consulta grandes bases de dados e extrai info
rmação
• Data Warehouse: coleção
PERGUNTA 37. Por que projetos de WebApps devem seguir uma abordagem disciplinada
?
RESPOSTA Não necessariamente. Isso depende muito do tipo e riscos relacion
ados a aplicação que será desenvolvida.
PERGUNTA 38. Os princípios, conceitos e métodos da Eng. de Software podem
ser aplicados ao desenvolvimento Web?
RESPOSTA Sim, porém são necessárias adaptações para contemplar os diferentes atributos dos
sistemas Web
PERGUNTA Qual o objetivo da Formulação e do Planejamento no contexto de Projetos We
bE?
RESPOSTA Formulação: garante que a WebApp seja realmente necessária. inicia co
ma identificação das necessidade do negócio, depois descreve os objetivos da
WebApp, define principais
características e funções e coleta de requisitos que levam ao modelo de anál
ise. Focaliza o quadro geral, das necessidades e objetivos do negócio e informação r
elacionada.
PERGUNTA Planejamento: estabelece o fluxo de trabalho a ser realizado no projeto
.
40. Explique e comente sobre os passos necessários para realizar coleta de requisi
tos na Formulação
de Projetos WebE.
RESPOSTA A coleta de requisitos para WebApp é baseada nos objetivos da coleta
global de requisitos da
engenharia de software, contudo estes precisam ser adaptados tornando-se:
• Identificar requisitos de conteúdo;
• Identificar requisitos funcionais;
• Definir cenários de interação para diferentes classes de usuários;
Já os passos consistem em:
1 ) Pedir aos interessados a definição de categorias de usuários e definições de cada uma;
2 ) Comunicar-se com usuários para definir requisitos básicos da WebApp;
3 ) Analisar informação coletada e conferi-las com interessados;
4 ) Definir casos de uso para cada classes de usuários (cenários de interação)