SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
Ingeniería de Software.
UNIDAD 01
Ciclo de Vida
01Ingeniería de Software| Ciclo de Vida
Ciclo de Vida
• El ciclo de vida de desarrollo de sistemas informáticos puede
dividirse en actividades o fases que, en general, se ajustan
al esquema mostrado en el gráfico. Este esquema gráfico es
el ciclo de vida típico, dado que existen gran cantidad de
variantes que dependen de la organización, del tipo de
sistema que se realizará, de los gustos de los
administradores, de los tiempos, etc.
Las actividades típicas del ciclo de vida son:
1- Estudio de factibilidad.
2- Análisis (de requerimientos).
3- Diseño
3.1- Creación de prototipos
3.2- Implementación
4- Validación y prueba
5 - Operación y mantenimiento
02Ingeniería de Software| Ciclo de Vida
• La Ingeniería de Software es el resultado de llevar la tradicional disciplina de
las ingenierías al mundo de la construcción de sistemas de software.
• Es el estudio de los principios y metodologías para el desarrollo y
mantenimiento de sistemas software.
Ciclo de Vida 03Ingeniería de Software| Ciclo de Vida
• Los desafíos de la Ingeniería de Software son:
Ciclo de Vida 04Ingeniería de Software| Ciclo de Vida
• La ingeniería de software es una tecnología multicapa.
Ciclo de Vida 05Ingeniería de Software| Ciclo de Vida
• Enfoque de calidad
• La IS debe estar sustentada en un compromiso con la calidad
(Gestión de Calidad Total, Sigma Seis, etc.) que fomente una
cultura de mejora continua del proceso.
• Procesos
• Define un marco de trabajo que debe establecerse para la
entrega efectiva, la gestión de proyectos, el contexto en el cual
se aplican los métodos técnicos, se generan los productos del
trabajo, se establecen los fundamentos, se asegura la calidad y
el manejo adecuado de cambios
• Métodos:
• Definen los “cómo” para construir el software desde el punto de
vista técnico.
• Herramientas:
• Proporcionan un soporte automático o semi-automático para los
métodos.
Ciclo de Vida 06Ingeniería de Software| Ciclo de Vida
• Tareas que componen los métodos.
• Planificación y estimación de proyectos.
• Análisis de requerimientos del software y hardware.
• Diseño de estructuras de datos, arquitectura de los programas.
• Procedimientos algorítmicos.
• Codificación.
• Pruebas y mantenimiento.
Ciclo de Vida 07Ingeniería de Software| Ciclo de Vida
• Algunas herramientas:
• CASE (Ingeniería de software asistida por computadora)
• Microsoft Project (Planificación).
• UML (Modelado).
• RationalRose, visio (Modelado soportan UML).
• Designer 2000.
• Erwin (Bases de datos).
• MAGERIT (Seguridad).
Ciclo de Vida 08Ingeniería de Software| Ciclo de Vida
Fases Genéricas de la IS
• Definición. Tareas que la componen:
• Análisis del sistema.
• Planificación del Proyecto.
• Análisis de requisitos.
• Desarrollo. Tareas que la componen:
• Diseño del software.
• Codificación.
• Prueba del Software.
• Mantenimiento. Tipos de cambios:
• Corrección.
• Adaptación.
• Mejora.
• Prevención o Reingeniería.
QUÉ
CÓMO
TIPO
09Ingeniería de Software| Ciclo de Vida
Preguntas que debe Responder la IS
• ¿Cuál es el problema a resolver?
• ¿Cuáles son las características de la entidad (solución) que se utiliza para resolver el problema?
• ¿Cómo se realizará la solución?
• ¿Cómo se construirá la entidad?
• ¿Qué enfoque se va a utilizar para no contemplar los errores que se cometieron en el diseño y en la construcción de la
solución?
• ¿Cómo se apoyará la solución cuando usuarios soliciten correcciones, adaptaciones y mejoras de la entidad?.
10Ingeniería de Software| Ciclo de Vida
Ciclo de Vida
11Ingeniería de Software| Ciclo de Vida
Análisis • Analistas
Diseño • Diseñadores
Desarrollo • Programadores
Validación y
Pruebas
• Tester &
Asegurador de
Calidad
Implantación
• Administrador de
la Configuración
• Documentador
• Verificador y
Validador
Mantenimiento • Ingeniero de
Mantenimiento
Analistas
• La fase de análisis en un proyecto de construcción de software se refiere a la
especificación de un problema como la suma de sub-problemas de menor
complejidad.
• Como el experto en el problema es el cliente, se hace necesario trabajar junto
a él para realizar la especificación correctamente.
• Los miembros del grupo que trabajan con el cliente para realizar el análisis y
especificación del sistema a construir son precisamente los analistas.
12Ingeniería de Software| Ciclo de Vida
• Para que el trabajo de los analistas tenga sentido para todos los integrantes
del grupo, se hace necesario ponerse de acuerdo en la forma como se
realizará la especificación, así como la forma como el resto del grupo la
entenderá.
• Esto sugiere el uso de un estándar para realizar la fase de análisis del
problema.
• El análisis se divide en dos fases: especificación de requisitos de usuario y
especificación de requisitos de software.
13Ingeniería de Software| Ciclo de Vida
Analistas
Actividades Metas
Entrevistar al cliente, ayudándole a
identificar sus necesidades.
Determinar las necesidades esenciales y
no esenciales, así como las que son de
segundo nivel.
Verificar si los requisitos especificados son
los
correctos.
Impedir la introducción de defectos
tempranamente en la construcción del
sistema.
Definir una estructura básica del sistema
que incluya fuentes de información,
módulos de procesamiento de información,
y resultados esperados.
Construir el documento de requisitos de
usuarios.
Realizar el análisis de los requisitos. Establecer una estructura básica inicial del
sistema.
Analizar la estructura básica del sistema. Establecer interacciones, interrelaciones y
sus contextos en dicha estructura.
Generar los diagramas de la arquitectura. Definir la especificación de la arquitectura
del sistema, en forma de un documento
técnico comprensible.
14Ingeniería de Software| Ciclo de Vida
Analistas
• Durante el período de análisis, el analista se reunirá en forma
sistemática con el cliente con el propósito de entender y especificar el
problema a desarrollar. Dichas reuniones deben estar planificadas,
con fecha de inicio y fecha de término.
• En cada reunión, los analistas le mostrarán al cliente, como ha ido
evolucionando el documento de requisitos de usuario.
• El analista deberá asegurarse de que el cliente entiende los
conceptos ahí especificados. El analista podrá utilizar prototipos,
encuestas, otros sistemas, etc., con el propósito de ayudar a
estructurar y definir el problema del cliente.
• El proceso termina con el proceso de revisión de los requisitos de
usuario, y luego, el hito de aceptación del documento de requisitos de
usuario, DRU.
15Ingeniería de Software| Ciclo de Vida
Analistas
• El analista debe además, transformar los requisitos de
usuario en requisitos de software, y producir el
documento de requisitos de software.
• La intervención del cliente en esta etapa es menor, y
su trabajo consistirá en resolver los conflictos
detectados en los requisitos de usuario por el analista
durante el proceso de transformación.
• El proceso de especificación de los requisitos de
software produce el documento de requisitos de
software. Luego, se realiza una revisión formal y
termina con el hito de aprobación del DRS.
16Ingeniería de Software| Ciclo de Vida
Analistas
Resulta innecesario enumerar las herramientas disponibles para
apoyar las fases de análisis, debido a que hay muy pocas, las que
no son de mucha utilidad. Esto, debido a que es muy difícil tener
una herramienta que detecte las necesidades del cliente.
Por otro lado, existen herramientas que apoyan a los analistas en
tareas administrativas y en el manejo de reuniones. Algunos
ejemplos de esto son:
 Proyectores de diapositivas.
 Videograbadoras.
 Videocámaras, para grabar las reuniones para análisis posterior.
 Grabadoras de audio.
 Procesador de texto, software para el diseño y dibujo de
diagramas,
Analistas
17Ingeniería de Software| Ciclo de Vida
El perfil de un analista:
 Capacidades de comunicación
 Persona sociable, expresando sus ideas en forma clara en un
lenguaje común con el cliente.
 Capacidad de escuchar y entender al cliente.
 Los analistas deben conocer y manejar perfectamente los métodos y
las tecnologías de apoyo para realizar las fases de análisis.
 Creatividad, lo que le permitirá establecer diferentes alternativas de
modelos para la arquitectura del sistema a construir.
 Familiarizado con los diferentes lenguajes de programación para
ayudar a escoger el apropiado para la construcción del sistema.
18Ingeniería de Software| Ciclo de Vida
Analistas
Diseñadores
Es el encargado de generar el diseño del sistema. Entre sus funciones está:
• Generar el diseño arquitectónico y diseño detallado del sistema, basándose
en los requisitos.
• Generar prototipos rápidos del sistema (con analistas y programadores) para
verificar los requisitos.
• Generar el documento de diseño arquitectónico de software y mantenerlo
actualizado durante el proyecto.
• Velar porque el producto final se ajuste al diseño realizado.
19Ingeniería de Software| Ciclo de Vida
Actividades Metas
Descomposición de subsistemas Crear una estructura interna del sistema, llamada una arquitectura
y la definición de relaciones entre subsistemas.
Definir la administración de acceso a
recursos globales
Seleccionar las políticas apropiadas para nombres lógicos,
espacio, unidades físicas, y acceso a datos compartidos.
Seleccionar una técnica de administración de almacenamiento de
datos
Seleccionar el método de almacenamiento apropiado para las
estructuras de datos, por ejemplo, estructuras de datos vs.
sistemas de archivos.
Interactuar con los programadores Seleccionar el lenguaje y paradigma apropiado
Asignación de subsistemas a procesadores Asignar procesos a unidades de procesamiento que sirva como
plataforma para la ejecución de subsistemas.
Administración de la concurrencia Identificar los casos donde la ejecución del sistema incluya
múltiples hebras de control.
Selección de estrategias de control Determina el método apropiado para las líneas de control de
ejecución, por ejemplo, procedural vs manejado por eventos vs
concurrente.
Administración de condiciones de borde Asegurarse que los módulos operan apropiadamente en los
bordes, establecidos para limitar o restringir procesos, por ejemplo,
inicializaciones, terminación, y fallas.
20Ingeniería de Software| Ciclo de Vida
Diseñadores
Criterios técnicos para un buen diseño.
• Un diseño debe contener una organización jerárquica.
• Un diseño debe ser modular (esto es, subrutinas o
procedimientos), que muestren características funcionales
independientes.
• Un diseño debe considerar interfaces que reduzcan la
complejidad de conexiones entre módulos y con el
ambiente externo.
• Un diseño debiese ser construido usando un método
repetible, guiado por la información obtenida durante la
fase de requisitos de software.
21Ingeniería de Software| Ciclo de Vida
Diseñadores
Existen muchas metodologías de diseño. Dentro de los métodos de
descomposición, mencionaremos los siguientes dos:
 Descomposición algorítmica: Corresponde al proceso de dividir el
