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