You are on page 1of 22

02/04/2014

1
Introducción a la Estructura de Datos
Mg. Robert Ormeño Rojas
Contenido
11
• Introducción a las ED
2
• Clasificación
3
• Tipo Abstracto de datos
4
• Clase vs Objeto
5
• Modelado UML
02/04/2014 2
02/04/2014
2
1. Introducción a las Estructuras de Datos
• La mayor parte de la información útil no se encuentra 
aislada en forma de datos simples, sino de una manera 
organizada y estructurada en componentes un poco más 
complejos. .
– Ejm: Diccionarios, enciclopedias, guías, etc.
• La información estructura facilita el acceso y el manejo de 
los datos.
1. Introducción a las Estructuras de Datos
TIPO DE DATO 
• Está determinado por el conjunto de valores que dicha 
variable puede tomar y el conjunto de operaciones que 
se pueden realizar con variables del mencionado tipo
– Ejm: int, boolean, etc.
ESTRUCTURA DE DATOS
• Es una colección de variables (del mismo tipo o no), 
organizados de una determinada manera.
• Una estructura de datos es una colección de datos 
(normalmente simple) que se caracterizan por su 
organización y las operaciones que se definen en ellos.
02/04/2014
3
1. Introducción a las Estructuras de Datos
• Seleccionar una ED frente a otras al momento de 
programar es una decisión importante, ya que ello influye 
fuertemente en el desempeño del algoritmo que se 
piensa utilizar en la solución de un determinado 
problema.
OBJETIVO:
• No sólo conocer los conceptos de clase, objeto y los tipos 
de EDs que existen sino el modo de aplicar dichos 
conceptos como alternativas en la programación de sus 
soluciones
2. Clasificación y Aplicaciones
Estructuras 
de Datos
ED Dinámicas
ED estáticas
• Boolean
• Char
• Integer
• Real
Simples
Compuestas
• Arrays
• Cadenas
• Registros
• Archivos
Lineales
No ‐ Lineales
• Pila
• Cola
• Listas
• Arboles
• Grafos
02/04/2014
4
3. Tipo Abstracto de Datos (ADT)
• Un ADT queda determinado por el modelo matemático 
que lo sustenta y por un conjunto de operaciones que se 
definen sobre el mencionado modelo.
• Ejm.
Stack o Pila
4. Clase vs Objeto
OBJETO:
• Es un ente real o conceptual que posee características y 
comportamientos propios, únicos e inconfundibles.
• Todos los objetos presentan una identidad, un estado y 
un comportamiento que los hace únicos .
Pinky Computador Serie A‐12345
02/04/2014
5
4. Clase vs Objeto ‐ Objeto
Identidad:
• Cada objeto tiene una identidad única, incluso si su 
estado es idéntico al de otro objeto.
“J. Perret” trabaja en Sura
“J. Perret” trabaja en BCP
“J. Perret” trabaja en 
Paribas
4. Clase vs Objeto ‐ Objeto
Atributos y Operaciones:
• Atributos
– Nombre
– Estatura
– Edad
• Comportamiento:
– Caminar
– Hablar
– Saltar
– Twittear
02/04/2014
6
4. Clase vs Objeto ‐ Objeto
Comportamiento:
• Agrupa las competencias de un objeto.
• Conocido como operación.
• Es consecuencia de un estímulo externo.
– Ejm: Enviar un tuit
Estado:
• Representado por los valores de los atributos.
– Ejm: 
Atributo Nombre, Estado Juan
Atributo Color, Estado Rojo
4. Clase vs Objeto
CLASE:
• Descripción abstracta de un grupo de objetos con 
propiedades similares (atributos), comportamiento 
común (operaciones).
“J. Perret” 
DNI 06754606
Ate
“J. Perret” 
DNI 44653456
San Isidro
“J. Perret” 
DNI 33452389
San Borja
Clase
PERSONA
02/04/2014
7
4. Clase vs Objeto
GUÍA DE ESTILO:
• Usar sustantivo singular.
• Los nombres de la clase deben empezar con mayúsculas.
• No debe usarse el subrayado.
• Los nombre compuestos se ponen juntos. y la primera
letra se escribirá con mayúsculas.
– Ejm:
Alumno, SistemaDePago
5. Modelado UML
Ingeniería de SW
La Ingeniería de SW es el establecimiento 
y uso de principios sólidos de la ingeniería 
para obtener económicamente un SW 
confiable y que funciones de modo 
eficiente en máquinas reales.
Según la IEEE:
Ingeniería de SW es la aplicación de un enfoque sistemático, disciplinario y 
cuantificable al desarrollo, operación y mantenimiento del SW; es decir, la 
aplicación de la ingeniería al SW.
02/04/2014
8
5. Modelado UML – Ciclo de vida del Software
• El término Ciclo de vida del SW describe el desarrollo del SW 
desde su fase inicial hasta la fase final
Especificación 
del Software
Desarrollo del 
Software
Validación del 
Software
Evolución del 
Software
Fuente: Ian Sommerville
5. Modelado UML – Ciclo de vida del Software
PROCESO
Conjunto de actividades mutuamente relacionadas 
o que interactúan, las cuales transforman 
elementos de entrada en resultados. NTP‐ISO/IEC 
12207:2003 Procesos del ciclo de vida del Software
ENTRADA SALIDA PROCESO
El desarrollo de Software es realmente un proceso?
ENTRADA SALIDA PROCESO
02/04/2014
9
5. Modelado UML – Modelos del proceso de Software
Modelos de 
procesos 
genéricos de 
SW
Modelo Cascada
Desarrollo 
Evolutivo
Basado en 
reutilización
Separar en distintas fases de 
especificación y desarrollo
La especificación y el desarrollo 
están intercalados.
Dos tipos: Desarrollo exploratorio 
y prototipos desechables
Desarrollo basado en reutilización 
(componentes)
5. Modelado UML – Modelos del proceso de Software
Definición de 
requerimientos
Diseño del SW y 
del sistema
Implementación 
y prueba de 
unidades
Integración y 
prueba del 
sistema
Operación y 
Mantenimiento
02/04/2014
10
5. Modelado UML – Modelos del proceso de Software
Esbozo de la 
descripción
Especificación
Desarrollo
Validación
Versión inicial
Versiones 
Intermediarias
Versión Final
5. Modelado UML – Modelos del proceso de Software
Definir esbozo de 
requerimientos
Asignar 
requerimientos  a 
los incrementos
Diseñar  la 
arquitectura  del 
sistema
Desarrollar 
incrementos del 
sistema
Validar 
incrementos 
Integrar 
incrementos
Validar 
sistema
Sistema 
Final
02/04/2014
11
5. Modelado UML – Modelos del proceso de Software
Modelos de procesos híbridos
• Los sistemas grandes están hechos usualmente de varios 
sub‐ sistemas.
• No es necesario utilizar el mismo modelo de proceso para 
todos los sub‐sistemas.
• El prototipado  es recomendado cuando existen 
especificaciones de alto riesgo.
• El modelo cascada es utilizado en desarrollo bien 
comprendidos.
5. Modelado UML – Modelos del proceso de Software
Modelos de procesos híbridos
• Para sistemas bien comprendidos utilizar el modelo de 
cascada. La fase de análisis de riesgos es relativamente 
fácil.
• Con requerimientos estables y sistemas de seguridad  
críticos, utilizar modelos formales.
• Con especificaciones incompletas, utilizar el modelo  de 
prototipado.
• Pueden  utilizarse modelos híbridos en distintas partes 
del desarrollo.
02/04/2014
12
5. Modelado UML ‐ Metodologías de desarrollo de SW
Por qué fracasan los proyectos?
• Mala evaluación de objetivos.
• Mala planificación de recursos/ tiempos / costos.
• Participación insuficiente de la dirección.
• Complejidad excesiva.
• Rotación de personal clave.
• Poca calidad del producto.
• Tardía detección de errores.
• Cambios no controlados.
5. Modelado UML ‐ Metodologías de desarrollo de SW
Metodología
Conjunto de métodos que se utilizan para 
desarrollar una actividad con el objetivo 
de formalizarla y optimizarla
Ciclo de 
Vida
Productos
Herramientas
Procedimientos
Roles
Evaluación
02/04/2014
13
5. Modelado UML ‐ Metodologías de desarrollo de SW
Características de una metodología
• Existencia de reglas predefinidas
• Cobertura total del ciclo de desarrollo
• Verificaciones intermedias
• Planificación y control.
• Comunicación efectiva.
• Fácil formación.
• Uso de herramientas case.
• Actividades que mejoran el proceso de desarrollo.
• Soporte al mantenimiento.
5. Modelado UML ‐ Metodologías de desarrollo de SW
Metodologías
Estructuradas
Tradicionales
Ágiles
• MÉRISE (Francia)
• MÉTRICA (España)
• SSADM (Reino Unido)
• RUP
• XP (eXtreme Programming)
• SCRUM
RUP es una guía 
sobre como usar 
efectivamente UML
02/04/2014
14
5. Modelado UML – Fundamentos UML
• UML  está pensado para especificar, visualizar y construir 
los componentes que conforman un sistema de software 
o un modelo de negocios con las más avanzadas 
metodologías y herramientas orientadas a objetos.
• Establecido  como estándar para documentar  el proceso 
de ingeniería de software.
• Combina lo mejor del modelado de procesos, objetos, 
datos y componentes.
• Versión 2.4.1
UML = Unified Modeling Language
5. Modelado UML ‐ Estructura UML
ESTRUCTURA UML
Bloques de 
construcción
Mecanismos 
comunes
Arquitectura
02/04/2014
15
5. Modelado UML ‐ Estructura UML
BLOQUES DE CONSTRUCCIÓN
Elementos Relaciones Diagramas
5. Modelado UML ‐ Estructura UML
ELEMENTOS UML
Estructurales Comportamiento Diagramas Agrupación
• Clases
• Interfaz
• Colaboración
• Casos de Uso
• Clase Activa
• Componente
• Nodo
02/04/2014
16
5. Modelado UML ‐ Estructura UML
CLASES
• La clases es una descripción de un conjunto de objetos 
que comparten los mismos atributos, operaciones y 
relaciones y semántica.
5. Modelado UML ‐ Estructura UML
INTERFAZ
Es una colección de operaciones que especifican un servicio  
de una clase o componente. Por lo tanto, una interfaz 
describe el comportamiento visible externamente de ese 
elemento.
Boundary
02/04/2014
17
5. Modelado UML ‐ Estructura UML
COLABORACIÓN
Define la interacción y es una sociedad de roles y otros 
elementos que colaboran para proporcionar un 
comportamiento cooperativo mayor que la suma de los 
comportamientos de sus elementos.
5. Modelado UML ‐ Estructura UML
CASOS DE USO
Descripción de un conjunto de secuencias de acciones que 
un sistema ejecuta y que produce un resultado observable 
de interés para un actor particular.
Caso de uso1
02/04/2014
18
5. Modelado UML ‐ Estructura UML
CLASE ACTIVA
• Es una clase cuyos objetos tiene uno o más procesos  o 
hilos de ejecución y por lo tanto, pueden dar origen a 
actividades  de control. Una clase activa es igual a una 
clase, excepto que sus objetos representan elementos 
cuyo comportamiento es concurrente con otros 
elementos.
• Gráficamente sólo varía  en el borde más grueso  
alrededor de la clase.
5. Modelado UML ‐ Estructura UML
COMPONENTE
Es una parte física y reemplazable  de un sistema que 
conforma con un conjunto de interfaces y proporciona la 
implementación de dicho conjunto
Component1
02/04/2014
19
5. Modelado UML ‐ Estructura UML
NODO
Es un elemento físico que existe en tiempo de ejecución y 
representa un recurso computacional, que por lo general, 
dispone de algo de memoria y, con frecuencia, capacidad de 
procesamiento. 
Node1
5. Modelado UML ‐ Diagramas
Diagrama de 
Casos de Uso
Diagrama de 
Actividad
Diagrama de 
Máquina de 
Estado
Diagrama de 
Secuencia
Diagrama Visión 
de Interacción
Diagrama de 
Tiempos
Diagrama de 
Comunicación
Diagrama de 
Clases
Diagrama de 
Componentes
Diagrama de 
Paquetes
Diagrama de 
Objetos
Diagrama de 
Despliegue
Diagrama de 
Estructura 
Compuesta
Diagramas de Comportamiento
Diagramas Estructurales
02/04/2014
20
5. Modelado UML ‐ Diagramas
DIAGRAMA DE CASOS DE USO
• Los casos de uso de sistema describen un sistema desde 
el punto de vista del usuario.
Admi nistrador
Operador
Tecni co
Admini strar Di stri tos
Admini strar Equi pos
refri gerantes
Consul tar Equi pos
Refri gerantes
5. Modelado UML ‐ Diagramas
DIAGRAMA DE ACTIVIDADES
• Representa el 
comportamiento interno de 
una operación o de un caso 
de uso, bajo la forma de un 
desarrollo por etapas, 
agrupadas 
secuencialmente..
Al macenar archi v os
en computador l ocal .
Existeerror en
información
almaceanda?
Informar el error a
Especi al i sta Fi nanci ero
Rev i sar Archi v os
Al macenados
Envío de
paquete de
información a
DEPE
Real i zar rev i si ón de pri mer ni v el
de l os Datos General es de l a
Empresa
Comparar Archi v os Di gi tal es v s.
Reportes Físi cos
Comparar archi v o excel
" Inv ersi ones por Regi ón" v s.
" Inv ersi ones Consol i dado"
Archivos listos
para
Consolidación
Inicio Recopilación
de Información
SI
NO
02/04/2014
21
5. Modelado UML ‐ Diagramas
DIAGRAMA DE CLASES
• Representa la estructura estática en términos de clases y 
relaciones.
• Está compuesto por los siguientes elementos:
– Clases
– Relaciones
5. Modelado UML ‐ Diagramas
DIAGRAMA DE SECUENCIA
• Es una representación estructurada  de comportamiento 
como una serie de pasos secuenciales a lo largo del 
tiempo.
• Se usa para representar el flujo de trabajo, el paso de 
mensajes y cómo los elementos en general cooperan a lo 
largo del tiempo para lograr un resultado.
02/04/2014
22
PREGUNTAS ?