Tipos de Datos Abstractos Modularidad

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

MODELOS ORIENTADOS A OBJETOS
Fundamentos de Diseño de Software INFT.1
Lenguaje Unificado de Modelado
Abstracción de Datos Funciones.
Estructura de un Sistema Operativo
Arquitectura CLARO-TECNOTREE
Introducción a la programación orientada a aspectos.
Framework Hexápodo PHP fácil, rápido y sin dolor
Tipo de Dato Abstracto Tipos de datos:
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Estructuras en Sistemas Operativos
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Tema 2 Tipos abstractos de datos.
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Administración de Procesos de Pruebas
Encapsulamiento y Abstracción
INTERFAZ DE ACCES DISEÑO DE BASE DE DATOS
METODOLOGIA DE LA PROGRAMACION
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
Fundamentos de Programación
Laura Patricia Pinto Prieto Ingeniera de sistemas.
FORMULACIÓN DE ALGORITMOS
Semana 5 Subprogramas..
Diseño del Software Diseño de datos Diseño arquitectónico
La Implementación de los Programas públicos. Contenidos de la sesión  Cuando los programas no marchan: identificando problemas y rutas de acción  Comprendiendo.
Viviana Poblete López Módulo: Modelo de Datos
Programación Orientada a Aspectos (POA)
ANDRES FELIPE BORRERO SALAZAR COD ALEXANDRA CARREÑO SALAS COD LUCIO ANIBAL CRIOLLO COD ALEJANDRO RUIZ IDROBO COD
1.1 Concepto y terminología
DISEÑO DE SOFTWARE 1ª. Parte
PROGRAMACIÓN PROCEDIMENTAL
Tecnólogo en Informática Estructura de Datos y Algoritmos.
Comunicación y Multimedia
Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay Sesión 2.
CONCEPTOS BÁSICOS Diseño de Sistemas.
LENGUAJES DE PROGRAMACIÓN
SICSTRA Sistema de Información para el control de solicitudes de tramites jurídicos Ministerio de Justicia y Seguridad Pública.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Metodología para la construcción de programas
Programación orientada a objetos. La programación orientada a objetos es un conjunto de normas, que se basan en la idea de construir un software de forma.
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Explica con tus propias palabras
Facultad de Ingeniería
Programación Orientada a Objeto
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
Diseño Arquitectonico
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Computación I (CI-2125) Clase 2 Prof. Mireya Morales.
1.4 CLASIFICACION DE LA TECNOLOGIA EN EL DESARROLLO DEL SOFTWARE
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Actividades en el Proceso de desarrollo de Software
Introducción a los TADs
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
FUNDAMENTOS DE PROGRAMACION
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Uso de Procedimiento y Funciones Conceptos básicos.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
DISEÑO DE COMPONENTES Y DESARROLLO BASADO EN COMPONENTES
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
Fundamentos de Ingeniería de Software
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Herencias Conceptos básicos i
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Profesor: Jesús Chaparro Bachilleres: Perez, emibeliz Prada, Rainer Villahermosa, José Abril 2014.
Transcripción de la presentación:

Tipos de Datos Abstractos Modularidad Estructuras de Datos Tipos de Datos Abstractos Modularidad

Modularidad Módulo: La modularidad consiste Cada una de las unidades claramente definidas y manejables constituyentes del software. La modularidad consiste En el particionamiento del software en elementos con nombres y direcciones separadas que se denominan módulos, Los cuales en su composición generan una totalidad que debe ser capaz de resolver el problema que da origen a la necesidad de construir un producto de software. Tiene que ver con la división de las funciones que en conjunto cumplen un objetivo mayor, esto es, responden a la idea de totalidades emergentes propia de la noción de sistemas.

Modularidad Agrupar en módulos los procedimientos con una funcionalidad común Cada módulo puede contener sus propios datos Ámbito de las variables

Modularidad Modulo: unidad elemental para desarrollar aplicaciones Funcionales: subprogramas Declarativos (datos + funcionalidad): TAD Modularidad: característica del Sw Una aplicación grande se compone de varios módulos Los módulos deben ser independientes En las aplicaciones se integrarán distintos módulos que se comunican entre sí Buen diseño  Separación de módulos

Modularidad Es conveniente separar la especificación del módulo y su implementación Especificación: declaración del conjunto de operaciones que se exportan (interfaz del módulo) Implementación: parte del módulo que recoge la estructura de los datos y la implementación de las operaciones. Queda oculta

¿Por qué modular las aplicaciones? El sistema está compuesto de una serie de módulos independientes comunicados entre sí Composición Modular Descomponer el problema en partes más simples Descomposición Modular Facilitar la comprensión del sistema y de cada una de sus partes Inteligibilidad Las modificaciones debidas a cambios en la especificación afectan a un número reducido de módulos Continuidad Modular Si se produce un error en un módulo, éste sólo afecta a dicho módulo Protección Modular

Beneficios Beneficios de la Modularidad Programas más simples, ya que puede ser comprendido, verificado, programado, depurado, mejorado y alterado por partes. Módulos que pueden ser desarrollados con relativa independencia. Disminución de la posibilidad de errores al reducir la complejidad.

Beneficios Beneficios de la Modularidad Programas que pueden evaluarse por partes, por lo cual todo test se hace más fácil. Programas más fáciles de alterar ya que son menores las líneas de código a considerar para incorporar los cambios. Módulos de función única que pueden ser reutilizados.

Beneficios Beneficios de la Modularidad El programa puede ser comprendido por partes. Disminuye errores de programación. Son menos las líneas de código que deben enfrentar al mismo tiempo los programadores. Los efectos colaterales de los cambios que afectan al sistema son drásticamente reducidos. Rotación de personal menos crítica, ya que los programadores están involucrados en unidades de código más pequeñas por lo cual la sustitución resulta menos dificultosa. Responde al requerimiento de la división del código en segmentos de una página, como lo sugiere la programación estructurada.

Tipos de Módulos Módulos de definición Módulos de servicio Tipos Abstractos de Datos Máquinas Abstractas de Estado

Tipos de Módulos Módulos de Definición Módulos de Servicio Declaración de constantes y variables Se declaran sobre clases abstractas Se declaran como estáticas Definiciones de constantes Módulos de Servicio Ofrecen un servicio Agrupan un conjunto de operaciones Las operaciones de la interfaz se declaran sobre clases no instanciables Las operaciones son declaradas estáticas

Tipos de Módulos Módulos de Abstracción de Datos Representan TADs Se definen el tipo de datos y sus operaciones La implementación se realiza como una clase Máquinas Abstractas de Estado (MAEs) A diferencia de los TADs, las operaciones de una MAE se efectúan sobre un único objeto (la clase), no se pueden generar diferentes objetos del mismo tipo

¿ Dividir hasta el infinito para que el Esfuerzo sea Cero ? MODULARIDAD ¿ Dividir hasta el infinito para que el Esfuerzo sea Cero ? Costos o Esfuerzo Costo Total SW Costo por Integración Costo por Módulo N° Módulos Costos Mínimos