SlideShare una empresa de Scribd logo
1 de 22
REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
EXTENSIÓN MARACAY
Prof.: Ing. Ángel Lugo
Sistemas II
Autor: Jimmy W. Mass V.
C.I: 21.097.249
Maracay 08 de Julio 2021
¿Qué es?
Es la actividad del ciclo de vida del software
en la cual se analizan los requisitos para
producir una descripción de la estructura
interna del software que sirva de base para su
construcción.
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.
Actividades habituales en el diseño de un
Sistema:
• ƒ
El diseño de datos: Se aborda la
organización de la base de datos del
sistema. Es parte del diccionario de datos y
de los diagramas E - R de la especificación
del sistema.
• El diseño arquitectónico: Se abordan
aspectos estructurales y de organización
del sistema y su posible subdivisión en
subsistemas o módulos.
• ƒ
El diseño procedimental: Se abordan la
organización de las operaciones o servicios
que ofrecerá cada uno de los módulos.
El diseño del software es un proceso
mediante el que se traducen los requisitos en
una representación del software, que se
acerca mucho al código fuente.
Desde el punto de vista de la gestión del
proyecto, el diseño del software se realiza en
dos etapas:
Diseño detallado: Se aborda la estructura de
cada uno de los módulos en los que quedó
subdividido el sistema global.
El diseño preliminar: Se centra en la
transformación de los requisitos en los datos y
la arquitectura del software.
La calidad del diseño se evalúa mediante
una serie de revisiones técnicas formales
(RTF) que son una actividad de garantía del
software cuyos objetivos son:
1. Descubrir los errores en la función, la
lógica o la implementación de cualquier
representación del software.
2. Verificar que el software alcanza sus
requisitos.
3. Garantizar que el software se ha
representado según los estándares
establecidos.
4. Conseguir un software desarrollado de
forma uniforme.
5. Hacer que los proyectos sean manejables.
A continuación, se listan una serie de criterios
para determinar la calidad del software.
1. Un diseño debe tener una organización
jerárquica.
2. Debe ser modular, es decir, el software
debe estar dividido en elementos que
realicen funciones específicas.
3. Debe tener representaciones distintas y
separadas de los datos y de los
procedimientos.
4. Debe llevar a módulos que exhiban
características funcionales independientes.
5. Debe conducir a interfaces que reduzcan la
complejidad de las conexiones entre los
módulos y el exterior.
6. Debe obtenerse mediante un método que
sea reproducible y que esté dirigido por la
información obtenida durante el análisis de
requerimientos.
Abstracción
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.
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.
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.
Modularidad.
Los primeros pasos que se debe dar al
abordar un diseño es dividir el sistema en sus
correspondientes módulos o partes
claramente diferenciadas.
• 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 objetivo global de un nuevo sistema
software expresado en su especificación se
debe refinar en sucesivos pasos hasta que
todo quede expresado en el lenguaje de
programación del computador. Es decir, a
través del refinamiento pasaremos de la
especificación del SRD al lenguaje de
programación del computador.
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
Arquitectura del Software
La arquitectura de un software es la
descripción de los elementos que lo forman y
de las interrelaciones entre ellos, esta se
refiere a dos características importantes:
• La estructura jerárquica de los módulos del
software.
• La estructura de 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
Solución del Software
Jerarquía de Control
Representa la organización de los módulos
de un programa. Esto no representa aspectos
procedimentales del software, tales como la
secuencia de procesos, la ocurrencia u orden
de las decisiones o la repetición de
operaciones.
Para representar la jerarquía de control lo
mas común es usar un diagrama en forma de
árbol.
Estructura de Datos.
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.
Procedimientos de Software.
El procedimiento del software se centra
sobre los detalles de procesamiento de cada
modulo individual.
El procedimiento debe proporcionar una
especificación precisa del procesamiento,
incluyendo la secuencia de proceso, las
decisiones y repetición de operaciones.
La representación procedimental del
software se realiza por capas.
Ocultamiento de Información.
El principio de ocultamiento de la
información sugiere que los módulos deben
especificarse de forma que la información
(procedimientos y datos) contenida dentro de
un módulo sea inaccesible a otros módulos
que no necesiten tal 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 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.
Su objetivo fundamental para cualquier
notación es resultar precisa, clara y sencilla de
interpretar, evitando ambigüedades.
Según el aspecto del sistema que se trata
de describir tenemos varios tipos:
 Notaciones estructurales.
 Notaciones estáticas.
 Notaciones dinámicas.
 Notaciones hibridas.
