fundamentos del computador

24
Fundamentos del computador

Upload: elelectronico2012

Post on 12-Apr-2017

406 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Fundamentos del computador

Fundamentos del computador

Page 2: Fundamentos del computador

Software

Software es un término informático que hace referencia a un programa o conjunto de programas de cómputo que incluye datos, procedimientos y pautas y que permite realizar distintas tareas en un sistema informático.

Comúnmente se utiliza este término para referirse de una forma muy genérica a losprogramas de un dispositivo informático

Page 3: Fundamentos del computador

Software del sistema El software del sistema se encarga de

controlar, integrar y administrar los componentes de hardware de un sistema informático, proporcionando un entorno amigable para que los usuarios puedan ejecutar otras aplicaciones de software.

El software del sistema es un conjunto de programas de software que permiten al usuario interactuar con los dispositivos sin perderse en la complejidad técnica del equipo. Estos programas son la base de la arquitectura del software, incluyendo las partes que regulan las funciones de entrada/salida.

El software del sistema incluye los sistemas operativos, controladores de dispositivos, servidores, sistemas de ventanas y programas de utilidades. Permitiendo coordinar todos los dispositivos internos o externos de la computadora como impresora, mouse, teclado, monitor, etc.

El software del sistema es copiado en el equipo al instalar el sistema operativo. Puedes actualizar el software del sistema mediante la ejecución de programas tales como “Windows Update” en Windows o “Software Update” en Mac OS X. Dado que el software del sistema se ejecuta en el nivel más básico de la computadora, se le conoce también como software de “bajo nivel”.

Page 4: Fundamentos del computador

Ejemplos de software de sistemas para desktop y movil

Page 5: Fundamentos del computador

Software de aplicacion

El Software de Aplicación son los programas diseñados para o por los usuarios para facilitar la realización de tareas específicas en la computadora, como pueden ser las aplicaciones ofimáticas (procesador de texto, hoja de cálculo, programa de presentación, sistema de gestión de base de datos...), u otros tipos de software especializados como software médico, software educativo, editores de música, programas de contabilidad, etc.

Page 6: Fundamentos del computador

Ejemplos de software de aplicación desktop y moviles

Page 7: Fundamentos del computador

Software de programacion

Es el conjunto de herramientas que permiten al programador escribir programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica.

Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar solución a problemas con pasos lógicos y con precisión, o como modo de comunicación humana.  Está formado por un conjunto de símbolos y reglas que definen su estructura y el significado de sus elementos y expresiones

Page 8: Fundamentos del computador

Ejemplos de software de programacion desktop y moviles

Page 9: Fundamentos del computador

Etapas del proceso de desarrollo de software

Page 10: Fundamentos del computador

Primera etapa de desarrollo

Análisis de requisitos Extraer los requisitos de un producto de software es la primera etapa para

crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMM-I. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software. La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales. Se han ideado modelos y diversos procesos de trabajo para estos fines. Aunque aun no está formalizada, ya se habla de la Ingeniería de Requisitos. La IEEE Std. 830-1998 normaliza la creación de las Especificaciones de Requisitos Software (Software Requirements Specification).

Page 11: Fundamentos del computador

Segunda etapa de desarrollo

Diseño y arquitectura Se refiere a determinar como funcionará de forma general sin

entrar en detalles. Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos.

Page 12: Fundamentos del computador

Tercera etapa de desarrollo

Programación Reducir un diseño a código puede ser la parte más obvia del

trabajo de ingeniería de software, pero no es necesariamente la porción más larga. La complejidad y la duración de esta etapa está intimamente ligada al o a los lenguajes de programación utilizados.

Page 13: Fundamentos del computador

Cuarta etapa de desarrollo

Pruebas Consiste en comprobar que el software realice correctamente las tareas

indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral,para así llegar al objetivo. Se considera una buena practica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un area de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un area de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en que condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría.

Page 14: Fundamentos del computador

Quinta eatpa de desarrollo

Documentación Todo lo concerniente a la documentación del propio desarrollo del

software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema

Page 15: Fundamentos del computador

Sexta y ultima etapa de desarrollo

Mantenimiento Mantener y mejorar el software para enfrentar errores

descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento.

Page 16: Fundamentos del computador

Los tipos de licencias que existen en el software

Page 17: Fundamentos del computador

Software Libre o Free Software

