Está en la página 1de 6

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL

DIRECCIÓN ZONAL LIMA CALLAO

CARRERA: INGENIERÍA DE SOFTWARE CON INTELIGENCIA


ARTIFICIAL

Temas:

FORO TEMÁTICO

Estudiante : Luis Ysrael Moises Amoretti Layme


Instructor : Remigio Huarcaya Almeyda

Lima - Perú

2023
TEMA: SOFTWARE Y PROTOTIPADO
Responda la siguiente pregunta:

1. ¿En qué consiste el modelo de prototipo en el diseño de software?

Un modelo prototipo o modelo de desarrollo evolutivo es utilizado principalmente en el desarrollo


de software para ofrecer al usuario una visión previa de cómo será el programa o sistema. Se le
dice de desarrollo evolutivo al modelo de prototipo porque evoluciona hasta convertirse en el
producto final.

En un modelo de prototipos las características fundamentales son:

• Tiempo. El prototipo se desarrolla en menos tiempo para poder ser probado o testeado.
• Coste. La inversión en un modelo de prototipo es ajustada, lo que requiere un uso óptimo
de los recursos.
• Conciso. El prototipo debe incluir los requisitos y características básicas de la aplicación
para poder evaluar su funcionamiento y utilidad.
• Evolutivo. El prototipo evoluciona gracias a la interacción con los usuarios.
• Funcional. El prototipo es una aplicación que funciona.

El modelo de prototipos se centra en un diseño rápido que representa las características principales
del programa que el usuario podrá ver o utilizar. De esta manera pueden probarlo y dar su opinión
sobre distintos aspectos como la usabilidad, la utilidad o el rendimiento, entre otras.

El prototipo se puede modificar cuando sea necesario y todos los resultados obtenidos de las
presentaciones y pruebas se deben anotar para utilizar posteriormente como ayuda en el
desarrollo del producto final.

Un modelo de construcción de prototipos comienza con la definición de un problema y sus efectos,


para poder desarrollar el prototipo que lo resuelva. Las etapas para la elaboración del modelo de
prototipo son:

1. Requisitos de desarrollo. - Se realiza un análisis para poder establecer cuáles son los requisitos
del programa. Se trata de un diseño básico del prototipo donde se traza de forma inicial los
requisitos necesarios para su desarrollo.

2. Modelaje y desarrollo del código. - En esta fase se construye el prototipo inicial según los
requisitos establecidos. En esta fase de diseño y construcción se debe priorizar el tiempo de
desarrollo y hacer un uso óptimo de los recursos para reducir su coste.

3. Evaluación. - Una vez desarrollado el prototipo es necesario comprobar su funcionamiento,


evaluando su funcionalidad y verificando que cumple realmente con los requisitos iniciales.

4. Modificación. - Tras evaluar el prototipo se deben corregir los errores encontrados y aplicar las
mejoras necesarias para que esté listo para ser probado por los usuarios.
5. Documentación. - Todo el diseño y desarrollo debe ser documentado para disponer de
información precisa y clara del proceso. Es muy importante el registro de cada paso o acción del
desarrollo del prototipo pues es una guía útil a la hora de afrontar el diseño del producto final.

6. Pruebas. - Finalmente, el prototipo debe ser probado por los usuarios para poder recibir
el feedback necesario y así evaluar su utilidad y rendimiento. Gracias a esta retroalimentación
ofrecida por el prototipo se podrá desarrollar un software de mayor calidad que resuelva los
problemas de los usuarios.

2. ¿Puedes Mencionar algunas ventajas y desventajas del modelo de prototipo en


el desarrollo de software?

VENTAJAS DEL MODELO DE PROTOTIPO DESVENTAJAS DEL MODELO DE


