Práctica 2 - El Proceso de Software

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Nombre del Estudiante:

Michael Andres Mercedes Reyes

Período académico:
2019-C2

Fecha de entrega:
Sábado, 18 de mayo 2019

Nombre del Profesor:


Leandro Fondeur

Nombre del tema de estudio:


El Proceso de Software
1. Trate de desarrollar un conjunto de acciones para la actividad de comunicación.
Seleccione una acción y defina un conjunto de tareas para ella.

Acción: Concepción

La concepción es el inicio del proyecto, ya sea por una reunión, o alguna conversación que
tuviste con alguien producto de las necesidades de algo. El conjunto de tareas para ésta acción
es:

 Desarrollar bien la idea del proyecto y tener claro que es lo que se quiere lograr.
 Investigar a que clientes éste proyecto suple sus necesidades.
 Conocer el ámbito en que se desarrollaran.
 Conocer el ambiente del tipo de cliente al que van dirigidos. Esas son las tareas principales de
la Concepción, conocer el sistema y el ámbito en que se desarrollará.

2. Investigue un poco sobre el PPS y haga una breve presentación que describa los
tipos de mediciones que se pide hacer a un ingeniero individual de software y
la forma en la que pueden usarse para mejorar la eficacia personal.

Es un proceso individual cuyo objetivo es ayudar a los ingenieros en software a medir y mejorar
su productividad personal.

PSP establece un conjunto de mediciones que permiten evaluar y mejorar el proceso de manera
individual. Esos registros se llevan como parte del proceso para capturar la información y
posteriormente realizar el análisis del comportamiento. Como resultado se pueden identificar
las áreas de atención para mejorar los resultados.

Algunas de las métricas que se recolectan son:


 Tiempo empleado en la fase
 Tiempo total
 Defectos introducidos en la fase
 Defectos corregidos en la fase
 Total de defectos introducidos/ corregidos
 LOC por hora
 Indicador de costo de desempeño
 Porcentaje de reúso
 Porcentaje de nueva reusabilidad
 Valor planeado acumulado
 Valor ganado
 Valor ganado acumulado
 Densidad de defectos en pruebas
 Densidad de defectos total
 Ganancia
 Defectos eliminados por hora en la fase
 Proporción de defectos eliminados entre fases
 Costo de la calidad

El ingeniero debe realizar varias actividades que lo ayudarán a satisfacer las mencionadas
mediciones que evaluarán su calidad y desempeño:

 PLANEACION: todas las mediciones se registran en hojas de trabajo o plantillas, se identifica


las tareas de desarrollo y se crea un programa para un proyecto
 DISEÑO DE ALTO NIVEL: Se desarrolla las especificaciones externas mientras se crea el diseño
de componentes
 REVISION DEL DISEÑO DE ALTO NIVEL: Se descubren errores en el diseño, se mantiene las
mediciones para todas las tareas y resultados del trabajo importantes.
 DESARROLLO: Se mejora y revisa el diseño se mantiene errores en el diseño de componente,
genera, revisa, compila y comprueba.
 POST MORTEM: Se determina la eficacia del proceso por medio de medidas y mediciones
obtenidas EL PPS: enfatiza las necesidades de detectar los errores.

3. Conforme avanza hacia fuera por el flujo de proceso en espiral, ¿qué puede
decirse sobre el software que se está desarrollando o que está en
mantenimiento?

En cada vuelta el producto gana en “madurez” (aproximación al final deseado) hasta que en una
vuelta la evaluación lo apruebe y el bucle pueda abandonarse.

4. ¿Es posible combinar modelos de proceso? Justifique su respuesta y dé


ejemplos.

Si, un ejemplo sería para un sistema para una multinacional que posee requerimientos
específicos y amplios, podrías utilizar un modelo para el sistema en general (como el basado en
aspectos) y utilizaríamos otro modelo para las divisiones más pequeñas de software.
5. El modelo de proceso concurrente define un conjunto de "estados”. Describa
con sus propias palabras qué es lo que representan, y después indique cómo
entran en juego dentro del modelo de proceso concurrente.

El modelo de desarrollo concurrente permite que un equipo de software represente elementos


iterativos y concurrentes de cualquiera de los modelos que ya que conocemos (espiral,
prototipos, análisis y diseño, etc.) Los estados que componen este proceso son:

 Inactivo
 En desarrollo
 Cambios en espera
 En evaluación
 En revisión
 Alcance mínimo
 Terminado

