Está en la página 1de 8

El proceso

2.1. Ingeniería de software: una tecnología estratificada.


La ingeniería del software es una tecnología estratificada, cualquier enfoque de la
ingeniería, incluyendo a la ingeniería del software, debe estar sustentado en un
compromiso con la calidad, la base que soporta la ingeniería del software es un
enfoque de calidad.
La gestión de calidad total, Six Sigma y enfoques similares fomentan una cultura
de mejora continua del proceso. Un proceso define quién hace qué, cuándo y
cómo para alcanzar cierto objetivo. En general, el éxito de las empresas u
organizaciones depende en gran medida de la definición y seguimiento adecuados
de sus procesos.
En el caso de una empresa que se dedica al desarrollo del software, un proceso
de software se define como un conjunto de actividades técnicas y administrativas
realizadas durante la adquisición, desarrollo, mantenimiento y retiro de software,
en estos procesos de software se requieren procesos especializados que
abarquen desde la creación hasta la administración y mantenimiento de software.
Un modelo de proceso del software define como solucionar la problemática del
desarrollo de sistemas de software, ya que para esta actividad se requiere resolver
ciertas fases de su proceso, las cuales se conocen como ciclo de vida del
desarrollo de software. Un modelo de proceso debe considerar una variedad de
aspectos, como el conjunto de personas, reglas, políticas, actividades,
componentes de software, metodologías y herramientas utilizadas.
La ingeniería del software se caracteriza por ser una tecnología estratificada, los
diferentes enfoques conducen a las siguientes definiciones. (1) Según Fritz Bauer
“La ingeniería del software es el establecimiento y uso de principios robustos de la
ingeniería a fin de obtener económicamente software que sea fiable y que
funcione eficientemente sobre máquinas reales”. (2) Una definición más completa
desarrollada por el “Instituto de Ingenieros Eléctricos y Electrónicos” es: “La
ingeniería del software es la aplicación de un enfoque sistemático, disciplinado y
cuantificable hacia el desarrollo, operación y mantenimiento del software”. (3) La
ingeniería del software se define como la disciplina tecnológica y administrativa
dedicada a la producción sistemática de productos de software, que son
desarrollados y modificados a tiempo y dentro de un presupuesto definido. (4) Es
la disciplina cuyo fin es la producción de software libre de fallas, entregado a
tiempo, dentro del presupuesto y que satisfaga las necesidades del cliente. La
ingeniería del software es una tecnología multicapa. Los cimientos que son la base
de la ingeniería del software están orientados hacia la calidad. La gestión de
calidad total y las filosofías similares fomentan una cultura continua de mejora de
proceso, y es esta cultura la que conduce últimamente al desarrollo de enfoques
cada vez más robustos para la ingeniería del software.

2.2. El proceso del software.


Es importante antes de comenzar definir ¿qué es un proceso?; un proceso es una serie de pasos a
seguir, que permite mantener el control, estabilidad y organización para las actividades, desde el
punto de vista técnico el proceso de un software se define como una estructura que define
actividades, métodos y herramientas con el fin de obtener un software de calidad.

Un proceso de software efectivo habilita a la organización a incrementar su productividad al


desarrollar software.

2.3. Modelos del proceso de software.


La ingeniería de software incorpora cinco actividades generales: comunicación, planeación,
modelado, construcción y despliegue, estas actividades están conformadas por actividades
sombrilla; las actividades sombrilla están dentro de las actividades generales y contribuyen al
desarrollo del software, ya que permiten dar seguimiento, control y administración asegurando así
la obtención de un producto de calidad.

El proceso del software tiene las siguientes características:

Figura 1. Características del proceso general de software


2.4. El modelo lineal secuencial.
Llamado algunas veces “ciclo de vida básico” o “modelo en cascada”, el modelo lineal secuencial
sugiere un enfoque sistemático, secuencial, para el desarrollo del software que comienza en un
nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento. Es un
ciclo de vida en sentido amplio, que incluye no sólo las etapas de ingeniería sino toda la vida del
producto: las pruebas, el uso (la vida útil del software) y el mantenimiento.
2.5. El modelo de construcción de prototipos.

En Ingeniería de software El Modelo de prototipos que pertenece a los modelos de desarrollo


evolutivo, El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no
se debe utilizar mucho dinero pues a partir de que este sea aprobado nosotros podemos iniciar el
verdadero desarrollo del software.
El diseño rápido se centra en una representación de aquellos aspectos del software que serán
visibles para el cliente o el usuario final. Este diseño conduce a la construcción de un prototipo, el
cual es evaluado por el cliente para una retroalimentación; gracias a ésta se refinan los requisitos
del software que se desarrollará. La interacción ocurre cuando el prototipo se ajusta para
satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda
mejor lo que se debe hacer y el cliente vea resultados a corto plazo.

ETAPAS

 *  Plan rápido

*  Modelado, diseño rápido

*  Construcción del Prototipo

*  Desarrollo, entrega y retroalimentación

*  Comunicación

