Está en la página 1de 68

Universidad Tecnológica de Panamá

Facultad de Ingeniería de Sistemas Computacionales

INTRODUCCIÓN A LA INGENIERÍA DE SOFTWARE

Cod. 0600

I. Antecedentes de la Ingeniería de Software

Dra. Gisela E. T. de Clunie

1
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

Objetivos
 Conocer los antecedentes de la Ingeniería de
Software y su evolución.
 Discutir la crisis del software.
 Identificar los pasos para la comprensión y
resolución de problemas de Ingeniería de Software.
 Explicar las mejores prácticas en Ingeniería de
Software.
 Reconocer las actividades, roles y
responsabilidades en el desarrollo de proyectos SW
2
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es Ingeniería de Software?

 Un tipo de ingeniería.
Tiene el mismo conjunto de deberes, derechos y
responsabilidades sociales que todas las ingenierías.

 Una actividad de modelado.


Los ingenieros de software manejan la complejidad del
problema mediante el modelado, enfocándose en los
detalles relevantes.

 Es una actividad para la solución de problemas: Se


usan modelos para buscar una solución aceptable.

3
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es la Ingeniería de Software?


“El modelado captura las
partes esenciales del sistema”

Orden

Item

envío

Proceso de Negocios

Sistema Computacional
4
 www.dsic.upv.es/~letelier/pub
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es Ingeniería de Software? Cont …

 Es una actividad para la adquisición de conocimiento.


El Ingeniero de software recopila datos, los organiza en
información y los formaliza en conocimiento.

 Una actividad basada en la fundamentación


Los ingenieros de software captan el contexto en el que
toman decisiones. La información de la fundamentación,
representada como modelo del problema, permite que los
Ingenieros de Software comprendan las implicaciones de
un cambio propuesto cuando revisan una decisión.
Fundamentación: Método para la justificación de los
cambios.
5
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es Ingeniería de Software? Cont …

 Una tecnología multicapa

Herramientas

Métodos

Proceso

Un enfoque de calidad

Capas de la Ingeniería de Software 6


I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es Ingeniería de Software? Cont …

Disciplina de la ingeniería que comprende todos


los aspectos de la producción de software.
Incluye:
– Métodos, técnicas y herramientas para el
desarrollo.
– Actividades de administración de proyectos,
desarrollo de herramientas y teorías de apoyo.
– Enfoque sistemático y organizado.
7
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es Ingeniería de Software? Cont …

“La aplicación de un enfoque


sistemático, disciplinado y
cuantificable hacia el desarrollo,
operación y mantenimiento del
software” (IEEE).

8
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es Ingeniería de Software? Cont …

Tarea: Construir la casa del perro.

Puede hacerla una sola persona.


Requiere:
Modelado mínimo.
Proceso simple. 9
 www.dsic.upv.es/~letelier/pub
Herramientas básicas (simples).
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es Ingeniería de Software? Cont …

Proceso de desarrollo: Construir la mansion.

Es necesario contar con especialistas.


Requiere:
Planificación (tiempo, costos).
Modelado complejo.
Procesos bien definidos. 10
 www.dsic.upv.es/~letelier/pub
Herramientas más sofisticadas.
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.1 ¿Qué es Ingeniería de Software? Cont …

La META es entregar software de


calidad, a tiempo y dentro del
presupuesto, que satisfaga las
necesidades reales del cliente.

11
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

➢ Conjunto de problemas que afectan al desarrollo y


mantenimiento del software, como resultado de los
mitos y malas prácticas.
➢ Entre las consecuencias se presentan:
• Baja calidad del software
• Tiempos y Presupuestos excedidos
• Confiabilidad cuestionable
• Elevados requerimientos de personal para el
desarrollo y el mantenimiento.

12
Basado en presentación de Ing. Francisco Rodríguez
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

Solo podemos ver lo que está


afuera, lo “visible”; mientras
tanto, los vicios ocultos resultan
desconocidos e impactan
profundamente.

13
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

14
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

15
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

16
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

más lo

crisis
17
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

18
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

Mitos del Software

 El hardware es mucho más importante que el


software.
 El software es fácil de desarrollar.
 El software consiste únicamente de
programas ejecutables.
 El desarrollo de software es solamente una
labor de programación.
 Es natural que el software contenga errores.
19
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

Mito del Administrador

