La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Software.

Presentaciones similares


Presentación del tema: "Software."— Transcripción de la presentación:

1 software

2 Se conoce como software al equipamiento 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. Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.

3 software de sistema

4 El software del sistema es un software diseñado para operar en el hardware del equipo y proporcionar y mantener una plataforma para ejecutar software de aplicación. Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc.

5 Ejemplo de software de sistema windows:
Ejemplo de Software de Sistema MoVil: Nod32: Es un programa antivirus desarrollado por la empresa ESET, de origen eslovaco. El producto está disponible para Windows SQL Server : Es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Ejemplo de software de sistema windows: AppCenter: Software que protege la productividad de los empleados a través de un control íntegro de la funcionalidad del terminal móvil. PocketBrowser: Este software le permite desarrollar excelentes aplicaciones móviles de manera rápida, fácil y rentable.

6 Software de Aplicación

7 Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros: 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), etc.

8 Ejemplo de software de aplicacion windows:
Microsoft Word: Es un procesador de texto creado por Microsoft, forma parte del paquete Microsoft Office. Word es uno de los procesadores de texto, más utilizados para trabajar con documentos. Auto CAD: Es una herramienta para el dibujo de planos, que sustituye al viejo y querido tablero, y sirve para todo. Si bien las versiones 2006 y 2007 cada vez tienen mas herramientas para lo "estético" (por llamarlo así) nunca va a llegar a ser lo que es un programa especifico de diseño grafico.

9 Ejemplo de software de aplicacion movil:
Ebuddy: Es una aplicación de mensajería instantánea para web y dispositivos móviles que soporta varios servicios de mensajería instantánea incluido Windows Live Messenger, Yahoo , AIM, Google Talk, MySpace IM y Facebook. Appstore: Es un servicio para el iPhone, el iPod Touch, el iPad y Mac OS X Snow Leopard o posterior, creado por Apple Inc, que permite a los usuarios buscar y descargar aplicaciones informáticas de iTunes Store o Mac App Store en el caso de Mac OSX, desarrolladas con el iPhone SDK y publicadas por Apple.

10 Software de Programación:

11 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, Enlazadores, Depuradores, etc; Es un tipo especial de software que nos permite crear, desarrollar y programar otras aplicaciones, que dan origen a los programas que usamos día a día.