sistema en partes, cada una de las cuales representa un pequeño
paso de un proceso más grande. La aplicación de métodos de diseño
estructurado llevan a una descomposición algorítmica, cuyo foco está
puesto en el control de flujo del sistema.
 Descomposición orientada a objetos: Corresponde al proceso de
dividir el sistema en partes, cada una de las cuales representa una
clase u objeto del dominio del problema. La aplicación de métodos
orientados a objetos llevan a descomposición orientada a objetos, en
la cual se observa al mundo como una colección de objetos que
cooperan entre ellos para obtener la funcionalidad deseada.
22Ingeniería de Software| Ciclo de Vida
Diseñadores
El perfil de un diseñador debe incluir las siguientes
características:
 Para sistemas de tamaño pequeño y mediano, el diseño
arquitectónico es realizado por una o dos personas calificadas.
Deben mostrar habilidad inusual para sintetizar soluciones
construibles por sobre un gran conjunto de restricciones.
 Generalmente son los más capacitados para realizar decisiones
estratégicas debido a su experiencia previa en la construcción de
sistemas similares.
 Deben tener habilidades de programación adecuadas.
 Deben conocer muy bien la metodología de diseño utilizada, así
como sus herramientas de apoyo.
23Ingeniería de Software| Ciclo de Vida
Diseñadores
Programadores
• Los programadores deben convertir la especificación del sistema en código
fuente ejecutable utilizando uno o más lenguajes de programación, así como
herramientas de software de apoyo a la programación.
• Uno de los principales objetivos de los programadores durante su trabajo
debe ser la de reducir la complejidad del software.
24Ingeniería de Software| Ciclo de Vida
Actividades Metas
Explorar los diferentes ambientes en que el sistema puede ser
desarrollado
Determinar los lenguajes posibles de usar e identificar las posibles
herramientas de desarrollo
Interactuar con los analistas y diseñadores Seleccionar el ambiente apropiado
Explorar los diferentes lenguajes disponibles para el ambiente
seleccionado
Seleccionar el lenguaje apropiado
Interactuar con los diseñadores Seleccionar el lenguaje apropiado y lenguaje de programación
Explorar diferentes herramientas de desarrollo (compiladores,
depuradores, etc.) disponibles para el lenguaje seleccionado
Seleccionar la herramienta de desarrollo apropiada
Explorar los distintos estilos de codificación que pueden ser utilizados
en el lenguaje seleccionado
Escoger un estilo de codificación
Realizar la codificación del sistema Entregar el código ejecutable de acuerdo a las fechas presupuestadas
Interactuar con los ingenieros de testeo Determinar las formas de realizar el testeo
Apoyar al ingeniero de testeo Realizar las actividades de testeo en forma rápida, eficiente,
sistemática, exhaustiva y confiable, entregando un código utilizable y
seguro
Reunirse con otros miembros del equipo de programadores Conocer el estatus de las actividades de programación, apoyando a
sus colegas en caso de requerirlo
Realizar revisiones personales Mantener el código eficiente y adaptable para ser unido con el código
de otros programadores
Interactuar con el administrador de la configuración Mantener al día el control de la configuración
Realizar los cambios solicitados al código Mantener el software ejecutable eficiente
Hacer la documentación del código Entregar la documentación técnica del código fuente
25Ingeniería de Software| Ciclo de Vida
Programadores
Existen diferentes metodologías para realizar las actividades
de programación. Sin embargo, todas ellas muestran un
patrón común que consiste en:
• la exploración de herramientas y lenguajes,
• la determinación del estilo de programación,
• el desarrollo de herramientas utilitarias y rutinas comunes
para administrar la entrada, salida y errores,
• la codificación y depuración del sistema,
• la escritura de la documentación técnica,
• realizar revisiones personales periódicas y reuniones.
26Ingeniería de Software| Ciclo de Vida
Programadores
Existen muchas herramientas para ayudar al programador a desarrollar el
sistema.
• Éstas consisten principalmente en ambientes de desarrollo integrados
adaptados para un lenguaje de programación.
• Estos ambientes pueden compilar y ejecutar un programa usando comandos
para ello. La mayoría de estos ambientes también proveen herramientas para
depurar el programa.
27Ingeniería de Software| Ciclo de Vida
Programadores
El perfil del programador requiere:
 conocimiento en varios ambientes, pudiendo ayudarle a los analistas y diseñadores a
elegir el apropiado
 experiencia en el desarrollo de aplicaciones en el ambiente seleccionado
 conocer diferentes lenguajes de programación disponibles para el ambiente
seleccionado, y debe tener experiencia en el lenguaje de programación seleccionado
 es preferible que el programador tenga conocimientos en diferentes paradigmas de
programación y estilos
 conocer perfectamente las técnicas de diseño utilizadas por el diseñador
 es deseable que el programador tenga conocimiento en varias metodologías de diseño.
 tener experiencia en bases de datos
 de ser posible, es preferible que los programadores tengan experiencia en el tipo de
proyecto que se desea realizar.
Programadores
28Ingeniería de Software| Ciclo de Vida
Téster
• El desarrollo de software considera una actividad que apoye el proceso de
detección y eliminación de los errores y defectos del sistema en construcción.
El objetivo del rol de téster es precisamente realizar dichas tareas.
• El objetivo principal de la labor de téster es el de diseñar tests que en forma
sistemática, permita eliminar diferentes clases de errores, realizando esto con
la mínima cantidad de tiempo y esfuerzo.
29Ingeniería de Software| Ciclo de Vida
Actividades Metas
Participación en el proceso de
especificación del
sistema
Prevenir errores en las etapas
tempranas del
desarrollo
Interacción con el diseñador Realizar tests al diseño,
obteniendo índices de medición
Realizar los tests, apoyado por los
programadores
Realizar diferentes tests, obtener
una buena interpretación de ellos,
y realizar los ajustes Pertinentes
Informar sobre los resultados
obtenidos
El grupo de desarrollo es
informado sobre los progresos y
resultados obtenidos
30Ingeniería de Software| Ciclo de Vida
Téster
Los tésters deben utilizar una metodología que en forma sistemática,
organizada y estructurada, les permita detectar y corregir los errores y
defectos introducidos en el proceso de desarrollo del sistema.
Típicamente, se utilizan dos técnicas para ello:
• test de la caja blanca
• test de la caja negra
31Ingeniería de Software| Ciclo de Vida
Téster
 Los tests de caja blanca corresponden a un método de diseño de
casos de tests que utilizan la estructura de control del diseño
procedural para derivar los casos de tests.
 Usando este método, el téster puede derivar casos de tests para lo
siguiente:
 Asegurarse que todos las trayectorias independientes en un
módulo han sido visitadas al menos una vez.
 Ejercitar todas las decisiones lógicas en sus lados verdadero y
falso.
 Ejecutar todos los loops en sus límites y sobre sus límites
operacionales.
 Ejercitar estructuras de datos internas para asegurar su validez.
32Ingeniería de Software| Ciclo de Vida
Téster
 Los tests de caja negra se focalizan en los requisitos de usuario del sistema.
De esa forma, este tipo de tests permite que los tésters generen conjuntos de
datos de entrada que ejercitarán completamente los requisitos del sistema.
 Los tests de caja negra no son una alternativa a los tests de caja blanca. Más
aún, corresponde a un enfoque complementario que posiblemente descubra
una clase diferente de errores.
 Los tests de caja negra tratan de encontrar errores en las siguientes
categorías:
 Funciones incorrectas o faltantes.
 Errores de interfaces.
 Errores en estructuras de datos o acceso a bases de datos externas.
 Errores de rendimiento del sistema y errores de inicialización y terminación.
33Ingeniería de Software| Ciclo de Vida
Téster
El perfil de un téster debe considerar las siguientes características:
 Ser un buen programador en el lenguaje seleccionado, y tener experiencia en el
desarrollo de sistemas.
 Conocer bien la metodología de diseño utilizada.
 Ser sistemático en las revisiones de código y resultados de los tests.
 Tener una personalidad agresiva para buscar errores en el código y documentos
del proyecto.
 Debe además tener una personalidad alegre, debido a que debe relacionarse
con gran parte de los miembros del equipo de desarrollo.
34Ingeniería de Software| Ciclo de Vida
Téster
Aseguradores de calidad
• Los factores dominantes en la administración de proyectos de software son
los tiempos y costos de desarrollo.
• En la medida que crece la presión por cumplir con las fechas estipuladas, y
reducir los costos, es la calidad del producto la que sufre.
• No debe ser simplemente “producto de software = a tiempo + dentro de los
costos”.
• Debiese ser “producto de software = calidad + a tiempo + dentro de los
costos”.
35Ingeniería de Software| Ciclo de Vida
Actividades Metas
Revisar los documentos de requisitos de usuario y de
software
Asegurarse que la especificación de requisitos es una representación
correcta y completa de las expectativas del cliente, y que es suficientemente
clara para el equipo de desarrollo, especialmente para los diseñadores.
Revisar el plan de administración del proyecto Asegurarse que el plan es creado y se cumple.
Revisar el plan de testeo Asegurarse que el plan se crea, que es adecuado al
proyecto específico, y que se sigue en cada fase del ciclo hasta que se
entrega el producto.
Revisar la fase de diseño arquitectónico Asegurarse que los diseñadores seleccionaron la
metodología apropiada y que el producto final cumple con los requisitos de
rendimiento, diseño y verificación.
Revisar la fase de diseño detallado Asegurarse que el software producido cumple con los requisitos
especificados y con los atributos de calidad impuestos.
Revisar las políticas de control de cambios,
control de errores y control de la
configuración
Asegurarse que se realizan monitoreos de errores en cada fase del
desarrollo y que se respaldan las líneas bases haciendo que el producto no
se pueda perder.
Revisar la documentación Asegurarse que la documentación cumple con el estándar utilizado durante
el desarrollo del producto de software.
36Ingeniería de Software| Ciclo de Vida
Aseguradores de calidad
De entre las actividades del Asegurador de Calidad, la más importante
es la de participar en las revisiones técnicas formales (RTF).
 Si estas revisiones están bien conducidas, son la forma más efectiva de
