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