Evolución del Software

Page 1

EVOLUCIÓN DEL SOFTWARE YELI NAIDELIN ROJAS ALVARADO


INTRODUCCIÓN • El Software representa la vida interna de un computador, el manejo y aprovechamiento del mismo y todas las ventajas que se brindan el mundo de las computadoras, depende del software, facilitando a los usuarios el desarrollo de programas que contribuyen con tareas diarias tanto personales como generales, empresariales y organizacionales el software en sus diferentes tipos es el elemento esencial como interfaz entre usuario - computador, su historia desde un principio se muestra con poca atención pero con el paso del tiempo se ha tornado importante para los programadores y creadores de sistemas tanto de aplicación como operativos, todo lo que se ve digitalizado en un computador representa el software clasificado de alguna forma, las herramientas del menú inicio y todas aquellas que se despliegan al encendido del CPU, el desarrollo de esta herramienta ha permitido innovar en cuanto a la robótica he inteligencia artificial facilitando el trabajo en determinadas áreas laborales y agilizando las mismas por ejemplo en la fabricación de vehículos mediante software de programación se diseñan estructuras robóticas inmensas y fuertes que realizan tareas que al brazo humano le tomarían mas tiempo.


RESEÑA HISTÓRICA DEL SOFTWARE En 1990 La crisis del software se fundamentó en el tiempo de creación de software, ya que en la creación del mismo no se obtenían los resultados deseados, además de un gran costo y poca flexibilidad. Es un término informático acuñado en 1968, en la primera conferencia organizada por la OTAN sobre desarrollo de software, de la cual nació formalmente la rama de la ingeniería de software. El término se adjudica a F. L. Bauer, aunque previamente había sido utilizado por Edsger Dijkstra en su obra The Humble Programmer. Básicamente, la crisis del software se refiere a la dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables. Las causas son, entre otras, la complejidad que supone la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para ser continuamente adaptado a las necesidades de los usuarios. Además, no existen todavía herramientas que permitan estimar de una manera exacta, antes de comenzar el proyecto, cuál es el esfuerzo que se necesitará para desarrollar un programa. Este hecho provoca que la mayoría de las veces no sea posible estimar cuánto tiempo llevará un proyecto, ni cuánto personal será necesario. Cuando se fijan plazos normalmente no se cumplen por este hecho. Del mismo modo, en muchas ocasiones el personal asignado a un proyecto se incrementa con la esperanza de disminuir el plazo de ejecución. Por último, las aplicaciones de hoy en día son programas muy complejos, inabordables por una sola persona. En sus comienzos se valoró como causa también la inmadurez de la ingeniería de software, aunque todavía hoy en día no es posible realizar estimaciones precisas del coste y tiempo que necesitará un proyecto de software. Englobó a una serie de sucesos que se venían observando en los proyectos de desarrollo de software:


- Los proyectos no terminaban en plazo. - Los proyectos no se ajustaban al presupuesto inicial.

- Baja calidad del software generado. - Software que no cumplía las especificaciones. - Código inmantenible que dificultaba la gestión y evolución del proyecto. Aunque se han propuesto diversas metodologías para intentar subsanar los problemas mencionados, lo cierto es que todavía hoy no existe ningún método que haya permitido estimar de manera fiable el coste y duración de un proyecto antes de sus comienzos. En 1984 Richard Stallman deja el MIT y comienza a trabajar en su proyecto GNU, con el objetivo de desarrollar un sistema operativo completamente libre, desde el kernel, editores, compiladores, debuggers, hasta utilitarios más complejos como procesadores de texto e inclusive juegos. Uno de los primeros desarrollos realizados por el mismo Stallman fue el editor de textos GNU Emacs a principios de 1985. Ese mismo año se funda la Free Software Fundation, ente que financia desde entonces al proyecto GNU, la misma se mantiene con donaciones y con el producto de la venta de CD-ROMs tanto de programas binarios como código fuente, manuales y distribuciones completas (conjunto de software para una dada plataforma de hardware).