Notaciones estructurales:
Estas notaciones sirven para cubrir un primer
nivel del diseño arquitectónico. Se trata de
desglosar y estructurar el sistema en sus
partes fundamentales.
Diagrama de bloques: en la figura a.1 de la
se muestra el diagrama de bloques de un
sistema que está dividido en cuatro bloques y
en el que además se indican las conexiones
que existen entre ellos. En algunos casos
estas conexiones también pueden reflejar una
cierta clasificación o jerarquía de los bloques.
Cajas adosadas: en la figura a.2 se emplean
“cajas adosadas” para delimitar los bloques.
La conexión entre los bloques se pone de
manifiesto cuando entre dos cajas existe una
frontera común.
Figura a.1
Figura a.2
Notaciones estáticas
Se usan para describir características
estáticas del sistema tales como la
organización de la información, sin tener en
cuenta su evolución durante el funcionamiento
del sistema.
• Diccionario de datos: se detalla la
estructura interna de los datos que maneja
el sistema.
• Diagramas Entidad - Relación: permite
definir el modelo de datos, las relaciones
entre los datos y en general la organización
de la información
Notaciones dinámicas
Permiten describir el comportamiento del
sistema durante su funcionamiento.
La especificación de un sistema es una
descripción del comportamiento requerido
desde un punto de vista externo.
Las notaciones que se emplean para el
diseño son las mismas utilizadas en la
especificación.
 Diagrama de flujo de datos
 Diagrama de transición de estados
 Lenguaje de Descripción de Programas
(PDL)
Notaciones hibridas
Estas notaciones tratan de cubrir
simultáneamente aspectos estructurales,
estáticos y dinámicos.
Entre ellas podemos destacar las siguientes:
 La metodología de Jackson.
 Diseño orientado a los datos de Warnier.
 Diseño basado en abstracciones.
 Diseño orientado a objetos.
El resultado de la etapa de diseño se recoge
en un documento que se utilizara como
elemento de partida para las sucesivas etapas
del proyecto y que denominaremos
Documento de Diseño de Software (SDD).
Las normas de la ESA establecen el empleo
de un Documento de Diseño Arquitectónico
(ADD) para describir el sistema en su conjunto
y otro Documento de Diseño Detallado (DDD)
para describir por separado cada uno de los
componentes del sistema.
Diseño de software: conceptos y notaciones

Más contenido relacionado

La actualidad más candente

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
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de SoftwareMario A Moreno Rocha
 
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
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOGuillermo Hernandez Miranda
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradomateraactivo
 
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
 
Fundamentos del diseño y Garantías de Calidad del Software
Fundamentos del diseño y Garantías de Calidad del SoftwareFundamentos del diseño y Garantías de Calidad del Software
Fundamentos del diseño y Garantías de Calidad del SoftwareRichard J. Nuñez
 
Fundamentos del diseno software
Fundamentos del diseno softwareFundamentos del diseno software
Fundamentos del diseno softwareclaudiocaizales
 
presentacion_edisleynissilva
presentacion_edisleynissilvapresentacion_edisleynissilva
presentacion_edisleynissilvaeddysilva18
 
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
 
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
 

La actualidad más candente (19)

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
 
Presentaciondefundamentosdesoftware
PresentaciondefundamentosdesoftwarePresentaciondefundamentosdesoftware
Presentaciondefundamentosdesoftware
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de Software
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
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...
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
 
Proceso de diseño
Proceso de diseñoProceso de diseño
Proceso de diseño
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
introduccion metododologias de analisis y diseño de software
 introduccion metododologias de analisis y diseño de software introduccion metododologias de analisis y diseño de software
introduccion metododologias de analisis y 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
 
Fundamentos del diseño y Garantías de Calidad del Software
Fundamentos del diseño y Garantías de Calidad del SoftwareFundamentos del diseño y Garantías de Calidad del Software
Fundamentos del diseño y Garantías de Calidad del Software
 
Fundamentos del diseno software
Fundamentos del diseno softwareFundamentos del diseno software
Fundamentos del diseno software
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
presentacion_edisleynissilva
presentacion_edisleynissilvapresentacion_edisleynissilva
presentacion_edisleynissilva
 
Guillermo cárdenas
Guillermo cárdenasGuillermo cárdenas
Guillermo cárdenas
 
Ingenieria en Software
Ingenieria en SoftwareIngenieria en Software
Ingenieria en 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
 
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
 

Similar a Diseño de software: conceptos y notaciones

Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del softwaremrquaife
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del softwaregenesisptc_
 
Diseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanDiseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanJonathan Bastidas
 
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
 
Fundamentos para el diseno de software
Fundamentos para el diseno de softwareFundamentos para el diseno de software
Fundamentos para el diseno de softwareMaraPierua
 
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
 
Proyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteProyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteCAMILO
 
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
 
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 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 26776116AlejandroCoronado26
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSValentina
 
