PROCESO DE SOFTWARE
La crisis del software
Se dio a finales de los sesentas
Principales motivos
Softwares inconclusos o abandonados
El producto final no cumplía
los estándares del cliente
Mala estimación de costos
Altos costos de mantenimiento
Modelos de procesos de software
¿Cuáles son?
Cascada
¿Qué es?
Modelo secuencia apropiado cuando
los requerimientos estan claramente definidos
Ventajas
Contempla toda la funcionalidad del sistema desde el inicio
Desventajas
Los cambios posteriores son costosos y afectan todo el proceso
Requiere de mucha documentación, una vez finalizado cada proceso
Incrementales
¿En qué consiste?
Modelo para entrega inicial de softwares funcionales,
pero que mejoran con el tiempo
Ventajas
Producto básico terminado en poco tiempo
desventajas
El proceso evolutivo se puede salir de control
Evolución de prototipos
¿En qué consiste?
Crear versiones primarias del software al cual se quiere llegar
Ventajas
Desde el primer prototipo hay retroalimentación, se puede corregir errores
Desventajas
No se estima facilmente la fecha de culminación del proyecto
Ágiles
¿En qué consiste?
Combina estrategias de los tres modelos anteiriores
Ventajas
Anticipan cambios y disminuyen sus impactos, aligera
la formalización de las etapas del proceso
Desventajas
Se requiere entrenamiento y disciplina del equipo realizador
Basado en componentes
¿En qué consiste?
Se apoya en software desarrollado previamente, configurando según las necesidades del cliente
Ventajas
Evita que la actividad de desarrollo se haga desde cero
Desventajas
No siempre el modelo cumple con las necesidades del cliente y algunas empresas disminuyen los requerimientos
Proceso unificado
¿Qué es?
Se basa en los modelos anteriores, pero,
hace énfasis en el uso de casos basado en el lenguaje UML
se compone en
Conpceción
Elaboración
Construcción
Transición
Actividades del procesamiento
de software
¿Cuáles son?
Especificación de requerimientos
Se descompone en
Obtención
Inventarios de requerimientos que debe cumplir software
según lo solicitado por el cliente
Análisis
Determinar viabilidad de los requerimientos dada tecnología, costo y tiempo.
Especificación
Individualizar y especificar el requerimiento del cliente
Validación
Deben de cumplir las siguientes características
No Redundante
Completo
Alcanzable
Planeación
¿Qué es?
Plantear objetivos y actuar conforme a los recursos disponibles
Modelado
¿En qué consiste?
Abstraer el sistema de acuerdo
a los criterios del cliente
Se descompone en
Diseño arquitectura
¿Qué es?
identificación y documentación
de subsistemas y sus relaciones
Especificación abstracta del sistema
¿Qué es?
Abstracción de sus servicios
y las restricciones de su funcionamiento
Diseño de interfaces
¿Qué es?
diseño y documentación de interfaz
Diseño de componentes
¿Qué es?
asignación de servicios y diseños
de los componentes
Diseño de estructura de datos
¿Qué es?
Diseño y especificación
de la implementación del sistema
Diseño de algoritmos
¿Qué es?
Diseño a detalle y especificación de algoritmos para proporcionar servicios
Desarrollo
¿En qué consiste?
Generar el código fuente en el lenguaje
de programación
Unica etapa
Codificación
¿Qué es?
codificar en uno o varios lenguajes de programación las especificaciones de la etapa de diseño
Reglas de la codificación
Simple
Adaptativo
Facilitar las pruebas
Ajustarse a las normas vigentes
Implantación
¿En qué Consiste?
Puesta en marcha del software dada la aprobación del cliente
Para ello se requiere cumplir
con tres pruebas
Componentes
Sistemas
Aceptación
Una vez culminadas las pruebas
se debe tener en cuenta
Corrección errores programación
Implementación de nuevos requerimientos
Ajustes
¿Qué es?
Actividades desarrolladas por individuos para el desarrollo, mantenimiento y operación de los sistemas
¿Qué actividades incluye?
Levantamiento de requerimientos
Diseño
Construcción
Pruebas
Configuración
Derivan en
Ingeniería de Software
Aplicar las técnicas de la ingeniaría
desde un enfoque sistemo