Hay muchos aspectos a considerar en el diseño de una pieza de software.