Presentación Diseño de Software Gabriel Augusto Peña Antonetti CI 27687011
Presentación Diseño de Software Gabriel Augusto Peña Antonetti CI 27687011Presentación Diseño de Software Gabriel Augusto Peña Antonetti CI 27687011
Presentación Diseño de Software Gabriel Augusto Peña Antonetti CI 27687011gabrielpea60
 
Apuntes ing-sof-unidad-4-1-2015
Apuntes ing-sof-unidad-4-1-2015Apuntes ing-sof-unidad-4-1-2015
Apuntes ing-sof-unidad-4-1-2015Lucero Mtz
 
presentacion hebelyn
presentacion hebelynpresentacion hebelyn
presentacion hebelynHebelynBravo
 
Ra semana 13 2
Ra semana 13 2Ra semana 13 2
Ra semana 13 2victdiazm
 
Diseno de software_-_gabriel_gonzalez
Diseno de software_-_gabriel_gonzalezDiseno de software_-_gabriel_gonzalez
Diseno de software_-_gabriel_gonzalezGabrielGonzalez463
 

Similar a Diseño de software: conceptos y notaciones (20)

Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del software
 
Diseno de Software y DOO
Diseno de Software y DOODiseno de Software y DOO
Diseno de Software y DOO
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del software
 
Diseno
DisenoDiseno
Diseno
 
Diseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanDiseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizan
 
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
 
Fundamentos para el diseno de software
Fundamentos para el diseno de softwareFundamentos para el diseno de software
Fundamentos para el diseno 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...
 
Proyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteProyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de Coste
 
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
 
Clase 2
Clase 2Clase 2
Clase 2
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de Software
 
Presentacion
PresentacionPresentacion
Presentacion
 
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
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
 
Presentación Diseño de Software Gabriel Augusto Peña Antonetti CI 27687011
Presentación Diseño de Software Gabriel Augusto Peña Antonetti CI 27687011Presentación Diseño de Software Gabriel Augusto Peña Antonetti CI 27687011
Presentación Diseño de Software Gabriel Augusto Peña Antonetti CI 27687011
 
Apuntes ing-sof-unidad-4-1-2015
Apuntes ing-sof-unidad-4-1-2015Apuntes ing-sof-unidad-4-1-2015
Apuntes ing-sof-unidad-4-1-2015
 
presentacion hebelyn
presentacion hebelynpresentacion hebelyn
presentacion hebelyn
 
Ra semana 13 2
Ra semana 13 2Ra semana 13 2
Ra semana 13 2
 
Diseno de software_-_gabriel_gonzalez
Diseno de software_-_gabriel_gonzalezDiseno de software_-_gabriel_gonzalez
Diseno de software_-_gabriel_gonzalez
 

Último

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 

Último (20)

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 