Mito del Cliente

Mito del
Desarrollador

20
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

21
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

22
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

23
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Crisis del Software

24
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Síntomas de problemas en el desarrollo de software

 Las necesidades del usuario o negocio no son bien


entendidas
 Especificación de requerimientos inadecuada
 Módulos no integrados
 Dificultades de mantenimiento
 Descubrimiento tardío de defectos
 Pobre calidad y poca experiencia del usuario final
 Pobre desempeño del software
 Falta de coordinación entre los miembros del
equipo de trabajo
25
 Aspectos de construcción y liberación de versiones
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Causa principal de los síntomas

Síntomas Causa Principal Mejores Prácticas


Necesidad mal entendida Requerimientos insuficientes Desarrollo iterativo
Requerimientos
inadecuados Comunicaciónambigua
Comunicación ambigua
Administración de requerimientos
Módulos
Módulos no integrados
no integrados Débil Arquitectura
Dificultad de manten. Aumento de la complejidad
Arquitectura de componentes
Defectos tardíos Inconsistencias
Inconsistencias
Baja calidad Falta de pruebas Modelovisual
visual (UML)
(UML)
Modelo
Pobre desempeño Evaluación subjetiva
Falta de coordinación Desarrollo en cascada Verificaciónde
Verificación delalacalidad
calidad
Construcción y versiones Dificultad control de cambios
Automatización insuficiente Administración de cambios
26
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.2 Problemática General

 Aumento del tamaño y complejidad del SW.


 Carácter dinámico e iterativo del ciclo de
vida.
 Difícil estimar tiempo y esfuerzo.
 Altos costos financieros y humanos
destinados al mantenimiento correctivo.
 Incumplimiento de los plazos de tiempo y
de los costos estimados para el desarrollo.
 Poca Portabilidad.
 Toma mucho tiempo en construirlo. 27
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.3 Desafíos de la Ingeniería de Software

 El reto a lo heredado
– Mantener y actualizar el software desarrollado
(por terceros) para evitar costos excesivos y
que siga funcionando.

 El reto de la heterogeneidad
– Desarrollar técnicas para construir software
confiable que sea flexible y se adecue a las
diversas necesidades actuales.

28
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.3 Desafíos de la Ingeniería de Software

 El reto de la entrega
– Consiste en reducir los tiempos de entrega
para sistemas grandes y complejos sin
comprometer la calidad del sistema.

 Los retos no son independientes


– Lo ideal es que se combinen buscando
calidad, eficiencia y bajos costos.

29
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.3 Desafíos de la Ingeniería de Software


Manejar la complejidad

Interface de Usuario
(Visual Basic,
Java, ..)
Lógica del
Negocio
(C++, Java, ..)

Múltiples Sistemas

Servidor de BDs
(C++ & SQL, ..)

Modelar el sistema
independientemente Componentes
del lenguaje de Reutilizados

implementación
Promover la Reutilización
30
 www.dsic.upv.es/~letelier/pub
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


Costo relativo de corrección de errores durante el
desarrollo del software

.1-.2 Especificación
0.5 Diseño
1 Programación
2 Pruebas de Unidades
5 Pruebas de Aceptación
20 Mantenimiento

Fases del Desarrollo 31


I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


Programas x Software
 Programa
▪ Generalmente completo en sí mismo y
utilizado solamente por su autor
▪ Poca documentación
▪ Presencia de errores (bugs) no es una
preocupación
▪ Portabilidad, confiabilidad y usabilidad no son
consideradas características importantes.
32
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Software (producto software)
▪ Usado ampliamente por personas diferentes a
los desarrolladores.
▪ Los usuarios pueden tener diferentes
especializaciones, de esta forma debe ser
ofrecida una interface de usuario adecuada.
▪ Normalmente son bastante probados antes de
hacerlos disponibles para su uso.
▪ La portabilidad es una característica
fundamental. 33
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Tipos de productos software
▪ Productos genéricos que son sistemas
aislados de consumo abierto al mercado que
pueda comprarlo.
▪ Productos personalizados requeridos por un
cliente en particular.

En los primeros la organización que lo desarrolla


controla la especificación.

34
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Paradigma
▪ Una serie de pasos que abarcan los
métodos de las herramientas y los
procedimientos

 Métodos
▪ Describen el cómo construir técnicamente
el software

