Es una serie de actividades relacionadas que conduce a la elaboración de un producto de software.
Estas actividades pueden
incluir el desarrollo de software desde cero en un lenguaje de programación estándar como Java o C 1. Especificación del 2. Diseño e software Tienen que implementación del definirse tanto la software Debe funcionalidad del desarrollarse el Existen muchos diferentes software como las software para restricciones de su cumplir con las procesos de software operación. especificaciones. Todos deben incluir cuatro actividades fundamentales 4. Evolución del para la ingeniería de 3. Validación del software Hay que software El software software: validar el software tiene que evolucionar para satisfacer las para asegurarse de necesidades que cumple lo que el cambiantes del cliente quiere. cliente. 1. Productos, que son los resultados de una actividad del proceso. Al igual que las actividades, también las 3. Precondiciones y postcondiciones, que 2. Roles, que reflejan descripciones de son declaraciones válidas antes y después de que se realice una las responsabilidades de la gente que interviene en el los procesos actividad del proceso o se cree un producto. proceso. deben incluir: Los procesos de software son complejos y, como todos los procesos intelectuales y creativos, se apoyan en personas con capacidad de juzgar y tomar decisiones.
No hay un proceso ideal; además, la mayoría de
las organizaciones han diseñado sus propios procesos de desarrollo de software.
Los procesos han evolucionado para beneficiarse
de las capacidades de la gente en una organización y de las características específicas de los sistemas que se están desarrollando. Resumen del Proceso de software Cuando se trabaja en la construcción de un producto o sistema, es El mapa que se importante ejecutar una sigue se llama serie de pasos predecibles —el mapa de carreteras “proceso del que lo ayuda a obtener a software”. tiempo un resultado de alta calidad—. Los ingenieros de software y sus gerentes adaptan el proceso a sus necesidades y luego lo siguen.
Además, las personas que
solicitaron el software tienen un papel en el proceso de definición, elaboración y prueba. Debe incluir sólo aquellas actividades, controles y Porque da estabilidad, Sin embargo, un enfoque productos del trabajo que control y organización a una moderno de ingeniería de sean apropiados para el actividad que puede volverse software debe ser “ágil”. equipo del proyecto y para el caótica si se descontrola. producto que se busca obtener. En un nivel detallado, el proceso que se adopte depende del software que se esté elaborando.
Un proceso puede ser
apropiado para crear software destinado a un sistema de control electrónico de un aeroplano, mientras que para la creación de un sitio web será necesario un proceso completamente distinto. Desde el punto de vista de un ingeniero de software, los productos del trabajo son los programas, documentos y datos que se producen como consecuencia de las actividades y tareas definidas por el proceso. Hay cierto número de Sin embargo, la mecanismos de calidad, oportunidad evaluación del y viabilidad a largo proceso del software plazo del producto que permiten que las que se elabora son organizaciones los mejores determinen la indicadores de la “madurez” de su eficacia del proceso proceso. que se utiliza. Modelos de proceso de software MODELO DE es una representación PROCESO DE SOFTWARE simplificada de este proceso.
Cada modelo del proceso representa a
otro desde una particular perspectiva y, por lo tanto, ofrece sólo información parcial acerca de dicho proceso. Los modelos del proceso que se examinan aquí son: Ingeniería de El modelo en Desarrollo software orientada cascada (waterfall) incremental a la reutilización MODELO DE LA CASCADA Una variante de la representación del modelo de la cascada se denomina MODELO EN V MODELOS DE PROCESO INCREMENTAL Aplica secuencias lineales en forma escalonada a medida que avanza el calendario de actividades.
Cada secuencia lineal produce
“incrementos” de software susceptibles de entregarse de manera parecida a los incrementos producidos en un flujo de proceso evolutivo. INGENIERÍA DE SOFTWARE ORIENTADA A LA REUTILIZACIÓN