Buscar

Respostas EXERCÍCIOS Engenharia de Software Introdução

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Aluno: Renato de Oliveira Lucena D3439H9, 2 Período.
Exercícios de fixação extraídos do livro Sommerville, Ian. Engenharia de Software. 9ª ed. 
Recomenda se a leitura antecipada dos capítulos indicados.‐
Capítulo 1 – Introdução à Engenharia de Software
1 - Explique por que software profissional não é apenas os programas que são 
desenvolvidos para o cliente.
R: o software e mais que programa executado pelo usuário final em termo de custo, já que 
outras atividades e pessoas são necessárias para que se chegue ao produto. O software 
não é apenas um programa, mas também todos os dados de documentação e configuração 
associadas e necessárias para que o programa opere.
2 - Qual a diferença mais importante entre o desenvolvimento de um produto genérico
de software e o desenvolvimento de software sob demanda? O que isso pode 
significar na prática para usuários de produtos de software genérico?
R:No desenvolvimento do software genérico, quem produz o software controla a 
especificação, eles são feitos para atender a necessidade do mercado. Já no 
desenvolvimento sobre encomenda, quem compra que controla as especificações, pois são 
feitos para atender a necessidade do cliente especifico.
3 - Quais são os quatro atributos importantes que todo software profissional deve 
possuir? Sugira outros quatro atributos que, às vezes, podem ser significantes.
1. Facilidade de manutenção: o software deve ser escrito de modo que possa evoluir para 
atender as necessidades de mudanças do cliente. 
2. Confiança: o nível de confiança do software tem uma série de características, incluindo 
confiabilidade, proteção e segurança. Um software confiável não deve causar danos físicos 
ou econômicos no caso de falha do sistema 
3. Eficiência: O software não deve desperdiçar os recursos do sistema, como memória e 
ciclos do processador. Portanto a eficiência inclui tempo de resposta, tempo de 
processamento, utilização de memória, etc. 
4. Usabilidade: O software deve ser usável, sem esforço excessivo, pelo tipo de usuário 
para o qual ele foi projetado. Isso significa que ele deve apresentar uma interface com o 
usuário e documentação adequada. 
4 - Além dos desafios de heterogeneidade, mudanças sociais e corporativas, 
confiança e proteção, identifique outros problemas e desafios que a engenharia de 
software provavelmente enfrentará no século XXI (Dica: pense no meio ambiente).
R:Performasse do software – código otimizado;
Escalabilidade – modelos mais eficazes, reutilização de código e segurança;
Ergonomia do software – software mais acessível (deficientes);
Produção de software com linguagem natural – acelera o processo de desenvolvimento;
Software amigo do meio ambiente;
Certificação de engenheiros de software, o conjunto de tudo.
5 - Baseado em seu conhecimento de alguns tipos de aplicações discutidos na Seção
1.1.2, explique, com exemplos, por que tipos de aplicações diferentes requerem 
técnicas especializadas de engenharia de software para apoiar seu projeto e 
desenvolvimento.
R: Porque dependendo da forma que for implementado o código, pode possuir inúmeras 
linhas, logo temos que usar muitas técnicas da engenharia, para organizar, planejar, gerir e 
fazer os processos, se não é bem provável que o software possua muitos erros, e bem 
complicados de serem resolvidos depois.
6 - Explique por que existem ideias fundamentais na engenharia de software que se 
aplicam a todos os tipos de sistemas.
R: Afim de manter um forma de desenvolvimento padrão entre os softwares, existem varias 
ideias que são vistas como fundamentais na engenharia de software, sendo elas a maneira 
como se pesquisa antes do desenvolvimento, o bom dialogo entre o cliente e 
desenvolvedor, para que o software atenda a todas as necessidades e requisitos que o 
cliente impõe e necessita. Um padrão em sua manutenção, afim de permitir a outros 
profissionais trabalhe também no seu projeto de código aberto e possa fazer sua 
manutenção e sustentabilidade, na falta de seu desenvolvedor inicial. 
7 - Explique como o uso universal da Internet mudou os sistemas de software.
R: Com a utilização da internet, os softwares passaram a funcionar de acordo com a as 
ferramentas que a internet disponibiliza. Como por um exemplo a possibilidade de 
armazenamento de dados em nuvem, onde empresas guardam os dados de seus clientes 
em uma locação em nuvens de outra empresa responsável pelo desenvolvimento, 
manutenção e atualização do sistema (banco de dados e software). Uma das vantagens é a
segurança dos bancos de dados, dificultando a penetração de usuários indesejáveis no 
sistema. E a desvantagem é a dependência diretamente do funcionamento da internet. 
8 - Discuta se os engenheiros profissionais devem ser certificados da mesma forma 
que médicos e advogados.
R: Abordagem concordante: Responsabilidade e certificação em áreas de conhecimento 
onde estão subjacentes riscos elevados, em vidas humanas e em prejuízos materiais, da 
mesmaf orma que as ordens regulam outras áreas (código deontológico) onde esse mesmo 
risco existe: medicina, direito, farmácia, engenharia, etc. Abordagem discordante: É inviável 
limitar a criação de software. Custo mais elevado do software. Dificuldade a especificar qual
software é de risco elevado e qual não é, por exemplo, software de uma empresa afeta os 
“stake holders” mas não dependem vidas deste diretamente… qual o grau de risco?, em 
comparação por exemplo no caso relativamente às drogas farmacêuticas existirem produtos
de livre utilização.
9 - Para cada uma das cláusulas no Código de Ética da ACM/IEEE mostradas no 
Quadro 1.1, sugira um exemplo adequado para ilustrar.
R: O desenvolvimento de um novo aparelho telefônico ser divulgado na mídia. Um robô não 
pode machucar um indivíduo.
10 - Para ajudar a combater o terrorismo, muitos países estão planejando 
desenvolver, ou já desenvolveram, sistemas computacionais que rastreiam grandes 
números de cidadãos e suas ações. Obviamente, isso tem implicações nas questões 
da privacidade. Discuta a ética de se trabalhar desenvolvendo esse tipo de sistema.
R: acho que os países tem que procurar outro modo, pois é antiético, invadir a vida pessoal 
de cada pessoa.

Outros materiais