lunes, 16 de noviembre de 2015

MODELO DE REUTILIZACION
El diseño basado en reutilización puro busca construir un producto software integrando componentes pre-existentes.
Los beneficios principales que otorga este modelo son:
-Tiempos de desarrollos cortos
-Disminucion de errores
-Disminucion de costos y riegos ya que se reduce los componentes a desarrollar
-Existe un aumento de la confiabilidad ya que los componentes a utilizar ya fueron testeados y utilizados en otro momento previo al comienzo del proyecto

A modo de desventaja podemos mencionar el hecho de que al no poseer algún componente que cubra con un requisito dado por el usuario, este debe ser modificado para adaptarlo a los componentes almacenados en el repositorio de componentes.
Esto se da en el modelo puro. En cambio en el modelo real si no se puede adaptar un requisito de usuario, se conseguirá o se desarrollara ese modulo para que cumpla con lo pedido por el usuario.
Otra desventaja de este modelo es que una vez finalizada la etapa de modificación de requisitos, y ante la eventual necesidad de cambios en estos ultimos, puede pasar que no haya componentes que se adapten a las nuevas moficicaciones.

martes, 10 de noviembre de 2015

MODELO RELACIONAL
Uno de los modelos matemáticos más importantes y actuales para la representación de las bases de datos, es el enfoque relacional. Se basa en la teoría matemática de las relaciones, suministrándose por ello una fundamentación teórica que permite aplicar todos los resultados de dicha teoría a problemas tales como el diseño de sublenguajes de datos y otros.

El término relación se puede definir matemáticamente como sigue:

Dados los conjuntos D1, D2,...., Dn (no necesariamente distintos), R es una relación sobre

esos n conjuntos si está constituida por un conjunto de n-tuplos ordenados d1, d2,...dn tales que d1?D1, d2?D2,..., dn?Dn.

Los conjuntos D1, D2,..., Dn se llaman dominios de R y n constituye el grado de la relación. La cantidad de tuplas constituye la cardinalidad. Es conveniente representar una relación como una tabla bidimensional donde cada fila representa un n-tuplo.

1FN

En el modelo relacional tanto los objetos o entidades, como las relaciones que se establecen entre ellos, se representan a través de “tablas”, que en la terminología relacional se denominan relaciones.

 

Cada relación está compuesta por filas (las ocurrencias de los objetos) y se les denomina, en la terminología relacional, como tuplos, tuplas o uplos, uplas (en realidad, n-tuplos, pero en muchos casos se suprime la n cuando no existe posibilidad de confusión). También la relación está compuesta por columnas (los atributos o campos que toman valores en sus respectivos dominios). 

Es importante lo siguiente:

No hay dos filas (tuplas) iguales.
El orden de las filas no es significativo. (1 y 2 se deben a que la relación es un conjunto). 
Siendo rigurosos, el orden de las columnas sí es significativo, pues representa el orden de

los dominios implicados, pero como siempre nos referimos a una columna por su nombre

y nunca por su posición relativa: 

El orden de las columnas no es significativo.
Cada valor dentro de la relación (cada valor de un atributo) es un dato atómico (o elemental),   es decir, no descomponible; por ejemplo: un número, una cadena de caracteres. En otras palabras, en cada posición fila, columna existe un solo valor, nunca un conjunto de valores.
Una relación que satisface este último punto se denomina “normalizada”, aunque veremos más adelante que, en realidad, lo que ocurre es que está en Primera Forma Normal. La teoría de la normalización se basa en la necesidad de encontrar una representación del conjunto de relaciones que en el proceso de actualización sea más adecuada. Llevar una relación no normalizada a normalizada es muy simple. Existen diferentes niveles de normalización que se llaman formas normales que se verán más adelante.

Ejemplo:

Veamos cómo nuestro ejemplo de suministrador y producto se puede representar fácil y claramente mediante el modelo relacional.

Los atributos de estas dos entidades son: 

Suministrador: número, que lo identifica, nombre, tipo y municipio donde radica.

Producto: número, que lo identifica, nombre, precio unitario y peso.

Además, un suministrador puede suministrar muchos productos y un producto puede ser suministrado por varios suministradores. Se conoce la cantidad de un determinado producto que suministra un suministrador dado.

suministradorProducto

La representación en el modelo relacional es más simple que con el modelo jerárquico y el modelo reticular, ya que con tres tablas se tiene todo el modelo representado. En el modelo relacional el resultado de una demanda es también una relación y las demandas simétricas (en el sentido de ser una la inversa de la otra; por ejemplo, recuperar los números de los suministradores que suministran el producto “P4” y recuperar los números de los productos que suministra el suministrador “S2”) requieren operaciones simétricas.

Ventajas del modelo relacional:

