SlideShare una empresa de Scribd logo
1 de 17
FUNDAMENTOS PARA
EL DISEÑO DE SOFTWARE
Presentado por:
Br. María Piñerua
C.I 28.320.983
Ing. de Sistemas
INTRODUCCION
El diseño de Software es imprescindible al momento de llevar a cabo
el desarrollo de software este da acceso al ingeniero de software para
generar 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 puede 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.
DISEÑO DE SOFTWARE
¿Qué es el Diseño?
“Proceso de aplicar distintas
técnicas y principios con el
propósito de definir un
dispositivo, proceso o sistema
con los suficientes detalles
como para permitir
su realización física” (Según
Taylor)
El diseño es la parte central de la ingeniería del
software. Durante el diseño se desarrollan, revisan y
se documentan los refinamientos progresivos de las
estructuras de datos, de la estructura del programa y
de los detalles procedimentales. El diseño da como
resultado representaciones cuya calidad puede ser
evaluada.
El Diseño de software, consiste en definir y
formalizar la estructura del sistema con el
suficiente detalle como para permitir su
realización física.
FUNDAMENTOS PARA EL DISEÑO
DE SOTFWARE
1. ABSTRACCION
2. MODULARIDAD
3. REFINAMIENTO
2. ARQUITECTURA DEL SOFTWARE
3. JERARQUIA DE CONTROL
4. ESTRUCTURA DE DATOS
5. PROCEDIMIENTOS DE SOFTWARE
6. OCULAMIENTO DE INFORMACION
ABSTRACCION
Durante el proceso de diseño se debe
aplicar el concepto de abstracción en todos
los niveles de diseño.
Por ejemplo, para el sistema de control de
acceso del tema anterior tenemos:
En un primer nivel aparecen abstracciones
tales como Tarjeta, Mensajes, Órdenes, etc.
Inicialmente todos ellos son elementos
abstractos y su diseño se puede realizar sin
tener en cuenta al Sistema de Control de
Acceso concreto en el que se utilizaran. Con
esto conseguimos:
 Facilitar los cambios futuros.
 Posibilidad de reutilizarlo en diversos
sistemas.
En un segundo nivel aparecen nuevas
abstracciones como Clave, Control de Puerta,
Comprobar Clave, etc. a los cuales se
aplicaran los mismos criterios.
Abstracción es el proceso o el resultado de la
generalización de la reducción del contenido de la
información de un concepto o un fenómeno observable, por
lo general, con el fin de conservar únicamente la
información que es relevante para un propósito en
particular. Cuando se considera una solución modular a
cualquier problema se pueden exponer muchos grados de
abstracción.
En el diseño de los elementos software se pueden utilizar fundamentalmente tres formas de abstracción:
ABSTRACCIONES
Funcionales:
Sirven para crear
expresiones o acciones
parametrizadas mediante el
empleo de funciones o
procedimientos
Tipos abstractos
Sirven para crear los nuevos tipos de datos que se necesitan para
abordar el diseño del sistema. Por ejemplo, un tipo Tarjeta para
guardar toda la información relacionada con la tarjeta utilizada: clase
de tarjeta, identificador, clave de acceso, datos personales, etc.
Máquinas abstractas
Permiten establecer un
nivel de abstracción
superior a los dos
anteriores y en él se
define de una manera
formal el comportamiento
de una maquina. Un
ejemplo de este tipo de
abstracción seria un
intérprete de SQL para la
gestión de una base de
datos.
MODULARIDAD
Es el atributo particular del software
que permite que un programa sea
manejable de manera intelectual.
Se divide el software en componentes
identificables y tratables por separado,
denominados módulos, que están
integrados para satisfacer los requisitos
del programa.
Esta división permite encargar a
personas diferentes el desarrollo de cada
módulo y que todas ellas puedan trabajar
simultáneamente.
VENTAJAS
 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.
