1. SISTEMAS DE SOFTWARE - GER_INF
PRESENTADO A
ING: EDUARDO RUEDA FAJARDO
TRABAJO REALIZADO POR
JHON JAIRO PÉREZ DIAZ
UNIVERSIDAD REMINGTON
ESPECIALIZACION EN GERENCIA INFORMATICA
SAN JOSÉ DE CÚCUTA
2015
2. Según Sommerville (2005), para muchas personas el software son solo
programas de computadora, sin embargo nos comenta que son todos
aquellos documentos asociados a la configuración de datos que se
necesitan para hacer que estos programas operen de manera adecuada.
Estos productos de software se desarrollan para algún cliente en particular
o para un mercado en general. Para el diseño y desarrollo de proyectos
de software se aplican metodologías, modelos y técnicas que permiten
resolver los problemas. En los años 50 no existían metodologías de
desarrollo, el desarrollo estaba a cargo de los propios programadores. De
ahí la importancia de contar con analistas y diseñadores que permitieran
un análisis adecuado de las necesidades que se deberían de
implementar.
Modelos o Metodologías en la IS
3. La informática aporta herramientas y procedimientos que se
apoyan en la ingeniería de software con el fin de mejorar la
calidad de los productos de software, aumentar la productividad y
trabajo de los ingenieros desarrolladores de software, facilitar el
control del proceso de desarrollo de software y suministrar a los
desarrolladores las bases para construir software de alta calidad
en una forma eficiente,
El objetivo principal que busca la ingeniería de software es
convertir el desarrollo de software en un proceso formal, con
resultados predecibles, que permitan obtener un producto final de
alta calidad y satisfaga las necesidades y expectativas del cliente.
4. Una parte importante de la ingeniería de software es el desarrollo de
metodologías y modelos. En la actualidad ha habido muchos
esfuerzos que se han encaminado al estudio de los métodos y
técnicas para lograr una aplicación más eficiente de las metodologías
y lograr sistemas más eficientes y de mayor calidad con la
documentación necesaria en perfecto orden y en el tiempo
requerido.
Existen diferentes modelos y metodologías que han sido en los
últimos años herramientas de apoyo para el desarrollo del software.
Someerville (2005), menciona que:
• Modelo de desarrollo de software: es una representación
simplificada del proceso para el desarrollo de software, presentada
desde una perspectiva específica.
• Metodología de desarrollo de software: es un enfoque estructurado
para el desarrollo de software que incluye modelos de sistemas,
notaciones, reglas, sugerencias de diseño y guías de procesos.
5. Modelos para el desarrollo de software
Un modelo para el desarrollo de software es una representación
abstracta de un proceso. Cada modelo representa un proceso
desde una perspectiva particular y así proporcione información
parcial sobre el proceso. Éstos modelos generales no son
descripciones definitivas de los procesos del software más bien
son abstracciones de los procesos que se pueden utilizar para el
desarrollo del software. Puede pensarse en ellos como marcos de
trabajo del proceso y que pueden ser adaptados para crear
procesos más específicos. Los modelos que mencionaremos son
seis:
6. Fue un modelo propuesto en los años 70 (Winston Royce), cuyos principios
se basan en que el proyecto de software se divide en fases (análisis,
diseño, desarrollo, pruebas, implementación), que deben ser secuenciales
y hasta que no se termine la fase es imposible dar inicio a la siguiente.
El desarrollo de dicha metodología, debe basarse en la planificación de
todo el proyecto desde principio a fin, estableciendo tiempos, presupuestos
y personal, ya que ante un error es difícil devolverse a fases anteriores.
Se conoce como cascada haciendo alusión a una caída de agua.
1. El modelo en cascada
7. Ventajas.
Realiza un buen funcionamiento en equipos débiles y productos
maduros, por lo que se requiere de menos capital y herramientas para
hacerlo funcionar de manera óptima. Es un modelo fácil de
implementar y entender. Está orientado a documentos. Es un modelo
conocido y utilizado con frecuencia. Promueve una metodología de
trabajo efectiva: Definir antes que diseñar, diseñar antes que codificar.
Desventajas
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto
crea una mala implementación del modelo, lo cual hace que lo lleve al
fracaso. El proceso de creación del software tarda mucho tiempo ya
que debe pasar por el proceso de prueba y hasta que el software no
esté completo no se opera. Esto es la base para que funcione bien.
Cualquier error de diseño detectado en la etapa de prueba conduce
necesariamente al rediseño y nueva programación del código afectado,
aumentando los costos del desarrollo. Una etapa determinada del
proyecto no se puede llevar a cabo a menos de que se haya culminado
la etapa anterior.
8. 2. Modelo incremental
Es un modelo basado en la metodología anterior que consiste en trabajar
por fases utilizando mini-cascada (análisis, diseño, desarrollo, pruebas),
revisando el proceso para determinar si se va bien hasta ese momento,
donde en la siguiente evolución e incremento de requerimientos, se inicia
nuevamente con la cascada. Ver video sobre Modelo incremental, donde
se muestra de forma gráfica, cada una de sus fases, ventajas y
desventajas para la construcción de productos de software.
9. VENTAJAS
En este modelo los usuarios no tienen que esperar hasta que el sistema
completo se entregue para hacer uso de él. El primer incremento cumple los
requerimientos más importantes de tal forma que pueden utilizar el software al
instante.
Los usuarios pueden utilizar los incrementos iniciales como prototipos y
obtener experiencia sobre los requerimientos de los incrementos posteriores
del sistema.
Existe muy pocas probabilidades de riesgo en el sistema. Aunque se pueden
encontrar problemas en algunos incrementos, lo normal es que el sistema se
entregue sin inconvenientes al usuario.
Ya que los sistemas de más alta prioridad se entregan primero, y los
incrementos posteriores se integran entre ellos, es muy poco probable que los
sistemas más importantes sean a los que se les hagan más pruebas. Esto
quiere decir que es menos probable que los usuarios encuentren fallas de
funcionamiento del software en las partes más importantes del sistema.6
10. DESVENTAJAS
En el desarrollo de este modelo se da la retroalimentación muy temprano a los
usuarios.
Permite separar la complejidad del proyecto, gracias a su desarrollo por parte de
cada iteración o bloque.
El producto es consistente y puntual en el desarrollo.
Los productos desarrollados con este modelo tienen una menor probabilidad
de fallar.
Se obtiene un aprendizaje en cada iteración que es aplicado en el desarrollo
del producto y aumenta las experiencias para próximos proyectos.
11. 3. Prototipo
Consisten en una metodología, permite realizar versiones Demos, con el fin de
mostrarle al cliente posiblemente el tipo de producto que se le va a construir.
Normalmente un prototipo no es funcional, en el sentido que no cubre
requerimientos del software por no ser definitivo. Actualmente es muy utilizado
para levantar requerimientos, ya que le da una idea al cliente de lo que
posiblemente puede esperar del producto definitivo. Ver video sobre Modelo de
Prototipo, donde se muestra de forma gráfica, cada una de sus fases, ventajas y
desventajas para la construcción de productos de software.
12. Ventajas
Este modelo es útil cuando el cliente conoce los objetivos generales
para el software, pero no identifica los requisitos detallados de
entrada, procesamiento o salida.
También ofrece un mejor enfoque cuando el responsable del
desarrollo del software está inseguro de la eficacia de un algoritmo,
de la adaptabilidad de un sistema operativo o de la forma que
debería tomar la interacción humano-máquina
Se puede reutilizar el código.
13. Desventajas
El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al
sistema final. A causa de la intención de crear un prototipo de forma rápida, se
suelen desatender aspectos importantes, tales como la calidad y el
mantenimiento a largo plazo, lo que obliga en la mayor parte de los casos a
reconstruirlo una vez que el prototipo ha cumplido su función. Es frecuente que
el usuario se muestre reacción a ello y pida que sobre ese prototipo se
construya el sistema final, lo que lo convertiría en un prototipo evolutivo, pero
partiendo de un estado poco recomendado.
En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar
algunas decisiones de implementación poco convenientes (por ejemplo, elegir
un lenguaje de programación incorrecto porque proporcione un desarrollo más
rápido). Con el paso del tiempo, el desarrollador puede olvidarse de la razón
que le llevó a tomar tales decisiones, con lo que se corre el riesgo de que dichas
elecciones pasen a formar parte del sistema final...
14. 4. Modelo Espiral
El modelo espiral, significó una gran evolución para dichas metodologías, ya que
se incorporan elementos como la evaluación de cada proceso, donde se tienen en
cuenta los riesgos que pueden afectar el proceso de ingeniería de software. Dicha
metodología divide el proyecto en segmentos y trabaja en forma de espiral,
permitiendo la evaluación de dichos riesgos en cada iteración, donde pasa por
diferentes fases que corresponden a un mismo ciclo como son: en primer lugar la
determinación de los objetivos, alternativas, y desencadenantes de la iteración; en
segundo lugar la Evaluación de alternativas que permite identificar y resolver los
riesgos; en tercer lugar el desarrollo y verificación de los resultados de la iteración,
y en cuarto lugar el plan de la próxima iteración o vuelta del espiral. El conjunto de
fases se repite ciclo a ciclo hasta que termine todo el proceso de construcción. Ver
video sobre Modelo espiral, donde se muestra de forma gráfica, cada una de sus
fases, ventajas y desventajas para la construcción de productos de software.
15. 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
16. 5. Modelo RUP (Proceso Unificado de Rational)
Es un modelo recoge elementos de los anteriores, creado finalizando los años 90,
muy utilizado actualmente en la creación de productos de software, que contiene
un proceso de estructuración orientado especialmente hacia la construcción de
productos con orientación a objetos, dando una dinámica diferente a la forma de
desarrollar software. El RUP se apoya en el Lenguaje Unificado de Modelado
(UML), constituido como la metodología estándar más utilizada en el análisis,
implementación, documentación de los sistemas orientados a objetos. El RUP,
permite que cada organización adapte su metodología acorde a las necesidades
de construcción. Las fases que maneja dicho modelo son: Inicio: (Documento
visión, especificación de requisitos). Elaboración: (Diagramas de caso de uso)
Construcción: (Documento arquitectura que trabaja con las siguientes vistas: Vista
Lógica (Diagrama de clases, Modelo Relacional para el manejo de datos) Vista de
Implementación (Diagrama de Secuencia, Diagrama de estados, Diagrama de
Colaboración) Vista Conceptual (Modelo de dominio) Vista física (Mapa de
comportamiento a nivel de hardware.) Transición: (Disponible para los usuarios
finales, ajustar los errores y defectos encontrados en las pruebas de aceptación,
capacitar a los usuarios y proveer el soporte técnico) Ver video sobre Modelo RUP,
donde se muestra de forma gráfica, cada una de sus fases, ventajas y desventajas
para la construcción de productos de software.
17. Ventajas del Modelo RUP
Es el proceso de desarrollo más general de los
existentes actualmente.
Es una forma disciplinada de asignar tareas y responsabilidades
en una empresa de desarrollo (quién hace qué, cuándo y cómo).
Ventajas del Modelo RUP
Es el proceso de desarrollo más general de los
existentes actualmente.
Es una forma disciplinada de asignar tareas y responsabilidades
en una empresa de desarrollo (quién hace qué, cuándo y cómo).
18. Modelo XP (Programación Extrema)
Se orienta hacia procesos ágiles para la construcción de productos informáticos,
con alta adaptabilidad a la previsibilidad, ya que considera que los cambios
durante el proceso son incontrolables en el sentido de que siempre van a
aparecer, por lo tanto el modelo permite incorporarlos en cualquier etapa del
proceso de ingeniería del software. Este modelo considera la programación por
pares lo que significa que para una misma actividad, se debe disponer do dos
personas, siendo además indispensable el acompañamiento del cliente durante
su desarrollo, considerando que es él quien tiene el conocimiento de cómo se
realiza el proceso. Ver video sobre Modelo XP, donde se muestra de forma
gráfica, cada una de sus fases, ventajas y desventajas para la construcción de
productos de software.
19. Ventajas
Programación organizada.
Menor taza de errores.
Satisfacción del programador.
Solución de errores de programas
Versiones nuevas
Implementa una forma de trabajo donde se adapte fácilmente a las
circunstancias .
Desventajas
Es recomendable emplearlo solo en proyectos a corto plazo
Altas comisiones en caso de fallar
Imposible prever todo antes de programar
Demasiado costoso e innecesario
20. ARGUMENTO
Windows XP es la versión con más características, por ejemplo, para el uso en equipos
domésticos o caseros, sin más nada que para hacer tareas sencillas como escuchar
música redactar documentos, ver videos y cositas simples que no ameritan manejo de
redes de computadores además cada versión incluía más herramientas y porque no
decirlo, más controles por cualquier falló imprevisto que se pudiera suceder con el paso
del tiempo, mejor manejo para redes de varios equipos, e integración en redes de
dominios.
Windows, siempre ha sido una gran herramienta de sistema operativo para todos aquellos
que no tienen mucha idea del mundo de la informática y de moverse a través de otros
sistemas operativos que estén en el mercado, para adentrarse a Internet a través de
ellos, ya en su momento nos pusimos muchos de todos nosotros hacer cursos para
aprender a manejar Windows, que luego con las mejoras, ya se ha visto que a uno no le
hace falta hacer ningún curso para saber manejar este sistema operativo que cada vez las
cosas se han ido mejorando hasta el punto que su interfaz ya nos indica todo lo que
tenemos que hacer y donde meternos para hacer unas cosas u otras.
Por mi parte, hasta que pueda conocer un poco más como manejarme por otros sistemas
operativos iguales o mejores que este del Windows xp, y hasta que me obliguen ya del
todo ha cambiarme a nuevas versiones de Windows (que por intentarlo ya lo intentan
obligándonos a comprar los ordenadores con las nuevas versiones posteriores al xp, que
siguen sin tener tanto éxito como este del que os he hablado), de momento seguiré
utilizando este sistema operativo, hasta que llegue alguna de esas cosas a mi vida.
El mejor es de Windows xp
21. Porque
- Es una metodología ligera de desarrollo de software que se basa en la
simplicidad, la comunicación y la realimentación del código desarrollado.
- Surgió como respuesta y posible solución a los problemas derivados del
cambio en los requerimientos.
- Se plantea como una metodología a emplear en proyectos de riesgos.
- Aumenta la productividad
- Programación organizada, menor taza de errores, satisfacción del
programador.
- Soluciona errores de programas, versiones nuevas Implementa una
forma de trabajo donde se adapte fácilmente a las circunstancias .