Este documento presenta los fundamentos de la programación orientada a objetos. Explica conceptos clave como clases, objetos, abstracción, encapsulamiento, jerarquía y herencia. También describe las etapas del ciclo de vida del desarrollo de software como especificación de requisitos, análisis, diseño y programación. Resalta cómo la POO permite manejar mejor la complejidad del software a través de la modularidad y agrupación de elementos en clases y objetos.
Este documento resume los conceptos básicos de Visual Basic 6.0, incluyendo su entorno de desarrollo, los controles disponibles, y la terminología clave como objetos, propiedades, procedimientos y eventos. Explica brevemente las fases del proceso de programación y los principios básicos de la programación orientada a objetos. También incluye ejemplos sencillos de programas para familiarizarse con los controles de Visual Basic.
Unidades 1, 2 y 3: Fase 4 - Consolidar Documento de requerimientos (SRS)German Duarte
Este documento presenta los requisitos para el desarrollo de una aplicación móvil y página web para la empresa La Colmena. El propósito es permitir que los usuarios soliciten y reserven los diversos servicios ofrecidos por la empresa de una manera fácil e inteligente. Se describe el alcance del proyecto, los usuarios involucrados, y se provee una introducción general a las funcionalidades clave y características del producto.
1) El documento describe los pasos para modelar el negocio con RUP y UML, incluyendo identificar actores, casos de uso, trabajadores y entidades del negocio.
2) Se explica cómo detallar los casos de uso del negocio a través de una especificación y un diagrama de actividades, describiendo el flujo básico y alternativas.
3) Finalmente, se definen los elementos de un diagrama de actividades como estados, actividades, transiciones y decisiones para modelar la dinámica de los casos de uso del negocio
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Oswaldo Hernández
SISTEMA WEB PARA LA GESTIÓN DE PERMISOS DEL
PERSONAL DE LA ZONA EDUCATIVA DEL ESTADO SUCRE
PERIODO 2015-2016/
CUMANÁ ESTADO SUCRE
DIAGRAMA DE CLASES
DIAGRAMA DE SECUENCIA
PATRONES DE DISEÑO
Documento de Estándares
de Interfaz Gráfica
Este documento describe un proyecto para desarrollar un sistema de impresión de horarios docentes para una escuela secundaria técnica. El proyecto tiene como objetivo que los docentes puedan consultar e imprimir su carga académica y horario de manera online. Se detallan los requerimientos de hardware y software, así como el marco teórico, operativo y conceptual. Se incluyen diagramas de casos de uso, secuencias y el diseño de la interfaz y base de datos para el sistema.
Este documento describe la fragmentación de datos y sus tipos principales. Explica que la fragmentación ocurre cuando la información se divide y distribuye entre varios sitios de red. Luego describe los tres tipos principales de fragmentación: horizontal, vertical e híbrida. También discute conceptos como los objetivos de la fragmentación, ventajas y desventajas, y las reglas para asegurar la corrección de la fragmentación.
Esta presentación nos muestra los conceptos Fundamentales para el Diseño y Creación de Base de Datos Relacionales, se Centra en el Modelo de Datos Relacional, ya que es el mas usado a nivel mundial.
Este documento resume los conceptos básicos de Visual Basic 6.0, incluyendo su entorno de desarrollo, los controles disponibles, y la terminología clave como objetos, propiedades, procedimientos y eventos. Explica brevemente las fases del proceso de programación y los principios básicos de la programación orientada a objetos. También incluye ejemplos sencillos de programas para familiarizarse con los controles de Visual Basic.
Unidades 1, 2 y 3: Fase 4 - Consolidar Documento de requerimientos (SRS)German Duarte
Este documento presenta los requisitos para el desarrollo de una aplicación móvil y página web para la empresa La Colmena. El propósito es permitir que los usuarios soliciten y reserven los diversos servicios ofrecidos por la empresa de una manera fácil e inteligente. Se describe el alcance del proyecto, los usuarios involucrados, y se provee una introducción general a las funcionalidades clave y características del producto.
1) El documento describe los pasos para modelar el negocio con RUP y UML, incluyendo identificar actores, casos de uso, trabajadores y entidades del negocio.
2) Se explica cómo detallar los casos de uso del negocio a través de una especificación y un diagrama de actividades, describiendo el flujo básico y alternativas.
3) Finalmente, se definen los elementos de un diagrama de actividades como estados, actividades, transiciones y decisiones para modelar la dinámica de los casos de uso del negocio
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Oswaldo Hernández
SISTEMA WEB PARA LA GESTIÓN DE PERMISOS DEL
PERSONAL DE LA ZONA EDUCATIVA DEL ESTADO SUCRE
PERIODO 2015-2016/
CUMANÁ ESTADO SUCRE
DIAGRAMA DE CLASES
DIAGRAMA DE SECUENCIA
PATRONES DE DISEÑO
Documento de Estándares
de Interfaz Gráfica
Este documento describe un proyecto para desarrollar un sistema de impresión de horarios docentes para una escuela secundaria técnica. El proyecto tiene como objetivo que los docentes puedan consultar e imprimir su carga académica y horario de manera online. Se detallan los requerimientos de hardware y software, así como el marco teórico, operativo y conceptual. Se incluyen diagramas de casos de uso, secuencias y el diseño de la interfaz y base de datos para el sistema.
Este documento describe la fragmentación de datos y sus tipos principales. Explica que la fragmentación ocurre cuando la información se divide y distribuye entre varios sitios de red. Luego describe los tres tipos principales de fragmentación: horizontal, vertical e híbrida. También discute conceptos como los objetivos de la fragmentación, ventajas y desventajas, y las reglas para asegurar la corrección de la fragmentación.
Esta presentación nos muestra los conceptos Fundamentales para el Diseño y Creación de Base de Datos Relacionales, se Centra en el Modelo de Datos Relacional, ya que es el mas usado a nivel mundial.
Este documento presenta una introducción a varios estilos arquitectónicos, incluyendo arquitectura centrada en datos, centrada en flujos de datos, llamada y respuesta, orientada a objetos y en capas. Define cada estilo y proporciona ejemplos. El objetivo es estudiar estos estilos arquitectónicos y comprender sus fundamentos para el desarrollo de software.
Este documento describe diferentes estilos de organización y descomposición de sistemas de información. Explica arquitecturas centradas en datos, en capas, distribuidas y de aplicaciones, así como descomposiciones modulares orientadas a objetos y flujos de funciones. También cubre modelos de control centralizado y basado en eventos para la coordinación de subsistemas.
El documento resume los conceptos clave del lenguaje de presentación CSS. Explica que CSS separa el contenido de una página web de su presentación visual, permitiendo definir estilos que se aplican a elementos HTML. Describe la sintaxis básica de CSS y cómo pueden definirse estilos internamente en una página o en archivos externos. También explica los diferentes tipos de medios para los que se pueden aplicar estilos, como pantallas, impresoras y dispositivos móviles.
Este documento describe el patrón de diseño Modelo Vista Controlador (MVC). Explica que MVC separa una aplicación en tres capas o componentes: la capa del modelo, la capa de la vista y la capa del controlador. Detalla las responsabilidades de cada capa y tres variantes comunes de MVC. También explica el flujo general de cómo estas capas interactúan entre sí.
Resumen del Rational Unified Process (RUP) para la materia de Análisis y Diseño de Sistemas de Información (INF - 162) de la carrera de Informática de la Universidad Mayor de San Andrés
Este documento describe la metodología orientada a objetos y el modelado de sistemas de información bajo esta metodología. Explica que la metodología orientada a objetos considera que los sistemas pueden verse como un conjunto de objetos que interactúan entre sí. Luego enumera los elementos primarios y secundarios del modelo de objetos. Finalmente, detalla los diferentes diagramas que se usan en el modelado de sistemas de información con UML, incluyendo diagramas de clases, casos de uso, objetos, actividades, secuencia, colaboración,
El documento describe el diseño de la arquitectura de software. Explica que la arquitectura identifica los elementos e interacciones más importantes de un sistema y provee una visión global. También cubre estilos arquitectónicos como centrados en datos, flujo de datos, llamada y retorno, orientados a objetos y estratificados. El propósito de la arquitectura es facilitar la comunicación, reducir riesgos y considerar alternativas de diseño temprano.
Este documento describe los conceptos fundamentales de la metodología orientada a objetos, incluyendo clases, objetos, atributos, métodos, encapsulamiento, herencia y las fases del análisis orientado a objetos, diseño orientado a objetos e implementación. También explica las ventajas de esta metodología, como la reutilización de código a través de la herencia y las clases.
El documento describe diferentes estilos arquitectónicos para el diseño de software. Explica que los estilos arquitectónicos definen categorías de sistemas que incluyen componentes, conectores, restricciones y modelos semánticos. También cubre estilos como la arquitectura centrada en datos, la arquitectura de flujo de datos, y las arquitecturas de llamada y retorno.
Slides utilizadas en el evento de "Introducción a Visual Studio" realizado el 12/11/2012 en el DotNetClub de Albacete
Introducción al IDE, características / funciones más destacadas, novedades de la versión 2015….
El documento resume los elementos básicos del lenguaje HTML como el formato de texto, cabeceras, color, tipo de letra y tamaño. Explica cómo aplicar etiquetas como <b>, <i>, <u>, <h1-h6> para dar formato a texto y cómo usar atributos como "face", "size" y "color" para controlar el tipo, tamaño y color del texto.
Este documento presenta 5 casos prácticos resueltos que utilizan el Lenguaje Unificado de Modelado (UML) para el análisis y diseño de sistemas de información. El primer caso práctico modela un sistema de gestión de agendas y reuniones mediante diagramas de casos de uso, especificaciones de casos de uso, diagramas de clases y secuencia. Los otros 4 casos prácticos resuelven parte del problema modelando diagramas de casos de uso y/o clases. El documento proporciona una guía detallada para aplicar el Proceso
Metodologías de programación orientado a eventos y distribuidaSergio Olivares
El documento presenta información sobre las metodologías de programación orientada a eventos y distribuida. Explica que la programación orientada a eventos se basa en la ejecución de programas determinada por los eventos que ocurren, mientras que la programación distribuida desarrolla sistemas tolerantes a fallos al no estar centralizados en un solo lugar. También proporciona ejemplos de lenguajes orientados a eventos como Visual Basic y Java, y describe la arquitectura cliente-servidor como un sistema distribuido.
Cuadro comparativo modelos para el desarrollo de softwarepaoaboytes
Este documento presenta un cuadro comparativo de diferentes modelos para el desarrollo de software, incluyendo el modelo lineal secuencial, el modelo en cascada, el modelo en espiral, el modelo incremental, los modelos de prototipos y el modelo evolutivo. Describe las características, ventajas y desventajas de cada modelo, así como sus aplicaciones típicas.
Este documento describe los componentes básicos de Java AWT como etiquetas, cuadros de texto y botones. Explica cómo crear y usar estos componentes mediante constructores, métodos y eventos para desarrollar interfaces gráficas de usuario simples como una calculadora básica.
Tipos de Requerimientos en Ingeniería de SoftwareLeo Ruelas Rojas
El documento define requerimiento como una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo, o una capacidad que debe estar presente en un sistema. Explica que existen requerimientos funcionales, que describen las funciones de un sistema, y no funcionales, que definen sus características generales. Finalmente, describe técnicas como entrevistas, observación y cuestionarios para recolectar requerimientos de usuarios.
El documento describe el diseño de un diagrama de clases para modelar el proceso de dar de alta a personas en una asociación. Se identifican las clases Persona, Socio, NIF, Nombre, Fecha y sus atributos. Se definen las relaciones entre las clases, incluyendo herencia, agregación y composición.
El documento describe los conceptos de diseño conceptual, diseño lógico y diseño físico en el desarrollo de sistemas de información. El diseño conceptual implica identificar usuarios, casos de uso y escenarios. El diseño lógico traduce los casos de uso en objetos de negocio y especificaciones funcionales. El diseño físico implementa el diseño lógico considerando componentes, acoplamiento y cohesión. También se discuten heurísticas de diseño como el tamaño y ámbito de control de los módulos
El documento describe el control Timer en Visual Basic, el cual se usa para ejecutar código en intervalos regulares sin necesidad de mostrar una representación visual. Explica cómo agregar un control Timer a un formulario, establecer su propiedad Interval para determinar la frecuencia, y escribir código en el evento Timer_Tick que se ejecutará periódicamente. También muestra cómo habilitar y deshabilitar el Timer en tiempo de ejecución para iniciar y detener la ejecución periódica del código.
Este documento resume los fundamentos de la programación orientada a objetos. Explica conceptos clave como clases, objetos, abstracción, encapsulamiento, modularidad, herencia y polimorfismo. También describe las etapas del ciclo de vida del desarrollo de software como especificación de requisitos, análisis, diseño y programación, enfocándose en el enfoque orientado a objetos para cada una.
La programación orientada a objetos permite modelar el mundo real mediante la representación de objetos y clases. Los objetos encapsulan sus atributos y métodos y se agrupan en clases jerárquicas relacionadas por herencia y polimorfismo, lo que facilita el desarrollo de software modular, reutilizable y adaptable.
Este documento presenta una introducción a varios estilos arquitectónicos, incluyendo arquitectura centrada en datos, centrada en flujos de datos, llamada y respuesta, orientada a objetos y en capas. Define cada estilo y proporciona ejemplos. El objetivo es estudiar estos estilos arquitectónicos y comprender sus fundamentos para el desarrollo de software.
Este documento describe diferentes estilos de organización y descomposición de sistemas de información. Explica arquitecturas centradas en datos, en capas, distribuidas y de aplicaciones, así como descomposiciones modulares orientadas a objetos y flujos de funciones. También cubre modelos de control centralizado y basado en eventos para la coordinación de subsistemas.
El documento resume los conceptos clave del lenguaje de presentación CSS. Explica que CSS separa el contenido de una página web de su presentación visual, permitiendo definir estilos que se aplican a elementos HTML. Describe la sintaxis básica de CSS y cómo pueden definirse estilos internamente en una página o en archivos externos. También explica los diferentes tipos de medios para los que se pueden aplicar estilos, como pantallas, impresoras y dispositivos móviles.
Este documento describe el patrón de diseño Modelo Vista Controlador (MVC). Explica que MVC separa una aplicación en tres capas o componentes: la capa del modelo, la capa de la vista y la capa del controlador. Detalla las responsabilidades de cada capa y tres variantes comunes de MVC. También explica el flujo general de cómo estas capas interactúan entre sí.
Resumen del Rational Unified Process (RUP) para la materia de Análisis y Diseño de Sistemas de Información (INF - 162) de la carrera de Informática de la Universidad Mayor de San Andrés
Este documento describe la metodología orientada a objetos y el modelado de sistemas de información bajo esta metodología. Explica que la metodología orientada a objetos considera que los sistemas pueden verse como un conjunto de objetos que interactúan entre sí. Luego enumera los elementos primarios y secundarios del modelo de objetos. Finalmente, detalla los diferentes diagramas que se usan en el modelado de sistemas de información con UML, incluyendo diagramas de clases, casos de uso, objetos, actividades, secuencia, colaboración,
El documento describe el diseño de la arquitectura de software. Explica que la arquitectura identifica los elementos e interacciones más importantes de un sistema y provee una visión global. También cubre estilos arquitectónicos como centrados en datos, flujo de datos, llamada y retorno, orientados a objetos y estratificados. El propósito de la arquitectura es facilitar la comunicación, reducir riesgos y considerar alternativas de diseño temprano.
Este documento describe los conceptos fundamentales de la metodología orientada a objetos, incluyendo clases, objetos, atributos, métodos, encapsulamiento, herencia y las fases del análisis orientado a objetos, diseño orientado a objetos e implementación. También explica las ventajas de esta metodología, como la reutilización de código a través de la herencia y las clases.
El documento describe diferentes estilos arquitectónicos para el diseño de software. Explica que los estilos arquitectónicos definen categorías de sistemas que incluyen componentes, conectores, restricciones y modelos semánticos. También cubre estilos como la arquitectura centrada en datos, la arquitectura de flujo de datos, y las arquitecturas de llamada y retorno.
Slides utilizadas en el evento de "Introducción a Visual Studio" realizado el 12/11/2012 en el DotNetClub de Albacete
Introducción al IDE, características / funciones más destacadas, novedades de la versión 2015….
El documento resume los elementos básicos del lenguaje HTML como el formato de texto, cabeceras, color, tipo de letra y tamaño. Explica cómo aplicar etiquetas como <b>, <i>, <u>, <h1-h6> para dar formato a texto y cómo usar atributos como "face", "size" y "color" para controlar el tipo, tamaño y color del texto.
Este documento presenta 5 casos prácticos resueltos que utilizan el Lenguaje Unificado de Modelado (UML) para el análisis y diseño de sistemas de información. El primer caso práctico modela un sistema de gestión de agendas y reuniones mediante diagramas de casos de uso, especificaciones de casos de uso, diagramas de clases y secuencia. Los otros 4 casos prácticos resuelven parte del problema modelando diagramas de casos de uso y/o clases. El documento proporciona una guía detallada para aplicar el Proceso
Metodologías de programación orientado a eventos y distribuidaSergio Olivares
El documento presenta información sobre las metodologías de programación orientada a eventos y distribuida. Explica que la programación orientada a eventos se basa en la ejecución de programas determinada por los eventos que ocurren, mientras que la programación distribuida desarrolla sistemas tolerantes a fallos al no estar centralizados en un solo lugar. También proporciona ejemplos de lenguajes orientados a eventos como Visual Basic y Java, y describe la arquitectura cliente-servidor como un sistema distribuido.
Cuadro comparativo modelos para el desarrollo de softwarepaoaboytes
Este documento presenta un cuadro comparativo de diferentes modelos para el desarrollo de software, incluyendo el modelo lineal secuencial, el modelo en cascada, el modelo en espiral, el modelo incremental, los modelos de prototipos y el modelo evolutivo. Describe las características, ventajas y desventajas de cada modelo, así como sus aplicaciones típicas.
Este documento describe los componentes básicos de Java AWT como etiquetas, cuadros de texto y botones. Explica cómo crear y usar estos componentes mediante constructores, métodos y eventos para desarrollar interfaces gráficas de usuario simples como una calculadora básica.
Tipos de Requerimientos en Ingeniería de SoftwareLeo Ruelas Rojas
El documento define requerimiento como una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo, o una capacidad que debe estar presente en un sistema. Explica que existen requerimientos funcionales, que describen las funciones de un sistema, y no funcionales, que definen sus características generales. Finalmente, describe técnicas como entrevistas, observación y cuestionarios para recolectar requerimientos de usuarios.
El documento describe el diseño de un diagrama de clases para modelar el proceso de dar de alta a personas en una asociación. Se identifican las clases Persona, Socio, NIF, Nombre, Fecha y sus atributos. Se definen las relaciones entre las clases, incluyendo herencia, agregación y composición.
El documento describe los conceptos de diseño conceptual, diseño lógico y diseño físico en el desarrollo de sistemas de información. El diseño conceptual implica identificar usuarios, casos de uso y escenarios. El diseño lógico traduce los casos de uso en objetos de negocio y especificaciones funcionales. El diseño físico implementa el diseño lógico considerando componentes, acoplamiento y cohesión. También se discuten heurísticas de diseño como el tamaño y ámbito de control de los módulos
El documento describe el control Timer en Visual Basic, el cual se usa para ejecutar código en intervalos regulares sin necesidad de mostrar una representación visual. Explica cómo agregar un control Timer a un formulario, establecer su propiedad Interval para determinar la frecuencia, y escribir código en el evento Timer_Tick que se ejecutará periódicamente. También muestra cómo habilitar y deshabilitar el Timer en tiempo de ejecución para iniciar y detener la ejecución periódica del código.
Este documento resume los fundamentos de la programación orientada a objetos. Explica conceptos clave como clases, objetos, abstracción, encapsulamiento, modularidad, herencia y polimorfismo. También describe las etapas del ciclo de vida del desarrollo de software como especificación de requisitos, análisis, diseño y programación, enfocándose en el enfoque orientado a objetos para cada una.
La programación orientada a objetos permite modelar el mundo real mediante la representación de objetos y clases. Los objetos encapsulan sus atributos y métodos y se agrupan en clases jerárquicas relacionadas por herencia y polimorfismo, lo que facilita el desarrollo de software modular, reutilizable y adaptable.
Este documento presenta los fundamentos de la programación orientada a objetos. Explica conceptos clave como clases, objetos, atributos, métodos, abstracción, encapsulamiento, herencia y polimorfismo. También describe las etapas del ciclo de vida del desarrollo de software como especificación de requisitos, análisis, diseño, programación y mantenimiento.
Este documento presenta una introducción al análisis y diseño orientado a objetos. Explica conceptos clave como objetos, clases y herencia. Describe tres métodos populares para el análisis y diseño orientado a objetos: el método de Rumbaugh (OMT), el método de Booch y el método de Jacobson. También discute ventajas y riesgos del desarrollo orientado a objetos.
Este documento describe los conceptos fundamentales del diseño orientado a objetos. En primer lugar, explica que el DOO crea una representación del problema del mundo real en forma de objetos de software. Luego, resume los principales pasos del DOO, que incluyen identificar los objetos y sus atributos, establecer las interfaces entre objetos, y organizar las relases entre clases mediante herencia. Finalmente, el documento proporciona un ejemplo detallado de cómo aplicar estos pasos para diseñar un sistema de procesamiento de texto sencillo.
Este documento describe el análisis y diseño orientado a objetos (ADOO), incluyendo sus conceptos clave como objetos, clases, herencia y encapsulamiento. Explica los pasos del ADOO como la identificación de objetos y clases, la organización de relaciones entre clases, y la construcción de jerarquías y bibliotecas de clases. También cubre métodos específicos como el método gramatical de Booch para identificar objetos a partir de una descripción del problema.
Este documento presenta la información sobre la asignatura Análisis y Diseño de Sistemas II impartida por el Prof. Daniel Gutiérrez Albenda. Incluye detalles sobre la evaluación, programación orientada a objetos, componentes de P.O.O., objetos, constructores, identificación de problemas e ingeniería de requerimientos.
El documento presenta una introducción a la programación orientada a objetos. Explica que la OOP se enfoca más en el diseño de software que en un lenguaje específico, y que permite modelar problemas de una manera similar a como están organizados en el mundo real a través de objetos, clases y herencia. También describe algunos beneficios clave de la OOP como la claridad, flexibilidad, estabilidad y reusabilidad.
El documento describe los conceptos fundamentales del Diseño Orientado a Objetos (DOO). Explica que el DOO crea una representación del problema del mundo real y lo hace corresponder con el ámbito de la solución del software mediante objetos, operaciones y mensajes. También describe los conceptos clave del DOO como clases, instancias, herencia, descripciones de objetos y métodos de diseño orientados a objetos.
Fundamentos y metodos de analisis de requerimientosclaudiocaizales
Este documento describe los conceptos y metodologías clave para la planificación y el análisis de requisitos de proyectos de software, incluido el análisis orientado a objetos. Explica que la planificación de proyectos de software implica estimaciones y que el análisis de requisitos es fundamental para el éxito del proyecto. Además, describe los principios, documentos, diagramas y técnicas empleados en el análisis orientado a objetos para modelar los requisitos del sistema.
Este documento presenta los temas de las características del modelo orientado a objetos y los elementos primordiales de este modelo. Explica que el modelo orientado a objetos ofrece ventajas como la robustez, extensibilidad, reutilización y eficiencia. Luego describe elementos clave como la abstracción, encapsulamiento, herencia, polimorfismo y modularidad. El objetivo es proporcionar una mejor comprensión de este importante paradigma de programación.
Este documento presenta una introducción a los fundamentos y métodos de análisis de requerimientos. Explica que los requerimientos son cruciales para el éxito de los proyectos de software. Luego describe varios métodos y conceptos clave relacionados con el análisis y modelado de requerimientos, incluyendo el análisis estructurado, el desarrollo del sistema de Jackson, la programación orientada a objetos y el análisis y diseño orientado a objetos. Finalmente, concluye que la ingeniería de requisitos es
Fundamentos y metodos de analisis de requerimientosclaudiocaizales
Este documento presenta una introducción a los fundamentos y métodos de análisis de requerimientos para proyectos de software. Explica que los requerimientos son cruciales para el éxito de un proyecto y cubre temas como la planificación de proyectos, el análisis orientado a objetos, la metodología para el análisis de requerimientos y la clasificación de los requerimientos. Finalmente, concluye que la ingeniería de requisitos es una disciplina compleja para obtener especificaciones formales del sistema a desarroll
Este documento presenta una introducción al diseño orientado a objetos, describiendo sus características principales, ventajas y componentes. Explica conceptos como objetos, clases, herencia, comunicación entre objetos, y métodos de diseño orientado a objetos. También compara el enfoque convencional de diseño de software con el enfoque orientado a objetos.
1) El documento describe varios métodos para el análisis de requerimientos para el desarrollo de software, incluyendo el análisis orientado a objetos, el método de análisis orientado al flujo de datos, y el desarrollo del sistema estructurado de datos. 2) También explica conceptos clave de la programación orientada a objetos como clases, objetos e instancias. 3) El objetivo del análisis de requerimientos es comprender todos los componentes necesarios para definir un software a través del uso de técnicas
1. El documento describe los conceptos fundamentales de la programación orientada a objetos, incluyendo clases, objetos, herencia, encapsulamiento y polimorfismo. 2. Explica las ventajas de la POO sobre la programación tradicional, como permitir al programador organizar el código de una manera más cercana a cómo piensa la gente y evitar datos globales. 3. También proporciona una perspectiva histórica sobre cómo la programación ha evolucionado hacia paradigmas más descompuestos como la programación estructurada y la orientada a objetos.
Fundamentos y metodos de analisis de requerimientos Mirla Montaño
El documento habla sobre los fundamentos y métodos de análisis de requerimientos para el desarrollo de software. Explica que el análisis implica dividir un tema complejo en partes más pequeñas para comprenderlo mejor. También describe técnicas como la entrevista preliminar y el despliegue de la función de calidad para obtener requerimientos del cliente. Además, introduce conceptos como el análisis y diseño orientado a objetos y diferentes metodologías para el análisis de requerimientos.
Fundamentos y metodos analisis de requerimientoMonica Naranjo
El documento describe los fundamentos y métodos de análisis de requerimientos para el desarrollo de software. Explica que el análisis de requerimientos es crucial para definir un proyecto de software y que existen requerimientos funcionales y no funcionales. Luego, detalla diversos métodos de análisis como el orientado a objetos, orientado a flujos de datos, estructurado y de Jackson, resaltando que comparten principios como la representación del dominio y la partición del problema.
Este documento presenta conceptos clave del diseño orientado a objetos como objetos, clases, herencia, polimorfismo y métodos de diseño. Explica que un objeto encapsula estado y comportamiento, y que las clases definen la estructura y comportamiento de objetos similares. También describe cómo la herencia permite que las clases hereden propiedades de otras clases, y cómo el polimorfismo permite que los objetos respondan de forma diferente a los mensajes.
El documento describe el proceso de estimación de costos para un proyecto de desarrollo de software. Explica que el diseño modular reduce la complejidad y facilita los cambios. Luego, introduce el método de puntos de caso de uso para estimar el esfuerzo requerido, el cual se basa en identificar las transacciones en cada caso de uso. Finalmente, discute los desafíos en definir y contar estas transacciones de caso de uso, ya que esto afecta directamente los resultados de la estimación.
El documento describe los componentes y la jerarquía de clases para el desarrollo de interfaces gráficas de usuario en Java. Explica que la biblioteca Swing proporciona componentes y contenedores para crear interfaces, y que estos se organizan mediante administradores de disposición. También cubre temas como la interacción con el usuario a través de eventos.
Este documento presenta una introducción a Swing, la biblioteca de interfaces gráficas de usuario (GUI) para Java. Explica cómo crear ventanas, añadir componentes como botones y etiquetas, utilizar gestores de diseño para organizar los componentes, y manejar eventos como la pulsación de botones. También cubre temas como cuadros de diálogo predefinidos, dibujo de gráficos y la arquitectura MVC.
Este documento describe la sobrecarga de métodos en Java, incluyendo las reglas para sobrecargar un método como cambiar los argumentos pero no el tipo de retorno, y explica que los argumentos determinan qué método se invoca. También proporciona un ejemplo de una clase con un método sobrecargado llamado "Numeros" que acepta enteros, flotantes o una cadena como argumentos.
Este documento describe la Práctica 3 de un curso de POO que implica la implementación de un sistema de gestión de redes sociales con interfaz gráfica. Explica conceptos clave como programación basada en eventos, componentes Swing como JButton y JTextField, y el uso de NetBeans para crear GUIs mediante arrastrar y soltar componentes y cambiar el estilo visual.
El documento provee instrucciones para registrarse, enfatizando la importancia de incluir el nombre completo y otros datos requeridos. También advierte al usuario verificar que su correo electrónico esté activo y tener su contraseña disponible antes de registrarse, y evitar registrarse más de una vez para no recibir penalizaciones.
Este documento proporciona una introducción a la programación orientada a objetos. Define conceptos clave como clase, objeto, atributo, método, encapsulamiento, herencia y polimorfismo. Explica que la POO permite modelar problemas del mundo real mediante la abstracción de objetos con sus características y comportamientos.
El documento describe los conceptos básicos de la programación GUI en Java, incluyendo la librería Swing, la programación impulsada por eventos, la generación y manejo de eventos, y los componentes y contenedores principales de Swing como JFrame y JPanel.
El documento explica cómo dividir un programa grande en métodos más pequeños y manejables. Un método se define indicando su tipo de valor de retorno, nombre, lista de parámetros y bloque de código. Los métodos permiten evitar la repetición de código y estructurar un programa de manera modular. Se provee un ejemplo de clase con diferentes métodos que ilustra conceptos como invocación de métodos, paso de parámetros, variables locales y retorno de valores.
Este documento describe la metodología para la solución de problemas con computadoras. Explica las distintas fases del proceso, incluyendo el análisis del problema, diseño del algoritmo, codificación, compilación, verificación, depuración y documentación. También proporciona ejemplos para ilustrar el análisis de problemas, diseño de algoritmos con pseudocódigo y diagramas de flujo, y la depuración de errores.
La clase String en Java permite crear y manipular cadenas de caracteres. Las cadenas pueden crearse usando comillas, la concatenación de cadenas, o constructores de la clase String. La clase String también proporciona métodos para acceder a caracteres individuales, buscar subcadenas, copiar cadenas, y convertir entre mayúsculas y minúsculas.
El documento presenta un taller introductorio a Java Swing para el desarrollo de aplicaciones visuales. El taller cubrirá la creación de aplicaciones para sumar, restar, multiplicar y dividir números, así como también mostrar el nombre y promedio de un alumno y calcular el salario de docentes y obreros en base a horas trabajadas y jornales diarios. El taller será dictado por el profesor Hugo Godoy, quien provee su correo y número de contacto.
Este documento describe los conceptos básicos de las interfaces gráficas de usuario (GUI) en Java. Explica que las aplicaciones GUI en Java se basan en eventos, donde los eventos del sistema controlan el flujo de ejecución en lugar del programa. También introduce las librerías Swing y AWT de Java para crear GUIs, y describe los conceptos clave como componentes, contenedores, manejo de eventos y jerarquías de herencia y contenedores.
This document provides an overview of Java AWT (Abstract Window Toolkit), which is an API for developing GUI applications in Java. It discusses key AWT concepts like components, containers, frames and panels. It also provides examples of creating simple AWT applications by extending the Frame class and by instantiating the Frame class. The examples demonstrate how to add buttons to a frame and set the button position and frame size.
Este documento describe conceptos clave de la orientación a objetos, incluyendo clases, objetos, herencia, encapsulamiento, polimorfismo e interfaces. También explica UML y sus diagramas de clases. El objetivo es introducir el paradigma de programación orientada a objetos.
1. java.awt contiene clases para crear interfaces gráficas de usuario (GUIs) mediante componentes como botones y ventanas. 2. Hay pasos para crear un GUI: definir un contenedor y gestor de geometría, crear componentes, añadirlos al contenedor, enlazar eventos, y repetir para subcontenedores. 3. Los métodos paint(), update(), y repaint() se usan para repintar componentes.
Este documento presenta una introducción a las interfaces gráficas de usuario (GUIs) en Java usando Swing. Explica los conceptos básicos como componentes, contenedores, layouts, y eventos. También describe las principales clases de Swing como JFrame, JButton, y JPanel y cómo organizar los componentes en una jerarquía anidada para crear una interfaz gráfica.
Este documento resume los conceptos clave de diagramas de clases y objetos en UML. Explica que los diagramas de clases modelan la estructura estática de un sistema mediante clases, atributos, operaciones y relaciones. Los diagramas de objetos muestran casos específicos modelando objetos reales y sus interacciones. También describe relaciones como agregación, herencia y asociación, así como técnicas avanzadas como visibilidad y paquetes para organizar elementos.
El documento describe cómo crear una base de datos MySQL utilizando WAMP Server en Windows. Explica cómo descargar e instalar WAMP Server y las versiones actualizadas de C++ Redistributable. Luego, instruye cómo iniciar WAMP Server, acceder a phpMyAdmin, crear una base de datos llamada "bdabarrotes" y una tabla llamada "categorias" dentro de ella. Finalmente, presenta código SQL para definir la estructura de la base de datos y código Java para conectar una aplicación a la base de datos.
Los arreglos en Java permiten almacenar conjuntos de datos del mismo tipo. Los arreglos multidimensionales extienden esta capacidad a matrices. Los ArrayList son dinámicos y permiten agregar o eliminar elementos fácilmente, a diferencia de los arreglos cuyo tamaño es fijo. El documento proporciona ejemplos de declaración, inicialización y uso de arreglos, arreglos multidimensionales y ArrayList en Java.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...Javier Martinez Seco
El 15 de junio de 2024 Javier Martínez Seco, director de Ecode, presentó en SEonthebeach 2024 una ponencia titulada "Casos de éxito en Negocios online - Estrategias WPO que funcionan". Javier compartió su experiencia de más de 15 años en el ámbito de las tecnologías web, destacando su especialización en desarrollo web a medida, SEO técnico y optimización del rendimiento web (WPO).
- Presentación inicial: Javier Martínez es ingeniero informático especializado en tecnologías web, con un historial que incluye la creación y mejora de más de 1000 sitios web y negocios online. Realiza auditorías, consultorías, formación a equipos de desarrollo y desarrollo a medida.
- Sitios web que funcionan bien desde el principio: destacó la diferencia entre un sitio web que simplemente "funciona" y uno que "funciona bien". Ejemplos reales desarrollados por Ecode.
- Calidad en el rendimiento web: explicó qué aspectos deben considerarse para conseguir calidad en el rendimiento de una web. Detalló los procesos que el navegador debe seguir para renderizar una página web, incluyendo la descarga del documento HTML, CSS y demás recursos (imágenes, tipografías, ficheros JavaScript).
- Estrategias de carga óptima: Javier presentó estrategias de carga óptima teniendo en cuenta diferentes objetivos y condiciones de trabajo. Habló sobre la importancia de simular condiciones reales de usuario y ajustar la velocidad y CPU para estas simulaciones. También mencionó la extensión de Chrome Web Vitals.
- Pruebas de rendimiento: indicó cómo probar el rendimiento de carga de una página web en su primera visita.
- Realidad del sector y mercado actual: Javier describió la situación actual del sector, donde se priorizan tecnologías populares que facilitan el trabajo de creación web. Sin embargo, advirtió sobre la dependencia de tecnologías conocidas y la necesidad de adaptar el negocio online a estas tecnologías.
- Ejemplos de cargas no óptimas: presentó ejemplos de malas cargas de diferentes webs populares desarrolladas con CMS y tecnologías como Shopify, Webflow, Prestashop, Magento, Salesforce, Elementor, WordPress y Drupal. La tecnología lenta es tecnología mala.
- ¿Merece la pena hacerlo mejor?: Javier subrayó la importancia de medir la situación actual y evaluar la oportunidad de mejora.
- Javier finalizó la ponencia hablando sobre cómo trabaja actualmente con su empresa Ecode, enfocada en construir sitios web muy optimizados desde el inicio. Presentó un caso de éxito: La Casa del Electrodoméstico, una tienda online a medida con una facturación anual de millones de euros y más de 10 millones de carritos de compra, donde más del 90% de las sesiones cumplen con los parámetros LCP, INP y CLS durante toda la sesión.
La ponencia de Javier Martínez Seco en SEonthebeach 2024 ofreció una visión completa y práctica sobre la optimización del rendimiento web, demostrando cómo las estrategias WPO bien implementadas pueden marcar la diferencia en el éxito de los negocios online.
DuckDuckGo, es el motor de búsqueda centrado en la privacidad que lleva años creciendo como una sólida alternativa a buscadores como Google, Bing y Yahoo. Sobre todo, una alternativa para todos aquellos que no quieran ser rastreados y que quieran maximizar la privacidad cuando buscan cosas en Internet.
1. FUNDAMENTOS DE PROGRAMACIÓN
ITCH II
Carrera: ISC
Materia: Fundamentos de
Programación
Alumna:Yesenia Chaparro
Ochoa
Horario: 5 pm-6pm
Docente: Hernán de la Garza
Gutiérrez
2. 1.1 RECONOCIMIENTO DE CLASES Y OBJETOS Y SUS
RELACIONES EN EL MUNDO REAL.
Un objeto se define como una estructura que encapsula atributos
(características) y comportamientos (procedimientos) de una entidad
con un papel bien definido en una aplicación. Cada objeto tiene:
- Estado: Conjunto de valores de los atributos en un instante de tiempo
dado. El comportamiento de un objeto puede modificar el estado de
este.
- Comportamiento: Relacionado con su funcionalidad y determina las
operaciones que este puede realizar o a las que puede responder ante
mensajes enviados por otros objetos.
- Identidad: Es la propiedad que permite a un objeto diferenciarse de
otros. Generalmente esta propiedad es tal, que da nombre al objeto.
Clases: Es la definición de un objeto. Cuando se programa un objeto y
se definen sus características y funcionalidades, realmente se programa
una clase
3. 1.2 ABSTRACCIÓN.
Abstracción:Es un método por el cual abstraemos una
determinada entidad de la realidad de sus características y
funciones que desempeñan. Denota las características esenciales
de un objeto, donde se capturan sus comportamientos.
Dentro de las características esenciales se encuentran:
Atributos (o datos).
Comportamiento (métodos)
La abstracción es crucial para comprender este complejo mundo,
para el funcionamiento de una mente humana normal y es una
herramienta muy potente para tratar la complejidad, es clave para
diseñar un buen software
4. Ejemplo:
La abstracción de un automóvil.
- Características: Color, año de fabricación, modelo,
etc.
- Métodos o Funciones: Frenar, encender, etc.
5. 1.2. ENCAPSULAMIENTO
Encapsulamiento: Significa reunir a todos los elementos
que pueden considerarse pertenecientes a una misma
entidad, al mismo nivel de abstracción.
En la OO el encapsulamiento de una entidad se logra
mediante la definición de una clase, que reúne los datos
y comportamiento en una unidad.
6. 1.3 LA POO Y LA COMPLEJIDAD DEL SOFTWARE.
La POO comparada con otros paradigmas de
programación, permite manejar de mejor manera la
complejidad del software. Por lo siguiente:
Agrupar elementos comunes (objetos) en clases.
La clase incluye en una unidad los atributos y los
métodos.
Se pueden construir jerarquías de herencias de clases
que
hereden (reciban) lo que ya esta definido.
Lo anterior aumenta la modularidad. El programa esta
formado por módulos o partes bien identificadas.
La programación orientada a objetos, un programa es
una colección de una sola entidad básica, el objeto, el
cual combina los datos con los procedimientos que
actúan sobre ellos. Durante la ejecución, los objetos
reciben y envían mensajes a otros objetos para
ejecutar las acciones requeridas.
7. 1.3 LA POO Y LA COMPLEJIDAD DEL SOFTWARE.
La modularidad implica:
El programa se puede construir, probar y depurar
por módulos.
Al agregar nueva funcionalidad, se pueden crear
nuevos módulos o incluir la funcionalidad en
módulos que ya existen.
Se facilita el localizar errores, el mantenimiento y el
crecimiento del software.
Si la programación estructurada se interesa primero por los
procedimientos y después por los datos, el diseño orientado
a objetos se interesa en primer lugar por los datos, a los que
se asocian posteriormente procedimientos
8. 1.4 CONCEPTOS DEL CICLO DE VIDA
DEL SOFTWARE.
Las etapas básicas y los principios del modelo OO del ciclo
de vida del software son:
1. Especificación de requerimientos.
2. Análisis.
3. Diseño.
4. Programación.
5. Mantenimiento.
9. 1.4.1 ESPECIFICACIONES DE
REQUERIMIENTOS.
Comprende las tareas relacionadas con la determinación de las
necesidades o de las condiciones a satisfacer para un software
nuevo o modificado, tomando en cuenta los diversos
requerimientos de los clientes.
El propósito es hacer que los mismos alcancen un estado óptimo
antes de alcanzar la fase de diseño en el proyecto.
Los buenos requerimientos deben ser medibles, comprobables, sin
ambigüedades o contradicciones.
10. ESPECIFICACIÓN DE REQUERIMIENTOS.
Los requerimientos para un sistema de software determinan lo que hará el
sistema y definen las restricciones de su operación e implementación.
Para esta actividad se debe:
IDENTIFICACION DE REQUISITOS: Identificar las necesidades del usuario
(del negocio).
ANÁLISIS Y NEGOCIACIÓN DE REQUISITOS: Describir los objetivos de la
aplicación.
ESPECIFICACION DE REQUERIMIENTOS: Definir características y funciones
generales de la aplicación.(requerimientos funcionales y no funcionales)
VALIDACIÓN DE REQUISITOS:El equipo de Ingeniería de sistemas y los
clientes deben establecer en conjunto las metas y objetivos de la aplicación.
FACTORES EN LA CALIDAD DEL SOFTWARE: Eficiencia,
Transportabilidad, Verificabilidad, Fácil de utilizar, Corrección, Extensibilidad,
Compatibilidad Reutilización.
11. EJEMPLO DE ESPECIFICACIÓN DE REQUERIMIENTOS.
Giro de la empresa.
La empresa “HogarSeguro.com” se dedica a la venta, configuración e
instalación de equipo de seguridad para hogares y pequeñas empresas.
Identificar la necesidad del negocio.
La empresa requiere de una aplicación Web que permita a los consumidores
configurar y comprar todos los componentes requeridos para instalar un
sistema de administración en su hogar o empresa.
Objetivos de la aplicación.
Vender directamente a los consumidores, lo que eliminará costos de
intermediación y mejorará márgenes de utilidad.
Aumentar las ventas en un 25%.
Penetrar en regiones geográficas donde no se tienen puntos de venta.
Que el usuario pueda configurar un equipo de seguridad para su hogar,
al proporcionar información sobre habitaciones, dimensiones y
distribución
12. 1.4.2 ANÁLISIS ORIENTADO A OBJETOS
Definición. Es un método de análisis que examina los
requisitos desde la perspectiva de las clases y objetos que se
encuentran en el vocabulario del dominio del problema.
Documentos de deben tenerse o desarrollarse durante el
análisis:
Especificación de requisitos o requerimientos.
Diagramas de casos de uso.
Escenarios y subescenarios.
Prototipos y su evaluación.
13. CASO DE USO.
Es una técnica para la captura de requisitos potenciales de un
nuevo sistema o una actualización de software. Cada caso de uso
proporciona uno o más escenarios que indican cómo debería
interactuar el sistema con el usuario o con otro sistema para
conseguir un objetivo específico. Ejemplo:
14. ESCENARIOS
Es una descripción parcial y concreta del comportamiento de un
sistema en una determinada situación.
15. PROTOTIPO.
Es una representación de aquellos aspectos del software que
serán visibles para el cliente (por ejemplo, la configuración de la
interfaz con el usuario y el formato de los despliegues de salida).
El prototipo, es evaluado por el cliente para una
retroalimentación; gracias a ésta se refinan los requisitos del
software que se desarrollará.
16. 1.4.3 DISEÑO OO
Es el proceso de dividir una solución en una cantidad
determinada de objetos constituyentes
Es una fase de la metodología orientada a objetos para el
desarrollo de Software.
Su uso induce a los programadores a pensar en términos de
objetos, en vez de procedimientos, cuando planifican su código.
Un objeto agrupa datos encapsulados y procedimientos para
representar una entidad.
La 'interfaz del objeto', esto es, las formas de interactuar con el
objeto, también es definida en esta etapa.
El diseño orientado a objetos es la disciplina que define los
objetos y sus interacciones para resolver un problema de negocio
que fue identificado y documentado durante el análisis orientado a
objetos.
17. 1.4.4 POO
Toma las mejores ideas de la programación
estructurada la combina con nuevos y poderosos
conceptos que animan o alientan una nueva visión
de la tarea de la programación, permite
descomponer fácilmente un problema en subgrupos
de partes relacionadas, entonces, puede traducir
estos subgrupos en unidades autocontenidas
llamadas Objetos
Es un paradigma de programación que usa objetos y
sus interacciones para diseñar aplicaciones y
programas de computadora.
Está basado en varias técnicas, incluyendo herencia,
modularidad, polimorfismo y encapsulamiento.
Su uso se popularizó a principios de la década de
1990.
18. 1.5 ELEMENTOS PRIMORDIALES EN EL
MODELO OO.
La programación Orientada a Objetos trata de cumplir las
necesidades de los usuarios finales, estás tareas se realizan
mediante la modelización del mundo real, el soporte fundamental
es el modelo objeto.
Los elementos más importantes de este modelo son:
Abstracción
Encapsulamiento
Modularidad
Jerarquía y Herencia
Polimorfismo
19. 1.5.1. ABSTRACCIÓN.
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
Denota las características esenciales de un objeto, donde se capturan sus
comportamientos.
Es la capacidad para encapsular y aislar la información de diseño y
ejecución
Una abstracción se centra en la vista externa de un objeto, de modo que
sirva para separar el comportamiento esencial de un objeto de su
implementación. Definir una abstracción significa describir una entidad
del mundo real, no importa lo compleja que pueda ser y, a continuación,
utilizar esta descripción en un programa.
20. 1.5.2. ENCAPSULAMIENTO.
Significa reunir a todos los elementos que pueden
considerarse pertenecientes a una misma entidad, al
mismo nivel de abstracción.
Los lenguajes orientados a objetos proporcionan la
Encapsulación. La encapsulación se puede utilizar
para aplicar el concepto de Abstracción.
Cada objeto está aislado del exterior, es un módulo
natural, y la aplicación entera se reduce a un
agregado o rompecabezas de objetos. El aislamiento
protege a los datos asociados a un objeto contra su
modificación por quien no tenga derecho a acceder a
ellos, eliminando efectos secundarios e interacciones
21. 1.5.3. MODULARIDAD.
Es la descomposición de un sistema complejo
en piezas mas simples llamadas módulos.
Es más fácil la solución de “pequeños”
módulos.
Este procedimiento de descomposición refleja
el principio de “Divide y Vencerás”.
El código fuente de un objeto puede ser
escrito, así como darle mantenimiento,
independientemente del código fuente de otros
objetos. Así mismo, un objeto puede ser
transferido alrededor del sistema sin alterar su
estado y conducta.
22. 1.5.4. JERARQUÍA Y HERENCIA.
Herencia: (por ejemplo, la clase D recibe herencia
de la clase C) Es la facilidad mediante la cual la
clase D hereda en ella cada uno de los atributos y
operaciones de C, como si esos atributos y
operaciones hubiesen sido definidos por la misma
D.
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).
Las jerarquías de generalización/especialización se
conocen como herencia. Básicamente, la herencia
define una relación entre clases, en donde una clase
comparte la estructura o comportamiento definido
en una o más clases (herencia simple y herencia
múltiple, respectivamente).
23. 1.5.4. JERARQUÍA Y HERENCIA.
Jerarquía de clases. Las relaciones de herencia
forman una estructura de árbol (jerarquía).
Ejemplo:
24. 1.5.5 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.
Es 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.
El polimorfismo adquiere su máxima expresión
en la derivación o extensión de clases, es decir,
cuando se obtiene una clase a partir de una clase
ya existente, mediante la propiedad de derivación
de clases o herencia.
25. 1.5.5 POLIMORFISMO
Suponer una jerarquía de clases de
figuras de dos dimensiones. Cada
clase puede tener un método que se
llame igual, por ejemplo “área()” pero
cada clase tendrá una formula de
cálculo de área diferente según la
clase.
Por ejemplo, la operación comer es
una operación fundamental en la vida
de los mamíferos, de modo que cada
tipo de mamífero debe poder realizar
la operación o función comer. Por otra
parte, una cabra o una vaca que pastan
en un campo, un niño que se come un
caramelo y un animal que devora a
otro animal, son diferentes formas que
utilizan diferentes mamíferos para
realizar la misma función (comer).
26. 1.6 HISTORIA DE LOS PARADIGMAS EN EL DESARROLLO DEL SOFTWARE.
Paradigmas: Representan un enfoque particular o filosofía para la
construcción del software. No es mejor uno que otro sino que cada
uno tiene ventajas y desventajas. Los más comunes son el desarrollo
en cascada(metodología de desarrollo en cascada es: Análisis de
requisitos, Diseño, Programación, Prueba, Implantación,
Mantenimiento),.
Los enfoques generales para la escritura del código han sido:
Programación “espagueti”. Sin una secuencia de ejecución definida.
Sin módulos.
Programación estructurada. Se usan los módulos (basados en
procedimientos) y las sentencias de programación estructuradas.
POO. Se afina el concepto de módulo al incluir datos y
procedimientos (en una “clase”). Incluye nuevos conceptos como
herencia, polimorfismo, etc.
Ventajas El análisis del riesgo se hace de forma explícita y clara.
Une los mejores elementos de los restantes modelos.
Inconvenientes Genera mucho trabajo adicional. Exige una cierta
habilidad en los analistas (es bastante difícil
27. 1.6 HISTORIA DE LOS PARADIGMAS EN EL DESARROLLO
DEL SOFTWARE.
Algunos paradigmas de programación específicos (procedimientos
computacionales para resolver un problema), son:
Demostrativo.
El desarrollo en espira
El desarrollo por prototipos
El desarrollo incremental,
El desarrollo en V
Declarativo.
Imperativo.
Funcional.
Lógico.
Orientado a Objetos.
28. 1.6 HISTORIA DE LOS PARADIGMAS EN
EL DESARROLLO DEL SOFTWARE.
Los LP según su nivel de acercamiento con el
“hardware” se clasifican en:
Lenguaje máquina (0, 1).
Lenguaje ensamblador.
Lenguajes de tercer nivel (palabras en inglés).
Lenguajes declarativo (indicar que hacer y no como
hacerlo).
Desde el punto de vistas de las metodologías que se
aplican para el ciclo de vida del software, algunas son:
Ciclo vida clásico o cascada.
Modelo en espiral.
Prototipos.
29. 1.7 BENEFICIOS DEL MODELO DE OBJETOS Y DE LA
POO SOBRE OTROS PARADIGMAS.
La programación orientada a objetos beneficia a los desarrolladores debido a que:
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 autocontenidas.
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.
La OO permite una modelación más natural de los sistemas, parecido a como un
humano los visualiza. El modelo refleja mejor la realidad.
La OO proporciona soporte para todas las etapas del ciclo de vida del software.
30. 1.7 BENEFICIOS DEL MODELO DE OBJETOS Y DE
LA POO SOBRE OTROS PARADIGMAS.
La LPOO permite crear TDA (tipos de datos
abstractos). Es decir nuevos tipos de datos que no
están predefinidos en el LP pero son necesarios
para el usuario.
Los LPOO proporcionan un rico conjunto de clases
predefinidas que se pueden usar en las
aplicaciones.
Reutilización. Las clases se construyen a partir de
otras clases.
31. 1.7 BENEFICIOS DEL MODELO DE OBJETOS Y DE
LA POO SOBRE OTROS PARADIGMAS.
Fiabilidad.
Productividad del desarrollador.
Calidad.
Mantenimiento.
Costo.
Escalabilidad.
Adaptabilidad (mejor independencia e
interoperabilidad).