Karina Borgna Julián Dondero Adrián Tamburri On the criteria to be used in decomposing systems into modules David Parnas, Carnegie-Mellon University, 1972.

Slides:



Advertisements
Presentaciones similares
SISC Sistema Inteligente de información al cliente
Advertisements

Gestión de una Fábrica de Software
Fundamentos de Diseño de Software INFT.1
Diseño de Interfaces Humanas
METODO DE ANALISIS DE FALLAS
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Ingeniería en Software
Aplicaciones de la informática en la enseñanza
Diseño orientado al flujo de datos
Planificación de Proyectos Informáticos
Historia La base del C proviene del BCPL (lógica programable en codigo binario), escrito por Martin Richards, y del B escrito por Ken Thompson en 1970.
EDT, Ruta Crítica & Gantt
Introducción a la programación orientada a aspectos.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Presentación del estado del arte
Ingeniería del Software
Modelo de Desarrollo XP
Flujogramas de análisis publicaciones impresas (documento de trabajo, diseño de herramienta capacitación)
Abstracción de los datos y Orientación a Objeto Clase 13.
EL CICLO, FASES Y ETAPAS DE LA INVESTIGACIÓN ACCIÓN
PRESENTADO POR: ANDRÉS ARAQUE, DIEGO GONZALEZ Y LEONARDO OLIVARES.
Medios de Control en las CPA. CORNELIO J. PORRAS C. Miembro 459 CCPN
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Análisis y Diseño de Sistemas
El enfoque del marco lógico eml
UNIDAD 1 NOMBRE DE LA UNIDAD DE TRABAJO

El Proceso de Software es la única manera de desarrollar sistemas de calidad. F. o V. Justifica tu respuesta. Que tiene que ver la globalización.
ESTRUCTURA GENERAL DEL MÉTODO PARA LLEVAR A CABO UNA REORGANIZACIÓN ETAPA 1 Preparación detallada para el primer lanzamiento de iniciativa de cambio. ETAPA.
Diseño de Programas.
Ingeniero de Software. MODELO DE LA Descripción del Proyecto “Software para la Administración de un Foro Conversacional” Escrito de acuerdo a la Norma.
Asignatura Orientación Profesional Año 2009 Integrantes del equipo 1.-Marcelo Villalobos 2.-Danyela Guevara 3.-Juan fuentes 4.-diego Orellana 5.-Adrián.
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
Análisis y diseño detallado de aplicaciones informáticas de gestión
Auditoria de Sistemas.
Metodología para la construcción de programas
FRAMEWORK VS Código fuente
Requerimientos del Puesto
Motivación ELO329: Diseño y programación orientados a objetos Agustín J. González 1s07.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Desarrollo de Proyectos de Innovación Tecnológica Cuatrimestre: 9 Página.
Desarrollo de Software Orientado a Objetos (deficiencias)
Diseño de Sistemas Herramientas para el Diseño de Sistemas.
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
INGENIERIA DE SOFTWARE
Ciclo de vida de un sistema
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Diseño del Software e Ingeniería del Software
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Patrones de diseño Grupo 1 Haeberli, Julián Lara, Guisell
A RQUITECTURA DE SOFTWARE. CLIENTE-SERVIDOR Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor)
GESTIÓN DEL EQUIPO HUMANO DEL PROYECTO
DESARROLLO DE PROYECTOS DE SOFTWARE ACTIVIDAD Y CASOS DE USO BARTOLOME CRUZ CRUZ.
INTRODUCCION Es un elemento fundamental en todo proceso de investigación Viene después del problema, y el investigador la enuncia Esto orienta el proceso.
Ingeniería de Software
Jaqueline Pérez Benítez
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.
TEMA: RESPONSABILIDAD DE ERRORES
PROGRAMACIÓN ORIENTADA OBJETOS PROGRAMACIÓN ESTRUCTURADA
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
DISEÑO DE COMPONENTES Y DESARROLLO BASADO EN COMPONENTES
Proceso de desarrollo de Software
QUÉ ES ITIl? (Information technology infrastucture library)
ANALISIS PROBLEMA Y TOMA DE DECISIONES
ETAPA DE ANÁLISIS Profesora: Msc. Nelwi Báez. Etapas Sistema de Información AnálisisDesarrolloDiseño.
PRESUPUESTO POR PROGRAMA CPN JOSÉ A. GONZÁLEZ Junio 2012.
PROCESO ADMINISTRATIVO
TÉCNICAS DE PRUEBA DEL SOFTWARE
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

