Você está na página 1de 3

1) Faça um paralelo entre os conceitos de engenharia de software e de processo de

software.
R: A engenharia de software engloba os princípios e práticas mais amplos envolvidos na
criação de software confiável e eficiente, enquanto um processo de software se refere
especificamente à estrutura e às tarefas envolvidas no desenvolvimento de software.

2) A engenharia de software pode ser considerada uma tecnologia em camadas. Diante


dessa afirmação, descreva cada uma dessas camadas.
R: As etapas são:

Foco na Qualidade - Qualquer abordagem de engenharia, inclusive a engenharia de


software, deve ter um compromisso com a qualidade. O foco na qualidade deve ser a base
da engenharia de software.

Processo - O processo deve ser um arcabouço estabelecido para a efetiva utilização da


tecnologia de engenharia de software. Essa camada é que mantém as outras unidas e
permite o desenvolvimento racional e adequado de softwares.

Métodos - Os métodos fornecem a técnica para se desenvolver software de qualidade.


Constituem um conjunto de tarefas que incluem comunicação, análise de requisitos,
modelagem de projeto, construção de programas, testes e manutenção.

Ferramentas - As ferramentas fornecem apoio automatizado para o processo de software e


os métodos.

3) Identifique as atividades principais e as atividades de apoio de um processo de software.


Fale um pouco sobre cada uma dessas atividades.
R: As atividades principais são:

Planejamento - O objetivo desta atividade é fornecer uma estrutura que possibilite ao


gerente fazer estimativas razoáveis de recursos, custos e prazos. Uma vez estabelecido o
escopo de software, com os requisitos esboçados, uma proposta de desenvolvimento deve
ser elaborada, isto é, um plano de projeto deve ser elaborado configurando o processo a ser
utilizado no desenvolvimento de software. À medida que o projeto progride, o planejamento
deve ser detalhado e atualizado regularmente. Pelo menos ao final de cada uma das fases
do desenvolvimento (análise e especificação de requisitos, projeto, implementação e
testes), o planejamento como um todo deve ser revisto e o planejamento da etapa seguinte
deve ser detalhado. O planejamento e o acompanhamento do progresso fazem parte do
processo de gerência do projeto.

Análise e Especificação de Requisitos - Nesta atividade, o processo de levantamento de


requisitos é intensificado. O escopo deve ser refinado e os requisitos melhor definidos. Para
entender a natureza do software a ser construído, o engenheiro de software tem que
compreender o domínio do problema, bem como a funcionalidade e o comportamento
esperados. Uma vez capturados os requisitos do sistema a ser desenvolvido, estes devem
ser modelados, avaliados e documentados. Uma parte vital dessa atividade é a construção
de um modelo descrevendo o que o software tem que fazer (e não como fazê-lo).
Projeto - Esta atividade é responsável por incorporar requisitos tecnológicos aos requisitos
essenciais do sistema, modelados na atividade anterior e, portanto, requer que a plataforma
de implementação seja conhecida. Esta atividade envolve basicamente duas grandes
etapas: projeto da arquitetura do sistema e projeto detalhado. O objetivo da etapa de projeto
da arquitetura do sistema é definir a arquitetura geral do software, tendo por base o modelo
construído na fase de análise de requisitos. Essa arquitetura deve descrever a estrutura de
nível mais alto da aplicação e identificar seus principais componentes. Já o objetivo da
etapa de projeto detalhado é detalhar o projeto do software para cada componente
identificado na etapa anterior. Os componentes de software devem ser sucessivamente
refinados em níveis maiores de detalhamento, até que possam ser codificados e testados.

Implementação - Nesta atividade o projeto deve ser traduzido para uma forma passível de
execução pela máquina. A atividade de implementação realiza essa tarefa, isto é, cada
unidade de software do projeto detalhado é implementada.

Testes - esta atividade inclui diversos níveis de testes, a saber, teste de unidade, teste de
integração e teste de sistema. Inicialmente, cada unidade de software implementada deve
ser testada e os resultados documentados. A seguir, os diversos componentes devem ser
integrados sucessivamente até se obter o sistema. Finalmente, o sistema como um todo
deve ser testado.

Entrega e Implantação - uma vez testado, o software deve ser colocado em produção.
Para que isso aconteça, contudo, é necessário treinar os usuários, configurar o ambiente de
produção e, muitas vezes, converter bases de dados. O propósito desta atividade é
estabelecer que o software satisfaça os requisitos dos usuários. Isso é feito instalando o
software no ambiente do usuário e conduzindo testes de aceitação. Quando o software tiver
demonstrado prover as capacidades requeridas, ele pode ser aceito e a operação (próxima
etapa) iniciada.

Operação - nesta atividade o software é utilizado pelos usuários no ambiente de produção.

Manutenção - Sem dúvida, o software sofrerá mudanças após ter sido entregue para o
usuário. Alterações ocorreram por diversos motivos: porque erros foram encontrados,
porque o software precisa ser adaptado para acomodar mudanças em seu ambiente
externo ou porque o cliente necessita de funcionalidade adicional ou aumento de
desempenho. Muitas vezes, dependendo do tipo e do porte da manutenção necessária,
essa atividade pode requerer a definição de um novo processo, em que cada uma das fases
precedentes é reaplicada no contexto de um software existente, ao invés de iniciar um
processo de criação de um novo software.

As atividades de apoio são:

Acompanhamento e controle do projeto de software - Permite à equipe de software


avaliar o progresso com base no plano de projeto e tomar a ação necessária para manter o
cronograma;

Gestão de risco - Avalia os riscos que podem afetar o resultado do projeto ou a qualidade
do produto;

Garantia da qualidade - Define e conduz as atividades necessárias para garantir a


qualidade do software;

Revisões Técnicas Formais - Avaliam os produtos de trabalho da engenharia de software,


num esforço para descobrir e remover erros antes que eles sejam propagados para a
próxima ação ou atividade;

Medição - Define e reúne medidas de processo, projeto e produto que ajudam a equipe a
entregar um software que satisfaça às necessidades do usuário; pode ser realizada de
forma conjugada com todas as outras atividades principais;

Gestão de configuração de software - Gerencia os efeitos das modificações ao longo de


todo o processo de software;

Gestão de reusabilidade - Define critérios para a reutilização dos produtos de trabalho


(inclusive componentes de software) e estabelece mecanismos para obter componentes
reutilizáveis. (Um produto de trabalho é produzido ao final de uma atividade do processo de
software);

Preparação e produção do produto de trabalho - Abrange as atividades necessárias para


criar produtos de trabalho como modelos, documentos, registros, formulários e listas.

Você também pode gostar