Buscar

Engenharia de Software Discursiva 20 perg respondidas

Prévia do material em texto

Engenharia de Software Discursiva 
 
Projeto de software é um empreendimento com objetivo bem definido, que consome 
recursos e ocorre geralmente com prazos, custos e qualidade bem definidos. Projetos 
tornam-se cada vez maiores e mais complexos composto por atividades multifuncionais. 
Qual deve ser o perfil de um gerente de projetos neste caso? E quais etapas considerar num 
projeto? 
 
O perfil de um gerente de projetos deve ser mais integrador que especialista técnico. Um 
projeto prevê algumas etapas importantes: planejamento, programação e controle de tarefas 
integradas. 
 
Dentro de uma estrutura de projeto de software, qual a importância da fase de requisitos? 
 
Criação de um software é algo desafiador, criativo e divertido, mas a tarefa de entendimento 
dos requisitos além de ampla é crucial para o sucesso ou fracasso do projeto. A engenharia de 
requisitos deveria ser tratada como uma etapa extremamente importante e subdividida em 
assuntos relacionados à concepção, ao levantamento, à elaboração, à negociação e à 
especificação dos requisitos. Na concepção estudasse a viabilidade da solução através da 
coleta de informações e necessidades dos stakeholders (pessoas que irão utilizar direta ou 
indiretamente o software). É no levantamento dos requisitos que são identificados problemas 
de escopo, entendimento do problema e volatilidade dos requisitos (requisitos que mudam!). 
 
No desenvolvimento de software, a qualidade de um projeto engloba o grau de atendimento 
às funções e características especificadas no modelo de requisitos. A gestão da qualidade 
preza por um produto que seja útil (usável) e que contenha valor agregado tanto para o 
desenvolvedor quanto para os usuários do sistema. Como partimos de um conceito bastante 
subjetivo, é possível analisarmos a qualidade de software sob a orientação de várias 
dimensões. Cite as principais dimensões de análise da qualidade de software. 
 
1. Qualidade no desempenho 
2. Qualidade dos recursos 
3. Qualidade na confiabilidade 
4. Qualidade na conformidade 
5. Qualidade na durabilidade 
6. Qualidade na facilidade de manutenção 
7. Qualidade na estética 
8. Qualidade na percepção. 
 
O que é modelagem de software? Por que utilizar um método para o desenvolvimento de 
software? 
 
Entende-se por método o caminho a ser percorrido através de etapas, aplicandose um 
conjunto de técnicas, permitindo a construção de um software eficiente e seguro. Métodos 
sempre envolvem tarefas, tais como: 
1. Planejamento do projeto 
2. Análise de requisitos 
3. Projeto de estruturas de dados, arquitetura e algoritmos 
4. Codificação, teste e manutenção. 
Utilizamos um método para facilitar o treinamento de novos integrantes de nossa equipe de 
desenvolvimento e para eliminar perdas na falta de controle de resultados. 
 
Um bom desenvolvimento de software segue um modelo de processo. Quais são os ganhos 
ao se adotar um modelo de processo? 
 
Estabilidade durante o processo de desenvolvimento 
Maior controle sobre o processo 
Organização do processo 
Agilidade 
Sem dúvidas, a documentação que é escrita e mantida ao longo do processo 
E finalmente, adotamos um processo que seja aderente ao perfil profissional que temos na 
organização. 
 
Um bom desenvolvimento de software segue um modelo de processo. Como pode ser 
definido um modelo de processo? 
 
Um modelo de processo pode ser definido como um arcabouço que contenha tarefas 
necessárias para a construção de software com um bom padrão de qualidade. Um processo 
define a abordagem adotada para elaboração do software. 
 
Projeto de software é um empreendimento com objetivo bem definido, que consome 
recursos e ocorre geralmente com prazos, custos e qualidade bem definidos. Projetos 
tornam-se cada vez maiores e mais complexos composto por atividades multifuncionais. 
Qual deve ser o perfil de um gerente de projetos neste caso? E quais etapas considerar num 
projeto? 
 
O perfil de um gerente de projetos deve ser mais integrador que especialista técnico. Um 
projeto prevê algumas etapas importantes: planejamento, programação e controle de tarefas 
integradas. 
 
Há vários modelos de processo para o desenvolvimento de software. Como são 
caracterizados os métodos ágeis, quais suas origens e quais suas vantagens sobre os demais 
modelos? 
 
Foram idealizados para garantir agilidade, resposta apropriada a mudanças (equipes e 
tecnológicas), colaboração, menor 
custo nas mudanças. Outra característica é ser adaptável e capaz de auxiliar na administração 
da imprevisibilidade. Muito 
utilizada para projetos pequenos ou médios com orçamento restrito. 
Princípios dos métodos ágeis: 
1. Satisfazer o cliente 
2. Pedidos de alteração 
3. Entrega rápida 
4. Comercial e desenvolvimento trabalhando juntos 
5. Time motivado 
6. Comunicação efetiva 
7. Software funcionando 
8. Desenvolvimento sustentável 
9. Excelência técnica 
10. Simplicidade 
11. Melhores arquiteturas e requisitos 
12. Feedback e avaliação. 
 
Quais são os 5 níveis do CMM (Capability Maturity Model)? 
 
Inicial, repetitivo, definido, gerenciado, otimizado 
 
O que é UML e qual a sua principal característica? 
 
