1. MODELOS DE PROCESO PARA
EL DESARROLLO DE SOFTWARE II
UTSV I.T.I Ma. Candelaria Martínez Alcudia| | martinez_candy_84@hotmail.com
UNIDAD I
2. I. INTRODUCCIÓN A LA INGENIERÍA DE SOFTWARE
• Objetivo. El alumno conocerá los principios y
metodologías para el desarrollo y mantenimiento
de sistemas de información.
I. Definición de ingeniería de software y su
importancia
II. Ciclo de Vida de un Sistema Software.
5. CONCEPTOS
• QUE ES SOFTWARE?
• QUE ES INGENIERIA?
• QUE ES INGENIERIA DE SOFTWARE?
6. DEFINICIONES
• SOFTWARE
Es el conjunto de los programas de cómputo,
procedimientos, reglas, documentación y datos
asociados, que forman parte de las operaciones de
un sistema de computación.
Extraído del estándar 729 del IEEE
7. DEFINICIONES
• Ingeniería
Disciplina y profesión enfocada a la aplicación de
conocimiento científico y técnico, que utiliza
recursos físicos para diseñar e implementar
diversos artefactos (estructuras, máquinas,
dispositivos, sistemas y procesos) para realizar un
objetivo deseado y alcanzar criterios especificados
8. INGENIERÍA DE SOFTWARE(IEEE).
La aplicación de un enfoque sistemático (ordenado),
disciplinado y cuantificable al desarrollo, operación y
mantenimiento de software, esto es, la aplicación de la
ingeniería en el área del software
Los Ingenieros de Software adoptan un enfoque
sistemático para llevar a cabo su trabajo y utilizan las
herramientas y técnicas necesarias para resolver el
problema planteado, de acuerdo a las restricciones de
desarrollo y recursos disponibles.
“Un programador no es un ingeniero de software.”
9. INGENIERIO DE SOFTWARE
• Solucionar un problema complejo
– Análisis
– Síntesis
• Recurriendo a:
– Técnicas, Métodos
– Herramientas (mejorar resultado o eficiencia)
– Procedimientos (combinan métodos y herramientas)
– Paradigmas (“estilo” de la solución)
10. DEFINICIONES
• Técnica
– Procedimiento técnico para construir o evaluar software que
requiere habilidades y produce un resultado técnico, p.e. probar,
codificar, etc.
• Método
– Es un procedimiento para gestionar la aplicación de técnicas de
software (cuándo y cómo aplicar, cuándo comenzar y terminar, qué
técnica es apropiada, cómo evaluarla), p.e. plan de prueba,
recopilar requerimientos
• Herramienta
– Producto de software que facilita la ejecución de una técnica o
método
• Procedimiento
– Combinación de métodos, técnicas y herramientas
• Paradigma
– Filtro conceptual que determina cómo percibimos/interpretamos
11. ¿QUÉ ATRIBUTOS TIENE UN BUEN SOFTWARE?
• El software debería entregar la funcionalidad y desempeño
requeridos por el usuario y debería ser mantenible, confiable y
usable.
• Mantenibilidad
– El software debe evolucionar para cubrir necesidades cambiantes.
• Confiabilidad
– El software debe ser confiable.
• Eficiencia
– El software no debe malgastar los recursos del sistema.
• Usabilidad
– El software debe ser usable por los usuarios para quienes se diseñó.
12. INGENIERIA DE SOFTWARE
• Inicialmente la tarea de desarrollo era realizada
individualmente por hábiles creativos, de forma
poco disciplinada. El trabajo en equipo supone la
división y organización del trabajo utilizando
metodologías de desarrollo.
• En los 70 y los 80 empiezan a usarse herramientas
CASE (Computer Aided Software Engineering).
• En los 90 IPSE e ICASE.
13. INGENIERIA DE SOFTWARE
• La IS no se plantea solo una actividad de
programación, previamente son necesarias las
fases de análisis y diseño y posteriormente la
integración y la verificación, incluso el
manteniendo cuando el producto ya está en
explotación. (CICLO DE VIDA).
14. TAREA 1
• GENERAR UN MAPA MENTAL CON LOS
CONCEPTOS VISTOS EN EL TEMA I
• INVESTIGAR EL CODIGO DE ETICA DEL
INGENIERO DE SOFTWARE
16. CONCEPTO
• El software nace, crece y muere
– Es su ciclo de vida
– Nace con sus requerimientos y diseño
– Crece con su desarrollo y mantenimiento
– Muere cuando se reemplaza por otro
• Software obsoleto
17. SOFTWARE OBSOLETO
• Razones
– Crecimiento de la empresa
• Cambio de los requerimientos originales
– Número de usuarios
– Número de transacciones
• Distribución del software
– Cambio de operaciones
• Ampliación
• Integración con otros sistemas
18. DEFINICIÓN FORMAL
• ISO/IEC 12207
– Information Technology / Software Life Cycle Processes
– Estándar para los procesos de ciclo de vida del software
• “Un marco de referencia que contiene los
procesos, las actividades y las tareas involucradas
en el desarrollo, la explotación y el mantenimiento
de un producto de software, abarcando la vida del
sistema desde la definición de los requisitos hasta
la finalización de su uso”.
19. CICLO DE VIDA CLASICO
• Modelo en cascada
Análisis
Diseño
Codificación
Integración
Mantenimiento
20. ANÁLISIS
• Entrada
– Conocimiento del dominio de la aplicación, actividades
de los usuarios, mercado, etc.
• Actividades
– Identificar las necesidades del usuario
– Análisis de viabilidad
– Determinar los requerimientos de la aplicación
• Salida
– Documento de requerimientos del software
21. DISEÑO
• Entrada
– Documento de requerimientos del software
• Actividades
– Establecer estrategia de solución
– Análisis de alternativas. Formalizar la solución
– Descomponer y organizar la aplicación
– Fijar descripciones de cada módulo
• Salida
– Documento de diseño del software
– UML (Universal Modeling Language)
22. CODIFICACIÓN
• Entrada
– Documento de diseño del software
• Actividades
– Creación del código fuente
– Pruebas de unidades
• Salida
– Código de módulos, probado
23. INTEGRACIÓN. VALIDACIÓN
• Entrada
– Código de módulos, probado
– Documento de requerimientos del software (validación)
• Actividades
– Pruebas de integración
– Pruebas de validación
• Salida
– Aplicación completa, lista para usar
24. MANTENIMIENTO
• Entrada
– Software listo para usar
• Actividades
– Instalación
– Uso en paralelo
– Implementación
– Nuevos requerimientos, correcciones y modificaciones
– Soporte de usuarios
• Salida
– Aplicación respondiendo a las necesidades actuales
25. TIPOS DE CICLO DE VIDA
• CASCADA (luis, magaly)
• MODELO V (pedro, cecilia y geovany)
• DESARROLLO EVOLUTIVO (silvia, vero)
• INCREMENTAL (christian, jesus, erik)
• ITERATIVO (rosaisela, larisa y guevara)
• ESPIRAL (martin,brenda, oscar)
• PROCESO UNIFICADO (joshua,eneida, fer)
• METRICA 3 (taxo,karen)
• OTROS
– PROTOTIPO (aurelio, andres, luis alberto)
– COMPONENTES DE SOFTWARE
26. TAREA 2
• SELECCIONAR EL CICLO DE VIDA QUE USARA SU
PROYECTO DE INTEGRADORA.
• JUSTIFICAR EL PORQUE FUE SELECCIONADO.