SlideShare una empresa de Scribd logo
Realizado por:
José J Caira S
28.325.599
Ing. Sistemas
Se define como el proceso de definición de la arquitectura, componentes, interfaces
y otras características de un sistema o componente que resulta de este proceso.
Juega un papel importante en el desarrollo de software lo cual permite al ingeniero de
software producir varios modelos del sistema o producto de que se va a construir el
mismo que forman una especie de plan de la solución de la aplicación. Estos modelos
pueden evaluarse en relación con su calidad y mejorarse antes de generar código, de
realizar pruebas y de que los usuarios finales se vean involucrados a gran escala. El
diseño es el sitio en el que se establece la calidad del software.
El diseño de software, al igual que los métodos de diseño de todas las ingenierías, cambian
continuamente al aparecer nuevos métodos, mejores análisis y ampliar los conocimientos.
ABSTRACCIÓN
REFINAMIENTO
MODULARIDAD
ARQUITECTURA DEL
SOFTWARE
JERARQUIA DE
CONTROL
ESTRUCTURA DE
DATOS
Cuando se diseña un nuevo sistema software es importante identificar los elementos
significativos de los que consta y abstraer la utilidad específica de cada uno, incluso más allá
del sistema software para el que se está diseñando. Durante el proceso de diseño se debe
aplicar el concepto de abstracción en todos los niveles de diseño.
Cada abstracción tiene 2 niveles:
Especificación (más alto). Describe qué hace la abstracción.
Realización o Implementación (más bajo). Describe como lo hace.
La arquitectura de un programa se desarrolla en niveles sucesivos de refinamiento de los
detalles procedimentales. Se desarrolla una jerarquía descomponiendo una función de forma
sucesiva hasta que se llega a las sentencias del lenguaje de programación.
El proceso de refinamiento se puede dar por concluido cuando todas las acciones y
expresiones quedan refinadas en función de otras acciones o expresiones o bien en función
de las instrucciones básicas del lenguaje empleado.
El software se divide en componentes con nombres y ubicaciones determinados, que se
denominan módulos y que se integran para satisfacer los requisitos. El software monolítico
(es decir, un programa grande compuesto de un solo módulo) no puede ser estudiado
fácilmente, ya que el número de caminos de control, el número de variables y la complejidad
global harían el código prácticamente indescifrable. Las ventajas de su uso pueden ser:
Claridad: siempre es más
fácil entender y manejar
cada una de las partes de un
sistema que tratar de
entenderlo como un todo
compacto.
Reducción de Costos: resulta
más barato desarrollar,
depurar, documentar, probar y
mantener un sistema modular
que otro que no lo es, excepto
si el número de módulos crece
innecesariamente.
Reutilización: si los módulos
se diseñan teniendo en
cuenta otras posibles
aplicaciones resultara
inmediata su reutilización.
Se refiere a la estructuración del sistema que, idealmente, se crea en etapas tempranas
del desarrollo. Esta estructuración representa un diseño de alto nivel del sistema que tiene
dos propósitos primarios: satisfacer los atributos de calidad (desempeño, seguridad,
modificabilidad), y servir como guía en el desarrollo.La arquitectura del software se refiere
a dos características importantes del software
La estructura jerárquica de los módulos del software.
La estructura de los datos.
También se le conoce como estructura del programa, y representa la organización jerárquica de los
módulos de un programa e implica una jerarquía de control. La representación de jerarquía se
suele representar con diagramas de árbol.
Profundidad: Número de
niveles de control.
Anchura: Máximo número
de módulos en un nivel de
control.
Fan-out: Número de
módulos que son
controlados directamente
por otro módulo.
Fan-in: Número de
módulos que controlan
directamente a un módulo.
Visibilidad: Conjunto de
módulos que pueden
invocarse o usar sus
datos por un módulo.
Conectividad: Conjunto de
módulos que son
invocados o usados sus
datos por un módulo.
La estructura de datos es una representación de la lógica que existe entre los elementos individuales
de información. Debido a que la estructura de la información afectará de forma determinante al
diseño procedimental, la estructura de datos es tan importante como la estructura del programa en la
representación de la arquitectura del software. La estructura de datos dicta la organización, los
métodos de acceso, el grado de asociatividad y las alternativas para el tratamiento de la información.
Las estructuras de datos clásicas son los elementos escalares, las listas y los arboles
Muestra las alternativas de organización, métodos de acceso, capacidad de asociación y
procesamiento de la información.

