Está en la página 1de 11

Alumna: María Enriqueta Martínez Villar.

Licenciatura: Tecnologías de información y la


comunicación.

Materia: “Introducción a la administración de


Proyectos.”

Experiencia de Aprendizaje: “Fundamentos de la


ingenieria del software”.

Docente: “Raul Alejandro Ramírez”

Clave de la materia: LAIT5201B2_O_23-2_IAP


Incidente crítico

Bajo este contexto, tomando en cuenta el caso hipotético de que has sido
contratado por una empresa Automotriz como Gerente de Proyectos
(Project Manager) en el área de Tecnologías de Información. En tu segunda
actividad como responsable de la dirección de gestión de proyectos de la
empresa, tendrás que elaborar las especificaciones, estándares y
requerimientos en general que se les proporcionarán a los encargados del
desarrollo de sistemas para que les sirvan como estándar de desarrollo de
sistemas.
¿Cómo lo plantearías?

Indicaciones

1. Revisa detenidamente el contenido de la unidad: “Metodología de


la Ingeniería de Software”.
2. Investiga en fuentes confiables:

• La definición
• Objetivo
• Aplicación de la ingeniería de software.

La ingeniería de software es una materia fundamental en la creación de


sistemas confiables y de alta calidad. En esta clase avanzada, exploramos
conceptos clave del proceso de desarrollo de software, incluido el análisis,
diseño, pruebas y mantenimiento de requisitos. Discutimos las diferencias
entre requisitos funcionales y no funcionales, enfatizando su importancia
para una especificación precisa del software. También discutimos la
importancia del diseño en el desarrollo de software y los diferentes métodos
de diseño utilizados. Además, discutimos el tema de las pruebas de software
y su papel en la detección de errores y el control de calidad.
Es importante aplicar los principios de los procesos de software a diferentes
campos, como la medicina de emergencia prehospitalaria o cualquier otro
campo. Incorporar estos principios en su pensamiento y procesos será muy
útil y efectivo, especialmente para la gente de software. En este sentido, a
la hora de realizar cualquier actividad no se puede evitar pensar en el
software.
En este sentido, el software se convierte en un todo terreno que ayuda a
optimizar procesos, mejorar resultados y maximizar la inversión de tiempo y
dinero. Es importante destacar que el software no está sujeto a leyes relativas
a factores físicos o procesos de fabricación, por lo que ofrece posibilidades
creativas prácticamente ilimitadas. El desarrollo de software abarca
métodos, estrategias y principios que varían según el contexto y la
creatividad, siempre respaldados por el profesionalismo y las herramientas
adecuadas para lograr resultados duraderos y confiables.
Las habilidades de pensamiento programático se están convirtiendo en un
elemento importante y omnipresente en todas las actividades, desde las
más simples hasta las más complejas. Por ejemplo, si está organizando una
actividad social, utilizar cuadernos físicos para gestionar el proceso puede
ser un desafío importante, mientras que el uso de software automatizará el
proceso y reducirá los recursos humanos, así como el tiempo necesario para
evaluar y crear informes estadísticos. Además, el software se utiliza tanto en
situaciones sencillas como en empresas con procesos y comunicación muy
complejos, donde optimizar los resultados es muy importante. Sin el uso de
software, se necesitarán grandes recursos humanos para realizar las
funciones realizadas por el software y se producirán errores graves debido a
la intervención humana. Por lo tanto, se puede decir que el desarrollo de
software es necesario en la mayoría de los campos y actividades, porque el
software se ha convertido en una herramienta importante en el mundo
moderno, aunque también plantea problemas y amenazas importantes si se
utiliza incorrectamente. La educación y la capacitación en software son
cada vez más importantes para lograr una implementación exitosa y reducir
el desperdicio.
La ingeniería de software es una industria que se ocupa de todos los
aspectos de la producción de software, desde la etapa de diseño inicial
hasta el mantenimiento una vez que el software está operativo. Esta
disciplina abarca muchos elementos, incluida la aplicación de métodos,
teorías y herramientas de los ingenieros de software para resolver problemas
y lograr resultados exitosos. Aunque a veces no existe un método o principio
predeterminado para resolver un problema particular en un software en
particular, los ingenieros de software aplican creativamente principios y
técnicas conocidos y los implementan de manera creativa para encontrar
soluciones.
El desarrollo de software se refiere a todos los aspectos del desarrollo de
software, incluidos no solo procesos técnicos específicos sino también
actividades relacionadas con los recursos humanos, la gestión, así como los
métodos y otros procesos relacionados con la producción de software. Es
importante señalar que el concepto de desarrollo de software va más allá
de la programación o codificación de software, ya que cubre todo el ciclo
de vida del software, desde el diseño y el desarrollo hasta las pruebas, el
lanzamiento de la producción y el mantenimiento.
En comparación con la ingeniería de sistemas y la ingeniería informática,
existen tres roles diferentes que puede asumir en un proyecto de software.
Estos roles se complementan entre sí y ningún rol es más importante que el
otro. Si bien se requieren habilidades informáticas, los ingenieros de software
trabajarán con especialistas en informática para trabajar en equipo. De
manera similar, los ingenieros de sistemas deben tener conocimientos de
software e informática, y ambos roles trabajan juntos para implementar
sistemas completos. Por otro lado, los ingenieros informáticos se ocupan
principalmente del diseño y desarrollo de hardware y software para sistemas
informáticos.
Proceso de software
Se define proceso del software como una estructura para las actividades,
acciones y tareas que se requieren a fin de construir software de alta
calidad.
¿Por qué es importante?
Sólo debe incluir operaciones, control y el producto adecuado para el
trabajo en equipo de diseño y para el producto deseado a recibir.
Según nos dice la norma 1074 IEEE se define al ciclo de vida del software
como “una aproximación lógica a la adquisición, el suministro, el desarrollo,
la explotación y el mantenimiento del software” y la norma ISO 12207 define
como modelo de ciclo de vida al “marco de referencia, que contiene los
procesos, las actividades y las tareas involucradas en el desarrollo, la
explotación y el mantenimiento de un producto de software, abarcando la
vida del sistema desde la definición de requisitos hasta la finalización de su
uso”. Ambas consideran una actividad como un subconjunto de tareas y
una tarea como una acción que transforma las entradas en salidas. [Piattini,
1996].