REFINAMIENTO
El refinamiento sucesivo es una primera estrategia de diseño descendente propuesta por Niklaus
Wirth.
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.
La declaración describe la función o
la información conceptualmente, pero no
proporciona información sobre el
funcionamiento interno de la función o
sobre la estructura interna de la
información, sino que se va a realizando
sucesivamente, dando cada vez más
detalles.
ARQUITECTURA DEL SOFTWARE
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
La arquitectura del software se obtiene
mediante un proceso de partición, que relaciona
los problemas del mundo real (definidos en el
análisis de requerimientos) con las soluciones
software para resolver los problemas
software.
PROBLEMA A SER RESUELTO CON SOFTWARE SOLUCION DE SOFTWARE
La arquitectura es el conjunto de decisiones significativas sobre:
 La organización del sistema
 Selección de elementos estructurales y sus interfaces a través de los cuales se constituye el
sistema.
 El Comportamiento, como se especifica las colaboraciones entre esos componentes.
 Composición de los elementos estructurales y de comportamiento en subsistemas
progresivamente más grandes.
 El estilo arquitectónico que guía esta organización: elementos estáticos y dinámicos y sus
interfaces, sus colaboraciones y su composición.
 Estructuras Arquitectónicas y Puntos de Vista.
Durante las diferentes facetas o etapas del software deben ser descritos y documentados.
JERARQUÍA DE CONTROL (ESTRUCTURA DEL PROGRAMA)
 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, aunque también se
pueden utilizar otros tipos de notaciones.
ESTRUCTURA DE UN PROGRAMA
Anchura
Grado de salida
Profundidad
Grado de entrada
 Profundidad: Número de niveles de control
 Anchura: Amplitud global del control
 Grado de salida: Número de módulos que controla un módulo
 Grado de entrada: Número de módulos que controlan a un módulo
 Visibilidad: Conjunto de componentes del programa que pueden ser
invocados por un módulo (Herencia en entornos de POO). Todos los
objetos serían visibles para el módulo
 Conectividad: Conjunto de componentes a los que se invoca