encontrar, revelar y corregir errores mientras aún es barato
encontrarlos y arreglarlos.
 Las RTFs son especialmente requeridas en la fase de diseño
arquitectónico.
 Los objetivos de las RTFs son: 1. descubrir errores en funciones, lógica
e implementación en cualquiera de las representaciones del software;
2. verificar que el software bajo revisión cumple con los requisitos; 3.
asegurarse que el software ha sido representado de acuerdo al
estándar en uso; 4. alcanzar software que es desarrollado en forma
uniforme; y 5. hacer el proyecto más manejable.
37Ingeniería de Software| Ciclo de Vida
Aseguradores de calidad
El perfil de un asegurador de calidad.
• Ser una persona con mucha experiencia en proyectos de desarrollo de
software, con conocimientos suficientes sobre técnicas que aseguren la
calidad de un producto de software.
• Lo anterior lo hace capaz de negociar con la calidad del producto, y
ocasionalmente, modificar el criterio de los desarrolladores.
38Ingeniería de Software| Ciclo de Vida
Aseguradores de calidad
Administrador de configuración
 La administración de la configuración de software corresponde a la
administración de la configuración aplicada a un sistema, o a partes de un
sistema. Su aplicación, en conjunto con otras disciplinas, lleva al desarrollo de
sistemas en forma ordenada y estructurada.
 El objetivo principal de la administración de configuración de software es la
administración efectiva del ciclo de vida del sistema de software y la evolución
de su configuración.
39Ingeniería de Software| Ciclo de Vida
 La administración de la configuración ayuda a reducir problemas coordinando los
productos de muchas personas que trabajan en un proyecto común, como:
 Modificaciones simultáneas. Cuando dos o más personas trabajan
separadamente en el mismo programa o documento, el último en realizar los
cambios puede fácilmente destruir el trabajo del otro.
 Código común. En grandes sistemas, cuando se modifican funciones comunes
de un programa, es necesario notificarlo a todos los miembros del grupo. Sin
una administración de código efectiva, no hay forma de estar seguro de
encontrar y alertar a cada uno de los miembros del equipo.
 Versiones. Muchos de los grandes programas son desarrollados en releases
evolucionarios. Con uno siendo utilizado por el usuario, otro en testeo, y un
tercer en desarrollo, los arreglos de errores deben ser propagados entre ellos.
En sistemas de gran tamaño con varios releases activos en forma simultánea y
muchos programadores trabajando en arreglo de errores y mejoras, los
conflictos y confusión son bastante frecuentes.
40Ingeniería de Software| Ciclo de Vida
Administrador de configuración
Actividades Metas
Preparar el Plan de Administración de la Configuración de Software de acuerdo al estándar en uso Se planifican las actividades de administración de la
configuración de software.
Las tareas iniciales son identificar las líneas base que serán usadas en el proyecto, y los items que serán parte
de cada línea base. Este proceso se llama identificación de la configuración. En el sentido de la administración
de la configuración, una línea base es un documento, o un conjunto de ellos, formalmente designados y fijados
en el tiempo. Por ello, una línea base es un repositorio oficial del producto, y contiene la versión más reciente.
Se identifican las características funcionales y físicas de
los items de configuración.
El control de la configuración de software provee el mecanismo administrativo para preparar, evaluar y aprobar
o reprobar el procesamiento de propuestas de cambio.
Se controlan los cambios.
Realizar auditorias de configuración de software. Asegurarse de que los cambios se implementan
apropiadamente.
Registrar y reportar información requerida para administrar items de configuración eficientemente, incluyendo el
estatus de los cambios propuestos y el estatus de implementación de los cambios aprobados.
Los grupos y personas son informados del estatus y
contenido de las líneas bases.
Mantener un registro de cómo evolucionó el sistema y dónde está el sistema en cualquier instante respecto a su
línea base y acuerdos escritos.
Verificar cual es la configuración de software actual y
cual es su estatus.
Auditar los items de configuración. Auditar la configuración de software provee los mecanismos para determinar
el grado en el cual el estado actual del sistema de software refleja el sistema de software dibujado en la línea
base y documentación de requisitos. También provee los mecanismos para establecer formalmente una línea
base.
Verificar cumplimiento de especificaciones,
documentos de control de interfaces, y otros
requisitos de contratos.
41Ingeniería de Software| Ciclo de Vida
Administrador de configuración
 La administración de configuración de software es una
actividad paraguas que es aplicada a través del proceso de
ingeniería de software completo.
 Dichas actividades son desarrolladas para: identificar el
cambio, controlar el cambio, asegurarse que el cambio se
implementó adecuadamente, y reportar cambios a personas
que puedan estar interesadas.
 Los items que componen toda la información producida como
parte del proceso de ingeniería de software se le llama en
forma conjunta, configuración de software.
 Los cambios pueden ocurrir en cualquier momento, y por
cualquier razón.
42Ingeniería de Software| Ciclo de Vida
Administrador de configuración
Perfil de un administrador de configuración
 Las personas en este rol deben poder manejar tres elementos:
 actividades administrativas,
 auxiliares (registrar eventos),
 técnicas.
 El administrador de configuración debe disponer de los recursos para hacer efectiva una solución.
 Estos recursos pueden ser experiencia, mano de obra o autoridad. Idealmente, debiesen ser las tres.
 Un administrador efectivo tiende a influir el resultado de un evento en forma positiva y productiva.
43Ingeniería de Software| Ciclo de Vida
Administrador de configuración
Ingeniero de validación y verificación.
• Validación se refiere al proceso de evaluación del software al final de su
proceso de desarrollo para asegurarse que está libre de fallas y cumple con
sus requisitos. Una falla se define como un comportamiento incorrecto del
producto.
• Verificación se refiere al proceso de determinar si el producto en una
determinada fase del proceso de desarrollo cumple con los requisitos
establecidos en la fase anterior.
44Ingeniería de Software| Ciclo de Vida
 Las personas dedicadas a V&V deben evaluar cuan bien el software está
cumpliendo con sus requisitos técnicos y sus objetivos de seguridad y
confiabilidad relativos al sistema.
 También asegura que los requisitos de usuario no están en conflicto con
ninguno de los estándares o requisitos aplicables a otros componentes del
sistema.
 Las tareas de la V&V de software son analizar, revisar, demostrar y testear
todas las salidas del desarrollo de software.
 El proceso de V&V produce un Plan de Validación y Verificación de Software,
planes individuales y reportes para tareas, reportes con resúmenes, reportes
con anomalías y un reporte de validación y verificación de software al final.
45Ingeniería de Software| Ciclo de Vida
Ingeniero de validación y verificación.
Actividades Metas
Administración de V&V de software El proceso requiere ser administrado y realizado en forma completa durante todo el proceso de desarrollo de software.
Planificación Planificar y mantener el proceso de V&V.
Coordinación Coordinar e interpretar rendimiento y calidad del esfuerzo del proceso de V&V.
Reportar Reportar discrepancias a la brevedad posible al usuario o al grupo de desarrollo.
Monitoreo Identificar tempranamente caminos de problemas, focalizando las tareas de V&V en ellos.
Evaluación de resultados Proveer una evaluación técnica del rendimiento del software y sus atributos de calidad en cada revisión de software.
Evaluación del impacto del cambio Determinar el impacto completo de los cambios de software Propuestos.
Monitoreo del progreso técnico de V&V y
calidad de resultados
Durante cada actividad de V&V, se debe revisar las tareas planificadas de V&V, incluyendo nuevas para mantenerse
focalizado en las funciones críticas de rendimiento y calidad del software.
Examinar documentación temprana del
proyecto
Muchas veces los llamados documentos conceptuales, para verificar que el sistema que se construirá no es sólo posible, pero que además utiliza las reglas, convenciones,
algoritmos y prácticas apropiadas al dominio de aplicación del sistema.
V&V de los requisitos de usuario Realizado para asegurarse que los requisitos de usuario especificados son correctos, completos, consistentes, fieles,
legibles y es posible testearlos, y que además, satisfacen los requisitos de software.
V&V de los requisitos de software Realizado para asegurarse que los requisitos de software especificados son correctos, completos, consistentes, fieles,
legibles, es posible mapearlos desde los requisitos de usuario y es posible testearlos, y que además, satisfacen
los requisitos de diseño.
V&V del diseño de software Provee seguridad de que los requisitos de software no son mal interpretados o implementados en forma incompleta.
V&V del código Asegurarse que se utilicen los estándares en uso, que usualmente consideran programación estructurada, reuso de
código, adopción de estándares y estilos de programación, Etc.
Administración de tests Una actividad importante en la actividad de V&V es la de asegurarse que se consideren y planifiquen todos los
testeos requeridos para el sistema.
V&V de la transferencia Asegurarse que se consideren todos los detalles de la instalación y puesta en marcha del sistema, así como la
migración y/o poblamiento de sus datos y posibles problemas de eficiencia que empiezan a aparecer.
V&V de la operación y manutención Cuando se realiza un cambio en el software, en necesario repetir todas las actividades de V&V pertinentes para
asegurarse que nada queda fuera.
46Ingeniería de Software| Ciclo de VidaIngeniero de validación y verificación.
Documentador
El objetivo principal del rol de documentador es el de mantener la información generada durante el
proceso de desarrollo. Como objetivos específicos se tienen los siguientes:
 Permitir el almacenamiento y recuperación de la documentación de los procesos y productos más
recientes durante el desarrollo, manteniendo así la información al día.
 Mantener la consistencia en la apariencia y estructura de los documentos, facilitando su
almacenamiento, recuperación e intercambio, no permitiendo el almacenamiento de documentos con
formatos diferentes.
 Asegurarse que los cambios que necesitan hacerse en el sistema serán reflejados en la
documentación correspondiente.
 Elaborar, almacenar y permitir la recuperación de las actas y registros generados durante las
reuniones de revisión, los que constituyen parte del proceso de documentación.
 Construir el manual de usuarios del sistema, MUS, que contempla los aspectos de uso del sistema.
