Você está na página 1de 4

LISTA AVALIATIVA ENGENHARIA DE SOFTWARE

Aluno (a): Gabriel Seixas Cotrim de Souza


Curso: Gestão da Tecnologia da Infomação Período letivo: 2019.1
Semestre: 4º Semestre Data:
Valor : Professor (a): Hissamu Shirado

INSTRUÇÕES:
1. Esta atividade é composta por 15.
2. Serão considerados na definição da nota da questão: objetividade, clareza, coerência, ortografia e gramática;
3. A lista deve ser entregue ao professor na data, horário e meio definido pelo professor.

QUESTÕES:
1. Segundo Pressman (1995), Engenharia de Software é o estabelecimento e uso de sólidos princípios de
engenharia para que se possa obter economicamente um software que seja confiável e que funcione
eficientemente em máquinas reais, abrangendo um conjunto de três elementos fundamentais (métodos,
ferramentas e procedimentos).
Assinale a alternativa INCORRETA:
A. Métodos de Engenharia de Software proporcionam os detalhes de “como fazer” para construir o
software.
B. As ferramentas proporcionam apoio automatizado ou semi-automatizado aos métodos.
C. Procedimentos constituem o elo de ligação dos métodos e das ferramentas e possibilitam o
desenvolvimento racional e oportuno de software.
D. Métodos envolvem um amplo conjunto de tarefas que incluem: planejamento e estimativa de projeto,
análise de requisitos de software e sistemas, projeto de estrutura de dados, arquitetura de programa e
algoritmo de processamento, codificação, teste e manutenção.
E. Ferramentas são roteiros para o desenvolvimento de software.
Justifique .

2. Sobre a engenharia de software, considere:


I. Atualmente todos os problemas na construção de software de alta qualidade no prazo e dentro do
orçamento foram solucionados.
II. Ao longo dos últimos 50 anos, o software evoluiu de um produto de indústria para um ferramental
especializado em solução de problemas e análise de informações específicas.
III. Todo projeto de software é iniciado por alguma necessidade do negócio.
IV. O intuito da engenharia de software é fornecer uma estrutura para a construção de software com alta
qualidade.
Está correto o que consta em
a) III e IV, somente.
b) II e III, somente.
c) I, II e IV, somente.
d) II, III e IV, somente.
e) I, II, III e IV.
Justifique apresentando os erros encontrados;
3. Explique a relação existente entre as curvas da banheira, curva idealizada e curva real de falha de softwares
proposto e apresentado por Pressman.
4. Apresente um texto descritivo sobre as principais características do modelo Cascata.
Modelo Cascata O modelo em cascata é um modelo de desenvolvimento de software sequencial no qual o
mesmo é visto como sequencia através das fases de análise de requisitos, projeto, implementação,
validação, integração, e manutenção de software. Divisão inflexível do projeto em estágios distintos a fase
seguinte só deve iniciar quando a anterior tiver sido concluída e aprovada pelas partes envolvidas. Por
exemplo, o design apenas deve começar quando os requisitos estiverem totalmente definidos e aprovados.
Dificuldade em realizar mudanças com o processo em andamento – requisitos sempre mudam. O modelo em
cascata é apropriado quanto se tem um entendimento claro dos requisitos. Oferece maior previsibilidade de
prazos e custo: melhor planejamento e gerenciamento. A engenharia do sistema segue este tipo de modelo.
5. Apresente um texto descritivo sobre as principais características do modelo Prototipação.
O objetivo é entender os requisitos do usuário e, assim, obter uma melhor definição dos requisitos do
sistema. Obtenção dos requisitos: desenvolvedor e cliente definem os objetivos gerais do software,
identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais. Projeto
rápido representação dos aspectos do software que são visíveis ao usuário (abordagens de entrada e
formatos de saída). Construção protótipo: implementação rápida do projeto. Avaliação do protótipo cliente e
desenvolvedor avaliam o protótipo. Refinamento do protótipo cliente e desenvolvedor refinam os requisitos do
software a ser desenvolvido. Construção produto identificados os requisitos, o protótipo deve ser descartado
e a versão de produção deve ser construída considerando os critérios de qualidade.
6. Explique o que a figura de um stakeholder representa dentro de um projeto de software.
É sabido que um projeto envolve diversos interesses. Por causa disso, é essencial que se descubra logo no
início como ele será gerenciado — afinal, para melhorar seu desempenho e elaboração, é muito importante
saber quem são as pessoas ou organizações mais interessadas ou que mais influenciarão seus processos.
E, nesse aspecto, é quase certo ouvir falar em stakeholders.
7. Considere as afirmativas apresentadas abaixo a respeito do modelo de processo de software cascata
(waterfall):
I. Uma das vantagens do modelo de processo cascata é que ele antecipa eventuais correções a serem feitas
nos requisitos de software;
II. O modelo de processos cascata é recomendado quando os requisitos são estáveis, claros e bem
delimitados;
III. Nesse modelo de processo, alterações de escopo são tratadas naturalmente devido à fase de
planejamento bem definida pelo processo.
Estão correta apenas as afirmativas:
A. I apenas;
B. II apena;
C. III apenas;
D. I e II apenas;
E. II e III apenas;
Justifique apresentando o que há de errado (se houver erro) nas alternativas.
8. Dentre os princípios da Engenharia de Software NÃO se encontra:
a. Um sistema de software existe por uma razão: para fornecer valor aos seus usuários. Todas as
decisões devem ser tomadas com este princípio em mente.
b. Keep it Simple: todo projeto deve ser tão simples quanto possível, mas simples não significa rápido e
mal feito. Simplificar precisa de muito raciocínio e trabalho em várias interações.
c. Sempre especifique, projete e implemente sabendo que mais alguém terá de entender o que se está
fazendo. Mais alguém irá usar, manter, documentar ou precisará entender o sistema que uma
pessoa desenvolve.
d. Reuso sempre poupa tempo e esforço, assim, conseguir um alto nível de reuso é a principal meta a
ser alcançada no desenvolvimento. O reuso torna mais barato o custo do sistema, pois produz
componentes reusáveis.
e. Raciocinar clara e completamente antes da ação quase sempre produz os melhores resultados.
Quando o raciocínio límpido é aplicado ao sistema, é mais provável que funcione adequadamente