directamente o se utilizan sus datos. (La ejecución de un módulo puede
suponer la ejecución de otro módulo)
ESTRUCTURA DE DATOS
La estructura de datos es una representación de la lógica que existe entre los elementos
individuales de información.. 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.
Para el diseño deberemos
tener en cuenta las
estructuras fundamentales
que son: Registros,
Conjuntos, Formaciones,
Listas, Pilas, Colas, Árboles,
Grafos, Tablas, Ficheros.
PROCEDIMIENTOS DEL SOFTWARE
Procedimiento Dentro De Un
Módulo
El procedimiento debe
proporcionar una especificación
precisa del procesamiento,
incluyendo la secuencia de
sucesos, los puntos concretos
de decisiones, la repetición de
operaciones e incluso la
organización/estructura de los
datos.
Como existe una relación entre
la estructura y el procedimiento,
ya que el procesamiento de un
módulo puede suponer la
llamada a otros módulos. A esto
se le conoce como
representación procedimental
del software por capas
Procedimiento Realizado Por Capas
La estructura del programa define la
jerarquía de control,
independientemente de las
decisiones y secuencias de
procesamiento. El procedimiento del
software se centra en los detalles de
procesamiento de cada módulo
individual
OCULTAMIENTO DE INFORMACIÓN
El uso de ocultamiento de información en el diseño facilitará las
modificaciones, prueba y mantenimiento del software, ya que como la
mayoría de los datos y de los procedimientos están ocultos a otras partes
del software, será menos probable que los errores que se introduzcan
durante la modificación se propaguen a otros módulos del software.
es el principio de segregación de las decisiones de diseño en
un programa de computadora que tienen más probabilidades de cambiar,
protegiendo así otras partes del programa de modificaciones extensas si
se cambia la decisión de diseño. La protección implica proporcionar
una interfaz estable que protege el resto del programa de la
implementación (cuyos detalles es más probable que cambien). Escrito
de otra manera, el ocultamiento de información es la capacidad de evitar
que ciertos aspectos de una clase o componente de software sean
accesibles a sus clientes, utilizando características del lenguaje de
programación (como variables privadas) o una política de exportación
explícita.
DISEÑO ORIENTADO A OBJETOS
El diseño orientado a objetos (DOO) es una fase de
la metodología orientada a objetos para el desarrollo de
software.
Su uso induce a desarrolladores y programadores a pensar
en términos de objetos y responsabilidades, en vez de
procedimientos, cuando planifican el código.
Un objeto agrupa datos encapsulados y procedimientos para
representar una entidad. La "interfaz del objeto", esto es, las
responsabilidades del objeto, también se definen en esta
etapa.
Un programa orientado a objetos se caracteriza por la
interacción de esos objetos.
MANTENIMIENTO DE SOFTWARE
el mantenimiento de software es la modificación de
un producto de software después de la entrega,
para corregir errores, mejorar el rendimiento, u otros
atributos. El mantenimiento del software es una de las
actividades más comunes en la ingeniería de software.
El mantenimiento de software es también una de las
fases en el ciclo de vida de desarrollo de sistemas
(SDLC, sigla en inglés de system development life
cycle), que se aplica al desarrollo de software. La fase
de mantenimiento es la fase que viene después del
despliegue (implementación) del software en el campo.
CONCLUSION
El diseño del Software es esencial para la capacidad del sistema ya que este
puede desempeñar o no el total de requerimientos establecidos. Una falta en la
etapa de diseño puede traer problemas en todo el proyecto y provocar que este
caiga en una espiral de continuos cambios y de rehacer constantemente el
trabajo. A raíz de esto es que se deben realizar diversas pruebas para comprobar
si el Software desarrollado cumple con los estándares de calidad y garantía,
además de establecer una conclusión mas firme y saber si cumplirá con su
objetivo de manera optima o necesitaría mas complementos y desarrollo.

Más contenido relacionado

La actualidad más candente

Metodología Incremental
Metodología IncrementalMetodología Incremental
Metodología Incrementalandreilouis
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructuradowaralivt
 
Metricas del producto para el Software
Metricas del producto para el SoftwareMetricas del producto para el Software
Metricas del producto para el SoftwareWalter Tejerina
 
Ingeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosIngeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosunrated999
 
Comprensión de los Requerimientos
Comprensión de los Requerimientos Comprensión de los Requerimientos
Comprensión de los Requerimientos Mauricio Blandon
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de DatosEnrique Cabello
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de softwareJose Diaz Silva
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010SaraEAlcntaraR
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del softwareaagalvisg
 
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADOAPRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADOsystemprisoners
 
Metodología xp
Metodología xpMetodología xp
Metodología xpPiskamen
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xpgmjuan
 

La actualidad más candente (20)

Metodología Incremental
Metodología IncrementalMetodología Incremental
Metodología Incremental
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructurado
 
Metricas del producto para el Software
Metricas del producto para el SoftwareMetricas del producto para el Software
Metricas del producto para el Software
 
02 rup
02 rup02 rup
02 rup
 
Ingeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosIngeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientos
 
Comprensión de los Requerimientos
Comprensión de los Requerimientos Comprensión de los Requerimientos
Comprensión de los Requerimientos
 
Iso 9126
Iso 9126Iso 9126
Iso 9126
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
 
Modelo Requistos
Modelo RequistosModelo Requistos
Modelo Requistos
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
 
Ingenieria de Requisitos
Ingenieria de RequisitosIngenieria de Requisitos
Ingenieria de Requisitos
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Disciplina de desarrollo rup
Disciplina de desarrollo rupDisciplina de desarrollo rup
Disciplina de desarrollo rup
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADOAPRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
 