12 Ejemplo de software de programacion windows:
Visual Basic: Es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la programación misma. Oracle: Es un sistema de gestión de base de datos objeto-relacional (u ORDBMS por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle Database como uno de los sistemas de bases de datos más completos, destacando: soporte de transacciones, Estabilidad, escalabilidad, soporte multiplataforma.

13 Ejemplo de software de programacion movil:
Sony Ericsson SDK: Es un conjunto de herramientas, plugins y documentación que te permite desarrollar y probar los paneles nativos de Xperia, los paneles web de Xperia (HTML), los paneles de Xperia compatibles con OpenGL ES y las aplicaciones de Windows Mobile 6.1 para el teléfono Xperia X1.El complemento Microsoft Visual Studio IDE te permite desarrollar y probar los paneles nativos de Xperia, los paneles web de Xperia (HTML), los paneles de Xperia compatibles con OpenGL ES y las aplicaciones de Windows Mobile 6.1 para el teléfono Xperia X1. El Java Me SDK 3.0: Es un conjunto de herramientas que permite el desarrollo de software sobre la plataforma Java ME (Micro Edition) para dispositivos con recursos limitados tales como teléfonos móviles, pagers, PDAs, etc. 

14 Etapas del proceso de desarrollo de software

15 Estas son: Captura, análisis y especificación de requisitos.
Procesos, modelado y formas de elicitación de requisitos. Clasificación e identificación de requisitos Diseño del sistema. Codificación del software. Pruebas (unitarias y de integración). Instalación y paso a producción. Mantenimiento.

16 Captura, análisis y especificación de requisitos
Esta es la primera fase que se realiza, y, según el modelo de proceso adoptado, puede casi terminar para pasar a la próxima etapa (caso de Modelo Cascada Realimentado) o puede hacerse parcialmente para luego retomarla (caso Modelo Iterativo Incremental u otros de carácter evolutivo). Esta etapa involucra fuertemente al usuario o cliente del sistema, por tanto tiene matices muy subjetivos y es difícil de modelar con certeza o aplicar una técnica que sea «la más cercana a la adecuada» (de hecho no existe «la estrictamente adecuada»).

17 Si bien se han ideado varias metodologías, incluso software de apoyo, para captura, elicitación y registro de requisitos, no existe una forma infalible o absolutamente confiable, y deben aplicarse conjuntamente buenos criterios y mucho sentido común por parte del o los analistas encargados de la tarea; es fundamental también lograr una fluida y adecuada comunicación y comprensión con el usuario final o cliente del sistema.

18 El artefacto más importante, resultado de la culminación de esta etapa es lo que se conoce como especificación de requisitos software o simplemente documento ERS. Lo común es que el cliente tenga un objetivo general o problema que resolver, no conoce en absoluto el área (informática), ni su jerga, ni siquiera sabe con precisión qué debería hacer el producto software (qué y cuantas funciones) ni, mucho menos, cómo debe operar.

19 Las tareas relativas a captura, elicitación, modelado y registro de requisitos, además de ser sumamente importante, puede llegar a ser dificultosa de lograr acertadamente y llevar bastante tiempo relativo al proceso total del desarrollo; al proceso y metodologías para llevar a cabo este conjunto de actividades normalmente se las asume parte propia de la Ingeniería de Software, pero dada la antedicha complejidad, actualmente se habla de una Ingeniería de requisitos , aunque ella aún no existe formalmente.

20 Procesos, modelado y formas de elicitación de requisitos.
Esta es una parte crucial en el proceso de desarrollo de software, ya que de esta etapa depende el logro de los objetivos finales previstos, se han ideado modelos y diversas metodologías de trabajo para estos fines. También existen herramientas software que apoyan las tareas relativas realizadas por el ingeniero en requisitos. Los objetivos principales de esta etapa son: Comprender el problema, Facilitar la obtención de las necesidades del cliente/usuaro, Validar con el cliente/usuario, Garantizar las especificaciones de requisitos

21 Una posible lista, general y ordenada, de tareas recomendadas para obtener la definición de lo que se debe realizar, los productos a obtener y las técnicas a emplear durante la actividad de elicitación de requisitos, en fase de Especificación de Requisitos Software es: Obtener información sobre el dominio del problema y el sistema actual (UdeD). Preparar y realizar las reuniones para elicitación/negociación. Identificar/revisar los objetivos del usuario. Identificar/revisar los objetivos del sistema. Identificar/revisar los requisitos de información. Identificar/revisar los requisitos funcionales. Identificar/revisar los requisitos no funcionales. Priorizar objetivos y requisitos.

22 Clasificación e identificación de requisitos
Se pueden identificar dos formas de requisitos: Requisitos de usuario: Son frases en lenguaje natural junto a diagramas con los servicios que el sistema debe proporcionar, así como las restricciones bajo las que debe operar. Requisitos de sistema: Los requisitos de sistema determinan los servicios del sistema y pero con las restricciones en detalle. Sirven como contrato. Los requisitos del dominio se derivan del dominio de la aplicación y reflejan características de dicho dominio. Pueden ser funcionales o no funcionales.

23 Diseño del sistema. Se basa en la especificación de requisitos producido por el análisis de los requisitos (fase de análisis), el diseño define cómo estos requisitos se cumplirán, la estructura que debe darse al sistema de software para que se haga realidad. El diseño, en particular, puede describir el funcionamiento interno de un sistema en diferentes niveles de detalle, cada una de ellos se coloca en una posición intermedia entre el análisis y codificación.

24 El diseño detallado, por último, es una descripción del sistema muy cercana a la codificación (por ejemplo, describir no sólo las clases en abstracto, sino también sus atributos y los métodos con sus tipos). Debido a la naturaleza "intangible" del software, y dependiendo de las herramientas que se utilizan en el proceso, la frontera entre el diseño y la codificación también puede ser virtualmente imposible de identificar. Por ejemplo, algunas herramientas CASE son capaces de generar código a partir de diagramas UML, los que describen gráficamente la estructura de un sistema software.

25 Codificación del software
Durante esta etapa se realizan las tareas que comúnmente se conocen como programación; que consiste, esencialmente, en llevar a código fuente, en el lenguaje de programación elegido, todo lo diseñado en la fase anterior. Esta tarea la realiza el programador, siguiendo por completo los lineamientos impuestos en el diseño y en consideración siempre a los requisitos funcionales y no funcionales (ERS) especificados en la primera etapa. Se suele hacer estimaciones de un 30% del tiempo total insumido en la programación, pero esta cifra no es consistente ya que depende en gran medida de las características del sistema, su criticidad y el lenguaje de programación elegido.

26 Durante la fase de programación, el código puede adoptar varios estados, dependiendo de la forma de trabajo y del lenguaje elegido, a saber: Código fuente: Es el escrito directamente por los programadores en editores de texto, lo cual genera el programa. Código objeto: Es el código binario o intermedio resultante de procesar con un compilador el código fuente. Consiste en una traducción completa y de una sola vez de éste último. Código ejecutable: Es el código binario resultado de enlazar uno o más fragmentos de código objeto con las rutinas y bibliotecas necesarias.

27 Pruebas (unitarias y de integración)
Las pruebas normalmente se efectúan con los llamados datos de prueba, que es un conjunto seleccionado de datos típicos a los que puede verse sometido el sistema, los módulos o los bloques de código. Generalmente, existe un fase probatoria final y completa del software, llamada Beta Test, durante la cual el sistema instalado en condiciones normales de operación y trabajo es probado exhaustivamente a fin de encontrar errores, inestabilidades, respuestas erróneas, etc. que hayan pasado los previos controles. Estas son normalmente realizadas por personal idóneo contratado o afectado específicamente a ello. Los posibles errores encontrados se transmiten a los desarrolladores para su depuración. En el caso de software de desarrollo «a pedido», el usuario final (cliente) es el que realiza el Beta Test, teniendo para ello un período de prueba pactado con el desarrollador.

28 Instalación y paso a producción
La instalación del software es el proceso por el cual los programas desarrollados son transferidos apropiadamente al computador destino, inicializados, y, eventualmente, configurados; todo ello con el propósito de ser ya utilizados por el usuario final. Constituye la etapa final en el desarrollo propiamente dicho del software. Luego de ésta el producto entrará en la fase de funcionamiento y producción, para el que fuera diseñado. Dependiendo del sistema desarrollado, la instalacion puede consistir en una simple copia al disco rígido destino (casos raros actualmente); o bien, más comúnmente, con una de complejidad intermedia en la que los distintos archivos componentes del software (ejecutables, bibliotecas, datos propios, etc.) son descomprimidos y copiados a lugares específicos preestablecidos del disco; incluso se crean vínculos con otros productos, además del propio sistema operativo.

29 Mantenimiento Es el proceso de control, mejora y optimización del software ya desarrollado e instalado, que también incluye depuración de errores y defectos que puedan haberse filtrado de la fase de pruebas de control y beta test. Esta fase es la última (antes de iterar, según el modelo empleado) que se aplica al ciclo de vida del desarrollo de software. La fase de mantenimiento es la que viene después de que el software está operativo y en producción. Modificaciones realizadas a un software que fue elaborado con una documentación indebida o pobre y mal diseño puede llegar a ser tanto o más costosa que desarrollar el software desde el inicio. Por ello, es de fundamental importancia respetar debidamente todas las tareas de las fases del desarrollo y mantener adecuada y completa la documentación.

30 Básicamente se tienen los siguientes tipos de cambios:
Perfectivos: Aquellos que llevan a una mejora de la calidad interna del software en cualquier aspecto: Reestructuración del código, definición más clara del sistema y su documentación; optimización del rendimiento y eficiencia. Evolutivos: Agregados, modificaciones, incluso eliminaciones, necesarias en el software para cubrir su expansión o cambio, según las necesidades del usuario. Adaptivos: Modificaciones que afectan a los entornos en los que el sistema opera, tales como: Cambios de configuración del hardware (por actualización o mejora de componentes electrónicos), cambios en el software de base, en gestores de base de datos, en comunicaciones, etc. Correctivos: Alteraciones necesarias para corregir errores de cualquier tipo en el producto software desarrollado.

31 Los tipos de licencias que existen en el software son: GPL, Debian, Open Source, BSD, X.org, Software con Dominio Público, Software Semi-libre, Freeware, Shareware, Software Propietario, Software Comercial, Adware , Trial , Crippleware, Etc.

32 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.  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. 

33 Open Source: La licencia de Open Source Initiative deriva de Debian. 
BSD: É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.  X.org: El Consorcio X distribuye X Window System bajo una licencia que lo hace software libre, aunque sin adherirse al copyleft. Existen distribuciones bajo la licencia de la X.org que son software libre, y otras distribuciones que no lo son. Existen algunas versiones no-libres del sistema de ventanas X11 para estaciones de trabajo y ciertos dispositivos de IBM-PC que son las únicas funciones disponibles, sin otros similares que sean distribuidos como software libre.

34 Software con Dominio Público: Este es un software sin copyright
Software con Dominio Público: Este es un software sin copyright. Algunos tipos de copia o versiones modificadas pueden no ser libres si el autor impone restricciones adicionales en la redistribución del original o de trabajos derivados.  Software Semi-libre: Es un software que no es libre pero permite que otros individuos lo usen, lo copien, lo distribuyan y hasta lo modifiquen. Ejemplos de software semi-libre son las primeras versiones de Internet Explorer de Microsoft, o algunas versiones de browsers de Netscape, y StarOffice.  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.

35 Shareware: Es un programa distribuido gratuitamente, pero por tiempo limitado o con algunos recursos restringidos. A través del pago de un valor definido por el autor del programa, se puede obtener el registro del programa o la versión integral con todos los recursos. Abarca las licencias adware, trial y demo.  Software Propietario: El Software propietario es aquel cuya copia, redistribución o modificación están, en alguna medida, prohibidos por su propietario. Para usar, copiar o redistribuir, se debe solicitar permiso al propietario o pagar. Software Comercial: El Software comercial es el software desarrollado por una empresa con el objetivo de lucrar con su utilización. Nótese que "comercial" y "propietario" no son lo mismo. La mayor parte del software comercial es propietario, pero existe software libre que es comercial, y existe software no-libre que no es comercial.

36 Adware : Subprograma que descarga publicidad sobre otro programa principal. Esto ocurre cuando un programa tiene versiones comerciales o más avanzadas que necesitan ser compradas para poder ser utilizadas. Pagando por la versión comercial, esos anuncios desaparecen. Es una licencia muy poco usada. Un ejemplo es el Ashampoo Burning Studio 2009.  Trial: Versión de programa pago, distribuido gratuitamente con todos los recursos activos, pero por un tiempo determinado. Es como un programa freeware, que después de determinado tiempo deja de funcionar. Para continuar con la utilización del programa, se debe comprar la clave de registro e insertarla en el programa, para que vuelva a ejecutarse. Ejemplo: Nero, Alcohol 120% y Photoshop. Crippleware: Es un programa con menos recursos y funciones. Muy conocido como "versión lite". Ideal para ser usado en computadoras viejas. Ejemplo: BurnAware Free. 


Descargar ppt "Software."

Presentaciones similares


Anuncios Google