Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Un buen software (sw) hace la vida de los usuarios más fácil y mejor.
Fiable.
Flexible.
Las necesidades de los usuarios cambian a lo largo del tiempo, incluso mientras el sw se está
desarrollando, de manera que es importante poder realizar cambios en el mismo más tarde. Todos
los cambios que se hacen en el sw después de entregado, se llama mantenimiento.
Accesible.
Los costos de manos de obra son el elemento más significativo dentro de los costes de sw, de
manera que si este se reduce quiere decir que es relativamente sencillo fácil de desarrollar y
mantener.
Disponible.
06/11/2015
INGENIERIA DE SOFTWARE.
Veremos estándares relacionados con el proceso software.
PROCESO DE SOFTWARE.
Ciclo de Vida.
Sucesión de etapas por las que atraviesa un producto software a lo largo de su existencia
(durante su desarrollo y explotación).
Ciclo de Vida:
Guía: Conjunto de criterios bien definidos y documentados que encaminan una actividad o
tarea. (Es más flexible que el estándar)
o Agrupan lo mejor y más apropiado de las buenas prácticas y uso del desarrollo de
software.
o Engloban los “conocimientos” que son patrimonio de una organización.
o Proporcionan un marco para implementar procedimientos de aseguramiento de la
calidad.
o Proporcionan continuidad entre el trabajo de distintas personas.
Tipo Estándares:
Estándares para dato: Desde aignar nombres a los datos y especificar longitud y tipo.
Codificación
Estructurales.
EJEMPLO:
Actividad: Define las acciones que se llevan a cabo en un momento dado del desarrollo de software.
Producto o Artefacto: Son las entradas y salidas de las actividades, pueden ser de diferentes tipos,
como documentos, modelos, componentes, planes, reportes, etc.
Disciplina: Conjunto integrado por actividades relativas a una rama particular de conocimiento. Ej.
Análisis y diseño.
Modelos de PS.
UP
RUP
PSP
TCP
Proporciona una medida de la eficacia global de las prácticas de ingeniería de sw de una compañía
y establece para ellos, cinco niveles de madurez del proceso.
CMM describe 5 niveles de madures: Inicial, Repetible, definido, gestionado y optimizado.
Repetible: Se establecen políticas y procedimientos para llevar a cabo un proyecto. Una función y
criterios de calidad que deba cumplir.
Gestionado: La calidad del producto y del proceso es medida, predecible y cuantificable. Poniendo
métricas del software.
Un marco de referencias que contiene los procesos, las actividades y las tareas involucradas
en el desarrollo, la explotación y el mantenimiento de un producto software, abarcando la
vida del sistema.
o Proceso: Conjunto de actividades.
o Actividad: Conjunto de tareas.
o Tarea: Acción que transforma las entradas en salidas.
Proporciona procesos para definir, controlar y mejorar los procesos de ciclo de software.
PROCESOS DE ESTE ESTANDAR.
Procesos principales.
o Procesos de Suministros: Actividades y tareas que el comprador, el cliente o el
usuario realizan para adquirir u sistema de productos (servicio) software:
Preparación u publicación de una solicitud de ofertas.
Selección del suministrador del software.
Gestión de los procesos para adquirir.
Actividades y tareas que realiza el suministrador.
o Procesos de Desarrollo e Implementación del proceso: Contiene las actividades y
tareas realizadas por el desarrollador.
Si no está especificado en el contrato, el desarrollador definirá un modelo
del ciclo de vida, así como el lenguaje a utilizar, etc.
o Procesos de Desarrollo - Análisis de procedimiento de software.
IEE 830-1998
DI-IPSC- 81433
o Procesos de Desarrollo - Diseño detallado del software.
Diseño detallado de componentes, interfaces y BD.
o Procesos de Desarrollo – Actividades Finales.
Prueba del sistema.
Instalación del software.
Integración del software.
Prueba del software.
Integración del sistema.
Prueba del sistema.
Instalación del software.
Soporte del proceso de aceptación del software.
o Proceso de Explotación: Se explota el software y el proceso, debe ser operado de
acuerdo a la documentación.
o Proceso de mantenimiento: El software o la documentación necesita ser
modificado, debido a problemas o a necesidades de mejora o adaptación:
Nuevos errores detectados.
Cambios en la legislación.
Cambios en el entorno.
Necesidad de mejoras.
Migración a un nuevo entorno operativo.
Se va a terminar con su uso.
Procesos de soporte.
o Sirven de apoyo al resto.
o Contribuyen al éxito y calidad del proyecto software.
o Se aplica en cualquier parte del ciclo de vida.
o Sirve de apoyo al resto de procesos.
o Se aplican en cualquier momento del ciclo de vida.
Documentación: Registrar información producida por cualquier proceso y
gestiona los documentos necesarios para todas las personas involucradas
en el proceso de software.
Gestión de la configuración: Saber las últimas actualizaciones.
Resolución de los problemas.
Procesos de la organización (procesos generales):
o Objetivo: Establece, implementar y mejorar.
Proceso de adaptación.
o Permite adaptar a cada proyecto y organización.
o Factores que influyen en adquirir, desarrollar, explotar o mantener un sistema:
Tamaño y complejidad del proyecto.
Requisitos para sistema.
Métodos de desarrollo.
Variaciones en las políticas y procedimientos de la organización.
CICLO DE VIDA
Ciclo de Vida: Es el que da lineamiento y fases para desarrollo de software.
Modelos de Procesos.
La ingeniería de software establece y se vale de una serie de modelos que instauran y muestran las
distintas etapas y estados por los que pasa un producto software, desde su concepción inicial,
pasando por su desarrollo, puesto en marcha y posterior mantenimientos, hasta la retirada del
producto.
Modelos Tradicionales.
Formados por un conjunto por un conjunto de fases o actividades en las que no tienen en cuenta la
naturaleza evolutiva del software.
Modelos Evolutivos.
Son modelos que se adaptan a la evolución que sufren los requisitos del sistema en función del
tiempo.
En espiral.
Evolutivo.
Incremental.
Modelo de desarrollo concurrente.
Basado en componentes.
Proceso Unificado.
De agrupamiento.
Fuente.
Basados en componentes.
Proceso Unificado.
Procesos ágiles.
Ventajas.
Es para proyectos estables donde sus requisitos no son cambiantes.
También para proyectos pequeños donde los requisitos están bien entendidos.
Modelo bien estructurado donde no se mesclan las fases.
Necesita los requisitos en macro.
Inconvenientes.
Un proyecto raramente sigue una secuencia lineal.
Un cliente va a estableces al principio todos los requisitos necesario, provocando que puede
ser cambiante los requisitos.
Los resultados no son visibles en cada fase del modelo.
En caso de que se cambien los requisitos, es necesario volver a la fase de requisitos.
Muchas veces se considera un modelo pobre para proyectos largos, complejos, orientado a
objetos y por su puesto en aquellos en que los requisitos son cambiantes.
MODELO V.
Las pruebas es necesario que se apliquen lo más pronto posible.
Integra cada fase en pruebas (Verificación, validación), se pueden integran en cada fase del
ciclo de vida. Sus pruebas son aplicables más en las etapas tempranas del modelo.
La parte izquierda de la V representa la descomposición de los requisitos y la creación de las
especificaciones del sistema, el lado derecho representa la integración de partes y
verificación y la V validación y verificación.
Ventajas.
Simple y fácil de ocupar.
En cada una de las fases hay entregables específicos.
Tiene una oportunidad de éxito sobre el modelo cascada.
Es un modelo que puede funcionar para proyectos pequeños donde los requisitos
entendidos.
Inconvenientes.
Es un modelo muy rígido.
Poca flexibilidad.
El software se desarrolla en la durante de implementación.
MODELO INCREMENTAL.
Modelo derivado de los ciclos de vida de cascada.
Surge entre las necesidades del usuario y permite mejorar los malos entendidos del usuario
durante la etapa de recogida de requisitos.
Consiste en varios ciclos de vida en cascada. El cliente es después de cada interacción evalúa
el producto.
Este modelo se suele utilizar en proyectos en los que los requisitos no están claros por parte
del usuario.
Realiza “n” iteraciones hasta que el usuario quede satisfecho.
Ventajas:
No hace falta que los requisitos estén totalmente definidos.
Realiza el desarrollo en pequeños ciclos gestionan mejor los riesgos y entregas.
Inconvenientes:
La primera de las desventajas que ofrece este modelo, el no tener los requisitos definidos
desde el principio.
MODELO DE CICLO DE VIDA EN ESPIRAL.
Por Barry Boehm en 1985.