0% acharam este documento útil (0 voto)
14 visualizações3 páginas

História e Objetivos da Engenharia de Software

A Engenharia de Software surgiu para enfrentar a complexidade crescente dos sistemas de software, especialmente durante a 'Crise de Software' nas décadas de 1960 e 1970, que demandou abordagens mais sistemáticas. Seus objetivos incluem desenvolver software de alta qualidade, garantir confiabilidade e eficiência, e promover boas práticas no desenvolvimento. O ciclo de vida do desenvolvimento de software é estruturado em etapas que vão desde a análise de requisitos até a manutenção, sendo crucial a participação contínua do usuário para garantir que o software atenda às suas necessidades.

Enviado por

hpgqhb5chd
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
14 visualizações3 páginas

História e Objetivos da Engenharia de Software

A Engenharia de Software surgiu para enfrentar a complexidade crescente dos sistemas de software, especialmente durante a 'Crise de Software' nas décadas de 1960 e 1970, que demandou abordagens mais sistemáticas. Seus objetivos incluem desenvolver software de alta qualidade, garantir confiabilidade e eficiência, e promover boas práticas no desenvolvimento. O ciclo de vida do desenvolvimento de software é estruturado em etapas que vão desde a análise de requisitos até a manutenção, sendo crucial a participação contínua do usuário para garantir que o software atenda às suas necessidades.

Enviado por

hpgqhb5chd
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

1. O que estimulou o surgimento da Engenharia de Software?

O surgimento da Engenharia de Software foi estimulado pela necessidade de lidar com a


complexidade crescente dos sistemas de software. Nos anos 1960, o desenvolvimento de
software começou a enfrentar desafios significativos em termos de custos, prazos e
qualidade, levando ao que foi chamado de "Crise de Software". Esses problemas exigiram
abordagens mais sistemáticas e disciplinadas, semelhantes às práticas de engenharia em
outras áreas, para garantir que os sistemas fossem entregues dentro do prazo, do
orçamento e com a qualidade esperada.

2. Quais são os objetivos da Engenharia de Software?


Os objetivos da Engenharia de Software incluem:
- Desenvolver software de alta qualidade que atenda aos requisitos dos usuários.
- Garantir que o software seja confiável, eficiente e seguro.
- Maximizar a produtividade no desenvolvimento de software.
- Minimizar custos e prazos de desenvolvimento.
- Facilitar a manutenção e evolução do software ao longo do tempo.
- Promover boas práticas e processos que suportem o desenvolvimento sustentável de
software.

3. Em que aspectos a Engenharia de Software se assemelha às engenharias em geral?


A Engenharia de Software se assemelha às engenharias em geral nos seguintes
aspectos:
- Metodologia: Usa abordagens sistemáticas e metodológicas para resolver problemas.
- Processos: Envolve processos estruturados, como especificação, projeto,
implementação, testes e manutenção.
- Ferramentas e técnica: Utiliza ferramentas e técnicas especializadas para desenvolver e
gerenciar projetos.
- Qualidade e padrões: Enfatiza a conformidade com padrões de qualidade e melhores
práticas.
- Colaboração interdisciplinar: Exige colaboração entre diversas disciplinas e partes
interessadas.

4. O que foi a “Crise de Software”?


A "Crise de Software" refere-se ao período, principalmente durante as décadas de 1960 e
1970, em que a indústria de software enfrentou graves problemas relacionados ao
desenvolvimento de software, como estouro de prazos, orçamentos estourados, e a entrega
de software de baixa qualidade. Esses problemas foram decorrentes do crescimento da
complexidade dos sistemas, da falta de métodos e ferramentas adequadas e da crescente
demanda por software mais sofisticado. A crise levou à necessidade de criar abordagens
mais formais e sistemáticas para o desenvolvimento de software, resultando no surgimento
da Engenharia de Software como disciplina.