Presentación proceso del software
Presentación proceso del softwarePresentación proceso del software
Presentación proceso del software
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 

Similar a Fundamentos diseño software

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
 
Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Valentina
 
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
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del softwaregenesisptc_
 
Riverodanna_presentacion
Riverodanna_presentacionRiverodanna_presentacion
Riverodanna_presentacionDannaRivero
 
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
 
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 softwareGerardo Valera
 
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 estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoDascorp
 
Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del softwaremrquaife
 
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 IIJimmyWilfredMassVerd
 
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
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de SoftwareMaricela Ramirez
 
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 softwareJesús Molleda
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareNelson Guanipa
 
Ingeniería del software
Ingeniería del softwareIngeniería del software
Ingeniería del softwareJoxany Chávez
 

Similar a Fundamentos diseño software (20)

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
 
Diseño, Mantenimiento de Software +
Diseño, Mantenimiento de Software +Diseño, Mantenimiento de Software +
Diseño, Mantenimiento 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.
fundamentos básicos para el diseño de software.
 
presentacion_dannaRivero
presentacion_dannaRiveropresentacion_dannaRivero
presentacion_dannaRivero
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del software
 
Riverodanna_presentacion
Riverodanna_presentacionRiverodanna_presentacion
Riverodanna_presentacion
 
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
 
Presentacion
PresentacionPresentacion
Presentacion
 
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
 
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 estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del software
 
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
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 
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...
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto 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
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de Software
 
Ingeniería del software
Ingeniería del softwareIngeniería del software
Ingeniería del software
 

Último

Arquitectura antigua. Salazar Alejandra.pdf
Arquitectura antigua. Salazar Alejandra.pdfArquitectura antigua. Salazar Alejandra.pdf
Arquitectura antigua. Salazar Alejandra.pdfsalazar1611ale
 
Libro DIBUJO I digital (1).pdf, para estudiantes de nivel basico
Libro DIBUJO I digital  (1).pdf, para estudiantes de nivel basicoLibro DIBUJO I digital  (1).pdf, para estudiantes de nivel basico
Libro DIBUJO I digital (1).pdf, para estudiantes de nivel basicoJOSE645741
 
Arquitectura griega, obras antiguas. pdf
Arquitectura griega, obras antiguas. pdfArquitectura griega, obras antiguas. pdf
Arquitectura griega, obras antiguas. pdfduf110205
 
Afiche Didáctico-Temático de la Modernidad
Afiche Didáctico-Temático de la ModernidadAfiche Didáctico-Temático de la Modernidad
Afiche Didáctico-Temático de la ModernidadDiosymarSuarez
 
presentación de historia; arquitectura renacentista
presentación de historia; arquitectura renacentistapresentación de historia; arquitectura renacentista
presentación de historia; arquitectura renacentista30898575
 
FICHAS PARA LA PRIMERA SEMANA SALOME.doc
FICHAS PARA LA PRIMERA SEMANA SALOME.docFICHAS PARA LA PRIMERA SEMANA SALOME.doc
FICHAS PARA LA PRIMERA SEMANA SALOME.docMerlyBrisetTorneroLu
 
Sesión 02 Buenas practicas de manufactura.pptx
Sesión 02 Buenas practicas de manufactura.pptxSesión 02 Buenas practicas de manufactura.pptx
Sesión 02 Buenas practicas de manufactura.pptxMarcosAlvarezSalinas
 
Medición IRI Diseño de Pavimentos Maestria en Vias Terrestres
Medición IRI Diseño de Pavimentos Maestria en Vias TerrestresMedición IRI Diseño de Pavimentos Maestria en Vias Terrestres
Medición IRI Diseño de Pavimentos Maestria en Vias TerrestresKengYoshiIngaOchoa1
 
