UNIDAD 4
Mantenimiento de Software
El Servicio de mantenimiento de software es una de las actividades en la Ingeniería de Software y es el proceso de mejorar y optimizar el software desplegado (revisión del programa), así como también remediar los defectos.
El mantenimiento de software es también una de las fases en el Ciclo de Vida de Desarrollo de Sistemas (SDLC ó System Development Life Cycle), que se aplica al desarrollo de software. La fase de mantenimiento es la fase que viene después del despliegue (implementación) del software en el campo.
Razones para el mantenimiento
El mantenimiento debe ser realizado para reparar los fallos existentes del software. Esto puede incluir depuración de errores debido a un mal código o una reparación mayor del sistema si el problema es avanzado.
Los patrones de funcionamiento, la plataforma de software, la conversión de datos, la actualización de hardware, entre otros, todos afectan el funcionamiento del software.
El mantenimiento de software también puede ser necesario para ajustar la habilidad de rendimiento, funcionalidad y usabilidad del software. Puede oscilar entre simplemente cambiar la interfaz gráfica de usuario del software para hacerla más atractiva y amigable con el usuario hasta hacer cambios drásticos en el código central para mejorar el tiempo de ejecución y el rendimiento.
Problemas asociados
El mantenimiento de software incluye hacer pruebas para detectar un problema y hacer la depuración sin perturbar el resto del sistema. Los problemas claves de mantenimiento de software son administrativos y técnicos.
Problemas clave de administración son: alineación con las prioridades del cliente, dotación de personal, cuál organización hace mantenimiento, estimación de costos. Son cuestiones técnicas claves: limitado entendimiento, análisis de impacto, pruebas (testing), medición de mantenibilidad.
Ventajas y Desventajas del Mantenimiento del Software
VENTAJAS:
-Confiabilidad, los equipos operan en mejores condiciones de seguridad, ya que se conoce su estado, y sus condiciones de funcionamiento.
-Mayor duración de los equipos e instalaciones.
-Uniformidad en la carga de trabajo para el personal del mantenimiento debido a una programación de actividades.
-Menor costo de reparaciones.
DESVENTAJAS:
-Es muy probable que se originen alunas fallas al momento de la ejecución, lo que ocasiona que este sea más tardado.
-El precio puede ser muy costoso, lo cual podría afectar a la hora de comprar los repuestos de recursos en el momento que se necesiten.
-No podemos asegurar el tiempo que tardara en reparase dichas fallas.
COSTOS DE MANTENIMIENTO
Los costos de mantenimiento son muy difíciles de estimar con
anticipación. La evidencia de los sistemas existentes muestra que los costos de
mantenimiento son lo más cuantioso del desarrollo y uso del sistema.
El precio del mantenimiento varía mucho de una aplicación a
otra, pero en promedio, representan alrededor de cuatro veces los costos de
desarrollo en grandes sistemas de software.
Para obtener los costos de mantenimiento se utiliza el TCA
(Tráfico de Cambio Anual), el cual es un porcentaje de instrucciones que sufre
un cambio por adición o modificación.
Además, se toma en cuenta el esfuerzo de desarrollo estimado
o real por personas-mes para hallar el esfuerzo anual requerido para el
mantenimiento de software.
TIPOS DE MANTENIMIENTO
A continuación se señalan los tipos servicio de
mantenimientos existentes, y entre paréntesis el porcentaje aproximado respecto
al total de operaciones de mantenimiento:
Perfectivo (60%): Mejora del software ( rendimiento ,
flexibilidad , reusabilidad ..) o implementación de nuevos requisitos. También
se conoce como mantenimiento evolutivo .
Adaptativo (18%): Adaptación del software a cambios en su
entorno tecnológico (nuevo hardware, otro sistema de gestión de bases de datos
, otro sistema operativo ...)
Correctivo (17%): Corrección de fallos detectados durante la
explotación.
Preventivo (5%): Facilitar el mantenimiento futuro del
sistema (verificar precondiciones, mejorar legibilidad...).
Soporte a Usuario
Soporte a Usuario
El Área de Soporte Técnico brinda servicios tanto a los
puestos de trabajo de la Facultad como a los usuarios finales de nuestros
sistemas. Dentro de esta área están incluídas la Mesa de Ayuda Unificada (MAU),
que brinda asistencia sobre el uso y la configuración de los sistemas y
softwares utilizados en la FFyL y el Departamento de Infraestructura que asiste
a los usuarios de la FFyL en todo lo relativo al hardware, conexiones de red y
telefonía.
Debido a la gran cantidad de sistemas con los que cuenta la
FFyL y a la cada vez mayor interacción de toda la comunidad educativa con ésto,
la DirInfo ha reestructurado su servicio de soporte técnico, recibiendo todas
las consultas a través de la MAU, quien las deriva al sector que corresponda,
simplificando el proceso de solicitud de asistencia y agilizando los tiempos de
respuesta.
El Área de Soporte Técnico procura, además, colaborar con el
mejor aprovechamiento de las herramientas informáticas, habilitar un cierto
nivel de independencia en los compañeros de las diferentes oficinas de la
Facultad para resolver problemas sencillos y también alentar las buenas prácticas en materia de
respaldo y seguridad de la información.
UNIDAD 3
Procesos de apoyo al desarrollo de software
El proceso de apoyo es el cual da soporte a otro soporte con un propósito bien definido el cual se emplea y se ejecuta por otro proceso según sus necesidades. Este tiene 8 procesos del ciclo de vida:
-Proceso de documentación.
-Proceso de gestión de la configuración.
-Proceso de aseguramiento de la calidad.
-Proceso de verificación
-Proceso de validación
-Procesos de revisión conjunta.
-Proceso de auditoria.
-Proceso de solución de problemas.
Codificación del software
Una vez que los algoritmos de una aplicación han sido diseñados, ya se puede iniciar la fase de codificación. En esta etapa se tienen que traducir dichos algoritmos a un lenguaje de programación específico; es decir, las acciones definidas en los algoritmos hay que convertirlas a instrucciones.
Para codificar un algoritmo hay que conocer la sintaxis del lenguaje al que se va a traducir. Sin embargo, independientemente del lenguaje de programación en que esté escrito un programa, será su algoritmo el que determine su lógica.
La lógica de un programa establece cuáles son sus acciones y en qué orden se deben ejecutar. Por tanto, es conveniente que todo programador aprenda a diseñar algoritmos antes de pasar a la fase de codificación.
Procesamiento de errores (pruebas de software).
Las pruebas de software (en inglés software testing) son las
investigaciones empíricas y técnicas cuyo objetivo es proporcionar información
objetiva e independiente sobre la calidad del producto a la parte interesada o
stakeholder. Es una actividad más en el proceso de control de calidad.Las
pruebas son básicamente un conjunto de actividades dentro del desarrollo de
software. Dependiendo del tipo de pruebas, estas actividades podrán ser
implementadas en cualquier momento de dicho proceso de desarrollo. Existen
distintos modelos de desarrollo de software, así como modelos de pruebas. A
cada uno corresponde un nivel distinto de involucramiento en las actividades de
desarrollo.
Procesos de validación
Evidencia documentada la cual proporciona un alto grado de
seguridad que un proceso específico resultará consistentemente en un producto
que reúne sus especificaciones pre-determinadas y sus características de
calidad.
Tipos de validación:
*Validación prospectiva.
* Validación concurrente.
* Validación retrospectiva.
Documentación del software
La documentación en un proyecto de software es importante
porque permite conservar la historia, facilita la utilización por parte del
usuario, garantiza la permanencia y disminuye los costos de operación y de
ejecución del proyecto como tal.
En la ejecución de un proyecto informático o un programa
software se deben de seguir una serie de pasos desde que se plantea el problema
hasta que se dispone del programa o del a aplicación funcionando en el
ordenador.
Los pasos son los siguientes:
*Análisis de factibilidad
* Análisis de requerimientos
* Diseño del sistema
* Implementación
* Validación y pruebas
* Explotación
* Mantenimiento
Implantar la versión beta del software
Una beta representa generalmente la primera versión completa del programa informático o de otro producto, que es posible que sea inestable pero útil para que las de inspección previa (preview) o como una inspección previa técnica (technical preview [TP]). Esta etapa comienza a menudo cuando los desarrolladores anuncian una congelación de las características del producto, indicando que no serán agregadas más características a esta versión y que solamente se harán pequeñas ediciones o se corregirán errores.
Las versiones beta están en un paso intermedio en el ciclo de desarrollo completo. Los desarrolladores las lanzan a un grupo de probadores beta o betatesters (a veces el público en general) para una prueba de usuario. Los probadores divulgan cualquier error que encuentran y características, a veces de menor importancia, que quisieran ver en la versión.
Plan de mantenimiento
Este proceso busca la coherencia y sostenibilidad de los
servicios de software, para superar las pruebas operacionales o necesidades del
cliente.
La estrategia de mantenimiento de software consiste de las
siguientes actividades:
-Concepto de mantenimiento
-Concepto de mantenimiento
-Plan de mantenimiento
-Análisis de recursos
Tipos de Mantenimiento
-Mantenimiento correctivo: Es aquel que se ocupa
de la reparación una vez se ha producido el fallo y el paro súbito de la
máquina o instalación.
-Mantenimiento Preventivo: Este tipo
de mantenimiento surge de la necesidad de rebajar el correctivo y todo lo que
representa. Pretende reducir la reparación mediante una rutina de inspecciones
periódicas y la renovación de los elementos dañados.
UNIDAD 2
PLANIFICACIÓN GENERAL
LA PLANIFICACIÓN SUPONE TRABAJAR EN UNA MISMA LÍNEA DESDE EL COMIENZO DE UN PROYECTO, YA QUE SE REQUIEREN MÚLTIPLES ACCIONES CUANDO SE ORGANIZA CADA UNO DE LOS PROYECTOS. SU PRIMER PASO, DICEN LOS EXPERTOS, ES TRAZAR EL PLAN QUE LUEGO SERÁ CONCRETADO.
EN OTRAS PALABRAS, LA PLANIFICACIÓN ES UN MÉTODO QUE PERMITE EJECUTAR PLANES DE FORMA DIRECTA, LOS CUALES SERÁN REALIZADOS Y SUPERVISADOS EN FUNCIÓN DEL PLANEAMIENTO.
EN UNA ORGANIZACIÓN, LOS DIRECTIVOS SON QUIENES TIENEN QUE REALIZAR LOS PLANES QUE SERÁN REGIDOS POR LA PLANIFICACIÓN. LA OPERACIÓN Y EJECUCIÓN DE LOS PLANES PUEDE HABER SIDO REALIZADA POR UNA ÚNICA PERSONA U OTRO INDIVIDUO, QUE OBLIGATORIAMENTE TENDRÁ QUE CONOCER Y COMPRENDER EL NIVEL DE PLANEAMIENTO QUE SE HA QUERIDO O PODIDO LLEVAR A CABO.
PRINCIPIOS DE PLANIFICACIÓN GENERAL:
-UNIDAD
-PRECISIÓN
-FLEXIBILIDAD
-VERSATILIDAD (UNIVERSAL)
-CONTINUIDAD
-COMPROMISO
-FACTIBILIDAD
-RACIONALIDAD
-CONTRIBUCIÓN
DISEÑO DE BASES DE DATOS
SON MUCHAS LAS CONSIDERACIONES A TOMAR EN CUENTA AL MOMENTO DE HACER EL DISEÑO DE LA BASE DE DATOS, QUIZÁ LAS MÁS FUERTES SEAN:
-LA VELOCIDAD DE ACCESO,
-EL TAMAÑO DE LA INFORMACIÓN,
-EL TIPO DE LA INFORMACIÓN,
-FACILIDAD DE ACCESO A LA INFORMACIÓN,
-FACILIDAD PARA EXTRAER LA INFORMACIÓN REQUERIDA,
-EL COMPORTAMIENTO DEL MANEJADOR DE BASES DE DATOS CON CADA TIPO DE INFORMACIÓN.
NO OBSTANTE QUE PUEDEN DESARROLLARSE SISTEMAS DE PROCESAMIENTO DE ARCHIVO E INCLUSO MANEJADORES DE BASES DE DATOS BASÁNDOSE EN LA EXPERIENCIA DEL EQUIPO DE DESARROLLO DE SOFTWARE LOGRANDO RESULTADOS ALTAMENTE ACEPTABLES, SIEMPRE ES RECOMENDABLE LA UTILIZACIÓN DE DETERMINADOS ESTÁNDARES DE DISEÑO QUE GARANTIZAN EL NIVEL DE EFICIENCIA MAS ALTO EN LO QUE SE REFIERE A ALMACENAMIENTO Y RECUPERACIÓN DE LA INFORMACIÓN.
DE IGUAL MANERA SE OBTIENE MODELOS QUE OPTIMIZAN EL APROVECHAMIENTO SECUNDARIO Y LA SENCILLEZ Y FLEXIBILIDAD EN LAS CONSULTAS QUE PUEDEN PROPORCIONARSE AL USUARIO.
OBJETIVO DEL DISEÑO DE BASE DE DATOS
DOCUMENTACIÓN TÉCNICA
LA DOCUMENTACIÓN TÉCNICA CONSISTE EN TODA LA INFORMACIÓN QUE NOS EXPLICA CÓMO FUNCIONA UN SISTEMA COMO ESTÁ DISEÑADO Y CON QUÉ FIN. UN DOCUMENTO DE ESTE TIPO SUELE CONTENER LAS CARACTERÍSTICAS TÉCNICAS Y LA FORMA DE OPERAR DEL SISTEMA, ESTA INFORMACIÓN SIRVE PARA DARLE A ENTENDER A LAS PERSONAS QUE VAYAN A TRABAJAR CON ÉL Y DE ESTA FORMA SE LE PUEDA DAR MANTENIMIENTO.
EXISTEN VARIOS TIPOS DE DOCUMENTACIÓN, ESTÁ LA DE LOS PROGRAMAS LA CUAL EXPLICA LA LÓGICA DE UN PROGRAMA E INCLUYE DESCRIPCIONES, LOS DIAGRAMAS DE FLUJO, LISTADO DE PROGRAMAS Y POR ÚLTIMO LOS REQUERIMIENTOS PARA QUE PUEDA SER USADO DE LA MANERA MÁS EFICIENTE.
OTRA TIPO ES EL REGISTRO FÍSICO EL CUAL CONSISTE EN UN ESCRITO QUE CONTIENE LOS SIGUIENTES ELEMENTOS:
-Políticas y normas referentes al desarrollo del sistema, su implantación, operación y mantenimiento.
-EL DISEÑO DEL SISTEMA DE INFORMACIÓN ADMINISTRATIVO.
-PROCEDIMIENTOS PARA INSTALAR EL SISTEMA DE INFORMACIÓN ADMINISTRATIVO.
-PROCEDIMIENTOS PARA OPERAR EL SISTEMA DE INFORMACIÓN ADMINISTRATIVO.
-PROCEDIMIENTOS PARA MANTENER EL SISTEMA DE INFORMACIÓN ADMINISTRATIVO.
UNIDAD 1
RECONOCIMIENTO DEL PROBLEMA
Análisis de requerimientos
Puede resumirse en 4 aspectos
1. Reconocer el problema:
2. Evaluar y sintetizar el problema
3. Especificar el problema
4. Revisar el problema
Inicialmente el analista estudia las especificaciones del sistema y el plan del proyecto es muy importante que se tenga el conocimiento necesario para llevar a cabo la completa y precisa revisión del sistema para lograr un análisis concreto que permita obtener el espacio para crear la solución del problema que se presente. El analista debe contactar al equipo técnico y de gestionamiento del usuario o cliente y la empresa para desarrollar el software. El analista se encarga de revisar todos los aspectos del sistema para crearlo según los requerimientos de la empresa/cliente/usuario, para que el resultado sea el mejor posible, lo cual es lo esperado.
La metodología de este análisis de los requerimientos combina procedimientos sistemáticos con una notación única para analizar los dominios de información y funcionales de un problema de software, suministra un conjunto de información para subdividir el problema y define una forma de representación para las visiones lógicas Y físicas. En esencia, los métodos de análisis de requerimientos del software facilitan al ingeniero en la materia la aplicación de los principios de análisis fundamentales para la resolución del problema en cuestión.
Es algo sencillo para el que conoce lo que tiene que hacer, todo software lleva un análisis previo de las necesidades que tienen los usuarios o la empresa donde se implementara el sistema luego de ser creado, hay que identificar el problema, presentar las posibles alternativas de soluciones al usuario, o empresa para su debida aprobación o correcciones para luego volver al principio y presentarlas de nuevo en un ciclo que debe repetirse hasta que la empresa o usuario apruebe el proyecto y pueda crearse la planificación que defina el tiempo que será necesario para la creación del sistema que será utilizado y posteriormente actualizado cada vez que se reciba una sugerencia o exista una versión nueva creada por el ingeniero que desarrollo el sistema.
No hay comentarios.:
Publicar un comentario