Cada modelo de desarrollo de software describe el proceso desde un punto


de vista único. Estos modelos amplios representan diferentes conceptos de
procesos que se pueden utilizar en el desarrollo de software. Después de una
extensa investigación y análisis de varios programas de desarrollo de
software.
El Modelo Cascada:

Es un modelo en el que las fases de desarrollo de software se organizan


estratégicamente de tal forma que el inicio de una fase de desarrollo se
produce antes de la finalización del paso anterior.

Una de sus ventajas es que es adecuado para clientes que entienden el


propósito general del producto y equipos de desarrollo que tienen una
mejor comprensión de la interacción del cliente con el software y el
entorno en el que se implementará el software.

Fases del Modelo Cascada:

• Fase de análisis: Planificación, análisis y especificación de los


requisitos.
• Fase de diseño: Diseño y especificación del sistema.
• Fase de implementación: Programación y pruebas unitarias.
• Fase de Verificación: Integración de sistemas, pruebas de sistema e
integración.
• Fase de implementación: Despliegue de Sistemas
• Fase de mantenimiento: Entrega, mantenimiento y mejora.1

El modelo Espiral:

El modelo en espiral es un tipo de modelo de desarrollo de software en el


que las actividades se crean en espiral y se ejecutan en el orden en que se
seleccionan en función del análisis de riesgos.

1
Sharma, P. (2022, mayo 9). Los 9 mejores modelos de desarrollo de software para elegir: fases y
aplicaciones. Cynoteck; Cynoteck Technology Solutions. https://cynoteck.com/es/blog-post/top-software-
development-models-to-choose-from/
En cada iteración de este modelo, se deben seleccionar objetivos o
alternativas en función de características que incluyen la experiencia
personal, los criterios que se deben cumplir y cómo se gestiona el sistema.
La forma angular, que representa solo el desarrollo de software en el
proyecto, y la forma radial, significa el aumento en el costo a medida que
se extiende cada iteración.

Fases del Modelo Espiral:

• Fase de planificación: El paso inicial es identificar y establecer


objetivos y metas a alcanzar. Luego, como alternativas, presentan
las mejores formas potenciales de satisfacer los objetivos. Todo esto
requiere una comunicación continua entre el cliente y el equipo de
gestión del proyecto.
• Fase de análisis de riesgos: Al planificar y finalizar la estrategia de
reducción de riesgos, se identifican los posibles peligros. Cada
peligro destacado se somete a un examen exhaustivo. Se pueden
crear prototipos para eliminar la posibilidad de requisitos ambiguos.
Los riesgos se minimizan tomando precauciones.
• Fase de ingeniería: Implica la codificación, prueba e
implementación del software. Tras una evaluación de riesgos, se
adopta el modelo de desarrollo. El modelo a utilizar está
determinado por el nivel de riesgo que se ha reconocido para esa
fase.
• Fase de evaluación: Valoración del cliente sobre el programa. Se
decide si repetir o no el ciclo. Aquí se está planificando la siguiente
fase del proyecto.2

El Modelo V

También conocido como modelo de cuatro niveles, es un concepto


utilizado en varios procesos de desarrollo, como el desarrollo de software.

El Modelo V proporciona soporte para las actividades de gestión de la


calidad y describe cómo estas diferentes fases pueden interactuar
además de las fases de desarrollo del proyecto. Tiene el mismo nombre
que la forma del cuerpo, como la letra V.

Fase de Verificación:
• Análisis de requisitos: El paso inicial de la fase de verificación es
comprender las expectativas de los clientes sobre nuestros productos
mediante una amplia comunicación con los clientes.
• Diseño de sistemas: Después de la identificación de los requisitos de
los clientes y las expectativas de nuestros productos, se debe
desarrollar el sistema de diseño detallado para el desarrollo del
producto.

2
Sharma, P. (2022, mayo 9). Los 9 mejores modelos de desarrollo de software para elegir: fases y
aplicaciones. Cynoteck; Cynoteck Technology Solutions. https://cynoteck.com/es/blog-post/top-software-
development-models-to-choose-from/
• Diseño arquitectonico: El diseño del sistema se segrega en diferentes
módulos según sus funcionalidades. Se reconoce la transferencia de
datos entre los módulos internos y otros sistemas.
• Diseño del módulo: Los diseños se segregan aún más en módulos
más pequeños y más detallados.
Fases de Validación:
• Examen de la unidad: Las pruebas unitarias eliminan errores a nivel
de código o de unidad.
• Pruebas de integración: Las pruebas de integración validan la
comunicación interna entre módulos dentro del sistema.
• Pruebas del sistema: Las pruebas del sistema examinan los requisitos
funcionales y no funcionales de la aplicación desarrollada.
• Pruebas de aceptación del usuario (UAT): UAT valida la usabilidad del
sistema desarrollado en el mundo real.

El proceso unificado racional (RUP)

Un proceso simplificado (RUP) es una metodología de desarrollo de


aplicaciones que incluye un conjunto de herramientas que ayudan a
codificar el producto final y las actividades relacionadas. RUP es un
enfoque orientado a objetos para la gestión de proyectos y el desarrollo
de software de alta calidad. RUP es un conjunto de métodos adaptados al
entorno y requerimientos de cada empresa, no un sistema con procesos
rígidos.

Fases del modelo Rational Unified Process (RUP):


• Comienzo: Se visualiza la idea central.
• Elaboración: Se diseñan los casos de uso y la arquitectura.
• Construcción: Actividades desde el diseño hasta el producto
terminado.
• Transición: Seguimiento de actividades para asegurar la satisfacción
del cliente.

Modelo Iterativo.

El desarrollo de software iterativo e incremental es una metodología de


desarrollo de software basada en un modelo de actualización y
lanzamiento cíclico y un incremento constante de características
adicionales.
El proceso de desarrollo de software iterativo e incremental comienza con
la planificación y continúa a través de ciclos de desarrollo iterativos con
comentarios continuos de los usuarios y adiciones de funciones
incrementales, que finaliza con la implementación del software al final de
cada ciclo.

Fases del Modelo Incremental e Iterativo:


Los siguientes pasos se pueden utilizar para clasificar el desarrollo iterativo e
incremental:
• Fase de Iniciación: La fase de iniciación de un proyecto se ocupa
del alcance, las necesidades y los peligros a un nivel superior.
• Fase de Elaboración: Crea una arquitectura viable que mitiga los
riesgos identificados en la primera fase y cumple con los criterios no
funcionales.
• Fase de construcción: Gradualmente completa los componentes de
la arquitectura con código listo para la producción, que se desarrolla
mediante el análisis, la implementación, el diseño y las pruebas de
los requisitos funcionales.
• Fase de transición: Entregar el sistema al entorno operativo de
producción durante la fase de transición.

Modelo prototipo

Al desarrollar software o aplicaciones, a menudo se usa un modelo de


prototipo para sugerir una versión anterior y funcional que se puede usar
como demostración o proyecto de muestra.

La creación de prototipos es una excelente manera de obtener


comentarios sobre los requisitos, la funcionalidad y la operabilidad, lo que
hace que el desarrollo del producto final sea más rápido y eficiente. Un
prototipo es una aplicación funcional de un producto que da una idea de
las características clave del producto o sistema final.
Fases del Modelo Prototipo:
• Análisis de requisitos: El paso inicial del modelo trata de establecer
los requisitos del sistema deseable.
• diseño: Después de la identificación de los requisitos del sistema
deseado, se forma un diseño conceptual básico.
• Formación de prototipos: Con la ayuda del diseño conceptual
básico, se construye un prototipo de trabajo para el sistema
deseado.
• Evaluación inicial: El prototipo es probado por el cliente en este paso
para evaluar funcionalidades y limitaciones.
• Prototipo de refinación: El prototipo se refina aún más, analizando la
evaluación realizada por el cliente.
• Producción: Una vez que se ejecuta el proceso de refinación, se
produce el sistema final para su uso en tiempo real.

Conclusiones

La comparación de modelos de desarrollo de software le permite


determinar los niveles de rendimiento en función de criterios de selección
específicos. Esta comparación será de gran ayuda a la hora de elegir un
modelo, teniendo en cuenta las características del software y del equipo de
diseño. La evaluación de modelos del proceso de desarrollo de software nos
permite descubrir que los patrones son actividades involucradas en la
definición (análisis y diseño) de software, la generación (codificación), la
creación de pruebas que demuestran la calidad del software y la
implementación del producto. en su entorno real.
El estudio de modelos del proceso de desarrollo de software permite concluir
que los modelos son actividades relacionadas con la especificación de
software (análisis y diseño), desarrollo (codificación), creación de pruebas y
pruebas de software. producto en su entorno real.

La comparación de modelos de desarrollo de software permite determinar


el nivel de rendimiento teniendo en cuenta varios criterios de selección. Esta
comparativa te será de gran utilidad a la hora de elegir un modelo, teniendo
en cuenta además las peculiaridades del software y del equipo de diseño.

Referencias
Pons, Claudia; Giandini, Roxana; Pérez, Gabriela. Desarrollo de Software Dirigido por
Modelos. Teorías, Metodologías y Herramientas. McGraw-Hill Education, 2010, p. 978-950.
Martínez, R. N. (2015). El proceso de desarrollo de software. IT Campus Academy.

Di Nitto Alfonso Fuggetta, E. (s/f). Proceso de Software. Cloudfront.net.

Sharma, P. (2022, mayo 9). Los 9 mejores modelos de desarrollo de software para elegir:
fases y aplicaciones. Cynoteck; Cynoteck Technology Solutions.
https://cynoteck.com/es/blog-post/top-software-development-models-to-choose-from/

Royce, Winston W. Managing the development of large software systems: concepts and
techniques. Proceedings of the 9th international conference on Software Engineering. IEEE
Computer Society Press, 1987. p. 328-338.

Laboratorio Ing. Soft., Ingeniería de software 2, Departamento de Informática, 2002

Saurith, A., Estay-Niculcar, C., Análisis y Diseño Integral de Sistemas y Requerimientos.


Fundación Universitaria Iberoamericana. Barcelona, España, 2010. 167 pp.

También podría gustarte