Una de las principales ventajas es su simplicidad, pues el usuario formula sus demandas en términos del contenido informativo de la BD sin tener que atender a las complejidades de la realización del sistema, lo que implica gran independencia de los datos.
La información se maneja en forma de tablas, lo que constituye una manera familiar de representarla.
Al igual que en el modelo reticular, si se tienen relaciones normalizadas, no surgen dificultades grandes en la actualización.
Veamos en el modelo del SUMINISTRADOR-PRODUCTO presentado anteriormente, un ejemplo de cada tipo de operación de actualización:
Creación: añadir un producto P7. Se agrega la nueva ocurrencia en la tabla PRODUCTO. Es posible hacerlo aunque ningún suministrador lo suministre.
Supresión: se puede eliminar el suministrador S1 sin perder el producto P6, a pesar de que es el único suministrador que lo suministra.
Modificación: se puede cambiar el precio del producto P2 sin necesidad de búsquedas adicionales ni posibilidad de inconsistencias.
No obstante, veremos que el proceso de normalización no es suficiente hasta el punto aquí visto.
                                                            MODELO EN CASCADA

----------------------------------------------------------------------------------
En Ingeniería de software el desarrollo en cascada, también llamado modelo en cascada, es el enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a la fiscalización de la inmediatamente anterior.
Un ejemplo de una metodología de desarrollo en cascada es:

1.- Análisis de requisitos
2.- Diseño del Sistema
3.- Diseño del Programa
4.- Codificación
5.- Pruebas
6.- Implantación
7.- Mantenimiento
De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al re diseño y nueva programación del código afectado, aumentando los costes del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto.
Si bien ha sido amplia mente criticado desde el ámbito académico y la industria, sigue siendo el paradigma más seguido al día de hoy.

MODELO ESPIRAL EVOLUTIVO 


El Modelo Espiral mejora el Modelo de Cascada enfatizando la naturaleza iterativa del  proceso de diseño. Eso introduce un ciclo de prototipo iterativo. En cada iteración, las nuevas expresiones que son obtenidas transformando otras dadas son examinadas para ver si representan progresos hacia el objetivo. 

Tareas

Para cada ciclo habrá cuatro actividades:
Determinar Objetivos.
Análisis del riesgo.
Planificación.
Desarrollar y probar.
Determinar o fijar objetivos

Analizar cuales son los fines del sofware, 
determinar para que tipo de persona ira dirigido el softaware
Identificación de riesgos del proyecto y estrategias alternativas para evitarlos.
Hay una cosa que solo se hace una vez: planificación 
Planificar

Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos con las fases siguientes y planificamos la próxima actividad. 


Análisis del riesgo

Se lleva a cabo el estudio de las causas de las posibles amenazas y probables eventos no deseados y los daños y consecuencias que éstas puedan producir.
Desarrollar, verificar y validar(probar)

Probar el programa para validar o modificar 
CARACTERÍSTICAS
En cada giro se construye un nuevo modelo del sistema completo. 
Este modelo puede combinarse con otros modelos de proceso de desarrollo (cascada, evolutivo). 
Mejor modelo para el desarrollo de grandes sistemas.
El análisis de riesgo requiere la participación de personal  altamente calificado.  
VENTAJAS

El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos.
Reduce riesgos del proyecto
Incorpora objetivos de calidad
Integra el desarrollo con el mantenimiento, etc.
Además es posible tener en cuenta mejoras y nuevos requerimientos sin romper con la metodología, ya que este ciclo de vida no es rígido ni estático.
DESVENTAJAS

Genera mucho tiempo en el desarrollo del sistema
Modelo costoso
Requiere experiencia en la identificación de riesgos
INCONVENIENTES

Planificar un proyecto con esta metodología es a menudo imposible, debido a la incertidumbre en el número de iteraciones que serán necesarias. En este contexto la evaluación de riesgos es de la mayor importancia y, para grandes proyectos, dicha evaluación requiere la intervención de profesionales de gran experiencia.

MODELO EVOLUTIVO

Los modelos evolutivos son iterativos. Se caracterizan por la forma en que permiten a los ingenieros del software desarrollar versiones cada vez mas completas del software.
El software evoluciona con el tiempo. Los requisitos del usuario y del producto suelen cambiar conforme se desarrolla el mismo. Las fechas de mercado y la competencia hacen que no sea posible esperar a poner en el mercado un producto absolutamente completo, por lo que se aconsejable introducir una versión funcional limitada de alguna forma para aliviar las presiones competitivas.
FRASE 


SOLO VENCIÉNDOTE VENCERAS
CICLO DE VIDA DE UN SISTEMA OPERATIVO
Un sistema  de información es un sistema automatizado o manual, que  engloba a  personas, maquinas y métodos organizados  para recopilar ,procesar, trasmitir información engloba la infraestructura, la organización, el personal y todos  los componentes necesarios para la recopilación, procesamiento, almacenamiento, trasmicion, visualisacion  denominación y organización de la información.

http://flanagan.ugr.es/docencia/2005-2006/2/apuntes/ciclovida.pdf