Subido por JOAQUIN ENRIQUE HIDALGO COCK

TEO 01 Introduccion Diseno Software

Anuncio
Introducción al
Diseño de Software
▪Diseño de Software
• Ciclo 2023-II
• Hugo R. Cordero
Fundamentos
del Diseño de
Software
▪ Se enfoca en el ¿Cómo?
▪ Trata de solucionar un problema o
implementar una oportunidad por
medio de un software
▪ Especifica la solución desde alto
nivel hasta un nivel detallado.
2
El Diseño de Software dentro
de la Ingeniería de Software
Obtener requerimientos
Necesidad
Especificación
de requisitos
Análisis
Diseñar
Pruebas
Diseño
Sistema de
software
Código
Desarrollo
3
Concepto de Diseño de Software
▪ El diseño de software es el proceso
mediante el cual un agente crea una
especificación de un artefacto de
software destinado a satisfacer los
requerimientos, utilizando un conjunto
de componentes primitivos y sujeto a
restricciones.
Ralph, P. y Wand, Y. (2009)
▪ El diseño de software agrupa el conjunto
de principios, conceptos y prácticas que
llevan al desarrollo de un sistema o
producto de alta calidad. Los principios
de diseño establecen una filosofía. La
práctica del diseño en sí lleva a la
creación de distintas representaciones
del software que sirve como guía para la
construcción.
Roger Pressman (2010)
4
Principio de Diseño:
Bajo Acoplamiento
▪ En Ingeniería de Software es la
interdependencia o grado de
relación entre múltiples
módulos/paquetes/componentes.
▪ Múltiples módulos/paquetes/componentes
que están débilmente acoplados no son
dependientes o muy poco dependen unos
de otros.
▪ Múltiples módulos/paquetes/componentes
que están altamente acoplados dependen
fuertemente unos de otros.
5
Principio de Diseño:
Alta Cohesión
▪ La cohesión se refiere a lo que
el módulo puede hacer
internamente. También se
denomina enlace intramódulo,
ya que mide la fuerza de la
relación de las funcionalidades
dentro de un
módulo/paquete/componente.
▪ Alta Cohesión
▪ La cohesión siempre debe ser alta significa
que un módulo/paquete/componente se
enfoca en lo que debería estar haciendo,
es decir, solo métodos relacionados con la
intención de la clase.
▪ Baja Cohesión
6
Principio de Diseño:
Modularidad
▪ Módulo: cada una de las unidades claramente definidas y
manejables constituyentes del software.
▪ Modularización: es un proceso de dividir el software en múltiples
módulos pequeños, donde cada módulo funciona de forma
independiente.
▪ La principal ventaja de la modularización es que el software es
fácil de entender, se vuelve reutilizable y se puede probar
fácilmente.
7
▪ El sistema se descompone en módulos
funcionales que transforman entradas
de datos en datos de salida.
▪ Los datos de entrada fluyen a través de
las transformaciones hasta que se
convierten en datos de salida.
Descomposición Modular e
Independencia Funcional
▪ Cada módulo debe realizar una función
concreta o un conjunto de funciones
afines.
8
▪ Incrementar la abstracción
▪ No reinventar la rueda
▪ El diseño tendría que ser
rastreable por el modelo de
análisis
Otros Principios de Diseño
▪ El diseño tiene que exhibir
uniformidad e integración
▪ Diseñar para reutilizar
▪ Diseñar pensando en flexibilidad
▪ Diseño debe ser estructurado
para adaptarse al cambio
▪ La calidad del diseño tendría que
ser evaluado cuando se está
creando, no después
9
Contexto del Diseño
de Software
▪ ¿Es viable el diseño propuesto según los
requerimientos iniciales?
▪ ¿De qué depende realizar un mejor diseño?
Contexto del
Diseño de
Software
▪ ¿Considera que fue
diseñado
correctamente el
requerimiento?
▪ ¿Por qué no se llegó a
un mejor resultado en
el producto final?
La importancia del Diseño de
Software
12
▪ Forme sus grupos de trabajo
▪ Seleccione el módulo a
desarrollar
▪ Identifique 5 funcionalidades a
desarrollar.
▪ Discuta al interno del grupo la
tecnología a utilizar.
Llamada a la acción
▪ Seleccione la tecnología para el
proyecto entre todos los
grupos.
▪ Ver el video de Conceptos de
Diseño de Software para una
entrevista
13
Correo electrónico
hcorderos@unmsm.edu.pe
Gracias
X / Threads
@hugorcorderos
14
Descargar