Karina Borgna Julián Dondero Adrián Tamburri On the criteria to be used in decomposing systems into modules David Parnas, Carnegie-Mellon University, 1972 Nacido en 1941 en Canadá. Pionero de la ingeniería de software, que desarrolló el concepto de ocultación de información en la programación modular, elemento importante de la programación orientada a objetos en la actualidad. También es conocido por su defensa sobre la “documentación precisa”.

On the criteria to be used in decomposing systems into modules Criterios utilizados en sistemas para la descomposición en módulos – Parnas 1972 ¿Por qué este Paper es tan importante? Se ataca un tema siempre interesante: la modularización de Software, en particular, cómo llevarla a cabo de manera "más eficiente o correcta" (según el autor). Aquí Parnas provee UN criterio posible de modularización que según SU entender puede resultar favorable en la mayoría de los casos. Se da una alternativa a los métodos convencionales de modularización. A partir de esa alternativa, se abre un nuevo campo de estudio, nuevas maneras de pensar el Software que construimos. Es decir, contamos con una nueva herramienta que podremos utilizar o no a nuestro criterio en diversos desarrollos. La diferencia principal entre estos métodos es que en el método convencional, los módulos son considerados como subrutinas del programa. Por el contrario, en el método que propone Parnas, los módulos son asignaciones de responsabilidad.

On the criteria to be used in decomposing systems into modules Criterios utilizados en sistemas para la descomposición en módulos – Parnas 1972 Criterio convencional Input Subrutina_1 Subprograma Subrutina_2 Output Primero identifico subrutinas, subprogramas o funciones que tengo que implementar. Podría hacerse mediante un diagrama de flujo de mi aplicación. Módulo que implementa Subrutina_1 Módulo que implementa el Input Módulo que implementa el output Módulo que implementa Subrutina_2 Módulo que implementa el “Subprograma” Mi programa modularizado convencionalmente.

Criterio que propone Parnas basado en ocultamiento de información Desición de diseño_1 Primero identifico desiciones de diseño importantes y relevantes, o que probablemente cambien. Desición de diseño_2 Desición de diseño_3 Desición de diseño_4 Módulo que implementa y oculta la ddd_1 Mi programa modularizado según criterio de Parnas. Módulo que implementa y oculta la ddd_3 Módulo que implementa y oculta la ddd_4 Módulo que implementa y oculta la ddd_2 ddd = desición de diseño On the criteria to be used in decomposing systems into modules Criterios utilizados en sistemas para la descomposición en módulos – Parnas 1972

Otras consideraciones importantes… (conclusiones?) On the criteria to be used in decomposing systems into modules Criterios utilizados en sistemas para la descomposición en módulos – Parnas 1972 Como consecuencia de la modularización por decisiones de diseño, las rutinas o funciones deberían ser piezas de código susceptibles de habitar distintos módulos. Cada módulo implementa una decisión, luego cuando el diseño sea modificado, ampliado, revisado, etc. sólo el módulo que lo contenga será el modificado. Según Parnas, es más sencillo el entendimiento de la funcionalidad del Software que estamos construyendo si modularizamos por decisiones de diseño. (Subjetivo y dependiente) Cada módulo ocultará a los demás módulos la decisión de diseño que implementa, proveyendo sólo lo mínimo indispensable y necesario. Beneficios esperados de la modularización Menor tiempo de desarrollo: Pueden trabajar distintos grupos por separado en distintos módulos, sin necesitar demasiada comunicación. Flexibilidad: Debería ser posible hacer cambios drásticos a un módulo sin necesidad de cambiar el resto. (no hay dependencia) Comprensible: Debería ser posible conocer el sistema de a un módulo a la vez.