E uma modelagem de software. Sua principal característica e ser independente de linguagem 
de programação e processo de desenvolvimento. 
 
Há vários modelos de processo para o desenvolvimento de software. Como é caracterizado o 
modelo de processo RUP, quais suas origens e quais suas vantagens sobre os demais 
modelos? 
 
O RUP teve origem no processo unificado, é dirigido a casos de uso, centrado na arquitetura, 
iterativo e incremental e suas vantagens são melhores recursos dos modelos tradicionais, tem 
princípios do desenvolvimento ágil, comunicação com o cliente e usa métodos racionalizados. 
 
Quais são os principais fatores de qualidade de software definidos pela ISO 9126? 
 
Funcionalidade, Confiabilidade, Usabilidade, Eficiência, Facilidade de Manutenção, 
Portabilidade 
 
O desenvolvimento de um sistema segue um ciclo de vida, sabemos que um sistema é algo 
dinâmico e que muda constantemente. Quais são as principais etapas de um ciclo de vida 
para o desenvolvimento de um software? 
 
Levantamento de requisitos, Analise, Projeto, Implementação, Testes, Manutenção 
 
Qualidade é um termo amplo e subjetivo e adota uma estrutura de métricas para a obtenção 
de resultados numéricos para o auxílio na análise e melhoria no processo de 
desenvolvimento de software. O que é uma métrica dentro deste contexto e o que uma 
estrutura de métricas estabelece? 
 
A estrutura de métricas estabelece três itens importantes: medidas, métricas e construção de 
indicadores. Uma métrica contém propriedades matemáticas que estabelecem um significado 
para os resultados dentro de um intervalo, métricas são validadas empiricamente em uma 
ampla variedade de contextos antes de ser publicada e devem ser simples e computáveis. 
 
A construção de software é um processo de aprendizado social e iterativo sendo o resultado 
o capital denominado software. Este capital intelectual incorpora conhecimento coletado, 
filtrado e organizado. Todo modelo de processo preocupa-se em descrever uma 
metodologia. Quais são as principais atividades encontradas numa metodologia? 
Métodos fornecem técnicas para desenvolver o software. Métodos envolvem tarefas tais como: 
Modelagem, análise, comunicação, implementação, teste e suporte. 
 
Há vários modelos de processo para o desenvolvimento de software. Como são 
caracterizados os métodos ágeis, quais suas origens e quais suas vantagens sobre os demais 
modelos? 
 
O método ágil evoluiu a partirde 1990 com uma reação contra modelos pesados como o 
modelo cascata o qual era muito burocrático, os métodos ágeis eram conhecidos como 
métodos leves e rápidos. Sua vantagem sobre os demais métodos é a adaptação rápida a 
mudanças da realidade e um desenvolvimento rápido, iterativo, incremental e altamente 
colaborativo. 
Os objetivos dos métodos ágeis são: 
Acelerar o processo de desenvolvimento 
Melhoria continua do processo 
Aumento de comunicação e interação da equipe 
Metas definidas 
Evitar falhas na elaboração 
Resposta rápida a mudanças 
Aumento de produtividade 
 
Quais os principais Diagramas da UML? E como podem ser categorizados? 
 
Os diagramas UML podem ser categorizados em dinâmicos e estáticos. 
 
Modelos Dinâmicos: Casos de uso, Diagramas de Interação, Diagramas de interação, 
Diagramas de sequência, Diagramas de colaboração e Diagramas de Atividades. 
 
Modelos Estáticos: Diagrama de classe, Diagrama de Pacotes, Diagrama de Componentes e 
Diagramas de Implantação. 
Processos de melhoria podem ser aplicados ao processo de desenvolvimento de software, 
tais como o CMM e o IDEAL. Liste outros 3 tipos de melhoria e comente sobre os mesmos. 
 
SPICE: Iniciativa internacional para suportar a avaliação de processo da ISO e padrões de 
processo de ciclo de vida. 
 
Bootstrap: Uma estrutura SPI para organizações de pequeno e médio porte em conformidade 
com SPICE. 
 
TickIT- um método de auditoria que avalie se uma organização esta em conformidade com o 
norma ISO 9001:2000. 
 
Como proceder ao gerenciamento da qualidade no processo de desenvolvimento de 
Software? 
 
Para o gerenciamento de qualidade no processo de desenvolvimento de software é 
importante as utilizações de ferramentas para o auxílio entre elas podem ser usadas as 
Estatísticas, Seis sigma para engenharia de software, Medidas de confiabilidade, Proteção de 
software e Padrões de qualidade ISO. 
 
Qual a importância dos testes na qualidade do software? 
 
Teste é um conjunto de atividades que podem ser planejadas com antecedência e executadas 
sistematicamente, em qualquer fase do desenvolvimento de um software. (testes de sistema, 
de validação, Integração, de unidade, código, projeto, requisitos e engenharia de sistemas). 
 
Qualidade é um termo amplo e subjetivo e adota uma estrutura de métricas para obtenção 
de resultados numéricos para o auxílio na análise e melhoria no processo de 
desenvolvimento de software. Quais as características de uma boa métrica para qualidade 
de software? 
 
Padrões de qualidade 
Revisões e auditorias 
Testes 
Coleta e análise de erros/defeitos 
Gerenciamento de mudanças 
Educação e treinamentos 
Gerência de fornecedores 
Administração de segurança 
Proteção de software 
Administração de risvo

Continue navegando