Unidades Enfoque Orientado a Competencias
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Unidad 4.- Paradigmas de la ingenieria del software

+12
Esbeyde Yael
anayeli torres jaramillo
angel zapata
angel de jesus s.
Eulises_Echev
blanca ixhel
Erik Lazaro Torres
antonio jimenez corona
Brenditha
reynaldo_angel
Abel Pio
Admin
16 participantes

Página 2 de 2. Precedente  1, 2

Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty RETROALIMENTACION

Mensaje por Abel Pio Sáb Mayo 05, 2012 11:40 pm

pues solo quiero retroalimentar un poco a mi compañero angel de jesus y enunciarle algunas caracteristicas Y ventajas de cada enfoque:


ENFOQUE ESTRUCTURADO:
• Los programas son más fáciles de entender. Un programa estructurado
Puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar
Saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de
Programación.
• Se logra una reducción del esfuerzo en las pruebas. El seguimiento de las
Fallas o depuración (debugging) se facilita debido a la lógica más visible, de
Tal forma que los errores se pueden detectar y corregir más fácilmente.
• Se crean programas más sencillos y más rápidos.
• En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente.
• Un mínimo cambio en el código puede llegar alterar al resto del programa
• Una porción de código en el lenguaje estructurado es difícil que pueda servir en otros proyectos



ENFOQUE ORIENTADO A OBJETOS:
• Fomenta la reutilización y extensión del código.
• Permite crear sistemas más complejos.
• Relacionar el sistema al mundo real.
• Facilita la creación de programas visuales.
• Construcción de prototipos
• Agiliza el desarrollo de software
• Facilita el trabajo en equipo
• Facilita el mantenimiento del software
• Las aplicaciones son más sencillas para los usuarios debido a que los datos innecesarios están ocultos.
• permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
• El elemento clave del enfoque orientado a objetos es la clase.

ABEL PIOQUINTO UBIAS

SALUDOS lol!

Abel Pio

Mensajes : 3
Fecha de inscripción : 30/04/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty RETROALIMENTACION

Mensaje por Eulises_Echev Dom Mayo 06, 2012 9:30 am

Bueno con respecto a la retroalimentación, dejo mis opiniones a mi compañero Jonnifer Vega Banderas.

Solo mencionarle a mi compañero que le faltaron las características del enfoque orientado a objeto y sus ventajas ya que estas son de gran importancia para este enfoque:
Abstracción
Significa extraer las propiedades esenciales de un objeto que lo distinguen de los demás tipos de Objetos y proporciona fronteras conceptuales definidas respecto al punto de vista del observador. Es la capacidad para encapsular y aislar la información de diseño y ejecución.
Encapsulamiento
Es el proceso de almacenar en un mismo compartimiento (una caja negra) los elementos de una Abstracción (toda la información relacionada con un objeto) que constituyen su estructura y su Comportamiento. Esta información permanece oculta tanto para los usuarios como para otros objetos Y puede ser accedida solo mediante la ejecución de los métodos adecuados.
Herencia
Es la propiedad que permite a los objetos construirse a partir de otros objetos.
La clase base contiene todas las características comunes. Las sub-clases contienen las
Características de la clase base más las características particulares de la sub-clase.
Si la sub-clase hereda características de una clase base, se trata de herencia simple.
Si hereda de dos o más clases base, herencia múltiple.
Polimorfismo
Literalmente significa "cualidad de tener más de una forma". En poo, se refiere al hecho que una Misma operación puede tener diferente comportamiento en diferentes objetos. En otras palabras, Diferentes objetos reaccionan al mismo mensaje de modo diferente.

Y algunas ventajas del enfoque orientado a objetos que son las siguientes:
Modelos
La poo permite realizar un modelo de sistema casi independientemente de los requisitos del
Proyecto. La razón es que en la poo la jerarquía la establecen los datos, en cambio en la
Programación estructurada la jerarquía viene definida por los programas.
Este cambio hace que los modelos se establezcan de forma similar al razonamiento humano y, por lo Tanto, resulte más natural.
Modularidad
Un programa es modular si se compone de módulos independientes y robustos. Esto permite la Reutilización y facilita la verificación y depuración de los mismos. En poo, los módulos están Directamente relacionados con los objetos. Los objetos son módulos naturales ya que corresponden A una imagen lógica de la realidad.
Extensibilidad
Durante el desarrollo de sistemas, ocurre la aparición de nuevos requisitos, por eso es deseable Que las herramientas de desarrollo permitan añadirlos sin modificar la estructura básica del Diseño. En poo es posible lograr esto siempre y cuando se hayan definido de forma adecuada la Jerarquía de clases, los atributos y métodos.
Eliminación de redundancia
En el desarrollo de sistemas se desea evitar la definición múltiple de datos y funciones comunes. En poo esto se logra mediante la herencia (evita la definición múltiple de propiedades comunes a Muchos objetos) y el polimorfismo (permite la modificación de métodos heredados). Solo hay que Definir los atributos y los métodos en el antepasado mas lejano que los comparte.
Reutilización
La poo proporciona un marco perfecto para la reutilización de las clases. El encapsulamiento y la Modularidad nos permiten utilizar una y otra vez las mismas clases en aplicaciones distintas. En Efecto, el aislamiento entre distintas clases significa que es posible añadir una nueva clase o Un modulo nuevo (extensibilidad) sin afectar al resto de la aplicación.

EULISES ECHEVERRIA RODRIGUEZ


Eulises_Echev

Mensajes : 3
Fecha de inscripción : 01/05/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Unidad 4.- Paradigmas de la ingenieria del software

Mensaje por Sergio Hernadez Dom Mayo 06, 2012 11:29 am

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.

Enfoque estructurado

Este enfoque surge a partir de la creación de un nuevo concepto de programación de tareas , el de la programación lineal.
Características:
-se caracteriza por que la implementación se hace de manera secuencial, línea por línea y carece de estructuras.

-una característica a manera de desventaja es que no resuelve os problemas de carga computacional, es decir se gasta mucha memoria al cargar un modulo y el lenguaje no siempre permite limpiar los módulos que quedaron obsoletos.

-Otra mas de sus características es que aparecen las estructuras de datos y de repetición como los ciclos: para, mientras, etc.

- la implementación puede llevarse a cabo, ya sea de manera secuencial, o utilizando módulos, proporcionando los mismos beneficios que ofrece e paradigma de programación modular, pero con la ventaja de que se pueden usar estructuras dentro de la impetración, optimizando con ello as líneas de código fuente.

Enfoque orientado a objetos

Características:
-La implementación se hace utilizando un enfoque basado en el mundo utilizando objetos tal y como los usamos en la realidad; Todos los objetos están compuestos de tres cosas:

Interfaz
La Interfaz es el conjunto de métodos, propiedades, eventos y atributos que se declaran como públicos en su alcance y que pueden invocar los programas escritos para usar nuestro objeto.
Implementación
Al código dentro de los métodos se le llama Implementación. Algunas veces también se le llama comportamiento, ya que este código es el que efectivamente logra que el objeto haga un trabajo útil. Es importante entender que las aplicaciones del cliente pueden utilizar nuestro objeto aunque cambiemos la implementación, siempre que no cambiemos la interfaz. Siempre que se mantengan sin cambio nuestro nombre de método, su lista de parámetro y el tipo de datos de devolución, podremos cambiar la implementación totalmente.
Estado
El estado o los datos de un objeto es lo que lo hace diferente de otros objetos de la misma clase. El estado se describe a través de las variables del Miembro o de la Instancia. Las variables del miembro son aquellas declaradas, de tal manera que están disponibles para todo el código dentro de la clase. Por lo general, las variables del miembro son Privadas en su alcance. Algunas veces, se les conoce como variables de la instancia o como atributos. Observe que las propiedades no son variables del Miembro, ya que son un tipo de método que funciona para recuperar y establecer valores.
Ademas también se puede apreciar que exiten las siguientes propiedades:
Abstracción
La abstracción es uno de los medios más importantes, mediante el cual nos enfrentamos con la complejidad inherente al software. La abstracción es la propiedad que permite representar las características esenciales de un objeto, sin preocuparse de las restantes características (no esenciales).
Encapsulamiento
El Encapsulamiento o encapsulación es la propiedad que permite asegurar que el contenido de la información de un objeto está oculta al mundo exterior: el objeto A no conoce lo que hace el objeto B, y viceversa. La encapsulación (también se conoce como ocultación de la información), en esencia, es el proceso de ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales.
Polimorfismo
Es la propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas, según sea el objeto que se referencia en ese momento.

- en este paradigma aparece un mecanismo mas eficiente para la creación de módulos, los módulos ahora se hacen independientes, permitiendo que el modulo sea utilizado por cualquier programa.

- en este enfoque además de ser independientes los módulos también pueden guardar datos y procesos.

- los módulos en este enfoque son llamados clases, a los datos se les conoce como atributos y propiedades y los procesos llamados métodos o funciones miembro.

-las clases o módulos en este enfoque son una especie de plantilla que permite la creación de varios objetos, esta característica frece una gran ventaja sobre el enfoque estructurado ya que ahorra gran cantidad de líneas de código, por que para la creación de un nuevo objeto se utiliza solo una línea y no las muchas líneas contenidas dentro de todo el objeto del enfoque estructurado.

-además podemos decir que este enfoque permite la reutilización de código en sus módulos o componentes de una clase, todo con la finalidad de optimizar el código fuente del software.


2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

Joyanes (2006) “Capitulo 1.- programación orientada a objetos vs programación estructurada C++ y algoritmos”, libro electrónico PDF.

Donal E. Knuth (1968) The art of Computer Programing vol.1. 1ra ed. 1968. 2da Ed. 1997, Addison Wesley. Knuth.
ATT. Compilers Stroustrup (2006) “An incomplete list of C++ compilers” direction:

Arteaga Y. (2012) “Trabajo N. 1 análisis y diseño estructurado vs orientado a objetos”. Geocities inc.

Rangel E. (2008) “Fundamentos de programación en Java”. Apuntes para la asignatura: Fundamentos de programación para las carreras Ing. En sistemas computacionales y Lic. En informática de l instituto tecnológico de Chilpancingo de los bravos, guerrero, México.


[b]3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.


-En la metodología de análisis y diseño estructurado se produce una división entre los dos elementos de un sistema: funciones que llevan a cabo los programas y datos que se almacenan en archivos o bases de datos. Y por otro lado, la orientación al objeto da un enfoque unificador de ambos aspectos, que se unen en los objetos.

-En la metodología de análisis y diseño estructurado de las herramientas que utilizan para el análisis son: Diagramas de flujos de datos, Diccionarios de datos, Diagramas entidad relación, Diagramas de transición de estado, Especificaciones de procesos. En las metodologías orientadas a objetos se emplean distintos modelos que depende de la metodología, entre los principales están Modelo de Estado u Objeto-Estado, entre otros.

Al construir cualquier sistema se pueden hacer evidentes estas diferencia.
Para esto podemos comentar como ejemplo el caso visto en la clase de Fundamentos de investigación; un sistema que permita a un centro geológico calcular distancias entre derrames de petróleo y la costa.
Al realizar el análisis y diseño de este sistema se puede notar que en el enfoque estructurado el análisis se hace partir del enunciado (al igual que el enfoque orientado a objetos) y en la fase se diseño solo se utilizan elementos como el diagrama de flujo de datos (el cual permitirá conocer como se desarrollaran los procesos en el sistema), El diccionario de datos (para conocer el significado de variables utilizadas en el diagrama de flujo), y los modelos entidad relación.
Sin embargo en el enfoque orientado a objetos aparte de utilizar un algunos elementos del enfoque estructurado también utilizamos los conocidos diagramas UML, utilizando diagramas de Clases, Modelo de estados y mas herramientas y diagramas que nos permiten trabajar con objetos tal y como se desempeñarían en el mundo real.

Sergio Hernadez

Mensajes : 9
Fecha de inscripción : 06/05/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty replica a un compañero

Mensaje por Sergio Hernadez Dom Mayo 06, 2012 11:48 am

Replica a Ranferi Guadalupe Rios
Abstracción:
La abstracción es uno de los medios más importantes, mediante el cual nos enfrentamos con la complejidad inherente al software. La abstracción es la propiedad que permite representar las características esenciales de un objeto, sin preocuparse de las restantes características (no esenciales). Abstracción es la técnica de quitarle a una idea o a un objeto todos los acompañamientos innecesarios hasta que los deja en una forma esencial y mínima. Una buena abstracción elimina todos los detalles poco importantes y le permite enfocarse y concentrarse en los detalles importantes.
º Encapsulamiento
El Encapsulamiento o encapsulación es la propiedad que permite asegurar que el contenido de la información de un objeto está oculta al mundo exterior: el objeto A no conoce lo que hace el objeto B, y viceversa. La encapsulación (también se conoce como ocultación de la información), en esencia, es el proceso de ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales.


º Modularidad:
La Modularidad es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.

º Jerarquía
La Jerarquía es una propiedad que permite la ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: estructura de clases (jerarquía “es-un” (is-a): generalización/especialización) y estructura de objetos (jerarquía “parte-de” (part-of): agregación).
º Polimorfismo
La quinta propiedad significativa de los lenguajes de programación orientados a objetos es el polimorfismo. Es la propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas, según sea el objeto que se referencia en ese momento.
Coincido contigo en la manera como describes estas propiedades esenciales en el enfoque orientado a objetos.
Estas propiedades son tan esenciales que según sugiere Grady Booch si alguno de estos elementos no existe se dice que el modelo no es orientado a objetos.
Así que coincido contigo en incluirlas en el enfoque orientado a objetos.
Solo podríamos mencionar algunas definiciones mas y ejemplos para reafirmar la el significado de algunas de estas propiedades y hablar de otras.
Clases: moldes para la creación de objetos, que contienen las características y métodos que estos poseerán.
Ejemplo: perro pertenece a la clase “caninos”.
Atributos: conjunto de características o propiedades.
Métodos: son la forma a la que responden los objetos a los mensajes.
Mensajes: es una petición de un objeto a otro.
Modularidad: es utilizar una y otra vez las clases.
Polimorfismo: diferente reacción a un mismo mensaje.
Ejemplo: mis dos perros no reaccionan de la misma manera al mensaje te voy a bañar.
Herencia: propiedad de construir objetos a partir un objeto con características parecidas y otras propias del nuevo objeto.
Ejemplo: a partir de un solo perro pueden formarse mas perros con las mismas características y otra propias.
Encapsulación: proteger los elementos abstractos de un objeto para que no puedan ser modificados.

