1. ELEMENTOS DEL PROCESO
2. Modelos de mejora de procesos
2.1. |
2.2. Capability Maturity Model Integration: En español «Integración de Modelos de Madurez de Capacidades» es uno de los modelos líderes basados en mejores prácticas. Son evaluaciones independientes las que confirman el grado con el que una organización siguen sus propios procesos, que no evalúa la calidad de los procesos o del software que se produce. CMMI ha reemplazado a CMM y tiene un ámbito global, no sólo en procesos destinados al desarrollo del software.
2.3. ISO 9000: Describe estándares para un proceso organizado formalmente para resultar en un producto y los métodos de gestión y monitoreo del progreso. Aunque este estándar se creó inicialmente para el sector de producción, los estándares de ISO 9000 también se han aplicado al desarrollo del software. Al igual que CMMI, que una organización está certificada con el ISO 9000 no garantiza la calidad del resultado final, sólo confirma que se ha seguido los procesos establecidos.
2.4. ISO 15504: También conocido como Software Process Improvement Capability Determination (SPICE), en español «Determinación de la Capacidad de Mejora del Proceso de Software» es un marco para la evaluación de procesos de software.
3. Principales Roles en el proceso de Desarrollo de Software
3.1. Los roles más comunes son:
3.1.1. Gerente de proyecto: Tiene por función presentar informes sobre las litigaciones de riesgos, hacer cumplir los plazos y lleva el control de los costos. También organiza el equipo, realiza planificación y estima el tiempo de las actividades. En conclusión, resuelve problemas.
3.1.2. Analista de requerimientos: Se encarga del revelamiento de los requerimientos esenciales para el desarrollo del Software, la documentación de los requerimientos para así el resto del equipo lo pueda consulta en cualquier momento. Debe ser una persona con capacidad de abstracción y análisis.
3.1.3. Desarrollador de software o programador: Encargado de la concepción y el diseño, escribe el código, prueba lo que construye y se encarga de hacer el mantenimiento del código.
3.1.4. Testeador: Diseña y ejecuta las pruebas, para ello requiere conocer el producto a probar claro esta, estudiar funcionalidad del producto y desarrollar las pruebas que revelen incidentes críticos. Reporta los incidentes y provee información sobre la calidad del sistema.
3.1.5. Arquitecto de software: Está encargado del aseguramiento de la calidad, mejorar continuamente la arquitectura. Gestiona los requerimientos no funcionales, asume la dirección técnica para asegurar que todos los aspectos de la arquitectura se estén desarrollando de manera correcta.
4. SOFTWARE LIBRE
4.1. VENTAJAS
4.1.1. – Existen aplicaciones para todas las plataformas (Linux, Windows, Mac Os ). – El precio de las aplicaciones es mucho menor, la mayoria de las veces son gratuitas. – Libertad de copia. – Libertad de modificación y mejora. – Libertad de uso con cualquier fin. – Libertad de redistribución. – Facilidad a la hora de traducir una aplicacion en varios idiomas. – Mayor seguridad y fiabilidad. – El usuario no depende del autor del software.
4.2. DESVENTAJAS
4.2.1. – Algunas aplicaciones ( bajo Linux ) pueden llegar a ser algo complicadas de instalar. – Inexistencia de garantía por parte del autor. – Interfaces gráficas menos amigables. – Poca estabilidad y flexibilidad en el campo de multimedia y juegos. – Menor compatibilidad con el hardware.
5. También denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso.
6. Actividades del desarrollo de software
6.1. Planificación: La importante tarea a la hora de crear un producto de software es obtener los requisitos o el análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software
6.2. La implementación: es parte del proceso en el que los ingenieros de software programan el código para el proyecto de trabajo que está en relación de las demanda del software, en esta etapa se realizan las pruebas de caja blanca y caja negra. Las pruebas de software son parte esencial del proceso de desarrollo del software.
6.3. Despliegue y mantenimiento: El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción.
7. Modelos de Desarrollo de Software
7.1. Existen tres paradigmas de los modelos de desarrollo de software
7.1.1. Paradigma de Desarrollo Ágil
7.1.2. Paradigma Orientado a Objetos
7.1.3. Paradigma Tradicional
7.2. son una representación abstracta de una manera en particular. Realmente no representa cómo se debe desarrollar el software, sino de un enfoque común.
7.2.1. Modelo de cascada: El modelo de cascada define las siguientes etapas que deben cumplirse de forma sucesiva:
7.2.1.1. -Especificación de requisitos -Diseño del software -Construcción o Implementación del software -Integración -Pruebas (o validación) -Despliegue (o instalación) -Mantenimiento
7.2.2. Modelo de espiral: La principal característica del modelo en espiral es la gestión de riesgos de forma periódica en el ciclo de desarrollo. Este modelo fue creado en 1988 por Barry Boehm, combinando algunos aspectos clave de las metodologías del modelo de cascada y del desarrollo rápido de aplicaciones, pero dando énfasis en un área que para muchos no jugó el papel que requiere en otros modelos: un análisis iterativo y concienzudo de los riesgos, especialmente en el caso de sistema complejos de gran escala.