EN EL DESARROLLO DE SOFTWARE PROTOTIPO EN EL DESARROLLO DE
SOFTWARE
1. Permiten el desarrollo de un sistema a 1. El usuario quiere empezar a trabajar
partir de requisitos poco claros o desde el primer momento con el
cambiantes. Esto ocurre con cierta prototipo para solucionar su problema
frecuencia en muchos proyectos de particular, cuando el prototipo es solo un
software. modelo de lo que será el producto.
2. Como información complementaria a los 2. Los prototipos generan o pueden
requisitos constituyen un gran apoyo a las generar otro tipo de problemas si su
estimaciones de esfuerzo de todas las presentación y discusión con los usuarios
áreas, incluyendo proveedores. no es controlada: puesto que son
3. Son más fáciles de abordar con los modelos inconclusos, los usuarios suelen
usuarios finales. enfocarse en aspectos “superficiales” del
4. El usuario participa más activamente en la prototipo que los pueden dejar
construcción del producto de software (La inconformes luego de verlos por primera
Solución), ya que “lo puede ver” y, vez. También es posible que se pierda
dependiendo del tipo de prototipo, mucho tiempo, innecesariamente,
“utilizar” desde el primer momento. tratando de hacer entender al usuario la
5. Se reduce el riesgo o la incertidumbre finalidad real de los prototipos.
sobre la implementación del software. 3. Requiere participación activa del
6. Su uso redunda en una mayor satisfacción usuario, al menos, para evaluar el
del usuario con el producto final, ya que él prototipo. Y mucho más involucramiento
o ella han participado activamente de su si queremos que participe en su
diseño. creación.
7. Proporciona al usuario un mayor 4. Una desventaja importante a tener en
conocimiento del sistema con una curva cuenta es la falta de experiencia que
menor de aprendizaje. tienen muchos Analistas Funcionales en
8. Permite a todos los involucrados entender programación y en actividades de diseño
bien y mejor el problema antes de la de interfaces de usuario.
implementación final.
3. ¿Existe alguna diferencia entre Arquitectura y diseño de software?

DIFERENCIAS ENTRE ARQUITECTURA Y DISEÑO DE SOFTWARE


DISEÑO DE SOFTWARE ARQUITECTURA DE SOFTWARE
1. Cosiste en diseñar módulos/ 1. Se trata de la arquitectura completa del
componentes individuales sistema general.
2. Define las propiedades detalladas. 2. Define las propiedades fundamentales.
3. En general, se refiere al proceso de 3. En general se refiere al proceso de
creación de una especificación de creación de una estructura de alto nivel
artefacto de software que ayudará a los de un sistema de software.
desarrolladores a implementar el 4. Ayuda a definir la infraestructura de alto
software. nivel del software.
4. Ayuda a implementar el software. 5. La arquitectura de software gestiona la
5. El diseño de software evita la incertidumbre.
incertidumbre. 6. La arquitectura de software se trata más
6. El diseño de software se trata más de un del diseño de todo el sistema.
módulo/componente individual. 7. Es un plan que restringe el diseño del
7. Se considera como una fase inicial del software para evitar errores conocidos y
Ciclo de desarrollo de software (SSDLC) y logra la estrategia comercial y
brinda una idea detallada a los tecnológica de una organización.
desarrolladores para implementar un 8. Algunos de los patrones de arquitectura
software consistente. de software son microservicios, sin
8. Algunos de los patrones de diseño de servidor y basados en eventos.
software son creacionales, estructurales 9. En una palabra, el nivel de la
y de comportamiento. arquitectura de software es la
9. En una palabra, el nivel de diseño de estructura.
software es la implementación. 10. Lo que estamos construyendo es
10. Lo que estamos construyendo es el arquitectura de software.
diseño de software.
4. ¿Cuáles son los principios fundamentales en los métodos de desarrollo de
software modernos?

• Principio de responsabilidad única (SRP). - El principio de responsabilidad única dictamina que


una clase debería tener un único motivo de cambio.
• Principio de abierto - cerrado (OCP). - El principio de abierto - cerrado enuncia que las
entidades software (clases, módulos, funciones...) deberían estar abiertas para la extensión,
pero cerradas para la modificación. Cuando simple cambio a un programa resulta en una
cascada de cambios en módulos dependientes, el diseño adolece de rigidez. Los cambios se
deben hacer añadiendo código nuevo, no modificando el que ya funcionaba.
• Principio de sustitución de Liskov (LSP). - El principio de sustitución de Liskov dice que los
subtipos deben poder ser reemplazados por cualquiera de sus tipos base. Los objetos de un
programa deberían ser reemplazables por instancias de sus subtipos sin alterar el correcto
funcionamiento de un programa.
• Principio de inversión de dependencias (DIP). - El principio de inversión de dependencias
enuncia que:
1. Los módulos de alto nivel no deberían depender de módulos de bajo nivel. Ambos deben
depender de abstracciones.
2. Las abstracciones no deben depender de detalles. Son los detalles los que deben depender
de abstracciones.
• Principio de segregación de interfaces (ISP). - Es mejor muchas interfaces específicas para
cada cliente que una sola interfaz de propósito general.
• Principio de Hollywood. - El principio de Hollywood dictamina que debe ser una clase superior
la que llame a las clases inferiores

También podría gustarte