Temario de programacion

March 23, 2018 | Author: yugu_100 | Category: Software Development Process, Software, Scalability, Quality (Business), World Wide Web


Comments



Description

Tipos de soluciones de software de ámbito web¿Qué es un Software de entorno Web (o Aplicación de Cliente-Servidor)? Un Software de entorno web es un sistema informático al cual sus usuarios pueden acceder y operar desde Internet o también desde una red privada de computadoras (intranet). Los sistemas de ámbito web tienen básicamente estas virtudes fundamentales:  Son accesibles remotamente desde cualquier lugar con conectividad a Internet.  Poseen una interfaz de acceso común y un protocolo de transferencia universal (HTTP)  Cualquier usuario puede realizar el programa, independientemente del sistema operativo y dispositivo que esté usando. ¿Para qué sirve un Software de gestión WEB? La información y procesos de negociación se realizan a través de sistemas de gestión y estos a su vez cuentan con una máxima potencialidad, flexibilidad y alcance cuando se desarrollan y funcionan en entornos cliente/servidor. Las posibilidades y alcances son muy amplios, pero los software de gestión (de ámbito web o no) sirven:  La gestión de potenciales clientes (propuestas, presupuestos, feedback, etc.)y la administración de clientes efectivos (gestión de ventas, seguimiento y soporte).  Administrar compras y adquisición de insumos.  Para la liquidación/ pago de impuestos.  Administrar recursos humanos (adquisición de personal, liquidación de sueldos, etc.)  Automatizar y mejorar los procesos de comunicación e información entre la empresa y sus agentes externos o internos.  Permitir el networking (puntos de trabajo/ colaboración donde sus involucrados no necesariamente deben encontrarse en un mismo ámbito físico)  Para descentralizar gestiones de logística, comercialización, ventas, distribución, cobranzas, etc.  Para administrar publicidad online, la difusión y promoción de productos o marca de Internet (CMS)  Obtener un control de situación y evolución del negocio puesto quelos datos almacenados en el sistema permiten la elaboración de estadística o parámetros clave de rendimiento (KPls)  Automatizar un sinfín de tareas mecánicas de administración. Encargar. los cada vez más populares Software Opensourse. a la vez que controlan y registran los procesos empresariales. prescindiendo en lo posible de los atributos particulares o parámetros propios de cada empresa o negocio en particular. El software enlatado es la analogía del “plug and play” en los dispositivos de hardware. también forman parte de estos sistemas “enlatados” o seriales. y se comercializa de manera abierta puesto que se trata más de un producto que de un servicio. Un software serial para que sea realmente una buena opción. Sistema adaptado (software enlatado con funcionalidades modificadas o adaptadas) 3. es que haya sabido resolver eficientemente los procesos claves intrínsecos a las reglas de negocio principales y críticas. No es exclusivo para un único comprador y generalmente sus funciones son estandarizadas a los usos más frecuentes o básicos de un sector /rubro de mercado. Estos son aquellos que reúnen las siguientes características:  Son de código abierto y pueden hacérseles mejoras y adaptaciones para uso público o privado. Un software enlatado es el que se ha desarrollado desde una abstracción acertada de las funciones y operatoria más importantes de las empresas que pertenecen a un rubro o sector específico de cualquier industria. Para incrementar la productividad de los empleados de una empresa. Básicamente existen 3 tipos de soluciones de software de gestión de ámbito web para una Pyme: 1. Software serial (o sistema enlatado) 2. aceleran las comunicaciones y las transacciones. puesto que la complejidad de administrar la operatoria de grandes empresas mediante software. almacenando toda la información en sus bases de datos. descargando (o adquirido a través de un CD/DVD). instalado y usado. ¿Cómo Elegir. Software serial (o sistema enlatado) Un software serial es aquel que se desarrolla para ser vendido en serie. es a través de aplicaciones complejas distribuidas de varios niveles. Software web opensource Aparte del software propietario. . Sistema desarrollado a medida. Siempre está listo para ser comprado. o Adquirir un Software de Gestión Web adecuado? El alcance de este material es exclusivo para evaluar requerimientos de software de gestión para empresas pequeñas o medianas. ya que esto último haría que el software sea muy útil para algunas empresas e inútil para otras. condiciones y limitaciones acordadas en forma escrita)  La cesión de determinados derechos del propietario al usuario final sobre una o varias copias del programa informático. cliente) un derecho de uso del sistema informático.  El ámbito geográfico de validez del contrato  La no cesión del programa a terceros o la reinstalación del programa en equipos distintos al que se instaló originalmente.  Siempre está más actualizada y es mejor versionado ( los updates son descargables desde la web de la empresa desarrolladora)  Generalmente está mayor documentado y es mas usable  Posee interfaces gráficas más agradables y estilos homogéneos  Es muy poco flexible y adaptable a necesidades particulartes (desventaja)  Es muy poco escalable (desventaja) Software como Servicios rentados de aplicaciones (ASP).  Los limites en la responsabilidad por fallos. que un software a medida  Generalmente tiene mayor madurez temporal  Al ser utilizado por muchas empresas.) Licencias de Software de ámbito Web Todo software serial o enlatado posee una licencia. la corrección constante de errores hace que estos se minimicen.  El plazo de cesión de los derechos. . etc. Esta es un contrato donde el titular del software (propietario o desarrollador) cede al usuario (comprador. a múltiples empresas clientes a través de la red de Internet. Su uso y distribución es libre y gratuita ( no pueden pagarse licencias ni por el producto en si mismo. y además puede distribuirse libremente)  Lo único que debe “pagarse” en relación a estos software es el soporte técnico y los servicios derivados de ellos a los profesionales informáticos expertos en ellos (instalación. según ciertos términos. capacitaciones de usuarios. adaptaciones personalizadas. mantenimiento. Ventajas y desventajas de un software  Costo bajo  Generalmente cumple con más atributos de calidad.Application Service Provider-) También conocidos como “hosted” software services son aquellos servicios que proveen el acceso y utilización de un software desde un servidor central (O distribuido) que es propiedad del proveedor. consultar con sus desarrolladores o con terceros (si el software se entrega con código abierto) sus posibilidades de customizacion. Y esta compatibilidad. es que la aplicación y todos los datos de las empresas clientes están alojados en los servidores de la empresa proveedora del servicio. inclusive aquella información crítica y confidencial. y además deben confiar que ellas manejen sus datos de negocios. ¿Cómo implementar un sistema adaptado? Para utilizar un sistema así. agregarle o eliminarle. Generalmente las empresas desarrolladas de software ofrecen las customizaciones de sus propios productos.La diferencia fundamental entre este servicio y la implementación de un software propietario en servidores propios. Hay que tener mucho cuidado con lo siguiente: . La razón por la cual no nos gusta este tipo de soluciones es porque las empresas clientes se vuelven (esclavas) de las empresas proveedoras. a menos que se trate de una prestación realmente útil a un costo razonable y que ofrezca la posibilidad de resguardar los datos de la empresa y/o descargarlos en formatos estándares compatibles con otras aplicaciones. nunca se da el 100% plena y portable. la cual generalmente cobra un fee mensual por el derecho de su utilización y/o soporte. Desde nuestro punto de vista estos servicios no son una buena alternativa. alterarle. presupuestando estos trabajos aparte del costo del software. pero también cuando los softwares enlatados se entregan con un código abierto (opensource) pueden ser personalizados por terceros (otras empresas o programadores independientes). lo primero es buscar un software serial (o enlatado) que mejor se ajuste a nuestras exigencias. Sistema adaptado (software enlatado con funcionalidades modificadas o adaptadas) Un sistema adaptado no es ni más ni menos que un software serial (o enlatado) que se customiza (personaliza) para crear funcionalidades no contempladas en el software original. No deberían confundirse los servicios de aplicaciones con los servicios web (web services) . y luego. indicando exactamente que habría de cambiarle. porque siempre deberá manipularse el ordenamiento o definición o tipos de datos para poder importarlos correctamente en una aplicación de destino. o para modificar/anular operaciones que no siguen las reglas propias de un negocio en la operatoria de la empresa que lo utiliza. Resumidamente estas etapas son: 1. Este modelo (en realidad son vario) que determina la forma de ordenar en etapas las diferentes fases del desarrollo del trabajo. 5. se implementa y se perfecciona/mantiene. Esto último generalmente se hace mal. 6. se diseña. 8. 7. El ciclo de vida del software . Sistema web desarrollado a medida Un software desarrollado a medida es aquel que se concibe (como idea) se analiza. . relativamente económico y efectivo si hace bien. Implementación (creación de algoritmos y bases de datos. lento y una mala opción. Evolución y escalabilidad. validación y depuración (debuggin). ya que siempre es mejor desarrollar un software desde cero y a medida que modificar radicalmente la estructura de uno existente. intuitivamente saben diferenciar las diferentes fases de un desarrollo. 9. Expresión de necesidades o formalización de requerimientos. Lo primero es viable. Concepción de ideas de sistematización o informatización. Instalación en entorno de producción (servidor web) y puesta en marcha. lo segundo es inviable.Una cosa es customizar un software y otra muy distinta es alterar su estructura lógica. 3. El software a medida cumple todo su ciclo de vida en una constante interacción entre la empresa cliente y el desarrollador. Diseño o modelado del sistema. caro. 4. Aunque no todos los programadores amateurs conocen todas estas etapas del desarrollo de software (ni tampoco los modelos teóricos del ciclo de vida). 2. se planifica. según los requerimientos y encargos específicos de una empresa cliente (quien solicita el software) la cual contrata a una empresa de software o profesional programador para que desarrolle de principio a fin el proyecto de informatización. Al desarrollo completo de un sistema informático se lo llama ciclo de vida de un software. Análisis del sistema. Mantenimiento y administración.¿Cómo se desarrolla un software de gestión a medida? El ciclo de vida de un software o sistema informático es un modelo (en realidad son varios modelos) o forma de ordenar en etapas las diferentes fases de desarrollo de trabajo. codificación) Periodo de prueba (testing). El grado de experiencia que tenga/n el/los programador/es en la informatización de otras empresas del mismo rubro (puesto que si tiene/n mucha experiencia en un sector. Estos son propios de la propia complejidad del proyecto. o encargados de programar ciertos módulos específicos) coordinados por un director de proyecto. hasta empresas de software de muy diferentes tamaños. La velocidad del desarrollo de software depende de muchos factores. sistemas ya modelados. La constante interactividad entre usuarios finales y programador/es es fundamental. y en general comprende/n la lógica estructural de su funcionamiento.¿Quiénes lo hacen? Dependiendo del tamaño del proyecto de desarrollo de un software de gestión pueden intervenir en él tan solo un programador. El grado de “colaboración “por parte de los usuarios finales (o la parte interesada) en participar e involucrarse en ayudar a los programadores a entender y relevar los requerimientos de manera adecuada y cabal. etc. o un equipo de programadores (más especializados cada uno de ellos en diferentes áreas de la programación. . seguramente ya tiene/n prototipos armados. Tiempo o velocidad de desarrollo Temporalmente hablando. teniendo en cuenta que el sistema debe contemplar un sincronismo/comunicación adecuada entre los diferentes departamentos o áreas de la empresa. ingenieros en sistemas que trabajan por su cuenta. Un proyecto grande puede llevar un año de desarrollo o incluso varios años. El grado de competencia. o pertenecen a atributos propios del/los programador/es del sistema. casos de usos probados. el desarrollo de un software de gestión de mediana complejidad puede insumir un trabajo de varios meses (por ejemplo entre 5 y 7). documentación. selección de profesionales adecuados y administración de recursos adecuada. capacidad y experiencias que tengan el/los programador/es que trabajaran en el proyecto. La cantidad y diversidad de perfiles o roles del usuario.) El grado de eficiencia del análisis y planificación del proyecto: coordinación de tareas. Estos factores a grandes rasgos son:       El tamaño de su empresa que determina la cantidad y complejidad de operaciones que deben informatizarse. módulos completamente codificados que son reutilizables. delegación de responsabilidades. Hay muchas posibilidades en el mundo de la programación: Desde programadores independientes (o freelancers). todo depende de la magnitud del proyecto y como mencionábamos antes. Costos Teniendo en cuenta que se trata de plazos generalmente prolongados. y el insumo de los recursos humanos es elevado. también. las operatorias de las empresas. Es difícil si quisiera citar un rango del rango del costo de un software de gestión. del tamaño de la empresa y la cantidad/complejidad de operaciones a informatizar que se verán reflejadas en el tamaño y complejidad del software. incluso antes de ponerlos en marcha. De soporte y mantenimiento. De actualización. finalmente que el software puede tener varios costos:     De desarrollo e implementación. disponibilidad y recursos humanos para atender el proceso de desarrollo a medida que implica varios meses . Lo mismo sucede con las tecnologías de las bases de datos. los recursos disponibles y las reglas del negocio. De la disponibilidad de softwares enlatados utilizables o re-utilizables (adaptados) De la disponibilidad de desarrolladores capaces y competentes en proyectos complejos Del grado de compromiso. Muchas veces los softwares de gestión se vuelven obsoletos. De las necesidades específicas de su negocio o empresa.Obsolescencia tecnológica y/o operativa Un desarrollo. Hay que considerar. De la inmediatez con la cual requiere la solución. hasta su puesta en producción nunca debería insumir más tiempo del estrictamente necesario: las condiciones del mercado cambian. De los usos que va a dar al software de gestión. estos sistemas de gestión desarrollados a medida son costosos si es que se los desarrolla de manera profesional y cumplen con las características optimas del software de calidad. Hay que tener en cuenta también el avance tecnológico: la forma de codificar en los leguajes de programación evoluciona muy rápidamente. De implementación y programación de nuevas funcionalidades (escalabilidad) ¿Cuál es la mejor opción al momento de elegir un tipo de solución? Esta decisión depende de muchos factores:        De presupuesto y de costos de desarrollo. . actualizaciones. puesto que lo más probable es que estos no tengan una visión clara al dimensionar las magnitudes del desarrollo.. etc. Aspectos a tener en cuenta al evaluar software. Analizar la experiencia y referencias de la empresa proveedora de software en el proceso de consultoría previa (es preferible “averiguar” todo bien antes de embarcarse con algún proveedor) Analizar la madurez temporal del software y su continuidad (cuando salió la primera versión del software?) Quien o quienes ya lo utilizan (requerir referencias comprobables y casos de éxito) comprobar la frecuencia de actualización (periocidad en el lanzamiento de las versiones del producto) para evitar la obsolescencia tecnológica. etc) Solicitar demostraciones en vivo (demos) y documentación/manuales del software Analizar posibilidades de escalabilidad y flexibilidad El Error más Frecuente El peor error al optar por una determinada solución de software es basarse en el precio/costo como variable más importante de decisión.. Nuestro humilde consejo es el siguiente: usted nunca debería tomar este tipo de decisiones basado exclusivamente en apreciaciones propias. por soporte. etc. y tomar esto como un compromiso de él/ella de responder en esos periodos. por utilización. proveedores. El segundo error más frecuente El segundo peor error es contratar programadores independientes con poca experiencia para llevar adelante desarrollos de sistemas web de cierta complejidad. etc Solicitar al proveedor que revele sus tiempos reales de respuesta ante requerimientos de soporte o mantenimiento. como así también los requerimientos en detalle. Del grado de complejidad de informatización de sus procesos de negocio. por actualizaciones. siempre debería consultar con algún especialista en software que analice a fondo su situación y la de su empresa. o desarrolladores de Software           Evaluar costo del software Desagregar costos y tener bien en claro precios por licencia. y prever su perdurabilidad en el tiempo Analizar la autoridad o cuota del mercado de la compañía desarrolladora (su trayectoria en software para el rubro) Definir bien los tiempo y plazos de todo proceso del servicio (puesta en marcha. por mantenimiento. etc. implementación. para poder evaluar la adopción de una solución adecuada. puesto que la práctica es muy difícil que un software complejo pueda superarlos todos (a menos que se trate de un software desarrollado por Sun Microsystems. por un establecido o implicado conjunto de usuarios. Microsoft. productiva. recuperar préstamos. etc) Atributos de calidad de software web Hay más de 18 atributo. . pero conocerlos de antemano te permitirá evaluar la profesionalidad y competencia de los desarrolladores / programadores. programa o intervención. y en la valoración individual de tal uso. o a quienes deseen reprogramarlo. ¿Cómo evaluar la calidad un Software Web? Para poder evaluar la calidad de un software de ámbito web (también conocido como aplicación cliente-servidor o sistema transaccional remoto) es necesario considerar sus:   Cualidades Externas (se refieren a factores esperables que son útiles o aprovechables por los usuarios finales de un sistema) Cualidades internas (aquellas que permitirán una labor sencilla. La mayoría de estos atributos de calidad no pueden ser evaluados a prioridad (cuando el software todavía no ha sido programado). de los cuales priorizare aquí los más importantes que a mi entender son más aplicables o esperables en ámbitos web. a los desarrolladores del sistema.No todos los profesionales o programadores tienen una ética profesional con un mínimo de responsabilidad como para saber reconocer sus limitaciones y capacidades que les impida embarcarse en proyectos que están más allá de sus posibilidades y que jamás podrán cumplir. Se asume que dicha especificación es correcta y completa.Porcentaje de recursos generados en relación al gasto total para la producción del bien o servicio . mantenerlo. Calidad de Software Web Correctitud: Un programa es funcionalmente correcto si se comporta de acuerdo a la especificación de las funciones que debe proveer. Usabilidad: Un conjunto de atributos relacionados con el esfuerzo necesario para su uso. Economía: Este indicador se relaciona a la capacidad de una institución.Porcentaje de recuperación de préstamos. ordenada y eficiente.Presupuesto ejecutado respecto al presupuesto programado. . . etc). Observación Se asume la existencia de una especificación requerimientos. generar ingresos propios para financiar sus actividades. para administrar sus recursos financieros. que proporciona información sobre algo con un fin determinado.Atributos del software que se relacionan con los tiempos de respuesta y procesamiento y en las tasas de rendimientos en desempeñar su función. Comprensibilidad: se refiere a atributos que facilitan entender si el software resulta adecuado y cómo puede usarse. Con frecuencia se estudia la escalabilidad de un sistema hacia arriba. Comportamiento en el tiempo .Usar las cantidades y tipos de recursos adecuados cuando el software lleva a cabo su función bajo condiciones determinadas. Compatibilidad: es el software amigable con otros sistemas. se mide la capacidad del sistema para manejar. por ejemplo. Escalabilidad: pueden agregarse funciones de manera rápida y consistente Es la capacidad de un sistema para trabajar con diferentes cantidades de trabajo. . en cambio es una medida de la facilidad con la que se lo puede adaptar al nuevo entorno. Facilidad de recuperación Propiedad de la aplicación para prevenir el acceso no autorizado a sus programas y datos Eficiencia . si está preparado para que yo agregue un servidor más a un cluster eso se podría considerar escalable. La medida de escalabilidad no requiere que el sistema funcione intacto en las nuevas condiciones.Conjunto de atributos relacionados con la relación entre el nivel de desempeño del software y la cantidad de recursos necesitados bajo condiciones establecidas. como cambios en el volumen de datos o flujo de pedidos. por ejemplo. Confiabilidad: Capacidad de la aplicación para mantener un nivel de rendimiento aceptable bajo condiciones normales. Nivel de madurez Capacidad de la aplicación para realizar funciones apropiadas a las tareas o procesos del negocio que ejecutan los usuarios Tolerancia a fallas Habilidad que tiene la aplicación para interactuar con otros sistemas o aplicaciones.Documentación y visibilidad: el procesamiento de la información. un mayor volumen de datos. es decir. Comportamiento de recursos .
Copyright © 2024 DOKUMEN.SITE Inc.