1 / 21

PUI Configuración y Uso de Paquetes de Software

PUI Configuración y Uso de Paquetes de Software . Unidad 4: Generación de Paquetes de Software. Msc. Lic. Susana I. Herrera - Lic. Paola Budán UNSE 2012. Objetivos de la Unidad IV. Unidad IV: Generación de Paquetes de Software

jam
Download Presentation

PUI Configuración y Uso de Paquetes de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PUIConfiguración y Uso de Paquetes de Software Unidad 4: Generación de Paquetes de Software Msc. Lic. Susana I. Herrera - Lic. Paola Budán UNSE 2012

  2. Objetivos de la Unidad IV Unidad IV: Generación de Paquetes de Software -Etapa de construcción del software. Implementación del software a partir de artefactos de diseño. Lenguajes de implementación de software. -Conceptos y herramientas para la implementación de software. Diccionario de datos. Repositorios. Generador de programas. Generador de aplicaciones. Reuso. -Configuración de aplicaciones cliente-servidor. Conexión de la aplicación con el servidor de base de datos. Generación de archivos de soporte a la instalación de aplicaciones clientes. -Configuración de aplicaciones web. Configuración de aplicaciones web estáticas. Tramitaciones de dominio. Hosting. Acceso a servidores web. Mantenimiento de Aplicaciones web estáticas. Aplicaciones web dinámicas con acceso a bases de datos. Configuración de la conexión. Configuración y Uso de Paquetes de Software -Msc.Lic.Susana Herrera - 2010 Que logren: Destreza en el uso de las herramientas para la implementación de software Configurar aplicaciones cliente-servidor en la etapa de implementación

  3. Proceso Software Codificación y prueba del software. Se desarrollan y documentan los distintos componentes software y las bases de datos. Posteriormente se prueba cada uno de los mismos para asegurar que satisfacen los requisitos. Además, se actualizan los manuales de usuario. Norma ISO 12.212 - Information Technology Software Life Cycle Proceses

  4. Metodología: Métrica 3 Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información; http://www.csae.map.es/csi/metrica3/

  5. Construcción del Sistema (CSI) Métrica 3

  6. ACTIVIDAD CSI 1: PREPARACIÓN DEL ENTORNO DE GENERACIÓN Y CONSTRUCCIÓN Tarea CSI 1.1: Implantación de la Base de Datos Física o Ficheros • Crear los elementos de la base de datos o sistema de ficheros • Reservar el espacio de almacenamiento, definiendo, entre otros, los dispositivos físicos a emplear, tamaño de los bloques, tipo de registro físico, zona de desbordamiento, opciones de almacenamiento de datos, etc. • Inicializar la base de datos o ficheros, cargando los datos considerados necesarios en el espacio de almacenamiento previamente definido. DBA Tarea CSI 1.2: Preparación del Entorno de Construcción • Se prepara el entorno en el que se construirán los componentes del sistema de información, contemplando aspectos tales como: • Bibliotecas o librerías a utilizar • Herramientas: generadores de código, editores, compiladores, verificadores sintácticos. • Implementación de los procedimientos de operación y seguridad propios del entorno de construcción

  7. ACTIVIDAD CSI 2: GENERACIÓN DEL CÓDIGO DE LOS COMPONENTES Y PROCEDIMIENTOS Tarea CSI 2.1: Generación del Código de Componentes • En esta tarea se genera el código correspondiente a cada uno de los componentes del sistema de información, • Con el fin de verificar que el código fuente especifica de forma correcta el componente, se realiza su ensamblaje o compilación, verificando y corrigiendo los errores sintácticos, y el enlace del código objeto obtenido con las correspondientes bibliotecas. • Producto: Código Fuente de los Componentes. PROGRAMADORES Tarea CSI 2.2: Generación de los Procedimientos de Operación y Seguridad Generar los procedimientos de operación y administración del sistema de información, así como los procedimientos de seguridad y control de acceso, necesarios para ejecutar el sistema una vez que se haya implantado y esté en producción. Producto: o Procedimientos de Operación y Administración del Sistema o Procedimientos de seguridad y control de acceso

  8. ACTIVIDAD CSI 6: ELABORACIÓN DE LOSMANUALES DE USUARIO Elaborar la documentación de usuario, tanto usuario final como de explotación, de acuerdo a los requisitos los requisitos de documentación (especifican aspectos relativos a los tipos de documentos a elaborar y estándares a seguir en la generación de los mismos): - Formato y soporte en el que se desarrollarán - Estructura - Distribución y mantenimiento de la documentación y número de copias a editar.

  9. ACTIVIDAD CSI 8: CONSTRUCCIÓN DE LOS COMPONENTES Y PROCEDIMIENTOS DE MIGRACIÓN Y CARGA INICIAL DE DATOS

  10. ACTIVIDAD CSI 2: GENERACIÓN DEL CÓDIGO DE LOS COMPONENTES Y PROCEDIMIENTOS Tarea CSI 2.1: Generación del Código de Componentes • ESTANDARES DE PROGRAMACIÓN Y PROCEDIMIENTOS • Documentación del código: útil para prueba y mantenimiento • Balancear diseño con implementación: correspondencia directa entre componentes de diseño y componentes de código de programa • Organización: reuso • PAUTAS PARA LA PROGRAMACIÓN • Cada componente de programa involucra: estructuras de control, algoritmos y estructuras de datos • PAUTAS GENERALES • Localización de entrada y salida • Inclusión de pseudocódigo • Revisión y reescritura, no a los remiendos • Reutilización • DOCUMENTACIÓN • Interna: Encabezamiento, Otros comentarios del programa, Nombres de variables y etiquetas con significados, Formatos • Externa: Descripción del problema, Descripción de los algoritmos, Descripción de los datos, PROGRAMADORES 10

  11. Lenguajes de Implementación de Software Configuración y Uso de Paquetes de Software -Msc.Lic.Susana Herrera - 2010 Un lenguaje de programación es un lenguaje artificial que puede ser usado para controlar el comportamiento de una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas. El programador es el encargado de utilizar un lenguaje de programación para crear un conjunto de instrucciones que, al final, constituirá un programa o subprograma informático. En su uso, un lenguaje de programación puede acercarse a la forma humana de expresarse y, por eso, este tipo de lenguajes es llamado de alto nivel. Esto significa que utilizan palabras y formas en sus estructuras que se asemejan al lenguaje natural (especialmente al inglés). En cambio, aquellos lenguajes que se aproximan más a la forma en la cual la computadora se maneja, son llamados lenguajes de bajo nivel. 11

  12. Lenguajes de Implementación de Software Un paradigma de programación provee (y determina) la visión y métodos de un programador en la construcción de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas. Paradigma Imperativo: describe la programación como una secuencia instrucciones o comandos que cambian el estado de un programa. El código máquina en general está basado en el paradigma imperativo. Su contrario es el paradigma declarativo. En este paradigma se incluye el paradigma procedimental (procedural) entre otros.Paradigma Declarativo: No se basa en el cómo se hace algo (cómo se logra un objetivo paso a paso), sino que describe (declara) cómo es algo. En otras palabras, se enfoca en describir las propiedades de la solución buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa solución. Es más complicado de implementar que el paradigma imperativo, tiene desventajas en la eficiencia, pero ventajas en la solución de determinados problemas.Paradigma Estructurado: la programación se divide en bloques (procedimientos y funciones) que pueden o no comunicarse entre sí. Además la programación se controla con secuencia, selección e iteración. Permite reutilizar código programado y otorga una mejor compresión de la programación. Es contrario al paradigma inestructurado, de poco uso, que no tiene ninguna estructura, es simplemente un “bloque”, como por ejemplo, los archivos batch (.bat).Paradigma Orientado a Objetos: está basado en la idea de encapsular estado y operaciones en objetos. En general, la programación se resuelve comunicando dichos objetos a través de mensajes (programación orientada a mensajes). Se puede incluir -aunque no formalmente- dentro de este paradigma, el paradigma basado en objetos, que además posee herencia y subtipos entre objetos. Ej.: Simula, Smalltalk, C++, Java, Visual Basic .NET, etc.Su principal ventaja es la reutilización de códigos y su facilidad para pensar soluciones a determinados problemas.Paradigma Funcional: este paradigma concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié en la aplicación de las funciones y composición entre ellas, más que en los cambios de estados y la ejecución secuencial de comandos (como lo hace el paradigma procedimental). Permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones.Paradigma lógico: se basa en la definición de reglas lógicas para luego, a través de un motor de inferencias lógicas, responder preguntas planteadas al sistema y así resolver los problemas. Ej.: prolog. 12 Actividad: clasificar los lenguajes de programación que estudió en los Laboratorios

  13. Conceptos y herramientas para la implementación de software Diccionario de Datos Repositorio Reúso Generador de Programas Generador de Aplicaciones

  14. Diccionario de Datos: Es un trabajo de referencia de datos acerca de ellos (metadatos) que permiten guiarse a través del análisis y del diseño del sistema. Como documento, el diccionario de datos recolecta, coordina y confirma lo que significa un término de datos específicos. Tiene dos tipos de descripciones para el flujo de datos del sistema, son los elementos datos y estructura de datos. Elemento dato: son los bloques básicos para todos los demás datos del sistema, por si mismos no le dan un significado suficiente al usuario. Se agrupan para formar una estructura de datos. Descripción: Cada entrada en el diccionario consiste de un conjunto de detalles que describen los datos utilizados o producidos por el sistema. Cada uno está identificado con: un nombre, una descripción, un alias, una longitud, valores de los datos. Estructura de datos: es un grupo de datos que están relacionados con otros y que en conjunto describen un componente del sistema.

  15. Repositorio • Si bien el diccionario de datos contiene información de los datos y procedimientos, el repositorio es un conjunto más grande de información acerca del proyecto. El repositorio es uno de los conceptos de mayor impacto en las herramientas CASE y puede contener: • Información acerca de los datos mantenidos por el sistema, incluyendo flujos de datos, almacén de datos, estructuras de registros y elementos. • Lógica de procedimiento. • Diseño de pantallas y reportes. • Relaciones de datos, de qué manera está enlazada una estructura de datos a otra. • Requerimientos del proyecto y de lo que produce el sistema final. • Información de administración de proyecto, como fechas de entregas, logros, usuarios del proyecto, situaciones que necesitan resolverse.

  16. Reúso • La reutilización es la propiedad de utilizar conocimiento, procesos, metodologías o componentes de software ya existente para adaptarlo a una nueva necesidad, incrementando significativamente la calidad y productividad del desarrollo. • La reutilización es posible a diferentes niveles (desde funciones simples a aplicaciones completas), y los estándares para componentes reutilizables facilitan la reutilización. • Los factores claves que pueden considerarse al planificar la reutilización son: • La agenda de desarrollo de software, • Vida esperada del software, • Los conocimientos, habilidades y experiencias del grupo de desarrollo, • La criticidad del software y los requerimientos no funcionales, • El dominio de las aplicaciones.

  17. Los generadores de aplicaciones: Se aprovecha del hecho de que las aplicaciones del mismo dominio, tales como sistemas de negocio tienen arquitecturas comunes y realizan funciones comparables. Por ejemplo los sistemas de procesamiento de datos. Por tanto, pueden crearse componentes genéricos y ser incorporados en un generador de aplicaciones que selecciona elementos de una base de datos, comprueba que éstos están dentro de un rango permitido y elabora informes. Para reutilizar estos componentes, el programador selecciona los datos a utilizar, comprobar que pueden aplicarse, y el formato de los informes. Los generadores de programas: En esta aproximación el conocimiento reutilizable se captura en un sistema generador de programas que puede ser programado por expertos en el dominio utilizando un lenguaje orientado a dominios o una herramienta CASE interactiva que soporte la generación de sistemas.

  18. CONFIGURACIÓN DE APLICACIONES CLIENTE-SERVIDOR La arquitectura cliente-servidor consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Generalmente se aplica a un sistema operativo multiusuario distribuido a través de una red de computadoras. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema. La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. 18

  19. CONFIGURACIÓN DE APLICACIONES CLIENTE-SERVIDOR • Arquitecturas multi-capas • La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red: clientes y servidores. Consecuentemente, estas arquitecturas genéricas se refieren a veces como arquitecturas de dos niveles o dos capas. • Algunas redes disponen de tres tipos de nodos: • Clientes que interactúan con los usuarios finales. • Servidores de aplicación que procesan los datos para los clientes. • Servidores de la base de datos que almacenan los datos para los servidores de aplicación. • Esta configuración se llama una arquitectura de tres-capas. • Ventajas de las arquitecturas n-capas: • La ventaja fundamental de una arquitectura n-capas comparado con una arquitectura de dos niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el proceso, eso ocurre para mejorar el balance la carga en los diversos servidores; es más escalable. • Desventajas de las arquitecturas de la n-capas: • Pone más carga en la red, debido a una mayor cantidad de tráfico de la red. • Es mucho más difícil programar y probar el software que en arquitectura de dos niveles porque tienen que comunicarse más dispositivos para terminar la transacción de un usuario. Visitar un sitio web es un buen ejemplo de la arquitectura cliente/servidor. El servidor web sirve las páginas web al navegador (el cliente). La mayoría de los servicios de Internet son tipo de servidores. Por ejemplo, cuando uno accede a la página web de EXACTAS, la computadora y el navegador web serían considerados un cliente, y las computadoras, las bases de datos de Exactas serían considerados el servidor. 19

  20. EJEMPLO CONEXIÓN A BASE DE DATOS EN ARQUITECTURAS CLIENTE-SERVIDOR Me.datPrimaryRS.RecordSource = "select * from Pacientes where DNI =" & NumDNI Me.datPrimaryRS.Refresh Me.AdodcAntObst.RecordSource = "select Nro_Embarazo,Fecha_Final,Terminacion,Edad_Gestacional,Nac_Vivo,Sexo,Vive,Patologia from Antecedentes_Obstetricos where DNI =" & NumDNI & " order by Nro_Embarazo" Me.AdodcAntObst.Refresh

  21. Bibliografía Pressman, R. Ingeniería del Software. 7ma. Edición. Ed. Pearson-Addison Wesley. 2005. Pfleeger, Shari L. Ingeniería del Software. Teoría y Práctica. 1ª Edición, 2002. Consejo Superior de Administración Electrónica, Gobierno de España, Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información; disponible en http://www.csae.map.es/csi/metrica3/ International Estandar Organization - Norma ISO 12.212 - Information Technology Software Life Cycle Proceses. Wikipedia, Métrica, http://es.wikipedia.org/wiki/METRICA

More Related