Sergio Hernadez

Mensajes : 9
Fecha de inscripción : 06/05/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Respuestas

Mensaje por KarlaY Dom Mayo 06, 2012 2:58 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.



ENFOQUE ESTRUCTURADO
La programación estructurada es una técnica para escribir programas (programación de computadora). Para ello se utilizan únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).
Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones.

CARACTERÍSTICAS


*En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente.

Un mínimo cambio en el código puede llegar alterar al resto del programa.

*Hay de diferentes niveles dependiendo la complejidad del sistema que analiza.






ENFOQUE ORIENTADO A OBJETOS


El análisis orientado a objetos y su diseño se enfoca en los objetos. Los objetos tienen ciertos comportamientos y atributos que determinan la manera en que interactúan y funcionan. No se intenta proporcionar un orden para las acciones al momento del diseño debido a que los objetos funcionan basados en la manera en que funcionan otros objetos. La programación orientada a objetos ayuda a los desarrolladores a crear objetos que reflejan escenarios del mundo real.
Las implementaciones orientadas a objetos ocultan datos, lo cual significa que muestran únicamente los comportamientos a los usuarios y ocultan el código subyacente de un objeto. Los comportamientos que el programador expone son únicamente aquellos elementos que el usuario de un objeto puede afectar.
El enfoque orientado a objetos permite que los objetos estén auto contenidos. Los objetos existen por sí mismos, con una funcionalidad para invocar comportamientos de otros objetos. Al utilizar un enfoque orientado a objetos, los desarrolladores pueden crear aplicaciones que reflejan objetos del mundo real, como rectángulos, elipses y triángulos, además de dinero, números de partes y elementos en un inventario.
En un enfoque orientado a objetos, los objetos, por definición, son modulares en su construcción. Esto quiere decir que son entidades completas y, por lo tanto, tienden a ser altamente reutilizables. Las aplicaciones orientadas a objetos se construyen sobre el paradigma de los mensajes o de los eventos en donde los objetos envían mensajes a otros objetos, como el sistema operativo Microsoft® Windows®.

CARACTERÍSTICAS

Se caracteriza por su determinación y delegación de responsabilidades.

Objetos (dinámicos/tiempo de ejecución) y clases (estáticas/tiempo de compilación).
Los objetos agrupan datos (variables de instancia) y funciones (métodos), realizando de esa forma una ocultación de la información.
Los métodos de los objetos se invocan mediante mensajes.
Dispatch dinámico: cuando una operación es invocada sobre un objeto, el propio objeto determina qué código se ejecuta. Dos objetos con la misma interfaz pueden tener implementaciones distintas.
Herencia: las clases se pueden definir utilizando otras clases como plantillas y modificando sus métodos y/o variables de instancia.



2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado y también, el orientado a objetos.



3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos. Considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.



- La metodología de análisis y diseño estructurado, examinan los sistemas desde el punto de vista de las funciones o tareas que deben realizar, tareas que se van descomponiendo sucesivamente en otras tareas mas pequeñas y que forman los bloques o módulos de las aplicaciones. En la orientación a objeto, por su parte, cobra mucho más importancia el aspecto de "modelado" del sistema, examinando el dominio del problema como un conjunto de objetos que interactúan entre sí.
- En la metodología de análisis y diseño estructurado se produce una división entre los dos elementos de un sistema: funciones que llevan a cabo los programas y datos que se almacenan en archivos o bases de datos. Y por otro lado, la orientación al objeto da un enfoque unificador de ambos aspectos, que se unen en los objetos.
- En la metodología de análisis y diseño estructurado las herramientas que utilizan para el análisis son: Diagramas de Flujos de Datos, Diccionarios de Datos, Diagramas Entidad-Relación, Diagramas de Transición de Estado, Especificaciones de procesos. En las metodologías orientadas a objetos se emplean distintos modelos que depende de la metodología, entre los principales están Modelo de objetos, Modelo de Estado u Objeto-Estado, entre otros.
Ejemplo: Los dos enfoques pueden ser utilizados por los programadores para crear nuevos software dependiendo de las distintas necesidades de las empresas o negocios, o incluso para beneficio propio.

Karla Yesenia Macedonio Aburto

KarlaY
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Paradigmas de la ingenieria de software

Mensaje por AlbertoQ Dom Mayo 06, 2012 4:13 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.

Enfoque estructurado
el programa tiene un diseño modular, los módulos son diseñados descendentemente de manera secuencial, línea por línea, cada módulo de programa se codifica usando tres estructuras de control (secuencia, selección e iteración); es el conjunto de técnicas que han de incorporar: recursos abstractos; diseño descendente y estructuras básicas de control. Descomponer un programa en términos de recursos abstractos consiste en descomponer acciones complejas en términos de acciones más simples capaces de ser ejecutadas en una computadora. El diseño descendente se encarga de resolver un problema realizando una descomposición en otros más sencillos mediante módulos jerárquicos. El resultado de esta jerarquía de módulos es que cada módulo se refina por los de nivel más bajo que resuelven problemas más pequeños y contienen más detalles sobre los mismos. Las estructuras básicas de control sirven para especificar el orden en que se ejecutarán las distintas instrucciones de un algoritmo. Este orden de ejecución determina el flujo de control del programa.
se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a codigo fuente. DFD es un diagrama en el q participan procesos (metodos), flujo de datos (argumentos) y archivos (base de datos).

Algunas características

El programa completo tiene un diseño modular.
• Los módulos se diseñan con metodología descendente (puede hacerse también ascendente).
• Cada módulo se codifica utilizando las tres estructuras de control básicas: secuenciales, selectivas y repetitivas (ausencia total de sentencias ir →a (goto)).
• Estructuración y modularidad son conceptos complementarios (se solapan).
-No permite ejecutar un mismo proceso dos veces

ENFOQUE ORIENTADO A OBJETOS

La programación Orientada a Objetos es una metodología que basa la estructura de los programas en torno a los objetos.
Los lenguajes de POO ofrecen medios y herramientas para describir los objetos manipulados por un programa. Más que describir cada objeto individualmente, estos lenguajes proveen una construcción (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades.
El enfoque de la POO permite modelar un dominio (problema a programar, un simulador de deportes, por ejemplo) de una forma muy cercana a la realidad. Los objetos del programa simulan los objetos (sustantivos) del dominio (por ejemplo, bicicleta, marchas, carretera, etc.). Y los métodos de los objetos permiten modelar perfectamente las acciones (verbos, por ejemplo cambiar de marcha, pedalear, etc.) que pueden realizar.
La idea básica de la programación orientada a objetos se basa en 8 principios, que se muestran para un mejor entendimiento de la metodología:
• Clases: Una clase es una categoría de objetos similares. Los objetos se agrupan en clases.
• Herencia: Las clases pueden tener hijos, esto es, una clase puede ser creada apartir de otra clase. La clase original, o madre, es llamada “clase base”. La clase hija es llamada “clase derivada”. Una clase derivada puede ser creada en forma tal que herede todos los atributos y comportamientos de la clase base.
• Objetos: Un objeto es una representación en una computadora de alguna cosa o evento del mundo real.
• Encapsulación: Típicamente, la información dentro de un objeto esta encapsulada por su comportamiento. Esto significa que un objeto mantiene datos acerca de cosas del mundo real a las que representa en un sentido verdadero.
• Atributo: dato asociado a un objeto.
• Mensajes: Se puede enviar información de un objeto a otro.
• Método: proceso que realiza un objeto cuando recibe un mensaje.
• Polimorfismo: El término polimorfismo se refiere a comportamientos alternos entre clases derivadas relacionadas. Cuando varias clases heredan atributos y comportamientos, pude haber casos en donde el comportamiento de una clase derivada debe ser diferente del de su clase base o de sus clases derivadas parientes.

2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

•wikiteka.com/apuntes/el-enfoque-estructurado/
•mcgraw-hill.es/bcv/guide/capitulo/8448146433.pdf
•ict.udlap.mx/activities/GIS/html/files/ModeladoDeDatos.doc
•dccia.ua.es/dccia/inf/asignaturas/LPP/2008-2009/tema-11.html
•docentes.uni.edu.ni/fec/Giovanni.Saenz/Ingenieria_de_Software/Analisis_y_DisenoOO.pdf
•astreo.ii.uam.es/~jlara/TACCII/4_ADOO.pdf


3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

Enfoque estructurado
1-La metodología de análisis y diseño estructurado, examinan los sistemas desde el punto de vista de las funciones o tareas que deben realizar, tareas que se van descomponiendo sucesivamente en otras tareas más pequeñas y que forman los bloques o módulos de las aplicaciones.
2- En la metodología de análisis y diseño estructurado se produce una división entre los dos elementos de un sistema: funciones que llevan a cabo los programas y datos que se almacenan en archivos o bases de datos.
3- En la metodología de análisis y diseño estructurado las herramientas que utilizan para el análisis son: Diagramas de Flujos de Datos, Diccionarios de Datos, Diagramas Entidad-Relación, Diagramas de Trancisión de Estado, Especificaciones de procesos.

Enfoque orientado a objetos
1-En la orientación a objeto, cobra mucho más importancia el aspecto de "modelado" del sistema, examinando el dominio del problema como un conjunto de objetos que interactúan entre sí.
2- la orientación al objeto da un enfoque unificador de ambos aspectos, que se unen en los objetos.
3- En las metodologías orientadas a objetos se emplean distintos modelos que depende de la metodología, entre los principales están Modelo de objetos, Modelo de Estado u Objeto-Estado, entre otros.


Alberto Quiroz Albarran

AlbertoQ

Mensajes : 18
Fecha de inscripción : 06/05/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Respuestas

Mensaje por ÑAÑEL Dom Mayo 06, 2012 6:49 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.

ENFOQUE ESTRUCTURADO:
La programación estructurada consiste en escribir un programa de acuerdo con unas reglas y un conjunto de técnicas. Las reglas son; el programa tiene un diseño modular, los módulos son diseñados descendientemente, cada modulo de programa se codifica usando tres estructuras de control (secuencia, selección e iteración); la otra regla es descomponer un programa en términos de recursos abstractos, diseño descendente y estructuras básicas de acciones complejas en términos de acciones más simples capaces de ser ejecutadas en una computadora. En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente. DFD es un diagrama en el q participan procesos (métodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema q analiza. Hablando de lenguajes Tiene muchas diferencias con la OO. Un mínimo cambio en el código puede llegar alterar al resto del programa cosa que en uno OO bien encarado eso no sucede lo cual es una ventaja porque así no se pierde tiempo en arreglar cosas ya hechas. Otra desventaja es que una porción de código en lenguaje estructurado es difícil que pueda servir en otros proyectos, esto si es habitual en lenguajes OO, con solo importar clases ya hechas se escribe menos código y se ahorra tiempo.

ENFOQUE ORIENTADO A OBJETOS:
La programación orientada a objetos, intenta simular el mundo real a través del significado de objetos que contiene características y funciones. Los lenguajes orientados a objetos se clasifican como lenguajes de quinta generación.
Como su mismo nombre indica, la programación orientada a objetos se basa en la idea de un objeto, que es una combinación de variables locales y procedimientos llamados métodos que juntos conforman una entidad de programación.
El termino encapsulación se usa para describir la combinación de estructuras de datos y de métodos que son manipulados por el objeto. La llamada a un objeto es lo que se denomina pasar un "aviso" a un objeto.
En la programación orientada a objetos, encapsular significa, reunir y controlar el grupo resultante como un todo y no individualmente. En la programación orientada a objetos la abstracción es un término externo al objeto, que controla la forma en que es visto por los demás. En la programación orientada a objetos la modularidad se considera de la siguiente manera: Un programa grande siempre será más complicado que la suma de varios programas pequeños, con lo que se considera ventajoso dividir un gran sistema en diversos módulos.
En la programación orientada a objetos tenemos la jerarquía, la cual consiste en la clasificación y organización de las abstracciones según su naturaleza. El más claro ejemplo de jerarquía es la herencia.
En la programación orientada a objetos se define la herencia como una jerarquía de extracciones, y la relación entre clases, donde se comparte la estructura y el comportamiento de una o más clase considerada como clases superiores o una superclase, con lo cual se resume que la herencia es una unidad independiente por si misma heredada de una abstracción o superclase. Un ejemplo cotidiano lo encontramos en las aplicaciones que existen actualmente en el mercado, donde un formulario cualquiera hereda las características de Una ventana del sistema operativo Windows (Maximizar, Minimizar, Cerrar).
La programación estructurada es una técnica para escribir programas (programación de computadora). Para ello se utilizan únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).

2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

mitecnologico.com/Main/ElEnfoqueOrientadoAObjetos
mitecnologico.com/Main/ElEnfoqueEstructurado
es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada
es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos#Caracter.C3.ADsticas_de_la_POO
elguille.info/colabora/NET2005/Percynet_Conceptosyprincipiosorientadoaobjetos.htm

3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

EL DISEÑO DE SOFTWARE ES UN PROCESO MEDIANTE EL QUE SE TRADUCEN LOS REQUISITOS EN UNA REPRESENTACIÓN DEL SOFTWARE. INICIALMENTE, LA REPRESENTACIÓN DESCRIBE UNA VISIÓN HOLÍSTICA DEL SOFTWARE. POSTERIORES REFINAMIENTOS CONDUCEN A UNA REPRESENTACIÓN DE DISEÑO QUE SE ACERCA MUCHO AL CÓDIGO FUENTE. EN EL DISEÑO SE REALIZAN DOS PASOS. EL DISEÑO PRELIMINAR SE CENTRA EN LA TRANSFORMACIÓN DE LOS REQUISITOS EN LOS DATOS Y ARQUITECTURA DEL SOFTWARE. EL DISEÑO DETALLADO SE OCUPA DEL REFINAMIENTO DE LA REPRESENTACIÓN ARQUITECTÓNICA QUE LLEVA A UNA ESTRUCTURA DE DATOS DETALLADA Y A LAS REPRESENTACIONES ALGORÍTMICAS DEL SOFTWARE.DENTRO DEL CONTEXTO DE LOS DISEÑOS PRELIMINAR Y DETALLADO, SE LLEVAN A CABO VARIAS ACTIVIDADES DE DISEÑO DIFERENTES. ADEMÁS DEL DISEÑO DE DATOS, DEL DISEÑO ARQUITECTÓNICO Y DEL DISEÑO PROCEDIMENTAL, MUCHAS APLICACIONES REQUIEREN DE UN DISEÑO DE LA INTERFAZ. EL DISEÑO DE LA INTERFAZ ESTABLECE LA DISPOSICIÓN Y LOS MECANISMOS PARA LA INTERACCIÓN HOMBRE MÁQUINA (NO CUBIERTO POR LAS HERRAMIENTAS DEL DISEÑO ESTRUCTURADO). ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS (ADOO) ES UN ENFOQUE DE LA INGENIERÍA DE SOFTWARE QUE MODELA UN SISTEMA COMO UN GRUPO DE OBJETOS QUE INTERACTÚAN ENTRE SÍ. ESTE ENFOQUE REPRESENTA UN DOMINIO EN TÉRMINOS DE CONCEPTOS COMPUESTOS POR VERBOS Y SUSTANTIVOS, CLASIFICADOS DE ACUERDO A SU DEPENDENCIA FUNCIONAL.

JUAN DANIEL MANCILLA HIGUERA

ÑAÑEL
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Respuestas

Mensaje por ale1 Dom Mayo 06, 2012 6:56 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.

ENFOQUE ESTRUCTURADO:
La programación estructurada consiste en escribir un programa de acuerdo con unas reglas y un conjunto de técnicas. Las reglas son; el programa tiene un diseño modular, los módulos son diseñados descendientemente, cada modulo de programa se codifica usando tres estructuras de control (secuencia, selección e iteración); la otra regla es descomponer un programa en términos de recursos abstractos, diseño descendente y estructuras básicas de acciones complejas en términos de acciones más simples capaces de ser ejecutadas en una computadora.

La programación estructurada es una técnica para escribir programas (programación de computadora). Para ello se utilizan únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).