PRESENTACION DE LA ARQUITECTURA GRIEGA (EDAD ANTIGUA)
PRESENTACION DE LA ARQUITECTURA GRIEGA (EDAD ANTIGUA)PRESENTACION DE LA ARQUITECTURA GRIEGA (EDAD ANTIGUA)
PRESENTACION DE LA ARQUITECTURA GRIEGA (EDAD ANTIGUA)lemg25102006
 
Calendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfCalendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfAsol7
 
brasilia-150521136-lva1-app6891 (1).pptx
brasilia-150521136-lva1-app6891 (1).pptxbrasilia-150521136-lva1-app6891 (1).pptx
brasilia-150521136-lva1-app6891 (1).pptxErikRamirez67
 
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfLAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfBrbara57940
 
contaminacion del suelo 9.pptx cobntaminacion suelo
contaminacion del suelo 9.pptx cobntaminacion suelocontaminacion del suelo 9.pptx cobntaminacion suelo
contaminacion del suelo 9.pptx cobntaminacion suelomabel perez
 
Clase 8. Caracteristicas de la población.pptx
Clase 8. Caracteristicas de la población.pptxClase 8. Caracteristicas de la población.pptx
Clase 8. Caracteristicas de la población.pptxVanessaPobletePoblet
 
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdfMARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdfitssmalexa
 
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptxDanielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptxaurorialfonzo6
 
Hospital croquis de modulo 3 con leyenda
Hospital croquis de modulo 3 con leyendaHospital croquis de modulo 3 con leyenda
Hospital croquis de modulo 3 con leyendaratc070603hmcmrha7
 
Portafolio de Diseño Gráfico por Giorgio B Huizinga
Portafolio de Diseño Gráfico por Giorgio B HuizingaPortafolio de Diseño Gráfico por Giorgio B Huizinga
Portafolio de Diseño Gráfico por Giorgio B Huizingagbhuizinga2000
 
Plano de diseño de una Planta de tratamiento de aguas PTAP
Plano de diseño de una Planta de tratamiento de aguas  PTAPPlano de diseño de una Planta de tratamiento de aguas  PTAP
Plano de diseño de una Planta de tratamiento de aguas PTAPjuanrincon129309
 
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdfAndada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdfalguien92
 

Último (20)

Arquitectura antigua. Salazar Alejandra.pdf
Arquitectura antigua. Salazar Alejandra.pdfArquitectura antigua. Salazar Alejandra.pdf
Arquitectura antigua. Salazar Alejandra.pdf
 
Libro DIBUJO I digital (1).pdf, para estudiantes de nivel basico
Libro DIBUJO I digital  (1).pdf, para estudiantes de nivel basicoLibro DIBUJO I digital  (1).pdf, para estudiantes de nivel basico
Libro DIBUJO I digital (1).pdf, para estudiantes de nivel basico
 
Arquitectura griega, obras antiguas. pdf
Arquitectura griega, obras antiguas. pdfArquitectura griega, obras antiguas. pdf
Arquitectura griega, obras antiguas. pdf
 
Afiche Didáctico-Temático de la Modernidad
Afiche Didáctico-Temático de la ModernidadAfiche Didáctico-Temático de la Modernidad
Afiche Didáctico-Temático de la Modernidad
 
presentación de historia; arquitectura renacentista
presentación de historia; arquitectura renacentistapresentación de historia; arquitectura renacentista
presentación de historia; arquitectura renacentista
 
FICHAS PARA LA PRIMERA SEMANA SALOME.doc
FICHAS PARA LA PRIMERA SEMANA SALOME.docFICHAS PARA LA PRIMERA SEMANA SALOME.doc
FICHAS PARA LA PRIMERA SEMANA SALOME.doc
 
Sesión 02 Buenas practicas de manufactura.pptx
Sesión 02 Buenas practicas de manufactura.pptxSesión 02 Buenas practicas de manufactura.pptx
Sesión 02 Buenas practicas de manufactura.pptx
 