47Ingeniería de Software| Ciclo de Vida
Actividades Metas
El documentador debe diseñar y construir un
repositorio de información compartido, donde se almacenará la documentación.
Tener un repositorio central que permite
almacenar, recuperar y mantener la
documentación del proyecto.
Mantener el repositorio de información. El
documentador debe agregar todos los nuevos
documentos generados y remplazar los documentos que fueron modificados en
el proceso de desarrollo.
Tener accesible y organizada la última versión de todos los documentos
generados durante el
proceso de desarrollo, en un repositorio común.
Especificar el formato que será usado para elaborar la documentación. El
formato especificado debe contemplar al menos lo siguiente: 1) Estructura del
documento, 2) Tipos de letra y colores a usar en cada
Documento, 3) Distribución de los elementos en el documento, 4) Características
de las figuras, imágenes y dibujos consideradas en el documento.
Será posible integrar en un documento único
general, todos los documentos almacenados en el repositorio, sin necesidad de
cambiar sus formatos
o estructura
Asegurarse que los documentos mantienen el
estándar de documentación definido para el
proyecto antes de incluirlos en el repositorio.
Toda la información almacenada en el repositorio
tendrá el formato definido, y se ajustará al estándar de documentación en uso.
Durante las reuniones de revisiones, el
documentador elaborará las actas de la reunión.
Estos documentos serán usados luego por el
ingeniero de validación y verificación.
Es necesario mantener la historia del proyecto en
el repositorio. Al término del proyecto, el repositorio contendrá toda la
información histórica del proyecto.
Elaborar el manual de uso del sistema. El usuario final debe disponer de un MUS, que le
permita operar el sistema correctamente,
conociendo sus funciones, y administrando los
errores que puedan aparecer durante su ejecución
48Ingeniería de Software| Ciclo de Vida
Documentador
La metodología de trabajo del documentador está enfocada a realizar las
acciones que le permita cumplir con sus objetivos principales y específicos.
 Al inicio, debe establecer los formatos usados en los documentos del proyecto,
definiendo las estructuras de los documentos:
 Información de identificación de cada documento (nombre, tipo, autores,
versión, etc.).
 Información que facilite la recuperación de la información (resúmenes,
palabras claves).
 Enfoques para estructuras capítulos, secciones y subsecciones, y su
numeración respectiva.
 Índices y numeración de páginas.
49Ingeniería de Software| Ciclo de Vida
Documentador
El documentador requerirá herramientas para la elaboración de documentos (minutas,
documentos de acuerdos, manual de usuario) y herramientas de apoyo para la
elaboración y administración del repositorio de documentos.
 Editor de texto, que permite elaborar documentos fácilmente y almacenarlos en
diferentes formatos, incluyendo HTML. Debe incluir una herramienta para el chequeo
ortográfico y de gramática.
 Navegador Web y editor HTML, que permita editar y publicar documentos HTML,
proveyendo diversas funciones.
 Para la elaboración y administración del repositorio de documentos deben proveer el
acceso a los documentos. Estas herramientas dependerán de la decisión del
repositorio en uso durante el desarrollo del proyecto. Hoy en día existen muchas
herramientas de manejo de repositorios de documentos, con interfaces Web.
50Ingeniería de Software| Ciclo de Vida
Documentador
Perfil del documentador.
 Debe ser una persona ordenada, con capacidades de mantener una
gran cantidad de información en forma ordenada y accesible.
 Poseer capacidades para no sólo apoyar su trabajo con tecnología,
sino que además, deberá diseñar y construir el repositorio para la
documentación del proyecto. Esto incluye, al menos, la definición
del modelo de datos, definición de las interfaces, definición de los
perfiles de acceso de los usuarios, y la definición del protocolo
social de uso de los documentos.
 Tener creatividad para presentar la información y aptitud de
expresión para escribir.
51Ingeniería de Software| Ciclo de Vida
Documentador
Ingeniero de manutención.
Los objetivos a cumplir por un ingeniero de manutención son los
siguientes:
• Modificar el software para adaptar nuevas funciones o modificar algunas
funciones existentes.
• Modernizar el software por medio de cambios al sistema.
• Asegurarse de que el equipo de desarrollo esté informado de los errores
encontrados en el sistema.
52Ingeniería de Software| Ciclo de Vida
Actividades Metas
Manutención correctiva Diagnóstico y corrección de errores
encontrados durante el
uso del programa.
Manutención adaptiva Adaptar el sistema a los cambios que
pueden producirse en el hardware,
sistema operativo, periféricos y
herramientas de trabajo.
Manutención perfectiva Satisfacer la demanda de
recomendaciones por parte de los
usuarios del sistema. Realizar
cambios al sistema para mejorar el
proceso de manutención o
confiabilidad del sistema.
53Ingeniería de Software| Ciclo de Vida
Ingeniero de manutención.
La metodología a usar por el ingeniero de manutención debe considerar
los siguientes aspectos:
 Establecer y coordinar la organización de manutención.
 Definir los procesos de evaluación e información.
 Definición de una secuencia estándar de eventos para cada requisito de
manutención.
 Establecer un sistema de registro e información de las actividades de
manutención.
 Definición de las actividades de revisión y evaluación.
54Ingeniería de Software| Ciclo de Vida
Ingeniero de manutención.
El perfil del ingeniero de manutención, como es el caso de otras formas de
administración, requiere de la creación y preservación de una atmósfera
adecuada que permita llevar a cabo las actividades de la mejor forma posible.
Existen aspectos que son comunes a la mayoría de las actividades de
administración. No obstante, se espera que el ingeniero de manutención
tenga visión para poder predecir las actividades de manutención a futuro.
55Ingeniería de Software| Ciclo de Vida
Ingeniero de manutención.
Pie de foto.
Bibliografía
•Sommerville, I. (2015). Ingeniería de Software, 10th ed. Prentice Hall.
•Pressman, R. S. (2014). Software engineering: a practitioner's approach, 8th ed.
McGraw-Hill Education.
•Laudon, K.C. & Laudon, J.P. (2012).Sistemas de Información Gerencial. México:
Pearson Educación.
•Jalote, P. (2005). An integrated approach to software engineering. New York:
Springer.
56Título de la sección 1 | Título de la presentación
gracias.
©2020
Es responsabilidad exclusiva de los autores el respeto de los derechos de autor sobre los contenidos e imágenes en el presente documento,
en consecuencia, la BUAP no se hace responsable por el uso no autorizado, errores, omisiones o manipulaciones de los derechos de autor y
estos serán atribuidos directamente al Responsable de Contenidos, así como los efectos legales y éticos correspondientes.

Weitere ähnliche Inhalte

Was ist angesagt?

Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Ciclo de vida del software ieee12207 2011
Ciclo de vida del software ieee12207 2011Ciclo de vida del software ieee12207 2011
Ciclo de vida del software ieee12207 2011mrcordova
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 
Estándar IEEE 830-1998 - Especificacón de requisitos de Software
Estándar IEEE 830-1998 - Especificacón de requisitos de SoftwareEstándar IEEE 830-1998 - Especificacón de requisitos de Software
Estándar IEEE 830-1998 - Especificacón de requisitos de SoftwareDaniel Guaycha
 
Ventajas y desventajas modelos
Ventajas y desventajas modelosVentajas y desventajas modelos
Ventajas y desventajas modelosCristHian Martinez
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosYazmin Ibarra
 
Análisisde requerimientos
Análisisde requerimientosAnálisisde requerimientos
Análisisde requerimientosmayrapeg
 
Ejercicio de Análisis de Sistemas
Ejercicio de Análisis de SistemasEjercicio de Análisis de Sistemas
Ejercicio de Análisis de SistemasVictor Escamilla
 
Trabajo final uml_200609_19
Trabajo final uml_200609_19Trabajo final uml_200609_19
Trabajo final uml_200609_19Yenny González
 
Ingenieria requisitos
Ingenieria requisitosIngenieria requisitos
Ingenieria requisitosYAMILA GASCON
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMetodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMiguel Rodríguez
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Softwaresebas montes
 
Metodologia scrum presentacion
Metodologia scrum   presentacionMetodologia scrum   presentacion
Metodologia scrum presentacionFernando Solis
 

Was ist angesagt? (20)

Estandares ieee
Estandares ieeeEstandares ieee
Estandares ieee
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Ciclo de vida del software ieee12207 2011
Ciclo de vida del software ieee12207 2011Ciclo de vida del software ieee12207 2011
Ciclo de vida del software ieee12207 2011
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Diseño de sistemas
Diseño de sistemasDiseño de sistemas
Diseño de sistemas
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Estándar IEEE 830-1998 - Especificacón de requisitos de Software
Estándar IEEE 830-1998 - Especificacón de requisitos de SoftwareEstándar IEEE 830-1998 - Especificacón de requisitos de Software
Estándar IEEE 830-1998 - Especificacón de requisitos de Software
 
Ventajas y desventajas modelos
Ventajas y desventajas modelosVentajas y desventajas modelos
Ventajas y desventajas modelos
 
cmmi-dev
cmmi-devcmmi-dev
cmmi-dev
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
 
Análisisde requerimientos
Análisisde requerimientosAnálisisde requerimientos
Análisisde requerimientos
 
Ejercicio de Análisis de Sistemas
Ejercicio de Análisis de SistemasEjercicio de Análisis de Sistemas
Ejercicio de Análisis de Sistemas
 
sistema de inscripcion
sistema de inscripcionsistema de inscripcion
sistema de inscripcion
 
Trabajo final uml_200609_19
Trabajo final uml_200609_19Trabajo final uml_200609_19
Trabajo final uml_200609_19
 
Ingenieria requisitos
Ingenieria requisitosIngenieria requisitos
Ingenieria requisitos
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMetodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y Emergentes
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
 
Metodologia scrum presentacion
Metodologia scrum   presentacionMetodologia scrum   presentacion
Metodologia scrum presentacion
 

Ähnlich wie Ciclo de Vida y roles

Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
unidad 4..
unidad 4..unidad 4..
unidad 4..johanagb
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfBibliotecaenlineaUNI
 
clases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptclases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptronald flores
 
CLASES DE METODOLOGIA DEL DESARROLLO DE SOFTWARE
CLASES DE METODOLOGIA DEL DESARROLLO DE SOFTWARECLASES DE METODOLOGIA DEL DESARROLLO DE SOFTWARE
CLASES DE METODOLOGIA DEL DESARROLLO DE SOFTWAREMilagrosCz
 
clases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptclases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptTereBestene
 
Articulo análisis y diseño de sistemas
Articulo análisis y diseño de sistemasArticulo análisis y diseño de sistemas
Articulo análisis y diseño de sistemasMario J Arrieta
 
Articulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasArticulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasMario J Arrieta
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareJahiro Bojorquez
 
