Desarrollo De Software A La Medida

  • Uploaded by: lolo
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Desarrollo De Software A La Medida as PDF for free.

More details

  • Words: 1,802
  • Pages: 37
Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como Desarrollo de Software o Producción de Software ( Bohem, 1976).

 Siguiendo

una metodología en el desarrollo de software se busca de una manera sistemática, realizar, gestionar y administrar un proyecto de forma tal que se tengan altas probabilidades de éxito.

Planificación: planeamiento detallado que guíe la gestión del proyecto, temporal y económicamente. • Implementación: conjunto de actividades que componen la realización del producto. • Puesta en producción: etapa de definición, el proyecto es presentado al cliente con los requerimientos •



Inicio: Se definen los objetivos del proyecto y los recursos necesarios para su implementación. El inicio define hacia donde queremos ir, no como queremos ir.



Control en producción: control del producto, analizando como el producto difiere o no de los requerimientos originales e iniciando de ser necesario las correcciones respectivas.



Expresión de necesidades: se reflejan los requerimientos y funcionalidades que ofrecerá el sistema al usuario



Especificaciones: se trata de la formalización de los requerimientos.



Análisis: se tiene una descripción clara del producto a construir, que funcionalidades aportara y que comportamiento tendrá.



Diseño: definir relaciones y entidades de las bases de datos y seleccionar el lenguaje de programación a utilizar.



Implementación: se empiezan a codificar algoritmos y estructuras de datos en el lenguaje antes definido. En el caso de modelo de ciclo de vida Code&Fix, se empieza meramente por esta etapa, saltándose las etapas de especificaciones, análisis y diseño con la siguiente perdida de control sobre la gestión del proyecto.



Debugging: garantizar que el programa no contenga errores de diseño o codificación.



Validación: tiene como objetivo la verificación de que el sistema desarrollado cumple con los requerimientos.



Evolución: se le asigna el agregado de nuevas funcionalidades (evolución) y la corrección de errores que surgen (mantenimiento).



Metodología estructurada: cada función a realizar por el sistema se descompone en pequeños módulos individuales.



Metodología orientada a objetos: arma módulos basados en componentes, es decir, cada componente es independiente del otro. Esto nos permite que el código sea reutilizable

 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.

 Ciclo     

de vida lineal.

Es el más sencillo de todos los modelos. Consiste en descomponer la actividad global del proyecto en etapas separadas que son realizadas de manera lineal. Las actividades de cada una de las etapas mencionadas deben ser independientes entre sí. Tiene como desventaja que es muy costoso retomar una etapa anterior al detectar una falla. Es válido tomar este ciclo de vida cuando algún sector pequeño de una empresa necesita llevar un registro de datos acumulativos, sin necesidad de realizar procesos complicados.

 

  

 

Es un ciclo de vida que admite iteraciones. Después de cada etapa se realiza una o varias revisiones para comprobar si se puede pasar a la siguiente. Es un modelo rígido, poco flexible, y con muchas restricciones. Provee un producto con un elevado grado de calidad sin necesidad de un personal altamente calificado. Entre los inconvenientes se pueden considerar: la necesidad de contar con todos los requerimientos (o la mayoría) al comienzo del proyecto, y, si se han cometido errores es costoso y difícil volver atrás para realizar la corrección. Es un modelo puramente teórico, ya que el usuario rara vez mantiene los requerimientos iniciales. Hoy en día, solo se le cita como ejemplo bibliográfico.







Contiene las mismas etapas que el ciclo de vida en cascada puro. A diferencia de aquél, a éste se le agregaron dos sub etapas de retroalimentación entre las etapas de análisis y mantenimiento, y entre las de diseño y debugging. Las ventajas y desventajas de este modelo son las mismas del ciclo anterior, con el agregado de los controles cruzados entre etapas para lograr una mayor corrección. Podemos utilizar este modelo de ciclo de vida en aplicaciones, que si bien son simples, necesitan una confiabilidad muy alta. Un ejemplo claro en

Variación del ciclo de vida en cascada puro  Las diferentes etapas pueden ser solapadas  Retroalimentación entre etapas aumenta eficiencia. 

VENTAJAS  

Ganancia de calidad en el producto final No hace necesario una documentación detallada para cada etapa, ya que se comparten partes de la documentación.

DESVENTAJAS 



Dificultad de identificar el inicio y el fin de cada etapa En caso de presentarse problemas de comunicación estos van a generar inconsistencias.







Las cascadas se dividen en subetapas independientes que pueden ser desarrolladas en paralelo. Es ventajoso en el sentido de que permite que más gente este trabajando al mismo tiempo Si surgen dependencias entre distintas etapas podría tener que

 



Basado en el ciclo de vida en cascada puro Tiene como fin evitar que el producto final no sea lo que el cliente solicitó. Se realizan iteraciones de varios ciclos de vida en cascada, entregando una versión mejorada, o ampliada, luego de

 El

cliente evalúa corrige, o propone mejoras.  Se itera hasta que el producto final sea el requerido.  Ideal para utilizar en situaciones de incertidumbre sobre los requerimientos.

 Uso

de los prototipos para validar los requerimientos en cualquier ciclo de vida.  Cuando los requerimientos no han sido detallados, entendidos o clarificados con exactitud, se realiza primero un prototipo con especificaciones iniciales, obteniendo así un producto parcial y provisional.