La manera en que estos estados interactúan los unos con los otros en el proceso concurrente
puede ser explicado brevemente en el siguiente ejemplo:

“La actividad de comunicación termina su primera iteración al principio de un proyecto y existe


en el estado de cambios de espera. La actividad de modelado la cual existía en estado inactivo
mientras concluía la comunicación inicial, ahora hace una transición al estado en desarrollo. Sin
embargo, si el cliente indica que deben hacerse cambios en los requerimientos, la actividad de
modelado pasa al estado en desarrollo al de cambios de espera.

El modelado concurrente define una clase de eventos que se ejecutan en la corrección del
modelo de análisis la cual cambiará el estado del proyecto de terminado a en espera.

6. ¿Cuáles son las ventajas y desventajas de desarrollar software en el que la


calidad no es "suficientemente buena”? Es decir, ¿qué pasa cuando se pone el
énfasis en la velocidad de desarrollo sobre la calidad del producto?

Ventajas: la entrega rápida al cliente.

Desventajas: falta de seguridad, errores de diseño y lógica, la satisfacción del cliente disminuye
proporcionalmente.
7. Vuelva a leer el "Manifiesto para el desarrollo ágil de software” al principio de
este capítulo. ¿Puede pensar en una situación en la que uno o más de los cuatro
"valores” pudieran causar problemas al equipo de software?

Al saber que las condiciones del mercado cambian con rapidez, las necesidades de los usuarios
finales cambian, se generaría un ambiente con problemas iniciando por no definir bien los
requerimientos y para esto se debería ser ágil y responder a esto, pues de lo contrario
estaríamos con un equipo sin control.

8. Describa con sus propias palabras la agilidad (para proyectos de software).

Es una habilidad para adaptarse a diferentes cambios y en diferentes tiempos en el proceso de


desarrollo de software sin afectar este, poniendo por delante el trabajo en equipo.

9. ¿Por qué un proceso iterativo hace más fácil administrar el cambio? ¿Es iterativo
todo proceso ágil analizado en este capítulo? ¿Es posible terminar un proyecto
en sólo una iteración y aún así conseguir que sea ágil? Explique sus respuestas.

 ¿Por qué un proceso iterativo hace más fácil administrar el cambio?

Porque a comparación de otros modelos de procesos tradicionales este tipo iterativo no nos causara
demoras al tener una falla y retornar al inicio del proyecto, sino que como es iterativo se retornara a
verificar una iteración antes.

 ¿Es iterativo todo proceso agilizado en este capítulo?

El capítulo trata de procesos ágiles por consiguiente estos tipos de procesos si son iterativos e
incrementales.

 ¿Es posible terminar un proyecto en solo una iteración y aun así conseguir que sea ágil?

Dependiendo de las condicionantes y los requerimientos del proyecto si pero teóricamente estos procesos
como Scrum es de un mes natural o hasta de 2 semanas si es necesario.

10. Proponga un "principio de agilidad” más que ayudaría al equipo de ingeniería


de software a ser aún más maniobrable.

Generar la importancia del cliente para su software presentando iteraciones las cuales pueda
evaluar y examinar a su gusto.
11. ¿Por qué cambian tanto los requerimientos? Después de todo, ¿la gente no sabe
lo que quiere?

Debido a que las empresas van evolucionando es por que tratan de mejorar y ser más
competentes, tratan de adaptarse a las necesidades de un mercado cambiante entonces las
forma en la que realizan sus servicios debe adaptarse, es por esto que los requerimientos varios
constantemente.

12. La mayoría de modelos de proceso ágil recomiendan la comunicación cara a


cara. No obstante, los miembros del equipo de software y sus clientes tal vez
estén alejados geográficamente. ¿Piensa usted que esto implica que debe
evitarse la separación geográfica? ¿Se le ocurren formas de resolver este
problema?

Es muy importante que los requerimientos sean levantados estando es presencia del cliente, y cuando
se tomen decisiones relevantes durante el desarrollo del software, es muy importante que el equipo se
reúna, caso contrario podrían presentarse mal entendidos, si uno dice lo que el otro le dijo pueda ser
que no lo entienda de la manera original y se juegue al teléfono malogrado.

En caso que los desarrolladores estén lejos uno del otro, para comunicarse sobre cosas sencillas o hacer
preguntas, absolver consultas, podrían optar por comunicarse por correo, redes sociales, Skype, que
permiten comunicaciones privadas entre miembros de un grupo.

¡¡Muchas Gracias!!

También podría gustarte