Skip to content

Instantly share code, notes, and snippets.

@jaxxibae
Last active January 8, 2024 11:32
Show Gist options
  • Save jaxxibae/d775ee8ecc303676ccc33d5b7108b912 to your computer and use it in GitHub Desktop.
Save jaxxibae/d775ee8ecc303676ccc33d5b7108b912 to your computer and use it in GitHub Desktop.
Resumos de MSS

Resumos de MSS

O que é a Engenharia de Software?

A Engenharia de Software é uma área de engenharia e da computação, especialmente voltada à especificação, desenvolvimento, manutenção e criação de software, com a aplicação de tecnologias e práticas de gestão de projetos e outras disciplinas, digirida à organização, produtividade e qualidade.

É uma disciplina de engenharia que se ocupa de todos os aspetos da produção de software desde as fases iniciais da especificação do sistema até à manutenção do sistema após a sua utilização.

Utiliza teorias e métodos apropriados para resolver problemas tendo em conta os constrangimentos organizacionais e financeiros.

A engenharia toca em todos os aspetos da produção de software, não apenas processo técnico de desenvolvimento. Também a gestão de projetos e o desenvolvimento de ferramentas, métodos, etc. para apoiar a produção de software.

Custos de Software

Os custos de Software dominam ferquentemente os custos do sistema informático. Estes custos são muitas vezes superiores aos custos do hardware, visto que custa mais para manter do que para desenvolver. Para sistemas com uma longa vida útil, os custos de manutenção podem ser várias vezes custos de desenvolvimento, e a engenharia de software está preocupada com o desenvolvimento de software rentável.

Produtos de Software

Produtos Genéricos

São sistemas autónomos que são comercializados e vendidos a qualquer cliente que os deseje comprar (exemplos: programas gráficos, ferramentas de gestão de projetos, ERPs, CAD, etc.)

A especificação do que o software deve fazer e as decisões sobre a alteração do software são tomadas pelo criador.

Produtos personalizados

Software que é encomendado por um cliente específico para satisfazer as suas próprias necessidades (exemplos: sistemas de controlo incorporados, sistemas de monitorização de tráfego, etc.)

A especificação do que o software deve fazer é propriedade do cliente para o software e estes tomam decisões sobre as alterações de software que são necessárias.

FAQs sobre Software

Pergunta Resposta
O que é software? Programas de computador e documentação associada. Os produtos de software podem ser desenvolvidos para um cliente particular ou podem ser desenvolvidos para um mercado em geral.
Quais os atributos de bom software? O bom software deve proporcionar a funcionalidade e o desempenho necessários ao utilizador e deve ser manejável, fiável e utilizável.
O que é engenharia de software? A engenharia de software é uma disciplina de engenharia que se preocupa com todos os aspectos da produção de software.
Quais as atividades fundamentais de engenharia de software? Especificação de software, desenvolvimento de software, validação de software e evolução de software.
Qual a diferença entre engenharia de software e ciência da computação? A informática centra-se na teoria e nos fundamentos; a engenharia de software preocupa-se com os aspectos práticos do desenvolvimento e fornecimento de software útil.
Qual a diferença entre engenharia de software e engenharia de sistemas? A engenharia de sistemas diz respeito a todos os aspectos do desenvolvimento de sistemas baseados em computadores, incluindo hardware, software e engenharia de processos.
Quais são os principais desafios que a engenharia de software enfrenta? Lidar com a diversidade crescente, exigências de prazos de entrega reduzidos e desenvolvimento de software fiável.
Quais são os custos da engenharia de software? Cerca de 60% dos custos de software são custos de desenvolvimento, 40% são custos de testes. No caso de software personalizado, os custos de evolução excedem frequentemente os custos de desenvolvimento.
Quais são as melhores técnicas e métodos de engenharia de software? Embora todos os projetos de software tenham de ser geridos e desenvolvidos profissionalmente, diferentes técnicas são apropriadas para diferentes tipos de sistema. Por exemplo, os jogos devem ser sempre desenvolvidos utilizando uma série de protótipos, enquanto que os sistemas de controlo críticos de segurança requerem uma especificação completa e analisável para serem desenvolvidos. Não se pode, portanto, dizer que um método é melhor do que outro.
Que diferenças fez a web à engenharia de software? A web levou à disponibilidade de serviços de software e à possibilidade de desenvolver sistemas baseados em serviços altamente distribuídos. O desenvolvimento de sistemas baseados na Web levou a importantes avanços em linguagens de programação e reutilização de software.

Atributos Essenciais de Bom Software

Característica Descrição
Capacidade de manutenção O software deve ser escrito de forma a poder evoluir para satisfazer as necessidades em mudança dos clientes. Este é um atributo crítico porque a mudança de software é um requisito inevitável de um ambiente empresarial em mudança.
Fiabilidade e segurança A fiabilidade do software inclui uma gama de características, incluindo fiabilidade, segurança e protecção. O software de confiança não deve causar danos físicos ou económicos em caso de falha do sistema. Os utilizadores maliciosos não devem ser capazes de aceder ou danificar o sistema.
Eficiência O software não deve fazer uma utilização inútil dos recursos do sistema, tais como memória e ciclos de processamento. A eficiência inclui, portanto, capacidade de resposta, tempo de processamento, utilização de memória, etc.
Aceitabilidade O software deve ser aceitável para o tipo de utilizadores para os quais foi concebido. Isto significa que deve ser compreensível, utilizável e compatível com outros sistemas que eles utilizam.

