EL SOFTWARE
Es un ingrediente indispensable para el funcionamiento del computador. Est formado
por una serie de instrucciones y datos, que permiten aprovechar todos los recursos que el
computador tiene, de manera que pueda resolver gran cantidad de problemas. Un
computador en s, es slo un conglomerado de componentes electrnicos; el software le da
vida al computador, haciendo que sus componentes funcionen de forma ordenada.
El software es un conjunto de instrucciones detalladas que controlan la operacin de un
sistema computacional.
Funciones del software
Administrar los recursos de computacionales
Proporcionar las herramientas para optimizar estos recursos.
Actuar como intermediario entre el usuario y la informacin almacenada.
Programas de Software
Programa: Conjunto de argumentos o instrucciones para la computadora, almacenado en
la memoria primaria de la computadora junto con los datos requeridos para ser ejecutado,
en otras palabras hacer que las instrucciones sean realizadas por la computadora.
Tipos de Software
Software del sistema: Es un conjunto de programas que administran los recursos de la
computadora. Ejemplos: Unidad central de proceso, dispositivos de comunicaciones y
dispositivos perifricos, el software del sistema administra y controla al acceso del
hardware.
Software de aplicaciones: Programas que son escritos para o por los usuarios para realizar
una tarea especfica en la computadora. Ejemplo: software para procesar un texto, para
generar una hoja de clculo, el software de aplicacin debe estar sobre el software del
sistema para poder operar.
Software de usuario final: Es el software que permiten el desarrollo de algunas
aplicaciones directamente por los usuarios finales, el software del usuario final con
frecuencia tiene que trabajar a travs del software de aplicacin y finalmente a travs del
software del sistema
CUALIDADES DEL SOFTWARE
Correcto: Un programa es funcionalmente correcto si se comporta de acuerdo a la
especificacin de las funciones (especificacin de requerimientos funcionales) que debera
proveer.
Confiabilidad: Informalmente el software es confiable si el usuario puede tenerle
confianza. Formalmente la confiabilidad se define en trminos del comportamiento
estadstico: la probabilidad de que el software opere como es esperado en un intervalo de
tiempo especificado.
Robustez (Robustness): Un programa es robusto si se comporta en forma razonable an en
circunstancias que no fueron anticipadas en la especificacin de requerimientos; por
ejemplo cuando encuentra datos de entrada incorrectos o algn malfuncionamiento del
hardware como rotura de disco.
Performance (tambin Eficciency): En la Ingeniera de Software generalmente
performance equivale a eficiencia. Un sistema de software es eficiente si utiliza los recursos
computacionales en forma econmica.
Amigabilidad (Friendliness): Un sistema de software es amigable si un usuario humano lo
encuentra fcil de utilizar. Esta definicin refleja la naturaleza subjetiva de la amigabilidad.
La seguridad es un factor de calidad de uso, definido por la ISO 9126 y se refiere a la forma
en que los atributos miden la habilidad para prevenir accesos no autorizados, ya sea
cuenta la seguridad del software al momento de desarrollarlo, pero es a los clientes a los
que a la hora de la verdad, exigen un sistema final totalmente confiable y seguro.
Seguridad-Mtrica: La seguridad est dentro del contexto de las mtricas de calidad.
INGENIERA DEL SOFTWARE
La ingeniera de software es una disciplina formada por un conjunto de mtodos,
herramientas
tcnicas
que
se
utilizan
en
el desarrollo
de
los
programas
anterior sumarle toda la documentacin de trabajo que sea necesaria para trabajar con los
usuarios, que no tienen por qu entender de modelos de datos, de diagramas de casos de
uso.
PARTICIPANTES EN EL PROCESO DE DESARROLLO DE SOFTWARE
Puesto que la participacin de usuarios en el diseo de sistemas de informacin es un
aspecto relevante, resulta necesario aclarar lo que significa la participacin y lo que ella
implica. Una cosa es segura: la participacin no es un concepto nuevo en el extenso plano
de las ciencias de la informacin.
En el entendido de que toda unidad de informacin trabaja en funcin del beneficio
social; el participante ms importante de ella es, por lo tanto, el usuario. De esta manera, se
puede definir a la participacin como un proceso en el cual dos o ms partes involucradas
influyen sus decisiones, planes y polticas en torno a los sistemas, servicios y recursos que
ofrece una determinada unidad. Sin embargo, se debe reconocer que es poco el debate que
se hace acerca de las decisiones tomadas, es decir, de los distintos intereses que influyen en
ellas. Si se desea tener un acercamiento ms amplio en el diseo de sistemas es necesario
considerar las funciones, la estructura, los intereses y los problemas mismos que influyen
en los participantes implicados. Dentro de todo sistema, existen varios tipos de
participantes que necesariamente intervienen en los sistemas que ellos mismos
implementan para agilizar la recuperacin de sus recursos.
As mismo, tambin existen tres tipos de participante: participantes unitarios, pluralistas y
coercitivos. La relacin de tipo unitaria implica que sus participantes poseen valores,
creencias e intereses idnticos; ellos comparten el mismo propsito. En las relaciones
pluralistas, sus participantes comparten los mismos intereses, no as sus valores o creencias,
lo que debe promover un espacio de intercambio de ideas, acuerdos e incluso conflictos. En
total contraste, en las relaciones coercitivas existen pocos o nulos intereses en comn, la
libertad de expresin es muy baja y los valores y creencias de cada individuo resultan ser
muy conflictivas. Las decisiones son tomadas mediante enfoques absolutistas de gente con
poder.
Manual de Usuario: Describe paso a paso la manera cmo funciona el programa, con el
fin de que el usuario lo pueda manejar para que obtenga el resultado deseado.
Mantenimiento: Una vez instalado un programa y puesto en marcha para realizar la
solucin del problema previamente planteado o satisfacer una determinada necesidad, es
importante mantener una estructura de actualizacin, verificacin y validacin que
permitan a dicho programa ser til y mantenerse actualizado segn las necesidades o
requerimientos planteados durante su vida til. Para realizar un adecuado mantenimiento,
es necesario contar con una buena documentacin del mismo. Para terminar de entender la
problemtica en la cual se desarrolla este libro es importante tener unos conceptos claros y
precisos de lo que es el Anlisis y el Diseo de Algoritmos.
FUNDAMENTACIN TERICA DEL PARADIGMA DE PROGRAMACIN
Los paradigmas de programacin son la forma, que determinan los mtodos y las
herramientas que un programador usara en la construccin de un software. Mayormente los
lenguajes de programacin estn basados en uno o ms paradigmas, a estos se les puede
llamar multiparadigmas. Tambin menciona los diferentes tipos de paradigmas que se
conocen, pero solamente se hace referencia a los ms importante ya que suelen haber
muchos ms que no se mencionaran en esta investigacin.
Un lenguaje de programacin puede soportar distintos paradigmas de programacin
con el objetivo de que un programador utilice el ms conveniente a la hora de resolver un
problema. Ningn paradigma es capaz de resolver todos los problemas de forma sencilla y
eficiente, por lo tanto, es til poder elegir entre distintos estilos de programacin
dependiendo del tipo de problema. Tambin hay lenguajes que permiten mezclar los
paradigmas que, en principio, pareceran irreconciliables.
Se debe aclarar que hay subparadigmas que se incluyen en paradigmas ms generales,
pero hay otros que utilizan mtodos de programacin totalmente distintos entre s e
igualmente hay lenguajes que los combinan. Por ejemplo, el lenguaje Oz emplea
programacin lgica, funcional, orientada a objeto y otras. Lenguajes como Delphi, C++ y
alternativa. La intencin del traductor debera ser mantener toda la informacin tal y como
se presenta en ingls.
Diferentes tipos de modelos del sistema se basan en distintas aproximaciones de
abstraccin. Un modelo de flujo de datos se centra en el flujo de datos y las
transformaciones funcionales sobre esos datos. Se omiten los detalles de las estructuras de
datos. Por el contrario, un modelo de entidades de datos y sus relaciones documentan las
estructuras de datos del sistema en lugar de su funcionalidad.
TCNICAS Y HERRAMIENTAS EN EL PROCESO DE DESARROLLO DE
SOFTWARE
Las herramientas de desarrollo de software (HDS) han desempeado un importante
papel en el desarrollo de aplicaciones. Como consecuencia del avance tecnolgico stas han
experimentado tambin continuos cambios. As como se cuenta en la actualidad con
documentacin sobre las numerosas HDS disponibles, y con trabajos de investigacin que
revelan avances en herramientas particulares.
El Proceso / Tcnicas. Permite un desarrollo racional de la IS y comprende actividades
tcnicas y de gestin propias asociadas al ciclo de vida del software. Est determinado por
un modelo, una representacin formal de un sistema. En la IS, un modelo se comporta
tambin como una estrategia de desarrollo.
El Mtodo. Un mtodo es una gua general para ayudar al desempeo de una actividad. En
la IS, los mtodos indican cmo construir el software. Los mtodos tienen dimensiones de
eficiencia y de efectividad, sentido del proceso y del producto, cualidades que se atribuyen
directamente a la calidad del software.
Las Herramientas. Todo mtodo tiene uno o varios instrumentos y tcnicas asociados a
l, con un grado de adecuacin que depende generalmente del contexto de aplicacin.
Herramientas de Desarrollo de Software