Análisis y Modelado de Sistemas de Información

Summary

Este documento, en español, explora conceptos de programación orientada a objetos, incluyendo encapsulación, herencia y polimorfismo. Aborda el análisis y modelado de sistemas de información, utilizando diagramas UML y metodologías de desarrollo de software.

Full Transcript

Análisis y modelado de SI Analiza y modela proyectos de sistemas de información aplicando el paradigma orientado a objetos. Tema 1. El modelo del proceso del software Conocer el modelo de proceso de software. Conceptualización de TOO La tecnología orientada a objetos (OO) es un paradigma de progra...

Análisis y modelado de SI Analiza y modela proyectos de sistemas de información aplicando el paradigma orientado a objetos. Tema 1. El modelo del proceso del software Conocer el modelo de proceso de software. Conceptualización de TOO La tecnología orientada a objetos (OO) es un paradigma de programación que organiza el software en torno a "objetos" en lugar de acciones y datos en lugar de lógica. Aquí tienes una conceptualización detallada: Principios fundamentales de la POO Objeto: Una entidad que combina datos y comportamiento. Los datos se representan mediante atributos (propiedades) y el comportamiento mediante métodos (funciones o procedimientos). Principios fundamentales de la POO Clase: Una plantilla o blueprint que define las características y comportamientos comunes de un conjunto de objetos. Los objetos son instancias de clases. Principios fundamentales de la POO Encapsulación: La práctica de ocultar los detalles internos de un objeto y exponer solo lo necesario. Esto se logra mediante modificadores de acceso como private, protected y public. Principios fundamentales de la POO Herencia Permite crear nuevas clases basadas en clases existentes, reutilizando y extendiendo su funcionalidad. Una clase derivada (subclase) hereda atributos y métodos de una clase base (superclase). Principios fundamentales de la POO Poliformismo Permite que objetos de diferentes clases derivadas se traten como objetos de una clase base común. Esto facilita el uso de métodos de manera uniforme en diferentes tipos de objetos. Vehículo Atributos Métodos Marca Encender() Color Apagar() Modelo Clase base o super clase Clases derivadas o subclase Atributos Métodos Atributos Marca Métodos Encender() Marca Modelo Encender() Acelerar() Modelo Color Acelerar() Frenar() Color Año Frenar() MostrarDetalles() Tipo Kilometraje Apagar() Cilindraje Principios de la POO Encapsulamiento: Las clases Vehiculo, Auto y Moto encapsulan atributos y métodos. Herencia: Auto y Moto heredan de Vehiculo. Polimorfismo: Los métodos encender y mostrarDetalles son sobrescritos en las clases derivadas, permitiendo que se comporten de manera diferente según el tipo de vehículo. Abstracción: La clase Vehiculo define los métodos esenciales que son implementados y extendidos por las clases derivadas. Actividad 1. Elaborar un ejemplo donde se plasmen los principios de la POO( Encapsulamiento,Herencia,Polimorfismo, Abstracción) para el objeto Animal,donde plasmes la clase base, y las clases heredadas; asi como sus atributos y métodos correspondientes. Valor de la actividad: 10% Actividad 2. Elaborar un ejemplo donde se plasmen los principios de la POO( Encapsulamiento,Herencia,Polimorfismo, Abstracción) para el objeto Empleado,donde plasmes la clase base, y las clases heredadas; asi como sus atributos y métodos correspondientes. Valor de la actividad: 10% Definición de Metodología de desarrollo de software “Como un enfoque estructurado que guía el proceso de creación de software a través de varias fases” Roger Pressman “Como un conjunto de prácticas y procedimientos organizados que guían el proceso de creación de software” Guillermo Pantaleo 1.2. Metodologías emergentes de desarrollo de software. 1.2. Metodologías emergentes de desarrollo de software. Integra el desarrollo (Dev) y las operaciones (Ops) para mejorar la colaboración y la productividad. Se enfoca en la automatización de procesos y la entrega continua 1.2. Metodologías emergentes de desarrollo de software. Agile impulsa un desarrollo dinámico y adaptativo, centrado en la colaboración y la capacidad de responder rápidamente a cambios. Utiliza ciclos cortos llamados sprints que evalúan y adaptan el progreso del proyecto en intervalos regulares. 1.2. Metodologías emergentes de desarrollo de software. Scrum es un marco de trabajo ágil que se utiliza para gestionar proyectos complejos. Se basa en iteraciones cortas llamadas "sprints", que suelen durar entre 2 y 4 semanas. Cada sprint tiene un objetivo claro y al final se entrega un incremento del producto. 1.2. Metodologías emergentes de desarrollo de software. Kanban es una metodología ágil que se centra en la visualización del flujo de trabajo y la mejora continua. Utiliza un tablero Kanban para gestionar las tareas y limitar el trabajo en progreso (WIP). 1.2. Metodologías emergentes de desarrollo de software. XP es una metodología ágil que se enfoca en mejorar la calidad del software y la capacidad de respuesta a los cambios. Promueve prácticas técnicas rigurosas y la colaboración estrecha con el cliente. 1.3 Métodos de desarrollo de sw orientado a objetos Cómo un enfoque que utiliza objetos como unidades fundamentales para la construcción de software. Los objetos encapsulan datos y comportamientos, y se comunican entre sí mediante Ivar Jacobson mensajes 1.3 Métodos de desarrollo de sw orientado a objetos Los métodos de desarrollo de software orientado a objetos (OO) se centran en la creación de software utilizando objetos, que son instancias de clases que encapsulan datos y comportamientos. 1.3 Métodos de desarrollo de sw orientado a objetos 1. Análisis y Diseño Orientado a Objetos (OOAD) Definición: OOAD es un enfoque que combina el análisis y el diseño del sistema utilizando conceptos orientados a objetos. Se enfoca en identificar los objetos del sistema y definir sus interacciones. 1.3 Métodos de desarrollo de sw orientado a objetos Cómo trabajar con OOAD: Análisis: Identificar los objetos y sus relaciones a partir de los requisitos del sistema. Diseño: Definir la estructura del sistema mediante diagramas de clases, diagramas de secuencia y otros diagramas UML (Unified Modeling Language).. 1.3 Métodos de desarrollo de sw orientado a objetos 2. Unified Process (UP) Definición: UP es un marco de desarrollo iterativo e incremental que utiliza UML para el modelado. Se organiza en fases: Inicio, Elaboración, Construcción y Transición. 1.3 Métodos de desarrollo de sw orientado a objetos Cómo trabajar con UP: Fases: Cada fase tiene objetivos específicos y produce artefactos como modelos de casos de uso, diagramas de clases y prototipos. Iteraciones: Cada fase se divide en iteraciones, donde se desarrollan y refinan partes del sistema. 1.3 Métodos de desarrollo de sw orientado a objetos 3. Rational Unified Process (RUP) Definición: RUP es una implementación específica del Unified Process desarrollada por Rational Software. Proporciona una guía detallada y herramientas para el desarrollo de software OO. Inicio, Elaboración, Construcción y Transición. 1.3 Métodos de desarrollo de sw orientado a objetos Cómo trabajar con RUP: Disciplinas: RUP se organiza en disciplinas como Modelado de Negocios, Requisitos, Análisis y Diseño, Implementación, Pruebas, y Gestión de Configuración y Cambios. Iteraciones: Similar a UP, RUP utiliza iteraciones dentro de cada fase para desarrollar el sistema de manera incremental. 1.3 Métodos de desarrollo de sw orientado a objetos 4. Modelado de Objetos de Jacobson (OMT) Definición: OMT es un método desarrollado por Ivar Jacobson que se enfoca en el modelado de objetos y utiliza diagramas de objetos, diagramas de dinámica y diagramas de funcionalidad. 1.3 Métodos de desarrollo de sw orientado a objetos Cómo trabajar con OMT: Modelado de Objetos: Crear diagramas de objetos para representar la estructura estática del sistema. Modelado Dinámico: Utilizar diagramas de estado y diagramas de secuencia para representar el comportamiento dinámico. Modelado Funcional: Definir las funciones del sistema y sus interacciones. Actividad 3. Conceptos de MDSW Valor de la actividad: 5% 1.4. El proceso de desarrollo unificado – RUP. El Proceso Unificado de Rational (RUP) es una metodología de desarrollo de software que proporciona un enfoque estructurado y disciplinado para asignar tareas y responsabilidades dentro de un equipo de desarrollo. 1.4. El proceso de desarrollo unificado – RUP. El Proceso Unificado de Rational (RUP) se adapta muy bien a la Programación Orientada a Objetos (POO) debido a su enfoque estructurado. Modelado de objetos Casos de uso Iteraciones Modelado de objetos RUP utiliza el Lenguaje Unificado de Modelado (UML) para representar los objetos y sus interacciones. Esto facilita la visualización y diseño del sistema. Casos de uso Los casos de uso en RUP ayudan a identificar los objetos y sus responsabilidades, alineándose con los principios de POO. Iteraciones Cada iteración en RUP permite refinar y mejorar los objetos y sus relaciones, asegurando que el diseño evolucione de manera controlada UML El Lenguaje Unificado de Modelado (UML) es una parte integral del Proceso Unificado de Rational (RUP) y se utiliza para visualizar, especificar, construir y documentar los artefactos del sistema de software. Modelado de Casos de Uso: UML se utiliza para crear diagramas de casos de uso que describen las interacciones entre los actores (usuarios u otros sistemas) y el sistema. Esto ayuda a capturar los requisitos funcionales. Diagramas de Clases: Estos diagramas muestran la estructura estática del sistema, incluyendo las clases, sus atributos, métodos y las relaciones entre ellas. Son esenciales para el análisis y diseño orientado a objetos. Diagramas de Secuencia: UML permite modelar la interacción entre objetos a lo largo del tiempo mediante diagramas de secuencia. Estos diagramas son útiles para entender cómo se llevan a cabo los procesos dentro del sistema.. Diagramas de Actividad: Estos diagramas representan el flujo de trabajo o los procesos dentro del sistema. Son útiles para modelar la lógica de negocio y los flujos de control. Diagramas de Paquetes: Estos diagramas organizan los elementos del modelo en grupos lógicos, facilitando la gestión y comprensión de grandes sistemas Diagramas de Despliegue: UML permite modelar la distribución física de los componentes del sistema en el hardware. Esto es importante para la planificación de la infraestructura y el despliegue del sistema. Diagramas de Componentes: Estos diagramas muestran la organización y dependencia de los componentes del sistema. Son útiles para la planificación de la arquitectura del software. Diagramas de Componentes: Estos diagramas muestran la organización y dependencia de los componentes del sistema. Son útiles para la planificación de la arquitectura del software. Diagramas de Estado: UML se utiliza para modelar los estados y transiciones de los objetos en el sistema. Esto es especialmente útil para sistemas que tienen un comportamiento complejo y dependiente del estado.

Use Quizgecko on...
Browser
Browser