Kategorier: Alle - requisitos - objetivos - prototipos - validación

av John RT 8 år siden

3405

Ingeniería del Software

La ingeniería del software abarca varios modelos de procesos de desarrollo, cada uno con sus propias características y ventajas. Uno de los modelos más destacados es el modelo espiral, que combina la construcción de prototipos con un enfoque lineal secuencial, permitiendo desarrollar el software en versiones incrementales.

Ingeniería del Software

Ingeniería del Software

Programación extrema

metodología de desarrollo ligera (o ágil) basada en una serie de valores y de buenas prácticas
Estilo que maneja:

Mejores practicas para desarrollar software, y las lleva al extremo

Reduce el costo del cambio en todas las etapas del ciclo de vida del sistema.

Orientada hacia quien produce y usa el software

Garantizar la Calidad del Software desarrollando, haciendo que este supere las expectativas del cliente.

Mejorar la productividad de los proyectos.

Los requisitos pueden (y van a) cambiar

Grupo pequeño y muy integrado (máximo 12 personas)

Recomendable emplearlo solo en proyectos a corto plazo

Altas comisiones en caso de fallar.

Medida con cuatro valores

Coraje - Programa para hoy y no para mañana

Simplicidad- Empezar con lo necesario y requerido y trabajar desde ahí

Retroalimentación - Del sistema, del cliente, y del equipo

Comunicación- Crear software requiere de sistemas comunicados.

Estándares y modelos de calidad

COMPETISOFT
mediante la creación y difusión de un marco metodológico común que ajustado a sus necesidades específicas
incrementa el nivel de competitividad de las PyMEs iberoamericanas productoras de software
CMMI
implenta de una forma sencilla el aseguramiento de la calidad.
Basa en prácticas ajustables a cualquier dominio de producción
CMM
Modelo desarrollado con el objetivo de mejorar y evaluar los procesos de desarrollo de software
evalúa la capacidad de los proveedores de software del gobierno de los Estados Unidos.
MoProSoft
Estandariza y mejora los procesos de desarrollo de software

Basado en ISO 9001:2000, en las áreas de procesos de los niveles 2 y 3 de CMM-SW: CMM-SW v.1.1 y en el marco general ISO/IEC15504 entre otros

ISO/IEC 15504
proporciona un marco de trabajo para la evaluación del proceso
establece y mejora la capacidad de madurez de los procesos

DRA (Desarrollo rápido de aplicaciones)

si se comprenden bien los requisitos y se limita el ámbito del proyecto permite al equipo de desarrollo crear un sistema completamente funcional dentro de periodos cortos de tiempo
El desarrollo se realiza a un nivel de abstracción mayor.

- Mayor flexibilidad. - Menor codificación manual. - Mayor involucramiento de los usuarios.

Enfoque de construcción basado en componentes
compromiso, por ninguna de las partes constituyentes, los proyectos fracasaran.
Clientes y desarrolladores comprometidos en las rápidas actividades necesarias para completar un sistema en un marco de tiempo corto

requiere recursos humanos suficientes como para crear el numero correcto de equipos

Modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto
No todos los tipos de aplicaciones son apropiados para DRA.

Modelo de procesos desarrollo de software

Modelo Espiral
El software se desarrolla en versiones incrementales combinando la construcción de prototipos con el modelo lineal secuencial.
Desarrollo evolutivo
Refina el proyecto basándose en las peticiones del cliente para producir un sistema que satisfaga sus necesidades y contenga calidad.

Los requerimientos del usuario pueden cambiar en cualquier momento del proyecto

Se recomienda solo para sistemas pequeños y de tamaño medio (hasta 500 000 líneas de código).

Modelo entrelaza las actividades de especificación, desarrollo y validación.

Existen dos tipos de desarrollo evolutivo:

Prototipos desechables - donde el objetivo es comprender los requerimientos del cliente y desarrollar una definición mejorada de los requerimientos del sistema.

Desarrollo exploratorio - donde el objetivo es trabajar con el cliente para explorar sus requerimientos.

Modelo en cascada o modelo lineal secuencial
Análisis de los requisitos del software
Enfoque sistemático lineal y es Utilizado cuando los requerimientos se han entendido correctamente

proyectos son pequeños

El desarrollador y el analista comprendan totalmente los requerimientos del software

Mantenimiento - Después de entregado el software al cliente es posible que tenga que sufrir alguna modificación para adaptarse a nuevas necesidades del cliente

Pruebas - cuando el software ha sido programado se continua con la fase de pruebas para detectar posibles errores y validar que el software cumpla con los requerimientos.

Generación de código - Etapa del diseño donde comienza la programación del software.

Diseño - En esta etapa el desarrollo de software se centra en cuatro atributos

- estructura de datos - arquitectura de software - presentación de la interfaz - detalle procedimental

Prototipado
Permite al desarrollador comprender mucho mejor lo que el cliente necesita

inicia recolectando los requerimientos

El desarrollador y el cliente trabajan en los objetivos globales para el software

El responsable del desarrollo del software puede no estar seguro de la eficacia o capacidad de un algoritmo

Un cliente, define un conjunto de objetivos generales para el software, pero no identifica los requisitos detallados de entrada, proceso o salida.

Herramientas

TSP (Team Software Process)
analiza interacción de abajo arriba del equipo de trabajo
Enfoca a la iniciativa del equipo
PSP (Personal Software Process)
explica procesos defindos
Proporciona metodos detallados para estimar y planear
RUP (Rational Unfied Process)
unifica a todos los integrantes del equipo de desarrollo y manteniene una buena comunicación

Auxilia

- Obtener requerimientos - Organizarlos - Documentar requerimientos de funcionalidad - Documentar decisiones - Comunicar requerimientos del negocio

forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo

Divide en cuatro fases

Elaboración - incluye la definición, análisis y diseño

Transición - fin del proyecto y puesta en producción

Construcción - es la implementación

Inicio - define el alcance del proyecto

IDEF0 (Integration Definition for Function Modeling)
caracteristicas

Propiedades definidas por el usuario.

Mecanismos para medir la efectividad del cambio

Plataforma objetiva para tomar decisiones

Representar de manera gráfica el negocio

La descomposición en niveles jerárquicos facilita la determinación del mapa de procesos y posibilita visualizar al nivel más alto
Serie jerárquica de diagramas que describe las funciones especificadas en sus diferentes niveles
Define procesos de negocio dentro de una empresa

Ideal a usar cuando el proceso posee cierta complejidad.

Presenta un modelo de proceso que facilite exactitud, detalle, y claridad en la descripción.

UML (Unified Modeling Language),
Lenguaje de programación, pero, permite hacer una transición del modelo al código
Lenguaje para crear una sintaxis notacional para expresar modelos orientados a objetos

Diversos elementos gráficos, los cuales presentan diversas perspectivas de un sistema

Planes bien analizados con la finalidad de comprender correctamente lo que hay que hacer

Gráficas para representar varias relaciones y son una fuente de información para el diseño de pruebas