1. Software
Software de Sistema
Software de Aplicación
Software de Programa
Etapas del Proceso del Desarrollo de Software
Los tipos de Licencias que existen en el Software
Maquina Virtual
Hyo Young Bernard Wiesner
Matricula: 2015-2831
2. Que es Software
Se conoce como software al equipo lógico o soporte lógico de un sistema informático,
que comprende el conjunto de los componentes lógicos necesarios que hacen posible la
realización de tareas específicas, en contraposición a los componentes físicos que son
llamados hardware.
Software significa literalmente: partes blandas o suaves
3. Clasificación de Software (Parte 2)
Software de Sistema: Sistema Operativo (OS); Controladores de dispositivos;
Herramientas de diagnóstico; Herramientas de Corrección y Optimización; Servidores;
Utilidades
Software de aplicación: 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)
Software de programación: Editores de texto; Compiladores; Intérpretes; Enlazadores;
Depuradores; Entornos de Desarrollo Integrados (IDE)
5. Linux (Software de Sistema)
Linus Torvalds, creador del núcleo Linux.
Es software libre, todo su código fuente puede ser utilizado, modificado y
redistribuido libremente por cualquiera bajo los términos de la GPL
(LicenciaPública General de GNU, en inglés: General Public License) y otra serie de
licencias libres.
Linux es en realidad sólo el Kernel (núcleo) del sistema.
GNU/Linux es la verdadera denominación del sistema operativo debido a que el resto
del sistema (la parte fundamental de la interacción entre el hardware y el usuario) se
maneja con las herramientas del proyecto GNU
NU/Linux puede funcionar tanto en entorno gráfico como en modo consola.
Los escritorios más populares en GNU/Linux son: GNOME, KDE SC, LXDE y Xfce.
GNU/Linux se destaca por su confiabilidad, seguridad y libertad para modificar el
código
Tiene capacidad para compilar C,C++, Java, Ada, Pascal, entre otros muchos lenguajes,
y las aplicaciones para GNU/Linux se distribuyen principalmente en los
formatos .deb y .rpm.
6. Mac OS (Software de Sistema)
Mac OS (Macintosh Operating System) es el nombre del sistema operativo creado por
Apple para su línea de computadoras Macintosh.
El primer sistema fue el “System 1” en el 1984.
El Mac OS clásico fue desarrollado en el 1985 por Bill Atkinson, Jef Raskin y Andy
Hertzfeld.
A partir de la versión 10 (Mac OS X), el sistema cambió su arquitectura totalmente y
pasó a basarse en Unix, sin embargo su interfaz gráfica mantiene muchos elementos de
las versiones anteriores.
Mac OS X Es el sistema operativo más nuevo de Apple.
Mac OS se destaca por su seguridad y confiabilidad.
7. 2 ejemplos de Software de Sistema Móvil
Android
Firefox OS
8. Android (Software de Sistema móvil)
Android es un sistema operativo basado en el núcleo Linux.
Fue diseñado principalmente para dispositivos móviles con pantalla táctil,
como teléfonos inteligentes o tablets; y también para relojes inteligentes,
televisores y automóviles.
El primer móvil con el sistema operativo Android fue el HTC Dream y se
vendió en octubre de 2008.
Los dispositivos de Android venden más que las ventas combinadas de
Windows Phone e IOS
Todas las aplicaciones están escritas en lenguaje de programación Java.
El bytecode Java, se compila en un ejecutable Dalvik y corre en la Máquina
Virtual Dalvik. (No usa la maquina virtual Java)
Android es un sistema explícitamente menos vulnerable.
Versiones OS:
• A: Apple Pie (1.0)
• B: Banana Bread (1.1)
• C: Cupcake (1.5)
• D: Donut (v1.6)
• E: Éclair (v2.0/v2.1)
• F: Froyo (v2.2)
• G: Gingerbread (v2.3)
• H: Honeycomb (v3.0/v3.1/v3.2)
• I: Ice Cream Sandwich (v4.0)
• J: Jelly Bean (v4.1/v4.2/v4.3)
• K: KitKat (v4.4)
• L: Lollipop (v5.0/v5.1)
• M: Marshmallow (v6.0)
9. Firefox OS (Software de Sistema móvil)
Firefox OS (nombre clave: Boot to Gecko o B2G) es un sistema operativo
móvil, basado en HTML5 con núcleo Linux, de código abierto para varias
plataformas.
En febrero de 2013 Mozilla anunció planes para el lanzamiento mundial de
Firefox OS
Almacenamiento: SQLite, una base de datos liviana, que es usada para
propósitos de almacenamiento de datos.
Aplicaciones web: Las aplicaciones web pueden ser ejecutadas directamente
sin necesidad de ingresar al navegador. Los permisos que se concedan a ellas,
dependerán si son de uso offline o simplemente online.
La arquitectura de Firefox OS tiene tres componentes muy importantes:
Gonk: Conformado por el kernel Linux y una capa de abstracción de hardware.
Gecko: El entorno de ejecución.
Gaia: La interfaz gráfica de usuario.
10. 2 ejemplos de Software de Aplicación
Skype
Dolphin (emulador)
11. Skype (Software de Aplicación)
Skype es un software que permite comunicaciones de texto, voz y vídeo sobre
Internet (VoIP).
Fue diseñado en 2003 por el danés Janus Friis y el sueco Niklas Zennström
(también creadores de Kazaa)
El código y protocolo de Skype permanecen cerrados y son privativos de la
aplicación
Los usuarios interesados pueden descargar gratuitamente la aplicación ejecutable
del sitio web oficial.
Los usuarios de Skype pueden hablar entre sí gratuitamente.
El 10 de mayo de 2011 Microsoft anunció la compra completa de Skype por 8500
millones de dólares.
La agencia de inteligencia estadounidense Agencia de Seguridad Nacional (NSA)
monitoriza las conversaciones de Skype mediante el sistema de vigilancia
electrónica PRISM.
La aplicación fue originalmente desarrollada en lenguaje Davinci usando el
entorno Delphi; más tarde fue portado a GNU/Linux, haciendo uso de las
bibliotecas Qt.
12. Dolphin (Software de Aplicación)
Dolphin es un emulador para Nintendo GameCube, Wii y Triforce que funciona
en sistemas operativos Windows y GNU/Linux,
Dolphin es el primer emulador de Wii y Gamecube que ejecuta juegos
comerciales.
Requerimientos Recomendados
Sistema Operativo Windows 7 64 Bits
CPU (Intel) i5-3570K, i5-4670K
GPU (Nvidia y AMD respectivamente) Geforce GTX 460 o HD5770
Memoria RAM 2 GB
13. 2 ejemplos de Software de Aplicación Móvil
Google Play
App Store
14. Google Play (Aplicación Móvil)
Es una plataforma de distribución de software en línea desarrollado
por Google Inc. para dispositivos con sistema operativo Android.
Fue lanzado en octubre de 2008
Hasta octubre de 2012, Google Play contaba con más de 700,000 aplicaciones.
En la plataforma se encuentran disponibles tanto aplicaciones gratuitas como
de pago.
Su interfaz es sencilla y rápida de utilizar.
15. App Store (Aplicación Móvil)
La App Store fue el primer servicio de distribución de aplicaciones, siendo
lanzada el 10 de julio de 2008.
En 2012, el CEO de Apple, Tim Cook, anunció que existen más de 650,000
aplicaciones disponibles para dispositivos con iOS.
Desde su creación en 2008, más de un millón de aplicaciones estuvieron
disponibles en el App Store.
16. 2 ejemplos de Software de Programacion
NetBeans
Eclipse
17. Software de Programación (Desktop)
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el
lenguaje de programación Java.
NetBeans IDE2 es un producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de código abierto de gran éxito
Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000.
(Oracle administra Sun MicroSystems)
El NetBeans IDE es de código abierto escrito completamente en Java usando la
plataforma NetBeans.
18. Eclipse (Software de Programación)
Eclipse es un programa informático compuesto por un conjunto de herramientas de
programación de código abierto multiplataforma para desarrollar lo que el proyecto
llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano"
basadas en navegadores.
Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de
herramientas para VisualAge.
Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente
sin ánimo de lucro que fomenta una comunidad de código abierto.
Eclipse dispone de un Editor de texto con un analizador sintáctico. La compilación es
en tiempo real.
La versión más actual es la Mars, salio el 24 de junio de 2015.
19. 2 ejemplos de Software de Programación
Móvil
Appy Pie
Mobile Roadie
20. Appy Pie (Software de Programación Móvil)
Appy Pie permite a los usuarios sin conocimientos de programación, para
crear una aplicación para Windows Phone 8 , Android y iPhone aplicaciones
para móviles y smartphones ; y publicar en Google Play & iTunes.
Es una aplicación que permite a sus usuarios crear diferentes tipos de
aplicaciones móviles , que pueden ser liberadas al público y monetizados.
También cuenta con su propio mercado para mostrar las aplicaciones creadas
a través de él.
Appy Pie se lanzo el 14 de abril de 2013.
21. Mobile Roadie
(Software de Programación Móvil)
Mobile Roadie es una plataforma de aplicaciones móviles de autoservicio para
crear , personalizar y gestionar aplicaciones móviles.
Mobile Roadie ofrece cuatro plataformas móviles - iPhone , Android , iPad y
móvil del sitio web . Se crean y gestionan a través del Sistema de Gestión de
Contenidos de Mobile Roadie , que cuenta con un cuadro de mandos para ver
la analítica y la actividad de aplicaciones.
22. Etapas de desarrollo de Software
1. Plan operativo Etapa donde se define el problema a resolver, las metas del proyecto, las metas de
calidad y se identifica cualquier restricción aplicable al proyecto.
2. Especificación de requisitos Permite entregar una visión de alto nivel sobre el proyecto, poniendo
énfasis en la descripción del problema desde el punto de vista de los clientes y desarrolladores. También se
considera la posibilidad de una planificación de los recursos sobre una escala de tiempos.
3. Especificación funcional Especifica la información sobre la cual el software a desarrollar trabajará.
4. Diseño Permite describir como el sistema va a satisfacer los requisitos. Esta etapa a menudo tiene
diferentes niveles de detalle. Los niveles más altos de detalle generalmente describen los componentes o
módulos que formarán el software a ser producido. Los niveles más bajos, describen, con mucho detalle,
cada módulo que contendrá el sistema.
5. Implementación Aquí es donde el software a ser desarrollado se codifica. Dependiendo del tamaño del
proyecto, la programación puede ser distribuida entre distintos programadores o grupos de programadores.
Cada uno se concentrará en la construcción y prueba de una parte del software, a menudo un subsistema.
Las pruebas, en general, tiene por objetivo asegurar que todas las funciones están correctamente
implementadas dentro del sistema.
6. Integración Es la fase donde todos los subsistemas codificados independientemente se juntan. Cada
sección es enlazada con otra y, entonces, probada. Este proceso se repite hasta que se han agregado todos
los módulos y el sistema se prueba como un todo.
7. Validación y verificación Una vez que el sistema ha sido integrado, comienza esta etapa. Es donde es
probado para verificar que el sistema es consistente con la definición de requisitos y la especificación
funcional. Por otro lado, la verificación consiste en una serie de actividades que aseguran que el software
implementa correctamente una función específica. Al finalizar esta etapa, el sistema ya puede ser instalado
en ambiente de explotación.
8. Mantenimiento El mantenimiento ocurre cuando existe algún problema dentro de un sistema existente, e
involucraría la corrección de errores que no fueron descubiertos en las fases de prueba, mejoras en la
implementación de las unidades del sistema y cambios para que responda a los nuevos requisitos. Las
mantenciones se puede clasificar en: correctiva, adaptativa, perfectiva y preventiva.
23. Tipos de Licencias que existen en Software
Una licencia de software es un contrato entre el licenciante (autor/titular de los derechos de
explotación/distribuidor) y el licenciatario (usuario consumidor /usuario profesional o empresa)
del programa informático, para utilizar el software cumpliendo una serie de términos y condiciones
establecidas dentro de sus cláusulas.
Según los derechos que cada autor se reserva sobre su obra.
Licencia de software de código abierto permisivas.
Se puede crear una obra derivada sin que ésta tenga obligación de protección alguna
Licencias de software de código abierto robustas fuertes.
Contienen una cláusula que obliga a que las obras derivadas o modificaciones que se realicen al software
original se deban licenciar bajo los mismos términos y condiciones de la licencia original.
Licencias de software de código abierto robustas débiles.
Contienen una cláusula que obliga a que las modificaciones que se realicen al software original se deban
licenciar bajo los mismos términos y condiciones de la licencia original, pero que las obras derivadas que se
puedan realizar de él puedan ser licenciadas bajo otros términos y condiciones distintas.
Licencia de software de código cerrado.
Este tipo de licencias, por lo general, no permiten que el software sea modificado, desensamblado, copiado o
distribuido de formas no especificadas en la propia licencia (piratería de software), regula el número de
copias que pueden ser instaladas e incluso los fines concretos para los cuales puede ser utilizado.
Software de dominio público (sin licencia)
Se permite uso, copia, modificación o redistribución con o sin fines de lucro.
Según su destinatario
Licencia de Usuario Final (EULA o End User License Agreement
Licencia de distribuidores
24. Maquina Virtual
En informática una máquina virtual es un software que simula a una
computadora y puede ejecutar programas como si fuese una computadora
real.
Una característica esencial de las máquinas virtuales es que los procesos que
ejecutan están limitados por los recursos y abstracciones proporcionados
por ellas.
Uno de los usos domésticos más extendidos de las máquinas virtuales
es ejecutar sistemas operativos para "probarlos".
Tipos de máquinas virtuales
Máquinas virtuales de sistema (Varios sistemas operativos
distintos pueden coexistir sobre la misma computadora)
Máquinas virtuales de proceso (Un ejemplo es la máquina virtual de Java.
permita que un programa se ejecute siempre de la misma forma sobre cualquier
plataforma.)