En este punto conviene aclarar la distinción entre software libre y software gratuito. Se entiende que el poseedor de software libre tiene la libertad de: • Ejecutar el programa. • Modificar el programa (para que este punto tenga sentido es necesario que el programa sea distribuido con el código fuente). • Redistribuir copias del programa (ya sea gratis o no). • Distribuir copias modificadas del programa. Con el tiempo, los programadores de la Free Software Fundation fueron completando algunas de las tareas planeadas originalmente por el proyecto GNU, entre otros la biblioteca de lenguaje "C", y el shell más utilizado en los sistemas GNU/Linux: bash. El éxito conseguido por estos programas que no sólo trabajan en sistemas GNU/Linux, sino que han sido portados a otras plataformas, forzaron a sus desarrolladores a dedicar un tiempo importante a su mantenimiento y mejora. De esta manera, el desarrollo completo de un sistema operativo basado en software libre se vio demorado por algunos años.


Por otra parte, además de los productos de la FSF, existen otros desarrollos de software libre que fueron aprovechados por el proyecto GNU, entre los más importantes están el TeX como procesador de textos y el X Windows System como sistema gráfico de interfase con el usuario. Alrededor de 1990 el único componente básico del sistema que estaba faltando era el kernel. La decisión que se tomó en ese momento fue utilizar el microkernel Mach (desarrollado por las universidades Carnegie Mellon y la de Utah), adicionándole una serie de procesos servidores desarrollados por la FSF. A esta combinación de un micro-kernel con procesos servidores independientes se le llamó HURD. Recién desde los últimos meses de 1999 HURD ha comenzado a ser utilizado en forma confiable. Mucho antes de que esto sucediera, un estudiante finlandés, Linus Torvalds, desarrolló un kernel para computadoras basadas en el procesador Intel 386, compatible con unix, que llamó LINUX. Este kernel fue también desarrollado como software libre, y rápidamente fue creciendo merced a la colaboración de programadores de todo el mundo. En este momento Linux ha sido portado a toda la gama de procesadores Intel a partir del i386: (486, Pentium, Pentium II y III, Celeron), a procesadores para PC's de Cyrix y de AMD, e incluso a procesadores tipo sparc (SUN), a los procesadores Motorola 68000 (Apple MacIntosh), a procesadores Alpha (de 64 bits, utilizados por Compaq, antes Digital). De esta manera, alrededor de 1992 fue posible combinar el kernel Linux con los utilitarios del proyecto GNU y surgió el primer sistema operativo completamente basado en software libre.


TIPOS DE SOFTWARE, DESCRIPCIÓN Y EJEMPLOS • Software de sistema Es el software básico o sistema operativo. Es un conjunto de programas cuyo objeto es facilitar el uso del computador (aísla de la complejidad de cada dispositivo, y presenta al exterior un modelo común de sistema de manejo para todos los dispositivos) y conseguir que se use eficientemente (ejemplo: realizar operaciones mientras se ejecuta un programa). Administra y asigna los recursos del sistema (hard-ware), ejemplo windows xp, edition, vista, ms-dos, lunix, unix, mac, e incluido en este se encuentran los Programas de utilidad: (se le podrían llamar también software de mantenimiento): desfragementador de discos, liberador de espacio etc. • Software de Aplicación Son los programas que controlan y optimización la operación de la máquina, establecen una relación básica y fundamental entre el usuario y el computador, hacen que el usuario pueda usar en forma cómoda y amigable complejos sistemas hardware, realizan funciones que para el usuario serían engorrosas o incluso imposibles, y actúan como intermediario entre el usuario y el hardware, ejemplo cuando nos vamos a inicio\todos los programas. y todos los que aparezcan ahí, instalados así se les llaman "software de aplicación"


LA ROBÓTICA Y EL SOFTWARE DE SISTEMAS OPERATIVOS Permite examinar en detalle el comportamiento estático y dinámico de dispositivos cinemáticos (por ejemplo robots). Es una herramienta muy potente tanto las aplicaciones de ingeniería robótica, I+D y test de rendimiento de sistemas robóticos. Permiten una gran flexibilidad en el análisis del comportamiento de sistemas cinemáticos complejos. Muestra los resultados de forma gráfica. Está concebido como el osciloscopio para la robótica. Los robots son utilizados en una diversidad de aplicaciones, desde robots tortugas en los salones de clases, robots soldadores en la industria automotriz, hasta brazos teleoperados en el transbordador espacial. Cada robot lleva consigo su problemática propia y sus soluciones afines; no obstante que mucha gente considera que la automatización de procesos a través de robots está en sus inicios, es un hecho innegable que la introducción de la tecnología robótica en la industria, ya ha causado un gran impacto. En este sentido la industria Automotriz desempeña un papel preponderante.