Questões Exame Tipo mostrado p/ prof:

  1. Planeamento, Análise de Requisitos, Design, Programação, Testes, Integração, Implementação, Manutenção, Avaliação e Desativação

  2. A Engenharia de Software é uma área de engenharia e da computação, especialmente voltada à especificação, desenvolvimento, manutenção e criação de software, com a aplicação de tecnologias e práticas de gestão de projetos e outras disciplinas, digirida à organização, produtividade e qualidade.

  3. Os cenários são frequentemente utilizados para descrever casos de uso, testes e interações do usuário com o sistema. Cada cenário destaca um conjunto particular de circunstâncias e ações que são relevantes para a compreensão ou avaliação de um sistema. Deve incluir atores, objetivos, pré, condições, descrição, variações e pós-condições.

  4. A fiabilidade de um sistema informático refere-se à capacidade do sistema de desempenhar suas funções de forma consistente, sem falhas, durante um determinado período de tempo. Várias influências podem afetar a fiabilidade de um sistema, como o hardware, o software, a falta de manutenção adequada, a gestão de recursos, segurança, ambiente operacional, entre outros.

  5. Requisitos Funcionais: São especificações que descrevem as funcionalidades específicas que um sistema deve oferecer. Eles definem as ações que o sistema deve executar em resposta a entradas específicas, indicando o que o sistema deve fazer. Requisitos Não Funcionais: São critérios que descrevem qualidades do sistema além de suas funcionalidades específicas. Incluem aspectos como desempenho, confiabilidade, usabilidade, segurança e escalabilidade, proporcionando critérios para avaliar o desempenho global do sistema.

  6. O software é um conjunto de instruções ou programas de computador que indicam ao hardware como realizar tarefas específicas. Os atributos do software incluem confiabilidade, eficiência, usabilidade, manutenibilidade, portabilidade, desempenho e segurança para assegurar uma operação eficaz e segura.

  7. No ciclo de vida do software, os marcos representam eventos cruciais que não apenas avaliam o progresso do projeto, mas também envolvem decisões estratégicas significativas, como a transição para a próxima fase ou ajustes nos requisitos, influenciando diretamente a eficácia do desenvolvimento e a qualidade do produto final.

  8. O modelo linear sequencial em cascata é um método de desenvolvimento de software em que as fases (requisitos, design, implementação, teste, manutenção) são executadas de forma linear e sequencial. Ele serve para proporcionar uma abordagem estruturada e ordenada ao desenvolvimento de software. Um exemplo é o processo de produção de documentação completa antes da implementação, garantindo uma abordagem passo a passo e sequencial.

  9. Um requisito é uma especificação que descreve uma função ou característica desejada num sistema de software.

  10. Entrevistas estruturadas seguem um guião definido, entrevistas semiestruturadas têm questões baseadas num guião flexível, e entrevistas não estruturadas não têm um guião fixo, permitindo uma abordagem mais aberta e livre.

  11. A dependabilidade de um sistema refere-se à sua capacidade de operar de forma confiável, segura e eficaz ao longo do tempo.

  12. As atividades fundamentais de engenharia de software incluem análise de requisitos, design, implementação, teste e manutenção de sistemas de software.

  13. A web revolucionou a engenharia de software ao introduzir o desenvolvimento de aplicações distribuídas, arquiteturas cliente-servidor, e a necessidade de considerar aspectos como segurança, escalabilidade e usabilidade em ambientes online.

  14. Os documentos típicos do ciclo de vida do software incluem Especificação de Requisitos, Plano de Projeto, Modelo de Casos de Uso, Design de Software, Código Fonte, Documentação do Código, Plano de Testes, Manual do Usuário e Relatório de Manutenção.

  15. O modelo de prototipagem é uma abordagem no desenvolvimento de software em que versões simplificadas do sistema são criadas e iterativamente refinadas com base no feedback dos usuários. Ele serve para melhor compreender e validar os requisitos do cliente, proporcionando uma visualização tangível do produto final e agilizando o processo de desenvolvimento.

@RTAGames
Copy link

RTAGames commented Jan 8, 2024

Não querias escrever mais?

image

É UM MACACO

@jaxxibae
Copy link
Author

jaxxibae commented Jan 8, 2024

Não querias escrever mais?

image

É UM MACACO

@RTAGames
Copy link

RTAGames commented Jan 8, 2024

Não querias escrever mais?

image

É UM MACACO

68747470733a2f2f692e6b796d2d63646e2e636f6d2f70686f746f732f696d616765732f6e657773666565642f3030322f3731332f3537392f3832342e676966

Qual deles?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment