INGENIERÍA DE SOFTWARE -...

18
Sesión 3: Tipos INGENIERÍA DE SOFTWARE

Transcript of INGENIERÍA DE SOFTWARE -...

Sesión 3: Tipos

INGENIERÍA DE

SOFTWARE

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