17/02/2025
Prof.: Claudio
Aluno: Antony Gabriel Moreira de Carvalho
ATIVIDADE II
01) A Engenharia de Software almeja inserir as mesmas sistemáticas existentes em
outras áreas da engenharia? Explique.
Sim, a Engenharia de Software adota sistemáticas de outras engenharias, como
planejamento, modelagem e controle de qualidade, para garantir eficiência,
confiabilidade e previsibilidade no desenvolvimento de software.
02) “Um processo de software é um conjunto de atividades relacionadas que levam à
produção de um produto de software. Essas atividades podem envolver o
desenvolvimento de software a partir do zero em uma linguagem padrão de
programação como Java ou C. No entanto, aplicações de negócios não são
necessariamente desenvolvidas dessa forma. Atualmente, novos softwares de
negócios são desenvolvidos por meio da extensão e modificação de sistemas
existentes ou por meio da configuração e integração de prateleira ou componentes do
sistema. Existem muitos processos de software diferentes, mas todos devem incluir
quatro atividades fundamentais para a engenharia de software”. (SOMMERVILLE,
2011)
Com base no texto acima, explique as alternativas abaixo
a) Especificação de software. A funcionalidade do software e as restrições a
seu funcionamento não devem estar definidas.
Incorreta. A funcionalidade e restrições do software devem estar bem
definidas.
b) Projeto e implementação de software. O software deve ser produzido para
atender às especificações.
Correta. O software deve ser desenvolvido de acordo com as especificações.
c) Validação de software. O software não deve ser validado para garantir que
atenda às demandas do cliente.
Incorreta. O software deve ser testado para atender às exigências dos clientes.
d) Evolução de software. O software deve não atender às necessidades de mudança
dos clientes.
Incorreta. O software deve ser atualizado conforme mudanças nas necessidades
dos usuários.
03) O software é um elemento de um sistema lógico e não de um sistema físico e
possui características diferentes daquelas do hardware. (PRESSMAN, 2010) Com
base no texto acima, explique as alternativas abaixo
a) O software é desenvolvido ou não passar por um processo de
engenharia;
Incorreta. O software deve seguir um processo de engenharia estruturado,
com planejamento, análise, projeto, implementação e testes, para garantir
qualidade e confiabilidade.
b) O software não se desgasta. Com o passar do tempo o hardware
começa a se
desgastar. Também o software não é suscetível aos males ambientais que causam
desgaste no hardware.
Correta. Diferente do hardware, que sofre deterioração física, o software não se
desgasta com o tempo. No entanto, pode tornar-se obsoleto devido a mudanças
tecnológicas ou novas demandas dos usuários.
c) O software não é desenvolvido ou passa por um processo; é fabricado no sentido
clássico.
Incorreta. O software não é fabricado como bens físicos, mas sim desenvolvido
através de um processo iterativo que envolve análise, projeto e implementação.
d) O software se desgasta. Com o passar do tempo o hardware começa a não
desgastar.
Incorreta. O software não sofre desgaste físico, mas pode apresentar falhas ou
precisar de atualização devido a mudanças externas, como novas regulamentações ou
necessidades dos usuários.
04) Segundo Sommerville (2007), os atributos essenciais de um sistema de software
bem projetado.
Explique as alternativas abaixo
a) Facilidade de manutenção, Confiança, Eficiência, Usabilidade
Correto. Um software bem projetado deve ser fácil de manter, confiável, eficiente em
seu desempenho e de fácil utilização para os usuários.
b) Produção, Eficiência
Incorreta. Embora a eficiência seja um fator importante, a produção em si não é um
atributo essencial de um sistema de software bem projetado.
c) Análise de requisitos
Incorreta. A análise de requisitos é uma etapa fundamental no desenvolvimento de
software, mas não é um atributo essencial do sistema em si.
d) Usabilidade de padrões
Incorreta. A usabilidade é um fator importante, mas usabilidade de padrões não define
um sistema de software bem projetado como um todo.
05) Um processo de software é um conjunto de atividades e resultados associados
que produz um produto de software. As atividades fundamentais e comuns a todos os
processos de software são? (SOMMERVILLE, 2007)
Especificação de software, desenvolvimento de software, validação de software e
evolução de software.
06) Um modelo de processo de software é uma representação abstrata e simplificada
de um processo de desenvolvimento de software. Basicamente, ele descreve os
passos envolvidos no desenvolvimento de um sistema, especificando cada uma das
atividades e estabelecendo uma hierarquia entre as fases do projeto.
Explique as alternativas abaixo
a) Um modelo de processo de software é uma representação de um sistema.
Incorreta. Um modelo de processo de software não representa um sistema em si, mas
sim o processo de desenvolvimento do sistema.
b) Um modelo de processo de software descreve os passos, mas não
especifica as atividades específicas.
Incorreta. O modelo descreve tanto os passos quanto as atividades envolvidas.
c) Um modelo de processo de software é uma representação abstrata e simplificada
de um processo de desenvolvimento de software, descrevendo os passos
envolvidos e estabelecendo uma hierarquia entre as fases do projeto.
Correta. Ele fornece um guia para a organização do desenvolvimento, como o
modelo em cascata ou ágil.
d) Um modelo de processo de software é para não ser usado para
documentar os requisitos do sistema.
Incorreta. Embora o modelo de processo não substitua a documentação de
requisitos, ele pode influenciar como essa documentação é estruturada e
utilizada ao longo do desenvolvimento.
07) Um método de engenharia de software segundo Sommerville (2007), é uma
abordagem estruturada para desenvolvimento de software, objetivando facilitar a
produção de software de alta qualidade dentro de custos adequados. Todos os
métodos estão baseados em modelos de desenvolvimento de um sistema, que pode
ser representado graficamente, os modelos representam a especificação e projeto de
um sistema. (SOMMERVILLE, 2007). Explique os componentes de um método?
Os componentes são modelos, que representam visualmente o sistema; notações, que
padronizam sua descrição; processos, que organizam as etapas do desenvolvimento;
e ferramentas, como IDEs e sistemas de controle de versão, que auxiliam na
implementação.
08) O trabalho, no contexto de engenharia de software, implica responsabilidades mais
amplas do que a aplicação de habilidades técnicas. Se deve comportar de forma
responsável ética e moralmente (SOMMERVILLE, 2007). Se deve defender
comportamentos padrões normais de honestidade e integridade. Em algumas áreas
um
comportamento aceitável está associado a uma noção de responsabilidade
profissional, exemplos (SOMMERVILLE, 2007).
Explique as alternativas abaixo
a) Confidencialidade
Correta. Profissionais de software devem proteger informações sensíveis dos clientes
e organizações.
b) Competência não responsável
Incorreta. Profissionais devem atuar com competência e responsabilidade para
garantir a qualidade do software.
c) Direitos sobre mal uso de propriedade
Incorreta. O uso indevido da propriedade intelectual viola princípios éticos e pode
acarretar penalidades legais.
d) O bom uso de computadores
Correta. Envolve práticas éticas no uso da tecnologia, incluindo segurança da
informação e respeito às normas vigentes.
09) Estrutura de um processo aplicável à maioria dos projetos de software, sejam eles
de pequena, média ou alta complexidade.
Com base nessa situação, responda às questões apresentadas
a) Qual significado “Modelagem” dentro da Estrutura de um processo?
Refere-se à criação de representações abstratas do sistema, como diagramas de
casos de uso, diagramas de classes e fluxogramas, facilitando a compreensão e
comunicação entre os stakeholders.
10) Estrutura de um processo aplicável à maioria dos projetos de software, sejam
eles de pequena, média ou alta complexidade.
Com base nessa situação, responda às questões apresentadas
b) Qual significado “Comunicação” dentro da Estrutura de um processo?
Envolve a interação entre desenvolvedores, clientes e usuários para garantir que os
requisitos sejam corretamente compreendidos e documentados. Métodos como
entrevistas e questionários auxiliam nessa etapa.