SlideShare una empresa de Scribd logo
1 de 8
Diseño de Software
El diseño de Software es un proceso que
transforma los requisitos del usuario de
una manera conveniente, lo que ayuda al
programador a en la codificación e
implementación del software. El diseño
de Software es el primer paso en el
SFDLC(Software Design Life Cycle, en
español ciclo de vida del diseño de
software)
Diseño de niveles o entornos
de Software:
El diseño de Software produce 3
niveles de resultados
Diseño arquitectónico : es la versión
más abstracta del sistema. Identifica el
software como un sistema con distintos
componentes que interactúan entre
ellos. En este momento es cuando los
diseñadores conciben la idea de
posibles soluciones de dominio.
Diseño de alto nivel: se centra en
cómo el sistema junto con todos sus
componentes se puede implementar
en forma de módulos. Reconoce
estructuras modulares de cada sub
sistema y su relación e interacción
entre las mismas.
Diseño detallado: diseña
acuerdos con la parte de
implementación de lo que se ve
como sistema y sus sub sistemas
con los dos tipos de diseño
mencionados con anterioridad.
Modularización:
La Modularización es una técnica para dividir sistemas de Software en
múltiples separados e independientes módulos, los cuales se espera que sean
capaces de llevar a cabo tareas de forma independiente. Estos módulos pueden
funcionar como creaciones básicas para la totalidad del software. Los diseñadores
tienden a diseñar módulos que se pueden ejecutar y/o almacenar por separado y
de manera independiente.
Ventajas de la modularización
El programa se puede clasificar
según los aspectos funcionales
El nivel deseado de abstracción se
puede aplicar al programa
La ejecución simultánea es
posible
Los componentes más pequeños
son más fáciles de mantener
Es apropiado des del punto de
vista de la seguridad
Los componentes con gran cohesión
pueden reutilizarse de nuevo
Concurrencia informática
En Diseño de software, la concurrencia se implementa dividiendo el
software en varias unidades de ejecución independientes, como si fueran
módulos ejecutándolos en paralelo. En otras palabras, la concurrencia aporta
capacidad al software para poder ejecutar más de una parte del código de
forma paralela a a las otras.
Es necesario para programadores y diseñadores poder reconocer
estos módulos, los cuales se pueden crear de forma paralela a la ejecución.
Ejemplo El corrector ortográfico del procesador de textos Word es un
módulo de software, que funciona de forma independiente al
procesador de textos mismo
Cohesión
La Cohesión es una medida que define el grado de interdependencia entre los
elementos que conforman los módulos. A mejor cohesión, mejor diseño de
programa obtenemos.
Cohesión coincidente: puede romper el programa en pequeños
módulos por el bien de la modularización. Como no tiene una
planificación, puede confundir a los programadores. no está
generalmente aceptado
Cohesión lógica: La categorización de manera lógica
en la que los elementos se colocan juntos en un
mismo módulo, se denomina Cohesión lógica.
Cohesión comunicativa: los elementos del módulo se
agrupan juntos, y se ejecutan y funcionan en los
mismos datos de forma secuencial
Cohesión secuencial: los elementos del módulo se
agrupan porque el resultado de un elemento sirve de
entrada a otro y así sucesivamente
Cohesión funcional: Se considera la mejor en cuanto a mayor
grado de cohesión. Los elementos del módulo se agrupan
porque todos ellos contribuyen a conseguir una función única
y bien definida. También se puede reutilizar.
Cohesión temporal: los elementos del módulo se organizan de
manera que se procesan en un momento similar en el tiempo
Cohesión procedimental : los elementos del módulo se
agrupan juntos, y se ejecutan de forma secuencial para poder
llevar a cabo una tarea.
Acoplamiento
El acoplamiento es una medida que define el nivel de
interdependencia entre los módulos del programa. Nos muestra el
nivel en que los módulos interfieren e interactúan entre ellos. A menor
acoplamiento, mejor programa se obtiene.
Acoplamiento de contenido: Cuando un módulo
puede acceder, modificar o consultar directamente el
contenido de otro módulo hablamos de acoplamiento
del nivel de contenido.
Acoplamiento 'stamp‘: Cuando múltiples módulos
comparten la misma estructura de datos y funcionan
en diferentes partes de la misma, hablamos de
acoplamiento 'stamp'.
Acoplamiento de datos- Se da cuando dos módulos
interactúan entre ellos con la finalidad de pasarse
información (como parámetro). Si un módulo pasa
una estructura de datos como parámetro, el módulo
receptor debe usar todos sus componentes.
Acoplamiento común: Cuando múltiples módulos han leído y
escrito el acceso a algún dato global, hablamos de
acoplamiento global o común.
Acoplamiento de Control: Dos módulos se denominan
acoplados de control si uno de ellos decide la función del otro o
cambia su flujo de ejecución.
Verificación del Diseño
El resultado del proceso de diseño de Sofware es diseñar documentación,
pseudocódigos, diagramas lógicos y detallados, diagramas de proceso, y descripción
detallada de todos los requisitos funcionales y no funcionales.
La siguiente fase, la implementación del software, depende de los
resultados mencionados con anterioridad.
En este momento es cuando se necesita verificar los resultados antes de
proceder con la siguiente fase. Cuanto antes de detecte un error mejor, ya que
puede que no se detecte hasta que se realicen las pruebas de software del
producto al final del proceso. Si los resultados de la fase de diseño son anotaciones
formales, sus herramientas asociadas para la verificación deben ser usadas, en caso
contrario se puede usar una revisión del diseño para la verificación y la validación.
En la aproximación de verificación estructurada, los evaluadores pueden detectar
defectos que se han ocasionado por haber omitido algunas condiciones.