Medición IRI Diseño de Pavimentos Maestria en Vias Terrestres
Medición IRI Diseño de Pavimentos Maestria en Vias TerrestresMedición IRI Diseño de Pavimentos Maestria en Vias Terrestres
Medición IRI Diseño de Pavimentos Maestria en Vias Terrestres
 
PRESENTACION DE LA ARQUITECTURA GRIEGA (EDAD ANTIGUA)
PRESENTACION DE LA ARQUITECTURA GRIEGA (EDAD ANTIGUA)PRESENTACION DE LA ARQUITECTURA GRIEGA (EDAD ANTIGUA)
PRESENTACION DE LA ARQUITECTURA GRIEGA (EDAD ANTIGUA)
 
Calendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfCalendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdf
 
brasilia-150521136-lva1-app6891 (1).pptx
brasilia-150521136-lva1-app6891 (1).pptxbrasilia-150521136-lva1-app6891 (1).pptx
brasilia-150521136-lva1-app6891 (1).pptx
 
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfLAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
 
contaminacion del suelo 9.pptx cobntaminacion suelo
contaminacion del suelo 9.pptx cobntaminacion suelocontaminacion del suelo 9.pptx cobntaminacion suelo
contaminacion del suelo 9.pptx cobntaminacion suelo
 
Clase 8. Caracteristicas de la población.pptx
Clase 8. Caracteristicas de la población.pptxClase 8. Caracteristicas de la población.pptx
Clase 8. Caracteristicas de la población.pptx
 
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdfMARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
 
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptxDanielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
 
Hospital croquis de modulo 3 con leyenda
Hospital croquis de modulo 3 con leyendaHospital croquis de modulo 3 con leyenda
Hospital croquis de modulo 3 con leyenda
 
Portafolio de Diseño Gráfico por Giorgio B Huizinga
Portafolio de Diseño Gráfico por Giorgio B HuizingaPortafolio de Diseño Gráfico por Giorgio B Huizinga
Portafolio de Diseño Gráfico por Giorgio B Huizinga
 
Plano de diseño de una Planta de tratamiento de aguas PTAP
Plano de diseño de una Planta de tratamiento de aguas  PTAPPlano de diseño de una Planta de tratamiento de aguas  PTAP
Plano de diseño de una Planta de tratamiento de aguas PTAP
 
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdfAndada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
 

