Contextualización
Actualmente existe una gran variedad en los software que se pueden clasificar en varias
categorías, como pueden ser, por tipo de licencia, tipo de código, si es educativo, de
entretenimiento, etc. Gracias al desarrollo y progreso que se ha tenido en las aplicaciones
no sólo para computadoras, sino para varios dispositivos, de uso público como lo celulares
y de uso privado, como sistemas de comunicación especializada o medios que se utilizan
en los hospitales, los tipos de aplicaciones presentan una gran variedad de utilidades sin
importar si se utilizan para lo mismo, pues sus herramientas de desarrollo y aplicación
pueden presentar diferencias importante y útiles para cada tipo de usuario.
Introducción
Para poder utilizar un software es importante conocer sus características y lo que
nosotros deseamos obtener de este, pues cuando no se sabe lo que se necesita para
poder utilizarlo puede que no funcionen, por ejemplo, los requisitos son importantes,
pues determinan la memoria que necesitan, la velocidad que pueden ofrecer, la
capacidad de procesador que requieren para no perder información e incluso el número
de núcleos por procesador si es que se utiliza una aplicación especializada para el
desarrollo de multimedia de gran peso y de gran necesidad de procesamiento.
¿Qué tipo de software hay y cómo se clasifica?
Los tipos de software que existen son variados, pues no se limitan a una sola plataforma de ejecución,
por tanto se categorizan de una forma amplia y se clasifica según su uso, por ejemplo, encontramos las
siguientes clasificaciones;
Software de sistemas
Software de programación
Software de aplicación
Etc.
No sólo estos tipos encontramos, podemos decir que uno que no se utiliza o no se requiere dentro de
ningún equipo es software malicioso (malware) o virus informático, los cuales también son aplicaciones y
se dividen en varias categorías, como;
Boot
Destructivo
De espionaje
Etc.
Tipos
Los requisitos de cada software se determinan por la función que estos realicen y las
características con las que cuenten, pues pueden presentar varias herramientas útiles
que se instalan desde el inicio y se debe cumplir con los requisitos necesarios para la
ejecución correcta y uso de las mismas. Esta es una descripción del comportamiento del
sistema que se desarrollará y las vías que tomará para sus conexiones y
direccionamiento de información dentro del mismo sistema. La información que se
determina pueden ser de requisitos funcionales y no funcionales, por lo que es
importante conocer los atributos con los que se cuentan y los recursos disponibles.
Requisitos
El software es una palabra que se deriva del idioma inglés, esta definición se maneja
como la parte suave o blanda de un sistema, pues es la que no se puede identificar
físicamente, solo se puede conocer mediante un dispositivo electrónico y la ejecución de
éste en el medio en que se encuentra.
Al contrario del hardware, que es la parte dura de un equipo o la tangible del mismo, es
decir, son los dispositivos físicos de entrada y salida de información que componen al
mismo.
Concepto
Las características de cada software se determinan en cuanto a su función y tipo de
licencia de uso con que cuente. Por ejemplo;
Software libre; de código abierto, no utiliza licencia comercial, puede ser modificado por el
usuario sin consecuencias legales, etc.
Software de pago; útil, eficiente, Mantenible, accesible, Confiable, buena ingeniería
humana, etc.
Software educativo; uso didáctico, interactivo, fácil de usar,
Software dañino; invade archivos personales, crea pérdida de información, inhabilita
elementos importantes del sistema operativo, etc.
Software para Pymes; tiene soporte, es de bajo costo, funcional, etc.
Etc.
Características
Tipos de requisitos
Los tipos de requerimientos son de diferentes tipos, en el presente caso son; funcionales,
no funcionales, del dominio. Estos requisitos de sistema determinan los servicios que se
ofrecerán al usuario final, por lo que es importante que el fabricante de las aplicaciones
cubra las posibles necesidades que se tienen por parte de quien los adquiere, se pueden
crear software a la medida sin embargo, el realizarlos de esta forma es más tardado y de
un costo mayor, aunque cubre las necesidades necesarias y puede ahorrar líneas de
código y espacio en los dispositivos en lo que se almacena.
Conclusión
Todos los sistemas ya sea operativos o de aplicaciones tienen requisitos que se deben
cumplir, no sólo para un correcto funcionamiento del software, sino también por la
protección del equipo que lo alberga, pues de requerir más de lo que ofrece la
computadora, puede que los componentes de software o de hardware presenten
problemas y fallos que solamente se arreglan con un servicio especializado del
distribuidor o fabricante.
Para aprender más
Clasificación de software;
Software de sistemas
Sistemas operativos (computadoras, dispositivos móviles, etc.)
Controladores de dispositivos (tarjetas gráficas, medios USB,
etc.)
Herramientas de diagnóstico.
Herramientas de optimización
Servidores
Etc.
Software de programación
Editores de texto.
Compiladores.
Depuradores
Entornos de desarrollo integrados (IDE)
Para aprender más
Software de aplicación
Editores (edición de imagen, video, etc.)
Hojas de calculo
Sistemas gestores de bases de datos (SQL, BI, ClickView, etc.)
Programas de comunicaciones (Skype, Line, etc.)
Programas de diseño asistido con uso de CAD (aplicaciones de desarrollo 3D).
Se clasifican en;
Aplicaciones de sistema de control y automatización industrial.
Aplicaciones ofimáticas
Software educativo
Software medico
Software de cálculo numérico
Software de diseño asistido (CAD)
Software de control numérico (CAM)
Para aprender más
Tipos de Requerimientos
Requerimientos Funcionales: son declaraciones de los servicios que proveerá el sistema. En algunos casos, también
declaran explícitamente lo que el sistema no debe hacer. Los requerimientos funcionales de un sistema describen la
funcionalidad o los servicios que se espera que éste provea. Estos dependen del tipo de software, del sistema y de los
posibles usuarios.
No Funcionales: son restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones sobre el
proceso de desarrollo, estándares, etc. Son requerimientos que no se refieren directamente a las funciones específicas
que entrega el sistema, sino que determina las propiedades emergentes como la fiabilidad del sistema, la capacidad de
almacenamiento y el tiempo que tarda en responder.
Requerimientos del Dominio: estos requerimientos provienen del dominio de aplicación del sistema y reflejan
características del dominio con que se esté trabajando. Si estos requerimientos no se cumplen correctamente y por
completo, es imposible hacer que el sistema trabaje correctamente en la ejecución de algunos medios, como pueden
ser el despliegue de información o el ingreso de la misma.
Captura
Para la captura de una aplicación o las líneas de ejecución de la misma, se puede utilizar
varias herramientas y distintas plataformas en las cuales, puede o no utilizarse un
compilador en específico el cual ayude a la ejecución o vista preliminar de la aplicación
realizada. Existen aplicaciones que cuenta con su compilador, pues el uso de la librerías
para las palabras reservadas es diferente en cada lenguaje.
En algunos casos las líneas de código se van creando en un documento de notas, el cual
solo se guarda con la extensión de la aplicación, lo que lo convertirá en parte del medio
para el que se desarrolló y al momento de abrirlo se hará desde el lenguaje o el
compilador con el que se creó ya no con el documento de edición de texto.
Análisis
El análisis es un proceso de conceptualización y formulación de los elementos que se involucraran de
forma concreta dentro de la creación de la aplicación, por lo que se deben tener presentas varios de
los elementos no solo por parte del desarrollador, sino también por parte de los usuarios, pues son
parte importante ya que al final las aplicaciones serán utilizadas por ellos.
Es importante que dentro del análisis se estipulen los siguientes elementos;
Requisitos del cliente: es todo lo que los clientes o usuarios finales desean de la aplicación.
Requisitos detallados: determina los requisitos de forma específica y estructurada las cuales están
destinadas hacia los desarrolladores.
Especificación
La especificación es una de las fases del desarrollo de un proyecto, es muy importante
pues después de ésta se crea el diseño, sino se especifica lo que se requiere, el desarrollo
puede tener varias vías en las que los errores se harán presentes, sin embargo, cuando se
crea una correcta especificación en el desarrollo no se pierde tiempo ni dinero.
Esta etapa se logra gracias a la compilación de información obtenida de los usuarios sobre
sus preferencias, necesidades y formas en que se utilizan las aplicaciones, además de los
medios con que se cuentan y la posibilidad de los equipos con los que cuentan la mayoría
de los usuarios.
Validación
La validación es un requisito importante y necesario pues en este se determina si se
cumple con lo que se ha estipulado u ofrecido en el análisis y el desarrollo de la aplicación
en la que se ha trabajado y si cumple con los requerimientos de sistema y el desarrollo
apropiado en el lenguaje indicado para cada plataforma en la que ésta funcionará. La
validación se realiza mediante pruebas en la ingeniería de software, éste se basa en el
proceso de revisión y verificación para notar si cumple con su cometido.
Referencias
s/a. Tipos de software. Consultado el 17 de jul. de 13, obtenido de: http://www.tiposde.org/informatica/12-tipos-de-
software/
tecnomaestros. Tipos de software. Consultado el 17 de jul. de 13, obtenido de:
http://tecnomaestros.awardspace.com/tipos_software.php
Universidad de Cauca. Software de sistemas informáticos, tipos de software sistemas operativos, lenguajes de
programación. Consultado el 17 de jul. de 13, obtenido de: http://fccea.unicauca.edu.co/old/software.htm
SISCOOP, Especificación de requisitos de software. Consultado el 17 de jul. de 13, obtenido de:
http://dspace.espoch.edu.ec/bitstream/123456789/188/1/EspecificacionRequerimientosSoftware.pdf
s/a. Ingeniería de requisitos. Consultado el 17 de jul. de 13, obtenido de:
http://www.sistemas.edu.bo/lsalgado/sis3390/Requisitos/6.%20Ingenieria%20de%20requisitos.pdf
innovaSys. Tipos de requisitos. Consultado el 17 de jul. de 13, obtenido de: http://innovasyscorp.com/requisitos.html
Drake J., Análisis de requisitos y especificación de una aplicación. Consultado el 17 de jul. de 13, obtenido de:
http://www.ctr.unican.es/asignaturas/Ingenieria_Software_4_F/Doc/M3_08_Especificacion-2011.pdf