lunes, 22 de septiembre de 2014

¿Que es el Software?



Software:
Existen varias definiciones similares aceptadas para software, pero probablemente la más formal sea la siguiente:

Es el conjunto de los programas de cómputo, datos asociados, procedimientos y documentación, que forman parte de las operaciones de un sistema de computación.

Considerando esta definición, el concepto de software va más allá de los programas de computación en sus distintos estados: código fuente o ejecutable; también su documentación, los datos a procesar e incluso la información del usuario forma parte del software: es decir, abarca todo lo intangible, todo lo «no físico».

El término «software» fue usado por primera vez en este sentido por John W. Tukey en 1958. En la ingeniería de software y las ciencias de la computación, el software es toda la información procesada por los sistemas informáticos: programas y datos.



Características del Software:
1. El software se desarrolla o se construye, no se manufactura en el sentido clásico.
2. El software no se desgasta.
3. La mayoría del software se construye a la medida.


Clasificación de Software
Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:

Software de sistema:
Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc.
El software de sistema procura al usuario y al programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:
●     Sistemas operativos
●     Controladores de dispositivos
●     Herramientas de diagnóstico
●     Herramientas de Corrección y Optimización
●     Servidores
●     Utilidades

Software de programación:
Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen básicamente:
●     Editores de texto
●     Compiladores
●     Intérpretes
●     Enlazadores
●     Depuradores
●     Entornos de Desarrollo Integrados (IDE)

Software de aplicación:
Es aquel que permite a los usuarios lleven a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros:
●     Aplicaciones para Control de sistemas y automatización industrial
●     Aplicaciones ofimáticas
●     Software educativo
●     Software empresarial
●     Bases de datos
●     Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
●     Videojuegos
●     Software médico
●     Software de cálculo numérico y simbólico.
●     Software de diseño asistido (CAD)
●     Software de control numérico (CAM)


Mitos del Software
La mayoría de los profesionales reconocidos en la ingeniería del software identifican la existencia de mitos durante su desarrollo. Estos mitos son actitudes equivocadas que causan problemas serios a los administradores y al personal técnico por igual. Estas antiguas actitudes y viejo hábitos son difíciles de modificar, por lo que aún subsisten creencias falsas sobre el software.

Mitos de la administración:
Mitos relacionados con el personal responsable de emprender un proyecto de software:
1. Se tiene un libro de estándares y procedimientos para la construcción de software. Esto proporciona a los desarrolladores todo el conocimiento necesario.
2. Si se está atrasado en el itinerario, es posible contratar a más programadores para así terminar a tiempo.
3. Si se decide subcontratar el proyecto de software a un tercero, puedo relajarme y dejar que la compañía lo construya.

Mitos del cliente:
Mitos relacionados con las personas, empresas o departamento de una empresa que solicita el desarrollo de un software:
1. Un enunciado general de los objetivos en suficiente para comenzar a escribir programas, los detalles se pueden afinar después.
2. Los requerimientos del proyecto cambian de manera continua, pero el cambio puede ajustarse con facilidad porque el software es flexible.

Mitos del Desarrollador:
Mitos relacionados con las personas que se encargan del desarrollo de un proyecto de software:
1. Una vez que el programa ha sido escrito y puesto a funcionar el trabajo está terminado.
2. Mientras el programa no se esté ejecutando, no existe forma de evaluar su calidad.
3. El único producto que necesita entregarse para tener un proyecto de software exitoso es el programa en funcionamiento.
4. La ingeniería de Software obliga a crear documentación voluminosa e innecesaria y tornará más lento el proceso.
 

Software Heredado:
Es el software desarrollado hace años (incluso décadas) que ha sido modificado en forma continua para cumplir con los requerimientos de los cambios en el negocio y en las nuevas plataformas.
Este tipo de sistemas resultan problemáticos en las grandes organizaciones por su costoso mantenimiento y riesgosa evolución.

Características del  software Heredado
1. Son el soporte de las funciones centrales del negocio y son indispensables para la empresa. Por ello tienden a permanecer en el tiempo, debido a que son críticos para el negocio.
2. Tiene poca calidad, por lo general el software heredado tiene diseños imposibles de entender, código complicado y documentación escasa o inexistente, su historial de cambios ha sido manejado pobreza.

Razones por la cual evoluciona el software heredado
1. El software debe adaptarse para satisfacer las necesidades de los nuevos ambientes o las nuevas tecnologías.
2. El software debe mejorarse para implementar los nuevos requerimientos del negocio.
3. El software debe extenderse para hacerlo viable con sistemas de base de datos más modernos.
4. El software debe rediseñarse para hacerlo viable dentro de un ambiente de red o web.


Ingeniería de Software
La Ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software.
Se pueden citar otras definiciones enunciadas por prestigiosos autores:
1. Ingeniería de software: es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)
2. Ingeniería de software: es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como desarrollo de software o producción de software (Bohem, 1976).









No hay comentarios:

Publicar un comentario