Definición de planificación de proyectos de software presentación
Definición de planificación de proyectos de software presentaciónDefinición de planificación de proyectos de software presentación
Definición de planificación de proyectos de software presentaciónOvidio Fernando Hernández Albarran
 
Ingeniería de software - definiciones
Ingeniería de software - definicionesIngeniería de software - definiciones
Ingeniería de software - definicionesdettebe
 
Unidad iv alternativas de adquisición de sistemas de
Unidad iv alternativas de adquisición de sistemas deUnidad iv alternativas de adquisición de sistemas de
Unidad iv alternativas de adquisición de sistemas depheramrh
 

Ähnlich wie Ciclo de Vida y roles (20)

Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
unidad 4
unidad 4unidad 4
unidad 4
 
unidad 4..
unidad 4..unidad 4..
unidad 4..
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
ALEXIS GARCIA
ALEXIS GARCIAALEXIS GARCIA
ALEXIS GARCIA
 
clases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptclases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.ppt
 
CLASES DE METODOLOGIA DEL DESARROLLO DE SOFTWARE
CLASES DE METODOLOGIA DEL DESARROLLO DE SOFTWARECLASES DE METODOLOGIA DEL DESARROLLO DE SOFTWARE
CLASES DE METODOLOGIA DEL DESARROLLO DE SOFTWARE
 
clases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptclases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.ppt
 
Articulo análisis y diseño de sistemas
Articulo análisis y diseño de sistemasArticulo análisis y diseño de sistemas
Articulo análisis y diseño de sistemas
 
Articulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasArticulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemas
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Definición de planificación de proyectos de software presentación
Definición de planificación de proyectos de software presentaciónDefinición de planificación de proyectos de software presentación
Definición de planificación de proyectos de software presentación
 
Software sao
Software saoSoftware sao
Software sao
 
Software
SoftwareSoftware
Software
 
Presentaciã³n1
Presentaciã³n1Presentaciã³n1
Presentaciã³n1
 
Ingeniería de software - definiciones
Ingeniería de software - definicionesIngeniería de software - definiciones
Ingeniería de software - definiciones
 
Unidad iv alternativas de adquisición de sistemas de
Unidad iv alternativas de adquisición de sistemas deUnidad iv alternativas de adquisición de sistemas de
Unidad iv alternativas de adquisición de sistemas de
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 

Mehr von Juan Manuel Gonzalez Calleros

Mehr von Juan Manuel Gonzalez Calleros (20)

Pruebas de Software.pptx
Pruebas de Software.pptxPruebas de Software.pptx
Pruebas de Software.pptx
 
Patrón de Diseño Estrategia
Patrón de Diseño EstrategiaPatrón de Diseño Estrategia
Patrón de Diseño Estrategia
 
Modelos de desarrollo de software
Modelos de desarrollo de software Modelos de desarrollo de software
Modelos de desarrollo de software
 
05 Identificación de Tareas y Contexto de Uso (UX)
05 Identificación de Tareas y Contexto de Uso (UX)05 Identificación de Tareas y Contexto de Uso (UX)
05 Identificación de Tareas y Contexto de Uso (UX)
 
Rol del Director de Proyectos
Rol del Director de ProyectosRol del Director de Proyectos
Rol del Director de Proyectos
 
03 Introduccón a la administracion de proyectos
03 Introduccón a la administracion de proyectos03 Introduccón a la administracion de proyectos
03 Introduccón a la administracion de proyectos
 
02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software
 
01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software
 
Enfoque transformacional
Enfoque transformacionalEnfoque transformacional
Enfoque transformacional
 
Emociones y HCI
Emociones y HCIEmociones y HCI
Emociones y HCI
 
Patrones de Interfaz de Usuario
Patrones de Interfaz de UsuarioPatrones de Interfaz de Usuario
Patrones de Interfaz de Usuario
 
Algunas Métricas de UX
Algunas Métricas de UXAlgunas Métricas de UX
Algunas Métricas de UX
 
La experiencia de Usuario: Introducción
La experiencia de Usuario: IntroducciónLa experiencia de Usuario: Introducción
La experiencia de Usuario: Introducción
 
Métodos de usabilidad
Métodos de usabilidadMétodos de usabilidad
Métodos de usabilidad
 
Guía de Técnicas de Usabilidad
Guía de Técnicas de UsabilidadGuía de Técnicas de Usabilidad
Guía de Técnicas de Usabilidad
 
Mapas de Empatía, Personas e Historias de Usuario
Mapas de Empatía, Personas e  Historias de UsuarioMapas de Empatía, Personas e  Historias de Usuario
Mapas de Empatía, Personas e Historias de Usuario
 
Guía de Entrevistas
Guía de Entrevistas Guía de Entrevistas
Guía de Entrevistas
 
Hacia un modelo educativo centrado en el alumno
Hacia un modelo educativo centrado en el alumnoHacia un modelo educativo centrado en el alumno
Hacia un modelo educativo centrado en el alumno
 
Técnicas de Recolección de necesidades
Técnicas de Recolección de necesidadesTécnicas de Recolección de necesidades
Técnicas de Recolección de necesidades
 
Framework MDE
Framework MDEFramework MDE
Framework MDE
 

Kürzlich hochgeladen

LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfRaulGomez822561
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 

Kürzlich hochgeladen (20)

LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 