Justifique sua resposta.

9. Explique de forma resumida e direta o que é a Engenharia de Requisitos e qual o problema fundamental que
essa área da Engenharia de Software busca resolver.
Requisitos são as bases para todo projeto, definindo o que as partes interessadas de um novo sistema
necessitam e também o que o sistema deve fazer para satisfazer as suas necessidades. Os requisitos guiam
as atividades do projeto e normalmente são expressos em linguagem natural para que todos possam obter o
entendimento. Além dos requisitos definirem os problemas e soluções também devemos definir os riscos e
prover soluções satisfatórias casos esses riscos venham a falhar. Busca resolver Planejamento do Projeto,
gerenciamento de riscos, testes de aceitação e controle de mudanças.
10. Explique a diferença entre requisitos funcionais e não funcionais apresentando exemplos de cada tipo a
partir de um caso hipotético de um software para gestão de finanças domésticas.
REQUISITOS FUNCIONAIS: Os requisitos funcionais definem as funcionalidades e o comportamento do
sistema, mediante a cada entrada, ou seja, é aquilo que descreve o que o sistema tem que fazer a cada ação
de um usuário ou outro sistema. Eles dependem do conhecimento passado pelos usuários sobre o processo
do negócio, ou seja, as atividades da área em que a organização atua, e dependem do que permitirá fazer
o software a ser desenvolvido.
Exemplo: Leopoldo atrasado para a reunião com um fornecedor da pizzaria. Hoje você terá que levantar os
requisitos com minha principal futura usuária do novo sistema. Demétrio conhece a futura usuária do novo
sistema. Olá, eu só o Demétrio, o analista de sistema. Olá eu só Camila atendente da pizzaria. Uau! Muito
prazer Camila então, o que o sistema deverá fazer para a tender suas necessidades? Hum... Deixe-me te
mostrar vamos até meu computador. Olha, o sistema deve ser lindo com o fundo rosa igual esse site de
shampoo. Dai-me paciência.
REQUISITOS NÃO FUNCIONAIS: Os requisitos não funcionais dizem respeito às características e padrões
de qualidade que o sistema deve oferecer.
Exemplo: Olá senhor Leonardo sou o Demétrio o analista de sistema. Olá Demétrio vamos na minha sala. O
Satoshi, programador que trabalha comigo irá te mostrar o sistema. Leonardo, o Satoshi vai te mostrar a
parte de cadastro de clientes e depois consulta-lo para fazer um pedido. Leonardo por favor me passe os
dados para simulamos um cadastro e depois um pedido. Claro Satoshi vamos lá. Tudo está indo muito bem!
mais uma etapa concluída! Finalizada o cadastro vamos fazer a consulta para prosseguir com o pedido. Que
demora é essa? Tem que ser mais rápido. Demora mais para consultar um cliente do que para entregar uma
pizza! Etapa não concluída.
11. Requisitos são as bases para todo projeto, definindo o que as partes interessadas de um novo sistema
necessitam e também o que o sistema deve fazer para satisfazer as suas necessidades. Os requisitos guiam
as atividades do projeto e normalmente são expressos em linguagem natural para que todos possam obter o
entendimento. No entando, extrair e analisar os requisitos do sistema é uma tarefa muitas vezes árdua,
principalmente por se tratar, essencilamente de uma atividade crítica de comunicação, na qual muitas vezes
ruídos podem levar a conclusões precipitadas. Assim, a Engenharia de Software propõe o uso de algumas
técnicas que podem melhorar ou auxiliar o processo de levantamento de requisitos. Apresente uma
descrição breve sobre cada uma das técnicas listadas a abaixo, assim como exemplos de situações onde elas
podem ser úteis.
a. Entrevistas: É uma conversa entre duas ou mais pessoas entrevistador e o entrevistado onde perguntas
são feitas pelo entrevistador de modo a obter informação necessária por parte do entrevistado. Exemplo:
Entrevista de RH.
b. Questionários: O questionário é frequentemente confundido com entrevista, teste, formulário, inquérito e
escala. Exemplo: Questionário de pesquisa de satisfação de cliente.
c. Brainstorming: É uma atividade desenvolvida para explorar a potencia criativa de um indivíduo ou de um
grupo-criatividade em equipe-colocando-a a serviço de objetivos pré-determinados. Exemplo: como elevar a
produtividade da empresa.
12. O uso de recursos e artefatos visuais tem sido adotado como uma boa prática pela Engenharia de Software.
Apresente 3 exemplos de vantagens alcançadas ao utilizar-se um modelo visual para especificação de
software;
Exemplos:
Casos de Uso para especificar comportamento de forma não ambígua.
Diagramas de Classes e Diagramas de Modelo de Dados para capturar design.
Diagramas de Transição de Estado para modelar comportamento dinâmico.
13. A Crise do software foi um período onde o desenvolvimento de softwares passou por diversas dificuldades
que acarretaram em produtos de baixa qualidade e com custos de produção e manutenção elevados. Ao
longo desse período, diversos mitos foram criados ao redor da prática de desenvolviemento de softwares.
Apresente 3 mitos que você considera ainda presentes atualmente e indique uma proposta de ação para
eliminar eliminar tal mito;
Exemplos:
Terceirizar um projeto é garantia de tranquilidade e nenhum trabalho.
Caso ocorra atraso no cronograma este poderá ser contornado alocando-se mais programadores ao projeto.
Exemplo: O primeiro ponto é notar que a lei de Brooks só se aplica a projetos que já estão
atrasados. Projetos podem ser trazidos de volta ao (ou mantidos em) controle se as pessoas forem
adicionadas no início do processo. Também é importante determinar se o projeto está realmente atrasado ou
se o cronograma era originalmente excessivamente otimista. Erros de agendamento representam um grande
número de projetos atrasados. Corrigir o cronograma é a melhor maneira de ter um prazo significativo e
confiável para a conclusão do projeto.
Um bom manual, repleto de padrões e regras, fornecerá a equipe tudo que ela precisa sabe.
14. À medida que o software invade todos os setores, riscos ao público ( devido a programas com imperfeições)
passam a ser uma preocupação cada vez maior. Crie um cenário o mais catastrófico possível, porém ralista,
em que a falaha e um programa de computador poderia causar um grande dano em termos econômicos ou
humanos.
Tratamento de Câncer
Desastre: O software de radiação da empresa Multidate calculou mal a dosagem de radiação que deveria ser
enviada, expondo pacientes a níveis fatais de radiação. Os físicos que foram indicados para checar as
máquinas foram condenados à morte.
Causa: O software calculava a dosagem de radiação baseando-se na ordem de entrada dos dados, e
algumas vezes enviava o dobro da dose do que deveria.
15. Crie um diagrama de Casos de Uso para o seguinte cenário:
a. Para usar os serviços de uma biblioteca, os leitores deverão estar registrados e possuir um
cartão com número de identificação e foto.
b. O sistema deve permitir que um leitor apto empreste um ou mais livros, por um período de
tempo que varia de 1 semana a 6 meses, dependendo do tipo de leitor (1 semana para
estudantes de graduação, 15 dias para estudantes de pós-graduação e 6 meses para docentes).
c. O leitor está apto a emprestar livros se não possuir em seu poder livros com data de devolução
vencida e desde que o número de livros emprestados não ultrapasse o número máximo permitido,
que depende do tipo de leitor (6 livros para estudantes de graduação, 10 livros para estudantes de
pós-graduação e 15 livros para docentes).
d. O sistema deve permitir que o leitor devolva um ou mais livrosemseupoder, fazendo com que o
livro volte a ficardisponívelnabiblioteca.