VENTAJAS

*  Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no
identifica los requisitos detallados de entrada, procesamiento o salida.

* También ofrece un mejor enfoque cuando el responsable del desarrollo del software está
inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de la forma
que debería tomar la interacción humano-máquina.

La construcción de prototipos se puede utilizar como un modelo del proceso independiente, se


emplea más comúnmente como una técnica susceptible de implementarse dentro del contexto de
cualquiera de los modelos del proceso expuestos. Sin importar la forma en que éste se aplique, el
paradigma de construcción de prototipos ayuda al desarrollador de software y al cliente a
entender de mejor manera cuál será el resultado de la construcción cuando los requisitos estén
satisfechos. De esta manera, este ciclo de vida en particular, involucra al cliente más
profundamente para adquirir el producto.

Desventajas

*  El usuario tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema final. A
causa de la intención de crear un prototipo de forma rápida, se suelen desatender aspectos
importantes, tales como la calidad y el mantenimiento a largo plazo, lo que obliga en la mayor
parte de los casos a reconstruirlo una vez que el prototipo ha cumplido su función. Es frecuente
que el usuario se muestre reacio a ello y pida que sobre ese prototipo se construya el sistema
final, lo que lo convertiría en un prototipo evolutivo, pero partiendo de un estado poco
recomendado.
*  En aras de desarrollar rápidamente el prototipo, el desarrollador suele tomar algunas decisiones
de implementación poco convenientes (por ejemplo, elegir un lenguaje de programación
incorrecto porque proporcione un desarrollo más rápido). Con el paso del tiempo, el desarrollador
puede olvidarse de la razón que le llevó a tomar tales decisiones, con lo que se corre el riesgo de
que dichas elecciones pasen a formar parte del sistema final.

2.6. El modelo DRA, o también llamado RDA.

¿Qué es DRA? 

Es el proceso de desarrollo de software diseñado para facilitar y acelerar la creación de


aplicaciones, que permite construir sistemas utilizables en poco tiempo, normalmente de 60 a 90
días. En conclusión, es una adaptación a "Alta velocidad" en el que se logra el desarrollo rápido
utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los
requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear
un "sistema completamente funcional" dentro de periodos cortos de tiempo.

 Características del Modelo

 Debido a que el software o aplicación se requiere lo más pronto posible no existe una
especificación del sistema detallada.

-El software no se desarrolla y utiliza en su totalidad, sino en una serie de incrementos, donde en
cada incremento se incluyen nuevas funcionalidades al sistema.

-A menudo se desarrollan las interfaces de usuario del sistema utilizando un sistema de desarrollo
interactivo que permite que el diseño de la interfaz se cree rápidamente dibujando y colando
iconos en la interfaz.

-Para su desarrollo se utilizan herramientas de desarrollo visual para agilizar el proceso.

-Se necesitan equipos compuestos por alrededor de seis personas, incluyendo desarrolladores y
usuarios de tiempo completo, así como aquellas personas involucradas en los requisitos.

-Las funciones secundarias son eliminadas como sea necesario para cumplir con el calendario.

 Fases

 • Modelado de Gestión

 El flujo de información entre las funciones de gestión se modela de forma que responda a las
siguientes preguntas: ¿Qué información conduce el proceso de gestión? ¿Qué información se
genera? ¿Quién la genera? ¿A dónde va la información? ¿Quién la proceso?.
 

• Modelado de Datos

 El flujo de información definido como parte de la fase de modelado de gestión se refina como un
conjunto de objetos de datos necesarios para apoyar la empresa. Se definen las características
(llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos.
 

• Modelado de Procesos

 Los objetos de datos definidos en la fase de modelado de datos quedan transformados para lograr
el flujo de información necesario para implementar una función de gestión. Las descripciones del
proceso se crean para añadir, modificar, suprimir, o recuperar un objeto de datos. Es la
comunicación entre los objetos.
 

• Generación de Aplicaciones 

El DRA asume la utilización de técnicas de cuarta generación. En lugar de crear software con
lenguajes de programación de tercera generación, el proceso DRA trabaja para volver a utilizar
componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables
(cuando sea necesario).
 

• Pruebas de Entrega

 Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos de los componentes
de los programas. Esto reduce tiempo de pruebas.
Sin embargo, se deben probar todos los componentes nuevos y se deben ejercitar todas las
interfaces a fondo.

 
 

Ventajas

-Los entregables pueden ser fácilmente trasladados a otra plataforma.

-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 fallas.

-Posiblemente menor costo.

-Ciclos de desarrollo más pequeños.

-Interfaz gráfica estándar.

Desventajas

-Tiene inconvenientes para proyectos grandes, necesita suficientes recursos humanos para crear el
número correcto de equipos.

-Si los desarrolladores y clientes no se comprenden con las actividades necesarias para completar
el sistema, los proyectos fallarán.

-Un alto costo de herramientas integradas y equipo necesario.

-Progreso más difícil de medir.

-Menos eficiente y con menor precisión científica

También podría gustarte