Escolar Documentos
Profissional Documentos
Cultura Documentos
0
Roque Maitino Neto
seõçatona reV
O QUE É A ENGENHARIA DE SOFTWARE?
A Engenharia de Software abrange um processo, um conjunto de métodos (práticas) e um leque
de ferramentas que possibilitam aos profissionais desenvolverem software de altíssima
qualidade (PRESSMAN; MAXIM, 2016).
Fonte: Shutterstock.
CONVITE AO ESTUDO
A qui estamos na primeira unidade do nosso livro. Como não poderia deixar
de ser, o caminho que tomaremos para o início de nossos estudos será o da
abordagem introdutória da disciplina e, nesse sentido, trataremos, na primeira
seção, os aspectos gerais da Engenharia de Software, seus princípios e o ciclo de
vida pelo qual passa um produto até que ele esteja pronto para ser
comercialmente viável. Depois, na segunda seção da unidade, teremos
oportunidade de conhecer metodologias mais atuais e mais ágeis de
desenvolvimento, com ênfase para o Extreme Programming, o Scrum e algumas
ferramentas que tornam viáveis sua aplicação. Por fim, será pelo conteúdo
desenvolvido na terceira seção que entenderemos os meios usados por uma
equipe de desenvolvimento para compartilhar e controlar versões de um produto
que conjuntamente desenvolvem.
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 1/12
19/05/22, 22:05 lddkls211_eng_sof
0
Assim, a capacidade de bem aplicar os fundamentos de Engenharia de Software, o
domínio das metodologias ágeis e a correta utilização de mecanismos de controle
seõçatona reV
de versões de um produto são os resultados que esta unidade pretende ajudá-lo a
atingir. Com sua dedicação aos estudos e o adequado aproveitamento do material
didático colocado à sua disposição, esses objetivos serão atingidos, sem dúvida.
Bom trabalho e sigamos adiante!
Você foi contratado por uma pequena empresa de desenvolvimento para atuar
como engenheiro de software júnior e, logo nas primeiras semanas de trabalho,
deparou-se com um cenário em que não havia um procedimento definido de
criação ou manutenção dos produtos de software. Cada componente de dado
projeto mantinha uma forma particular de desenvolvimento e de registro das
alterações feitas nos produtos e, embora trabalhassem em equipe, não havia
papéis definidos entre os integrantes de cada empreitada. Como era de se esperar,
esse cenário de ausência de procedimentos e de papéis definidos reprimia o
crescimento da empresa, fato que vinha causando frustração generalizada na
organização.
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 2/12
19/05/22, 22:05 lddkls211_eng_sof
0
Seu desafio é o de preparar uma apresentação (em PowerPoint ou outra
ferramenta similar), com no mínimo oito lâminas, contendo a visão geral de cada
seõçatona reV
etapa deste modelo, incluindo os objetivos de cada um deles. Considere que essa
apresentação é direcionada à equipe de profissionais que comporá o próximo
projeto da organização e que seu conteúdo deve ser bastante didático e objetivo.
Mãos à obra.
DICA
CONCEITO-CHAVE
A Engenharia de Software é uma daquelas disciplinas que nos surpreendem o
tempo todo. Dinâmica por natureza, ela vem agregando elementos ao seu rol de
temas, vem refinando e agilizando seus processos e, com efeito, contribuindo de
forma inestimável para o desenvolvimento da Computação, entendida aqui como
uma ciência. Encontrar um conceito definitivo para Engenharia de Software é,
portanto, uma tarefa cujo resultado pode se apresentar ligeiramente obsoleto em
um momento seguinte. Essa sua inclinação à constante mutação, no entanto, não a
transforma em uma disciplina incompreensível e sem um nexo conceitual definido.
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 3/12
19/05/22, 22:05 lddkls211_eng_sof
0
qualidade e agilidade nas entregas cresceu na mesma proporção, o que acabou
seõçatona reV
justificando o surgimento de novos meios de desenvolvimento de software.
Dominar conceitos da Engenharia de Software é um caminho seguro para o
estabelecimento de práticas consoantes com as necessidades da organização em
que o profissional de TI está inserido.
Avançando para o próximo termo, temos uma definição satisfatória para software
como:
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 4/12
19/05/22, 22:05 lddkls211_eng_sof
A formalidade pode ser apontada como o próximo princípio e ela estabelece que
0
a resolução de um problema deve seguir uma abordagem rigorosa, metódica e
padronizada. Depois, como terceiro princípio, vale mencionar a completeza, que
seõçatona reV
estabelece a necessidade de que se verifique cuidadosamente se todos os
elementos de um problema foram levantados e se a solução proposta os
contempla por completo.
O IEEE (2004) sugere como próximo princípio aquele conhecido como dividir para
conquistar e a justificativa para sua criação é simples: fica intelectualmente
inviável encarar um problema complexo (e a construção de um sistema é um
problema complexo!) sem que ele seja dividido em partes menores, independentes
e, portanto, mais facilmente gerenciáveis. Essa é a lógica subjacente à criação de
soluções modulares.
A publicação SWEBOK (IEEE, 2004) ainda aborda alguns outros princípios, incluindo
a abstração, a qual determina a atenção do engenheiro de software a elementos
com afinidade a um problema particular, isolando-os de outros elementos
relacionados a outros tipos de problemas. Difícil de entender? Então pense na
abstração como a aplicação prática da capacidade de um profissional em
concentrar-se em aspectos essenciais para a resolução de um determinado
problema, deixando para outro momento os problemas relacionados ou de
importância secundária.
EXEMPLIFICANDO
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 5/12
19/05/22, 22:05 lddkls211_eng_sof
0
início ao fim do desenvolvimento, a equipe simplesmente ignorou o fato de
que o projeto deve respeitar o princípio da integridade conceitual.
seõçatona reV
O SOFTWARE
Agora que você já teve contato os pilares da Engenharia de Software, vale
focarmos naquele que é seu objeto principal: o software.
Um dos elementos que contribui para tornar o software uma criação de natureza
única é o fato de que ele é um produto e, ao mesmo tempo, o veículo usado para a
distribuição desse produto. Embora o papel do software tenha passado por
mudanças significativas a partir da metade final do século XX, ele se consolidou
como um elemento indispensável em nossos dias e se firmou como o responsável
por fazer transitar mundo afora o bem mais precioso que possuímos, que é a
informação (PRESSMAN, MAXIM, 2016).
ASSIMILE
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 6/12
19/05/22, 22:05 lddkls211_eng_sof
0
De acordo com Schach (2009), na década de 1960, alguns atores do processo de
desenvolvimento de software cunharam a expressão “crise do software” na
seõçatona reV
intenção de evidenciar o momento adverso que a atividade atravessava. Em seu
sentido literal, crise indica estado de incerteza ou declínio e, de fato, esse era o
retrato de um setor inapto a atender a demanda crescente por produção de
software, a qual entregava programas que não funcionavam corretamente,
construídos por meio de processos falhos e que não podiam passar por
manutenção facilmente. Além disso, a incerteza causada pela imprecisão nas
estimativas de custo e de prazo afetava a confiança das equipes e principalmente
dos clientes.
MITOS DE GERENCIAMENTO
Sob pressão, gestores podem apoiar-se em crenças relacionadas ao
gerenciamento de seus projetos de software. Um mito bastante comum é que um
livro repleto de práticas e padrões vai ser instrumento suficiente para o sucesso da
empreitada, bastando segui-lo à risca. O questionamento necessário à validade de
tal livro é sua completude e adequação às modernas práticas da Engenharia de
Software. Outro mito comum é que, mediante atraso em uma entrega, a inclusão
de mais desenvolvedores no projeto ajudaria a evitar atraso maior. Por fim, é
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 7/12
19/05/22, 22:05 lddkls211_eng_sof
0
MITOS DOS CLIENTES
seõçatona reV
Aqui, os autores destacam crenças relacionadas ao papel e ao comportamento dos
clientes em um projeto. Segundo um dos mitos, basta ao cliente fornecer uma
definição geral dos objetivos do software para que seja possível iniciar sua
elaboração. Na verdade, a realidade é que a definição mais clara e mais completa
possível dos requisitos é o caminho mais seguro para o bom início de um projeto
(PRESSMAM, MAXIM, 2016).
REFLITA
MODELO CASCATA
Para o bem do futuro da Computação como uma atividade humana viável, uma
metodologia estável e bem estruturada de desenvolvimento de software deveria
ser criada. A resposta da comunidade ligada ao software, então, veio através do
modelo em cascata, também conhecido como modelo tradicional, o qual ainda é
utilizado para desenvolvimento de produtos de software. Ele descreve, por meio de
etapas bem definidas, o ciclo que o software cumprirá durante o período
compreendido entre sua concepção e sua descontinuidade.
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 8/12
19/05/22, 22:05 lddkls211_eng_sof
Observe que uma fase do processo depende do artefato gerado pela fase anterior.
Um artefato nesse contexto não é exatamente um produto de software acabado.
0
As setas de retroalimentação, dispostas no sentido contrário à cascata, indicam a
seõçatona reV
possibilidade de retornos às fases anteriores, considerando a ocorrência de falhas.
A volta a uma fase anterior serve, em tese, para sanar problemas que, se levados
adiante, acarretariam mais prejuízo ao desenvolvimento.
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 9/12
19/05/22, 22:05 lddkls211_eng_sof
0
corrigir falhas, melhorar o desempenho ou adaptar o produto ao um ambiente
seõçatona reV
diferente daquele em que o sistema foi construído (SCHACH, 2009).
III. A prática tem ensinado que o levantamento dos requisitos pode ser postergado
para a fase de implementação do produto.
a. II e III apenas.
b. II apenas.
c. I e II apenas.
d. III apenas.
e. I, II e III.
Questão 2
Quando executado mediante aplicação de uma metodologia definida e conhecida,
o processo de desenvolvimento de um software deverá alcançar um resultado
muito mais satisfatório do que quando executado em um ambiente de ausência de
formalidade.
0
c. Possibilita que os membros do projeto foquem mais nas tarefas de implementação do produto do que
seõçatona reV
em atividades de menor importância.
d. Permite sejam identificados os membros da equipe que, de fato, conhecem os processos da Engenharia
de Software.
Questão 3
A manutenção deve ser evitada a todo custo, já que os produtos de software são
entregues sempre em seu estado final. Por isso, a necessidade de manutenção em
um software revela que ele não foi bem construído, ainda mais se a manutenção
necessária for para corrigir falhas. Considerando esses fatos, a moderna
Engenharia de Software tem desconsiderado a manutenção como uma das etapas
do modelo em cascata.
a. O conteúdo do texto revela fatos verdadeiros sobre a Manutenção de Software, mas está incorreto no
trecho em que a exclui das etapas do modelo em cascata.
c. O conteúdo do texto não condiz com a atual realidade conceitual da manutenção, mas revela como essa
etapa deveria ser idealmente.
d. O conteúdo do texto está integralmente correto, sobretudo no trecho em que afirma que a necessidade
de manutenção revela um produto mal elaborado.
e. O conteúdo do texto não permite que o leitor conclua, de forma inequívoca, pela necessidade de se
aplicar manutenção em um software.
REFERÊNCIAS
IEEE Computer Society. Guide to the Software Engineering Body of Knowledge.
Piscataway: The Institute of Electrical and Electronic Engineers, 2004.
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOFT… 11/12
19/05/22, 22:05 lddkls211_eng_sof
0
seõçatona reV
https://colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=matheusmartinsmarques.12%40hotmail.com&usuarioNome=MATHEUS+MARTINS+MARQUES&disciplinaDescricao=ENGENHARIA+DE+SOF… 12/12