Exercícios resolvidos de Ian Sommerville , Software Engineering – 8 th Edition




25.1 Sugira modelos de processo para os seguintes processos:
  • Acender fogo em madeira.
  • Preparar um refeição com três pratos (você escolhe o menu).
  • Escrever um pequeno programa (com 50 linhas).
Acender fogo em madeira:
Coloque a madeira de forma que possibilite a circulação de ar,
Colocar o pavio umedecido em álcool, querosene, gasolina ou outro combustível,
Riscar o fósforo ou isqueiro e atear fogo no pavio.

Preparar uma refeição com três pratos:

Menu: Arroz, Feijão, bife.

Cozinhar arroz:
Lavar o arroz,
Colocar óleo de soja e alho socado ou tempero pronto, sal na panela e deixar aquecer,
Quando o tempero estiver amarelado adicionar o arroz á panela,
Quando o arroz começar a agarrar na panela, adicionar água com 2 centímetros acima do nível do arroz na panela,
Tampar a panela,
Quando a água secar despejar o conteúdo em uma travessa.
Cozinhar feijão:
Catar o feijão,
Lavar o feijão,
Colocar na panela de pressão,
Adicionar água respeitando o nível máximo de água indicado na panela de pressão,
Colocar a tampa na panela,
Quando começar a ferver marcar 35 minutos e desligar o fogo,
Deixar a pressão da panela sair ou retirá-la colocando a panela de pressão embaixo de água corrente,
Colocar óleo de soja, alho e sal em uma panela e deixar fritar,
Quando o alho estiver frito adicionar a quantidade desejada de feijão cozido, mexer e deixar ferver por uns 5 minutos,
Retirar e virar em uma travessa.

Preparar o bife:

Adicionar óleo de soja em uma panela,
Adicionar sal, tempero à carne cortada em bifes,
Colocar os bifes na panela quando o óleo estiver aquecido,
Quando estiver corado um lado do bife, virar e deixar corar o outro lado,
Adicionar cebola de cabeça picada em rodelas e mexer,
Virar em uma travessa.

Escrever um programa pequeno(50 linhas):

Entender qual o problema a ser resolvido como programa,
Definir tipos de dados necessários,
Definir métodos necessários,
Escrever métodos,
Escrever método principal do programa, fazendo chamada aos métodos secundários criados,
Conferir o código a procura de possíveis erros,
Corrigir erros detectados.

25.2 Em que circunstância a qualidade de produto pode ser determinada pela qualidade da equipe de desenvolvimento? Dê exemplos dos tipos de produtos de software que dependem particularmente do talento e das habilidades individuais.

A qualidade do produto pode ser determinada pela qualidade da equipe de desenvolvimento quando não se utiliza um processo de desenvolvimento.
Exemplos: softwares comerciais desenvolvidos de forma individual ou por pequenas equipes de desenvolvimento.
25.3 Suponha que a meta da melhoria de processo em uma organização seja aumentar o número de componentes reutilizáveis durante o desenvolvimento. Sugira três questões conforme o GQM, pelas quais isso pode ser alcançado. 


  • Identificar os componentes do sistema que podem ser reusados.
  • Modificação da arquitetura do sistema para incorporar estes novos componentes.
  • Especificação de requisitos: os requisitos do sistema são especificados.
  • Análise de componentes: identificam-se componentes que são candidatos a serem reusados no projeto do sistema.
  • Modificação dos requisitos: os requisitos identificados são modificados para se adequarem aos componentes a serem reusados.
  • Projeto do sistema com reuso: o sistema é projetado, utilizando-se os componentes a serem reusados.
  • Desenvolvimento e integração: componentes não existentes são desenvolvidos e todos os componentes são integrados.
  • Validação: o sistema é validado pelo usuário final.

25.4 Descreva três tipos de métricas de processo de software que podem ser coletadas como parte de uma melhoria de processo. Dê um exemplo de cada tipo de métrica.


  1. Tempo gasto para um processo em particular ser incluído: Esse tempo pode ser o tempo total dedicado a um processo específico, o “tempo calendário”, o tempo gasto no processo por engenheiros individuais.
  2.  Recursos requeridos para um processo em particular: Os recursos podem ser o esforço total calculado em pessoa/dia, os custos de viagens, os recursos de computadores, etc.
  3. O número de ocorrências de um evento em particular: Eventos que podem ser monitorados são o número de defeitos descobertos durante a inspeção do código, o número de mudanças de requisitos que forem solicitadas, o número de linhas de código modificadas em resposta a uma mudança nos requisitos, etc.
25.5 Dê duas vantagens e duas desvantagens da abordagem de avaliação e melhoria de processo que estejam incorporados no modelo de maturidade de processo.


  • Vantagens: Melhoria da qualidade do processo e redução de custos.
  • Desvantagens: Impossibilidade de introduzir muitas mudanças ao mesmo tempo,
O processo de melhoria não é inicialmente eficaz necessitando acompanhamento e novas melhorias de processo para atingi-lo.
O modelo de maturidade foca na gestão dos processos, porém não focam na execução do processo.
25.6 Sugira dois domínios de aplicação em que o modelo de capacitação do SEI seja provavelmente inadequado. Dê as razões pelas quais isso ocorre.

Software para emissão de notas fiscais e Software para  controle de oficina de oficina
Por se tratar de um software de pequeno porte para ser utilizado por pequena empresa o modelo de capacitação SEI geraria um custo adicional, bem como aumentaria o tempo de execução do projeto.
25.7 Considere o tipo de processo de software utilizado em sua organização. Quantas áreas-chave de processo, identificados no modelo do SEI, são utilizadas? Como esse modelo classificaria seu nível de maturidade de processo? 

Foco no processo, Definição do processo organizacional, programa de treinamento. 
Nível 1- Inicial, apesar de o modelo de capacitação SEI ser direcionado a processos de software e a organização em que trabalho ser uma indústria.
25.8 Sugira três ferramentas especializadas de software que podem ser desenvolvidas para apoiar um programa de melhoria de processo de uma organização.
Ferramentas de análise e projeto, ferramentas de prototipação e ferramentas de teste.
25.9 Explique por que um processo metódico não é necessariamente um processo gerenciado, como foi definido na Seção 25.5.

Por que cada organização pode escolher um processo de acordo com suas necessidades e utilizam ferramentas genéricas, com isso pode ser que o gerenciamento seja deixado de lado devido a não utilização de ferramentas especializadas de modo consistente.
25.10 Os programas de melhoria de processo, que envolvem medir o trabalho de pessoas no processo e na modificação dele, são inerentemente desumanos? Que resistência poderia surgir contra um programa de melhoria do processo?

Não, por que a função dos programas de apoio apoia o gerenciamento de atividades para melhorar o desempenho das pessoas e dos processos para garantir a qualidade dos mesmos.
A resistência poderia surgir devido a desconhecimento da ferramenta e por pessoas geralmente ficarem com medo de mudanças .

Share:

0 comentários

POPULAR POSTS