El diseo es definido en [IEEE610.12 - 90] como tanto "El proceso de definir la
arquitectura, la componentes, interfaces, y las otras caractersticas de un sistema o componente" como "El resultado de [eso] se procesa." Visto como un proceso, el diseo de software es la actividad de ciclo de vida de ingeniera de software en la que los requerimientos de software son analizados para causar una descripcin de la estructura interna del software que servir como base para su construccin. Ms precisamente, un diseo de software (el resultado) debe describir la arquitectura de software - es decir cmo el software est en estado de descomposicin y organizado en los componentes - y las interfaces entre esos componentes. Tambin debe describir los componentes en un nivel del detalle que permiten su construccin. El diseo de software tiene un papel importante en el desarrollo de software, ya que permite que ingenieros de software produzcan modelos distintos que moldean una clase de plano de la solucin a ser implementado. Podemos analizar y valorar a estos modelos para determinar cual de estos permitir o no, cumplir con una gama de requerimientos Tambin podemos revisar y valorar las soluciones alternativas y los intercambios. Definitivamente, se puede usar los modelos para planear las actividades de desarrollo siguientes, adems de usarlos como entrada y punto de partida de la construccin y hacer pruebas. En un listado estndard de procesos de ciclo vida de software [IEEE / EIA 12207] como procesos de ciclo vida de software [IEEE12207.0 - 96], el diseo de software consta de dos actividades que son conveniente para el anlisis y la construccin de software entre requisitos de software: Diseo arquitectnico del software (algunas veces llamado el diseo de alto nivel): describir las estructura y organizacin del software de alto nivel e identificar los componentes que lo forman. Diseo detallado del software: describe cada componente lo suficientemente para tener en cuenta su construccin. La descripcin de las reas de conocimiento del diseo de software est relacionada especficamente arequerimientos de software, a la construccin de software, a la administracin de ingeniera de software, la calidad de software, y las disciplinas relacionadas a la ingeniera de software.