Documente Academic
Documente Profesional
Documente Cultură
Conceitos Básicos
CONTEÚDO
2
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
Conceitos Básicos
Definindo Software
Sommerville:
- Software → Programas de computador e documentação associada.
• Documentação associada e dados de configurações necessários para fazer esse
programa operar corretamente.
- Produtos de Software → Desenvolvidos para um cliente específico ou para o mercado em
geral.
• Produtos genéricos:
▪ Vendidos no mercado para qualquer cliente que esteja interessado.
▪ A organização que o desenvolveu controla a sua especificação.
▪ Exemplos: ferramentas de banco de dados, processadores de textos, etc.
• Produtos sob demanda:
▪ Sistema encomendados por um cliente em particular.
▪ A especificação é normalmente desenvolvida e controlada pela empresa que
está adquirindo o software (cliente).
▪ Exemplos: controle de dispositivos eletrônicos, sistemas de controle de
tráfego aéreo, etc.
Pressman:
- Software consiste em:
1. Instruções (programas de computador) → Quando executadas, fornecem
características, funções e desempenho desejados;
2. Estruturas de dados → Possibilitam aos programas manipular informações
adequadamente;
3. Informação descritiva → Tanto na forma impressa como na virtual, descrevendo a
operação e o uso dos programas.
Características do Software
- Hardware se DESGASTA;
- Curva da Banheira (taxa de defeitos em função do tempo):
1. Taxas de defeitos altas no início de sua vida
• Causas: Defeitos de projeto ou fabricação
2. Os defeitos são corrigidos e a taxa cai para um nível estável por certo período.
3
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
- Software se DETERIORA;
- Curva de falhas do software:
1. À medida que falhas ocorrem, são introduzidos erros, fazendo com que a curva de taxa
de defeitos se acentue, conforme mostrado na “curva real”.
2. Outra alteração é requisitada, fazendo com que a curva se acentue novamente.
3. O nível mínimo da taxa começa a aumentar – o software está deteriorando devido à
modificação.
4
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
FCC
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
CESPE
A manutenção de software é um processo geral de mudanças que ocorre depois de o
sistema ser entregue. Existem, pelo menos, três tipos diferentes de manutenção de
software: para reparar defeitos; para adaptar o software a um ambiente operacional
diferente; e para adicionar funcionalidade ao sistema ou modificá-lo.
Na gestão de configuração de software, a manutenção pode ser feita de maneira proativa,
reativa, preventiva ou corretiva.
Comentário:
Segundo Pressman (2006, p.685) a manutenção de software pode ser feita de maneira
corretiva, adaptativa, perfectiva ou preventiva. Manutenção de Software Segundo
Pressman (2006, p. 685):
• Corretiva: corrigir erros.
• Adaptativa: adaptar o software a modificações no seu ambiente externo.
• Perfectiva ou de melhoria: fazer melhorias solicitadas pelos usuários
• Preventiva ou reengenharia: realizar reengenharia para uso futuro, o que melhora a
manutenibilidade.
Software Legado
Pressman:
- Foram desenvolvidos décadas atrás e têm sido continuamente modificados para se
adequar a mudanças dos requisitos de negócio e a plataformas computacionais.
- Software legado é caracterizado pela longevidade e criticidade de negócios.
CESPE
Entre os desafios enfrentados pela engenharia de software estão em lidar com sistemas
legados, atender à crescente diversidade e atender às exigências quanto a prazos de
entrega reduzidos.
6
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
Engenharia de Software
Pressman:
- Engenharia de software é o estabelecimento e o emprego de sólidos princípios de
engenharia de modo a obter software de maneira ECONÔMICA, que seja CONFIÁVEL e
funcione de forma EFICIENTE em máquinas reais.
- Engenharia de software é a aplicação de uma abordagem sistemática, disciplinada e
quantificável no desenvolvimento, na operação e na manutenção de software; isto é, a
aplicação de engenharia ao software.
Sommerville:
- Engenharia de software é uma disciplina de engenharia que se preocupa com TODOS os
aspectos de produção de software, desde os estágios iniciais de especificação do sistema
até sua manutenção, quando o sistema já está sendo usado.
- A engenharia de software é uma abordagem sistemática para a produção de software.
- Ela analisa questões práticas de custo, prazo e confiança, assim como as necessidades dos
clientes e produtores do software.
- No entanto, engenharia tem tudo a ver com selecionar o método mais adequado para um
conjunto de circunstâncias, então uma abordagem mais criativa e menos formal pode ser
eficiente em algumas circunstâncias. Desenvolvimento menos formal particularmente
adequado para o desenvolvimento de sistemas Web, que requerem uma mistura de
habilidades de software e de projeto.
FCC
A engenharia de software é uma disciplina que se ocupa de todos os aspectos da produção
de software, desde os estágios iniciais de especificação do sistema até a manutenção desse
sistema, depois que ele entrou em operação. Seu principal objetivo é fornecer uma
estrutura metodológica para a construção de software com alta qualidade.
Sobre a engenharia de software:
• Todo projeto de software é iniciado por alguma necessidade do negócio.
• O intuito da engenharia de software é fornecer uma estrutura para a construção de
software com alta qualidade.
A Engenharia de Software tem como foco principal estabelecer uma abordagem
sistemática de desenvolvimento, através de ferramentas e técnicas apropriadas,
dependendo do problema a ser abordado, considerando restrições e recursos disponíveis.
A Engenharia de Software é uma área da computação que visa abordar de modo
sistemático as questões técnicas e não técnicas no projeto, implantação, operação e
manutenção no desenvolvimento de um software.
7
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
CESPE
A engenharia de software está relacionada com todos os aspectos da produção de
software, desde os estágios iniciais de especificação do sistema, até sua manutenção,
depois que este entrar em operação. A engenharia de sistemas diz respeito aos aspectos
do desenvolvimento e da evolução de sistemas complexos, nos quais o software
desempenha um papel importante.
O termo engenharia pretende indicar que o desenvolvimento de software submete-se a
leis similares às que governam a manufatura de produtos industriais em engenharias
tradicionais, pois ambos são metodológicos.
Engenharia de software não está relacionada somente aos processos técnicos de
desenvolvimento de softwares, mas também a atividades como gerenciamento de projeto
e desenvolvimento de ferramentas, métodos e teorias que apoiem a produção de
softwares.
A engenharia de software, disciplina relacionada aos aspectos da produção de software,
abrange somente os processos técnicos do desenvolvimento de software.
Comentário:
Engenharia de software é uma disciplina de engenharia que se preocupa com TODOS os
aspectos de produção de software, desde os estágios iniciais de especificação do sistema
até sua manutenção, quando o sistema já está sendo usado.
Embora os engenheiros de software geralmente utilizem uma abordagem sistemática, a
abordagem criativa e menos formal pode ser eficiente em algumas circunstâncias, como,
por exemplo, para o desenvolvimento de sistemas web, que requerem uma mistura de
habilidades de software e de projeto.
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
FCC
A Engenharia de Software:
• Não visa o desenvolvimento de teorias e fundamentações, preocupando-se
unicamente com as práticas de desenvolvimento de software.
• Tem como foco o tratamento dos aspectos de desenvolvimento de software,
abstraindo-se dos sistemas baseados em computadores, incluindo hardware e
software.
• Tem como métodos as abordagens estruturadas para o desenvolvimento de
software que incluem os modelos de software, notações, regras e maneiras de
desenvolvimento.
A engenharia de software está inserida no contexto: das engenharias de sistemas, de
processo e de produto.
Comentário:
Nós podemos ver isso da seguinte maneira: Engenharia De Software < Engenharia De
Sistemas < Engenharia De Produto < Engenharia De Processo.
CESPE
Engenheiros de softwares devem compreender a engenharia de sistemas, que aborda os
aspectos de sistemas sociotécnicos.
A engenharia de software está relacionada com todos os aspectos da produção de
software, desde os estágios iniciais de especificação do sistema até sua manutenção,
depois que este entrar em operação. A engenharia de sistemas diz respeito aos aspectos
do desenvolvimento e da evolução de sistemas complexos, nos quais o software
desempenha um papel importante.
Assim como a Engenharia de Software, existe também na área de informática a chamada
Ciência da Computação. A Ciência da Computação tem como objetivo o desenvolvimento
de teorias e fundamentações. Já a Engenharia de Software se preocupa com as práticas de
desenvolvimento de software.
9
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
Pressman:
- A engenharia de software é uma TECNOLOGIA EM CAMADAS:
- PROCESSOS/PROCEDIMENTOS
• Mantêm as camadas de tecnologia coesas e possibilita o desenvolvimento de
software de forma racional e dentro do prazo.
• O processo define uma metodologia que deve ser estabelecida para a entrega
efetiva de tecnologia e engenharia de software.
- MÉTODOS
• Fornecem a técnica de “como fazer” para construir softwares (know-how técnico).
• Eles abrangem um amplo conjunto de tarefas que incluem:
▪ Comunicação;
▪ Análise de requisitos;
▪ Modelagem de projeto;
▪ Construção de programas;
▪ Testes;
▪ Manutenção.
- FERRAMENTAS
• Fornecem suporte automatizado ou semiautomatizado para o processo e para os
métodos.
o Exemplo: Ferramentas CASE!
FCC
A engenharia de software pode ser considerada uma tecnologia, com métodos e
ferramentas próprios, estruturada em camadas, do ponto de vista sistêmico. A abordagem
sistêmica da engenharia de software deve se apoiar num compromisso organizacional com
a qualidade que leve à cultura de um processo contínuo de aperfeiçoamento, e é essa
cultura que, em última análise, leva ao desenvolvimento de abordagens cada vez mais
efetivas. A camada de base em que a engenharia de software se apoia é o foco na
10
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
FGV
De acordo com Pressman, a engenharia de software é baseada em camadas, com foco na
qualidade. Essas camadas são: ferramentas, métodos e processo.
A engenharia de software engloba processos, métodos e ferramentas. Um de seus focos é
a produção de software de alta qualidade a custos adequados.
11
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.
Engenharia de Software
Conceitos Básicos
- Flexibilização → é o processo que permite que o software possa ser alterado, sem causar
problemas para sua execução.
• Para alcançar esse princípio, a engenharia de software necessita de mecanismos
para controlar o processo de desenvolvimento.
FCC
Abstração é um princípio que recomenda que um elemento que compõe o design de
software deve ser representado apenas por suas características essenciais, permitindo
assim, a distinção de outros elementos por parte do observador e, a consequente
representação de um elemento do design mais simples, uma vez que detalhes
desnecessários são descartados.
A representação de um design de software mais simples para representar apenas as suas
características essenciais busca atender ao princípio da abstração.
CESPE
Os princípios de engenharia de software definem a necessidade de formalidades para
reduzir inconsistências e a decomposição para lidar com a complexidade.
Segundo princípio da engenharia de software, os vários artefatos produzidos ao longo do
seu ciclo de vida apresentam, de forma geral, nível de abstração cada vez menor.
12
www.resumosdeti.com.br
O conteúdo deste resumo é de uso exclusivo de Herbet Rodrigues - E-mail: herbetferreira@gmail.com - ID: 205 - Data: 29 de junho de 2018,
vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição, sujeitando-se os infratores à
responsabilização civil e criminal.