Sei sulla pagina 1di 13

M.Sc. Ing.

Trejo Flores Wilfredo Manuel 10/10/2019


La ingeniería de software es una tecnología con varias capas.

Apoyo automatizado para el proceso y los métodos

Proporcionan la experiencia técnica: conjunto amplio de tareas

Une las capas de tecnología, permite desarrollo racional y oportuno

Cultura de mejora continua

Un proceso es un conjunto de actividades, acciones y tareas que se ejecutan


cuando va a crearse algún producto del trabajo.
Una actividad busca lograr un objetivo amplio (por ejemplo, comunicación con los
participantes) y se desarrolla sin importar el dominio de la aplicación, tamaño del
proyecto, complejidad del esfuerzo o grado de rigor con el que se usará la
ingeniería de software.
Una acción (diseño de la arquitectura) es un conjunto de tareas que producen un
producto importante del trabajo (por ejemplo, un modelo del diseño de la
arquitectura).
10/10/2019
Una tarea se centra en un objetivo pequeño pero bien definido (por ejemplo,
realizar una prueba unitaria) que produce un resultado tangible.
La estructura del proceso establece el fundamento para el proceso completo de
la ingeniería de software por medio de la identificación de un número pequeño
de actividades estructurales que sean aplicables a todos los proyectos de
software, sin importar su tamaño o complejidad. Una estructura de proceso
general para la ingeniería de software consta de cinco actividades:
❑ Comunicación. Antes de que comience cualquier trabajo técnico, tiene
importancia crítica comunicarse y colaborar con el cliente (y con otros
participantes). Se busca entender los objetivos de los participantes respecto
del proyecto, y reunir los requerimientos que ayuden a definir las
características y funciones del software.

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.

❖ Seguimiento y control del proyecto de software:


permite que el equipo de software evalúe el progreso
comparándolo con el plan del proyecto y tome
cualquier acción necesaria para apegarse a la
programación de actividades.
❖ Administración del riesgo: evalúa los riesgos que
puedan afectar el resultado del proyecto o la calidad
del producto.
10/10/2019
❖Aseguramiento de la calidad del software: define y ejecuta las
actividades requeridas para garantizar la calidad del software.

❖Revisiones técnicas: evalúa los productos del trabajo de la


ingeniería de software a fin de descubrir y eliminar errores antes
de que se propaguen a la siguiente actividad.

❖Medición: define y reúne mediciones del proceso, proyecto y


producto para ayudar al equipo a entregar el software que
satisfaga las necesidades de los participantes; puede usarse
junto con todas las demás actividades estructurales y sombrilla.

10/10/2019
❖Administración de la configuración del software: administra los
efectos del cambio a lo largo del proceso del software.

❖Administración de la reutilización: define criterios para volver a


usar el producto del trabajo (incluso los componentes del
software) y establece mecanismos para obtener componentes
reutilizables.

❖Preparación y producción del producto del trabajo: agrupa las


actividades requeridas para crear productos del trabajo, tales
como modelos, documentos, registros, formatos y listas.

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?

Problemas y puntos por evaluar:


1. Muchas aplicaciones modernas cambian con frecuencia, antes
de que se presenten al usuario final y después de que la primera
versión ha entrado en uso. Sugiera algunos modos de elaborar
software para detener el deterioro que produce el cambio.

2. Considere los 7 dominios de aplicación del software ¿Piensa que


puede aplicarse a cada una el mismo enfoque de ingeniería de
software? Explique su respuesta.

10/10/2019
Problemas y puntos por evaluar:

3. Cuando se dice que las actividades estructurales son aplicables a


todos los proyectos, ¿significa que se realizan las mismas tareas en
todos los proyectos sin que importe su tamaño y complejidad?
Explique su respuesta.

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

Potrebbero piacerti anche