Talleres
1). Actividad 1: mapa conceptual
Trabajo en parejas: construir un mapa conceptual que identifique las relaciones entre
los siguientes términos (Pueden utilizar una herramienta de software libre como FreeMind):
Cliente
Usuario
Programador
Ingeniero de software
Requerimiento funcional
Mundo del problema
Requerimiento no funcional
Proceso
Etapa
Problema
Solución
Programa
Lenguaje de programación
Ambiente de desarrollo
Compilador
Diseño
Análisis
Especificación
Implementación
Código ejecutable
Código fuente
Pruebas
Actividad 2: Un problema
Consideren el siguiente enunciado: La DIMAYOR necesita un producto software que permita manejar la información del campeonato de fútbol profesional colombiano, 'Liga Postobón'. Con base en este problema planteado, identificar:
Cliente
Usuario
Tres requerimientos funcionales (especificar: nombre, entradas, resultado)
Dos requerimientos no funcionales
2 ).
Modelos del Proceso de desarrollo de software:
Un modelo de ciclo de vida del
software representa todas las actividades
y productos de trabajo
necesarios para desarrollar un sistema de software. Los modelos del
proceso de desarrollo de software son llamados también paradigmas de
Ingeniería del Software. La mayoría de estos modelos se han enfocado
en las actividades del desarrollo del software. A esta perspectiva del
ciclo de vida del software se le llama centrada en actividad. Una
visión alterna del ciclo de vida del software es enfocarse en los
productos de trabajo creados por estas actividades. A esta perspectiva
alterna se le llama centrada en entidad.
a) Describir las principales características de los siguientes modelos:
- Modelo lineal secuencial o de cascada
- Construcción de prototipos
- DRA (Rapid Application Development)
- Modelo incremental
- Modelo en espiral
- Ensamblaje de componentes
- Desarrollo concurrente
- Métodos formales
- Técnicas de cuarta generación (T4G)
- Proceso de desarrollo de software unificado (PU)
b) De qué depende la selección del modelo del ciclo de vida?
c) En qué orden deben realizarse y administrarse las actividades para
entregar un sistema de alta calidad dentro del presupuesto y a tiempo
mientras suceden cambios durante todo el proyecto?
d) Cuáles son los procesos de software en el estándar IEEE
1074?
e) En qué consiste el nuevo modelo de ciclo de vida basado en
problemas?
--------------------------------------------------------------------------------
3 ).
Trabajo colaborativo:
Investigación formativa sobre tecnologías de
Ingeniería del Software:
1> Ingeniería de Software asistida por computador - CASE
(UML con NetBeans vs UML con PowerDesigner)
2> Herramientas de diseño Web: Flash vs. JavaFx
3> Desarrollo Web con PHP
4> WebApps con ASP vs JSP
5> Dreamweaver
6> AJAX
7> JOOMLA vs. Drupal
8> DELPHI
9> JavaScript
10>XML
--------------------------------------------------------------------------------
4 ).
Estimación del Costo del Software:
Calcular los costos del software se debe hacer de forma
objetiva con el fin de predecir de manera precisa cuánto le costará al
contratista desarrollar el software. Si los costos del proyecto se
calculan como parte de una oferta a un cliente, entonces se tiene que
tomar una decisión del precio que se le dará al cliente. Por lo general,
el precio es simplemente el costo más el beneficio. Sin embargo, la
relación entre el costo del proyecto y el precio al cliente por lo regular
no es tan simple.
Asignar un precio al software debe tomar en cuenta
consideraciones organizacionales, económicas, políticas y de negocios.
a) Existen tres parámetros involucrados en el
cálculo del costo total de un proyecto de desarrollo de software. ¿Cuáles
son?
b) ¿Cuáles son los costos de esfuerzo?
c) Explique los factores que afectan la asignación de precios
al software.
d) ¿Cómo se calcula el número total de puntos de función en
un programa?
e) ¿Cuáles son los factores que afectan la productividad de la
Ingeniería de Software?
f) ¿Qué técnicas de estimación de costos existen?
g) De acuerdo con el modelo de asignación de costos COCOMO,
¿cuáles son los conductores de los costos del proyecto?
h) ¿Cómo estimar cuánto durará el desarrollo del software y
cuánto personal se necesita para trabajar en el proyecto?
i) ¿En qué consiste el método Wideband Delphi?
---------------------------------------------------------------------------------
5 ). Modelado de sistemas
con UML:
Utilizando diagramas del UML, presentar diversas
perspectivas de un sistema para la empresa CINEMARK, en Ibagué. El modelo
del sistema deberá describir procesos como venta de boletas, reservas,
tarjetas socio Elite, etc. Cada grupo de trabajo podrá realizar el
modelado a través de alguna de las siguientes herramientas CASE: NetBeans, ArgoUML,
Poseidón, Power-Designer, Rational Rose, Visual UML, Umbrello, Together,
Visual Paradigm, Dia, IBM Rational XDE Modeler, Visual Modeler, Objecteering,
gModeler, Eclipse, MonoUML...
El modelado de sistemas para CINEMARK deberá
incluir los siguientes diagramas:
<> Diagrama de Casos de Uso.
<> Diagrama de Clases.
<> Diagrama de Estados.
<> Diagrama de Secuencia.
<> Diagrama de Colaboración.
"¿Por qué debemos construir modelos? ¿por qué no
construimos el sistema y ya? La respuesta es que podemos construir
modelos de tal forma que resaltemos o enfaticemos ciertas características
críticas de un sistema, al mismo tiempo que quitamos énfasis a otros
aspectos del sistema." (Ed Yourdon)
---------------------------------------------------------------------------------
6 ).
Administración de la Configuración del Software:
"El arte de
coordinar el desarrollo de software para minimizar... la confusión, se
denomina gestión de configuración. La gestión de configuración
permite identificar, organizar y controlar las modificaciones que sufre el
software durante su proceso de desarrollo. La meta es maximizar la
productividad minimizando los errores".
a) Mencione tres razones por las cuales el
software se presenta en diversas configuraciones.
b) ¿Cuál es la principal diferencia entre el mantenimiento y
la Gestión de Configuración del Software (GCS)?
c) ¿Para qué sirve la Gestión de la Configuración del
Software?
d) Explique la diferencia entre una versión y una liberación
del producto software.
e) Mencione cinco elementos de configuración del software.
f) Explique las tareas de GCS.
g) ¿En qué consiste la auditoría de la configuración del software?
h) ¿Para qué se generan los informes de estado de GCS?
---------------------------------------------------------------------------------
7 ).
Calidad del Software:
'(El trabajo técnico necesita ser
revisado por la misma razón que los lápices necesitan borrador: errar
es humano. La segunda razón por la que se necesitan revisiones técnicas es que, aunque la gente es buena descubriendo algunos de sus
propios errores, varias clases de errores se le pasan por alto más
fácilmente al que los origina que a otras personas. El proceso de revisión
es, por lo tanto, la respuesta a la plegaria de Robert Burns: "¡Qué
gran regalo sería poder vernos como nos ven los demás!")'.
a) Explique la diferencia entre la calidad de
diseño y la calidad de concordancia.
b) ¿En qué consiste la garantía de calidad?
c) ¿Cuál es la base de las medidas de la calidad del
software?
d) ¿Cuáles son las actividades de SQA?
e) ¿Qué es una revisión técnica formal (RTF)?.
f) ¿Cuál es el estándar de garantía de calidad ISO que se
aplica a la ingeniería del software?.
g) Mencione dos empresas certificadoras de calidad de software y
dos empresas actualmente certificadas en Colombia.
h) ¿Cuáles son los requisitos del estándar ISO que deben estar
presentes en un sistema de garantía de calidad efectiva?
|
Sabía
usted que el 72% de los proyectos en software no cumplen las
necesidades del usuario y se exceden del presupuesto y del
tiempo?
Las
principales razones de falla son:
·
Falta
de administración de requerimientos
·
Control
de un proyecto con el cronograma como base principal
·
Pruebas
sin diseño ni
control explícito
·
Falta
de control de cambios dentro del proyecto
·
Falta
de “planos” del sistema en desarrollo o mantenimiento
|
USTED PUEDE
COMPLEMENTAR SU METODOLOGÍA ACTUAL PARA CONTRATACIÓN O COMPRA DE
SOFTWARE, DESARROLLO INTERNO O OUTSOURCING,
APRENDIENDO ACERCA DE...
|
Fundamentos
de Rational Unified Process
: Cómo
es un proceso de software (contratación, compra o desarrollo)
orientado a reducir riesgos desde el primer día?
|
|
Administración
de Requerimientos con Casos de uso:
Qué
son requerimientos? Cómo se administran a lo largo del tiempo? Con
qué técnicas se pueden levantar y documentar los requerimientos
para que sean buena
base para los proyectos?
|
|
Análisis
y Diseño Orientado a Objetos Basado en UML:
Qué
es arquitectura de software? Cómo se modela? Cómo se sabe que el
diseño y la arquitectura son robustos?
|
|
Principios
De Pruebas Funcionales:
Cuáles son las actividades que están incluidas dentro del proceso
de pruebas? Cómo se diseñan pruebas efectivas?
|
|
Administración
Iterativa del Desarrollo:
Cómo administrar un proyecto con base en métricas más sólidas y
confiables que el cronograma? Qué significa realmente el manejo
iterativo del desarrollo? Cuáles son las métricas representativas
en un proyecto?
|
CON
UN CICLO MODERNO DE METODOLOGIA DE DESARROLLO DE SOFTWARE...
Usted
puede mejorar sus destrezas como gerente de proyecto, administrador de
pruebas, arquitecto, analista de sistemas, interventor, cliente y
cualquier rol dentro de la contratación, compra, desarrollo interno o
mantenimiento de software.
Si
su empresa obtiene beneficios, duplique su presupuesto de capacitación,
si está en pérdidas cuadriplíquelo
Petter
Drucker
--------------------------------------------------------------------------------------
|