El gigante de la informática Microsoft lanzo un sistema operativo para robots. Bajo el nombre de Microsoft Robotics Studio, pretende facilitar la labor de quienes se dedican a la programación de robots reales o simulados y, de paso, ocupar una posición más relevante en la industria de la robótica. Este sistema operativo sirve para programar todo tipo de robots, tanto de juguete como aquellos que se utilizan en las industrias, y estará a disposición de investigadores y aficionados de forma gratuita.


LA INTELIGENCIA ARTIFICIAL COMO TENDENCIA EN SISTEMAS OPERATIVOS Llamada polisemia, la que los diferencia, como veremos, de los códigos computacionales. En la actualidad, el problema de la comprensión del lenguaje natural por las máquinas dista mucho de estar resuelto, pero, como en el caso del procesamiento de voz, hay aproximaciones de utilidad práctica. La primera, la menos sofisticada, que no puede considerarse inteligencia artificial, consiste en hacer que el programa dirija el dialogo, forzando al usuario a responderle dentro de unos marcos muy rígidos, ya sea por medio de selecciones en menú, o mediante preguntas escogidas que sólo puedan responderse con SI o NO. Evidentemente, tendremos un dialogo en lenguaje natural, pero el usuario no ha llegado a escribir una sola frase completa. En una segunda aproximación, lo que el programa interpreta no es un lenguaje natural sin restricciones, sino una versión simplificada, con reglas gramaticales más estrictas que las ordinarias, para evitar la ambigüedad. Podríamos, por ejemplo, forzar al usuario a utilizar siempre oraciones de Las forma sujeto-verbo-complemento directo. En la tercera aproximación, dejaremos libre la sintaxis del lenguaje, pero se restringe el ámbito semántico, es decir, los sentidos posibles de las palabras. Esta técnica se utiliza a menudo en la interfaz de usuario de los sistemas expertos, en los que el tema sobre el que se esta dialogando se constriñe a un campo muy concreto. Por ejemplo, en un sistema experto en diagnostico medico, las palabras posiblemente ambiguas tomaran con preferencia aquel significado que tenga algo que ver con la medicina. Además, y para ganar tiempo, el programa no suele analizar la sintaxis del texto que ha recibido, sino que se apoya únicamente en los términos más importantes para deducir el significado de la frase, en el contexto de la conversación.


WINDOWS 7 - Descripción Es la última versión de Microsoft Windows, (anteriormente conocido con nombre código Blackcomb, y luego Vienna), un sistema operativo producido por Microsoft Corporation para uso en PCs, incluyendo equipos de escritorio en hogares y oficinas, Notebooks, tablet PCs, netbooks y equipos media center. A diferencia de su predecesor, Windows 7 es una actualización incremental del núcleo NT 6.0, esto con la meta de mantener cierto grado de compatibilidad con aplicaciones y hardware en los que su antecesor Windows Vista ya era compatible. Las metas de desarrollo para Windows 7 fueron el mejorar su interfaz para hacerla más amena al usuario, con nuevas características que permiten hacer tareas de una manera más fácil y rápida, al mismo tiempo en que se realizaron esfuerzos para lograr un sistema más ligero, estable y rápido. Diversas presentaciones dadas por la compañía en el 2008 se enfocaron en demostrar capacidades táctiles multi-touch, una interfaz rediseñada junto con una nueva barra de tareas y un sistema de redes domésticas denominado Grupo en el Hogar, además de mejoras en el rendimiento. - Características •

Windows 7 incluye numerosas nuevas actualizaciones, entre las que se encuentran avances en reconocimiento de voz, táctil y escritura, soporte para discos virtuales, mejor desempeño en procesadores multi-núcleo, mejor arranque y mejoras en el núcleo.

Muchas nuevas características se agregaron al Panel de Control como: Aceleradores, Gadgets, Infrarrojo, Solución de problemas, Localización y otros sensores, Administrador de Credenciales, Windows Solution Center, entre otros.

Se hicieron grandes cambios en programas como WordPad, Paint, Calculadora y Teclado en pantalla.

