Considere a seguinte lista de procedimentos de alteração de um software orientado a objetos
previamente existentes.
I. Inclusão de novas classes, com acréscimo de funcionalidades ao software;
II. Criação de superclasse comum a classes previamente existentes;
III. Migração de atributos ou métodos de subclasse para superclasse;
IV. Remoção de classes para a exclusão de funcionalidades consideradas indesejadas para o
software;
V. Remoção de métodos de classes para a exclusão de funcionalidades consideradas indesejadas
para o software; e
VI. Particionamento de uma classe existente em duas ou mais classes.
Assinale a alternativa que indica corretamente os itens da lista acima considerados procedimentos de
refatoração (refactoring).