Fundamentos diseño software

  • 1. FUNDAMENTOS PARA EL DISEÑO DE SOFTWARE Presentado por: Br. María Piñerua C.I 28.320.983 Ing. de Sistemas
  • 2. INTRODUCCION El diseño de Software es imprescindible al momento de llevar a cabo el desarrollo de software este da acceso al ingeniero de software para generar 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 puede 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. DISEÑO DE SOFTWARE ¿Qué es el Diseño? “Proceso de aplicar distintas técnicas y principios con el propósito de definir un dispositivo, proceso o sistema con los suficientes detalles como para permitir su realización física” (Según Taylor) El diseño es la parte central de la ingeniería del software. Durante el diseño se desarrollan, revisan y se documentan los refinamientos progresivos de las estructuras de datos, de la estructura del programa y de los detalles procedimentales. El diseño da como resultado representaciones cuya calidad puede ser evaluada. El Diseño de software, consiste en definir y formalizar la estructura del sistema con el suficiente detalle como para permitir su realización física.
  • 4. FUNDAMENTOS PARA EL DISEÑO DE SOTFWARE 1. ABSTRACCION 2. MODULARIDAD 3. REFINAMIENTO 2. ARQUITECTURA DEL SOFTWARE 3. JERARQUIA DE CONTROL 4. ESTRUCTURA DE DATOS 5. PROCEDIMIENTOS DE SOFTWARE 6. OCULAMIENTO DE INFORMACION
  • 5. ABSTRACCION Durante el proceso de diseño se debe aplicar el concepto de abstracción en todos los niveles de diseño. Por ejemplo, para el sistema de control de acceso del tema anterior tenemos: En un primer nivel aparecen abstracciones tales como Tarjeta, Mensajes, Órdenes, etc. Inicialmente todos ellos son elementos abstractos y su diseño se puede realizar sin tener en cuenta al Sistema de Control de Acceso concreto en el que se utilizaran. Con esto conseguimos:  Facilitar los cambios futuros.  Posibilidad de reutilizarlo en diversos sistemas. En un segundo nivel aparecen nuevas abstracciones como Clave, Control de Puerta, Comprobar Clave, etc. a los cuales se aplicaran los mismos criterios. Abstracción es el proceso o el resultado de la generalización de la reducción del contenido de la información de un concepto o un fenómeno observable, por lo general, con el fin de conservar únicamente la información que es relevante para un propósito en particular. Cuando se considera una solución modular a cualquier problema se pueden exponer muchos grados de abstracción.
  • 6. En el diseño de los elementos software se pueden utilizar fundamentalmente tres formas de abstracción: ABSTRACCIONES Funcionales: Sirven para crear expresiones o acciones parametrizadas mediante el empleo de funciones o procedimientos Tipos abstractos Sirven para crear los nuevos tipos de datos que se necesitan para abordar el diseño del sistema. Por ejemplo, un tipo Tarjeta para guardar toda la información relacionada con la tarjeta utilizada: clase de tarjeta, identificador, clave de acceso, datos personales, etc. Máquinas abstractas Permiten establecer un nivel de abstracción superior a los dos anteriores y en él se define de una manera formal el comportamiento de una maquina. Un ejemplo de este tipo de abstracción seria un intérprete de SQL para la gestión de una base de datos.
  • 7. MODULARIDAD Es el atributo particular del software que permite que un programa sea manejable de manera intelectual. Se divide el software en componentes identificables y tratables por separado, denominados módulos, que están integrados para satisfacer los requisitos del programa. Esta división permite encargar a personas diferentes el desarrollo de cada módulo y que todas ellas puedan trabajar simultáneamente. VENTAJAS  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.
  • 8. REFINAMIENTO El refinamiento sucesivo es una primera estrategia de diseño descendente propuesta por Niklaus Wirth. 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. La declaración describe la función o la información conceptualmente, pero no proporciona información sobre el funcionamiento interno de la función o sobre la estructura interna de la información, sino que se va a realizando sucesivamente, dando cada vez más detalles.
  • 9. ARQUITECTURA DEL SOFTWARE 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 La arquitectura del software se obtiene mediante un proceso de partición, que relaciona los problemas del mundo real (definidos en el análisis de requerimientos) con las soluciones software para resolver los problemas software. PROBLEMA A SER RESUELTO CON SOFTWARE SOLUCION DE SOFTWARE
  • 10. La arquitectura es el conjunto de decisiones significativas sobre:  La organización del sistema  Selección de elementos estructurales y sus interfaces a través de los cuales se constituye el sistema.  El Comportamiento, como se especifica las colaboraciones entre esos componentes.  Composición de los elementos estructurales y de comportamiento en subsistemas progresivamente más grandes.  El estilo arquitectónico que guía esta organización: elementos estáticos y dinámicos y sus interfaces, sus colaboraciones y su composición.  Estructuras Arquitectónicas y Puntos de Vista. Durante las diferentes facetas o etapas del software deben ser descritos y documentados.
  • 11. JERARQUÍA DE CONTROL (ESTRUCTURA DEL PROGRAMA)  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, aunque también se pueden utilizar otros tipos de notaciones. ESTRUCTURA DE UN PROGRAMA Anchura Grado de salida Profundidad Grado de entrada  Profundidad: Número de niveles de control  Anchura: Amplitud global del control  Grado de salida: Número de módulos que controla un módulo  Grado de entrada: Número de módulos que controlan a un módulo  Visibilidad: Conjunto de componentes del programa que pueden ser invocados por un módulo (Herencia en entornos de POO). Todos los objetos serían visibles para el módulo  Conectividad: Conjunto de componentes a los que se invoca directamente o se utilizan sus datos. (La ejecución de un módulo puede suponer la ejecución de otro módulo)
  • 12. ESTRUCTURA DE DATOS La estructura de datos es una representación de la lógica que existe entre los elementos individuales de información.. 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. Para el diseño deberemos tener en cuenta las estructuras fundamentales que son: Registros, Conjuntos, Formaciones, Listas, Pilas, Colas, Árboles, Grafos, Tablas, Ficheros.
  • 13. PROCEDIMIENTOS DEL SOFTWARE Procedimiento Dentro De Un Módulo El procedimiento debe proporcionar una especificación precisa del procesamiento, incluyendo la secuencia de sucesos, los puntos concretos de decisiones, la repetición de operaciones e incluso la organización/estructura de los datos. Como existe una relación entre la estructura y el procedimiento, ya que el procesamiento de un módulo puede suponer la llamada a otros módulos. A esto se le conoce como representación procedimental del software por capas Procedimiento Realizado Por Capas La estructura del programa define la jerarquía de control, independientemente de las decisiones y secuencias de procesamiento. El procedimiento del software se centra en los detalles de procesamiento de cada módulo individual
  • 14. OCULTAMIENTO DE INFORMACIÓN El uso de ocultamiento de información en el diseño facilitará las modificaciones, prueba y mantenimiento del software, ya que como la mayoría de los datos y de los procedimientos están ocultos a otras partes del software, será menos probable que los errores que se introduzcan durante la modificación se propaguen a otros módulos del software. es el principio de segregación de las decisiones de diseño en un programa de computadora que tienen más probabilidades de cambiar, protegiendo así otras partes del programa de modificaciones extensas si se cambia la decisión de diseño. La protección implica proporcionar una interfaz estable que protege el resto del programa de la implementación (cuyos detalles es más probable que cambien). Escrito de otra manera, el ocultamiento de información es la capacidad de evitar que ciertos aspectos de una clase o componente de software sean accesibles a sus clientes, utilizando características del lenguaje de programación (como variables privadas) o una política de exportación explícita.
  • 15. DISEÑO ORIENTADO A OBJETOS El diseño orientado a objetos (DOO) es una fase de la metodología orientada a objetos para el desarrollo de software. Su uso induce a desarrolladores y programadores a pensar en términos de objetos y responsabilidades, en vez de procedimientos, cuando planifican el código. Un objeto agrupa datos encapsulados y procedimientos para representar una entidad. La "interfaz del objeto", esto es, las responsabilidades del objeto, también se definen en esta etapa. Un programa orientado a objetos se caracteriza por la interacción de esos objetos.
  • 16. MANTENIMIENTO DE SOFTWARE el mantenimiento de software es la modificación de un producto de software después de la entrega, para corregir errores, mejorar el rendimiento, u otros atributos. El mantenimiento del software es una de las actividades más comunes en la ingeniería de software. El mantenimiento de software es también una de las fases en el ciclo de vida de desarrollo de sistemas (SDLC, sigla en inglés de system development life cycle), que se aplica al desarrollo de software. La fase de mantenimiento es la fase que viene después del despliegue (implementación) del software en el campo.
  • 17. CONCLUSION El diseño del Software es esencial para la capacidad del sistema ya que este puede desempeñar o no el total de requerimientos establecidos. Una falta en la etapa de diseño puede traer problemas en todo el proyecto y provocar que este caiga en una espiral de continuos cambios y de rehacer constantemente el trabajo. A raíz de esto es que se deben realizar diversas pruebas para comprobar si el Software desarrollado cumple con los estándares de calidad y garantía, además de establecer una conclusión mas firme y saber si cumplirá con su objetivo de manera optima o necesitaría mas complementos y desarrollo.