Portfolio Engenharia de Software
Por: Rodrigo.Claudino • 5/1/2018 • 1.519 Palavras (7 Páginas) • 553 Visualizações
...
7. No que o XP é baseado?
Extreme Programming (XP) é uma metodologia de desenvolvimento de software que se destina a melhorar a qualidade do software e capacidade de resposta à evolução das necessidades dos clientes. Como um tipo de desenvolvimento ágil de software, defende "releases" frequentes em ciclos curtos de desenvolvimento, que se destina a melhorar a produtividade e introduzir pontos de verificação a que as novas exigências dos clientes podem ser adotadas.
Outros elementos da programação extrema incluem: programação em pares ou fazer uma extensa revisão de código, testes de unidade de todo o código, evitando a programação de recursos até que eles são realmente necessários, uma estrutura de gestão plana, simplicidade e clareza no código, esperando mudanças nos requisitos do cliente como o tempo passa e que o problema seja melhor compreendido, e comunicação frequente com o cliente e entre os programadores. A metodologia leva o seu nome a partir da ideia de que os elementos benéficos de práticas de engenharia de software tradicionais são levados a "extrema "níveis. Como exemplo, revisões de código são considerados uma prática benéfica; levada ao extremo, o código pode ser revisto de forma contínua, ou seja, a prática de programação em pares.
8. Quais os quatro tipos de manutenção?
Configuração: Coloque o Sob Teste Unitário (UEE) ou o sistema de teste geral no estado necessário para executar o teste. Execução: Gatilho / conduzir o UEE para executar o comportamento alvo e capturar todas as saídas, tais como valores de retorno e parâmetros de saída. Esta etapa é geralmente muito simples. Validação: Assegurar os resultados do teste estão corretas. Estes resultados podem incluir saídas explícitas capturados durante a execução ou estaduais mudanças na UEE & UAT. Limpeza: Restaurar a UEE ou o sistema de teste geral para o estado pré-teste. Esta restauração permite que um outro teste para executar imediatamente após este.
9. O que é abstração?
Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.
Por exemplo, imaginamos a abstração referente a classe Animais. Há várias entidades na classe Animais como Anfíbios, Répteis e Mamíferos que são também subclasses da classe Animais, onde há objetos que contêm cada subclasse como Ser-humano, Jacaré e outros.
Uma classe abstrata é desenvolvida para representar entidades e conceitos abstratos. A classe abstrata é sempre uma superclasse que não possui instâncias. Ela define um modelo (template) para uma funcionalidade e fornece uma implementação incompleta - a parte genérica dessa funcionalidade - que é compartilhada por um grupo de classes derivadas. Cada uma das classes derivadas, completa a funcionalidade da classe abstrata adicionando um comportamento específico.
10. O que é engenharia de software?
É uma disciplina de engenharia que se preocupa com todos os aspectos de produção de software.
11. O que é tecnologia em camadas?
Um programa de aplicação em n camadas é um aplicativo desenvolvido de forma a ter várias camadas lógicas. Cada camada é autocontida o suficiente de forma que a aplicação pode ser dividida em vários computadores em uma rede distribuída. A forma mais comum da arquitetura é a aplicação em três camadas (3-Tier), comumente usada em aplicações web, na qual as camadas são: interface com o usuário (Camada de Apresentação); lógica do negócio (Camada de Negócio); e banco de dados (Camada de Dados). Cada camada desta arquitetura é normalmente mantida em um servidor específico para tornar-se mais escalável e independente das demais. Com o mesmo objetivo são utilizadas tecnologias de middleware como, por exemplo, CORBA, Web Services ou RMI.
Esta arquitetura tem como características: baixos custos de disponibilização; baixos custos na mudança da base de dados; baixos custos na mudança da lógica de negócios; eficiente armazenamento e reutilização de recursos.
12. De acordo com as fases de definição, qual o papel da análise de sistemas?
Trabalhar na lógica do negócio e no banco de dados.
13. De acordo com as fases de definição, qual o papel da análise de requisitos?
Análise de requisitos é uma parte importante do processo de desenvolvimento de softwares, na qual o engenheiro de requisitos e o analista de negócio, juntamente com engenheiro de sistema ou desenvolvedor de software, identificam as necessidades ou requisitos de um cliente. Uma vez que os requisitos do sistema tenham sido identificados, os projetistas de sistemas estarão preparados para projetar a solução.
Conclusão:
Com o estudo sobre engenharia de software, eu passei a conhecer a importância de uma analise de projeto de uma organização, pois se não bem planejada e aplicada, os custos para o desenvolvimento de um determinado projeto pode elevar consideravelmente além de impactar nos prazos a serem cumpridos e consequentemente na satisfação do cliente. Vou levar o conhecimento adquirido para a minha vida profissional, pois através desse portfólio posso afirmar que hoje eu tenho uma visão mais ampla do que é engenharia de software e analise de sistemas em um projeto para desenvolver um sistema.
...