Más contenido relacionado

La actualidad más candente

presentacion_dannaRivero
presentacion_dannaRiveropresentacion_dannaRivero
presentacion_dannaRivero
DannaRivero
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
Andrés Felipe Montoya Ríos
 
Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del software
mrquaife
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
Guillermo Chirinos
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
materaactivo
 
Proceso de desarrollo del software
Proceso de desarrollo del softwareProceso de desarrollo del software
Proceso de desarrollo del software
Josue Meza
 
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
AlejandroCoronado26
 
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
 
Fundamentos Básicos para el Diseño del Software - Sistemas II
Fundamentos Básicos para el Diseño del Software - Sistemas IIFundamentos Básicos para el Diseño del Software - Sistemas II
Fundamentos Básicos para el Diseño del Software - Sistemas II
JimmyWilfredMassVerd
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
Dascorp
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
Isaacnia Majano
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
Juan Pablo Bustos Thames
 
Diseño arquitectonico
Diseño arquitectonicoDiseño arquitectonico
Diseño arquitectonico
Wilson Gomez
 
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
sara272016
 
Diseño arquitectonico
Diseño arquitectonicoDiseño arquitectonico
Diseño arquitectonico
Lucero Quiroz Alcantara
 
Conceptos y principios de diseño
Conceptos y principios de diseñoConceptos y principios de diseño
Conceptos y principios de diseño
Nataly Adelaida
 
Software de sistema
Software de sistemaSoftware de sistema
Software de sistema
Romario Correa Aguirre
 
Software de sistema
Software de sistemaSoftware de sistema
Software de sistema
cindy1230
 
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
zulaymaylin
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
azuajesimon
 

La actualidad más candente (20)

presentacion_dannaRivero
presentacion_dannaRiveropresentacion_dannaRivero
presentacion_dannaRivero
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del software
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Proceso de desarrollo del software
Proceso de desarrollo del softwareProceso de desarrollo del software
Proceso de desarrollo del software
 
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
 
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...
 
Fundamentos Básicos para el Diseño del Software - Sistemas II
Fundamentos Básicos para el Diseño del Software - Sistemas IIFundamentos Básicos para el Diseño del Software - Sistemas II
Fundamentos Básicos para el Diseño del Software - Sistemas II
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Diseño arquitectonico
Diseño arquitectonicoDiseño arquitectonico
Diseño arquitectonico
 
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 arquitectonico
Diseño arquitectonicoDiseño arquitectonico
Diseño arquitectonico
 
Conceptos y principios de diseño
Conceptos y principios de diseñoConceptos y principios de diseño
Conceptos y principios de diseño
 
Software de sistema
Software de sistemaSoftware de sistema
Software de sistema
 
Software de sistema
Software de sistemaSoftware de sistema
Software de sistema
 
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
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 

Similar a Fundamentos Básicos del Diseño de Software

Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
AlessandreMndez
 
Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +
Valentina
 
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
GalderIL057
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del software
genesisptc_
 
Fundamentos, Garantías y Técnicas en el diseño de software
Fundamentos, Garantías y Técnicas en el diseño de softwareFundamentos, Garantías y Técnicas en el diseño de software
Fundamentos, Garantías y Técnicas en el diseño de software
Gerardo Valera
 
Presentacion
PresentacionPresentacion
Presentacion
Gerardo Valera
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
Adrian Adrianza
 
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
ssalzar
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de software
Betania Amundaray
 
Nixon torrealbav
Nixon torrealbavNixon torrealbav
Nixon torrealbav
EVANYELISALVAREZ
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de Software
Maricela Ramirez
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de software
luis javier perez
 
Fundamentos
FundamentosFundamentos
Fundamentos
Monica Naranjo
 
