1. 4. SOFTWARE
Es el soporte lógico e inmaterial que permite que la computadora pueda
desempeñar tareas inteligentes dirigiendo a los componentes físicos (hardware)
con instrucciones y datos a través de diferentes tipos de programas.
el concepto de software va más allá de los programas de computación en sus
distintos estados: código fuente, binario o ejecutable; también su documentación,
los datos a procesar e incluso la información de usuario forman 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 1957. 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.
El concepto de leer diferentes secuencias de instrucciones (programa) desde la
memoria de un dispositivo para controlar los cálculos fue introducido por Charles
Babbage como parte de su máquina diferencial. La teoría que forma la base de la
mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de
1936, (Los números computables), con una aplicación al problema de decisión.
Un programa informático. Es un conjunto de instrucciones que una vez
ejecutadas realizarán una o varias tareas en una computadora. Sin programas,
estas máquinas no pueden funcionar. Al conjunto general de programas, se le
denomina software, que más genéricamente se refiere al equipamiento lógico o
soporte lógico de una computadora digital.
En informática, se los denomina comúnmente binarios, (propio en sistemas Unix,
donde debido a la estructura de este último, los ficheros no necesitan hacer uso de
extensiones. Posteriormente, los presentaron como ficheros ejecutables, con
extensión, exe, en los sistemas operativos de la familia Windows) debido a que
una vez que han pasado por el proceso de compilación y han sido creados, las
instrucciones que se escribieron en un lenguaje de programación que los humanos
usan para escribirlos con mayor facilidad, se han traducido al único idioma que la
máquina comprende, combinaciones de ceros y unos llamada código máquina. El
mismo término, puede referirse tanto a un programa ejecutable, como a su código
fuente, el cual es transformado en un binario cuando es compilado.
Generalmente el código fuente lo escriben profesionales conocidos como
programadores. Se escribe en un lenguaje que sigue uno de los siguientes dos
paradigmas: imperativo o declarativo y que posteriormente puede ser convertido
en una imagen ejecutable por un compilador. Cuando se pide que el programa sea
ejecutado, el procesador ejecuta instrucción por instrucción.
2. 4.1 De acuerdo a las funciones que realizan el software puede ser clasificado en:
SOFTWARE DE SISTEMA. Es el conjunto de programas que sirven para
interactuar con el sistema, confiriendo control sobre el hardware, además de dar
soporte a otros programas. A su vez el software de sistema se divide en:
-Sistema Operativo: Es un conjunto de programas que administra los recursos de
la computadora y controla su funcionamiento. El sistema operativo realiza 5
funciones básicas las cuales son:
Suministro de Interfaz al Usuario: Permiten al usuario comunicarse con la
computadora a través de interfaces que se basan en comandos, interfaces
que utilizan menús e interfaces graficas de usuario.
Administración de Recursos: Administra los recursos del hardware
Administración de Archivos: Controla la creación, borrado, copiado y acceso
de archivos de datos.
Administración de Tareas: Administra la información sobre los programas y
procesos que se están ejecutando en la computadora.
Servicio de Soporte: Consiste en la inclusión de utilidades nuevas,
actualización de versiones, mejoras de seguridad, controladores de nuevos
periféricos o corrección de errores del software.
-Controladores de Dispositivos: Son programas que permiten a otros programas
de mayor nivel como por ejemplo el Sistema Operativo que interactué con los
dispositivos del hardware.
-Programas Utilitarios: Realizan diversas funciones para resolver problemas
específicos además de realizar tareas de mantenimiento.
SOFTWARE DE APLICACION: Son los programas diseñados para o por el
usuario para facilitar la realización de tareas específicas en la computadora Ej.:
Aplicaciones Ofimáticas (procesador de texto, hoja de cálculo, sistema de base de
datos, etc.). Este software equivale a la profesión que se adquiere con los
estudios: medico, ingeniero, profesor, etc.
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
3. Enlazadores
Depuradores
Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores
herramientas, usualmente en un entorno visual, de forma tal que el
programador no necesite introducir múltiples comandos para compilar,
interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz
gráfica de usuario (GUI).
4.2. TIPOS DE SOFTWARE
SOFTWARE LIBRE: El software libre es un programa o secuencia de
instrucciones usada por un dispositivo de procesamiento digital de datos para
llevar a cabo una tarea específica o resolver un problema determinado, sobre el
cual su dueño renuncia a la posibilidad de obtener utilidades por las licencias,
patentes, o cualquier forma que adopte su derecho de propiedad sobre él (o sea,
el software libre puede estar licenciado, o protegido por una patente autoral), por
lo que puede utilizarse o transferirse sin pago alguno al licenciante, o a su creador.
Otra característica es que se encuentra disponible el código fuente del software,
por lo que puede modificarse el software sin ningún límite, y sin pago a quien lo
inventó o lanzó al mercado.
VENTAJAS
Existen aplicaciones para todas las plataformas (Linux, Windows, Mac Os).
El precio de las aplicaciones es mucho menor, la mayoría de las veces son
gratuitas.
Libertad de copia.
Libertad de modificación y mejora.
Libertad de uso con cualquier fin.
Libertad de redistribución.
Facilidad a la hora de traducir una aplicación en varios idiomas.
Mayor seguridad y fiabilidad.
El usuario no depende del autor del software.
INCONVENIENTES
Algunas aplicaciones (bajo Linux) pueden llegar a ser algo complicadas de
instalar.
Inexistencia de garantía por parte del autor.
Interfaces gráficas menos amigables.
Poca estabilidad y flexibilidad en el campo de multimedia y juegos.
Menor compatibilidad con el hardware.
SOFTWARE PROPIETARIO: Es aquel que es imposible de utilizar en otro
hardware, o terminal modificar, o transferir sin pagar derechos a su inventor o
creador.
4. Para ello, quienes han patentado software libre, lo han hecho permitiendo las
actividades recién nombradas. Así nace el Copyleft (el opuesto del Copyright de
los derechos autorales), que es básicamente el principio de que cualquier
modificación o cambio (Derivative Works), debe quedar disponible para el resto de
la comunidad bajo el mismo licenciamiento original. Con ello se fomenta el trabajo
colaborativo en el desarrollo de la informática.
También es importante recalcar algunos puntos importantes para un buen
desarrollo del mismo:
• El software se desarrolla o construye; no se manufactura en el sentido clásico. A
pesar de que existen similitudes entre el desarrollo del software y la manufactura
del hardware, las dos actividades serian diferentes en lo fundamental. En ambas la
alta calidad se alcanza por medio del buen diseño, la fase de manufactura del
hardware puede incluir problemas de calidad existentes en el software.
• El software no se desgasta. El software es inmune a los males ambientales que
desgasten el hardware. Por lo tanto la curva de tasas de fallas para el software
debería tener la forma de la “curva idealizada”. Los defectos sin descubrir causan
tasas de fallas altas en las primeras etapas de vida de un programa. Sin embargo,
los errores se corrigen y la curva se aplana: el software no se desgasta, pero si se
deteriora.
• A pesar de que la industria tiene una tendencia hacia la construcción por
componentes, la mayoría del software a un se construye a la medida. Un
componente de software se debe diseñar e implementar de forma que puede
utilizarse en muchos programas diferentes.
VENTAJAS
Facilidad de adquisición (puede venir preinstalado con la compra del PC, o
encontrarlo fácilmente en las tiendas).
Existencia de programas diseñados específicamente para desarrollar una
tarea.
Las empresas que desarrollan este tipo de software son por lo general
grandes y pueden dedicar muchos recursos, sobretodo económicos, en el
desarrollo e investigación.
Interfaces gráficas mejor diseñadas.
Más compatibilidad en el terreno de multimedia y juegos.
Mayor compatibilidad con el hardware.
INCONVENIENTES
5. No existen aplicaciones para todas las plataformas (Windows y Mac OS).
Imposibilidad de copia.
Imposibilidad de modificación.
Restricciones en el uso (marcadas por la licencia).
Imposibilidad de redistribución.
Por lo general suelen ser menos seguras.
El coste de las aplicaciones es mayor.
El soporte de la aplicación es exclusivo del propietario.
El usuario que adquiere software propietario depende al 100% de la
empresa propietaria
4.3. FASES DEL DESARROLLO DE SOFTWARE
Planificación. La tarea más importante en la creación de un producto de software
es la extracción de los requisitos o las necesidades de análisis. Los clientes suelen
tener una idea abstracta de lo que quieren como resultado final, pero no lo que el
software debe hacer. Su idea suele ser incompleta, ambigua, cuando no
contradictoria.
Aplicación, comprobación y documentación.
La implementación. Es la parte del proceso en el que los ingenieros de
software realmente programar el código para el proyecto.
La comprobación del software. Es una parte integral e importante del
proceso de desarrollo de software. Esta parte del proceso asegura que los
defectos se reconocen tan pronto como sea posible.
Documentar. El diseño interno de software con el propósito de
mantenimiento futuro y la mejora se realiza durante todo el desarrollo. Esto
también puede incluir la redacción de una API, ya sea externa o interna. Es
muy importante documentar todo lo que se hizo en el proyecto.
Despliegue y mantenimiento. La implementación se inicia después de que el
código se prueba de forma adecuada, está aprobado para su liberación y vendidos
o distribuidos de otra manera en un entorno de producción. Por otro lado, el
mantener y mejorar el software para hacer frente a los problemas recién
descubiertos o nuevos requisitos puede tomar mucho más tiempo que el
desarrollo inicial del software. Puede ser necesario añadir código que no encaja en
el diseño original para corregir un problema imprevisto o puede ser que un cliente
solicita una mayor funcionalidad y el código se puede añadir a sus peticiones.
4.4. Estructura y Arquitectura de Software
6. En el sentido estricto, una arquitectura de software es "Una descripción de los
subsistemas y componentes de un sistema de software y las relaciones que
existen entre ellos" (Bus96: c6).
A mediados de 1990, la arquitectura empezó a emerger como una disciplina más
amplia que implica el estudio de las estructuras y las arquitecturas de software en
una forma más genérica, dando ideas interesantes sobre diseño del software en
diferentes niveles de abstracción.
Algunos de estos conceptos son muy útiles durante el diseño arquitectónico (estilo
de arquitectura), de software específico, así como en su diseño de detalle (nivel
inferior, patrones de diseño). Así también para el diseño de sistemas genéricos lo
que lleva a la concepción de las familias de los programas (conocidas como líneas
de productos). La mayoría de estos conceptos pueden verse como intentos de
describir, por tanto la reutilización del diseño genérico del conocimiento.
El desarrollo de un sistema con gran cantidad de software requiere que este sea
visto desde diferentes perspectivas. Diferentes usuarios (usuario final, analistas,
desarrolladores, integradores, jefes de proyecto) siguen diferentes actividades en
diferentes momentos del ciclo de vida del proyecto, lo que da lugar a las diferentes
vistas del proyecto, dependiendo de qué interese más en cada instante de tiempo.
La arquitectura es el conjunto de decisiones significativas sobre:
La organización del sistema
Selección de elementos estructurales y sus interfaces a través de los cuales
se constituye el sistema.
El Comportamiento, como se especifica las colaboraciones entre esos
componentes.
Composición de los elementos estructurales y de comportamiento en
subsistemas progresivamente más grandes.
El estilo arquitectónico que guía esta organización: elementos estáticos y
dinámicos y sus interfaces, sus colaboraciones y su composición.
Estructuras Arquitectónicas y Puntos de Vista.
7. 3. MARCO TEÓRICO
La primera teoría sobre el software fue propuesta por Alan Turing en su ensayo de
1935 sobre números computables, con una aplicación destinada a la toma de
decisiones. El término "software" fue utilizado por primera vez de forma escrita por
John W. Tukey en 1958. El estudio de los campos académicos sobre el software
se divide en informática y la ingeniería de software. Como los programas cada
vez entraban más en el reino de firmware y el hardware por si sólo se hacía más
pequeño, más barato y más rápido debido a la ley de Moore, los elementos de la
computación que primero se consideraban software, pasan a ser hardware. La
mayoría de las compañías de hardware hoy en día tienen más programadores de
software en nómina que diseñadores de hardware, ya que las herramientas de
software han automatizado muchas de las tareas de los ingenieros de circuitos. Al
igual que la industria automotriz, la industria del software ha crecido de unos
pocos visionarios que operaban en su garaje con sus prototipos. Steve Jobs y Bill
Gates fueron los Henry Ford y Chevrolet Luis de sus tiempos. En el caso del
desarrollo de software, el despegue final es generalmente aceptado que se
produce con la publicación en la década de 1980 de las especificaciones para el
IBM Personal Computer. Hoy su movimiento sería visto como un tipo de público-
sourcing. Hasta ese momento, el software se incluye con el hardware de los
fabricantes de equipos originales (OEM), tales como Data General, Digital
Equipment y de IBM. Cuando un cliente compra una minicomputadora, esta
incluye el software que es instalado por los ingenieros empleados por el OEM. Las
empresas de informática de hardware, no sólo incluyen sus paquetes de software,
sino que también asesoren sobre la ubicación de los equipos normalmente en un
espacio refrigerado llamo sala de ordenadores. La mayoría de las empresas
tenían su software en su contabilidad valorados 0 ya que no podían venderlo.
Cuando Data General introdujo su software Data General Nova, una compañía
llamada Digidyne intentó instalar este software que ya había adquirido en un
equipo distinto. Data General se negó a darle una licencia para poder hacerlo y
fueron a los Tribunales. La Corte Suprema dijo que si Digidyne había pagado era
propietaria de ese software debía poder instalarlo en el equipo que quisiese, lo
que se llamó Digidyne. Poco después IBM publicó los registros de DOS y nació
Microsoft. La decisión de la Corte Suprema permitió valorar el software, patentarlo
y comerciar con él. Es difícil imaginar hoy que una vez la gente sentía que el
software no valía nada sin una máquina. Hay muchas empresas de éxito hoy en
día que venden sólo productos de software, aunque todavía hay muchos
problemas comunes de concesión de licencias de software debido a la
complejidad de los diseños y documentación, lo que lleva a los trolls de patentes.
Con las especificaciones de software de código abierto y la posibilidad de
concesión de licencias de software, nuevas oportunidades se levantaron de
herramientas de software que luego se convirtieron en el estándar de facto, como
DOS para los sistemas operativos, sino también diversos programas de
procesamiento de texto y hojas de cálculo. En un patrón de crecimiento similar, los
métodos de desarrollo de propiedad se convirtieron en la metodología estándar de
desarrollo de software.
8. UNIVERSIDAD DE CARTAGENA
(CREAD MAGANGUE)
HERRAMIENTAS INFORMÁTICAS
INTEGRANTES:
FREY GUERRA
RAFAEL ARRIETA
OSCAR DAZA
DANIEL PUELLO
VÍCTOR RAMÍREZ
CARLOS GUTIÉRREZ
TUTOR:
ELKIN NAVARRO
SEMESTRE:
(II)
INGENIERÍA DE SISTEMA
MAGANGUE BOLÍVAR
18/02/2012
9. 6. BIBLIOGRAFÍA
www.wikepedias.com
www.google.com
PRESSMAN, ROGER S. (2003). ingeniería del software, un enfoque
práctico (quinta edición). Mc Graw Hill.
HAEBERER, A. M.; P. A. S. VELOSO, G. BAUM (1988). formalización del
proceso de desarrollo de software (ed. preliminar edición). buenos aires:
Kapelusz.
10. 5. CONCLUSIÓN
Amanera de concluir podemos decir que en el tema de software, nos enseño la
manera más fácil de conocer que es software. Es todo lo que no se puede tocar
que es intangible que el software tiene su clasificación y que cada uno de los
concepto nos definió que ventajas adquirimos al conocer el tipo de licencia que
tiene un software, su tipo de uso en uno de los casos que se vio anteriormente fue
el software propietario que da a entender que el dueño del software controla su
desarrollo y no divulga su especificación así como esas hay diferentes tipos de
clasificación que se dividen por tipos, el software tiene una gran variedad de usos,
dependiendo siempre de que utilidad se le quiera dar. El software es utilizado para
el control de los equipos de computación que habitualmente manejamos, este tipo
de software son los llamados sistemas operativos otras aplicaciones del software
son para la realización de trabajos de oficina, como la creación de cartas,
presentaciones, etc.
11. 1. INTRODUCCIÓN
Durante nuestra carrera como estudiantes hemos sido testigos de los grandes y
sorprendentes avances que la tecnología ha desarrollado en los últimos años.
Estos avances han sido muy rápidos en la realidad, pero no podemos hablar de
que nacen de la noche a la mañana, cada uno de ellos refleja una investigación de
mucho tiempo. Estas nuevas tecnologías nos demuestran con hechos y resultados
lo importante que son para en la actualidad; a su vez se van convirtiendo en un
estándar para poder competir en el mundo real.
Un factor que ha sido relevante en este desarrollo de tecnologías ha sido el
Software, ya que ha facilitado y agilizado varios procesos que ya se manejaban
con anterioridad. Además que se ha convertido en una característica primordial
que deben tener las Organizaciones para poder convertirse en una de las mejores
a nivel mundial.
12. 2. OBJETIVOS
2.1. GENERALES:
Determinar la importancia del software en la actualidad, con el fin de acercarnos
un poco más, a su tecnología. Para obtener un conocimiento básico de lo que es
un software, aprender a identificarlos, alcanzar la utilización de este como tal,
diferenciar su clasificación, estructura y arquitectura y los tipos de software, etc.
2.2. ESPECÍFICOS:
Poner en práctica los conocimientos adquiridos en el trabajo para el
desarrollo y enriquecimiento de la práctica en los problemas cotidianos.
Identificar los diferentes tipos y clasificación del software en la
computadora.
Evaluar el grado de importancia del software en la actualidad para las
soluciones de problemas de aprendizaje, en el manejo de estos.
Exponer y enseñar a nuestros compañeros por lo menos conocimientos
básicos, adquiridos en la recopilación de material del software.
13. CONTENIDO
1. Introducción
2. Objetivos del trabajo
2.1. Objetivo general
2.2. Objetivos específicos
3. Marco teórico
4. Software
4.1. Clasificación del software
4.2. Tipos de software
4.3. Fases del desarrollo de software
4.4. Estructura y arquitectura de software
5. Conclusión
6. Bibliografía