ENFOQUE ORIENTADO A OBJETOS
La programación orientada a objetos es un paradigma que utiliza objetos como elementos fundamentales en la construcción de la solución. Surge en los años 70. Un objeto es una abstracción de algún hecho o ente del mundo real que tiene atributos que representan sus características o propiedades y métodos que representan su comportamiento o acciones que realizan. Todas las propiedades y métodos comunes a los objetos se encapsulan o se agrupan en clases. Una clase es una plantilla o un prototipo para crear objetos, por eso se dice que los objetos son instancias de clases.

Un proyecto de software es complejo. Las gui, acceso transparente a datos y capacidad de trabajo
En red, lo hacen mas complejo aun. Para enfrentarse a esta complejidad nace la poo.
• Abstracción: denota las características esenciales de un objeto, donde se capturan sus comportamientos
• Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el compor
• Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen.


2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

slideshare.net/NesMey/paradigma-orientado-a-objetos-4954115
es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
elforolatino.com/f245/programacion-estructurada-3493/
wikiteka.com/apuntes/el-enfoque-estructurado/
mitecnologico.com/Main/ElEnfoqueOrientadoAObjetos


3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

La programación orientada a objetos es mucho más fiable por diversas razones. En primer lugar por el desarrollo incremental y la programación por diferencia, al poder ir añadiendo funcionalidad vía herencia.

El tamaño medio de una rutina en entornos orientados a objetos es de 4 o 5 líneas; y se ha de tener en cuenta que sólo se tienen rutinas, ya que no existe el concepto de programa principal. La utilización masiva de librerías de clases garantiza la fiabilidad, ya que los componentes sólo se añaden a la librería cuando se ha verificado la corrección de su funcionamiento.

El análisis estructurado se basa fundamentalmente en la descomposición funcional del sistema que queremos construir. Esta descomposición funcional requiere traducir el dominio del problema en una serie de funciones y subfunciones. El analista debe comprender primero el dominio del problema y a continuación documentar las funciones y subfunciones que debe proporcionar el sistema. El problema es que no existe un mecanismo para comprobar si la especificación del sistema expresa con exactitud los requisitos del sistema.


ALEJANDRO PEREZ ROSALES

ale1
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty participacion

Mensaje por lupe c. Dom Mayo 06, 2012 8:00 pm

1.- identificar a los menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este foro, algunas características sobresalientes de cada uno de ellos.

