Professional Documents
Culture Documents
Software
El Software nos ha permitido, entre otros: ejecutar tareas ms rpido y efectivo (procesamiento de palabras, hojas de clculo, correo electrnico, telefona mvil, etc...) apoyar los desarrollos y avances en medicina, agricultura, transporte, industrias, comercio, etc... permitir hacer nuevas cosas como educacin asistida, microciruga, robtica, etc...
Enero 2006 VI Congreso Expotecnologa 2006
Software
El Software invade nuestro mundo:
hace nuestras vidas ms confortables, eficientes y efectivas trabaja explcitamente y detrs de la escena en muchos aspectos de nuestra vida incluyendo salud, bienestar, finanzas, control , educacin, comercio, administracin, hogar, ...
Hay que asegurar que el software contribuya realmente a mejorar nuestras vidas.... !!!
Enero 2006 VI Congreso Expotecnologa 2006
Software
Porque el software puede traer problemas cuando l mismo tiene problemas:
no opera como debe operar, tiene errores
falta - humano - vista interna desarrollador fallas - producto- especificado mas no requerido - vista externa usuario
Alta Confiabilidad Alta Flexibilidad Alta Eficiencia Alta Utilidad Muy Comprensible Bajo Costo
VI Congreso Expotecnologa 2006
Enero 2006
Software
Escribir software es un arte y una ciencia Se requiere de gran ingenio y habilidad para producir resultados robustos, fciles de entender y mantener, pero sobretodo el resultado debe ser producido de la manera ms eficiente y efectiva posible
Enero 2006 VI Congreso Expotecnologa 2006
Software: Componentes
<?php $host=localhost; $port= ; $db_name=reeis; $options= ; $tty ; $db_user=daniel; $db_password= ; $err_mesg; $db_conn; function abrir_bd_reeis() { global $db_conn, $err_mesg; global $host, $db_name, $db_user, $db_password; if (($db_conn=pg_pconnect(host=$host dbname= $db_name user=$db_user password= $db_password))=false) { echo(No fue posible conectarse); } return $db_conn; } ?>
Procedimientos
Programas
Reglas
Datos
Enero 2006
Manual del Sistema - Referencia Manual del Usuario, uso, entrenamiento Documentos Manual de Desarrollo, Instalacin, Mantenimiento
Disposicin
Enero 2006
Mantenimiento
Enero 2006
Parmetros de medicin
Un modelo de procesos es una representacin del ciclo de vida y/o desarrollo del software
Describe los procesos requeridos para desarrollar y/o mantener software define las fases, pasos, actividades o tareas que se requieren para desarrollar software sigue uno o ms enfoques o paradigmas
Enero 2006
Pruebas de la Aplicacin
Diseo Arquitectnico
Diseo Detallado
Ciclo de Desarrollo
Desarrollo
Anlisis Diseo Instalacin Construccin Pruebas
Enero 2006 VI Congreso Expotecnologa 2006
Procesos TECNICOS
Enero 2006
Procesos GERENCIALES
El enfoque evolutivo
Modelos basados en prototipos El modelo de espiral El modelo incremental El modelo de versiones
Enfoque Formal
Especificacin matemtica
para desarrollar
Producto
Representacin de los Modelos de Procesos de Software: Elemento Central Modelos orientados a Producto
Representan el proceso de desarrollo a travs de la evolucin del producto El conjunto de actividades del proceso est encadenado a su salida: el producto Producto Fase Fase Fase Actividad Actividad Estados del Actividad Tarea producto: P1, Tarea Tarea
P2, , Pn
A2
P1
A1
A4
P2 Etapa 1
A3
A5
A9
A8
Pn Etapa n
A7
Etapa 2
Enero 2006
Representacin de los Modelos de Procesos de Software: Elemento Central Modelos orientados a Decisiones
El proceso de transformacin sucesiva del producto es visto como resultado de decisiones que el grupo de desarrollo toma en la medida que el proyecto avanza Estos modelos no solamente indican cmo un proceso avanza sino, tambin, el porqu Son apropiados para procesos de desarrollo que no son determinsticos situacin
Situacin Intencin
determina
Accin
modifica
Enero 2006
Producto
Enero 2006
INSTALACIN
Enero 2006 VI Congreso Expotecnologa 2006
Requisitos y anlisis
Valida r
equisit os
Operacin/mantenimiento
Verifica dis
Program a
eo
Diseo de programas
s correc tos
Modelos de Prototipos
ANALISIS
DISEO CONSTRUCCION EVALUACION
80s
PROTOTIPO
desechable
Diseo Detallado
MODIFICACION
utilizable
CONSTRUCCION
PRUEBAS INSTALACION
Refinamiento
Enero 2006 VI Congreso Expotecnologa 2006
Modelo Incremental
Producto de Software seccionado en subsistemas, mdulos operativos o componentes En cada iteracin del proceso se desarrolla una particin que completa el producto
4 2 1
Repita para cada particin del producto
Planeacin
Anlisis
Diseo
Construccin
Refinamiento + otra particin
Evaluacin
Enero 2006
Anlisis
Anlis is
t Al
iva at n er
s4 na er as 3 tiv
rn lte A
de Rie sgos
t Al
Presupuesto
as 2 tiv a
iccio Restr
nes
Anlis is
Anlis is de
Presupuesto
Presupuesto
start
Presupuesto
Al t e rna t
Re st ri
de Rie
sgos
Prototipo2 Prototipo 3 Prototipo 4
ivas
cc io n
1
es
Riesg os
Planificar
Plan Implementacin
o dad vali o o d Dise erifica v y bas Prue ma as e Prueb n Sist ptaci ace
i qu W e R eS d
D So ise f t w o ar e
to si
s ba ue idad Pr Un de
Desarrollar y probar
Enero 2006
1991
Equipo 2
Integracin
C1
consume el servicio
Enero 2006 VI Congreso Expotecnologa 2006
C2
Ingeniera de Dominios
Anlisis del Dominio Especificacin de requisitos
Ingeniera de Componentes
Desarrollo de Componentes
modelos de anlisis
Especificacin De Componentes
diseos genricos
componentes
Diseo de la Arquitectura
Bsqueda de Componentes
Integracin de Componentes
Ingeniera de Aplicaciones
Enero 2006 VI Congreso Expotecnologa 2006
Enero 2006
Aplicaciones
Enero 2006
Ingeniera de Dominio
Ing. de Componentes
Ingeniera de Aplicacin
Reutilizacin de Componentes
Fbrica de software
Pruebas y Depuracin de producto SW Ensamblaje de producto de SW Diseo de Aplicacin de SW Anlisis y Especificacin de Requisitos de SW
Ingeniera de Componentes
Ingeniera de Dominio
Enero 2006
Tiempo
Fases
Iniciacin
Elaboracin
Construccin
Transicin
Enero 2006
Interacin
El juego de planificacin, Entregas pequeas, Programacin en parejas, Tiempo Diseo simple, Pruebas, Refactora, semana de 40 horas, estndares de codificacin
Basada en casos (historias), iteraciones y pruebas que se elaboran antes de codificar
Enero 2006
Alcance
Prototipo Inicial
Prototipo Mejorado i
Mejora de Prototipo
Prototipo Mejorado i+1
Versin Final
Prueba
Disea
Construye
Mdulo de SW
Mdulo de SW
Enero 2006
Prototipo Mejorado
Integra
Evala
Informacin generada
Enero 2006
Proyectos de Software
Modelo de PRODUCTO Modelo de PROCESO
Enero 2006
Metodologa
(ciencia)
El cuerpo de mtodos empleados por la Ingeniera de Software para producir, mantener y operar software
Metodologa
Es la descripcin, explicacin y evaluacin sistemtica de los aspectos metodolgicos del desarrollo de productos de software
contiene el razonamiento lgico seguido para resolver un problema proporciona primitivas al desarrollador de sistemas durante el proceso de desarrollo de un producto
Enero 2006 VI Congreso Expotecnologa 2006
Es el que define de manera formal el conjunto de conceptos que se deben conocer y las actividades que se deben ejecutar para resolver un problema especfico Compuesto de directivas y reglas para la realizacin de las actividades de desarrollo y que permiten construir un producto o sistema Basado en un enfoque para desarrollar un proyecto o sistema de software
Enero 2006 VI Congreso Expotecnologa 2006
Tcnica de desarrollo
Procedimiento detallado (repetible) que describe cmo debe elaborarse una parte del producto de software o un producto intermedio
Ejemplo: Tcnica de Inspeccin de Cdigo
Herramienta de desarrollo
Sistema de software usado por el grupo de desarrollo para ejecutar ciertas actividades o tareas del proceso de desarrollo
Ejemplo: Herramientas CASE, Compiladores, Ambientes de programacin
: Puerta
Enero 2006 VI Congreso Expotecnologa 2006
: Luz
Enero 2006
RESUMEN
Software Importancia global Calidad de software (producto + proceso) Modelo de Procesos de Software
Ciclo de vida y desarrollo
Produccin de Software
Modelos, enfoques, mtodos Mejora continua
Enero 2006 VI Congreso Expotecnologa 2006
CONCLUSIONES
No hay una solucin para TODOS los problemas de desarrollo de software
Escogencia de un Modelo de Proceso depende del TIPO de PRODUCTO a desarrollar y de las restricciones de definidas para el PROYECTO
Caracterizacin de Producto y Proyecto
Enero 2006 VI Congreso Expotecnologa 2006
CONCLUSIONES
Un Proceso de Software es ejecutado por personas capacitadas mediante el uso de herramientas especficas y siguiendo un conjunto de lineamientos o guas de ejecucin Procesos dependen de las personas actividad humana que conocen profundamente el dominio de aplicacin del producto de software
Enero 2006 VI Congreso Expotecnologa 2006
CONCLUSIONES
No olvidar que los Modelos de Procesos son representaciones abstractas por lo tanto debe ser interpretado correctamente para que realmente apoye a quienes desarrollan software se requiere CRITERIO y CAPACIDAD segn contexto Surgen NUEVOS especialistas en la Ingeniera de Software: Ingenieros de mtodos
Enero 2006 VI Congreso Expotecnologa 2006
Preguntas ?