Diseño de software: conceptos y notaciones

  • 1. REPÚBLICA BOLIVARIANA DE VENEZUELA INSTITUTO UNIVERSITARIO POLITÉCNICO “SANTIAGO MARIÑO” EXTENSIÓN MARACAY Prof.: Ing. Ángel Lugo Sistemas II Autor: Jimmy W. Mass V. C.I: 21.097.249 Maracay 08 de Julio 2021
  • 2. ¿Qué es? Es la actividad del ciclo de vida del software en la cual se analizan los requisitos para producir una descripción de la estructura interna del software que sirva de base para su construcción. 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.
  • 3. Actividades habituales en el diseño de un Sistema: • ƒ El diseño de datos: Se aborda la organización de la base de datos del sistema. Es parte del diccionario de datos y de los diagramas E - R de la especificación del sistema. • El diseño arquitectónico: Se abordan aspectos estructurales y de organización del sistema y su posible subdivisión en subsistemas o módulos. • ƒ El diseño procedimental: Se abordan la organización de las operaciones o servicios que ofrecerá cada uno de los módulos.
  • 4. El diseño del software es un proceso mediante el que se traducen los requisitos en una representación del software, que se acerca mucho al código fuente. Desde el punto de vista de la gestión del proyecto, el diseño del software se realiza en dos etapas: Diseño detallado: Se aborda la estructura de cada uno de los módulos en los que quedó subdividido el sistema global. El diseño preliminar: Se centra en la transformación de los requisitos en los datos y la arquitectura del software.
  • 5. La calidad del diseño se evalúa mediante una serie de revisiones técnicas formales (RTF) que son una actividad de garantía del software cuyos objetivos son: 1. Descubrir los errores en la función, la lógica o la implementación de cualquier representación del software. 2. Verificar que el software alcanza sus requisitos. 3. Garantizar que el software se ha representado según los estándares establecidos. 4. Conseguir un software desarrollado de forma uniforme. 5. Hacer que los proyectos sean manejables.
  • 6. A continuación, se listan una serie de criterios para determinar la calidad del software. 1. Un diseño debe tener una organización jerárquica. 2. Debe ser modular, es decir, el software debe estar dividido en elementos que realicen funciones específicas. 3. Debe tener representaciones distintas y separadas de los datos y de los procedimientos. 4. Debe llevar a módulos que exhiban características funcionales independientes. 5. Debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los módulos y el exterior. 6. Debe obtenerse mediante un método que sea reproducible y que esté dirigido por la información obtenida durante el análisis de requerimientos.
  • 7. Abstracción 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.
  • 8. 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. 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.
  • 9. Modularidad. Los primeros pasos que se debe dar al abordar un diseño es dividir el sistema en sus correspondientes módulos o partes claramente diferenciadas. • 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.
  • 10. Refinamiento. El objetivo global de un nuevo sistema software expresado en su especificación se debe refinar en sucesivos pasos hasta que todo quede expresado en el lenguaje de programación del computador. Es decir, a través del refinamiento pasaremos de la especificación del SRD al lenguaje de programación del computador. 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
  • 11. Arquitectura del Software La arquitectura de un software es la descripción de los elementos que lo forman y de las interrelaciones entre ellos, esta se refiere a dos características importantes: • La estructura jerárquica de los módulos del software. • La estructura de 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 Solución del Software
  • 12. Jerarquía de Control Representa la organización de los módulos de un programa. Esto no representa aspectos procedimentales del software, tales como la secuencia de procesos, la ocurrencia u orden de las decisiones o la repetición de operaciones. Para representar la jerarquía de control lo mas común es usar un diagrama en forma de árbol.
  • 13. Estructura de Datos. 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.
  • 14. Procedimientos de Software. El procedimiento del software se centra sobre los detalles de procesamiento de cada modulo individual. El procedimiento debe proporcionar una especificación precisa del procesamiento, incluyendo la secuencia de proceso, las decisiones y repetición de operaciones. La representación procedimental del software se realiza por capas.
  • 15. Ocultamiento de Información. El principio de ocultamiento de la información sugiere que los módulos deben especificarse de forma que la información (procedimientos y datos) contenida dentro de un módulo sea inaccesible a otros módulos que no necesiten tal 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 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.
  • 16. Su objetivo fundamental para cualquier notación es resultar precisa, clara y sencilla de interpretar, evitando ambigüedades. Según el aspecto del sistema que se trata de describir tenemos varios tipos:  Notaciones estructurales.  Notaciones estáticas.  Notaciones dinámicas.  Notaciones hibridas.
  • 17. Notaciones estructurales: Estas notaciones sirven para cubrir un primer nivel del diseño arquitectónico. Se trata de desglosar y estructurar el sistema en sus partes fundamentales. Diagrama de bloques: en la figura a.1 de la se muestra el diagrama de bloques de un sistema que está dividido en cuatro bloques y en el que además se indican las conexiones que existen entre ellos. En algunos casos estas conexiones también pueden reflejar una cierta clasificación o jerarquía de los bloques. Cajas adosadas: en la figura a.2 se emplean “cajas adosadas” para delimitar los bloques. La conexión entre los bloques se pone de manifiesto cuando entre dos cajas existe una frontera común. Figura a.1 Figura a.2
  • 18. Notaciones estáticas Se usan para describir características estáticas del sistema tales como la organización de la información, sin tener en cuenta su evolución durante el funcionamiento del sistema. • Diccionario de datos: se detalla la estructura interna de los datos que maneja el sistema. • Diagramas Entidad - Relación: permite definir el modelo de datos, las relaciones entre los datos y en general la organización de la información
  • 19. Notaciones dinámicas Permiten describir el comportamiento del sistema durante su funcionamiento. La especificación de un sistema es una descripción del comportamiento requerido desde un punto de vista externo. Las notaciones que se emplean para el diseño son las mismas utilizadas en la especificación.  Diagrama de flujo de datos  Diagrama de transición de estados  Lenguaje de Descripción de Programas (PDL)
  • 20. Notaciones hibridas Estas notaciones tratan de cubrir simultáneamente aspectos estructurales, estáticos y dinámicos. Entre ellas podemos destacar las siguientes:  La metodología de Jackson.  Diseño orientado a los datos de Warnier.  Diseño basado en abstracciones.  Diseño orientado a objetos.
  • 21. El resultado de la etapa de diseño se recoge en un documento que se utilizara como elemento de partida para las sucesivas etapas del proyecto y que denominaremos Documento de Diseño de Software (SDD). Las normas de la ESA establecen el empleo de un Documento de Diseño Arquitectónico (ADD) para describir el sistema en su conjunto y otro Documento de Diseño Detallado (DDD) para describir por separado cada uno de los componentes del sistema.