La barra lateral de Windows o más conocida como Windows Sidebar se ha eliminado y ahora los gadgets pueden ubicarse libremente en cualquier lugar del escritorio.

Impresoras y dispositivos: Nuevo item del panel del control en la que se tendrá acceso a todo el hardware que se conecte al PC (marcos digitales, impresoras, cámaras fotográficas, etc). Junto a esto se ha incluido Device Stage, es un administrador de dispositivos móviles que ayuda a los usuarios a sincronizar música, vídeos, fotos y da información acerca del estado de la tarjeta SIM, la carga de la batería, mensajes, etc.

Aero Snaps: Permite cambiar el tamaño de una ventana simplemente con arrastrarla a un extremo de la pantalla, por ejemplo, si se arrastra al tope se maximiza, a la derecha o izquierda ocupa el 50% de la pantalla según el lado al que la arrastremos y si la arrastramos nuevamente al centro toma el tamaño original.


FUNCIONALIDADES Windows 7 estará más enfocado en el rendimiento del sistema operativo. En el blog oficial Microsoft publicó seis de los puntos más relevantes a trabajar: empleo de memoria, utilización de CPU, operaciones de entrada y salida a disco, operaciones de arranque, cierre y reposo, rendimiento del sistema base y empleo de disco por parte del sistema. En una entrevista con Newsweek, Bill Gates dijo que esta nueva versión de Windows estaría más centrada en el usuario; además comentó que trabajan con esmero para mejorar el rendimiento. También uno de sus principales objetivos es mejorar el arranque y tienen como propósito que inicie en menos de 15 segundos. Para esto se propusieron reducir la cantidad de programas y servicios que se inician al cargar Windows. Otra cosa muy presente en el desarrollo de este sistema (gracias a las quejas de los usuarios) es minimizar la intrusión, mejorar el rendimiento y habilitar la modificación del Control de Cuentas de Usuario, ya que éste fue un total fracaso en Windows Vista debido a sus constantes alertas innecesarias en simples acciones diarias.


SOFTWARE ASOCIADO •

Compatibilidad:

Las versiones cliente de Windows 7 serán lanzadas en versiones para arquitectura 32 bits y 64 bits en versiones para Professional y Home. No obstante, las versiones servidor de este producto serán lanzadas exclusivamente para arquitectura 64 bits. Esto significa que, las versiones cliente de 32 bits aún soportarán programas Windows 16 bits y MS-DOS. Y las versiones 64 bits (incluyendo todas las versiones de servidor), soportarán tanto programas de 32 como de 64 bits. •

Modo XP:

Windows 7 incorpora la llamada Windows Virtual PC, un avance sobre Virtual PC 2007 y permite que ejecutar un equipo virtual Windows XP en forma amigable para el usuario (la aplicación dentro de la máquina virtualizada se vé como otra opción en el menú de Windows 7 y su ejecución es directa, sin pasar por el menú de inicio del XP virtualizado). Si bien Microsoft ya había liberado MED-V dentro de su paquete MDOP que cumple la misma función, esta es una solución orientada a profesionales y pequeñas empresas que no necesita de administración centralizada. Al momento del RC, esta funcionalidad se debe bajar en forma independiente en el sitio de Microsoft. Asimismo, el modo XP requiere de procesadores con capacidad de virtualización, a diferencia del tradicional Virtual PC 2007. •

Interfaz:

Se ha establecido públicamente que el equipo de desarrollo de la interfaz Ribbon de Microsoft Office 2007 formará parte activa en el rediseño del Explorador de Windows y posiblemente otros elementos de la Interfaz de Usuario. Esta interfaz ya está incluida en Paint y Wordpad (En Betas de Windows 7).


LÍNEA DEL TIEMPO DEL SOFTWARE


CONCLUSIONES El funcionamiento de los computadores y tecnologías innovadoras relacionadas con la informática, el éxito de las mismas de acuerdo con lo estudiado anteriormente con el tiempo y durante el tiempo dependerá de lo que hoy en día llamamos software, con la diferencia de que con el pasar del tiempo se innovaran nuevas técnicas y software mas eficiente, mejorando características anteriores pero igual seguirá siendo software, sin importar el tipo el funcionamiento de un equipo computacional depende del mismo. La satisfacción de las necesidades de los usuarios seguirá dependiendo del software, ya sea que le permita mejorar el rendimiento de su equipo, software que permita diseñar sistemas, utilizar herramientas que faciliten el trabajo o tareas darías, software que permita editar música, fotos y todo aquello que se pueda incluir e la tecnología informática.