Más contenido relacionado

La actualidad más candente

Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoDascorp
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoangelan00
 
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwarePteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwaresara272016
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoMarilugosale
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoazuajesimon
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREadark
 
FUNDAMENTO DEL DISEÑO DE SOFTWARE
FUNDAMENTO DEL DISEÑO DE SOFTWAREFUNDAMENTO DEL DISEÑO DE SOFTWARE
FUNDAMENTO DEL DISEÑO DE SOFTWAREEstebanOrtegon
 
Sistemas informacion Com Doc
Sistemas informacion Com DocSistemas informacion Com Doc
Sistemas informacion Com Docjaimedetrelew
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de softwaresairarcf
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacionzulaymaylin
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesUlises Cruz
 
Fundamentos del diseno de software jesus marcano
Fundamentos del diseno de software   jesus marcanoFundamentos del diseno de software   jesus marcano
Fundamentos del diseno de software jesus marcanoGalderIL057
 
Factores internos
Factores internosFactores internos
Factores internosjuancho9082
 
Programacion
ProgramacionProgramacion
ProgramacionHRS1993
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blancoJeiner Gonzalez Blanco
 
Desarrollo SW Basado en Componentes
Desarrollo SW Basado en ComponentesDesarrollo SW Basado en Componentes
Desarrollo SW Basado en Componentestoryneutral
 

La actualidad más candente (20)

Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwarePteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
 
FUNDAMENTO DEL DISEÑO DE SOFTWARE
FUNDAMENTO DEL DISEÑO DE SOFTWAREFUNDAMENTO DEL DISEÑO DE SOFTWARE
FUNDAMENTO DEL DISEÑO DE SOFTWARE
 
Componentes
ComponentesComponentes
Componentes
 
Programación modular
Programación modularProgramación modular
Programación modular
 
Sistemas informacion Com Doc
Sistemas informacion Com DocSistemas informacion Com Doc
Sistemas informacion Com Doc
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de software
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacion
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Ensayo Jesus Guerrero
Ensayo Jesus GuerreroEnsayo Jesus Guerrero
Ensayo Jesus Guerrero
 
Fundamentos del diseno de software jesus marcano
Fundamentos del diseno de software   jesus marcanoFundamentos del diseno de software   jesus marcano
Fundamentos del diseno de software jesus marcano
 
Factores internos
Factores internosFactores internos
Factores internos
 
Programacion
ProgramacionProgramacion
Programacion
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blanco
 