Enfoque estructurado
º En el enfoque estructurado se usan los dfd (diagrama de flujo de datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente. Dfd es un diagrama en el q participan procesos (métodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema que analiza. Hablando de lenguajes tiene muchas diferencias con la oo. Un mínimo cambio en el código puede llegar alterar al resto del programa cosa que en uno oo bien encarado eso no sucede lo cual es una ventaja por que así no se pierde tiempo en arreglar cosas ya hechas. Otra desventaja es que una porción de código en lenguaje estructurado es difícil que pueda servir en otros proyectos, esto si es habitual en lenguajes oo, con solo importar clases ya hechas se escribe menos código y se ahorra tiempo.
Diagrama de flujo de datos
º un diagrama de flujo de datos (dad) es un modelo lógico-gráfico para representar el funcionamiento de un sistema en un proyecto software.
Diccionario de datos
º El diccionario de datos es un listado organizado de todos los datos que pertenecen a un sistema.
El objetivo de un diccionario de datos es dar precisión sobre los datos que se manejan en un sistema, evitando así malas interpretaciones o ambigüedades.
Diseño de módulos
º un modelo de datos es un lenguaje orientado a describir una base de datos. Típicamente un modelo de datos permite describir:
• Las estructuras de datos de la base: el tipo de los datos que hay en la base y la forma en que se relacionan.
• Las restricciones de integridad: un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada.
• Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí.
Procesó
º Conjunto de tareas lógicamente relacionadas que existen para obtener un resultado bien definido dentro de un negocio
Orientación a objetos
º La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de componentes.
º Abstracción:
La abstracción es uno de los medios más importantes, mediante el cual nos enfrentamos con la complejidad inherente al software. La abstracción es la propiedad que permite representar las características esenciales de un objeto, sin preocuparse de las restantes características (no esenciales). Abstracción es la técnica de quitarle a una idea o a un objeto todos los acompañamientos innecesarios hasta que los deja en una forma esencial y mínima. Una buena abstracción elimina todos los detalles poco importantes y le permite enfocarse y concentrarse en los detalles importantes.
º Encapsulamiento
El encapsulamiento o encapsulación es la propiedad que permite asegurar que el contenido de la información de un objeto está oculta al mundo exterior: el objeto a no conoce lo que hace el objeto b, y viceversa. La encapsulación (también se conoce como ocultación de la información), en esencia, es el proceso de ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales.

º Modularidad:
La modularidad es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.

º Jerarquía
La jerarquía es una propiedad que permite la ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: estructura de clases (jerarquía “es-un” (is-a): generalización/especialización) y estructura de objetos (jerarquía “parte-de” (part-of): agregación).
º Polimorfismo
La quinta propiedad significativa de los lenguajes de programación orientados a objetos es el polimorfismo. Es la propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas, según sea el objeto que se referencia en ese momento.
º Clase
Una clase es esencialmente un proyecto, a partir del cual puede crear objetos. Una clase define las características de un objeto, incluyendo las propiedades que definen los tipos de datos que ese objeto puede contener y los métodos que describen el comportamiento del objeto. Estas características determinan la manera en que otros objetos pueden acceder y trabajar con los datos que se incluyen en el objeto.
2.- escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.
Fuentes bibliografiítas:
wikiteka.com/apuntes/el-enfoque-estructurado/
buenastareas.com/ensayos/an%c3%a1lisis-y-dise%c3%b1o-estructurado/31118.html
docentes.uni.edu.ni/fec/giovanni.saenz/ingenieria_de_software/analisis_y_disenooo.pdf
Slideshare.net/elsuse/analisis-y-diseo-orientado-objetos

3.- comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

Análisis estructurado:
El análisis se refiere al “extremo inicial” de un proyecto de desarrollo de sistemas, durante el tiempo en que los requisitos del usuario son definidos y documentados.
• El análisis estructurado introduce el uso de las herramientas de documentación gráficas para producir un tipo diferente de especificación funcional: “la especificación estructurada”.
El análisis estructurado, como otros métodos, permite construir modelos de sistemas a partir del análisis de sus procesos y/o actividades que se ejecutan asociados al sistema.
Permite al equipo encargado del estudio del desarrollo o la organización conocer de forma lógica un sistema o proceso. El objetivo que persigue el análisis estructurado es organizar las tareas asociadas con la determinación de requerimientos para obtener la comprensión completa y exacta de una situación dada.

Conceptos que se relacionan con el análisis estructurado

— • símbolos gráficos; iconos y convenciones para identificar y describir los componentes de un sistema junto con las relaciones entre estos componentes.
—• diccionario de datos; descripciones de todos los datos utilizados en el sistema.
—• descripciones de procesos y procedimientos; declaraciones formales que emplean técnicas y lenguajes que permiten a los analistas describir actividades importantes que forman parte del sistema.
—• reglas; estándares para describir y documentar el sistema en forma correcta y completa.

Fase de diseño

en esta fase, el diseño estructurado produce el modelo de diseño con los siguientes elementos:

• diseño de datos. Transforma el modelo de dominio de la información creado durante el análisis, en las estructuras de datos necesarias para implementar el software. Los objetos de datos y las relaciones definidas en el diagrama entidad-relación y el contenido detallado de datos del diccionario de datos constituyen la base para el diseño de datos.

Orientado a objetos:
En nuestro mundo se encuentran un sin número de objetos, estos objetos existen
Como entidades hechas por el hombre, negocios y productos que se usan en la vida
Diaria. Todos estos objetos pueden ser clasificados, descritos, organizados, combinados,
Manipulados y creados.
La idea básica de la programación orientada a objetos se basa en 8 principios,
Que se muestran para un mejor entendimiento de la metodología:
• Clases: una clase es una categoría de objetos similares. Los objetos se agrupan
En clases.
• Herencia: las clases pueden tener hijos, esto es, una clase puede ser creada a
Partir de otra clase. La clase original, o madre, es llamada “clase base”. La clase
Hija es llamada “clase derivada”. Una clase derivada puede ser creada en forma
Tal que herede todos los atributos y comportamientos de la clase base.
• Objetos: un objeto es una representación en una computadora de alguna cosa o
Evento del mundo real.
• Encapsulación: típicamente, la información dentro de un objeto esta
Encapsulada por su comportamiento. Esto significa que un objeto mantiene datos
Acerca de cosas del mundo real a las que representa en un sentido verdadero.
• Atributo: dato asociado a un objeto.
• Mensajes: se puede enviar información de un objeto a otro.
• Método: proceso que realiza un objeto cuando recibe un mensaje.
• Polimorfismo: el término polimorfismo se refiere a comportamientos alternos
Entre clases derivadas relacionadas. Cuando varias clases heredan atributos y
Comportamientos, pude haber casos en donde el comportamiento de una clase
Derivada debe ser diferente del de su clase base o de sus clases derivadas
Parientes.
Un enfoque orientado a objetos, dependiendo de la naturaleza del software a
Desarrollar, puede facilitar la elaboración de la aplicación, debido a que los objetos
Describen de forma abstracta a los elementos del mundo en que vivimos.

Análisis orientado a objetos
El enfoque de coad y yourdon para el análisis orientado a objetos esta basado
En cinco capas. Esas cinco capas consisten de capa clase /objeto, capa de estructura,
Capa de atributos, capa de servicios, y capa de tema. Estas capas dan mayor poder a la
Representación de la complejidad del análisis y el diseño en sistemas flexibles.
1. Capa clase objeto: esta capa del análisis y diseño indica las clases y
Objetos.
2. Capa de estructura: esta capa captura diversas estructuras de clases y
Objetos, como las relaciones uno a muchos.
3. Capa de atributos: esta capa detalla los atributos de las clases.
4. Capa de servicios: esta capa indica los mensajes y comportamientos de
Los objetos.
5. Capa de tema: esta capa divide el diseño en unidades de
Implementación o asignaciones de equipos.




affraid

Guadalupe Castro Vargas Smile

lupe c.
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty ranferi guadalupe rios

Mensaje por Ranferi Dom Mayo 06, 2012 8:42 pm

PROGRAMACIÓN ESTRUCTURADA:

En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a codigo fuente. DFD es un diagrama en el q participan procesos (metodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema q analiza. hablando de lenguajes Tiene muchas diferencia con la OO. un minimo cambio en el codigo puede llegar alterar al resto del programa cosa que en uno OO bien encarado eso no sucede lo cual es una ventaja por que asi no se pierde tiempo en arreglar cosas ya hechas. Otra desventaja es que una porcion de codigo en lenguaje estructurado es dificil que pueda servir en otros proyectos, esto si es habitual en lenguajes OO, con solo importar clases ya hechas se escribe menos codigo y se ahorra tiempo.

EL creciente empleo de los computadores ha conducido a buscar un abaratamiento del desarrollo des software, paralelo a la reducción del costo delhardware obtenido gracias a los avances tecnológicos. Los altos costos del mantenimiento de las aplicaciones en producción normal también han urgido la necesidad de mejorar la productividad del personal de programación.
En la década del sesenta salieron a la luz publica los principios de lo que más tarde se llamo Programación Estructurada, posteriormente se libero el conjunto de las llamadas "Técnicas para mejoramiento de la productividad en programación" (en ingles Improved Programming Technologies, abreviado IPTs), siendo la Programación Estructurada una de ellas.
Los programas computarizados pueden ser escritos con un alto grado de estructuración, lo cual les permite ser mas fácilmente comprensibles en actividades tales como pruebas, mantenimiento y modificación de los mismos. Mediante la programación Estructurada todas las bifurcaciones decontrol de un programa se encuentran estandarizadas, de forma tal que es posible leer la codificación del mismo desde su inicio hasta su terminación en forma continua, sin tener que saltar de un lugar a otro del programa siguiendo el rastro de la lógica establecida por el programador, como es la situación habitual con codificaciones desarrolladas bajo otras técnicas.
EN programación Estructurada los programadores deben profundizar mas que lo usual al procederá realizar el diseño original del programa, pero el resultado final es más fácil de leer y comprender, el objetivo de u programador profesional al escribir programas de una manera estructurada, es realizarlos utilizando solamente un numero de bifurcaciones de control estandarizados.
EL resultado de aplicar la sistemática y disciplinada manera de elaboración de programas establecida por la Programación Estructurada es una programación de alta precisión como nunca antes había sido lograda. Las pruebas de los programas, desarrollados utilizando este método, se acoplan mas rápidamente y el resultado final con programas que pueden ser leídos, mantenidos y modificados por otros programadores con mucho mayor facilidad.
DEFINICIONES
Programación Estructurada es una técnica en la cual la estructura de un programa, esto es, la interpelación de sus partes realiza tan claramente como es posible mediante el uso de tres estructuras lógicas de control:
a. Secuencia: Sucesión simple de dos o mas operaciones.
b. Selección: bifurcación condicional de una o mas operaciones.
c. Interacción: Repetición de una operación mientras se cumple una condición.
Estos tres tipos de estructuras lógicas de control pueden ser combinados para producir programas que manejen cualquier tarea de procesamiento deinformación.
Un programa estructurado esta compuesto de segmentos, los cuales puedan estar constituidos por unas pocas instrucciones o por una pagina o más de codificación. Cada segmento tiene solamente una entrada y una salida, estos segmentos, asumiendo que no poseen lazos infinitos y no tienen instrucciones que jamas se ejecuten, se denominan programas propios. Cuando varios programas propios se combinan utilizando las tres estructuras básicas de control mencionadas anteriormente, el resultado es también un programa propio.
La programación Estructurada esta basada en el Teorema de la Estructura, el cual establece que cualquier programa propio (un programa con una entrada y una salida exclusivamente) es equivalente a un programa que contiene solamente las estructuras lógicas mencionadas anteriormente.
Una característica importante en un programa estructurado es que puede ser leído en secuencia, desde el comienzo hasta el final sin perder la continuidad de la tarea que cumple el programa, lo contrario de lo que ocurre con otros estilos de programación. Esto es importante debido a que, es mucho más fácil comprender completamente el trabajo que realiza una función determinada, si todas las instrucciones que influyen en su acción están físicamente contiguas y encerradas por un bloque. La facilidad de lectura, de comienzo a fin, es una consecuencia de utilizar solamente tres estructuras de control y de eliminar la instrucción de desvío de flujo de control, excepto en circunstancias muy especiales tales como la simulación de una estructura lógica de control en un lenguaje de programación que no la posea.
VENTAJAS POTENCIALES
Un programa escrito de acuerdo a estos principios no solamente tendrá una estructura, sino también una excelente presentación.
Un programa escrito de esta forma tiende a ser mucho más fácil de comprender que programas escritos en otros estilos.
La facilidad de comprensión del contenido de un programa puede facilitar el chequeo de la codificación y reducir el tiempo de prueba y depuración de programas. Esto ultimo es cierto parcialmente, debido a que la programación estructurada concentra los errores en uno de los factores más generador de fallas en programación: la lógica.
Un programa que es fácil para leer y el cual esta compuesto de segmentos bien definidos tiende a ser simple, rápido y menos expuesto a mantenimiento. Estos beneficios derivan en parte del hecho que, aunque el programa tenga una extensión significativa, en documentación tiende siempre a estar al día, esto no suele suceder con los métodos convencionales de programación.
La programación estructurada ofrece estos beneficios, pero no se la debe considerar como una panacea ya que el desarrollo de programas es, principalmente, una tarea de dedicación, esfuerzo y creatividad.
TEOREMA DE LA ESTRUCTURA
El teorema de la estructura establece que un programa propio puede ser escrito utilizando solamente las siguientes estructuras lógicas de control: secuencia, selección e iteración.
Un programa de define como propio si cumple con los dos requerimientos siguientes:
a. Tiene exactamente una entrada y una salida para control del programa.
b. Existen caminos seguibles desde la entrada hasta la salida que conducen por cada parte del programa, es decir, no existen lazos infinitos ni instrucciones que no se ejecutan.
Las tres estructuras lógicas de control básicas, se definen de la siguiente forma:
Secuencia: es simplemente la formalización de la idea de que las instrucciones de un programa son ejecutadas en el mismo orden en que ellas aparecen en el programa. En términos de diagrama de flujo la secuencia es representada por una función después de la otra.


PROGRAMACIÓN ORIENTADA A OBJETOS:


Orientación a Objetos
La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de componentes.
El atractivo intuitivo de la orientación a objetos es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible. Estos conceptos y herramientas orientados a objetos son tecnologías que permiten que los problemas del mundo real sean expresados de modo fácil y natural.
Las técnicas orientadas a objetos proporcionan mejoras y metodologías para construir sistemas de software complejos a partir de unidades de software modularizado y reutilizable. Se necesita un nuevo enfoque para construir software en la actualidad. Este nuevo enfoque debe ser capaz de manipular tanto sistemas grandes como pequeños y debe crear sistemas fiables que sean flexibles, mantenibles y capaces de evolucionar para cumplir las necesidades del cambio.
La orientación a objetos trata de cubrir las necesidades de los usuarios finales, así como las propias de los desarrolladores de productos software. Estas tareas se realizan mediante la modelización del mundo real. El soporte fundamental es el modelo objeto.
Un objeto es la instancia de una clase. Una clase es la representación abstracta de un concepto en el mundo real, y proporciona la base a partir de la cual creamos instancias de objetos específicos. Como ejemplo, puede crear una clase que defina a un cliente. Después puede crear una nueva instancia de la clase cliente para tener un objeto utilizable de Cliente. Para poder crear un objeto de la clase cliente, debe crear una nueva instancia basada en esa clase.
Por ejemplo:
Private Objeto Customer? as Clase Customer?
Objeto Customer = New Clase Customer()
Cada objeto es un elemento único de la clase en la que se basa. Si una clase es como un molde, entonces un objeto es lo que se crea a partir del molde. La clase es la definición de un elemento; el objeto es el elemento. El molde para una figura de cerámica en particular, es como una clase; la figura es el objeto.
Todos los objetos están compuestos de tres cosas:
Interfaz
La Interfaz es el conjunto de métodos, propiedades, eventos y atributos que se declaran como públicos en su alcance y que pueden invocar los programas escritos para usar nuestro objeto.
Implementación
Al código dentro de los métodos se le llama Implementación. Algunas veces también se le llama comportamiento, ya que este código es el que efectivamente logra que el objeto haga un trabajo útil. Es importante entender que las aplicaciones del cliente pueden utilizar nuestro objeto aunque cambiemos la implementación, siempre que no cambiemos la interfaz. Siempre que se mantengan sin cambio nuestro nombre de método, su lista de parámetro y el tipo de datos de devolución, podremos cambiar la implementación totalmente.
Estado
El estado o los datos de un objeto es lo que lo hace diferente de otros objetos de la misma clase. El estado se describe a través de las variables del Miembro o de la Instancia. Las variables del miembro son aquellas declaradas, de tal manera que están disponibles para todo el código dentro de la clase. Por lo general, las variables del miembro son Privadas en su alcance. Algunas veces, se les conoce como variables de la instancia o como atributos. Observe que las propiedades no son variables del Miembro, ya que son un tipo de método que funciona para recuperar y establecer valores.
¿Qué es una clase?
Una clase es esencialmente un proyecto, a partir del cual puede crear objetos. Una clase define las características de un objeto, incluyendo las propiedades que definen los tipos de datos que ese objeto puede contener y los métodos que describen el comportamiento del objeto. Estas características determinan la manera en que otros objetos pueden acceder y trabajar con los datos que se incluyen en el objeto.
Para definir una clase, se coloca la palabra clave Class antes del nombre de su clase, y después se insertan los miembros de la clase (datos y métodos) entre la definición del nombre de la clase y la instrucción End Class. Si incluye los métodos, entonces el código de cada método también se debe incluir entre la declaración del método y el final del mismo.
Por ejemplo, si desea construir objetos que representen perros, puede definir una clase Perro con ciertos comportamientos, como caminar, ladrar y comer, y propiedades específicas, como altura, peso y color. Una vez que haya definido la clase Perro, puede crear objetos con base en esa clase. Es importante observar que todos los objetos Perro creados con base en la clase perro compartirán los mismos comportamientos, pero tendrán sus propios valores específicos para el mismo conjunto de propiedades.
El siguiente ejemplo representa la definición de la clase Perro. Tome en consideración que ésta no es una sintaxis estricta de VB.NET; simplemente es un ejemplo de la definición de clase.
Public Class Perro
Dim Altura As Decimal
Dim Peso As Decimal
Dim Color As String

Sub Caminar(ByVal Pasos As Integer)
End Sub

Sub Ladrar()
End Sub

Sub Comer()
End Sub

End Class
#]





REFERENCIAS:

mitecnologico.com/Main/ElEnfoqueEstructurado

monografias.com/trabajos/progestructu/progestructu.shtml

mitecnologico.com/Main/ElEnfoqueOrientadoAObjeto



Ranferi
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Respuestas

Mensaje por voli_p Dom Mayo 06, 2012 9:13 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.

Enfoque estructurado

Es una técnica para escribir programas (programación de computadora). Para ello se utilizan únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).
La programación estructurada propone agregar los procesos en estructuras lo más simple posibles, las cuales se conocen como secuencia, selección e interacción. Ellas están disponibles en todos los lenguajes modernos de programación imperativa en forma de sentencias.
En el Enfoque Estructurado se usan los (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente. DFD es un diagrama en el que participan procesos (métodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema q analiza. Hablando de lenguajes Tiene muchas diferencia con la OO. un mínimo cambio en el codigo puede llegar alterar al resto del programa cosa que en uno OO bien encarado eso no sucede lo cual es una ventaja por que asi no se pierde tiempo en arreglar cosas ya hechas. Otra desventaja es que una porcion de codigo en lenguaje estructurado es dificil que pueda servir en otros proyectos, esto si es habitual en lenguajes OO, con solo importar clases ya hechas se escribe menos codigo y se ahorra tiempo.
Consiste en escribir un programa de acuerdo con unas reglas y un conjunto de técnicas. Las reglas son; el programa tiene un diseño modular, los módulos son diseñados descendientemente, cada modulo de programa se codifica usando tres estructuras de control (secuencia, selección e iteración); la otra regla es descomponer un programa en términos de recursos abstractos, diseño descendente y estructuras básicas de acciones complejas en términos de acciones más simples capaces de ser ejecutadas en una computadora.


Enfoque orientado a objetos

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programasinformáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.
La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de componentes.

El atractivo intuitivo de la orientación a objetos es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible. Estos conceptos y herramientas orientados a objetos son tecnologías que permiten que los problemas del mundo real sean expresados de modo fácil y natural.

En la programación orientada a objetos se define la herencia como una jerarquía de extracciones, y la relación entre clases, donde se comparte la estructura y el comportamiento de una o más clase considerada como clases superiores o una superclase, con lo cual se resume que la herencia es una unidad independiente por si misma heredada de una abstracción o superclase.
El enfoque orientado a objetos permite que los objetos estén autocontenidos. Los objetos existen por sí mismos, con una funcionalidad para invocar comportamientos de otros objetos. Al utilizar un enfoque orientado a objetos, los desarrolladores pueden crear aplicaciones que reflejan objetos del mundo real, como rectángulos, elipses y triángulos, además de dinero, números de partes y elementos en un inventario.

El paradigma OO se basa en el concepto de objeto. Un objeto es aquello que tiene estado (propiedades más valores), comportamiento (acciones y reacciones a mensajes) e identidad (propiedad que lo distingue de los demás objetos). La estructura y comportamiento de objetos similares están definidos en su clase común; los términos instancia y objeto son intercambiables. Una clase es un conjunto de objetos que comparten una estructura y comportamiento común.
La diferencia entre un objeto y una clase es que un objeto es una entidad concreta que existe en tiempo y espacio, mientras que una clase representa una abstracción, la "esencia" de un objeto, tal como son. De aquí que un objeto no es una clase, sin embargo, una clase puede ser un objeto.
En el enfoque OO las propiedades del objeto son claves. Los principios del modelo OO son: abstracción, encapsulación, modularidad y jerarquía, fundamentalmente, y en menor grado tipificación (typing), concurrencia, persistencia. [Booch 1986] dice que si un modelo que se dice OO no contiene alguno de los primeros cuatro elementos, entonces no es OO.
• Abstracción. Es una descripción simplificada o especificación de un sistema que enfatiza algunos de los detalles o propiedades del sistema, mientras suprime otros.
• Encapsulación. En el proceso de ocultar todos los detalles de un objetoque no contribuyen a sus características esenciales.
• Modularidad. Es la propiedad de un sistema que ha sido descompuesto en un conjunto de módulos coherentes e independientes.
• Jerarquía o herencia. Es el orden de las abstracciones organizado por niveles.
• Tipificación. Es la definición precisa de un objeto de tal forma que objetos de diferentes tipos no puedan ser intercambiados o, cuando mucho, puedan intercambiarse de manera muy restringida.
• Concurrencia . Es la propiedad que distingue un objeto que está activo de uno que no lo está.
• Persistencia. Es la propiedad de un objeto a través de la cual su existencia trasciende el tiempo (es decir, el objeto continua existiendo después de que su creador ha dejado de existir) y/o el espacio (es decir, la localización del objeto se mueve del espacio de dirección en que fue creado).

2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

-mitecnologico.com/Main/ElEnfoqueOrientadoAObjetos
-mitecnologico.com/Main/ElEnfoqueOrientadoAObjetos
-rincondelvago.com/modelado-y-diseno-orientado-a-objetos
-wikipedia.org/wiki/Análisis_y_diseño_orientado_a_objetos} mitecnologico.com/Main/FundamentosDeDesarrolloDeSistemas
-mitecnologico.com/Main/ElEnfoqueOrientadoAObjetos
-mitecnologico.com/Main/ElEnfoqueEstructurado
-mitecnologico.com/Main/ElEnfoqueEstructurado

3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

ANÁLISIS Y DISEÑO EN EL ENFOQUE ESTRUCTURADO
• Usa los (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente.
• Revisa las funciones que deben realizar, tareas que se van descomponiendo sucesivamente en otras más pequeñas y que forman los bloques o módulos de las aplicaciones.
• El Análisis estructurado introduce el uso de las herramientas de documentación gráficas para producir un tipo diferente de especificación funcional: “la especificación estructurada”.
• Las herramientas que se utilizan son los diagramas de flujo de datos, diccionarios de datos, diagramas entidad-relación, diagramas de transición de estado, especificaciones de procesos.


ANÁLISIS Y DISEÑO EN EL ENFOQUE ORIENTADO A OBJETOS:

• Emplea distintos modelos dependiendo de la metodología, entre los principales están los modelos de objetos, modelos de estado u objeto-estado, entre otros.
• En este método de análisis y diseño se crea un conjunto de modelos utilizando una notación acordada como, por ejemplo, el lenguaje unificado de modelado (UML).
• El lenguaje unificado de modelado se ha vuelto el lenguaje de modelado estándar usado en análisis y diseño orientado a objetos
• Tiende a tener más importancia el aspecto de modelado del sistema, examinando el dominio del problema como un conjunto de objetos que interactúan entre sí.


BOLIVAR PEREZ MENDOZA

voli_p
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty RETROALIMENTACION

Mensaje por voli_p Dom Mayo 06, 2012 9:15 pm

Estoy de acuerdo con mi compañero Reynaldo muñoz Rafael lo que nos comparte es bueno por que lo que nos dice de los enfoques estructurado como el orientado a objetos de acuerdo alas las fuentes que nos dio y de acuerdo lo que nos dice el autor eragel en las hojas de la lectura acerca de las características diseño de cada enfoque y lo que lo diferencia de cada uno de los enfoques que es lo que tienen en común estoy de acuerdo por que es verdad lo que dice su investigación es verifica de acuerdo al autor y las fuentes de información que nos muestra el compañero tiene relación.

Estoy en total acuerdo con mi compañero. Reynaldo muñoz Rafael

VOLIBAR PEREZ MENDOZA

voli_p
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty respuestas

Mensaje por Edgar_D Dom Mayo 06, 2012 9:33 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.
ENFOQUE ESTRUCTURADO:
En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a codigo fuente. DFD es un diagrama en el q participan procesos (metodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema q analiza. hablando de lenguajes Tiene muchas diferencia con la OO. un minimo cambio en el codigo puede llegar alterar al resto del programa cosa que en uno OO bien encarado eso no sucede lo cual es una ventaja por que asi no se pierde tiempo en arreglar cosas ya hechas. Otra desventaja es que una porcion de codigo en lenguaje estructurado es dificil que pueda servir en otros proyectos, esto si es habitual en lenguajes OO, con solo importar clases ya hechas se escribe menos codigo y se ahorra tiempo.

Características:
• En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente.

• Un mínimo cambio en el código puede llegar alterar al resto del programa

• Una porción de código en el lenguaje estructurado es difícil que pueda servir en otros proyectos


EL ENFOQUE ORIENTADO A OBJETOS
Vivimos en un mundo de objetos. Estos objetos existen en la naturaleza, en entidades hechas por el hombre, en los negocios y en los productos que usamos. Pueden ser clasificados, descritos, organizados, combinados, manipulados y creados. Por eso no es sorprendente que se proponga una visión orientada a objetos para la creación de software de computadora, una abstracción que modela el mundo de forma tal que nos ayuda a entenderlo y gobernarlo mejor.
La primera vez que se propuso un enfoque orientado a objetos para el desarrollo de software fue a finales de los años sesenta. Sin embargo, las tecnologías de objetos han necesitado casi veinte años para llegar a ser ampliamente usadas. Durante los años 90, la ingeniería del software orientada a objetos se convirtió en el paradigma de elección para muchos productores de software y para un creciente número de sistemas de información y profesionales de la ingeniería.
Las tecnologías de objetos llevan a reutilizar, y la reutilización (de componente de software) lleva a un desarrollo de software más rápido y a programas de mejor calidad. El software orientado a objetos es más fácil de mantener debido a que su estructura es inherentemente poco acoplada. Esto lleva a menores efectos colaterales cuando se deben hacer cambios. Los sistemas orientados a objetos son más fáciles de adaptar y más fácilmente escalables (pueden crearse grandes sistemas ensamblando subsistemas reutilizables).
Hacia mediados de los 80, los beneficios de la programación orientada a objetos empezaron a obtener reconocimiento, y el diseño de objetos pareció ser un enfoque sensato para la gente que deseaba utilizar el lenguaje de programación orientada a objetos. Un enfoque orientado a objetos para programar ofrece muchos beneficios sobre un enfoque estructurado.
El análisis orientado a objetos y su diseño se enfoca en los objetos. Los objetos tienen ciertos comportamientos y atributos que determinan la manera en que interactúan y funcionan. No se intenta proporcionar un orden para las acciones al momento del diseño debido a que los objetos funcionan basados en la manera en que funcionan otros objetos. La programación orientada a objetos ayuda a los desarrolladores a crear objetos que reflejan escenarios del mundo real.
Las implementaciones orientadas a objetos ocultan datos, lo cual significa que muestran únicamente los comportamientos a los usuarios y ocultan el código subyacente de un objeto. Los comportamientos que el programador expone son únicamente aquellos elementos que el usuario de un objeto puede afectar.
El enfoque orientado a objetos permite que los objetos estén autocontenidos. Los objetos existen por sí mismos, con una funcionalidad para invocar comportamientos de otros objetos. Al utilizar un enfoque orientado a objetos, los desarrolladores pueden crear aplicaciones que reflejan objetos del mundo real, como rectángulos, elipses y triángulos, además de dinero, números de partes y elementos en un inventario.
En un enfoque orientado a objetos, los objetos, por definición, son modulares en su construcción. Esto quiere decir que son entidades completas y, por lo tanto, tienden a ser altamente reutilizables. Las aplicaciones orientadas a objetos se construyen sobre el paradigma de los mensajes o de los eventos en donde los objetos envían mensajes a otros objetos, como el sistema operativo Microsoft® Windows®.
1. El paradigma orientado a objetos
Durante muchos años el término Orientado a Objetos (OO) se usó para referirse a un enfoque de desarrollo de software que usaba uno de los lenguajes orientados a objetos (Ada 95, C++, Eiffel, Smalltalk, etc.). En el libro The Structure of Scientific Revolutions, el historiador Thomas K describía un paradigma como un conjunto de teorías, estándar y métodos que juntos representan un medio de organización del conocimiento: es decir, un medio de visualizar el mundo. En este sentido, la programación orientada a objetos es un nuevo paradigma. La orientación a objetos fuerza a reconsiderar nuestro pensamiento sobre la computación, sobre lo que significa realizar computación y sobre cómo se estructura la información dentro de la computadora.
Jenkins y Glasgow observan que “la mayoría de los programadores trabajan en un lenguaje y utilizan sólo un estilo de programación. Ellos programan en un paradigma forzado por el lenguaje que utilizan. Con frecuencia, no se enfrentan a métodos alternativos de resolución de un problema, y por consiguiente tienen dificultad en ver la ventaja de elegir un estilo más apropiado al problema a manejar”. Bobrow y Stefik sugieren que existen cuatro clases de estilos de programación:
• Orientados a procedimientos:Algoritmos.
• Orientados a objetos:Clases y Objetos.
• Orientados a lógica:Expresado en cálculo de predicados.
• Orientados a reglas: Reglas if-then.
No existe ningún estilo de programación idóneo para todas las clases de programación. La orientación a objetos se acopla a la simulación de situaciones del mundo real.



2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos
mitecnologico.com/Main/ElEnfoqueEstructurado
search.conduit.com/results.aspx?q=caracter%C3%ADsticas+del+paradigma&Suggest=&stype=Results&FollowOn=True&SSPV=EB_SSPV&SelfSearch=1&SearchTypeSearchWeb&SearchSource=15&ctid=CT2786678&octid=CT2786678
wikiteka.com/apuntes/el-enfoque-estructurado/
mitecnologico.com/Main/ElEnfoqueOrientadoAObjetos

3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

ANÁLISIS Y DISEÑO EN EL ENFOQUE ESTRUCTURADO:
• Examinan los sistemas desde el punto de vista de las funciones o tareas que deben realizar, tareas que se van descomponiendo sucesivamente en otras más pequeñas y que forman los bloques o módulos de las aplicaciones.

• Las herramientas que se utilizan son los diagramas de flujo de datos, diccionarios de datos, diagramas entidad-relación, diagramas de transición de estado, especificaciones de procesos..

EDGAR DIONICIO SIERRA

Edgar_D
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Respuestas

Mensaje por Eve_R_I Dom Mayo 06, 2012 9:58 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.

ENFOQUE ESTRUCTURADO
En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente. DFD es un diagrama en el q participan procesos (métodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema q analiza. Hablando de lenguajes Tiene muchas diferencias con la OO. un mínimo cambio en el código puede llegar alterar al resto del programa cosa que en uno OO bien encarado eso no sucede lo cual es una ventaja porque así no se pierde tiempo en arreglar cosas ya hechas. Otra desventaja es que una porción de código en lenguaje estructurado es difícil que pueda servir en otros proyectos, esto sí es habitual en lenguajes OO, con solo importar clases ya hechas se escribe menos código y se ahorra tiempo.
CARACTERISTICAS
1. Permitir que la forma del problema guíe a la forma de la solución. Un concepto básico del diseño de arquitecturas es: las formas siempre siguen funciones.

2. Intentar resolver la complejidad de los grandes sistemas a través de la segmentación de un sistema en cajas negras, y su organización en una jerarquía conveniente para la implementación.

3. Utilizar herramientas, especialmente gráficas, para realizar diseños de fácil comprensión. Un diseño estructurado usa diagramas de estructura (DE) en el diseño de la arquitectura de módulos del sistema y adiciona especificaciones de los módulos y cuplas (entradas y salidas de los módulos), en un Diccionario de Datos (DD).

4. Ofrecer un conjunto de estrategias para derivar el diseño de la solución, basándose en los resultados del proceso de análisis.

5. Ofrecer un conjunto de criterios para evaluar la calidad de un diseño con respecto al problema a ser resuelto, y las posibles alternativas de solución, en la búsqueda de la mejor de ellas.


ENFOQUE ORIENTACIÓN A OBJETOS
º La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de componentes.
º Abstracción:
La abstracción es uno de los medios más importantes, mediante el cual nos enfrentamos con la complejidad inherente al software. La abstracción es la propiedad que permite representar las características esenciales de un objeto, sin preocuparse de las restantes características (no esenciales). Abstracción es la técnica de quitarle a una idea o a un objeto todos los acompañamientos innecesarios hasta que los deja en una forma esencial y mínima. Una buena abstracción elimina todos los detalles poco importantes y le permite enfocarse y concentrarse en los detalles importantes.
º Encapsulamiento
El Encapsulamiento o encapsulación es la propiedad que permite asegurar que el contenido de la información de un objeto está oculta al mundo exterior: el objeto A no conoce lo que hace el objeto B, y viceversa. La encapsulación (también se conoce como ocultación de la información), en esencia, es el proceso de ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales.

º Modularidad:
La Modularidad es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
º Jerarquía
La Jerarquía es una propiedad que permite la ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: estructura de clases (jerarquía “es-un” (is-a): generalización/especialización) y estructura de objetos (jerarquía “parte-de” (part-of): agregación).
º Polimorfismo
La quinta propiedad significativa de los lenguajes de programación orientados a objetos es el polimorfismo. Es la propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas, según sea el objeto que se referencia en ese momento.
º Clase
Una clase es esencialmente un proyecto, a partir del cual puede crear objetos. Una clase define las características de un objeto, incluyendo las propiedades que definen los tipos de datos que ese objeto puede contener y los métodos que describen el comportamiento del objeto. Estas características determinan la manera en que otros objetos pueden acceder y trabajar con los datos que se incluyen en el objeto.

CARACTERISTICAS
• Objetos (dinámicos/tiempo de ejecución) y clases (estáticas/tiempo de compilación).

• Los objetos agrupan datos (variables de instancia) y funciones (métodos), realizando de esa forma una ocultación de la información.

• Los métodos de los objetos se invocan mediante mensajes.

• Dispatch dinámico: cuando una operación es invocada sobre un objeto, el propio objeto determina qué código se ejecuta. Dos objetos con la misma interfaz pueden tener implementaciones distintas.

• Herencia: las clases se pueden definir utilizando otras clases como plantillas y modificando sus métodos y/o variables de instancia.

2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.
Estas son las fuentes que utilice:

mitecnologico.com/Main/ElEnfoqueEstructurado
exa.unicen.edu.ar/catedras/prog1/introprog1/sites/default/files/ApuntesDiagramaEstructura.pdf
wikiteka.com/apuntes/el-enfoque-estructurado/
dccia.ua.es/dccia/inf/asignaturas/LPP/2008-2009/tema-11
monografias.com/trabajos14/progorie/progorie

3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.



ANÁLISIS Y DISEÑO EN EL ENFOQUE ESTRUCTURADO:


• Permite construir modelos de sistemas a partir del análisis de sus procesos y/o actividades que se ejecutan asociados al sistema.
Las herramientas que se utilizan son los diagramas de flujo de datos, diccionarios de datos, diagramas entidad-relación, diagramas de transición de estado, especificaciones de procesos.


ANÁLISIS Y DISEÑO EN EL ENFOQUE ORIENTADO A OBJETOS:

• En este método de análisis y diseño se crea un conjunto de modelos utilizando una notación acordada como, por ejemplo, el lenguaje unificado de modelado (UML). Cobra mucha más importancia el aspecto de modelado del sistema, examinando el dominio del problema como un conjunto de objetos que interactúan entre sí.




Cada uno de los enfoque puede ser utilizado por los programadores o también por aquellas empresas u organizaciones que desean vender de manera comercial el programa o al fin de tener un beneficio propio.






EVERARDO RIOS IBARRA

Eve_R_I
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Re: Unidad 4.- Paradigmas de la ingenieria del software

Mensaje por A.O.B Dom Mayo 06, 2012 10:58 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.
R=
ENFOQUE ESTRUCTURADO
La programación estructurada consiste en escribir un programa de acuerdo con unas reglas y un conjunto de técnicas. Las reglas son; el programa tiene un diseño modular, los módulos son diseñados descendientemente, cada modulo de programa se codifica usando tres estructuras de control (secuencia, selección e iteración); la otra regla es descomponer un programa en términos de recursos abstractos, diseño descendente y estructuras básicas de acciones complejas en términos de acciones más simples capaces de ser ejecutadas en una computadora.

La programación estructurada es una técnica para escribir programas (programación de computadora). Para ello se utilizan únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).

Características:

•En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente.

•Un mínimo cambio en el código puede llegar alterar al resto del programa

•Una porción de código en el lenguaje estructurado es difícil que pueda servir en otros proyectos

ENFOQUE ORIENTADO A OBJETOS
El enfoque orientado a objetos permite que los objetos estén autocontenidos. Los objetos existen por sí mismos, con una funcionalidad para invocar comportamientos de otros objetos. Al utilizar un enfoque orientado a objetos, los desarrolladores pueden crear aplicaciones que reflejan objetos del mundo real, como rectángulos, elipses y triángulos, además de dinero, números de partes y elementos en un inventario.

La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de componentes.
El atractivo intuitivo de la orientación a objetos es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible. Estos conceptos y herramientas orientados a objetos son tecnologías que permiten que los problemas del mundo real sean expresados de modo fácil y natural.


La programación orientada a objetos o P.O.O. (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento.

Características:

•Las aplicaciones son más sencillas para los usuarios debido a que los datos innecesarios están ocultos.

•permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.

•El elemento clave del enfoque orientado a objetos es la clase.

•Cada objeto es un elemento único de la clase en la que se basa. Si una clase es como un molde, entonces un objeto es lo que se crea a partir del molde. La clase es la definición de un elemento; el objeto es el elemento. El molde para una figura de cerámica en particular, es como una clase; la figura es el objeto.

2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

Estas son las fuentes que utilice:

wikiteka.com/apuntes/el-enfoque-estructurado/
slideshare.net/guest9d4dd8/paradigmas-1186790
mitecnologico.com/Main/FundamentosDeDesarrolloDeSistemas
es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada
es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos#Caracter.C3.ADsticas_de_la_POO
elguille.info/colabora/NET2005/Percynet_Conceptosyprincipiosorientadoaobjetos.htm


3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

ANÁLISIS Y DISEÑO EN EL ENFOQUE ESTRUCTURADO:

•Examinan los sistemas desde el punto de vista de las funciones o tareas que deben realizar, tareas que se van descomponiendo sucesivamente en otras más pequeñas y que forman los bloques o módulos de las aplicaciones.


•Las herramientas que se utilizan son los diagramas de flujo de datos, diccionarios de datos, diagramas entidad-relación, diagramas de transición de estado, especificaciones de procesos.


ANÁLISIS Y DISEÑO EN EL ENFOQUE ORIENTADO A OBJETOS:

•Cobra mucha más importancia el aspecto de modelado del sistema, examinando el dominio del problema como un conjunto de objetos que interactúan entre sí.


•Emplea distintos modelos dependiendo de la metodología, entre los principales están los modelos de objetos, modelos de estado u objeto-estado, entre otros.

Cada enfoque puede ser utilizado por programadores y por aquellas empresas u organizaciones que desean crear nuevos software, ya sean para su propio uso o para vender de manera comercial el programa.

Att: Albert Ochoa Bermudez

A.O.B
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Paradigmas de programacion

Mensaje por Itzia NP Dom Mayo 06, 2012 11:13 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.

ENFOQUE ORIENTADO A OBJETOS

El enfoque orientado a objetos. El paradigma orientado a objetos se caracteriza por la solución de problemas a través del estudio y representación de los objetos del mundo real y las interacciones entre sí.
Orientado Objeto = Clases y objetos + Herencia + Comunicación con mensajes cohesión
razones para hacer uso del enfoque orientado a objetos :
• Toda la información está basada en los datos y estos conforman la parte más estable de un sistema y por ende le dan estabilidad a la aplicación. Las estructuras se especifican de forma que sean flexibles al cambio, esto implica que las modificaciones a los requerimientos no afectan la estabilidad del sistema ya que no provocan alteraciones traumáticas a menos que se trate de cambios significativos.
• Los resultados del análisis,(modelo de análisis RIP) diseño e implementación son reutilizables. La representación del mundo real a través del Análisis Orientado a Objetos (AOO) lleva a una modularidad formada por paquetes de clases y objetos. Estos a su vez conforman subsistemas reutilizables en futuros proyectos. Es de anotar que la Modularidad aquí llega más allá de dividir un programa en funciones como se hace en las metodologías estructuradas.
• Mejora el análisis y la interacción expertos-dominio "Casos de Uso" del problema. A través del enfoque orientado a objetos se construye un modelo desde la visión del experto que representa el problema en forma más natural, haciendo prevalecer el pensamiento de los usuarios directos del futuro sistema.
• La manera como se agrupan los elementos del mundo con sus operaciones como un todo, incrementa la consistencia entre el modelo y el mundo real.
• Representa explícitamente los elementos comunes. AOO utiliza la herencia para identificar y capitalizar los atributos y servicios comunes.
• Promociona la utilizabilidad usabilidad.
Otras razones del uso del enfoque orientado a objetos son las siguientes :

o De acuerdo con la experiencia de algunos, se ha notado que se produce menos código y por ende es más fácil de mantener favoreciendo la relación costo beneficio.
Muchas de las personas que no trabajan con computador encuentran el enfoque orientado a objetos muy natural. Orientación a Objetos
º La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de componentes.
º Abstracción:
La abstracción es uno de los medios más importantes, mediante el cual nos enfrentamos con la complejidad inherente al software. La abstracción es la propiedad que permite representar las características esenciales de un objeto, sin preocuparse de las restantes características (no esenciales). Abstracción es la técnica de quitarle a una idea o a un objeto todos los acompañamientos innecesarios hasta que los deja en una forma esencial y mínima. Una buena abstracción elimina todos los detalles poco importantes y le permite enfocarse y concentrarse en los detalles importantes.
º Encapsulamiento
El Encapsulamiento o encapsulación es la propiedad que permite asegurar que el contenido de la información de un objeto está oculta al mundo exterior: el objeto A no conoce lo que hace el objeto B, y viceversa. La encapsulación (también se conoce como ocultación de la información), en esencia, es el proceso de ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales.

º Modularidad:
La Modularidad es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
º Jerarquía
La Jerarquía es una propiedad que permite la ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: estructura de clases (jerarquía “es-un” (is-a): generalización/especialización) y estructura de objetos (jerarquía “parte-de” (part-of): agregación).
º Polimorfismo
La quinta propiedad significativa de los lenguajes de programación orientados a objetos es el polimorfismo. Es la propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas, según sea el objeto que se referencia en ese momento.
º Clase
Una clase es esencialmente un proyecto, a partir del cual puede crear objetos. Una clase define las características de un objeto, incluyendo las propiedades que definen los tipos de datos que ese objeto puede contener y los métodos que describen el comportamiento del objeto. Estas características determinan la manera en que otros objetos pueden acceder y trabajar con los datos que se incluyen en el objeto.
Cualidad que tiene un marco de proceso común orientado a objetos
º Modelar el proceso de diseño y determinar la estructura

ENFOQUE ESTRUCTURADO

Programación estructurada
La programación estructurada consiste en escribir un programa de acuerdo con unas reglas y un conjunto de técnicas. Las reglas
son: el programa tiene un diseño modular, los módulos son diseñados descendentemente, cada módulo de programa se
codifica usando tres estructuras de control (secuencia, selección e iteración); es el conjunto de técnicas que han de incorporar:
recursos abstractos; diseño descendente y estructuras básicas de control.
Descomponer un programa en términos de recursos abstractos consiste en descomponer acciones complejas en términos
de acciones más simples capaces de ser ejecutadas en una computadora.
El diseño descendente se encarga de resolver un problema realizando una descomposición en otros más sencillos mediante
módulos jerárquicos. El resultado de esta jerarquía de módulos es que cada módulo se refina por los de nivel más bajo que resuelven
problemas más pequeños y contienen más detalles sobre los mismos.
Las estructuras básicas de control sirven para especificar el orden en que se ejecutarán las distintas instrucciones de un
algoritmo. Este orden de ejecución determina el flujo de control del programa
Diagrama de Flujo de Datos
º Un diagrama de flujo de datos (DFD) es un modelo lógico-gráfico para representar el funcionamiento de un sistema en un proyecto software.
Diccionario de Datos
º El diccionario de datos es un listado organizado de todos los datos que pertenecen a un sistema.
El objetivo de un diccionario de datos es dar precisión sobre los datos que se manejan en un sistema, evitando así malas interpretaciones o ambigüedades.
Diseño de Modulos
º Un modelo de datos es un lenguaje orientado a describir una Base de Datos. Típicamente un Modelo de Datos permite describir:
• Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
• Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada.
• Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí.




2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

monografias.com/trabajos15/ingenieria-software/ingenieria-software.shtml
mcgraw-hill.es/bcv/guide/capitulo/8448146433.pdf
wikiteka.com/apuntes/el-enfoque-estructurado

3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

ANALISIS Y DISEÑO DEL ENFOQUE ESTRUCTURADO:

El análisis estructurado se basa fundamentalmente en la descomposición funcional del sistema que se desea construir, lo cual requiere comprender primero el dominio del problema y a continuación documentar las funciones y subfunciones que debe proporcionar el sistema.
El software desarrollado con métodos estructurados suele ser más frágil ante los cambios de requisitos; pues si estos cambian, un sistema basado en descomposición funcional puede requerir una reestructuración masiva.
El Análisis Estructurado modela los sistemas desde un punto de vista más próximo a su implementación en un ordenador (entrada/proceso/salida).
El análisis estructurado incorpora modelos de datos, de procesos y de comportamiento
El modelado de datos mediante el enfoque estructurado, está más orientado al diseño de bases de datos y se centra exclusivamente en la identificación de los datos que maneja un sistema y en las relaciones estáticas que se establecen entre esos datos.
ANALISIS Y DISEÑO DEL ENFOQUE ORIENTADO A OBJETOS:
El enfoque Orientado a Objetos invierte el método estructurado, se centra en primer lugar en identificar los objetos del dominio de aplicación y después en establecer procedimientos que los manejen.
El software Orientado a Objetos se mantiene mejor ante los cambios de requisitos, porque se basa en la estructura subyacente del dominio de aplicación por lo que las modificaciones necesarias pueden ser más fácilmente localizables.
El Análisis Orientado a Objetos se basa en modelar el sistema mediante los objetos que forman parte de él y las relaciones estáticas (herencia y composición) o dinámicas (uso) entre estos objetos. Este enfoque pretende conseguir modelos que se ajusten mejor al problema real.
El enfoque Orientado a Objetos, utiliza los mismos modelos que el análisis estructurado. Las diferencias principales consisten en la mayor importancia que se da al modelo de datos, por encima de los otros dos, y en el enfoque orientado a objetos de este modelo.
En el AOO, los objetos encapsulan tanto atributos como procedimientos (operaciones que se realizan sobre los objetos), e incorpora además conceptos como el polimorfismo o la herencia que facilitan la reutilización de código. El uso de AOO puede facilitar mucho la creación de prototipos, y las técnicas de desarrollo evolutivo de software.


Itzia NP

Mensajes : 2
Fecha de inscripción : 06/05/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty MARIA GUADALUPE VIGUERAS CABRERA

Mensaje por VIGUERAS Lun Mayo 07, 2012 10:48 am

Enfoque Estructurado
Pasos o etapas para llevar a cabo la planificación de un proyecto.
No todos los proyectos tienen características simples que permitan proyectarse bajo este modelo, mas sin embargo esta serie de pasos nos da un panorama de cómo llevar a cabo la planificación de un proyecto. Veamos el siguiente caso:

Proyecto: preparar una limonada

Paso 1: Identificar y organizar las actividades. El primer paso consiste en generar una lluvia de ideas de actividades que permitan lograr el objetivo del proyecto que es preparar una limonada.

Lluvia de ideas____ Organización de las ideas
Conseguir ingredientes 1.- Conseguir ingredientes
Conseguir utensilios 2.- Conseguir utensilios
Exprimir limones 3.- Lavar los limones
Lavar limones 4.- Partir los limones
Partir limones 5.- Exprimir los limones
Vaciar agua en la jarra 6.- Vaciar agua en la jarra
Agregar azúcar al agua 7.- Agregar azúcar al agua
Revolver y probar el agua 8.- Revolver y probar el agua
Agregar el hielo 9.- Agregar hielo

Es importante primero poner odas las ideas de actividades en el orden en que se ocurran, y posteriormente calificarlas y ordenarlas. Existen actividades que se pueden hacer una antes que otras y no afectan en gran medida como la 1 y 2, pero hay otras actividades que si son dependientes que alguna otra se haya concluido como las 3, 4 y 5.

Paso 2: Asignar recursos a cada actividad. El segundo paso de la planificación es estimar los recursos para cada actividad, estos recursos van en función de los recursos materiales, recurso humano y el tiempo.

ENFOQUE ORIENTADO A OBJETOS:
Orientación a Objetos
La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de componentes.
El atractivo intuitivo de la orientación a objetos es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible. Estos conceptos y herramientas orientados a objetos son tecnologías que permiten que los problemas del mundo real sean expresados de modo fácil y natural.
Las técnicas orientadas a objetos proporcionan mejoras y metodologías para construir sistemas de software complejos a partir de unidades de software modularizado y reutilizable. Se necesita un nuevo enfoque para construir software en la actualidad. Este nuevo enfoque debe ser capaz de manipular tanto sistemas grandes como pequeños y debe crear sistemas fiables que sean flexibles, mantenibles y capaces de evolucionar para cumplir las necesidades del cambio.
La orientación a objetos trata de cubrir las necesidades de los usuarios finales, así como las propias de los desarrolladores de productos software. Estas tareas se realizan mediante la modelización del mundo real. El soporte fundamental es el modelo objeto.
Un objeto es la instancia de una clase. Una clase es la representación abstracta de un concepto en el mundo real, y proporciona la base a partir de la cual creamos instancias de objetos específicos. Como ejemplo, puede crear una clase que defina a un cliente. Después puede crear una nueva instancia de la clase cliente para tener un objeto utilizable de Cliente. Para poder crear un objeto de la clase cliente, debe crear una nueva instancia basada en esa clase.
Por ejemplo:
Private Objeto Customer? as Clase Customer?
Objeto Customer = New Clase Customer()
Cada objeto es un elemento único de la clase en la que se basa. Si una clase es como un molde, entonces un objeto es lo que se crea a partir del molde. La clase es la definición de un elemento; el objeto es el elemento. El molde para una figura de cerámica en particular, es como una clase; la figura es el objeto.
Todos los objetos están compuestos de tres cosas:
Interfaz
La Interfaz es el conjunto de métodos, propiedades, eventos y atributos que se declaran como públicos en su alcance y que pueden invocar los programas escritos para usar nuestro objeto.
Implementación
Al código dentro de los métodos se le llama Implementación. Algunas veces también se le llama comportamiento, ya que este código es el que efectivamente logra que el objeto haga un trabajo útil. Es importante entender que las aplicaciones del cliente pueden utilizar nuestro objeto aunque cambiemos la implementación, siempre que no cambiemos la interfaz. Siempre que se mantengan sin cambio nuestro nombre de método, su lista de parámetro y el tipo de datos de devolución, podremos cambiar la implementación totalmente.
Estado
El estado o los datos de un objeto es lo que lo hace diferente de otros objetos de la misma clase. El estado se describe a través de las variables del Miembro o de la Instancia. Las variables del miembro son aquellas declaradas, de tal manera que están disponibles para todo el código dentro de la clase. Por lo general, las variables del miembro son Privadas en su alcance. Algunas veces, se les conoce como variables de la instancia o como atributos. Observe que las propiedades no son variables del Miembro, ya que son un tipo de método que funciona para recuperar y establecer valores.
¿Qué es una clase?
Una clase es esencialmente un proyecto, a partir del cual puede crear objetos. Una clase define las características de un objeto, incluyendo las propiedades que definen los tipos de datos que ese objeto puede contener y los métodos que describen el comportamiento del objeto. Estas características determinan la manera en que otros objetos pueden acceder y trabajar con los datos que se incluyen en el objeto.
Para definir una clase, se coloca la palabra clave Class antes del nombre de su clase, y después se insertan los miembros de la clase (datos y métodos) entre la definición del nombre de la clase y la instrucción End Class. Si incluye los métodos, entonces el código de cada método también se debe incluir entre la declaración del método y el final del mismo.
Por ejemplo, si desea construir objetos que representen perros, puede definir una clase Perro con ciertos comportamientos, como caminar, ladrar y comer, y propiedades específicas, como altura, peso y color. Una vez que haya definido la clase Perro, puede crear objetos con base en esa clase. Es importante observar que todos los objetos Perro creados con base en la clase perro compartirán los mismos comportamientos, pero tendrán sus propios valores específicos para el mismo conjunto de propiedades.


REFERENCIAS:
buenastareas.com/ensayos/Enfoque-Estructurado/527134.html
rincondelvago.com/modelado-y-diseno-orientado-a-objetos.html

VIGUERAS
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Re: Unidad 4.- Paradigmas de la ingenieria del software

Mensaje por angel zapata Lun Mayo 07, 2012 12:17 pm

hecho por: enrique goicochea pineda

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.


Enfoque estructurado

En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a codigo fuente. DFD es un diagrama en el q participan procesos (metodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema q analiza. hablando de lenguajes Tiene muchas diferencia con la OO. un minimo cambio en el codigo puede llegar alterar al resto del programa cosa que en uno O bien encarado eso no sucede lo cual es una ventaja por que asi no se pierde tiempo en arreglar cosas ya hechas. Otra desventaja es que una porcion de codigo en lenguaje estructurado es dificil que pueda servir en otros proyectos, esto si es habitual en lenguajes OO, con solo importar clases ya hechas se escribe menos codigo y se ahorra tiempo.


Problemas del enfoque estructurado:

Que es la Programación Estructurada?

Hasta ahora hemos venido siguiendo, aún sin haberlo declarado, la metodología estructurada parar diseñar nuestros programas. Al hacerlo hemos buscado las órdenes necesarias para completar determinada tarea y después hemos escrito las sentencias del lenguaje que reflejen dichas órdenes.

En los lenguajes de procedimiento (C, BASIC, PASCAL), cada sentencia del lenguaje le dice a la computadora que haga algo. Entrar un dato, sumar dos números, visualizar el resultado. Un programa en un lenguaje de este tipo es una lista de instrucciones.

En el caso de programas muy pequeños, no se necesita un principio de organización riguroso. El programador crea una lista de instrucciones y la computadora las ejecuta.

A medida que los programas crecen, la programación se hace más difícil en una tira de instrucciones.

Pocos programadores pueden entender un programa de más de 200 instrucciones, a menos que estén divididos en funciones.


CARACTERÍSTICAS

1. Permitir que la forma del problema guíe a la forma de la solución. Un concepto bá-sico del diseño de arquitecturas es: las formas siempre siguen funciones.

2. Intentar resolver la complejidad de los grandes sistemas a través de la segmentación de un sistema en cajas negras, y su organización en una jerarquía conveniente para la implementación.

3. Utilizar herramientas, especialmente gráficas, para realizar diseños de fácil comprensión. Un diseño estructurado usa diagramas de estructura (DE) en el diseño de la arquitectura de módulos del sistema y adiciona especificaciones de los módulos y cuplas (entradas y salidas de los módulos), en un Diccionario de Datos (DD).

4. Ofrecer un conjunto de estrategias para derivar el diseño de la solución, basándose en los resultados del proceso de análisis.

5. Ofrecer un conjunto de criterios para evaluar la calidad de un diseño con respecto al problema a ser resuelto, y las posibles alternativas de solución, en la búsqueda de la mejor de ellas.


Enfoque Orientada a Objeto
La programación Orientada a Objetos es una metodología que basa la estructura de los programas en torno a los objetos.
Los lenguajes de POO ofrecen medios y herramientas para describir los objetos manipulados por un programa. Más que describir cada objeto individualmente, estos lenguajes proveen una construcción (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades.


Características principales
Una de las ideas fundamentales del paradigma de programación orientada a objetos es el concepto de objeto como una entidad que engloba datos y funciones.

En programación funcional el elemento principal que determina el funcionamiento de un programa son las funciones. Las funciones transforman datos, los cuales sólo tienen posibilidad de existir como valores que se pasan a una función o que son devueltos por ella. Pero ahí termina su existencia. No tienen vida fuera de las funciones.

En programación imperativa, por otra parte, los datos se pueden considerar los elementos fundamentales de un programa. Existen por si mismos y son usados y modificados por las funciones. La posibilidad de la programación imperativa de mantener y modificar un cierto estado (datos, valores de las variables) la hace muy potente para representar y modelar procesos del mundo real que serían complicados de expresar en forma de programación funcional. Las funciones son utilizadas para modificar el estado del programa.

Sin embargo, es posible un enfoque distinto que agrupe datos y funciones. Se trata del utilizado en el paradigma de Programación Orientada a Objetos (POO). En este enfoque, el concepto fundamental es el de objeto. Un objeto es una entidad con un estado (datos o variables de instancia) y unas funciones (métodos) que pueden acceder y modificar este estado. Para evaluar las funciones hay que enviar un mensaje al objeto solicitando que se ejecute alguno de sus métodos. Sólo es posible consultar el estado de un objeto mediante alguno de sus métodos. De esta forma, en POO se refuerza la filosofía de la barrera de abstracción y de la ocultación de información.

El enfoque de la POO permite modelar un dominio (problema a programar, un simulador de deportes, por ejemplo) de una forma muy cercana a la realidad. Los objetos del programa simulan los objetos (sustantivos) del dominio (por ejemplo, bicicleta, marchas, carretera, etc.). Y los métodos de los objetos permiten modelar perfectamente las acciones (verbos, por ejemplo cambiar de marcha, pedalear, etc.) que pueden realizar.

Entre las características de la POO podemos indicar los siguientes conceptos:

Objetos (dinámicos/tiempo de ejecución) y clases (estáticas/tiempo de compilación).
Los objetos agrupan datos (variables de instancia) y funciones (métodos), realizando de esa forma una ocultación de la información.
Los métodos de los objetos se invocan mediante mensajes.
Dispatch dinámico: cuando una operación es invocada sobre un objeto, el propio objeto determina qué código se ejecuta. Dos objetos con la misma interfaz pueden tener implementaciones distintas.
Herencia: las clases se pueden definir utilizando otras clases como plantillas y modificando sus métodos y/o variables de instancia.


2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

Estas son las fuentes que utilice:
• http://www.wikiteka.com/apuntes/el-enfoque-estructurado/
• http://exa.unicen.edu.ar/catedras/prog1/introprog1/sites/default/files/ApuntesDiagramaEstructura.pdf
• http://www.google.com.mx/#hl=es&sclient=psy-ab&q=+enfoque+orientado+a+objetos&oq=+enfoque+orientado+a+objetos&aq=f&aqi=g4&aql=&gs_l=serp.3..0l4.313559.322543.0.323022.31.20.0.8.8.5.1038.10998.2-1j1j0j8j5j1.16.0...0.0.ekvbNegydIA&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=f0200d0a847eb23b&biw=1366&bih=667
• http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2008-2009/tema-11.html

3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

Enfoque estructurado
* El problema hace que te guié a la solución.
* Utiliza herramientas gráficas.

Enfoque orientado a objetos
* funciona el elemento principal que determina el funcionamiento de un programa son las funciones.
* Es aplicable la herencia

hecho por: enrique goicochea pineda

angel zapata

Mensajes : 23
Fecha de inscripción : 27/03/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Re: Unidad 4.- Paradigmas de la ingenieria del software

Mensaje por kasy Lun Mayo 07, 2012 2:21 pm

1.- Identificar almenas dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.


EL ENFOQUE ESTRUCTURADO
Surge como una necesidad para poder optimizar los recursos de la computadora y hacer más comprensibles un código fuente o diseño de programa
En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente. DFD es un diagrama en el q participan procesos (métodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema q analiza
CARACTERISTICAS
• Se caracteriza por la implementación se hace de manera secuencial, línea por línea y se carece de estructuras.
• No permite ejecutar un mismo proceso dos veces, lo cual lo obliga a repetir líneas de código, o en su lugar, suele programarse saltos (“se usan sentencias GOTO) para regresar a determinada línea del programa.
• una porción de código en el lenguaje estructurado es difícil que pueda servir en otros proyectos
EL ENFOQUE ORIENTADO A OBJETOS
El enfoque orientado a objetos permite que los objetos estén auto contenidos. Los objetos existen por sí mismos, con una funcionalidad para invocar comportamientos de otros objetos. Al utilizar un enfoque orientado a objetos, los desarrolladores pueden crear aplicaciones que reflejan objetos del mundo real, como rectángulos, elipses y triángulos, además de dinero, números de partes y elementos en un inventario.
En un enfoque orientado a objetos, los objetos, por definición, son modulares en su construcción. Esto quiere decir que son entidades completas y, por lo tanto, tienden a ser altamente reutilizables. Las aplicaciones orientadas a objetos se construyen sobre el paradigma de los mensajes o de los eventos en donde los objetos envían mensajes a otros objetos, como el sistema operativo Microsoft® Windows®.
La orientación a objetos trata de cubrir las necesidades de los usuarios finales, así como las propias de los desarrolladores de productos software. Estas tareas se realizan mediante la modelización del mundo real. El soporte fundamental es el modelo objeto.
Un objeto es la instancia de una clase. Una clase es la representación abstracta de un concepto en el mundo real, y proporciona la base a partir de la cual creamos instancias de objetos específicos. Como ejemplo, puede crear una clase que defina a un cliente. Después puede crear una nueva instancia de la clase cliente para tener un objeto utilizable de Cliente. Para poder crear un objeto de la clase cliente, debe crear una nueva instancia basada en esa clase.
Características
• Los programas son fáciles de diseñar debido a que los objetos reflejan elementos del mundo real.
• Las aplicaciones son más sencillas para los usuarios debido a que los datos innecesarios están ocultos.
• Los objetos son unidades auto contenidas.
• La productividad se incrementa debido a que puede reutilizar el código.
• Los sistemas son fáciles de mantener y se adaptan a las cambiantes necesidades de negocios.
• Es más fácil crear nuevos tipos de objetos a partir de los ya existentes.
• Simplifica los datos complejos.
• Reduce la complejidad de la transacción.
• Confiabilidad.
• Robustez.
• Capacidad de ampliación.

2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.
Rangel E. (2008). Fundamentos de programación en java.
mitecnologico.com/Main/ElEnfoqueEstructurado.
Rangel E. (2008). Fundamentos de programación en java.
mitecnologico.com/Main/ElEnfoqueOrientadoAObjetos.

3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque

Análisis y diseño del enfoque estructurado
El análisis es una actividad de construcción de modelos. Mediante una notación que es única de este método, se crean modelos que reflejan el flujo y el contenido de la información (datos y control).
El diseño estructurado persigue elaborar algoritmos que cumplan la propiedad de modularidad para ello, dado un problema que se pretende resolver mediante la elaboración de un programa de ordenador.
Análisis y diseño del enfoque orientado a objetos
En este método de análisis y diseño se crea un conjunto de modelos utilizando una notación acordada como, por ejemplo, el lenguaje unificado de modelado (UML). ADOO aplica técnicas de modelado de objetos para analizar los requerimientos para un contexto.
Kassandra García Pedroza
Coincido con mi compañero eulises por que tiene razón en la información que el subió está bien

kasy
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty UNIDAD 4

Mensaje por Fernando Vega Juanchi Lun Mayo 07, 2012 5:49 pm

1.- Identificar al menos dos enfoques en el desarrollo de sistemas de información, para exponer o presentar en este Foro, algunas características sobresalientes de cada uno de ellos.

ENFOQUE ESTRUCTURADO:

En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente. DFD es un diagrama en el q participan procesos (métodos), flujo de datos (argumentos) y archivos (base de datos). Hay de diferentes niveles dependiendo la complejidad del sistema q analiza. Hablando de lenguajes Tiene muchas diferencias con la OO. Un mínimo cambio en el código puede llegar alterar al resto del programa cosa que en uno OO bien encarado eso no sucede lo cual es una ventaja porque así no se pierde tiempo en arreglar cosas ya hechas. Otra desventaja es que una porción de código en lenguaje estructurado es difícil que pueda servir en otros proyectos, esto sí es habitual en lenguajes OO, con solo importar clases ya hechas se escribe menos código y se ahorra tiempo.

Un método de ingeniería del software es un enfoque estructurado para el desarrollo de software cuyo propósito es facilitar la producción de software de alta calidad de una forma costeable. Métodos como Análisis Estructurado (DeMarco, 1978) y JSD (Jack- son, 1983) fueron los primeros desarrolladores en los años 70. Estos métodos intentaron identificar los componentes funcionales básicos de un sistema de tal forma que los métodos orientados a funciones aún se utilizan ampliamente. En los años 80 y 90, estos métodos orientados a funciones fueron complementados por métodos orientados a objetos, como los propuestos por Booh (994) y Rumbaugh et al., 1991). Estos diferentes enfoques se han integrado a un solo enfoque unificado basado en UML (Lenguaje de Modelado Unificado).
Todos los métodos basados en la idea de modelos gráficos de desarrollo de un sistema y en el uso de estos modelos como un sistema de especificación o de diseño. Los métodos incluyen una variedad de componentes diferentes que son:

COMPONENTE:
Descripciones del modelo del sistema
Reglas
Recomendaciones
Guías en el proceso

DESCRIPCIÓN:
Descripción de los modelos del Sistema que se desarrollará y la notación utilizada para definir los modelos.
Restricciones que siempre aplican a los modelos de sistemas.
Heurística que caracteriza una buena práctica de diseño en este método. Seguir estas recomendaciones debe dar como resultado un modelo del sistema bien organizado.
Descripciones de las actividades que deben seguirse para desarrollar los modelos del sistema y la organización de estas actividades.

EJEMPLO:
Modelos de objetos, de flujo de datos, de maquinas de estado, etc.
Cada entidad de un modelo de sistema debe tener nombre único.
Ningún objeto debe tener más de 7 subobjetos asociados a él.
Los atributos de los objetos deben documentarse antes de definir las operaciones asociadas a un objeto.

Caracteristicas:

En el enfoque estructurado se usan los DFD (Diagrama de Flujo de Datos) como principal herramienta para entender al sistema antes de plasmarlo a código fuente.
Los programas son más fáciles de entender.
Encapsulación clase y herencia.


ENFOQUE ORIENTADO A OBJETOS:

Programación Orientada a Objeto (POO):
La programación Orientada a Objetos es una metodología que basa la estructura de los programas en torno a los objetos.
Los lenguajes de POO ofrecen medios y herramientas para describir los objetos manipulados por un programa. Más que describir cada objeto individualmente, estos lenguajes proveen una construcción (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades.
Hacia mediados de los 80, los beneficios de la programación orientada a objetos empezaron a obtener reconocimiento, y el diseño de objetos pareció ser un enfoque sensato para la gente que deseaba utilizar el lenguaje de programación orientada a objetos. Un enfoque orientado a objetos para programar ofrece muchos beneficios sobre un enfoque estructurado.

Objeto:
Es una entidad (tangible o intangible) que posee características y acciones que realiza por sí solo o interactuando con otros objetos.
Un objeto es una entidad caracterizada por sus atributos propios y cuyo comportamiento está determinado por las acciones o funciones que pueden modificarlo, así como también las acciones que requiere de otros objetos. Un objeto tiene identidad e inteligencia y constituye una unidad que oculta tanto datos como la descripción de su manipulación. Puede ser definido como una encapsulación y una abstracción: una encapsulación de atributos y servicios, y una abstracción del mundo real.
Para el contexto del Enfoque Orientado a Objetos (EOO) un objeto es una entidad que encapsula datos (atributos) y acciones o funciones que los manejan (métodos). También para el EOO un objeto se define como una instancia o particularización de una clase.
Los objetos de interés durante el desarrollo de software no sólo son tomados de la vida real (objetos visibles o tangibles), también pueden ser abstractos. En general son entidades que juegan un rol bien definido en el dominio del problema. Un libro, una persona, un carro, un polígono, son apenas algunos ejemplos de objeto.
Cada objeto puede ser considerado como un proveedor de servicios utilizados por otros objetos que son sus clientes. Cada objeto puede ser a al vez proveedor y cliente. De allí que un programa pueda ser visto como un conjunto de relaciones entre proveedores clientes. Los servicios ofrecidos por los objetos son de dos tipos:
1.- Los datos, que llamamos atributos.
2.- Las acciones o funciones, que llamamos métodos.

Características Generales:

*Un objeto se identifica por un nombre o un identificador único que lo diferencia de los demás. Ejemplo: el objeto Cuenta de Ahorros número 12345 es diferente al objeto Cuenta de Ahorros número 25789. En este caso el identificador que los hace únicos es el número de la cuenta.

*Un objeto posee estados. El estado de un objeto está determinado por los valores que poseen sus atributos en un momento dado.

*Un objeto tiene un conjunto de métodos. El comportamiento general de los objetos dentro de un sistema se describe o representa mediante sus operaciones o métodos. Los métodos se utilizarán para obtener o cambiar el estado de los objetos, así como para proporcionar un medio de comunicación entre objetos.
Un objeto tiene un conjunto de atributos. Los atributos de un objeto contienen valores que determinan el estado del objeto durante su tiempo de vida. Se implementan con variables, constantes y estructuras de datos (similares a los campos de un registro).

*El análisis orientado a objetos y su diseño se enfoca en los objetos.

*Los objetos tienen ciertos comportamientos y atributos que determinan la manera en que interactúan y funcionan.

*Las implementaciones orientadas a objetos ocultan datos, lo cual significa que muestran únicamente los comportamientos a los usuarios y ocultan el código subyacente de un objeto.


2.- Escriba un listado de fuentes bibliográficas o electrónicas que usted haya consultado para el estudio del paradigma o enfoque estructurado, y también, el orientado a objetos.

Muestra de las fuentes bibliográficas que consulte para realizar esta tarea:

http://www.itpuebla.edu.mx/Alumnos/Cursos_Tutoriales/Ana_Sosa_Pintle/SISTEMAS/ARCHIVOS_FUNDAMENTOS/ARCHIVOS/U4_1.htm
http://www.mitecnologico.com/Main/ElEnfoqueEstructurado
http://www.buenastareas.com/ensayos/Enfoque-Estructurado/527134.html
http://ucvalgoritmos.files.wordpress.com
http://www.mitecnologico.com/Main/ElEnfoqueOrientadoAObjetos


3.- Comparando las características del paradigma o enfoque estructurado con el orientado a objetos, considere al menos dos diferencias que destacan en la fase del análisis y en la fase del diseño. Además, mencione un ejemplo, donde pueda determinar los alcances y aplicaciones de cada enfoque.

ENFOQUE ESTRUCUTRADO:
En el enfoque estructurado se utiliza la herramienta DFD
Para un cierto problema se pueden diseñar distintos algoritmos y por ende, distintos programas.

ENFOQUE ORIENTADO A OBJETOS:
En este método de análisis y diseño se crea un conjunto de modelos utilizando una notación acordada como, por ejemplo, el lenguaje unificado de modelado (UML).
El enfoque orientado a objetos permite que los objetos estén auto contenidos. Los objetos existen por sí mismos, con una funcionalidad para invocar comportamientos de otros objetos.

Fernando Vega Juanchi

Mensajes : 3
Fecha de inscripción : 01/04/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty RETROALIMENTACION

Mensaje por anayeli torres jaramillo Lun Mayo 07, 2012 7:49 pm

bueno lo que le falto a mi compañero luis angel zapata perez fue la definicion de cada carateristicas de enfoque orientado a objetos



Abstracción: denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.
Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
Modularidad: Se denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la Modularidad de diversas formas.
Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.
Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.
Recolección de basura: la recolección de basura o garbage collector es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. En la mayoría de los lenguajes híbridos que se extendieron para soportar el Paradigma de Programación Orientada a Objetos como C++ u Object Pascal, esta característica no existe y la memoria debe desasignarse manualmente.


anayeli torres jaramillo Very Happy

anayeli torres jaramillo

Mensajes : 5
Fecha de inscripción : 19/03/2012

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty REVISION_DEL_FORO

Mensaje por MC_EDGAR Mar Mayo 08, 2012 11:34 am

Que tal, estimados estudiantes de Ing. en Informática, los saludo y felicito por sus participaciones.

Me es grado apreciar que la mayoría pudo alcanzar la competencia específica de la unidad, al analizar las técnicas y/o metodologías para la planeación de un proyecto, de acuerdo con los enfoques o paradigmas de ingeniería del software: Estructurado y Orientado a Objetos.

Cabe mencionar que algunas fuentes señaladas han sido muy contundentes, los felicito.

Hasta aquí serán consideradas las participaciones como evaluación parcial.

Las siguientes participaciones, pueden resultar válidas, pero tendrán menos porcentaje en "primera oportunidad", o en su defecto, pueden ser consideradas para la "segunda oportunidad" en el caso de no aprobar la unidad.


Atentamente:

M.C. Edgar - Rangel - Lugo .



MC_EDGAR
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty entrevista a un desarrollador de software

Mensaje por anayeli Miér Mayo 30, 2012 9:50 pm

ENTREVISTA A DESARROLLADOR DE SOFTWARE

ENTREVISTA A OMAR MENERA GAONA. DESARROLLADOR DE SOFTWARE

1 ¿Cuándo una organización necesita un software diferente a cualquiera que se pueda adquirir en el mercado?

R= cuando sus actividades son demasiados específicas o complejas y un software comprado no las pueda suplir.

2 ¿Qué diferencia en el uso puede haber entre comprar y desarrollar un software?

R= que al desarrollar el software, el usuario puede conocer exactamente todos los procesos e identificar fácilmente las posible fallas o errores durante el uso del mismo, además puede corregirlo rápidamente.

3 ¿Qué diferencia en costo puede tener un software comprado a uno desarrollado?

R= todo depende del tipo de software, me explico: cuando el software desarrollado necesita personal especializado en el área se incrementaría un poco la nomina de la empresa mientras se desarrolla, pero ahorra en costos de licenciamiento y actualizaciones que posiblemente deba pagar por un software comprado.

4 ¿Qué diferencia en tiempo de entrega se puede tener?

R= repito, depende del tipo de software y las complejidades de los procesos a desarrollar en el, pero puede tardar entre una semana y uno o dos meses de entrega el software de desarrollado mientas que el software comprado se reduce ese tiempo a los términos de la distancia. ejemplo si vas a comprar un software donde sus oficinas de comercialización del mismo queda en Toluca y tu estas en ciudad Altamirano la demora está en la distancia o desplazamiento para la entrega y en ocasiones te cobran más por el envió.

5 ¿Por qué es mejor desarrollar que comprar?

R= porque se pueden satisfacer la necesidades reales de la empresa y así mismo se minimizan sus riesgos.

6 ¿Cuándo se considera mejor comprar que desarrollar?

R= cuando el usuario encuentre un software ya creado que suplante todas las necesidades de su empresa tanto generales como particulares… y esto es muy difícil de encontrar.

ANAYELI TORRES JARAMILLO

anayeli
Invitado


Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Revisión Del Grupo

Mensaje por Admin Dom Nov 10, 2013 10:43 am

Los felicito por sus participaciones !!!

Me es grato apreciar que hayan trabajo de manera colaborativa para poder alcanzar la competencia específica de Unidad. También los felicito por sus réplicas, sobre todo, aquellas que retroalimentan y/o apoyan a otros compañeros entorno a una duda o alguna temática. Y las críticas constructivas también son bienvenidas y merecen todo mi reconocimiento.
Los felicito nuevamente por sus participaciones.

ATTE:

M.C. Edgar Rangel Lugo.


Admin
Admin

Mensajes : 349
Fecha de inscripción : 14/03/2012

https://erangel.foroactivo.mx

Volver arriba Ir abajo

Unidad 4.- Paradigmas de la ingenieria del software - Página 2 Empty Re: Unidad 4.- Paradigmas de la ingenieria del software

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 2 de 2. Precedente  1, 2

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.