Tema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de CalidadTema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de Calidad
Yenny Salazar
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de Software
Nelson Guanipa
 
Fundamentos basicos del diseño de software
Fundamentos basicos del diseño de softwareFundamentos basicos del diseño de software
Fundamentos basicos del diseño de software
Jesús Molleda
 
Guillermo cárdenas
Guillermo cárdenasGuillermo cárdenas
Guillermo cárdenas
guillermo0711
 
Guillermo cárdenas
Guillermo cárdenasGuillermo cárdenas
Guillermo cárdenas
guillermo0711
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de software
Luis Jesus Curbata
 
Diseno Software
Diseno SoftwareDiseno Software
Diseno Software
alfmuny
 

Similar a Fundamentos Básicos del Diseño de Software (20)

Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
 
Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +
 
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
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del software
 
Fundamentos, Garantías y Técnicas en el diseño de software
Fundamentos, Garantías y Técnicas en el diseño de softwareFundamentos, Garantías y Técnicas en el diseño de software
Fundamentos, Garantías y Técnicas en el diseño de software
 
Presentacion
PresentacionPresentacion
Presentacion
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 
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
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de software
 
Nixon torrealbav
Nixon torrealbavNixon torrealbav
Nixon torrealbav
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de Software
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de software
 
Fundamentos
FundamentosFundamentos
Fundamentos
 
Tema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de CalidadTema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de Calidad
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de Software
 
Fundamentos basicos del diseño de software
Fundamentos basicos del diseño de softwareFundamentos basicos del diseño de software
Fundamentos basicos del diseño de software
 
Guillermo cárdenas
Guillermo cárdenasGuillermo cárdenas
Guillermo cárdenas
 
Guillermo cárdenas
Guillermo cárdenasGuillermo cárdenas
Guillermo cárdenas
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de software
 
Diseno Software
Diseno SoftwareDiseno Software
Diseno Software
 

Último

herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
APLICACIONES EN INTERNET-GOOGLE.20240pdf
APLICACIONES EN INTERNET-GOOGLE.20240pdfAPLICACIONES EN INTERNET-GOOGLE.20240pdf
APLICACIONES EN INTERNET-GOOGLE.20240pdf
jordanovillacorta09
 
DuckDuckGo (Motor de Busqueda) - JRM - APSTI I A
DuckDuckGo (Motor de Busqueda) -  JRM - APSTI I ADuckDuckGo (Motor de Busqueda) -  JRM - APSTI I A
DuckDuckGo (Motor de Busqueda) - JRM - APSTI I A
DarnotOcxalFlorianoP
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Javier Martinez Seco
 
sesión 8 tipos de componentes SMD SOFTWARE
sesión 8 tipos de componentes SMD SOFTWAREsesión 8 tipos de componentes SMD SOFTWARE
sesión 8 tipos de componentes SMD SOFTWARE
YanelyMedalithBM
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (10)

herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
APLICACIONES EN INTERNET-GOOGLE.20240pdf
APLICACIONES EN INTERNET-GOOGLE.20240pdfAPLICACIONES EN INTERNET-GOOGLE.20240pdf
APLICACIONES EN INTERNET-GOOGLE.20240pdf
 
DuckDuckGo (Motor de Busqueda) - JRM - APSTI I A
DuckDuckGo (Motor de Busqueda) -  JRM - APSTI I ADuckDuckGo (Motor de Busqueda) -  JRM - APSTI I A
DuckDuckGo (Motor de Busqueda) - JRM - APSTI I A
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
 
sesión 8 tipos de componentes SMD SOFTWARE
sesión 8 tipos de componentes SMD SOFTWAREsesión 8 tipos de componentes SMD SOFTWARE
sesión 8 tipos de componentes SMD SOFTWARE
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

