Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porDiego Guti Modificado hace 6 años
1
Tema El proceso de desarrollo. Modelos
2
Los cálculos de coste asociados con el desarrollo de software excesivamente elevados ä Los cálculos de coste asociados con el desarrollo de software excesivamente elevados ä Insatisfactorio comportamiento y funcionalidad del software desarrollado Motivación de los ingenieros a desarrollar nuevos modelos de desarrollo, incluyendo prototipos, síntesis de software, software reutilizable,…. Causas para el ESTUDIO de Modelos
3
Definir las actividades necesarias en el desarrollo de un Sistema de Información. ä Definir las actividades necesarias en el desarrollo de un Sistema de Información. ä Mantener una coherencia entre todos los proyectos de una misma organización. ä Introducir puntos de control para realizar revisiones y controles de calidad, toma de decisiones. Investigación de paradigmas o modelos de desarrollo. è Investigación de paradigmas o modelos de desarrollo. Necesidades de las organizaciones
4
“Marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso.” Norma ISO 12207-1 Ciclo de vida del Software
5
CICLO DE VIDA: Conjunto de etapas que se han de llevar a cabo para crear, explotar y mantener un Sistema Informático. METODOS: Son las normativas que marcan las directrices que se han de seguir para llevar a cabo una tarea. Responde a la pregunta QUÉ. TECNICAS: Es un modo de representación para la solución de un problema concreto. Responde a la pregunta CÓMO. METODOLOGIA: Es un conjunto coherente de métodos y técnicas que cubren más de una etapa del ciclo de vida. HERRAMIENTAS: Proporcionan un soporte automático o semi-automático para el proceso y para los métodos. DEFINICIONES
6
Los paradigmas o modelos de desarrollo de Software son estrategias de desarrollo para organizar las diversas etapas y actividades del ciclo de vida del software. Describe las transiciones entre las etapas, especificando qué actividades desarrollar en cada momento. Selección de un modelo o paradigma específico dependiendo de la naturaleza del proyecto y/o aplicación, los métodos, las herramientas a utilizar, los controles y entregas que se requieren. Paradigmas o Modelos de desarrollo
7
El trabajo asociado a la ingeniería del Software puede dividirse en tres fases fundamentales, independientemente del área de aplicación: FASE DE DEFINICIÓN FASE DE DEFINICIÓN FASE DE DESARROLLO FASE DE DESARROLLO FASE DE MANTENIMIENTO FASE DE MANTENIMIENTO Paradigmas o Modelos de desarrollo
8
Qué información que ha de ser procesada, Qué información que ha de ser procesada, Qué función y rendimiento se desea Qué comportamiento del sistema Qué interfaces van a ser establecidas Qué restricciones de diseño existen Qué criterios de validación se necesitan para definir Dependiendo del paradigma o modelo se definen un conjunto específico de actividades, pero las tareas principales serán: ingeniería de sistema o de información, planificación del proyecto del software, y análisis de los requisitos Dependiendo del paradigma o modelo se definen un conjunto específico de actividades, pero las tareas principales serán: ingeniería de sistema o de información, planificación del proyecto del software, y análisis de los requisitos Paradigmas o Mod. de desarrollo: Fase de definición
9
Cómo han de diseñarse las estructuras de datos, Cómo han de diseñarse las estructuras de datos, Cómo ha de implementarse la función como una arquitectura del software Cómo han de caracterizarse las interfaces Cómo ha de traducirse el diseño en un lenguaje de programación Cómo ha de realizarse la prueba Las tareas principales serán: diseño del software, generación de código y prueba del software Paradigmas o Mod. de desarrollo: Fase de desarrollo
10
Fase centrada en el cambio que va asociado a la corrección de errores, a las adaptaciones requeridas a medida que evoluciona el entorno del software, y a cambios producidos por los requisitos cambiantes del software. Cuatro tipos de cambio: Corrección, Adaptación (Cambio de sistema Operativo, reglas de la empresa,etc.), Mejora, Prevención (reingeniería) Actividades a realizar: Gestión de riesgos, revisiones técnicas formales, mediciones, garantia de calidad del software, seguimiento y gestion del proyecto de software, gestión de reutilizació…. Paradigmas o Mod. de desarrollo: Fase de Mantenimiento
11
El paradigma orientado a objetos ha sufrido una evolución similar al paradigma de programación estructurada: primero se empezaron a utilizar los lenguajes de programación estructurados, que permiten la descomposición modular de los programas; esto condujo a la adopción de técnicas de diseño estructuradas y de ahí se paso al análisis estructurado. El paradigma orientado a objetos ha seguido el mismo camino: el uso de la Programación Orientada a Objetos (POO) ha modificado las técnicas de diseño para adaptarlas a los nuevos lenguajes y ahora se están empezando a utilizar técnicas de análisis basadas en este nueva forma de desarrollar software. Paradigmas o Modelos de desarrollo: Orientación a objetos
12
T La cultura implícita en los modelos usuales de ciclo de vida está basada en el “proyecto” ( y “Beneficios”), mientras que en el desarrollo orientado a objetos está basada en el “producto” (e “inversión”). T Términos más importantes en la orientación a objetos: Reusabilidad: Los nuevos Sistemas OO pueden ser creados utilizando otros sistemas OO ya existentes Extensibilidad: Los nuevos sistemas OO son fácilmente ampliables, sin tener que retocar los módulos empleados en su construcción Paradigmas o Modelos de desarrollo: Orientación a objetos
13
T Basados en el Dominio del Problema: Representar el sistema en términos del mundo real, favoreciendo la reutilización, al ser un sistema próximo a la realidad es más estable frente a cambios T El término dominio del problema o dominio de aplicación es uno de los más usados en el paradigma orientado a objetos. Se refiere al campo de aplicación del sistema, es decir, a qué es el sistema, entendido desde su propio campo de aplicación, más que a su descripción en términos de una implementación en ordenador. T No tiene sentido empezar a escribir los requisitos funcionales de un sistema de control de tráfico aéreo, y menos aún diseñarlo o programarlo sin estudiar primero qué es el tráfico aéreo o qué se espera de un sistema de control de este tipo. La ventaja del AOO es que se basa en la utilización de objetos como abstracciones del mundo real. Esto nos permite centrarnos en los aspectos significativos del dominio del problema (en las características de los objetos y las relaciones que se establecen entre ellos) y este conocimiento se convierte en la parte fundamental del análisis del sistema software, que será luego utilizado en el diseño y la implementación. Paradigmas o Modelos de desarrollo: Orientación a objetos
14
Las características principales del enfoque orientado a objetos son, en primer lugar: Identidad. Los datos se organizan en entidades discretas y distinguibles llamadas objetos. Estos objetos pueden ser concretos o abstractos, pero cada objeto tiene su propia identidad. Dicho de otra forma: dos objetos son distintos incluso aún en el caso de que los valores de todos sus atributos (p. ej. nombre y tamaño) coincidan. Dos manzanas pueden ser totalmente idénticas pero no por eso pierden su identidad: nos podemos comer una u otra. Paradigmas o Modelos de desarrollo: Orientación a objetos
15
Clasificación. Los objetos que tengan los mismos atributos y comportamiento se agrupan en clases. Todas las manzanas tienen una serie de atributos comunes: tamaño, peso, grado de maduración, y un comportamiento común: podemos coger una manzana, moverla o comerla. Los valores de los atributos podrán ser distintos para cada una de ellas, pero todas comparten los mismos atributos y comportamiento (las operaciones que se pueden realizar sobre ellas). Una clase es una abstracción que describe propiedades (atributos y comportamiento) relevantes para una aplicación determinada, ignorando el resto. La elección de clases es arbitraria, y depende del dominio del problema. Paradigmas o Modelos de desarrollo: Orientación a objetos
16
Polimorfismo. El polimorfismo permite que una misma operación pueda llevarse a cabo de forma diferente en clases diferentes. Por ejemplo, la operación mover, es distinta para una pieza de ajedrez que para una ficha de parchís, pero ambos objetos pueden ser movidos. Una operación es una acción o transformación que realiza o padece un objeto. La implementación específica de una operación determinada en una clase determinada se denomina método. (Según lo dicho, una operación es una abstracción de un comportamiento similar (pero no idéntico) en diferentes clases de objetos. La semántica de la operación debe ser la misma para todas las clases. Sin embargo, cada método concreto seguirá unos pasos procedimentales específicos.) Paradigmas o Modelos de desarrollo: Orientación a objetos
17
Herencia. El concepto de herencia se refiere a la compartición de atributos y operaciones basada en una relación jerárquica entre varias clases. Una clase puede definirse de forma general y luego refinarse en sucesivas subclases. Cada clase hereda todas las propiedades (atributos y operaciones) de su superclase y añade sus propiedades particulares. La posibilidad de agrupar las propiedades comunes de una serie de clases en una superclase y heredar estas propiedades en cada una de las subclases es lo que permite reducir la repetición de código en el paradigma OO y es una de sus principales ventajas. Paradigmas o Modelos de desarrollo: Orientación a objetos
18
Modelo de agrupamiento (Cluster) Modelo Fuente ( el más conocido) Modelo Remolino Modelo Pinball Paradigmas o Modelos de desarrollo: Orientación a objetos
19
Ingeniería Inversa y Reingenieria La ingeniería inversa consiste en analizar un programa en un esfuerzo de representarlo en un mayor nivel de abstracción que el código fuente, de forma que se extraiga información del diseño de datos, de la arquitectura y del detalle procedimental del mismo, para poder entenderlo. La Reingeniería no sólo recupera información sobre el diseño de un programa existente sino que utiliza esta información para reestructurar o reconstruir el programa existente, con vistas a adaptarlo a un cambio, a ampliarlo o a mejorar su calidad general, con el objetivo de conseguir una mayor facilidad de mantenimiento en un futuro, es decir, para un mantenimiento preventivo
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.