1. ¿Qué beneficios proporciona un proceso?
Un proceso de software
efectivo habilita a la organización a incrementar su productividad al
desarrollar software:
• Permite estandarizar
esfuerzos, promover reúso, repetición y consistencia entre proyectos.
• Provee la oportunidad de
introducir mejores prácticas de la industria.
• Permite entender que las
herramientas deben ser utilizadas para soportar un proceso.
• Establece la base para una
mayor consistencia y mejoras futuras.
Un proceso de software
mejora los esfuerzos de mantenimiento y soporte:
• Define cómo manejar los
cambios y liberaciones a sistemas de software existentes.
• Define cómo lograr la
transición del software a la operación, y cómo ejecutar los esfuerzos de
operación y soporte.
2. ¿De dónde provienen los proyectos?
Los proyectos surgen de as
necesidades y de las proyecciones de innovación que poseen cada una de las
empresas sin importar los campos de dichas empresa, ya que estos proyectos de
soluciones tecnológicas llevan a la mejora a gran escala de la productividad y
del mercado de la empresa en cada una de sus ramas, se puede decir que la
Ingeniería de Software empleada en la empresa es una de las grandes
innovaciones ya que esto conlleva a que la empresa este de frente al futuro y a
los grandes mercados que se avecinan por el avance de la tecnología.
3. ¿Cuál modelo elegir y porque?
Cuando se hace la pregunta
de cuál modelo seguir o elegir para el proyecto que se quiere llevar acabo es
tedioso, debido a que los modelos se aplican a los proyectos según el tema y
según la problemática que se quiere solucionar, como también porque cada uno de
los proyectos que se llevan acabo son diferentes y cada uno de ellos implican
una manera diferente de solución y de aplicación con respecto al pasar del
tiempo debido a que los proyectos se deben ejecutar teniendo en cuenta cada uno
de las problemáticas que se pueden causar con su aplicación como también cada
una de las mejoras y evolución que debe tener dicho proyectos.
4. En donde y cuando utilizar metodología
de desarrollo y donde y cuando el método o modelo de ciclo de vida del software
a) Siempre es bueno utilizar
las numerosas propuestas metodológicas
que inciden en distintas dimensiones del proceso de desarrollo. Un ejemplo de
ellas son las propuestas tradicionales centradas específicamente en el control
del proceso. Estas han demostrado ser efectivas y necesarias en un gran número
de proyectos, sobre todo aquellos proyectos de gran tamaño (respecto a tiempo y
recursos).
Sin embargo el éxito del
proyecto depende de la metodología que se elija, la experiencia ha demostrado
que las metodologías tradicionales no ofrecen una buena solución para proyectos
donde el entorno es volátil y donde los requisitos no se conocen con exactitud,
porque no están pensadas para trabajar con incertidumbre.
Aplicar metodologías
tradicionales nos obliga a forzar a nuestro cliente a que tome la mayoría de
las decisiones al principio. Luego el coste de cambio de una decisión tomada
puede llegar a ser muy elevado si aplicamos metodologías tradicionales.
Para proyectos a menor
escala se recomienda Las metodologías ágiles que están revolucionando la manera
de producir software, y a la vez generando un amplio debate entre sus
seguidores y quienes por escepticismo o convencimiento no las ven como
alternativa para las metodologías tradicionales.
b) Siempre es bueno utilizar
un modelo de ciclo de vida a menos que se vaya a realizar un denominado “hola
mundo”, al igual que la metodología lo importante es saber cuál es el que más
se adapta al tipo de proyecto, sin embargo hay flexibilidad a la hora de escoger un modelo e incluso se
pueden mezclar etapas de varios modelos si es un caso especial en donde se
requiera.
5. Mediante un ejemplo sencillo aplique una
metodología y un modelo de ciclo de vida del software
Ejemplo
metodología scrum
Requerimiento:
El cliente requiere los servicios
para la creación de un sistema de información que administre la inmobiliaria
del cual él es propietario.
El cliente se reúne con el
director del proyecto para escuchar lo que el cliente quiere para el sistema de
información.
Proceso:
1.
El cliente le informa los diferentes procesos
que debe realizar el S.I, dándole una prioridad al sector de cobranza. El
director del proyecto agrupa todos estos requerimientos y sugerencias del
cliente y los organiza en una PILA DE PRIORIDAD para el proyecto.
2.
El director del proyecto SCRUM MANAGER se reúne con su equipo de trabajo para calcular el
costo del proyecto. Usando la pila de prioridad de los módulos del S.I que
diseño el SCRUM MANAGER.
3.
El cliente aprueba el presupuesto del
proyecto y reordena la PILA DE PRIORIDAD del S.I según el interés del mismo que
en este caso desea obtener como prioridad el módulo de cobranza.
4.
El equipo de trabajo comienza el trabajo
desglosando la primera tarea a realizar o el primer módulo de desarrollo,
dividiéndolo en subtareas menores para crear otra pila de actividades llamada
PILA DE SPRINT
5.
La PILA DE SPRING tiene como objetivo
fraccionar el trabajo de un periodo de 15 días en tareas más pequeñas, que
tardan como mucho dos días.
6.
El equipo comienza el sprint tomando las
tareas priorizadas, una vez concluida una se toma la siguiente de la lista. Se
convoca todos los días una reunión del equipo donde se informan las tareas
realizadas el día anterior y cuales se van a realizar ese día.
7.
Una vez finalizado el SPRINT, el director del
proyecto le muestra el resultado del trabajo realizado.
El
cliente ya tiene su solicitud realizada y solucionada con el módulo de
contabilidad completo y además podrá volver a priorizar la PILA del producto
antes de que comience otro SPRINT.
8.
El equipo de trabajo se reúne para hacer una
retrospectiva del buen trabajo realizado.
EJEMPLO CICLO DE VIDA EN CASCADA
Una
empresa quiere implantar un sistema de control de acceso de usuarios previo al
arranque del resto de aplicaciones que tiene instaladas. Cada usuario deberá
indicar su nombre y password para poder tener acceso al resto del sistema.
El
sistema de control de acceso permitirá un máximo de tres intentos antes de
bloquear el terminal durante cinco minutos. El sistema detectar que tanto el
nombre como el password han sido rellenadas y que dichos valores se
corresponden con los que previamente han sido almacenados en la base de datos
de control de accesos.
Bajo
ningún concepto, el nombre de usuario y el password podrán quedar sin rellenar,
en el caso de no poder realizar la identificación de los usuarios que quieren
acceder al sistema, deberá mostrarse un mensaje de error que indique cual es la
causa de fallo de identificación.
-SE
ESQUEMATIZA LAS CAPAS DEL MODELO EN CASCADA
-ESPECIFICACION
-ANALISIS
-DISEÑO
-IMPLEMENTACION
-PRUEBAS
-INSTALACION
-MANTENIMIENTO