Modelo de desarrollo de software
Aldon MendozaDocumentos de Investigación3 de Noviembre de 2022
2.685 Palabras (11 Páginas)82 Visitas
REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA
UNIVERSIDAD NACIONAL EXPERIMENTAL MARÍTIMA DEL CARIBE INGENIERÍA DE SOFTWARE I
ISF-I 614
SECCIÓN: A
UNIDAD II
MODELOS DE DESARROLLO DE SOFTWARE
MODELOS BASADOS EN REUTILIZACIÓN, MODELO V PARA DESARROLLO DE SOFTWARE
Integrantes Equipo 05:
Mendoza Escorcia, Aldon Alberto
Reyes Hernández, Kelvin Nazareth
Profesor:
Lic. Padilla P., Juan Vicente
Catia la Mar, Septiembre 2022
ÍNDICE
Página
Modelos Basados en Reutilización……………………………………………….….1 Funcionamiento o Características de los Modelos de reutilización……………………1 Unidades de Software Reutilizables…………………………………………………...1
i. Sistemas de Aplicaciones………………………………………………1 ii. Componentes…………………………………………………………...2 iii. Funciones………………………………………………………………2
Familia de Aplicaciones……………………………………………………………….2 i. De la Plataforma………………………………………………………...3 ii. De la Configuración…………………………………………………….3 iii. De la Funcionalidad……………………………………………………..3 Modelo V para desarrollo de software………………………………………………3 Las fases del modelo V………………………………………………………………..4 Interacción entre el desarrollo y la verificación……………………………………….6 Modelo V XT: desarrollo posterior del modelo V…………………………………….6 Ámbitos de aplicación del modelo V………………………………………………….6 Ventajas y desventajas del modelo V………………………………………………….7 Alternativas al modelo V………………………………………………………………8 Semejanzas y Diferencias entre el modelo V y el modelo cascada……………………8
ii
MODELOS BASADOS EN REUTILIZACIÓN
Funcionamiento o Características de los Modelos de reutilización La Reutilización de Software es una alternativa para desarrollar aplicaciones y sistemas software de una manera más eficiente, productiva y rápida. La idea es reutilizar elementos y componentes de Software en lugar de tener que desarrollarlos desde el principio.
Podemos definirla como el empleo de elementos de software u otros de nivel superior, creados en desarrollo anteriores, para de este modo reducir los tiempos y simplificar el desarrollo del software, mejorando la calidad y reduciendo su costo. Aunque en la mayoría de los proyectos software existe algo de reutilización de software, habitualmente esta es una reutilización informal en el que las personas que trabajan en los proyectos buscan diseños o códigos similares para modificarlos a lo requerido e incorporarlos en el sistema.
Unidades de Software Reutilizables
i. Sistemas de Aplicaciones
Los sistemas de aplicaciones son un sistema de software que pueden ser adaptados para diferentes clientes sin cambiar el código fuente del sistema. Tienen características genéricas y por lo tanto pueden usarse en diferentes entornos, se adaptan mediante mecanismos de configuración integrados que permiten que la funcionalidad del sistema se adapte a las necesidades específicas del cliente.
Igual que otros tipos de reutilización de software, se puede implementar rápidamente un nuevo y confiable software. Es posible ver qué funcionalidad proporcionan las aplicaciones y, por lo tanto, es más fácil decidir si es adecuado o no para las necesidades del cliente.
Algunos riesgos de desarrollo se evitan mediante la reutilización de software y las empresas pueden concentrarse en su actividad principal sin tener que dedicar muchos recursos al desarrollo del software.
1
ii. Componentes
La llegada de software basado en componentes pone a disposición mecanismos que habilitan elementos del software desde el nivel binario, para así ensamblarse rápida y eficientemente en nuevas aplicaciones. Esto permite que el principio básico de las familias de aplicaciones sea aplicado en todas las fases y niveles de desarrollo de software y trabajar con el software en todas sus formas, incluida la forma binaria.
La capacidad del software basado en componentes para admitir la interoperación de módulos de código binario es una de las características clave que la distingue del paradigma orientado a objetos (en el que este se basa). Los componentes proporcionan la base perfecta para la aplicación práctica de las aplicaciones en desarrollo. También se beneficia significativamente de las ideas de las aplicaciones. Por eso se espera que las aplicaciones y sistemas basados en componentes dentro de un dominio dado, o creados por una determinada organización compartirán muchas similitudes y, en particular, utilizará muchos de los mismos componentes.
Las variaciones entre las aplicaciones y sistemas de una organización probablemente giren en torno a un número relativamente pequeño de componentes base. Por lo tanto, en lugar de desarrollar cada sistema desde cero, es mejor desarrollar los marcos que conectan los aspectos comunes de la aplicación y usar los componentes cuando se necesiten.
iii. Funciones
Hay muchas maneras diferentes de reutilizar el software. No se puede reutilizar un componente pequeño como una función o clase, pero sí un sistema de aplicación completo. Hay una amplia gama de enfoques de reutilización disponibles.
La función de utilizar la reutilización de software, es que podemos obtener muchas ventajas como menores costos, un desarrollo de software más rápido y menores riesgos, así como incrementar la confiabilidad de nuestra aplicación y que pueda ser usada de manera más efectiva.
Familia de Aplicaciones
Las familias de aplicaciones son aplicaciones con funciones genéricas que pueden ser adaptadas y configuradas para ser usadas en un contexto específico. Tienen
2
una arquitectura común y componentes compartidos, cada aplicación está especializada para cumplir diferentes requisitos. Por ejemplo, el sistema operativo de un móvil que funciona en distintos modelos de hardware de una misma compañía. i. De la Plataforma
Las arquitecturas de la familia de aplicaciones deben estructurarse de tal manera que se separen los diferentes subsistemas y permitan que se modifiquen. Diferentes versiones de las aplicaciones son creadas para manejar diferentes plataformas y entornos, tales como sistemas operativos para móviles o computadoras, aplicaciones para manejar componentes electrónicos como impresoras,
ii. De la Configuración
Las familias de aplicaciones configurables permiten la personalización del software para adaptarse a los requisitos del usuario. Por ejemplo, las características del sistema operativo de los teléfonos inteligentes pueden ser configurados por el usuario a gusto, así como las aplicaciones en automóviles y las aplicaciones de aparatos electrónicos en general.
iii. De la Funcionalidad
El objetivo de las familias de aplicaciones es la reutilización estratégica a larga escala de la funcionalidad en múltiples softwares dentro de un dominio, de manera que las diferentes configuraciones configuradas para diferentes clientes sean derivadas desde un código fuente común.
Modelo V para desarrollo de software
El modelo V es una representación gráfica del ciclo de vida del desarrollo de sistemas donde los procesos se ejecutan de manera secuencial en forma de V. Se basa en la asociación de una fase de prueba para cada etapa de desarrollo correspondiente. El desarrollo de cada fase está asociada directamente a la fase de pruebas. La siguiente fase solo empieza después de la finalización de la anterior fase y para cada actividad de desarrollo hay una actividad de prueba correspondiente. Se describen las actividades y resultados que deben producirse durante el desarrollo del producto. El lado izquierdo de la V representa la descomposición de las necesidades, y la creación de las especificaciones del sistema. El lado derecho de la V
3
representa la integración de las piezas y su verificación, también es conocido como el modelo de Verificación y Validación.
Verificación: Implica una técnica de análisis estática (revisión) sin ejecutar código. Es el proceso de evaluación del desarrollo del producto para determinar si se cumplen los requisitos especificados.
Validación: Implica una técnica de análisis dinámico (funcional y no funcional) y las pruebas se realizan ejecutando código. La validación es el proceso para evaluar el software después de completar la fase de desarrollo para determinar si el software cumple con las expectativas y requisitos del cliente.
...