PRIMERA ERA • Se trabajaba con la idea de Codificar y corregir. • No existía un planteamiento previo. • No existía documentación de ningún tipo.

• Existencia de pocos métodos formales y pocos creyentes en ellos. • Desarrollo a base de prueba y error


SEGUNDA ERA • Se busca simplicar código.

• Aparición de multiprogramación y sistemas multiusuarios. • Sistemas de tiempo real apoyan la toma de decisiones. • Aparición de software como producto. (Casas de Software). • Inicio de la crisis del software. • Se buscan procedimientos para el desarrollo del software.


TERCERA ERA • Nuevo concepto: Sistemas Distribuidos

• Complejidad en los sistemas de información • Aparecen: redes de área local y global, y comunicadores digitales • Amplio uso de microprocesadores


CUARTA ERA • Impacto Colectivo de Software

• Aparecen: Redes de información, Tecnologías orientadas a objetos. • Aparecen: Redes Neuronales, Sistemas Expertos y SW de inteligencia Artificial. • La información como valor preponderante dentro de las organizaciones.


QUINTA ERA

โ ข Utiliza algunos requisitos de las eras anteriores solo que cuenta la omnipresencia de la web, la reutilizaciรณn de informaciรณn y componentes de software.


CARACTERÍSTICAS DE UN DESARROLLO DE SOFTWARE MODERNO • El desarrollo de software moderno se distingue básicamente por dos características: la programación orientada al objeto y la separación de las diferentes etapas lógicas en nivel de presentación, de aplicación y de acceso a los datos. Otros parámetros de calidad, tales como la modularización, la creación de versiones y la documentación del código fuente, pertenecen a nuestro estándar igual que una gestión de proyectos enfocada. Formalización del proceso de desarrollo • Debido a la alta complejidad de las aplicaciones modernas, hoy en día hay que prestar mucha atención al proceso de desarrollo mismo. Especialmente cuando se trata de proyectos en los que más de un desarrollador está trabajando a la vez, es importante formalizar el proceso desde el principio para garantizar a continuación una efectiva colaboración entre los diferentes desarrolladores. Consecuencias de no realizar la formalización • Es cierto que cada desarrollador se podría manejar bien dentro de su campo de actividades también sin esta formalización, pero a la hora de componer el sistema más tarde resultarían graves problemas de compatibilidad. Las consecuencias serían demoras inesperadas en el acabado del sistema, una mala mantenibilidad, así como limitadas posibilidades de ampliación.


SERVICIOS DE DESARROLLO DE SOFTWARE ANÁLISIS DE SISTEMAS • Proceso y motivación En el marco del análisis del sistema, se elabora y se perfecciona el modelo de un sistema ya existente o planeado. El modelo creado es - especialmente cuando se trata de sistemas complejos - en la mayoría de los casos una limitada, reducida y abstraída imagen de la realidad, con cuya ayuda se pueden formular conclusiones acerca de pasados o futuros desarrollos y de comportamientos del sistema en ciertos escenarios.


ARQUITECTURA DE SOFTWARE Definición arquitectura de software

• Una arquitectura de software describe los componentes básicos de un sistema de software y su combinación interna. Arquitectura de software en el proceso de desarrollo • En el marco del desarrollo de software, la arquitectura de software representa la decisión de diseño más temprana. Es determinada básicamente por criterios de calidad como la modificabilidad, mantenibilidad, seguridad y el rendimiento. Una arquitectura de software una vez establecida es modificable más tarde solo con gran esfuerzo. La decisión acerca de su diseño es por eso uno de los puntos más críticos e importantes en el proceso de desarrollo de un software. Características de una arquitectura de software exitosa

• Para poder funcionar con éxito, la arquitectura de software debe ser sintonizada con los restantes factores del proyecto de software. Una arquitectura de software bien configurada facilita a los usuarios y desarrolladores la comprensión del sistema. Factores importantes que influyen la aptitud de la arquitectura de software son la planificación de proyectos, el análisis de riesgo, la organización, el proceso de desarrollo, los ciclos de trabajo, el hardware, la garantía de calidad y los requerimientos.