35
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Herramientas
▪ Proporcionan el soporte automático o no
para el proceso y/o los métodos

 Procedimientos
▪ Unión de de los métodos y las
herramientas

36
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Naturaleza de los Productos de Software

 El software es un producto lógico y


no físico.
 El software puede ser portable.
 El software puede ser reutilizado.
 Los productos de software realizan
una mayor variedad de funciones
que los productos tradicionales de
Ingeniería.

37
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Proceso de Desarrollo de Software

Participantes

38
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Participantes
Todas las personas involucradas en el desarrollo de
un proyecto.
• El cliente ordena y paga el sistema
• Los desarrolladores construyen el sistema
• El gerente del proyecto, planea y calcula el
presupuesto y coordina a los desarrolladores y
al cliente
• Los usuarios finales son apoyados por el
sistema
 Papel (roles)
Conjunto de responsabilidades en el proyecto. Se
asocia a tareas y se asigna a participantes. Un mismo
participante puede desempeñar varios roles. 39
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Sistemas y modelos
Modelo es cualquier abstracción de la realidad.
Sistema es la implementación (funcional) del modelo.

Ejemplo: Un proyecto de desarrollo es un sistema


que puede ser modelado. La calendarización del
proyecto, su presupuesto y su tiempo de entrega son
modelos del proyecto de desarrollo.

Productos de Trabajo
Es un artefacto que se produce durante el desarrollo.
Puede ser un documento o fragmento de software40
para los demás desarrolladores o para el cliente.
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Producto de trabajo interno
Artefacto de consumo interno del proyecto.
 Producto para entrega
Producto de trabajo para un cliente. Se define
antes de iniciar un proyecto y se especifica en un
contrato que enlaza desarrolladores con el cliente.
 Prototipos de demostración, escenarios de
prueba y resultados de prueba
Son producidos por desarrolladores para el
gerente de proyecto. Son productos de trabajo
interno, a menos que se especifiquen en el
contrato como artefactos que serán entregados al
cliente. 41
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Actividades, tareas y recursos
Actividad conjunto de acciones u operacíones que
se realizan con un fin específico, por ejemplo, la
obtención de requerimientos.
Tarea representa una unidad atómica de trabajo
que puede ser administrada. Las tareas
consumen recursos y dan como resultado
productos de trabajo.
Recursos son bienes utilizados para realizar el
trabajo. Los recursos incluyen tiempo, equipo y
mano de obra. 42
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Objetivos, requerimientos y restricciones

Objetivo es un principio de alto nivel que se usa


para guiar el proyecto. Los objetivos definen los
atributos generales deseables del software.
Algunas veces los objetivos pueden entrar en
conflicto, lo que puede hacer difícil lograrlos en
forma simultánea. Ejm. Seguridad y Bajo costo.
Buena parte de la complejidad en el desarrollo de
software surge de objetivos mal definidos o en
conflicto. 43
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.4 Conceptos de Ingeniería de Software


 Requerimientos:
Características que debe tener el software. Se definen al
inicio del proyecto.

Tipos:
Requerimiento funcional: especifica los servicios o
funciones que debe proporcionar el sistema software.
Requerimiento no funcional: no especifica un servicio.
Califica el servicio o servicios (especifica algo sobre ellos).
Ejm. Rendimiento, confiabilidad y disponibilidad, manejo de
errores, interfase, restricciones.
Requerimiento inverso: establece lo que no debe hacer el
software. Ejm. No se requiere que realice análisis
estadístico. (Restricción) 44
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.4 Conceptos de Ingeniería de Software
 Notaciones, métodos y metodologías
Notación: es un conjunto de reglas gráficas o
textuales para representar un modelo. Por ejemplo
la notación OO.
Método: es un técnica aplicable para la resolución
de un problema específico.
Ejm. receta, algoritmo de ordenamiento.
Metodología: es una colección de métodos para la
resolución de una clase de problemas. Las
metodologías de desarrollo de software
descomponen el proceso en actividades: análisis,
diseño del sistema, diseño del objeto, etc.
Ejm. Metodología RUP, Booch son metodologías45
orientadas a objetos.
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.4 Conceptos de Ingeniería de Software
 Notación UML

46
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.4 Conceptos de Ingeniería de Software
 Metodología

“Conjunto de filosofías, fases, procedimientos,