5. Foram mostrados alguns fatos que marcaram a evolução dos sistemas ao longo das
décadas. Qual(is) você destacaria e por quê?
Um fato que se destaca é o advento da programação orientada a objetos (POO) na
década de 1980. POO revolucionou a forma como o software é desenvolvido, promovendo
a reutilização de código, melhor organização do software e maior capacidade de modelar
sistemas complexos. Isso foi crucial para lidar com a crescente complexidade dos sistemas
e para a manutenção e evolução de software ao longo do tempo.

6. Dentre os citados “Mitos” durante as aulas, você acha que todos ainda perduram até os
dias atuais, ou algum deles já não acontece hoje? Justifique.
Embora muitos mitos ainda possam persistir, alguns estão começando a ser superados.
Por exemplo, o mito de que “adicionar mais desenvolvedores a um projeto atrasado
resolverá o problema” ainda é uma crença comum, mas é amplamente reconhecido na
comunidade de desenvolvimento que essa prática pode, na verdade, atrasar ainda mais o
projeto devido ao tempo necessário para integrar novos membros. No entanto, mitos como
"uma vez que o software está funcionando, está pronto" ainda podem ser observados,
principalmente em ambientes onde a manutenção e a qualidade contínua do software não
são priorizadas.

7. O que é um Modelo de Ciclo de Vida de Desenvolvimento de Software?


Um Modelo de Ciclo de Vida de Desenvolvimento de Software é uma representação
estruturada das fases e atividades envolvidas no desenvolvimento de software, desde a
concepção até a entrega e manutenção. Ele descreve a sequência de etapas e as
metodologias usadas para garantir que o software seja desenvolvido de maneira eficiente e
atenda às necessidades dos usuários. Exemplos de modelos incluem o modelo em cascata,
o modelo ágil, e o modelo espiral.

8. Fale sobre as etapas do Ciclo de Vida de Desenvolvimento de Software, destacando o


que é realizado em cada uma delas.
- Levantamento e Análise de Requisitos: Identificação das necessidades dos usuários e
definição clara do que o sistema deve fazer.
- Projeto (Design): Criação da arquitetura do software e definição de componentes e suas
interações.
- Implementação (Codificação): Desenvolvimento do código-fonte com base nas
especificações de design.
- Testes: Verificação e validação do software para garantir que ele funcione conforme
esperado e esteja livre de defeitos.
- Implantação: Entrega do software para o ambiente de produção, onde ele será utilizado
pelos usuários finais.
- Manutenção: Correção de defeitos, melhorias e atualizações necessárias para manter o
software funcional ao longo do tempo.

9. As etapas iniciais, Levantamento e Análise de Requisitos, são as mais importantes dentro


do ciclo de vida de desenvolvimento. Por quê?
Essas etapas são cruciais porque garantem que as necessidades dos usuários sejam
claramente compreendidas e documentadas, o que serve como base para todo o
desenvolvimento subsequente. Erros ou omissões nessa fase podem levar a problemas
significativos nas fases posteriores, resultando em software que não atende às
expectativas, retrabalho e aumento de custos.

10. Por que é importante a participação do usuário durante todo o processo de


desenvolvimento e não apenas nas etapas iniciais?
A participação contínua do usuário é importante para garantir que o software evolua
conforme as necessidades e expectativas mudam. Além disso, o feedback constante dos
usuários pode ajudar a identificar problemas cedo, ajustando o desenvolvimento de acordo
com suas reais necessidades, o que melhora a qualidade final e a satisfação do usuário.

11. Quais são os objetivos da etapa de Testes?


Os objetivos da etapa de testes incluem:
- Detectar e corrigir defeitos no software.
- Verificar se o software atende aos requisitos especificados.
- Garantir a qualidade, confiabilidade e segurança do software.
- Assegurar que o software funcione corretamente em diferentes ambientes e cenários de
uso.
- Minimizar o risco de falhas em produção e garantir uma entrega de software estável e
funcional.

Você também pode gostar