DISEÑO DE BASES DE DATOS Definición diseño de bases de datos • La planificación y la creación de una base de datos representan el diseño de la base de datos. La estructura de una base de datos relacional es modelada, en la mayoría de los casos, mediante un diagrama de entidad-relación. Capacidad de memoria requerida • La capacidad de memoria requerida para una base de datos depende esencialmente del volumen de datos de las diferentes tablas. Al sumar los volúmenes de todas las tablas se obtiene el espacio necesario para todos los datos a ser memorizados en la base de datos. A esto se añade, por regla general, 10-50 % más de capacidad de memoria para las estructuras de gestión de la base de datos. Avería y disponibilidad • En caso de avería de un componente del sistema, éste se sustituye y tras efectuar una memorización de los datos, se reactiva el servicio operativo. Si la disponibilidad del sistema debe ser independiente de las averías en los diferentes componentes, esto se puede garantizar mediante un equipamiento redundante de todos los componentes de sistema.


DISEÑO DE SOFTWARE Definición diseño de software

• Diseño de software es el proceso de diseño para la planificación de una solución de software. Este proceso es, por regla general, necesario para que los programadores puedan manejar la complejidad que la mayoría de los programas informáticos poseen y para disminuir el riesgo de desarrollos erróneos. Ingeniería de requerimientos • Generalmente, cliente y contratista analizan primero los requerimientos que resultan, desde el punto de vista del cliente, para el software a diseñar. En este contexto, el cliente prepara el así llamado pliego de condiciones. Realización • A continuación, cliente y contratista elaboran un concepto, en el que se define con qué estructuras de programa, técnicas de programación y algoritmos los requerimientos analizados anteriormente se deben cumplir y programar. El contratista especifica los resultados de este concepto en el denominado pliego de condiciones.


IMPLEMENTACIÓN Definición implementación • La implementación constituye la realización de determinados procesos y estructuras en un sistema. Representa así la capa más baja en el proceso de paso de una capa abstracta a una capa más concreta. PRUEBA Y REVISIÓN

Pruebas de software • En principio, se distinguen dos tipos de procedimientos de pruebas de software. Mientras las pruebas dinámicas se realizan durante el tiempo de ejecución del programa, los procedimientos de prueba estadísticos se caracterizan por el hecho de que el software no se ejecuta durante estas pruebas. Revisiones

• Las revisiones ofrecen la oportunidad de poder ejecutar ya bien temprano en la fase de desarrollo medidas para asegurar la calidad. Con la ayuda de una revisión completa se detectan alrededor de 60-90 % de todos los errores. En una revisión participan, por lo menos, el autor del programa, un perito, un redactor de actas y un moderador. Con frecuencia, se emplea para la revisión una lista de control estandarizada. El "walkthrough" es una variante de revisión con menos formalismos y menos participantes.


INTRODUCCIÓN Y SERVICIO OPERATIVO Introducción del software • Nosotros instalamos software listo, junto con eventuales dependencias existentes, en los sistemas del cliente y lo ponemos en servicio. En esto, se distingue entre instalaciones paralelas de "servicio operativo", de "prueba", de "capacitación" y de "desarrollo". Instalación • La instalación del software se efectúa bien en los servidores del cliente, en los ordenadores de trabajo de los usuarios o también paralelamente. Para aplicaciones de bases de datos, se realiza además frecuentemente la migración de datos de soluciones de aplicación más antiguas. Fase de prueba y Rollout • Para proyectos más grandes, la instalación se efectúa, por regla general, primero en un sistema de prueba, o sea en pocos usuarios pilotos. La ampliación posterior del sistema a más emplazamientos se denomina Rollout. Como apoyo, ofrecemos en la fase de introducción el entrenamiento o sea la instrucción de los usuarios finales, de los usuarios avanzados y de los administradores para el nuevo software.


MANTENIMIENTO Y CUIDADO • Después de la puesta en operación de una solución de software, se requiere, y es usual, una asistencia continúa. Ésta abarca tanto el apoyo de los usuarios durante el servicio operativo, así como ampliaciones y actualizaciones del software en caso necesario. En caso de producción de software / gestión de proyectos externa, estos servicios se regulan a través de un contrato de soporte.

