Presentación de una novedad · 2014-12-15 · Software Software: equipamiento o soporte lógico de...
Transcript of Presentación de una novedad · 2014-12-15 · Software Software: equipamiento o soporte lógico de...
Implementación de
software
Software
Software: equipamiento o soporte lógico de un sistema informático. - Conjunto de componentes lógicos -no físicos, no tangibles- necesario para llevar una tarea específica.- Imprescindible en todo sistema informático que dará órdenes al hardware
Software: conjunto de los programas, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema informático (estándar 729 de IEEE)
Software
Características:
- El software es lógico, no físico- El software se desarrolla, no se fabrica- El sotfwareno se estropea- En ocasiones, se puede construir a medida
Software – Algo de Historia
Alan Turing (1912-1954)Matemático e informático teórico inglésFormuló la Teoría de la ComputaciónContribuyó a combatir a los alemanes en al II Guerra Mundial ayudando a descifrar su potente máquina Enigma.
J. W. Tukey (1915-2000)Empleó por primera vez la palabra software en 1957Acuño la palabra bit (Binary Digit)
Software – Algo de Historia
Ciclo de Vida del Software
Todo software en su creación y desarrollo pasa por una serie de etapas, lo que se conoce como las fases del ciclo de vida del sotfware dentro de la Ingeniería del Sotfware.
El objetivo de la Ingenieria del Software es proporcionar un marco de trabajo para construir software con mayor calidad.
Ciclo de Vida del Software
El término Ciclo de Vida del Software describe el desarrollo de software, desde la fase inicial hasta la fase final.
Propósito: definir las distintas fases intermedias para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo; se asegura de que los métodos utilizados son apropiados.
Ciclo de Vidadel Software
Razon de ser: Es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación.
El CVS permite que los errores se detecten lo antes posible y permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados.
Definición de necesidades: realizar una primera aproximación al proyecto y definir en grandes rasgos las necesidades.
Análisis: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. En este paso se realiza un análisis de la arquitectura hardware y software del sistema.
Ciclo de Vidadel Software
Diseño: requisitos generales de la arquitectura de la aplicación y se dará una definición precisa de cada subconjunto de la aplicación.
Codificación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
Ciclo de Vidadel Software
Prueba: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
Validación: se garantizará que el software cumple con las especificaciones originales y se instalará el software en el entorno real de uso.
Ciclo de Vidadel Software
Mantenimiento y Evolución: se realizarán los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).
Ciclo de Vidadel Software
Clasificación del Software
Software de Sistema Software de Aplicación
Softwara de Programación
Clasificación del Software Software de Sistema
Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para interactuar con el sistema, confiriendo control sobre el hardware, además de dar soporte a otros programas.
El Software de Sistema se divide en: Sistema Operativo: conjunto de programas que administran los recursos de la
computadora y controlan su funcionamiento. Realiza cinco funciones básicas: Suministro de Interfaz al Usuario, Administración de Recursos, Administración de Archivos, Administración de Tareas y Servicio de Soporte.
Controladores de Dispositivos: programas que permiten a otros programa de mayor nivel que un SO interactuar con un dispositivo de hardware.
Programas Utilitarios: realizan diversas funciones para resolver problemas específicos, además de realizar tareas en general y de mantenimiento (herramientas de diagnostico y reparación, herramientas de optimización, ….) Estas herramientas se recogen en los llamados entornos operativos.
Clasificación del Software
Software de AplicaciónSon los programas diseñados para o por los usuarios para facilitar la realización de tareas específicas en el PC, 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.
Clasificación del Software
Software de ProgramaciónEl conjunto de herramientas que permiten al desarrollador informático escribir programas usando diferentes alternativas y lenguajes de programación.
El Software de Programación está formado: Editores de texto Compiladores Intérpretes Enlazadores Depuradores Aunque en la actualidad todos se recogen en los Entornos de Desarrollo
Integrados (IDE)
Clasificación del SoftwareEl Software de Programación está formado: Editores de texto: programa para crear y modificiar texto sin formato. Compiladores: programa informático que traduce un programa escrito en un
lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar.
Intérpretes: programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, instrucción por instrucción.
Enlazadores: junta los ficheros de código objetos (generados en la primer parte de la compilación), la información de todos los recursos necesarios (biblioteca), elimina los recursos que no se necesitan y enlaza el código objeto con sus bibliotecas. Finalmente produce el fichero ejecutable o una biblioteca.
Depuradores: proceso de corrección o modificación del código para comprobar su correcto funcionamiento; herramientas para ayudar en la tarea de búsqueda de errores en el código.
Aunque en la actualidad todos se recogen en los Entornos de Desarrollo Integrados (IDE)
Clasificación del SoftwareEl Software de Programación emplea los Lenguajes de Programación Un lenguaje de programación es un lenguaje formal diseñado para
expresar procesos que pueden ser llevados a cabo por máquinas como las computadoras
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.
Diferentes clasificaciones de los lengüajes de programación: De bajo nivel: facil de ser procesado por la maquina, ocupa poca
memoria y muy dificil de programar por el hombre. De alto nivel: díficil para la maquina, mucho espacio en memoria y
facil para el hombre
Arquitectura de SoftwareLa evolución de los lenguajes de programación y el auge y dependencia de los sistemas informáticos, ha permitido descubrir y desarrollar formas y guías generales de crear aplicaciones basadas en módulos y componentes que en muchos casos ya se encuentran implementados. Es lo que se conoce como arquitectura del software.
Es el resultado de ensamblar un cierto número de elementos arquitectónicos de forma adecuada para satisfacer la mayor funcionalidad y requerimientos de desempeño de un sistema.
Arquitectura de SoftwareExisten al menos tres vistas absolutamente fundamentales en cualquier arquitectura:
La visión estática: describe qué componentes tiene la arquitectura. La visión funcional: describe qué hace cada componente. La visión dinámica: describe cómo se comportan los componentes a lo largo
del tiempo y cómo interactúan entre sí.
Es esencial realizar las siguientes interrogantes:- ¿En qué entorno se desplegará nuestro software?- ¿Cómo se pondrá en producción nuestro software?- ¿Cómo utilizarán los usuarios nuestro software?- ¿Existen requisitos adicionales que el software debe cumplir? (Por ejemplo: seguridad, rendimiento, concurrencia, configuración, disponibilidad, entre otros)
Arquitectura de SoftwareUML (Lenguaje Unificado de Modelado, del inglés,
Unified Modeling Language)Es el lenguaje de modelado de sistemas de software más conocido y utilizado
Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados.