PUI Configuración y Uso de Paquetes de Software

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

description

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 - PowerPoint PPT Presentation

Transcript of PUI Configuración y Uso de Paquetes de Software

Page 1: 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ánUNSE 2012

Page 2: PUI Configuración y Uso de Paquetes de Software

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

2Configuración y Uso de Paquetes de Software -Msc.Lic.Susana Herrera - 2010

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.

Objetivos de la Unidad IV

Page 3: PUI Configuración y Uso de Paquetes de Software

3

Norma ISO 12.212 - Information Technology Software Life Cycle Proceses

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.

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.

Page 4: PUI Configuración y Uso de Paquetes de Software

4

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

Page 5: PUI Configuración y Uso de Paquetes de Software

5

Page 6: PUI Configuración y Uso de Paquetes de Software

6

Tarea CSI 1.1: Implantación de la Base de Datos Física o Ficheros

Tarea CSI 1.2: Preparación del Entorno de Construcción

•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

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

Page 7: PUI Configuración y Uso de Paquetes de Software

7

Tarea CSI 2.1: Generación del Código de Componentes

Tarea CSI 2.2: Generación de los Procedimientos de Operación y Seguridad

•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

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 Sistemao Procedimientos de seguridad y control de acceso

Page 8: PUI Configuración y Uso de Paquetes de Software

8

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.

Page 9: PUI Configuración y Uso de Paquetes de Software

9

Page 10: PUI Configuración y Uso de Paquetes de Software

10

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

Page 11: PUI Configuración y Uso de Paquetes de Software

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.

11Configuración y Uso de Paquetes de Software -Msc.Lic.Susana Herrera - 2010

Lenguajes de Implementación de Software

Page 12: PUI Configuración y Uso de Paquetes de Software

12

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.

Lenguajes de Implementación de Software

Actividad: clasificar los lenguajes de programación que estudió en los Laboratorios

Page 13: PUI Configuración y Uso de Paquetes de Software

Conceptos y herramientas para la implementación de Conceptos y herramientas para la implementación de software software

Diccionario de Datos

Repositorio Reúso

Generador de Programas

Generador de Aplicaciones

21/04/23 13

Page 14: PUI Configuración y Uso de Paquetes de Software

Diccionario de Datos:Diccionario de Datos:

Es un trabajo de referencia de datos acerca de ellos (metadatosmetadatos) 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.

21/04/2314

Page 15: PUI Configuración y Uso de Paquetes de Software

21/04/23 15

RepositorioRepositorio

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.

Page 16: PUI Configuración y Uso de Paquetes de Software

ReúsoReú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.

21/04/2316

Page 17: PUI Configuración y Uso de Paquetes de Software

Los generadores de aplicaciones: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: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.

21/04/23 17

Page 18: PUI Configuración y Uso de Paquetes de Software

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.

Page 19: PUI Configuración y Uso de Paquetes de Software

19

CONFIGURACIÓN DE APLICACIONES CLIENTE-SERVIDOR

Arquitecturas multi-capasLa 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.

Page 20: PUI Configuración y Uso de Paquetes de Software

21/04/23 20

EJEMPLO CONEXIÓN A BASE DE DATOS EJEMPLO CONEXIÓN A BASE DE DATOS EN ARQUITECTURAS CLIENTE-SERVIDOREN 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

Page 21: PUI Configuración y Uso de Paquetes de Software

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

21