jueves, 28 de junio de 2018

MANTENIMIENTO DE SOFTWARE

MANTENIMIENTO DE SOFTWARE

   En ingeniería del software, el mantenimiento de software es la modificación de un producto de software después de la entrega, para corregir errores, mejorar el rendimiento, u otros atributos.1​ El mantenimiento del software es una de las actividades más comunes en la ingeniería de software.

El mantenimiento de software es también una de las fases en el ciclo de vida de desarrollo de sistemas (SDLC, sigla en inglés de 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.

Una percepción común del mantenimiento es que se trata meramente de la corrección de defectos. Sin embargo, un estudio indicó que la mayoría, más del 80%, del esfuerzo de mantenimiento es usado para acciones no correctivas (Pigosky 1997). Esta percepción es perpetuada por usuarios enviando informes de problemas que en realidad son mejoras de funcionalidad al sistema[cita requerida].

El mantenimiento del software y la evolución de los sistemas fue abordada por primera vez por Meir M. Lehman en 1969. Durante un período de veinte años, su investigación condujo a la formulación de las leyes de Lehman (Lehman 1997). Principales conclusiones de su investigación incluyen que el mantenimiento es realmente un desarrollo evolutivo y que las decisiones de mantenimiento son ayudadas por entender lo que sucede a los sistemas (y al software) con el tiempo. Lehman demostró que los sistemas continúan evolucionando con el tiempo. A medida que evolucionan, ellos crecen más complejos a menos que se toman algunas medidas como refactorización de código para reducir la complejidad.

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.

El mantenimiento de software es una actividad muy amplia que incluye la corrección de errores, mejoras de las capacidades, eliminación de funciones obsoletas y optimización. Debido a que el cambio es inevitable, se debe desarrollar mecanismos para la evaluación, controlar y hacer modificaciones.

Cualquier trabajo realizado para cambiar el software después de que esté en operación es considerado trabajo de mantenimiento. El propósito es preservar el valor del software sobre el tiempo. El valor puede ser mejorado ampliando la base de clientes, cumpliendo requisitos adicionales, siendo cada vez más fácil de usar, más eficiente y empleando más nuevas tecnología. El mantenimiento puede abarcar 20 años, mientras que el desarrollo puede estar entre 1 y 2 años.

IMPORTANCIA DEL MANTENIMIENTO DE SOFTWARE 

A finales de los años 1970, una famosa y ampliamente citada estudio de encuesta por Gabriela castillo, expuso la muy alta fracción de los costos del ciclo de vida que estaban siendo gastados en mantenimiento. Clasificaron las actividades de mantenimiento en cuatro clases:
  • Adaptable – modificar el sistema para hacer frente a cambios en el ambiente del software (DBMS, OS)
  • Perfectivo – implementar nuevos, o cambiar requerimientos de usuario referentes a mejoras funcionales para el software.
  • Correctivo, diagnosticar y corregir errores, posiblemente los encontrados por los usuarios
  • Preventiva – aumentar la capacidad de mantenimiento de software o fiabilidad para evitar problemas en el futuro.
La encuesta mostró que alrededor del 75% del esfuerzo de mantenimiento fue en los dos primeros dos tipos, y la corrección de errores consumía aproximadamente el 21%. Muchos estudios posteriores sugieren una magnitud similar del problema. Los estudios muestran que la contribución del usuario final es crucial durante el análisis y recopilación de nuevos datos de requerimiento. Y ésta es la causa principal de cualquier problema durante el mantenimiento y evolución del software. Así que el mantenimiento de software es importante porque consume gran parte de los costos del ciclo de vida y también la imposibilidad de cambiar el software de forma rápida y fiable significa que las oportunidades de negocio se pierden.
Impacto de los factores clave de ajuste en el mantenimiento (por orden de máximo impacto positivo).
Factores de mantenimientoRango más
Especialistas de mantenimiento35%
Experiencia alta del personal34%
Variables y datos manejados por tablas33%
Baja complejidad de la base de código32%
Y2K y motores especiales de búsqueda30%
Herramientas de reestructuración de código29%
Herramientas de reingeniería27%
Lenguajes de programación de alto nivel25%
Herramientas de ingeniería inversa23%
Herramientas de análisis de complejidad20%
Herramientas de seguimiento de defectos20%
Especialistas en "actualización masiva" Y2K20%
Herramientas de control de cambio automático18%
Horas extras no pagadas18%
Mediciones de calidad16%
Inspecciones formales de la base de código15%
Bibliotecas de pruebas de regresión15%
Tiempo de respuesta excelente12%
Formación anual de > 10 días12%
Experiencia de la alta gerencia12%
Automatización del HELP desk12%
No módulos propensos a errores10%
Reporte de defectos en-línea10%
Medidas de productividad8%
Excellent ease of use7%
Medidas de satisfacción de usuarios5%
Alta moral del equipo5%
Suma603%
No sólo son problemáticos los módulos propensos a errores, también muchos otros factores pueden disminuir el rendimiento. Por ejemplo, muy complejo `código espagueti` es bastante difícil de mantener con seguridad. Una situación muy común que a menudo degrada el rendimiento es la falta de herramientas de mantenimiento adecuadas, como software de seguimiento de defectos, software de gestión de cambio y software de biblioteca de pruebas. A continuación se describen algunos de los factores y la gama de impacto en el mantenimiento de software.
Impacto de los factores clave de ajuste en el mantenimiento (por orden de máximo impacto negativo).
Factores de mantenimientoRango menos
Módulos propensos a errores-50%
Datos y variables incrustados-45%
Inexperiencia del personal-40%
Alta complejidad del código-30%
No Y2K de motores de búsqueda especiales-28%
Métodos manuales de control de cambio-27%
Lenguajes de programación de bajo nivel-25%
Ninguna herramienta de seguimiento de defectos-24%
No hay especialistas en "actualización masiva" Y2K-22%
Pobre facilidad de uso-18%
No hay mediciones de calidad-18%
No hay especialistas de mantenimiento-18%
Tiempo de respuesta pobre-16%
No hay inspecciones de código-15%
No hay bibliotecas de pruebas de regresión-15%
No hay automatización del help desk-15%
No hay reportes de defecto en línea-12%
Falta de experiencia de gestión-15%
No hay herramientas de reestructuración-10%
No hay entrenamiento anual-10%
Ningunas herramientas de reingeniería-10%
No hay herramientas de ingeniería inversa-10%
No hay herramientas de análisis de la complejidad-10%
No hay medidas de productividad-7%
Moral pobre del equipo-6%
No hay medidas de satisfacción del usuario-4%
Horas extras no pagadas0%
Suma-500%
FASE DEL MANTENIMIENTO 

La fase de mantenimiento de software involucra cambios al software para corregir defectos encontrados durante su uso o la adición de nueva funcionalidad mejorando la usabilidad y aplicabilidad del software.

El mantenimiento del software involucra diferentes técnicas específicas. Una técnica es el rebanamiento estático, la cual es usada para identificar todo el código de programa que puede modificar alguna variable. Es generalmente útil en la re-fabricación del código del programa y fue específicamente útil en asegurar conformidad para el problema del año 2000.

La fase de mantenimiento de software es una parte explícita del modelo en cascada del proceso de desarrollo de software el cual fue desarrollado durante el movimiento de programación estructurada en computadores. El otro gran modelo, el Desarrollo en espiral desarrollado durante el movimiento de ingeniería de software orientada a objeto no hace una mención explícita de la fase de mantenimiento. Sin embargo, esta actividad es notable, considerando el hecho de que dos tercios del coste del tiempo de vida de un sistema de software involucran mantenimiento (Page-Jones pg 31).

En un ambiente formal de desarrollo de software, la organización o equipo de desarrollo tendrán algún mecanismo para documentar y rastrear defectos y deficiencias. El Software tan igual como la mayoría de otros productos, es típicamente lanzado con un conjunto conocido de defectos y deficiencias. El software es lanzado con esos defectos conocidos porque la organización de desarrollo en las utilidades y el valor del software en un determinado nivel de calidad compensa el impacto de los defectos y deficiencias conocidas.

Las deficiencias conocidas son normalmente documentadas en una carta de consideraciones operacionales o notas de publicación (release notes) es así que los usuarios del software serán capaces de trabajar evitando las deficienci                                                                                               as conocidas y conocerán cuándo el uso del software sería inadecuado para tareas específicas.

Con el lanzamiento del software (software release), otros defectos y deficiencias no documentados serán descubiertas por los usuarios del software. Tan pronto como estos defectos sean reportados a la organización de desarrollo, serán ingresados en el sistema de rastreo de defectos.

Las personas involucradas en la fase de mantenimiento de software esperan trabajar en estos defectos conocidos, ubicarlos y preparar un nuevo lanzamiento del software, conocido como un lanzamiento de mantenimiento, el cual resolverá los temas pendientes.

MANTENIMIENTO DE SOFTWARE 

El mantenimiento preventivo consiste en una atención constante de limpieza, revisión y afinación de los distintos elementos integrantes de un equipo de cómputo. Es importante saber que la mayoría de los problemas que se presentan en el trabajo cotidiano, se debe a la falta de un programa específico de mantenimiento de los equipos, de tal manera que la mayoría de los problemas se resuelven con el mismo procedimiento del mantenimiento preventivo. El mantenimiento tiene técnicas para darle un periodo de vida útil más largo y libre de fallas. Debemos de tener en cuenta que es necesario darle mantenimiento al software ya que el continuo uso genera una serie de cambios en la configuración original del sistema, causando bajas en el rendimiento que al acumularse con el tiempo pueden generar problemas serios. Actualmente es indispensable mantener actualizada la protección contra virus informáticos.
Por supuesto es muy recomendable usar su equipo responsablemente, ya que esto le podrá causar un gasto mayor a futuro.
Las recomendaciones son: Cuidar las páginas a las que accesa, las de música, videos o juegos regularmente traen enlaces que pueden filtrarse directamente al equipo de cómputo, tener un antivirus actualizado, hacer cada cierto tiempo un escaneado y limpieza de su PC, evitar los mensajes SPAM que llegan en los correos electrónicos, estos mensajes llegan normalmente con remitente desconocido y se almacenan en la carpeta Correo no deseado, generalmente son solo virus que no hacen mucho daño, pero también puede costar hasta el formateo del equipo y con esto, la pérdida de archivos importantes.

Resultado de imagen para mantenimiento de software

FUENTE BIBLIOGRÁFICA:
 https://www.google.com.gt/search?q=mantenimiento+de+software&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi3zNfsi_fbAhVHrlkKHfKkCAwQ_AUICigB&biw=1280&bih=918#imgrc=44FBHsn1FFN-OM:

miércoles, 20 de junio de 2018

TIPOS DE MICROPROCESADORES

TIPOS DE MICROPROCESADOR ACTUALES


DEFINICIÓN:

un microprocesador es el cerebro de una computadora. que va sobre un elemento llamado zócalo ( en inglees es socket) o están soldados en la placa.
el microprocesador esta compuesto por miles o millones , que contiene el ordenador.

TIPOS DE MICROPROCESADORES

Adm e Intel son los únicos dos tipos de chips que abarcan la diversidad en el mercado.

Las características mas importantes son:
  • Números de núcleos: entre mas núcleo un microprocesador, mayor cantidad de información sera procesada al mismo tiempo.
  • Memoria cache: es una memoria ultrarapida utilizada por el microprocesador.
  • Bus de datos frontal: un bus son lineas (cables), trazadas sobre una placa, y se encarga de transporte de diferentes tipos de información.
  • Velocidad del procesador: se mide en megahertz o en gigahertz .
  • Consumo de energía: mencionare los diferentes tipos de procesador actuales


Intel celeron
El equipo portátil: es apta para las necesidades informáticas básicas como procesar textos.

Características:

  • 64 bits del proceso
  • 1mb de memoria cache
  • Bus de datos frontal de 800 mshz
  • Un procesador con velocidad de hasta 2.2 ghz
  • Ahorra energia de acuerdo con las normas establecidas
Intel Core 2 Duo
El equipo portátil y computadora de escritorio: este procesador brinda el desempeño necesario para ejecutar múltiples tareas al mismo tiempo.

Características:
  • Memoria 2 nucleos de procesamiento
  • Memoria cache de 2mb hasta 6mb
  • Bus total frontal. en este caso,dependiendo el numero de procesador, el ancho de banda puede ser de 533 mhz, 800 mhz a 1066 mhz.


Intel Core 2 Quad
Equipo portátil y computadora de escritorio: fue diseñado con el fin de que su desempeño sea procesar entretenimientos como : videojuegos de alto nivel, editar vídeos, fotografías, reproducir películas y música.

Características:
  • 4 nucleos.
  • Memoria cache de 4 mb, 6mb y 12 mb.
  • Bus de datos frontal de 800 mhz y 1066 mhz.
  • Procesadoir con velocidad de 2.53 ghz, 2,60ghz,2.80ghz y 3.06 ghz.
Intel Core i3
Este microprocesador utiliza la tecnologia hyper thereading.
caracteristicas:

  • Procesador de dos nucleos
  • Memoria cache de 3mb
  • Velocidad ddr3 de 800mhsz hasta 1066mhz. ddr3 es la habilidad de hacer trasferencia de datos ocho veces mas rapido.
  • Procesador con velocidad de 2.13ghz y 2.2ghz.

Intel Core i5
Es para uso cotidiano, es posible trabajar en dos tareas a la vez, y tienen la capacidad de aumentar su velocidad.
Características:
  • Posee 4 vias con impulso de velocidad.
  • 8mb de memoria cache
  • Velocidad ddr3 de 1333 mshz
  • Procesador con velocidad de 2.53 ghz
-


Intel Core i7
Es apropiada para editar vídeos y fotografías, divertirse con juegos y por supuesto trabajar en varios al tiempo.
Características:
  • posee un núcleo
  • memoria cache de 4mb, 6mb y 8mb
  • velocidad ddr3 de 800mhz, 1066 mghz y 1333 mgz
  • procesador con velocidad de 3.06 ghz, 2.93 ghz y 2.66 ghz por nucleo.



Intel Atom
se puede realizar las operaciones basicas, como escribir textos y navegar por internet desde cualquier sitio.
Características:
  • posee un nucleo
  • memoria cache de 512kb
  • un bus de datos frontal de 667 mhz
  • velocidad del procesador de 1.66 mhz



Amd Phenom II: X3 Y X4
Es ideal para entretenimientos en alta definicion como, juegos, editar video y fotografia.

Características:
  • esta formando de tres a 4 nucleos
  • memoria cache de 4mb y 6 mb
  • un bus de datos frontal de 1066 mhz
  • 32 y 64 bits de proceso.


Amd Athlon II x2
Convierte de una manera rapida la musica y los videos a otros formatos.
Características:

  • posee 2 nucleos
  • memoria cache de 2mb
  • 32 y 64 bits de proceso.

Amd Semprom
Es capaz de realizar varias tareas a la vez, ideal para la reproduccion de video y musica.

Características:

  • memoria ddr2 de 2gb, expandible hasta 4gb, esta memoria es la que permite llevar a cabo varias tareas al mismo tiempo.
  • tiene una memoria cache l2 de 512 kb
  • un bus de datos frontal de 1600 mhz
  • velocidad del procesador de hasta 2.3 ghz
FUENTE BIBLIOGRÁFICA: 
http://jhonyfhj.blogspot.com/2013/04/tipos-de-microprocesadores-actuales.html 


jueves, 14 de junio de 2018

TIPOS DE COMPUTADORA

TIPOS DE COMPUTADORA 
  1. Computadora de escritorio
  2. Portátiles
  3. Netbooks
  4. Computadoras de mano
  5. Estaciones de Trabajo
  6. Servidores
  7. Mainframes
  8. Minicomputadoras
  9. Las supercomputadoras

En algunas partes del mundo le dicen computador, en otros computadora, en España generalmente es llamado ordenador. Todo estos términos hacen referencia a un dispositivo que recibe datos a través de un ratón, teclado y otras herramientas. Este dispositivo cuenta con un microchip y muestra los resultados a las solicitudes que le enviamos.

Existen muchos tipos de computadoras, pero todas comparten un mismo conjunto de componentes que incluyen una memoria, una unidad central de procesamiento, dispositivo de almacenamiento (Disco duro), dispositivos de entrada (teclado, ratón), y dispositivos de salida (monitor).

Estos son los tipos de computadoras:

Computadora de escritorio

Las computadoras de escritorio son el tipo de computadora mas común que existe. Llamado generalmente como computadora de escritorio, de sobremesa, o simplemente PC, son equipos utilizados en mayoria en los hogares. Estos modelos incluyen un monitor, ratón, teclado y un envase donde aloja todos los componentes internos. Las computadoras de escritorio están principalmente diseñadas para aplicaciones de uso diario como jugar, navegar por Internet, procesamiento de textos, almacenamiento de fotos y vídeos, entre otras funciones básicas.

Portátiles

Su nombre en ingles “laptop”, que viene de la combinación de 2 palabras: lap (que significa “regazo”) y top (encima), de esta forma llamaron a estos dispositivos que pueden disponerse sobre las piernas. También los llaman notebooks (que significa cuaderno), por su gran parecido físico a estos objetos.

Estos modelos contienen pantallas planas, un teclado, dispositivo señalador , memoria y procesador. Las computadoras portátiles son muy livianas pues su peso no supera los 3 kilos y son especializadas para usuarios móviles. Tienen la mismas funciones que las computadoras de escritorio, pero son mas caros debido a su tamaño reducido y compacto. Estos modelos son ideales para todo persona que necesita el poder, y el procesamiento de una computadora de escritorio combinado con la portabilidad.

Netbooks

Los netbooks son una versión mas pequeña, ligera y compacta que la computadora portátil. Estos dispositivos están diseñados principalmente para navegar por la web de forma inalambrica. Debido a su tamaño, los notebooks generalmente tienen pantallas de muy poco tamaño, en promedio es de 10,1 pulgadas. Este tipo de computadora contiene una memoria con muy poco espacio de almacenamiento, no incluyen unidad de CD o DVD, no tienen puertos de conexión y son poco potentes.

Cuando salieron al mercado lograron grandes ventas, pero estas han disminuido luego de la llegada de las tabletas.

Computadoras de mano
Las computadoras de mano, o también llamadas pda (Asistente digital personal) por sus siglas en inglés, son computadoras sumamente compactas sin teclado y con pantalla táctil. Estas fueron diseñadas principalmente como agenda electrónica, calendario, documentos de texto, lista de contactos, reproductor de sonido, navegador, por Internet, correos electrónicos, recordatorios, entre otras funciones. Estos dispositivos han sido reemplazados por los smartphones o también llamados teléfonos inteligentes.


Estaciones de Trabajo

Las estaciones de trabajo son un tipo de computadora con grandes monitores, los cuales son capaces de presentar gráficos de alta calidad, este modelo contiene un procesador muy potente, memoria interna capaz de procesar datos de gran complejidad, y unidades de disco duro para almacenar gran cantidad de datos. Estas características hacen que las estaciones de trabajo sean especializadas para uso de profesionales matemáticos, ingenieros, arquitectos, y desarrolladores de software o de juegos que necesitan de una computadora que soporte grandes datos e imágenes de alta resolución.


Servidores
Los servidores son otro tipo de computadora optimizado para ofrecer servicios a otras computadoras, todo a través de una red. Generalmente los servidores cuentan con potentes procesadores, memoria interna que pueda almacenar gran cantidad de información. Son equipos que están encendidos durante todo el día.

Estos servidores tienen como función principal realizar la comunicaciones entre varios computadoras al tiempo. .

Mainframes

Son computadoras de gran tamaño, que ocupan el espacio de una habitación o incluso de una planta entera. Son equipos caros, que están diseñados principalmente para procesar múltiples tareas realizadas por miles de usuarios al tiempo. Generalmente las empresas utilizan estos equipos para procesar aplicaciones que necesitan para su negocio, incluyendo transacciones financieras, y análisis estadísticos.

Minicomputadoras

Las minicomputadoras, son en ocasiones llamados servidores de gama media, pues estos son menos potentes que los mainframes pero mas potentes que las computadoras de escritorio. Estos equipos cuentan con capacidad de cumplir varias tareas al tiempo, contiene un procesador rápido, y puede soportar cientos de usuarios a la vez.

Las supercomputadoras


Las supercomputadoras son utilizadas principalmente para realizar grandes cantidades de cálculos numéricos en periodos cortos de tiempo, las supercomputadoras cuentan con la mayor y mas costosa tecnología disponible. Estos equipos son solo empleados para aplicaciones especializados como investigaciones científicas, previsiones meteorológicas, análisis de datos geológicos, entre otras tareas que necesiten de grandes cantidades de procesamiento.

La supercomputadora ROadDrunner de IBM, es un claro ejemplo de lo potente que pueden llegar a ser estos equipos, pues tardaron 6 años en construirla y costó millones de dolares.



FUENTE BIBLIOGRÁFICA:  https://www.tiposdecomputadoras.com/