viernes, 18 de noviembre de 2016
SCRUM
Scrum es una metodología ágil y flexible
para gestionar el desarrollo de software, cuyo principal objetivo es maximizar
el retorno de la inversión para su empresa (ROI). Se basa en construir primero
la funcionalidad de mayor valor para el cliente y en los principios de
inspección continua, adaptación, auto-gestión e innovación.
Caracteristicas
Caracteristicas
uEquipos auto dirigidos
uUtiliza reglas para crear un
entorno ágil de administración de proyectos
uFlexibilidad y adaptación
uDemostración de resultados
uProductividad y calidad
Ventajas
uCumplimento de expectativas: El cliente establece sus
expectativas indicando el valor que le aporta cada requisito / historia del proyecto, el equipo los estima
y con esta información el Product Owner establece su prioridad.
uFlexibilidad a cambios: Alta capacidad de reacción
ante los cambios de requerimientos generados por necesidades del cliente o
evoluciones del mercado.
uMayor calidad del software: La metódica de trabajo y la
necesidad de obtener una versión funcional después de cada iteración, ayuda a
la obtención de un software de calidad superior.
Desventajas
uSi una tarea no esta bien definida,
los costes de tiempo y dinero estimados del proyecto no serán demasiado exactos.
uEs una metodología que difiere del
resto, y esto causa cierta resistencia en su aplicación para algunas personas.
uEsta metodología necesita solo
miembros de equipo experimentados. Si el equipo consiste en gente que son
junior, el proyecto no puede ser completado a tiempo.
Diseño en Cascada
Este es el más básico de todos los modelos y ha
servido como bloque de construcción para los demás paradigmas de ciclo de vida.
Está basado en el ciclo convencional de una ingeniería y su visión es muy simple.
Es caracterizado por ordenar de manera rigurosa las
etapas del ciclo de vida de software, dado que el comienzo de cada etapa debe
esperar a la finalización de la inmediata anterior.
Al final de cada etapa, el modelo está diseñado para llevar a cabo una
revisión final, que se encarga de determinar si el proyecto está listo para
avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la
base de todos los demás modelos de ciclo de vida.
De esta forma, cualquier error de diseño detectado en
la etapa de prueba conduce necesariamente al rediseño y nueva programación del
código afectado, aumentando los costos del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la
gravedad, el esfuerzo necesario para introducir un cambio en las fases más
avanzadas de un proyecto.
Ventajas
üPermite la departamentalización y control de gestión.
ü El horario se establece con los plazos
normalmente adecuados para cada etapa de desarrollo.
ü Este proceso conduce a entregar el proyecto
a tiempo.
ü Es sencilla y facilita la gestión de proyectos.
ü Permite tener bajo control el proyecto.
ü Limita la cantidad de interacción entre equipos que se
produce durante el desarrollo
Desventajas
Se tarda mucho tiempo en pasar por todo el ciclo
La aplicación de la metodología en cascada se
orienta mejor al desarrollo de
proyectos de corto plazo, de poca innovación y
proyectos definitivos y
detallados.
Metodología pueden confundir al equipo profesional en
las etapas tempranas del proyecto.
Modelo Espiral
El modelo en espiral, fue propuesto
originalmente por Barry Boehm.
Es un modelo de proceso de software
evolutivo que conjuga la naturaleza iterativa
de construcción de prototipos con
los aspectos controlados y sistemáticos del modelo lineal secuencial.
El
modelo en espiral es un enfoque realista del desarrollo de sistemas y de
software en gran escala. Como el software evoluciona, a medida que progresa el
proceso, el desarrollador y el usuario comprenden y reaccionan mejor ante
riesgos en cada uno de los niveles evolutivos.