Es un software disponible para cualquiera que desee utilizarlo, copiarlo y distribuirlo, ya sea en su forma original o con modificaciones. La posibilidad de modificaciones implica que el código fuente está disponible. Si un programa es libre, puede ser potencialmente incluido en un sistema operativo también libre. Es importante no confundir software libre con software gratis, porque la libertad asociada al software libre de copiar, modificar y redistribuir, no significa gratuidad.Existen programas gratuitos que no pueden ser modificados ni redistribuidos. Y existen programas pagos. 

Page 18: Fundamentos del computador

Copyleft

La mayoría de las licencias usadas en la publicación de software libre permite que los programas sean modificados y redistribuidos. Estas prácticas están generalmente prohibidas por la legislación internacional de copyright, que intenta impedir que alteraciones y copias sean efectuadas sin la autorización del o los autores. Las licencias que acompañan al software libre hacen uso de la legislación de copyright para impedir la utilización no autorizada, pero estas licencias definen clara y explícitamente las condiciones bajo las cuales pueden realizarse copias, modificaciones y redistribuciones, con el fin de garantizar las libertades de modificar y redistribuir el software registrado. A esta versión de copyright, se le da el nombre de copyleft. 

Page 19: Fundamentos del computador

GPL

La Licencia Pública General GNU (GNU General Public License GPL) es la licencia que acompaña los paquetes distribuidos por el Proyecto GNU, más una gran varidad de software que incluye el núcleo del sistema operativo Linux. La formulación de GPL es tal que en vez de limitar la distribución del software que protege, llega hasta impedir que este software sea integrado en software propietario. La GPL se basa en la legislación internacional de copyright, lo que debe garantizar cobertura legal para el software licenciado con GPL. 

Page 20: Fundamentos del computador

Debian

La licencia Debian es parte del contrato realizado entre Debian y la comunidad de usuarios de software libre, y se denomina Debian Free Software Guidelines (DFSG). En esencia, esta licencia contiene criterios para la distribución que incluyen, además de la exigencia de publicación del código fuente: (a) la redistribución libre ; (b) el código fuente debe ser incluido y debe poder ser redistribuido; (c) todo trabajo derivado debe poder ser redistribuido bajo la misma licencia del original; (d) puede haber restricciones en cuanto a la redistribución del código fuente, si el original fue modificado; (e) la licencia no puede discriminar a ninguna persona o grupo de personas, así como tampoco ninguna forma de utilización del software; (f) los derechos otorgados no dependen del sitio en el que el software se encuentra; y (g) la licencia no puede 'contaminar' a otro software. 

Page 21: Fundamentos del computador

BSD

La licencia BSD cubre las distribuciones de software de Berkeley Software Distribution, además de otros programas. Ésta es una licencia considerada 'permisiva', ya que impone pocas restricciones sobre la forma de uso, alteraciones y redistribución del software. El software puede ser vendido y no hay obligaciones de incluir el código fuente. Esta licencia garantiza el crédito a los autores del software pero no intenta garantizar que las modificaciones futuras permanezcan siendo software libre. 

Page 22: Fundamentos del computador

Freeware

El término freeware no posee una definición ampliamente aceptada, pero es utilizada para programas que permiten la redistribución pero no la modificación, y que incluyen su código fuente. Estos programas no son software libre.

Es un programa gratuito. Sin embargo, no es libre. En este tipo de licencia el autor puede restringir su programa al uso empresarial, redistribución no autorizada, modificación por usuarios y otro tipo de restricciones. (Ejemplos: Internet Explorer,Adobe Flash Player, Windows Live Messenger) 

Page 23: Fundamentos del computador

Maquina virtual

La máquina virtual normalmente emula un ambiente de computación físico pero las demandas de CPU, memoria, disco duro, red y otros recursos de hardware son gestionadas por una capa de virtualización que traduce estas solicitudes a la infraestructura de hardware físico subyacente.

Las VMs se crean dentro de una capa de virtualización, como un hipervisor o una plataforma de virtualización que funciona sobre un sistema operativo servidor o cliente. Este sistema operativo se conoce con el nombre de OS anfitrión. La capa de virtualización puede usarse para crear muchos ambientes individuales y aislados de VMs.

Page 24: Fundamentos del computador

FIN

NOMBRE:BRAYAN MANUEL D OLEOMATRICULA:2015-2515