Desarrollo SW Basado en Componentes
Desarrollo SW Basado en ComponentesDesarrollo SW Basado en Componentes
Desarrollo SW Basado en Componentes
 

Similar a Nixon torrealbav

Diseno Software
Diseno SoftwareDiseno Software
Diseno Softwarealfmuny
 
Fundamentos Básicos del Diseño de Software
Fundamentos Básicos del Diseño de SoftwareFundamentos Básicos del Diseño de Software
Fundamentos Básicos del Diseño de SoftwareJoseCaira2
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño EstructuradoDrago Díaz
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPJuan Belón Pérez
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docxKeiberOrtiz1
 
Fundamentos para el diseño de un software
Fundamentos para el diseño de un softwareFundamentos para el diseño de un software
Fundamentos para el diseño de un softwaressalzar
 
Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Valentina
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructuradoJorge Garcia
 
Fundamentos para el diseno de software
Fundamentos para el diseno de softwareFundamentos para el diseno de software
Fundamentos para el diseno de softwareMaraPierua
 
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPresentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPedroLuces3
 
Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx AlvareL
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoYamnibel
 
fundamentos básicos para el diseño de software.
fundamentos básicos para el diseño de software.fundamentos básicos para el diseño de software.
fundamentos básicos para el diseño de software.nathalyrivasdiaz
 
presentacion_dannaRivero
presentacion_dannaRiveropresentacion_dannaRivero
presentacion_dannaRiveroDannaRivero
 

Similar a Nixon torrealbav (20)

Diseno Software
Diseno SoftwareDiseno Software
Diseno Software
 
Fundamentos
FundamentosFundamentos
Fundamentos
 
Fundamentos Básicos del Diseño de Software
Fundamentos Básicos del Diseño de SoftwareFundamentos Básicos del Diseño de Software
Fundamentos Básicos del Diseño de Software
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHP
 
Diseno de Software y DOO
Diseno de Software y DOODiseno de Software y DOO
Diseno de Software y DOO
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docx
 
Fundamentos para el diseño de un software
Fundamentos para el diseño de un softwareFundamentos para el diseño de un software
Fundamentos para el diseño de un software
 
Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructurado
 
Fundamentos para el diseno de software
Fundamentos para el diseno de softwareFundamentos para el diseno de software
Fundamentos para el diseno de software
 
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPresentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
 
Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Fr amework
Fr ameworkFr amework
Fr amework
 
fundamentos básicos para el diseño de software.
fundamentos básicos para el diseño de software.fundamentos básicos para el diseño de software.
fundamentos básicos para el diseño de software.
 
presentacion_dannaRivero
presentacion_dannaRiveropresentacion_dannaRivero
presentacion_dannaRivero
 