Las
tareas requeridas para evaluar riesgos técnicos y de gestión. Utiliza la
construcción de prototipos como mecanismo de reducción de riesgos, pero lo que
es más importante, permite a quien lo desarrolla aplicar el enfoque de
construcción de prototipos en cualquier etapa de evolución del producto.
Mantiene el enfoque sistemático de los pasos sugeridos por el ciclo de vida
clásico, pero lo incorpora al marco de trabajo interactivo que refleja mejor el
mundo real Si un riesgo importante no es descubierto y gestionado,
indudablemente surgirán problemas.
Modelo Prototipo
Modelo
tipo evolutivo:
Los
modelos evolutivos
son modelos iterativos
Permiten
desarrollar
versiones cada vez más completas y complejas, hasta llegar al objetivo final deseado
Ventajas:
Cumple
con
las necesidades inmediatas del cliente.
Desventajas:
Sistemas
pobremente estructurados.
El ingeniero de software y el
cliente definen los objetivos globales del software, y aquellos más específicos
que se desean destacar con el prototipo.
Ventajas
Permite la construcción del sistema con
requisitos poco claros o cambiantes.
Se pueden introducir cambios en las
funcionalidades del sistema en cualquier momento.
Se reduce el riesgo y la incertidumbre
sobre el desarrollo.
Permite entender bien el problema antes
de la implementación final.
Desventajas
El cliente puede quedar convencido
con las primeras versiones,
puede cancelar el desarrollo y
quedarse con el producto sin terminar.
Requiere de participación del cliente para evaluar los
distintos prototipos y traducirlo en nuevos.
Si un prototipo fracasa, el coste
del proyecto puede resultar muy caro.
No siempre se sabe el tiempo de
desarrollo ni
cuantos prototipos se podrán
desarrollar.
Modelo DRA
Modelo Desarrollo de Aplicaciones
•Es el
proceso de desarrollo de software diseñado para facilitar y acelerar la
creación de aplicaciones.
•Permite
construir sistemas utilizables en poco tiempo, regularmente de 60 a 90 días.
•Permite
al equipo de desarrollo crear un “Sistema completamente funcional” dentro de
periodos cortos de tiempo.
- Caracteristicas
-Se Conforma de equipos Hibridos
-Herramientas Especializadas
-TimeBoxing
-Prototipos iterativos
Ventajas
•Los
entregables pueden ser fácilmente trasladados a otras plataformas.
•El
desarrollo se realiza a un nivel de abstracción mayor.
•Entrega
temprana al cliente.
•Compromiso
del cliente con el sistema.
•Mayor
flexibilidad.
•Menor
codificación manual.
•Mayor
involucramiento de los usuarios.
•Posiblemente
menos fallos.
•Posiblemente
menor costo.
•Ciclos
de desarrollo mas pequeños
•Interfaz
grafica estándar.
Desventajas
martes, 15 de noviembre de 2016
Modelo RUP
•Es un proceso de ingeniería de
software, que hace una propuesta orientada por disciplinas para lograr las
tareas y responsabilidades de una organización que desarrolla software.
Su meta principal es asegurar la producción de software de alta calidad que cumpla con las necesidades de los usuarios, con una planeación y presupuesto predecible.
•Diseñado para
–Profesionales
en el desarrollo de software
–Interesados
en productos de software
–Profesionales
en la ingeniería y administración de procesos de software
•Estos participantes se involucran
con RUP cumpliendo roles.
Porque usar RUP?
•Porque:
–Provee un entorno de proceso de desarrollo configurable, basado en estándares
–Permite tener claro y accesible el proceso de desarrollo que se sigue
–Permite ser configurado a las necesidades de la organización y del proyecto
–Provee a cada participante con la parte del proceso que le compete directamente, filtrando el resto
Caracteristicas
•Dirigido
por Casos de Uso
–Los
casos de uso son los artefactos primarios para establecer el comportamiento
deseado del sistema
•Centrado
en la Arquitectura
–La
arquitectura es utilizada para conceptualizar, construir, administrar y
evolucionar el sistema en desarrollo
•Iterativo
e Incremental
–Maneja
una serie de entregas ejecutables
–Integra
continuamente la arquitectura para producir nuevas versiones mejoradas
•Conceptualmente amplio y diverso
•Enfoque orientado a objetos
•En evolución continua
•Adaptable
•Repetible
•Permite mediciones
–Estimación
de costos y tiempo, nivel de avance, etc.
lunes, 14 de noviembre de 2016
Unidad 2 de Competencia/Ciclo de vida del Software
Concepto
•El software nace, crece y muere–Es su ciclo de vida–Nace con sus requerimientos y diseño–Crece con su desarrollo y mantenimiento–Muere cuando se reemplaza por otro•Software obsoleto
Software Obsoleto
•Razones
–Crecimiento de la empresa
•Cambio de los requerimientos originales
–Número de usuarios
–Número de transacciones
•Distribución del software
–Cambio de operaciones
•Ampliación
•Integración con otros sistemas
El ISO/IEC 12207 es
el estándar
para los
procesos
de ciclo
de vida
del software de la organización ISO.
Este estándar se concebió para aquellos interesados en adquisición de software, así
como
desarrolladores y proveedores. El estándar indica una serie de procesos desde la recopilación de requisitos hasta la culminación del software.
El estándar comprende 17 procesos lo cuales son agrupados en tres categorías:
1.Principales
2.De apoyo
3.De organización.
Perfil
Objetivo del Programa
Formar profesionistas íntegros, comprometidos con su labor, innovadores, emprendedores y capaces de desarrollar eficientemente software competitivo en el mercado internacional, que contribuyan al crecimiento y progreso de la sociedad a través de un modelo educativo basado en competencias profesionales.
Perfil de Ingreso
El aspirante a ingresar al Programa Educativo de Ingeniero en Software deberá contar con:
- Habilidades de aplicación de las matemáticas (razonamiento lógico-matemático), localización de información (interpretación de información gráfica), y lectura de información (comprensión lectora).
- Competencia lingüística en inglés a un nivel de dominio A2 de acuerdo al Marco de Referencia Europeo (MCER).
- Poseer capacidad de razonamiento verbal.
- Capacidad para resolver problemas básicos en las áreas de aritmética, álgebra, geometría, trigonometría y cálculo.
- Capacidad de identificar y resolver problemas mediante algoritmos computacionales.
Preferentemente deberá contar con:
- Interés por el desarrollo de programas computacionales que den solución a los problemas de las empresas.
Perfil de Egreso
El Ingeniero en Software es un profesionista comprometido, innovador y emprendedor, que desarrolla software a través de la especificación de requisitos, análisis, diseño, construcción, prueba y administración de proyectos, aplicando procesos, modelos y estándares de calidad internacional, las cuales contribuyen al crecimiento y progreso de su sociedad. Lo anterior a través de las siguientes competencias profesionales:
Competencias especificas:
- Diseñar software a través de la aplicación de metodologías, herramientas y estándares apropiados al problema.
- Construir software a partir de especificaciones de diseño, haciendo uso de las mejores prácticas que aseguren la calidad del producto.
- Administrar proyectos de desarrollo de software mediante la aplicación de procesos, modelos y estándares que contribuyan a la calidad total del producto.
Competencias Genéricas:
- Afronta las situaciones tanto de la vida cotidiana como las contingentes con base en el reconocimiento y aplicación de sus capacidades en un conocimiento objetivo del entorno para incidir en su bienestar personal y en el de su comunidad de manera eficaz y ética.
- Insertarse en el proceso de desarrollo de su comunidad por medio de acciones concretas orientadas a la transformación social con base en la práctica de actitudes solidarias y de una visión crítica y plural del contexto en el cual está inmerso.
- Desarrolla iniciativas de carácter económico, social y/o cultural, mediante el diseño y aplicación de acciones y proyectos innovadores orientados a crear oportunidades y resolver problemas dentro de una empresa o en la comunidad.
- Aplica conocimientos, métodos, técnicas y recursos tecnológicos pertinentes y de actualidad para lograr un desempeño idóneo en contextos socio profesionales complejos y favorecer su movilidad y adaptación profesional.
Áreas y lugares de desempeño profesional
Áreas de desempeño profesional:
Lugares de desempeño:
Suscribirse a:
Comentarios (Atom)