Ciclo de Vida y roles

  • 1.
  • 2.
  • 4. Ciclo de Vida 01Ingeniería de Software| Ciclo de Vida
  • 5. Ciclo de Vida • El ciclo de vida de desarrollo de sistemas informáticos puede dividirse en actividades o fases que, en general, se ajustan al esquema mostrado en el gráfico. Este esquema gráfico es el ciclo de vida típico, dado que existen gran cantidad de variantes que dependen de la organización, del tipo de sistema que se realizará, de los gustos de los administradores, de los tiempos, etc. Las actividades típicas del ciclo de vida son: 1- Estudio de factibilidad. 2- Análisis (de requerimientos). 3- Diseño 3.1- Creación de prototipos 3.2- Implementación 4- Validación y prueba 5 - Operación y mantenimiento 02Ingeniería de Software| Ciclo de Vida
  • 6. • La Ingeniería de Software es el resultado de llevar la tradicional disciplina de las ingenierías al mundo de la construcción de sistemas de software. • Es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software. Ciclo de Vida 03Ingeniería de Software| Ciclo de Vida
  • 7. • Los desafíos de la Ingeniería de Software son: Ciclo de Vida 04Ingeniería de Software| Ciclo de Vida
  • 8. • La ingeniería de software es una tecnología multicapa. Ciclo de Vida 05Ingeniería de Software| Ciclo de Vida
  • 9. • Enfoque de calidad • La IS debe estar sustentada en un compromiso con la calidad (Gestión de Calidad Total, Sigma Seis, etc.) que fomente una cultura de mejora continua del proceso. • Procesos • Define un marco de trabajo que debe establecerse para la entrega efectiva, la gestión de proyectos, el contexto en el cual se aplican los métodos técnicos, se generan los productos del trabajo, se establecen los fundamentos, se asegura la calidad y el manejo adecuado de cambios • Métodos: • Definen los “cómo” para construir el software desde el punto de vista técnico. • Herramientas: • Proporcionan un soporte automático o semi-automático para los métodos. Ciclo de Vida 06Ingeniería de Software| Ciclo de Vida
  • 10. • Tareas que componen los métodos. • Planificación y estimación de proyectos. • Análisis de requerimientos del software y hardware. • Diseño de estructuras de datos, arquitectura de los programas. • Procedimientos algorítmicos. • Codificación. • Pruebas y mantenimiento. Ciclo de Vida 07Ingeniería de Software| Ciclo de Vida
  • 11. • Algunas herramientas: • CASE (Ingeniería de software asistida por computadora) • Microsoft Project (Planificación). • UML (Modelado). • RationalRose, visio (Modelado soportan UML). • Designer 2000. • Erwin (Bases de datos). • MAGERIT (Seguridad). Ciclo de Vida 08Ingeniería de Software| Ciclo de Vida
  • 12. Fases Genéricas de la IS • Definición. Tareas que la componen: • Análisis del sistema. • Planificación del Proyecto. • Análisis de requisitos. • Desarrollo. Tareas que la componen: • Diseño del software. • Codificación. • Prueba del Software. • Mantenimiento. Tipos de cambios: • Corrección. • Adaptación. • Mejora. • Prevención o Reingeniería. QUÉ CÓMO TIPO 09Ingeniería de Software| Ciclo de Vida
  • 13. Preguntas que debe Responder la IS • ¿Cuál es el problema a resolver? • ¿Cuáles son las características de la entidad (solución) que se utiliza para resolver el problema? • ¿Cómo se realizará la solución? • ¿Cómo se construirá la entidad? • ¿Qué enfoque se va a utilizar para no contemplar los errores que se cometieron en el diseño y en la construcción de la solución? • ¿Cómo se apoyará la solución cuando usuarios soliciten correcciones, adaptaciones y mejoras de la entidad?. 10Ingeniería de Software| Ciclo de Vida
  • 14. Ciclo de Vida 11Ingeniería de Software| Ciclo de Vida Análisis • Analistas Diseño • Diseñadores Desarrollo • Programadores Validación y Pruebas • Tester & Asegurador de Calidad Implantación • Administrador de la Configuración • Documentador • Verificador y Validador Mantenimiento • Ingeniero de Mantenimiento
  • 15. Analistas • La fase de análisis en un proyecto de construcción de software se refiere a la especificación de un problema como la suma de sub-problemas de menor complejidad. • Como el experto en el problema es el cliente, se hace necesario trabajar junto a él para realizar la especificación correctamente. • Los miembros del grupo que trabajan con el cliente para realizar el análisis y especificación del sistema a construir son precisamente los analistas. 12Ingeniería de Software| Ciclo de Vida
  • 16. • Para que el trabajo de los analistas tenga sentido para todos los integrantes del grupo, se hace necesario ponerse de acuerdo en la forma como se realizará la especificación, así como la forma como el resto del grupo la entenderá. • Esto sugiere el uso de un estándar para realizar la fase de análisis del problema. • El análisis se divide en dos fases: especificación de requisitos de usuario y especificación de requisitos de software. 13Ingeniería de Software| Ciclo de Vida Analistas
  • 17. Actividades Metas Entrevistar al cliente, ayudándole a identificar sus necesidades. Determinar las necesidades esenciales y no esenciales, así como las que son de segundo nivel. Verificar si los requisitos especificados son los correctos. Impedir la introducción de defectos tempranamente en la construcción del sistema. Definir una estructura básica del sistema que incluya fuentes de información, módulos de procesamiento de información, y resultados esperados. Construir el documento de requisitos de usuarios. Realizar el análisis de los requisitos. Establecer una estructura básica inicial del sistema. Analizar la estructura básica del sistema. Establecer interacciones, interrelaciones y sus contextos en dicha estructura. Generar los diagramas de la arquitectura. Definir la especificación de la arquitectura del sistema, en forma de un documento técnico comprensible. 14Ingeniería de Software| Ciclo de Vida Analistas
  • 18. • Durante el período de análisis, el analista se reunirá en forma sistemática con el cliente con el propósito de entender y especificar el problema a desarrollar. Dichas reuniones deben estar planificadas, con fecha de inicio y fecha de término. • En cada reunión, los analistas le mostrarán al cliente, como ha ido evolucionando el documento de requisitos de usuario. • El analista deberá asegurarse de que el cliente entiende los conceptos ahí especificados. El analista podrá utilizar prototipos, encuestas, otros sistemas, etc., con el propósito de ayudar a estructurar y definir el problema del cliente. • El proceso termina con el proceso de revisión de los requisitos de usuario, y luego, el hito de aceptación del documento de requisitos de usuario, DRU. 15Ingeniería de Software| Ciclo de Vida Analistas
  • 19. • El analista debe además, transformar los requisitos de usuario en requisitos de software, y producir el documento de requisitos de software. • La intervención del cliente en esta etapa es menor, y su trabajo consistirá en resolver los conflictos detectados en los requisitos de usuario por el analista durante el proceso de transformación. • El proceso de especificación de los requisitos de software produce el documento de requisitos de software. Luego, se realiza una revisión formal y termina con el hito de aprobación del DRS. 16Ingeniería de Software| Ciclo de Vida Analistas
  • 20. Resulta innecesario enumerar las herramientas disponibles para apoyar las fases de análisis, debido a que hay muy pocas, las que no son de mucha utilidad. Esto, debido a que es muy difícil tener una herramienta que detecte las necesidades del cliente. Por otro lado, existen herramientas que apoyan a los analistas en tareas administrativas y en el manejo de reuniones. Algunos ejemplos de esto son:  Proyectores de diapositivas.  Videograbadoras.  Videocámaras, para grabar las reuniones para análisis posterior.  Grabadoras de audio.  Procesador de texto, software para el diseño y dibujo de diagramas, Analistas 17Ingeniería de Software| Ciclo de Vida
  • 21. El perfil de un analista:  Capacidades de comunicación  Persona sociable, expresando sus ideas en forma clara en un lenguaje común con el cliente.  Capacidad de escuchar y entender al cliente.  Los analistas deben conocer y manejar perfectamente los métodos y las tecnologías de apoyo para realizar las fases de análisis.  Creatividad, lo que le permitirá establecer diferentes alternativas de modelos para la arquitectura del sistema a construir.  Familiarizado con los diferentes lenguajes de programación para ayudar a escoger el apropiado para la construcción del sistema. 18Ingeniería de Software| Ciclo de Vida Analistas
  • 22. Diseñadores Es el encargado de generar el diseño del sistema. Entre sus funciones está: • Generar el diseño arquitectónico y diseño detallado del sistema, basándose en los requisitos. • Generar prototipos rápidos del sistema (con analistas y programadores) para verificar los requisitos. • Generar el documento de diseño arquitectónico de software y mantenerlo actualizado durante el proyecto. • Velar porque el producto final se ajuste al diseño realizado. 19Ingeniería de Software| Ciclo de Vida
  • 23. Actividades Metas Descomposición de subsistemas Crear una estructura interna del sistema, llamada una arquitectura y la definición de relaciones entre subsistemas. Definir la administración de acceso a recursos globales Seleccionar las políticas apropiadas para nombres lógicos, espacio, unidades físicas, y acceso a datos compartidos. Seleccionar una técnica de administración de almacenamiento de datos Seleccionar el método de almacenamiento apropiado para las estructuras de datos, por ejemplo, estructuras de datos vs. sistemas de archivos. Interactuar con los programadores Seleccionar el lenguaje y paradigma apropiado Asignación de subsistemas a procesadores Asignar procesos a unidades de procesamiento que sirva como plataforma para la ejecución de subsistemas. Administración de la concurrencia Identificar los casos donde la ejecución del sistema incluya múltiples hebras de control. Selección de estrategias de control Determina el método apropiado para las líneas de control de ejecución, por ejemplo, procedural vs manejado por eventos vs concurrente. Administración de condiciones de borde Asegurarse que los módulos operan apropiadamente en los bordes, establecidos para limitar o restringir procesos, por ejemplo, inicializaciones, terminación, y fallas. 20Ingeniería de Software| Ciclo de Vida Diseñadores
  • 24. Criterios técnicos para un buen diseño. • Un diseño debe contener una organización jerárquica. • Un diseño debe ser modular (esto es, subrutinas o procedimientos), que muestren características funcionales independientes. • Un diseño debe considerar interfaces que reduzcan la complejidad de conexiones entre módulos y con el ambiente externo. • Un diseño debiese ser construido usando un método repetible, guiado por la información obtenida durante la fase de requisitos de software. 21Ingeniería de Software| Ciclo de Vida Diseñadores
  • 25. Existen muchas metodologías de diseño. Dentro de los métodos de descomposición, mencionaremos los siguientes dos:  Descomposición algorítmica: Corresponde al proceso de dividir el sistema en partes, cada una de las cuales representa un pequeño paso de un proceso más grande. La aplicación de métodos de diseño estructurado llevan a una descomposición algorítmica, cuyo foco está puesto en el control de flujo del sistema.  Descomposición orientada a objetos: Corresponde al proceso de dividir el sistema en partes, cada una de las cuales representa una clase u objeto del dominio del problema. La aplicación de métodos orientados a objetos llevan a descomposición orientada a objetos, en la cual se observa al mundo como una colección de objetos que cooperan entre ellos para obtener la funcionalidad deseada. 22Ingeniería de Software| Ciclo de Vida Diseñadores
  • 26. El perfil de un diseñador debe incluir las siguientes características:  Para sistemas de tamaño pequeño y mediano, el diseño arquitectónico es realizado por una o dos personas calificadas. Deben mostrar habilidad inusual para sintetizar soluciones construibles por sobre un gran conjunto de restricciones.  Generalmente son los más capacitados para realizar decisiones estratégicas debido a su experiencia previa en la construcción de sistemas similares.  Deben tener habilidades de programación adecuadas.  Deben conocer muy bien la metodología de diseño utilizada, así como sus herramientas de apoyo. 23Ingeniería de Software| Ciclo de Vida Diseñadores
  • 27. Programadores • Los programadores deben convertir la especificación del sistema en código fuente ejecutable utilizando uno o más lenguajes de programación, así como herramientas de software de apoyo a la programación. • Uno de los principales objetivos de los programadores durante su trabajo debe ser la de reducir la complejidad del software. 24Ingeniería de Software| Ciclo de Vida
  • 28. Actividades Metas Explorar los diferentes ambientes en que el sistema puede ser desarrollado Determinar los lenguajes posibles de usar e identificar las posibles herramientas de desarrollo Interactuar con los analistas y diseñadores Seleccionar el ambiente apropiado Explorar los diferentes lenguajes disponibles para el ambiente seleccionado Seleccionar el lenguaje apropiado Interactuar con los diseñadores Seleccionar el lenguaje apropiado y lenguaje de programación Explorar diferentes herramientas de desarrollo (compiladores, depuradores, etc.) disponibles para el lenguaje seleccionado Seleccionar la herramienta de desarrollo apropiada Explorar los distintos estilos de codificación que pueden ser utilizados en el lenguaje seleccionado Escoger un estilo de codificación Realizar la codificación del sistema Entregar el código ejecutable de acuerdo a las fechas presupuestadas Interactuar con los ingenieros de testeo Determinar las formas de realizar el testeo Apoyar al ingeniero de testeo Realizar las actividades de testeo en forma rápida, eficiente, sistemática, exhaustiva y confiable, entregando un código utilizable y seguro Reunirse con otros miembros del equipo de programadores Conocer el estatus de las actividades de programación, apoyando a sus colegas en caso de requerirlo Realizar revisiones personales Mantener el código eficiente y adaptable para ser unido con el código de otros programadores Interactuar con el administrador de la configuración Mantener al día el control de la configuración Realizar los cambios solicitados al código Mantener el software ejecutable eficiente Hacer la documentación del código Entregar la documentación técnica del código fuente 25Ingeniería de Software| Ciclo de Vida Programadores
  • 29. Existen diferentes metodologías para realizar las actividades de programación. Sin embargo, todas ellas muestran un patrón común que consiste en: • la exploración de herramientas y lenguajes, • la determinación del estilo de programación, • el desarrollo de herramientas utilitarias y rutinas comunes para administrar la entrada, salida y errores, • la codificación y depuración del sistema, • la escritura de la documentación técnica, • realizar revisiones personales periódicas y reuniones. 26Ingeniería de Software| Ciclo de Vida Programadores
  • 30. Existen muchas herramientas para ayudar al programador a desarrollar el sistema. • Éstas consisten principalmente en ambientes de desarrollo integrados adaptados para un lenguaje de programación. • Estos ambientes pueden compilar y ejecutar un programa usando comandos para ello. La mayoría de estos ambientes también proveen herramientas para depurar el programa. 27Ingeniería de Software| Ciclo de Vida Programadores
  • 31. El perfil del programador requiere:  conocimiento en varios ambientes, pudiendo ayudarle a los analistas y diseñadores a elegir el apropiado  experiencia en el desarrollo de aplicaciones en el ambiente seleccionado  conocer diferentes lenguajes de programación disponibles para el ambiente seleccionado, y debe tener experiencia en el lenguaje de programación seleccionado  es preferible que el programador tenga conocimientos en diferentes paradigmas de programación y estilos  conocer perfectamente las técnicas de diseño utilizadas por el diseñador  es deseable que el programador tenga conocimiento en varias metodologías de diseño.  tener experiencia en bases de datos  de ser posible, es preferible que los programadores tengan experiencia en el tipo de proyecto que se desea realizar. Programadores 28Ingeniería de Software| Ciclo de Vida
  • 32. Téster • El desarrollo de software considera una actividad que apoye el proceso de detección y eliminación de los errores y defectos del sistema en construcción. El objetivo del rol de téster es precisamente realizar dichas tareas. • El objetivo principal de la labor de téster es el de diseñar tests que en forma sistemática, permita eliminar diferentes clases de errores, realizando esto con la mínima cantidad de tiempo y esfuerzo. 29Ingeniería de Software| Ciclo de Vida
  • 33. Actividades Metas Participación en el proceso de especificación del sistema Prevenir errores en las etapas tempranas del desarrollo Interacción con el diseñador Realizar tests al diseño, obteniendo índices de medición Realizar los tests, apoyado por los programadores Realizar diferentes tests, obtener una buena interpretación de ellos, y realizar los ajustes Pertinentes Informar sobre los resultados obtenidos El grupo de desarrollo es informado sobre los progresos y resultados obtenidos 30Ingeniería de Software| Ciclo de Vida Téster
  • 34. Los tésters deben utilizar una metodología que en forma sistemática, organizada y estructurada, les permita detectar y corregir los errores y defectos introducidos en el proceso de desarrollo del sistema. Típicamente, se utilizan dos técnicas para ello: • test de la caja blanca • test de la caja negra 31Ingeniería de Software| Ciclo de Vida Téster
  • 35.  Los tests de caja blanca corresponden a un método de diseño de casos de tests que utilizan la estructura de control del diseño procedural para derivar los casos de tests.  Usando este método, el téster puede derivar casos de tests para lo siguiente:  Asegurarse que todos las trayectorias independientes en un módulo han sido visitadas al menos una vez.  Ejercitar todas las decisiones lógicas en sus lados verdadero y falso.  Ejecutar todos los loops en sus límites y sobre sus límites operacionales.  Ejercitar estructuras de datos internas para asegurar su validez. 32Ingeniería de Software| Ciclo de Vida Téster
  • 36.  Los tests de caja negra se focalizan en los requisitos de usuario del sistema. De esa forma, este tipo de tests permite que los tésters generen conjuntos de datos de entrada que ejercitarán completamente los requisitos del sistema.  Los tests de caja negra no son una alternativa a los tests de caja blanca. Más aún, corresponde a un enfoque complementario que posiblemente descubra una clase diferente de errores.  Los tests de caja negra tratan de encontrar errores en las siguientes categorías:  Funciones incorrectas o faltantes.  Errores de interfaces.  Errores en estructuras de datos o acceso a bases de datos externas.  Errores de rendimiento del sistema y errores de inicialización y terminación. 33Ingeniería de Software| Ciclo de Vida Téster
  • 37. El perfil de un téster debe considerar las siguientes características:  Ser un buen programador en el lenguaje seleccionado, y tener experiencia en el desarrollo de sistemas.  Conocer bien la metodología de diseño utilizada.  Ser sistemático en las revisiones de código y resultados de los tests.  Tener una personalidad agresiva para buscar errores en el código y documentos del proyecto.  Debe además tener una personalidad alegre, debido a que debe relacionarse con gran parte de los miembros del equipo de desarrollo. 34Ingeniería de Software| Ciclo de Vida Téster
  • 38. Aseguradores de calidad • Los factores dominantes en la administración de proyectos de software son los tiempos y costos de desarrollo. • En la medida que crece la presión por cumplir con las fechas estipuladas, y reducir los costos, es la calidad del producto la que sufre. • No debe ser simplemente “producto de software = a tiempo + dentro de los costos”. • Debiese ser “producto de software = calidad + a tiempo + dentro de los costos”. 35Ingeniería de Software| Ciclo de Vida
  • 39. Actividades Metas Revisar los documentos de requisitos de usuario y de software Asegurarse que la especificación de requisitos es una representación correcta y completa de las expectativas del cliente, y que es suficientemente clara para el equipo de desarrollo, especialmente para los diseñadores. Revisar el plan de administración del proyecto Asegurarse que el plan es creado y se cumple. Revisar el plan de testeo Asegurarse que el plan se crea, que es adecuado al proyecto específico, y que se sigue en cada fase del ciclo hasta que se entrega el producto. Revisar la fase de diseño arquitectónico Asegurarse que los diseñadores seleccionaron la metodología apropiada y que el producto final cumple con los requisitos de rendimiento, diseño y verificación. Revisar la fase de diseño detallado Asegurarse que el software producido cumple con los requisitos especificados y con los atributos de calidad impuestos. Revisar las políticas de control de cambios, control de errores y control de la configuración Asegurarse que se realizan monitoreos de errores en cada fase del desarrollo y que se respaldan las líneas bases haciendo que el producto no se pueda perder. Revisar la documentación Asegurarse que la documentación cumple con el estándar utilizado durante el desarrollo del producto de software. 36Ingeniería de Software| Ciclo de Vida Aseguradores de calidad
  • 40. De entre las actividades del Asegurador de Calidad, la más importante es la de participar en las revisiones técnicas formales (RTF).  Si estas revisiones están bien conducidas, son la forma más efectiva de encontrar, revelar y corregir errores mientras aún es barato encontrarlos y arreglarlos.  Las RTFs son especialmente requeridas en la fase de diseño arquitectónico.  Los objetivos de las RTFs son: 1. descubrir errores en funciones, lógica e implementación en cualquiera de las representaciones del software; 2. verificar que el software bajo revisión cumple con los requisitos; 3. asegurarse que el software ha sido representado de acuerdo al estándar en uso; 4. alcanzar software que es desarrollado en forma uniforme; y 5. hacer el proyecto más manejable. 37Ingeniería de Software| Ciclo de Vida Aseguradores de calidad
  • 41. El perfil de un asegurador de calidad. • Ser una persona con mucha experiencia en proyectos de desarrollo de software, con conocimientos suficientes sobre técnicas que aseguren la calidad de un producto de software. • Lo anterior lo hace capaz de negociar con la calidad del producto, y ocasionalmente, modificar el criterio de los desarrolladores. 38Ingeniería de Software| Ciclo de Vida Aseguradores de calidad
  • 42. Administrador de configuración  La administración de la configuración de software corresponde a la administración de la configuración aplicada a un sistema, o a partes de un sistema. Su aplicación, en conjunto con otras disciplinas, lleva al desarrollo de sistemas en forma ordenada y estructurada.  El objetivo principal de la administración de configuración de software es la administración efectiva del ciclo de vida del sistema de software y la evolución de su configuración. 39Ingeniería de Software| Ciclo de Vida
  • 43.  La administración de la configuración ayuda a reducir problemas coordinando los productos de muchas personas que trabajan en un proyecto común, como:  Modificaciones simultáneas. Cuando dos o más personas trabajan separadamente en el mismo programa o documento, el último en realizar los cambios puede fácilmente destruir el trabajo del otro.  Código común. En grandes sistemas, cuando se modifican funciones comunes de un programa, es necesario notificarlo a todos los miembros del grupo. Sin una administración de código efectiva, no hay forma de estar seguro de encontrar y alertar a cada uno de los miembros del equipo.  Versiones. Muchos de los grandes programas son desarrollados en releases evolucionarios. Con uno siendo utilizado por el usuario, otro en testeo, y un tercer en desarrollo, los arreglos de errores deben ser propagados entre ellos. En sistemas de gran tamaño con varios releases activos en forma simultánea y muchos programadores trabajando en arreglo de errores y mejoras, los conflictos y confusión son bastante frecuentes. 40Ingeniería de Software| Ciclo de Vida Administrador de configuración
  • 44. Actividades Metas Preparar el Plan de Administración de la Configuración de Software de acuerdo al estándar en uso Se planifican las actividades de administración de la configuración de software. Las tareas iniciales son identificar las líneas base que serán usadas en el proyecto, y los items que serán parte de cada línea base. Este proceso se llama identificación de la configuración. En el sentido de la administración de la configuración, una línea base es un documento, o un conjunto de ellos, formalmente designados y fijados en el tiempo. Por ello, una línea base es un repositorio oficial del producto, y contiene la versión más reciente. Se identifican las características funcionales y físicas de los items de configuración. El control de la configuración de software provee el mecanismo administrativo para preparar, evaluar y aprobar o reprobar el procesamiento de propuestas de cambio. Se controlan los cambios. Realizar auditorias de configuración de software. Asegurarse de que los cambios se implementan apropiadamente. Registrar y reportar información requerida para administrar items de configuración eficientemente, incluyendo el estatus de los cambios propuestos y el estatus de implementación de los cambios aprobados. Los grupos y personas son informados del estatus y contenido de las líneas bases. Mantener un registro de cómo evolucionó el sistema y dónde está el sistema en cualquier instante respecto a su línea base y acuerdos escritos. Verificar cual es la configuración de software actual y cual es su estatus. Auditar los items de configuración. Auditar la configuración de software provee los mecanismos para determinar el grado en el cual el estado actual del sistema de software refleja el sistema de software dibujado en la línea base y documentación de requisitos. También provee los mecanismos para establecer formalmente una línea base. Verificar cumplimiento de especificaciones, documentos de control de interfaces, y otros requisitos de contratos. 41Ingeniería de Software| Ciclo de Vida Administrador de configuración
  • 45.  La administración de configuración de software es una actividad paraguas que es aplicada a través del proceso de ingeniería de software completo.  Dichas actividades son desarrolladas para: identificar el cambio, controlar el cambio, asegurarse que el cambio se implementó adecuadamente, y reportar cambios a personas que puedan estar interesadas.  Los items que componen toda la información producida como parte del proceso de ingeniería de software se le llama en forma conjunta, configuración de software.  Los cambios pueden ocurrir en cualquier momento, y por cualquier razón. 42Ingeniería de Software| Ciclo de Vida Administrador de configuración
  • 46. Perfil de un administrador de configuración  Las personas en este rol deben poder manejar tres elementos:  actividades administrativas,  auxiliares (registrar eventos),  técnicas.  El administrador de configuración debe disponer de los recursos para hacer efectiva una solución.  Estos recursos pueden ser experiencia, mano de obra o autoridad. Idealmente, debiesen ser las tres.  Un administrador efectivo tiende a influir el resultado de un evento en forma positiva y productiva. 43Ingeniería de Software| Ciclo de Vida Administrador de configuración
  • 47. Ingeniero de validación y verificación. • Validación se refiere al proceso de evaluación del software al final de su proceso de desarrollo para asegurarse que está libre de fallas y cumple con sus requisitos. Una falla se define como un comportamiento incorrecto del producto. • Verificación se refiere al proceso de determinar si el producto en una determinada fase del proceso de desarrollo cumple con los requisitos establecidos en la fase anterior. 44Ingeniería de Software| Ciclo de Vida
  • 48.  Las personas dedicadas a V&V deben evaluar cuan bien el software está cumpliendo con sus requisitos técnicos y sus objetivos de seguridad y confiabilidad relativos al sistema.  También asegura que los requisitos de usuario no están en conflicto con ninguno de los estándares o requisitos aplicables a otros componentes del sistema.  Las tareas de la V&V de software son analizar, revisar, demostrar y testear todas las salidas del desarrollo de software.  El proceso de V&V produce un Plan de Validación y Verificación de Software, planes individuales y reportes para tareas, reportes con resúmenes, reportes con anomalías y un reporte de validación y verificación de software al final. 45Ingeniería de Software| Ciclo de Vida Ingeniero de validación y verificación.
  • 49. Actividades Metas Administración de V&V de software El proceso requiere ser administrado y realizado en forma completa durante todo el proceso de desarrollo de software. Planificación Planificar y mantener el proceso de V&V. Coordinación Coordinar e interpretar rendimiento y calidad del esfuerzo del proceso de V&V. Reportar Reportar discrepancias a la brevedad posible al usuario o al grupo de desarrollo. Monitoreo Identificar tempranamente caminos de problemas, focalizando las tareas de V&V en ellos. Evaluación de resultados Proveer una evaluación técnica del rendimiento del software y sus atributos de calidad en cada revisión de software. Evaluación del impacto del cambio Determinar el impacto completo de los cambios de software Propuestos. Monitoreo del progreso técnico de V&V y calidad de resultados Durante cada actividad de V&V, se debe revisar las tareas planificadas de V&V, incluyendo nuevas para mantenerse focalizado en las funciones críticas de rendimiento y calidad del software. Examinar documentación temprana del proyecto Muchas veces los llamados documentos conceptuales, para verificar que el sistema que se construirá no es sólo posible, pero que además utiliza las reglas, convenciones, algoritmos y prácticas apropiadas al dominio de aplicación del sistema. V&V de los requisitos de usuario Realizado para asegurarse que los requisitos de usuario especificados son correctos, completos, consistentes, fieles, legibles y es posible testearlos, y que además, satisfacen los requisitos de software. V&V de los requisitos de software Realizado para asegurarse que los requisitos de software especificados son correctos, completos, consistentes, fieles, legibles, es posible mapearlos desde los requisitos de usuario y es posible testearlos, y que además, satisfacen los requisitos de diseño. V&V del diseño de software Provee seguridad de que los requisitos de software no son mal interpretados o implementados en forma incompleta. V&V del código Asegurarse que se utilicen los estándares en uso, que usualmente consideran programación estructurada, reuso de código, adopción de estándares y estilos de programación, Etc. Administración de tests Una actividad importante en la actividad de V&V es la de asegurarse que se consideren y planifiquen todos los testeos requeridos para el sistema. V&V de la transferencia Asegurarse que se consideren todos los detalles de la instalación y puesta en marcha del sistema, así como la migración y/o poblamiento de sus datos y posibles problemas de eficiencia que empiezan a aparecer. V&V de la operación y manutención Cuando se realiza un cambio en el software, en necesario repetir todas las actividades de V&V pertinentes para asegurarse que nada queda fuera. 46Ingeniería de Software| Ciclo de VidaIngeniero de validación y verificación.
  • 50. Documentador El objetivo principal del rol de documentador es el de mantener la información generada durante el proceso de desarrollo. Como objetivos específicos se tienen los siguientes:  Permitir el almacenamiento y recuperación de la documentación de los procesos y productos más recientes durante el desarrollo, manteniendo así la información al día.  Mantener la consistencia en la apariencia y estructura de los documentos, facilitando su almacenamiento, recuperación e intercambio, no permitiendo el almacenamiento de documentos con formatos diferentes.  Asegurarse que los cambios que necesitan hacerse en el sistema serán reflejados en la documentación correspondiente.  Elaborar, almacenar y permitir la recuperación de las actas y registros generados durante las reuniones de revisión, los que constituyen parte del proceso de documentación.  Construir el manual de usuarios del sistema, MUS, que contempla los aspectos de uso del sistema. 47Ingeniería de Software| Ciclo de Vida
  • 51. Actividades Metas El documentador debe diseñar y construir un repositorio de información compartido, donde se almacenará la documentación. Tener un repositorio central que permite almacenar, recuperar y mantener la documentación del proyecto. Mantener el repositorio de información. El documentador debe agregar todos los nuevos documentos generados y remplazar los documentos que fueron modificados en el proceso de desarrollo. Tener accesible y organizada la última versión de todos los documentos generados durante el proceso de desarrollo, en un repositorio común. Especificar el formato que será usado para elaborar la documentación. El formato especificado debe contemplar al menos lo siguiente: 1) Estructura del documento, 2) Tipos de letra y colores a usar en cada Documento, 3) Distribución de los elementos en el documento, 4) Características de las figuras, imágenes y dibujos consideradas en el documento. Será posible integrar en un documento único general, todos los documentos almacenados en el repositorio, sin necesidad de cambiar sus formatos o estructura Asegurarse que los documentos mantienen el estándar de documentación definido para el proyecto antes de incluirlos en el repositorio. Toda la información almacenada en el repositorio tendrá el formato definido, y se ajustará al estándar de documentación en uso. Durante las reuniones de revisiones, el documentador elaborará las actas de la reunión. Estos documentos serán usados luego por el ingeniero de validación y verificación. Es necesario mantener la historia del proyecto en el repositorio. Al término del proyecto, el repositorio contendrá toda la información histórica del proyecto. Elaborar el manual de uso del sistema. El usuario final debe disponer de un MUS, que le permita operar el sistema correctamente, conociendo sus funciones, y administrando los errores que puedan aparecer durante su ejecución 48Ingeniería de Software| Ciclo de Vida Documentador
  • 52. La metodología de trabajo del documentador está enfocada a realizar las acciones que le permita cumplir con sus objetivos principales y específicos.  Al inicio, debe establecer los formatos usados en los documentos del proyecto, definiendo las estructuras de los documentos:  Información de identificación de cada documento (nombre, tipo, autores, versión, etc.).  Información que facilite la recuperación de la información (resúmenes, palabras claves).  Enfoques para estructuras capítulos, secciones y subsecciones, y su numeración respectiva.  Índices y numeración de páginas. 49Ingeniería de Software| Ciclo de Vida Documentador
  • 53. El documentador requerirá herramientas para la elaboración de documentos (minutas, documentos de acuerdos, manual de usuario) y herramientas de apoyo para la elaboración y administración del repositorio de documentos.  Editor de texto, que permite elaborar documentos fácilmente y almacenarlos en diferentes formatos, incluyendo HTML. Debe incluir una herramienta para el chequeo ortográfico y de gramática.  Navegador Web y editor HTML, que permita editar y publicar documentos HTML, proveyendo diversas funciones.  Para la elaboración y administración del repositorio de documentos deben proveer el acceso a los documentos. Estas herramientas dependerán de la decisión del repositorio en uso durante el desarrollo del proyecto. Hoy en día existen muchas herramientas de manejo de repositorios de documentos, con interfaces Web. 50Ingeniería de Software| Ciclo de Vida Documentador
  • 54. Perfil del documentador.  Debe ser una persona ordenada, con capacidades de mantener una gran cantidad de información en forma ordenada y accesible.  Poseer capacidades para no sólo apoyar su trabajo con tecnología, sino que además, deberá diseñar y construir el repositorio para la documentación del proyecto. Esto incluye, al menos, la definición del modelo de datos, definición de las interfaces, definición de los perfiles de acceso de los usuarios, y la definición del protocolo social de uso de los documentos.  Tener creatividad para presentar la información y aptitud de expresión para escribir. 51Ingeniería de Software| Ciclo de Vida Documentador
  • 55. Ingeniero de manutención. Los objetivos a cumplir por un ingeniero de manutención son los siguientes: • Modificar el software para adaptar nuevas funciones o modificar algunas funciones existentes. • Modernizar el software por medio de cambios al sistema. • Asegurarse de que el equipo de desarrollo esté informado de los errores encontrados en el sistema. 52Ingeniería de Software| Ciclo de Vida
  • 56. Actividades Metas Manutención correctiva Diagnóstico y corrección de errores encontrados durante el uso del programa. Manutención adaptiva Adaptar el sistema a los cambios que pueden producirse en el hardware, sistema operativo, periféricos y herramientas de trabajo. Manutención perfectiva Satisfacer la demanda de recomendaciones por parte de los usuarios del sistema. Realizar cambios al sistema para mejorar el proceso de manutención o confiabilidad del sistema. 53Ingeniería de Software| Ciclo de Vida Ingeniero de manutención.
  • 57. La metodología a usar por el ingeniero de manutención debe considerar los siguientes aspectos:  Establecer y coordinar la organización de manutención.  Definir los procesos de evaluación e información.  Definición de una secuencia estándar de eventos para cada requisito de manutención.  Establecer un sistema de registro e información de las actividades de manutención.  Definición de las actividades de revisión y evaluación. 54Ingeniería de Software| Ciclo de Vida Ingeniero de manutención.
  • 58. El perfil del ingeniero de manutención, como es el caso de otras formas de administración, requiere de la creación y preservación de una atmósfera adecuada que permita llevar a cabo las actividades de la mejor forma posible. Existen aspectos que son comunes a la mayoría de las actividades de administración. No obstante, se espera que el ingeniero de manutención tenga visión para poder predecir las actividades de manutención a futuro. 55Ingeniería de Software| Ciclo de Vida Ingeniero de manutención.
  • 59. Pie de foto. Bibliografía •Sommerville, I. (2015). Ingeniería de Software, 10th ed. Prentice Hall. •Pressman, R. S. (2014). Software engineering: a practitioner's approach, 8th ed. McGraw-Hill Education. •Laudon, K.C. & Laudon, J.P. (2012).Sistemas de Información Gerencial. México: Pearson Educación. •Jalote, P. (2005). An integrated approach to software engineering. New York: Springer. 56Título de la sección 1 | Título de la presentación
  • 60. gracias. ©2020 Es responsabilidad exclusiva de los autores el respeto de los derechos de autor sobre los contenidos e imágenes en el presente documento, en consecuencia, la BUAP no se hace responsable por el uso no autorizado, errores, omisiones o manipulaciones de los derechos de autor y estos serán atribuidos directamente al Responsable de Contenidos, así como los efectos legales y éticos correspondientes.