Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONCEPTO DE MODELO
El modelo de desarrollo de software se compone de una mezcla de varios
elementos, entre los que se encuentran la filosofía, el modelo de negocio, y el
licenciamiento. Ni la calidad ni el desempeño dependen del modelo.
Se ha propuesto, igualmente, que un modelo es una estructura conceptual que
sugiere un marco de ideas para un conjunto de descripciones que de otra manera no
podrían ser sistematizadas. De esta manera, su estructura es diferente de la que se
supone existe en el conjunto de fenómenos de la naturaleza. El modelo concebido
en esta forma, impulsa la inteligibilidad y ayuda a la comprensión de los fenómenos,
ya que proporciona los canales de interconexión entre hechos que sin la existencia
de los lazos inferenciales, podrían permanecer aislados e independientes unos de
otros.
HERRAMIENTAS DE MODELAMIENTO
Balanceo
Un sistema puede modelarse empleando múltiples herramientas de modelado. Cada
herramienta resulta en uno o más diagramas (o esquemas) que representan el
sistema completo o parte del sistema.
Cada diagrama "ayuda" al otro, permitiendo una mejor comprensión de la parte del
sistema que modela.
Análisis de requerimientos
En esta fase se analizan las necesidades de los usuarios finales del software para
determinar qué objetivos debe cubrir. De esta fase surge una memoria llamada SRD
(documento de especificación de requisitos), que contiene la especificación completa
de lo que debe hacer el sistema sin entrar en detalles internos.
Es importante señalar que en esta etapa se debe consensuar todo lo que se
requiere del sistema y será aquello lo que seguirá en las siguientes etapas, no
pudiéndose requerir nuevos resultados a mitad del proceso de elaboración del
software.
Codificación
Es la fase en donde se implementa el código fuente, haciendo uso de prototipos así
como de pruebas y ensayos para corregir errores.
Dependiendo del lenguaje de programación y su versión se crean las bibliotecas y
componentes reutilizables dentro del mismo proyecto para hacer que la
programación sea un proceso mucho más rápido.
Pruebas
Los elementos, ya programados, se ensamblan para componer el sistema y se
comprueba que funciona correctamente y que cumple con los requisitos, antes de
ser entregado al usuario final.
Implantación
Es la fase en donde el usuario final ejecuta el sistema, para ello el o los
programadores ya realizaron exhaustivas pruebas para comprobar que el sistema no
falle.
Mantenimiento
Una de las etapas que creo considerables porque se destina un 75% de los
recursos, es el mantenimiento del Software ya que al utilizarlo como usuario final
puede ser que no cumpla con todas nuestras expectativas.
Variantes
Existen variantes de este modelo; especialmente destacamos la que hace uso de
prototipos y en la que se establece un ciclo antes de llegar a la fase de
mantenimiento, verificando que el sistema final este libre de fallos.
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.
Este sistema es muy utilizado en proyectos grandes y complejos como puede ser,
por ejemplo, la creación de un Sistema Operativo.
Al ser un modelo de Ciclo de Vida orientado a la gestión de riesgo se dice que uno
de los aspectos fundamentales de su éxito radica en que el equipo que lo aplique
tenga la necesaria experiencia y habilidad para detectar y catalogar correctamente
los riesgos.
Tareas
Para cada ciclo habrá cuatro actividades:
- Determinar Objetivos
- Análisis del riesgo
- Planificación
- Desarrollar y probar
Determinar o fijar objetivos
• Fijar también los productos definidos a obtener: requerimientos,
especificación, manual de usuario.
• Fijar las restricciones.
• Identificación de riesgos del proyecto y estrategias alternativas para evitarlos.
• Hay una cosa que solo se hace una vez: planificación inicial o previa.
Planificar
• Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos
con las fases siguientes y planificamos la próxima actividad.
Mecanismos de control
• La dimensión radial mide el coste.
• La dimensión angular mide el grado de avance del proyecto.
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.
Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modelling
Language) es el lenguaje de modelado de sistemas de software más conocido en la
actualidad; aún cuando todavía no es un estándar oficial, está apoyado en gran
manera por el OMG (Object Management Group). Es un lenguaje gráfico para
visualizar, especificar, construir y documentar un sistema de software. El UML ofrece
un estándar para escribir un "plano" del sistema, incluyendo aspectos conceptuales
tales como procesos de negocios y funciones del sistema, y aspectos concretos
como expresiones de lenguajes de programación, esquemas de bases de datos y
componentes de software reutilizables.
El punto importante para notar aquí es que el UML es un "lenguaje" para especificar
y no un método o un proceso. El UML se usa para definir un sistema de software;
para detallar los artefactos en el sistema, para documentar y construir -es el lenguaje
en el que está escrito el plano-. El UML se puede usar en una gran variedad de
formas para soportar una metodología de desarrollo de software (tal como el
Proceso Unificado de Rational) -pero no especifica en sí mismo qué metodología o
proceso usar.
El UML cuenta con varios tipos de modelos, los cuales muestran diferentes aspectos
de las entidades representadas.
¿Qué es UML?
¿Qué es un Modelo?
Los resultados del análisis técnico son la base de otra decisión del tipo "seguir/no
seguir" con el sistema. Si el riesgo técnico es alto, si los modelos indican que la
funcionalidad o el rendimiento deseados no pueden ser alcanzados, o si las piezas
no encajan bien- ¡Hay qué volver a la mesa de trabajo!
Tipos de Modelo.
Estandarización de UML.
Críticas a UML.
Su Utilización.
El estándar UML 2.0 está con nosotros. En Julio de 2003la superestructura UML2.0
fue publicado y desde entonces éste tuvo abundante especulación sobre los
cambios y su impacto sobre la comunidad UML.
Los cambios más obvios del UML 1.x al 2.0 fueron la introducción de nuevos
diagramas. Los nuevos diagramas incluyen:
* Diagrama de Estructura.
* Diagrama Compuesta.
* Diagrama de Comunicación.
* Diagrama de Oportunidad.
* Diagrama de Interacción por Repaso.