DESARROLLO DEL SOFTWARE II



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


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.


Resultado de imagen para Soporte a usuarios Resultado de imagen para Soporte a usuarios


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


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



SOLUCIÓN A EL PROBLEMA DEL DÍA DE LA SECRETARIA






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

music