Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
10/10/2019
❑ Planeación. Un proyecto de software es un viaje difícil, y la actividad de
planeación crea un “mapa” que guía al equipo mientras viaja. El mapa —
llamado plan del proyecto de software— define el trabajo de ingeniería de
software al describir las tareas técnicas por realizar, los riesgos probables, los
recursos que se requieren, los productos del trabajo que se obtendrán y una
programación de las actividades.
❑ Modelado. Crea un “bosquejo” del objeto por hacer a fin de entender el
panorama general —cómo se verá arquitectónicamente, cómo ajustan entre
sí las partes constituyentes y muchas características más—. Si se requiere,
refina el bosquejo con más y más detalles en un esfuerzo por comprender
mejor el problema y cómo resolverlo. Un ingeniero de software hace lo
mismo al crear modelos a fin de entender mejor los requerimientos del
software y el diseño que los satisfará.
❑ Construcción. Esta actividad combina la generación de código (ya sea manual
o automatizada) y las pruebas que se requieren para descubrir errores en
éste.
10/10/2019
❑ Despliegue. El software (como entidad completa o como un incremento
parcialmente terminado) se entrega al consumidor que lo evalúa y que le da
retroalimentación, misma que se basa en dicha evaluación.
Las actividades estructurales del proceso de ingeniería de software son
complementadas por cierto número de actividades sombrilla, se aplican a lo
largo de un proyecto de software y ayudan al equipo que lo lleva a cabo a
administrar y controlar el avance, la calidad, el cambio y el riesgo.
10/10/2019
❖Administración de la configuración del software: administra los
efectos del cambio a lo largo del proceso del software.
10/10/2019
La esencia de la solución de problemas y, en consecuencia, la
esencia de la práctica de la ingeniería de software es:
1. Entender el problema (comunicación y análisis).
2. Planear la solución (modelado y diseño del software).
3. Ejecutar el plan (generación del código).
4. Examinar la exactitud del resultado (probar y asegurar la calidad).
Entender el problema
➢ ¿Quiénes tienen que ver con la solución del problema? Es decir, ¿quiénes son
los participantes?
➢ ¿Cuáles son las incógnitas? ¿Cuáles datos, funciones y características se
requieren para resolver el problema en forma apropiada?
➢ ¿Puede fraccionarse el problema? ¿Es posible representarlo con problemas
más pequeños que sean más fáciles de entender?
➢ ¿Es posible representar gráficamente el problema? ¿Puede crearse un
modelo de análisis?
10/10/2019
Planear la solución
➢ ¿Ha visto antes problemas similares? ¿Hay patrones reconocibles en una
solución potencial? ¿Hay algún software existente que implemente los datos,
funciones y características que se requieren?
➢ ¿Ha resuelto un problema similar? Si es así, ¿son reutilizables los elementos
de la solución?
➢ ¿Pueden definirse problemas más pequeños? Si así fuera, ¿hay soluciones
evidentes para éstos?
➢ ¿Es capaz de representar una solución en una forma que lleve a su
implementación eficaz? ¿Es posible crear un modelo del diseño?
Ejecutar el plan
➢ ¿Se ajusta la solución al plan? ¿El código fuente puede apegarse al modelo del
diseño?
➢ ¿Es probable que cada parte componente de la solución sea correcta? ¿El
diseño y código se han revisado o mejor aún, se han hecho pruebas respecto a
la corrección del algoritmo? 10/10/2019
Examinar el resultado
➢ ¿Puede probarse cada parte componente de la solución? ¿Se ha
implementado una estrategia razonable para hacer pruebas?
➢ ¿La solución produce resultados que se apegan a los datos, funciones y
características que se requieren? ¿El software se ha validado contra todos los
requerimientos de los participantes?
10/10/2019
Problemas y puntos por evaluar:
4. Describa cómo aplicaría usted la estructura del proceso del software para el
siguiente caso:
Se requiere desarrollar un sistema de software que controle la venta de entradas de un cine
denominado Cine+. Paralelamente a la venta de entradas en taquilla, el sistema debe dar soporte a
la venta de entradas por internet, debiendo estar ambos coordinados. Los requisitos iniciales del
sistema son los siguientes:
✓ Cualquier usuario puede comprar entradas a través de la página web. Para ello seleccionará la
película y horarios deseados, así como la sala en caso haya varias proyecciones simultáneas.
El sistema asigna las butacas automáticamente, pero da opción a que el usuario las modifique a
su gusto. La asignación de butacas es provisional, si en 15 minutos no se ha confirmado la
compra, vuelven a estar disponibles.
10/10/2019
Problemas y puntos por evaluar:
4. Describa cómo aplicaría usted la estructura del proceso del software para el
siguiente caso:
✓ La compra por web se realiza por medio de tarjetas de crédito, utilizándose una pasarela de
pago seguro. En taquilla solo se admite solo pago en efectivo.
✓ Una compra realizada a través de la web puede ser anulada hasta 2 horas antes del comienzo
de la sesión.
✓ Para el cálculo del precio de la entrada, se deben tener en cuenta los diferentes descuentos
que se ofrecen: días especiales, descuentos a socios, niños, etc.
✓ Los usuarios que deseen pueden ser parte de un club de socios previa inscripción a través de
las oficinas principales o la web.
Los gerentes serán los encargados de administrar el sistema, ellos requieren el software de manera
inmediata, por lo menos con las funcionalidades básicas para optimizar sus procesos de negocio lo
más antes posible. Ellos están dispuestos a invertir lo necesario.
Para tal situación los desarrolladores se han divido en varios grupos de trabajo con funciones
diferentes, cabe recalcar que los entregables de cada grupo deben ser capaz de integrarse para
lograr el objetivo final. 10/10/2019
10/10/2019