Nixon torrealbav

  • 2. El diseño de Software es un proceso que transforma los requisitos del usuario de una manera conveniente, lo que ayuda al programador a en la codificación e implementación del software. El diseño de Software es el primer paso en el SFDLC(Software Design Life Cycle, en español ciclo de vida del diseño de software)
  • 3. Diseño de niveles o entornos de Software: El diseño de Software produce 3 niveles de resultados Diseño arquitectónico : es la versión más abstracta del sistema. Identifica el software como un sistema con distintos componentes que interactúan entre ellos. En este momento es cuando los diseñadores conciben la idea de posibles soluciones de dominio. Diseño de alto nivel: se centra en cómo el sistema junto con todos sus componentes se puede implementar en forma de módulos. Reconoce estructuras modulares de cada sub sistema y su relación e interacción entre las mismas. Diseño detallado: diseña acuerdos con la parte de implementación de lo que se ve como sistema y sus sub sistemas con los dos tipos de diseño mencionados con anterioridad.
  • 4. Modularización: La Modularización es una técnica para dividir sistemas de Software en múltiples separados e independientes módulos, los cuales se espera que sean capaces de llevar a cabo tareas de forma independiente. Estos módulos pueden funcionar como creaciones básicas para la totalidad del software. Los diseñadores tienden a diseñar módulos que se pueden ejecutar y/o almacenar por separado y de manera independiente. Ventajas de la modularización El programa se puede clasificar según los aspectos funcionales El nivel deseado de abstracción se puede aplicar al programa La ejecución simultánea es posible Los componentes más pequeños son más fáciles de mantener Es apropiado des del punto de vista de la seguridad Los componentes con gran cohesión pueden reutilizarse de nuevo
  • 5. Concurrencia informática En Diseño de software, la concurrencia se implementa dividiendo el software en varias unidades de ejecución independientes, como si fueran módulos ejecutándolos en paralelo. En otras palabras, la concurrencia aporta capacidad al software para poder ejecutar más de una parte del código de forma paralela a a las otras. Es necesario para programadores y diseñadores poder reconocer estos módulos, los cuales se pueden crear de forma paralela a la ejecución. Ejemplo El corrector ortográfico del procesador de textos Word es un módulo de software, que funciona de forma independiente al procesador de textos mismo
  • 6. Cohesión La Cohesión es una medida que define el grado de interdependencia entre los elementos que conforman los módulos. A mejor cohesión, mejor diseño de programa obtenemos. Cohesión coincidente: puede romper el programa en pequeños módulos por el bien de la modularización. Como no tiene una planificación, puede confundir a los programadores. no está generalmente aceptado Cohesión lógica: La categorización de manera lógica en la que los elementos se colocan juntos en un mismo módulo, se denomina Cohesión lógica. Cohesión comunicativa: los elementos del módulo se agrupan juntos, y se ejecutan y funcionan en los mismos datos de forma secuencial Cohesión secuencial: los elementos del módulo se agrupan porque el resultado de un elemento sirve de entrada a otro y así sucesivamente Cohesión funcional: Se considera la mejor en cuanto a mayor grado de cohesión. Los elementos del módulo se agrupan porque todos ellos contribuyen a conseguir una función única y bien definida. También se puede reutilizar. Cohesión temporal: los elementos del módulo se organizan de manera que se procesan en un momento similar en el tiempo Cohesión procedimental : los elementos del módulo se agrupan juntos, y se ejecutan de forma secuencial para poder llevar a cabo una tarea.
  • 7. Acoplamiento El acoplamiento es una medida que define el nivel de interdependencia entre los módulos del programa. Nos muestra el nivel en que los módulos interfieren e interactúan entre ellos. A menor acoplamiento, mejor programa se obtiene. Acoplamiento de contenido: Cuando un módulo puede acceder, modificar o consultar directamente el contenido de otro módulo hablamos de acoplamiento del nivel de contenido. Acoplamiento 'stamp‘: Cuando múltiples módulos comparten la misma estructura de datos y funcionan en diferentes partes de la misma, hablamos de acoplamiento 'stamp'. Acoplamiento de datos- Se da cuando dos módulos interactúan entre ellos con la finalidad de pasarse información (como parámetro). Si un módulo pasa una estructura de datos como parámetro, el módulo receptor debe usar todos sus componentes. Acoplamiento común: Cuando múltiples módulos han leído y escrito el acceso a algún dato global, hablamos de acoplamiento global o común. Acoplamiento de Control: Dos módulos se denominan acoplados de control si uno de ellos decide la función del otro o cambia su flujo de ejecución.
  • 8. Verificación del Diseño El resultado del proceso de diseño de Sofware es diseñar documentación, pseudocódigos, diagramas lógicos y detallados, diagramas de proceso, y descripción detallada de todos los requisitos funcionales y no funcionales. La siguiente fase, la implementación del software, depende de los resultados mencionados con anterioridad. En este momento es cuando se necesita verificar los resultados antes de proceder con la siguiente fase. Cuanto antes de detecte un error mejor, ya que puede que no se detecte hasta que se realicen las pruebas de software del producto al final del proceso. Si los resultados de la fase de diseño son anotaciones formales, sus herramientas asociadas para la verificación deben ser usadas, en caso contrario se puede usar una revisión del diseño para la verificación y la validación. En la aproximación de verificación estructurada, los evaluadores pueden detectar defectos que se han ocasionado por haber omitido algunas condiciones.