Está en la página 1de 6

PROCESO DE DISEÑO DE SOFTWARE

Andrés Mauricio Bravo Palacios


Noviembre 2021

Corporación Universitaria Iberoamericana


Facultad de Ingeniería
Fundamentos de diseño
Los principios del diseño nos detallan la arquitectura del software, estructura de
datos, interfaces y los componentes que se requieren para implementar un sistema
según su requerimiento.

Los ingenieros básicamente en este proceso del diseño son todo lo que quiere
hacer, es aquí el lugar donde plasman la creatividad y la unen con los
requerimientos de los clientes y necesidades del negocio teniendo en cuenta las
consideraciones técnicas, todas estas se unen para formular un producto.

Los Ingenieros de software son las personas quienes tienen la responsabilidad


de realizar las tareas del diseño ya que en esta parte es de vital importancia
modelar el sistema o producto que se va a construir de igual manera permite medir
la calidad y su mejora antes de generar el código.

Siguiendo los lineamientos descritos en diferentes manuales y textos que nos


guían a través de este proceso nos encontramos con los pasos que hay que seguir
para cumplir a cabalidad con el desarrollo del producto.

1. Representar la arquitectura del producto


2. Modelar interfaces (usuarios, sistemas, dispositivos, componentes)
3. Diseñar componentes del sistema

Una vez realizados estos pasos podremos obtener un modelo de diseño que
agrupa las representaciones arquitectónicas, interfaces en el nivel de componente y
despliegue.

Como es casi todos los productos que conocemos siempre debemos asegurarnos
de que el mismo funcione de manera óptima así que aquí entramos a la parte donde
probamos el producto teniendo en cuenta que el modelo del diseño es evaluado por
el equipo de software.

Las comprobaciones recurrentes que se hacen son las siguientes.

• Errores
• Inconsistencias u omisiones
• Si existen mejores alternativas
• Determinar si es posible implementar el modelo dentro de las restricciones,
plazo y costo
El diseño del software comienza una vez que se han analizado y modelado los
requerimientos, es la última acción de la ingeniería de software dentro de la
actividad de modelado y se concentra en preparar la etapa de construcción
(generación y prueba de código) y así mismo permite obtener 4 modelos de diseño.

Modelos en el diseño

1. Diseño en el nivel de componentes


2. Diseño de la interfaz
3. Diseño de la Arquitectura

1. Diseño en el nivel de componentes.

El diseño en el nivel de componente transforma los elementos estructurales de


la arquitectura del software en una descripción de sus componentes, la información
obtenida a partir de los modelos basados en clase, flujo y comportamiento sirve
como la base para diseñar los componentes lo que conocemos como generación
diagrama de componentes.

2. Diseño de la interfaz

El diseño de la interfaz describe la forma en la que el software se comunica con


los sistemas que interactúan con él y con los humanos; Una interfaz implica un
flujo de información (por ejemplo, datos o control) y un tipo específico de
comportamiento, modelos de escenarios, de casos de uso, y de comportamiento
dan mucha de la información requerida para diseñar la interfaz.

3. Diseño de la Arquitectura

El diseño de la arquitectura define la relación entre los elementos principales de


la estructura del software, los estilos y patrones de diseño de la arquitectura que
pueden usarse para alcanzar.

Sin lugar a dudas el tema del diseño es sumamente extenso por lo que
ahondaremos sobre el mismo más adelante.
Cuadro comparativo.

PATRONES GRASP PRINCIPIOS SOLID

Experto SRP: PRINCIPIO DE RESPONSABILIDAD ÚNICA


Creador OCP: PRINCIPIO ABIERTO - CERRADO
Alta Cohesión LSP: PRINCIPIO DE SUSTITUCIÓN DE LISKOV
ISP: PRINCIPIO DE SEGREGACIÓN DE
Bajo acoplamiento INTERFACES
Controlador DSI: PRINCIPIO INVERSIÓN DE INDEPENDENCIA
Poliformismo
Fabricación pura
Indirección
Variaciones
protegidas
PRINCIPIOS DE DISEÑO DE SOFWARE
Single Open/Closed Liskov Interface Dependency
Responsibility Substitution Segregation Inversion.
(Responsabilidad Única). (Abierto/Cerrado). (Sustitución de (Segregación de El principio de
Una entidad de software Una entidad de Liskov). El interfaces). Los Inversión de
debería tener una sola software (este principio de clientes (las Dependencias
responsabilidad, esto principio está sustitución de entidades de establece que los
también se puede dirigido a las Liskov habla de software) que módulos de alto
interpretar como “tener clases), debería interfaces: si una usan una entidad nivel, es decir,
una y sólo una razón para estar abierto a entidad de de software (una los más cercanos
cambiar”. En pocas extensión (crecer software usa una clase, a las ideas
palabras, tu sus clase, este debe originalmente), humanas de lo
componente/función/clase funcionalidades ser capaz de usar no deberían que debe hacer
debería hacer muy bien con otras clases derivadas estar obligados a el software, no
una sola cosa. entidades de esta. Esto es depender de deben depender
externas) pero muy parecido a métodos que no de los de bajo
cerrado a la programación usan. Para nivel (los más
modificación. por contrato, en resolver esto, cercanos a la
el que se interfaces de implementación
establecen las gran tamaño se de los detalles
interfaces antes deben segregar, para la
de la es decir, romper, computadora).
implementación. en otras más Ambos deberían
pequeñas. depender de las
abstracciones del
problema
(interfaces).
Además, los
detalles de
implementación
deben depender
de las
abstracciones
también. Se
llama así porque
en general la
gente lo piensa
al revés.
Bibliografía

http://www.javier8a.com/itc/bd1/ld-
Ingenieria.de.software.enfoque.practico.7ed.Pressman.PDF

https://www.genbeta.com/desarrollo/doce-principios-de-diseno-que-todo-
desarrollador-deberia-conocer

https://es.calameo.com/read/000409775b2733e206ae1

También podría gustarte