reglas técnicas, herramientas, documentación
y aspectos de formación para los
desarrolladores del sistemas.”

[Maddison, 1983]

47
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.4 Conceptos de Ingeniería de Software
 Metodología

48
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.4 Conceptos de Ingeniería de Software
 Metodología: descomposición del proceso

49
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.4 Conceptos de Ingeniería de Software
 En un proyecto de desarrollo de software la
metodología define Quién? debe hacer Qué?,
Cuándo? y Cómo? debe hacerlo
Requisitos nuevos Sistema nuevo
o modificados o modificado
Proceso de Desarrollo
de Software

 No existe una metodología de software


universal. Las características de cada
proyecto (equipo de desarrollo, recursos, etc.)
exigen que el proceso sea configurable
50
 www.dsic.upv.es/~letelier
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.5 Actividades de desarrollo de la Ingeniería de Software

A continuación se presentan las actividades


de trabajo fundamentales del ciclo de vida
clásico.
 Obtención de Requerimientos
 Análisis
 Diseño del Sistema (macro)
 Diseño de Objetos (detalle)
 Implementación
51
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.5 Actividades de desarrollo de la Ingeniería de Software


 Obtención de requerimientos

- Se define el propósito del sistema.


- Se describen los requerimientos funcionales, no
funcionales y las restricciones.
- Esta actividad da como resultado una
especificación del sistema.
- Se define la demanda de equipos y de
participantes en diferentes dominios de
conocimiento.
- Los escenarios y los casos de uso apoyan la
obtención de los requerimientos del sistema. 52
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.5 Actividades de desarrollo de la Ingeniería de Software


 Obtención de requerimientos

Los actores representan las entidades


externas que interactúan con el sistema.
Ejm.: usuarios finales, otras computadoras o
dispositivos.
Los casos de uso: son secuencias de
eventos generales que describen todas las
acciones posibles entre el actor y el sistema
para una funcionalidad determinada.

53
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.5 Actividades de desarrollo de la Ingeniería de Software
Ejemplo de un caso de uso:
Nombre del caso de uso CompraBoletoSencillo.
Actor Participante Iniciado por viajero.
Condición Inicial 1. El viajero se para enfrente del distribuidor
de boletos que puede estar ubicado en la
estación de origen u otra estación.
Flujo de Eventos 2. El viajero selecciona las estaciones de
origen y destino.
3. El distribuidor de boletos despliega el precio
del boleto.
4. El viajero inserta una cantidad de dinero
que, por lo menos, es igual al precio del boleto
5. El distribuidordeboletos emite el boleto
especificado al Viajero y regresa el cambio si
es el caso.
Condición de Salida 6. El viajero toma un boleto válido y el cambio, en
su caso.
Requerimientos especiales: Si la transacción no se termina después de un
minuto de inactividad, el distribuidordeboletos
54
regresa todo el dinero insertado.
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.5 Actividades de desarrollo de la Ingeniería de Software


 Definición de requerimientos
- Un requerimiento es una “condición” o
“capacidad” que necesita el usuario para
resolver un problema o conseguir un objetivo
determinado.

- Un requerimiento también se refiere a las


condiciones que debe “cumplir” o “poseer” un
sistema o uno de sus componentes para
satisfacer un contrato, una norma o una
55
especificación.
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE

I.5 Actividades de desarrollo de la Ingeniería de Software

 Análisis
- Se produce un modelo del sistema que sea
correcto, completo, consistente, claro, realista y
verificable.
- Los casos de uso se transforman en un modelo
de objeto que describa por completo el sistema.
- Se descubren las ambigüedades y las
inconsistencias en el modelo de casos de uso.
El resultado del análisis es un modelo de objeto con
atributos, operaciones y asociaciones. 56
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.5 Actividades de desarrollo de la Ingeniería de Software
 Diseño
- Se definen los objetivos de diseño del proyecto, y se
descompone el sistema en subsistemas más pequeños,
que puedan desarrollar los equipos de trabajo individuales.
- Se seleccionan las estrategias para la construcción del
sistema, tales como la plataforma de hardware y software.

Los resultados del diseño son:


• una descripción clara de cada una de las estrategias
a ser aplicadas,
• la descomposición en subsistemas,
• un diagrama de organización que relaciona el
hardware y software del sistema.
57
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.5 Actividades de desarrollo de la Ingeniería de Software
 Diseño de Objetos
