DESARROLLO DE SOFTWARE A LA MEDIDA Custom Made Software Diana Araya Andrea Fernández
Software y globalización En los últimos años el software se ha convertido en un componente vital para el desarrollo de los negocios, un arma competitiva muy importante para lograr el éxito empresarial.
*Instalaciones de desarrollo de software localizadas *Outsourcing
Desarrollo de Software a la medida
Diseñar y programar un sistema informático para realizar una tarea o cumplir una función especifica. Es capaz de producir soluciones ajustadas a los requerimientos de una empresa, siendo tiempo y dinero los únicos factores limitantes
Desarrollo de Software a la medida
Permite a la empresa la oportunidad de obtener una ventaja competitiva mediante el uso de tecnología de una manera más efectiva y eficiente; además de un buen método de reducción de costos.
Ciclo de vida del software
Describe el desarrollo de software, desde la fase inicial hasta la fase final Su propósito es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo Se asegura de que los métodos utilizados son apropiados
Ciclo de vida del software
Los programas parten del hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. Permite detectar los errores lo antes posible y por lo tanto, concentrarse en la calidad del software, los plazos de implementación y en los costos asociados
Procedimiento del Ciclo de vida básico Definición
de objetivos: definir el resultado del proyecto y su papel en la estrategia global.
2. Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. 3. Diseño general: requisitos generales de la arquitectura de la aplicación. 4. Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
Procedimiento del Ciclo de vida básico 5. Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño. 6. Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones. 7. Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.
Procedimiento del Ciclo de vida básico 8. Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales. 9. Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros. 10. Implementación 11. Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).
Diferentes Modelos El modelo de ciclo de vida para un determinado proyecto depende de lo acordado entre el cliente y el desarrollador
Metodologías del desarrollo de sistemas de información
Los principales objetivos de una metodología de desarrollo son: 1. Asegurar la uniformidad y calidad tanto del desarrollo como del sistema en sí. 2. Satisfacer las necesidades de los usuarios del sistema. 3. Conseguir un mayor nivel de rendimiento y eficiencia del personal asignado al desarrollo.
4. Ajustarse a los plazos y costos previstos en la planificación. 5. Generar de forma adecuada la documentaron asociada a los sistemas. 6. Facilitar el mantenimiento posterior de los sistemas.
MÉTODO DE CASCADA
Éste toma las actividades fundamentales del proceso de especificación, desarrollo, validación y evolución y las representa como fases separadas del proceso.
Figura No. 1. Modelo de desarrollo en cascada.
Algunos problemas que se observan en el modelo de cascada son: キ Las iteraciones son costosas e implican rehacer trabajo debido a la producción y aprobación de documentos. キ Existe una alta probabilidad de que el software no cumpla con los requisitos del usuario por el largo tiempo de entrega del producto. キ Es inflexible a la hora de evolucionar para incorporar nuevos requisitos.
MÉTODO ESPIRAL Cada ciclo de desarrollo se divide en cuatro fases: 1. Definición de objetivos. 2. Evaluación y reducción de riesgos. 3. Desarrollo y validación. 4. Planificación.
Figura No 1. Modelo de desarrollo en Espiral
METODO DE CODIFICAR Y CORREGIR
Cuando se utiliza éste método se empieza con una idea general de lo que se necesita construir, Se utiliza cualquier combinación de diseño, código, depuración y métodos de prueba no formales que sirven hasta que se tiene el producto listo para entregarlo.
MÉTODO DE PROTOTIPO
Este método contiene condiciones únicas de aplicación, en donde los encargados del desarrollo tienen poca experiencia o información, o donde los costos y riesgos de que se cometa un error pueden ser altos. El método del prototipo de sistemas consta de 5 etapas: 1. Identificación de requerimientos conocidos. 2. Desarrollo de un modelo de trabajo. 3. Utilización del prototipo. del prototipo. 4. Revisión del prototipo. 5. Repetición del proceso las veces que sea necesario.
MÉTODO DE ANÁLISIS Y DISENO ESTRUCTURADO El método de desarrollo del análisis estructurado tiene como finalidad superar esta dificultad por medio de: a. La división del sistema en componentes b. La construcción de un modelo del sistema.
¿Cuál es el modelo de proceso más adecuado?
Cada proyecto de software requiere de una forma de particular de abordar el problema Las propuestas comerciales y académicas actuales promueven procesos iterativos, donde en cada iteración puede utilizarse uno u otro modelo de proceso
¿Cuál es el modelo de proceso más adecuado? Funciona con
Produce
Modelo de
requisitos y
software
proceso
arquitectura no
altamente
predefinidos
fiable
Bajo
Cascada
Espiral
Codificar y corregir
Visión del
Gestión
Permite
de
correcciones
riesgos
sobre la marcha
Bajo
Bajo
Alto
Medio
Bajo
Alto
Bajo
Bajo
Bajo
Alto
Alto
Alto
Medio
Medio
progreso por el Cliente y el Jefe del proyecto
Tabla No.1. Comparación entre modelos de proceso de software.
La comunicación en el desarrollo de Software a la Medida Indispensable para un proyecto eficaz
Clara y Precisa Eficiente y Honrada Confiable y fácil Continua, ágil y rápida Permite la retroalimentación inmediata, necesaria para conocer , en todos los niveles, el estado del proyecto Qué necesitan realmente los clientes? Cuáles son sus prioridades?