• •

• •



Se hace un producto intermedio Se analizan como responderán las funcionalidades previstas para el producto final. Se debe evaluar la inversión y el esfuerzo de hacerlo Se utiliza cuando no se conoce con exactitud los resultados posibles, o el comportamiento de mismo Es sumamente costoso y la administración es complicada.

Los requerimientos pueden cambiar en cualquier momento. Afronta este problema mediante una iteración de ciclos requerimientosdesarrollo-evaluación. Útil cuando desconocemos la mayoría de los requerimientos iniciales, o estos requerimientos no están completos.

Ejemplo: Sistema centralizado de stock-ventasfacturación.

Se basa en la filosofía de construir incrementando las funcionalidades del programa. Se realiza construyendo por módulos que cumplen diferentes funciones del sistema. Esto permite ir aumentando gradualmente las capacidades del software

 Menos

riesgoso que construir un sistema más grande.  Más fácil relevar los requerimientos del usuario.  Si de detecta un error grave, solo se desecha la última iteración.  Filosofía de divide & conqueror.

Este modelo de ciclo de vida no esta pensado para cierto tipo de aplicaciones, sino que esta orientado a cierto tipo de usuario o cliente

Se basa en una serie de ciclos repetitivos para ir ganando madurez en el proyecto final. Concepto de riesgo que aparece debido a las incertidumbres e ignorancias.

En este modelo hay cuatro actividades que envuelven a las etapas:  Planificación.  Análisis de riesgo.  Implementación.  El cliente evalúa el

prototipo.

Desarrollo de software es que puede comenzarse el proyecto con un alto grado de incertidumbre. Bajo riesgo de retraso en caso de detección de errores. Algunas de las desventajas son: el costo temporal y la dificultad para evaluar los riesgos.

Modelo adecuado para grandes proyectos internos de una empresa.

Ejemplo: Programa que administre reclamos, pedidos e incidentes.

 En

esa metodología cada funcionalidad, o requerimiento solicitado por el usuario, es considerado un objeto.  Abstracción de los requerimientos de usuario.  Fichas CRC  No necesariamente se usa con un lenguaje orientado a objetos.



Ejemplo: Programas de monitoreo de procesos, grandes sistemas de transacciones sobre base de datos, procesamiento por lotes.

 Empresa:

EvolutionSoft  Profesional entrevistado: Salomé Brenes.  Puesto: Directora de Proyectos.



Brevemente, ¿Qué es e-volutionSoft? EvolutionSoft es una empresa consolidada que se encarga del desarrollo de software para aplicaciones de manufactura, entre las que se pueden mencionar: administración de compras, control de inventarios, proceso productivo y trabajo en planta con costeo de estos; sistemas de mantenimiento preventivo y correctivo de flotillas;

• ¿Hace cuantos años están al servicio de la clientela costarricense? • 12 años. • ¿Bajo qué objetivo fue creada la empresa? • El principal objetivo de la empresa fue desarrollar software para aplicaciones meramente enfocadas a la manufactura.



En términos generales, ¿cómo es el proceso que utilizan (ciclo de vida) del desarrollo de software a la medida? ¿Cuál es la duración promedio de los proyectos? ¿Cómo se establece el precio?



El ciclo de vida que utilizan a la hora de vender un servicio se resume en los siguientes pasos: Se hace análisis y establecimiento de requerimientos del cliente acompañado y asesorado por uno de los ingenieros industriales de la compañía. Se efectúa una estimación del tiempo de realización del proyecto por parte de un programador. Se calcula el precio final y se consulta con el cliente. Se incurre en una primera implementación y capacitación del programa. Se espera la aprobación del cliente. Se da la implementación final del programa en la compañía.

• • • • • • • •

La duración de un proyecto depende mucho en los requerimientos del cliente y los recursos que este posea. El precio del desarrollo de un servicio se obtiene con base a hora de consultoría, la cual varía entre ingeniero industrial y programador.

• ¿Cómo describiría usted el mercado costarricense para este servicio? ¿Existen diferencias con respecto al mercado del resto de América Latina? • Se está presentando una tendencia a la adquisición de programas de software estándares, no tanto al desarrollo de software a la medida, pues se busca disminuir los contratiempos de trabajar con requerimientos de los clientes que no saben en especifico que es lo que necesitan y el controlar cambios presenta un gran problema. • Se ahorran gran cantidad de costos a la hora de renovar el software con nuevas versiones por medio del servicio de soporte. • Entre los casos particulares se encuentre

• A la hora de adquirir el servicio, ¿el cliente adquiere solamente el software, o también adquiere capacitación y mantenimiento del mismo? • El cliente obtiene la implementación, seguimiento y capacitación inicial del software. Existe la opción de adquirir el servicio de soporte, la cual se basa en el derecho de recibir las nuevas versiones del software conforme vayan saliendo al mercado. • ¿De quién es la propiedad intelectual del software y el código fuente? ¿Qué otras cosas adquiere el cliente? • La propiedad intelectual es de EvolutionSoft, sin embargo el cliente recibe el código fuente. Además de esto el cliente recibe: la documentación completa, los diagramas, las

Related Documents

Desarrollo De La A
November 2019 53
A Medida
June 2020 14
La Medida
June 2020 9

More Documents from ""