Nivel de soporte • Se distingue entre soporte de primer nivel y de segundo nivel. El soporte de primer nivel (también llamado Helpdesk) es el primer punto de contacto para todas las solicitudes de soporte realizadas y todos los informes sobre problemas. Problemas graves se remiten al soporte de segundo nivel; por ejemplo, para software estandarizado, al fabricante del producto. Cuidado y administración • La adaptación continua del software a requerimientos y condiciones cambiantes se designa como "cuidado de software". Cambios mayores se procesan a través de proyectos propios, las adaptaciones menores se ejecutan con frecuencia como tareas de mantenimiento con reglas de proceso más sencillas. La administración de estos procesos se denomina gestión de cambios.


DOCUMENTACIÓN Enfoques de documentación moderna de software • En el trabajo de desarrollo, damos gran importancia a una documentación transparente del código de fuente del programa. Los identificadores de variables, clases y métodos son evidentes. La estructura se manifiesta claramente desplazando de forma adecuada las estructuras de control. Comentario del código de fuente • La documentación se integra en la mayor medida posible en el código de fuente. Esto tiene lugar a través de renglones de comentarios en las inmediaciones de las correspondientes instrucciones en el código de fuente y que en el caso de un cambio de las instrucciones se actualizan inmediatamente. Complementación del comentario • En caso de que notas, croquis y semejantes no se pueden integrar directamente en el código de fuente, se archivan por separado y se distribuyen junto con los ficheros del código de fuente para que estén a la disposición de todos los desarrolladores y no se produzcan inconsistencias.


SOPORTE DE SEGUNDO Y TERCER NIVEL Soporte de primer nivel • El soporte de primer nivel es el primer punto de contacto para todas las solicitudes de soporte realizadas, cuyo registro y tratamiento está a cargo de nuestro personal de operación de sistemas. Mediante trabajo en equipo y con bases de datos de conocimientos se encuentra rápidamente una solución para la mayoría de los problemas. Para problemas complejos, el soporte de primer nivel recibe apoyo del soporte de segundo nivel. Soporte de segundo nivel • Éste apoya al soporte de primer nivel tanto mediante capacitación continua en el puesto de trabajo, así como a través de la documentación de nuevas soluciones elaboradas para hacer accesibles los conocimientos al soporte de primer nivel. Si la complejidad de una solicitud excede el saber o las posibilidades técnicas del soporte de segundo nivel, ésta es transmitida al soporte de tercer nivel. También las solicitudes de aclaración cuya solución requiere una intervención en la lógica del programa o en la base de datos se transmiten al soporte de tercer nivel. Soporte de tercer nivel • El soporte de tercer nivel está compuesto por especialistas de nuestro desarrollo de software o del fabricante, y representa el grado de escalación más alto dentro de una organización de soporte.


REINGENIERÍA • El término reingeniería denomina en el desarrollo de software la adaptación de un sistema existente, en la mayoría de las veces con el objetivo de eliminar existentes puntos débiles y de posibilitar la realización de nuevos requerimientos. También en conexión con la transferencia del sistema a otra plataforma se efectúa muchas veces una reingeniería. Ingeniería regresiva • En el caso de que durante la ejecución de una reingeniería no se disponga de especificación o documentación del software, ésta hay que deducirla de la implementación misma. Este proceso entonces se llama ingeniería regresiva. Mejoramiento de la calidad del software • Muchas veces, la calidad de un software disminuye a lo largo del tiempo a causa de adaptaciones funcionales ejecutadas repetidas veces. Este proceso también es llamado envejecimiento de software. Para garantizar la calidad y mantenibilidad del software a largo plazo, se precisa muchas veces de una reingeniería.


DISEÑO DE USABILIDAD Ergonomía de software y diseño de usabilidad • "Diseño de usabilidad" es el fin actual de un desarrollo que llamó la atención de la informática como "ergonomía de software" en los años ochenta. Mientras que ambos términos son difícil de comprender para profanos, el término de la "utilidad práctica" resulta mucho más útil, ya que éste permite determinar propiedades concretas y comprobables. Dedicado a los usuarios desde el principio • El diseño de usabilidad debe garantizar que la facilidad de uso de software sea considerada en el proceso de desarrollo desde el principio y conservada durante todo el ciclo de vida útil.



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.