Universidad de Ibagué, Coruniversitaria.
Programa Ingeniería de Sistemas

Ingeniería del Software

Inicio

Generalidades

Ejercicios

Talleres

Proyecto

  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

-------------------------------------------------------------------------------------- 

 



Inicio | Biografía | Cursos | Para pensar... | Para reflexionar... | Para reir | Enlaces

 
Profesor Gustavo Martínez Villalobos
Email: gustavo.martinez@unibague.edu.co
Facultad de Ingeniería de Sistemas, Coruniversitaria
Ibagué, Tolima, COLOMBIA