Fundamentos Básicos del Diseño de Software

  • 1. Realizado por: José J Caira S 28.325.599 Ing. Sistemas
  • 2. Se define como el proceso de definición de la arquitectura, componentes, interfaces y otras características de un sistema o componente que resulta de este proceso. Juega un papel importante en el desarrollo de software lo cual permite al ingeniero de software producir varios modelos del sistema o producto de que se va a construir el mismo que forman una especie de plan de la solución de la aplicación. Estos modelos pueden evaluarse en relación con su calidad y mejorarse antes de generar código, de realizar pruebas y de que los usuarios finales se vean involucrados a gran escala. El diseño es el sitio en el que se establece la calidad del software.
  • 3. El diseño de software, al igual que los métodos de diseño de todas las ingenierías, cambian continuamente al aparecer nuevos métodos, mejores análisis y ampliar los conocimientos. ABSTRACCIÓN REFINAMIENTO MODULARIDAD ARQUITECTURA DEL SOFTWARE JERARQUIA DE CONTROL ESTRUCTURA DE DATOS
  • 4. Cuando se diseña un nuevo sistema software es importante identificar los elementos significativos de los que consta y abstraer la utilidad específica de cada uno, incluso más allá del sistema software para el que se está diseñando. Durante el proceso de diseño se debe aplicar el concepto de abstracción en todos los niveles de diseño. Cada abstracción tiene 2 niveles: Especificación (más alto). Describe qué hace la abstracción. Realización o Implementación (más bajo). Describe como lo hace.
  • 5. La arquitectura de un programa se desarrolla en niveles sucesivos de refinamiento de los detalles procedimentales. Se desarrolla una jerarquía descomponiendo una función de forma sucesiva hasta que se llega a las sentencias del lenguaje de programación. El proceso de refinamiento se puede dar por concluido cuando todas las acciones y expresiones quedan refinadas en función de otras acciones o expresiones o bien en función de las instrucciones básicas del lenguaje empleado.
  • 6. El software se divide en componentes con nombres y ubicaciones determinados, que se denominan módulos y que se integran para satisfacer los requisitos. El software monolítico (es decir, un programa grande compuesto de un solo módulo) no puede ser estudiado fácilmente, ya que el número de caminos de control, el número de variables y la complejidad global harían el código prácticamente indescifrable. Las ventajas de su uso pueden ser: Claridad: siempre es más fácil entender y manejar cada una de las partes de un sistema que tratar de entenderlo como un todo compacto. Reducción de Costos: resulta más barato desarrollar, depurar, documentar, probar y mantener un sistema modular que otro que no lo es, excepto si el número de módulos crece innecesariamente. Reutilización: si los módulos se diseñan teniendo en cuenta otras posibles aplicaciones resultara inmediata su reutilización.
  • 7. Se refiere a la estructuración del sistema que, idealmente, se crea en etapas tempranas del desarrollo. Esta estructuración representa un diseño de alto nivel del sistema que tiene dos propósitos primarios: satisfacer los atributos de calidad (desempeño, seguridad, modificabilidad), y servir como guía en el desarrollo.La arquitectura del software se refiere a dos características importantes del software La estructura jerárquica de los módulos del software. La estructura de los datos.
  • 8. También se le conoce como estructura del programa, y representa la organización jerárquica de los módulos de un programa e implica una jerarquía de control. La representación de jerarquía se suele representar con diagramas de árbol. Profundidad: Número de niveles de control. Anchura: Máximo número de módulos en un nivel de control. Fan-out: Número de módulos que son controlados directamente por otro módulo. Fan-in: Número de módulos que controlan directamente a un módulo. Visibilidad: Conjunto de módulos que pueden invocarse o usar sus datos por un módulo. Conectividad: Conjunto de módulos que son invocados o usados sus datos por un módulo.
  • 9. La estructura de datos es una representación de la lógica que existe entre los elementos individuales de información. Debido a que la estructura de la información afectará de forma determinante al diseño procedimental, la estructura de datos es tan importante como la estructura del programa en la representación de la arquitectura del software. La estructura de datos dicta la organización, los métodos de acceso, el grado de asociatividad y las alternativas para el tratamiento de la información. Las estructuras de datos clásicas son los elementos escalares, las listas y los arboles Muestra las alternativas de organización, métodos de acceso, capacidad de asociación y procesamiento de la información.