Baixe o app para aproveitar ainda mais
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
Compartilhar