Se definen los objetos y las interfases del
sistema, se vincula la plataforma de
hardware y software definida durante el
diseño del sistema.

El resultado de la actividad de diseño de objetos es


un modelo de objetos detallado con restricciones y
descripciones precisas para cada elemento.

58
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.5 Actividades de desarrollo de la Ingeniería de Software
 Implementación

Se traduce el modelo de objetos en código fuente,


scripts, códigos binarios, ejecutables y otros.

Los objetivos:
– Planificar las integraciones del sistema
– Distribuir el sistema asignando componentes
ejecutables.
– Implementar las clases y subsistemas
– Probar componentes e integrarlos
59
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.5 Actividades de desarrollo de la Ingeniería de Software
 Mantenimiento
- Es la modificación de un producto software después de la
entrega, para corregir errores, mejorar el rendimiento, u
otros atributos.1
- El mantenimiento del software es una de las actividades
más comunes en la ingeniería de software.
- Es una de las fases en el ciclo de vida de desarrollo de
software.
- La fase de mantenimiento es la fase que viene después
del despliegue (implementación) del software en el campo.
- Más del 80%, del esfuerzo de mantenimiento es usado
para acciones no correctivas. 60
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.6 Roles del personal

 Propietarios del Sistema


- Pagan para disponer del sistema desarrollado.
- Aprueban la tecnología utilizada en el sistema.
- Definen los plazos necesarios para el desarrollo
- Pagan para mantener dicho sistema en
funcionamiento.
- Esperan que el sistema, durante su tiempo de
vida, suministre mayores beneficios que costos.
61
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.6 Roles del personal
 Líder del Proyecto
Responsable de:
- Crear el Plan para el Desarrollo del Proyecto de
Software.
- Crear el cronograma de actividades para el
proyecto.
- Calcular el costo de desarrollo del producto de
software
- Supervisar el avance del proyecto dentro de los
tiempos y costos estimados.
- Realizar ajustes a la programación. 62
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.6 Roles del personal
 Analistas de requisitos
- Interactúan con el cliente para conocer sus
necesidades.
- Con ayuda del cliente desglosan las
necesidades en requerimientos individuales.
- Determinan la existencia de relaciones entre
los requerimientos del sistema.
- Administran los cambios de requerimientos.
- Analizan y controlan el impacto provocado por
los cambios de requerimientos 63
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.6 Roles del personal
 Arquitectos (diseñadores)
- Describen la estrategia de cómo debe
funcionar el sistema.
- Establecen la arquitectura de software que se
desarrollará.
- Modelan visualmente el sistema para
aumentar la comprensión del software que se
desarrollará.
- Definen lineamientos de calidad para el
software.
- Establecen lineamientos a seguir para la
64
elaboración de la documentación.
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.6 Roles del personal
 Desarrolladores
- Escriben las líneas de código o piezas de
programación que implementan lo especificado
en los requerimientos.
- Modifican las piezas de programación
existentes.
- Documentan las piezas de programación a fin
de facilitar su mantenimiento y reutilización.
- Realizan pruebas sobre las piezas de
programación generadas.
65
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.6 Roles del personal
 Probadores (“testers”)
- Desarrollan el plan de pruebas para la evaluación
del software:
- Objetivos
- Riesgos
- Requerimientos del ambiente
- Planean las pruebas
- Establecer condiciones de la prueba
- Definir los resultados esperados
- Preparar las pruebas
- Desarrollar guiones de las pruebas
66
- Crear archivos de pruebas
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.6 Roles del personal
 Entrenadores (“trainers”)
- Enseñan a los usuarios cómo se utiliza el sistema.

 Equipo de mantenimiento
- Corrigen defectos en el software.
- Desarrollan nuevas funcionalidades.
- Adaptan el software según los cambios del
negocio.
- Se aseguran de que el software brinde el nivel de
servicio esperado por los usuarios.
67
I. ANTECEDENTES DE LA INGENIERÍA DE SOFTWARE
I.6 Roles del personal

Recurso Humano

 Las asignaciones del personal a las tareas


depende de la dimensión del proyecto.

 Una vez que se ha decidido acerca de los


roles de los miembros del proyecto, se debe
decidir qué tipo de persona se necesita en
cada rol.

68

También podría gustarte