06. capitulo ii_rvaa

86
Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas CAPITULO II: MARCO TEORICO Capítulo II Marco Teórico 15

Upload: carmen-escobedo

Post on 09-Feb-2016

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

CAPITULO II: MARCO TEORICO

Capítulo II Marco Teórico 15

Page 2: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

2.1 Antecedentes

2.1.1 A Nivel Local

“Sistema de Información bajo entorno Web para incrementar la

eficiencia en la gestión de las investigaciones científicas en la INAP

y en la IFFS del Instituto Nacional de Recursos Naturales –

INRENA”. (Vásquez Príncipe, 2009)

Autor: Vásquez Príncipe, Edith Liliana.

Lugar: Universidad Nacional de Trujillo.

Año: 2009.

Resumen: Este trabajo de investigación trata del desarrollo de un

sistema informático bajo entorno Web para investigaciones científicas

del INRENA, su desarrollo está basado en la metodología RUP y la

programación orientada a objetos.

“Desarrollo de un Sistema Web para la Empresa Editora La

Industria de Trujillo S.A.”. (Liza Chiba, y otros, 2003)

Autores: Liza Chiba Duncan Alessandro y Vigo Rodríguez Edwin

Edilverto

Lugar: Universidad Privada Antenor Orrego

Año: 2003

Resumen: La empresa editora carecía de un Sistema Web de control de

información el cual pueda brindar la posibilidad de actualización en

línea del servicio de noticias, permitiendo reducir el tiempo de acceso a

la información requerida por los lectores.

Capítulo II Marco Teórico 16

Page 3: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

2.1.2 A Nivel Nacional

“Gestión y desarrollo logístico en la industria grafica peruana”.

(Calsina Miramira, 2006)

Autores: Calsina Miramira, Willy Hugo

Lugar: Universidad Mayor de San Marcos en Ingeniería Industrial

Año: 2006

Resumen: Desarrollan conceptos más avanzados de logística moderna

para la industria grafica con el fin de que estas herramientas resuelvan

las deficiencias del entorno productivo en el proceso logístico.

2.1.3 A Nivel Internacional

“Simulador Logístico”. (Cavanha Filho, 2000)

Autores: Cavanha Filho, Armando Oscar

Lugar: Centro Tecnológico Programa de Post-Grado en Ingeniería de

Producción y Sistemas, Brasil.

Año: 2000

Resumen: Es un simulador para tratamiento en logística, enfocado al

“Trade off” acción de transportación , con enfoque especial del coste de

fracaso, donde un operador escoge cantidades y formas de

transportación a punto de atender a un determinada demanda del

mercado , buscar el pequeño coste logística total.

Capítulo II Marco Teórico 17

Page 4: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

2.2 Teorías que sustentan el trabajo

2.2.1 Sistema de Información

a. Definición (Laudon, y otros, 2006)

Un Sistema de Información es un conjunto sistemático y formal de

componentes, capaz de realizar operaciones de procesamiento de

datos para generar Información. Un Sistema de Información

proporciona información oportuna relevante y exacta. Incrementa la

eficiencia y eficacia de las funciones de planeación y control.

Es la integración de soluciones de la tecnología de la

información y de los procesos del negocio con el objeto de encontrar

soluciones a las necesidades de información de las empresas y de

otras organizaciones habilitando a las organizaciones para que

logren sus objetivos de una manera efectiva y eficiente.

b. Actividades de un sistema de información

Según Laudon (Laudon, y otros, 2006), existen cuatro actividades de

un sistema de información producen la información que la

institución requiere para la toma de decisiones, para el control de las

operaciones, el análisis de los problemas y la creación de los nuevos

productos y servicios, estas actividades son:

Alimentación o insumo: La captura o recolección de datos

primarios dentro de la institución o de su entorno para

procesarlos en un sistema de información.

Procesamiento: La conversión del insumo en forma que sea más

comprensible para los seres humanos.

Capítulo II Marco Teórico 18

Page 5: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Producto o salida: La distribución de información procesada

a las personas o en las actividades en donde será usada.

Retroalimentación: Producto regresado a los miembros

adecuados de la institución para ayudarles a evaluar que el insumo

sea el correcto.

c. Clasificación

La clasificación presentada a continuación es según, Sistemas de

Información (Wikipedia, 2012)

Según la función a la que vayan destinados o el tipo de usuario

final del mismo, los SI pueden clasificarse en (esta clasificación

obedece a un punto de vista empresarial):

a. Sistema de procesamiento de transacciones (TPS): Gestiona la

información referente a las transacciones producidas en una

empresa u organización.

b. Sistemas de información gerencial (MIS): Orientados a

solucionar problemas empresariales en general.

c. Sistemas de soporte a decisiones (DSS): Herramienta para

realizar el análisis de las diferentes variables de negocio con

la finalidad de apoyar el proceso de toma de decisiones.

d. Sistemas de información ejecutiva (EIS): Herramienta

orientada a usuarios de nivel gerencial, que permite

monitorizar el estado de las variables de un área o unidad de la

empresa a partir de información interna y externa a la misma.

Capítulo II Marco Teórico 19

Page 6: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

e. Sistemas de automatización de oficinas (OAS): Aplicaciones

destinadas a ayudar al trabajo diario del área administrativa de

una empresa u organización.

f. Sistema experto (SE): Emulan el comportamiento de un

experto en un dominio concreto.

Según el entorno de aplicación:

a. Entorno transaccional: Una transacción es un suceso o evento

que crea/modifica los datos. El procesamiento de transacciones

consiste en captar, manipular y almacenar los datos, y

también, en la preparación de documentos; en el entorno

transaccional, por tanto, lo portante es qué datos se

modifican y cómo, una vez ha terminado la transacción. Los

TPS son los SI típicos que se pueden encontrar en este entorno.

b. Entorno decisional: Este es el entorno en el que tiene lugar la

toma de decisiones; en una empresa, decisiones se toman a

todos los niveles y en todas las áreas (otra cosa es si esas

decisiones son estructuradas o no), por lo que todos los SI de

la organización deben estar preparados para asistir en esta

tarea, aunque típicamente, son los DSS los que encargan de

esta función

d. Componentes de los sistemas de información

Según Mendiolan (Geocities, 2012) sin importar las organizaciones a

las que sirven o a la forma en que se desarrollan y diseñan, todos

los Sistemas de Información están compuestos por 6 componentes

estructurales:

Capítulo II Marco Teórico 20

Page 7: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Bloque de Entrada: La entrada representa a todos los datos, texto,

voz e imágenes que entran al Sistema de Información y los

métodos y medios por los cuales se capturan e introducen. La

entrada está compuesta por transacciones, solicitudes,

consultas, instrucciones y mensajes.

Por lo general, la entrada sigue un protocolo y un formato para que

el contenido, la identificación, la autorización, el arreglo y el

procesamiento sean adecuados.

Los medios más comunes para la entrada a un sistema son: Código

de barras, láser, teclado, sistemas de reconocimiento de voz,

escritura manual, pantallas sensibles.

Bloque de Modelo: Este componente consta de modelos lógico

- matemáticos que manipulan de diversas formas la entrada y

los datos almacenados, para producir los resultados deseados de

salida. Las técnicas de modelado más usuales empleadas por

los analistas de sistemas para diseñar y documentar las

especificaciones de los sistemas son: Tablas y árboles de

decisiones, Diagramas de flujo tradicionales, Diagramas de

Nassi – Shneiderman, etc.

Bloque de Salida: El producto del sistema de Información es la

salida de información de calidad y documentos para todos los

niveles de la gerencia y para todos los usuarios dentro y fuera de

la organización. La salida es, en gran medida el componente

que guía e influye en los otros componentes. Si el diseño de este

componente no satisface las necesidades del usuario entonces los

otros componentes tienen poca importancia.

La calidad de la salida se basa en su exactitud, oportunidad y

relevancia, además esta salida debe tratarse en función de su

destino, uso, frecuencia de uso y seguridad. La salida se puede

Capítulo II Marco Teórico 21

Page 8: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

producir en pantallas, impresoras, dispositivos de audio o

microfilm.

Bloque de Tecnología: La tecnología captura la entrada, activa

los modelos, almacena y acceda a datos, produce y transmite

salida y ayuda a controlar todo el sistema, hace todo el trabajo

pesado y une a todos los elementos estructurales.

a. La tecnología consta de 3 elementos principales:

b. El ordenador y el almacenamiento auxiliar.

c. Las telecomunicaciones.

d. El software.

Bloque de Base de Datos: La Base de Datos es el lugar donde se

almacenan todos los datos necesarios para atender las

necesidades de todos los usuarios. La Base de Datos física está

compuesta por los medios de almacenamiento. Esta es la forma en

que los datos se almacenan realmente.

Es importante determinar que estructura de Base de Datos se

empleara para diseñarla: Estructura Relacional, Estructura de

Árbol o Estructura de Red.

También saber si va a ser una Base de Datos Centralizada o

Distribuida.

Bloque de Controles: Todos los Sistemas de Información están

sujetos a una diversidad de peligros y amenazas. En muchos

casos, los peores abusos del sistema provienen de

procedimientos operacionales inadecuados y una pobre

administración. Algunos de los controles que necesitan diseñarse

Capítulo II Marco Teórico 22

Page 9: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

en el sistema para asegurar su protección, integridad y operación

uniforma son: la instalación de un sistema de administración

de registros, la aplicaciones de controles contables

tradicionales, el desarrollo de un plan maestro de Sistemas de

Información, la creación de un plan de contingencia, la

aplicación de procedimientos para el personal, la aplicaciones de

monitores de hardware y software, la instalación de sistemas

ininterrumpidos de energía y sistemas contra incendio, y la

aplicación de una diversidad de procedimientos de seguridad.

2.2.2 Tecnología de la Información

La tecnología de información (IT), según lo definido por la

asociación de la tecnología de información de América (ITAA)

es “el estudio, diseño, desarrollo, implementación, soporte o

dirección de los sistemas de información computarizados, en

particular de software de aplicación y hardware de computadoras.”

2.2.3 Tecnologías de Internet

a. Internet

Internet es un conjunto descentralizado de redes de comunicación

interconectadas que utilizan la familia de protocolos TCP/IP,

garantizando que las redes físicas heterogéneas que la componen

funcionen como una red lógica única, de alcance mundial. Sus

orígenes se remontan a 1969, cuando se estableció la primera

conexión de computadoras, conocida como ARPANET, entre tres

universidades en California y una en Utah, Estados Unidos.

Uno de los servicios que más éxito ha tenido en Internet ha sido la

World Wide Web (WWW, o "la Web"), hasta tal punto que es

habitual la confusión entre ambos términos. La WWW es un conjunto

Capítulo II Marco Teórico 23

Page 10: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

de protocolos que permite, de forma sencilla, la consulta remota de

archivos de hipertexto. Ésta fue un desarrollo posterior (1990) y

utiliza Internet como medio de transmisión.

Existen, por tanto, muchos otros servicios y protocolos en Internet,

aparte de la Web: el envío de correo electrónico (SMTP), la

transmisión de archivos (FTP y P2P), las conversaciones en línea

(IRC), la mensajería instantánea y presencia, la transmisión de

contenido y comunicación multimedia -telefonía (VoIP), televisión

(IPTV)-, los boletines electrónicos (NNTP), el acceso remoto a otros

dispositivos (SSH y Telnet) o los juegos en línea.

b. La World Wide Web (WWW)

WWW es un sistema hipermedia interactivo desarrollado sobre

internet. La idea de hipermedia es la de juntar texto, imágenes, audio y

video dentro de un mismo envoltorio llamado documento. WWW se

asienta sobre el protocolo HTTP (Hyper Text Transfer Protocol) y

sobre el lenguaje de definición de documentos hipermedia HTML

(Hyper Text Markup Language)

c. Tecnología World Wide Web

La tecnología World Wide Web (WWW) es una forma de estructurar

y presentar la información en el formato digital conocido con el

nombre de pagina Web a través de herramientas tales como

arquitectura, protocolos de comunicación, navegadores Web,

servidores Web, tecnologías de programación, las cuales trabajan de

manera conjunta y permiten diseñar aplicaciones Web conteniendo

especificaciones para determinados grupos de usuarios en Internet o

en Intranets. Entre los principales elementos de la tecnología Web

tenemos:

Capítulo II Marco Teórico 24

Page 11: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

HTTP (Hyper Text Transform Protocol): Es el protocolo usado

para transferir páginas Web. Este protocolo de transferencia de

hipertexto es el sistema que permite enviar tanto las peticiones de

un cliente a un servidor para acceder a una determinada página web

como las páginas web que envía el servidor como respuesta al

cliente.

HTML: Lenguaje informático diseñado para estructurar textos y

presentarlos en forma de hipertexto.

URI (Uniform Resource Identifier): URL (Uniform Resource

locator) además de un identificador único, indica el protocola de

acceso. Su sintaxis es la siguiente:

protocolo://dirección[:puerto]/directorio/fichero.

Ejemplo: http://www.google.com.pe

d. Estructura Genérica de la World Wide Web

La tecnología WWW se basa en un modelo cliente/servidor que hace

uso de la red Internet para prestar sus servicios. La figura Nro 2.1

representa la estructura genérica de la tecnología WWW donde el

usuario utiliza un computador para accesar a las páginas Web

almacenadas en un computador servidor. Dichas páginas son

accesadas con el uso de un navegador (Browser). Un navegador

presenta en pantalla la información contenida en una página Web

interpretando los códigos que dan formato y estructura al texto

incluido en dicha pagina. El navegador requiere de un identificador

para acceder una página web que esta almacenada en un servidor. En

la tecnología WWW un identificador se conoce como Localizador de

Recurso Uniforme (Uniform Resource Locutor, URL) y es utilizado

para definir los parámetros tales como: el nombre, la localización y la

manera de cómo se puede acceder a una página web.

Capítulo II Marco Teórico 25

Page 12: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Figura Nº 2.1. Estructura Genérica de la WWW

Fuente: (Wikipedia, 2012)

2.2.4 Aplicaciones Web

Basados en la Web se pueden crear programas llamados aplicaciones

web. Las aplicaciones web utilizan como interfaz de usuario a las

páginas web visualizadas en el cliente web, solo que en este caso el

servidor web visualizadas en el cliente web, solo que en este caso el

servidor web no presenta páginas web que tiene almacenadas, en vez

de esto cuando un cliente realiza una petición, el servidor web

presenta como resultado una página web generada en ese instante por

otros programas, el contenido de estas páginas web (llamadas páginas

web dinámicas) varias dependiendo de la acción que se esté

realizando y la información que se esté manejando.

Capítulo II Marco Teórico 26

Page 13: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Una de las principales características va a ser su alto grado de

interacción con el usuario y el diseño de su interfaz debe ser claro,

simple y debe estar estructurado de tal manera que sea orientativo

para cada tipo de usuarios.

a. Arquitectura de una Aplicación Web

Una aplicación Web esta comúnmente estructurada como una

aplicación de 3 capas. En su forma mas común, el navegador es la

primera capa, un motor usando alguna tecnología web dinámica

(ejemplo: CGI, PHP, Java Servelets o ASP) es la capa de en medio y

una base de datos como ultima capa. El navegador Web manda

peticiones a la capa media, que la entrega valiéndose de consultas y

actualizaciones a la base de datos generando una interfaz de usuario.

Figura Nº 2.2. Arquitectura Web de 3 capas

Fuente: (Elaboracion_propia, 2012)

b. Funcionamiento de una Aplicación Web

Una aplicación Web está formada por páginas Web estáticas y

dinámicas. Un a pagina web estática es aquella que no cambia

cuando el usuario la solicita; el servidor web envía la pagina al

navegador Web solicitante sin modificarla. Por lo contrario, en el

caso de las páginas web dinámicas el servidor las modifica antes de

enviarlas al navegador solicitante. Por ejemplo podría solicitar una

Capítulo II Marco Teórico 27

Page 14: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

consulta de notas de acuerdo a cierto parámetro de ingreso tal como

la fecha, nombre del alumno, etc. Veamos cual es el funcionamiento

de cada uno de los tipos de aplicaciones Web.

Procesamientos de páginas Web estáticas

Un sitio Web estático consta de un conjunto de páginas y archivos

HTML relacionados alojados en un equipo que ejecuta un servidor

Web.

Un servidor Web es un software que suministra páginas web en

respuesta a las peticiones de los navegadores web. La petición de una

página se genera cuando el usuario hace click en un vínculo de una

página Web, elige un marcador en un navegador o introduce un URL

en el cuadro de texto dirección del navegador.

El diseñador escribe todas y cada una de las líneas de código HTML

de la página antes colocarla en el servidor. El código HTML no

cambia una vez colocado en el servidor y por ello, este tipo de

páginas se denomina página estática.

Cuando el Servidor Web recibe una petición de una página estática,

el servidor lee la solicitud, localiza la página y la envía al navegador

solicitante, como se muestra en la siguiente figura.

Capítulo II Marco Teórico 28

Page 15: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Figura Nº 2.3. Funcionamiento de una Aplicación Web Estática

Fuente: (Elaboracion_propia, 2012)

Procesamientos de páginas Web dinámicas

Cuando el servidor Web recibe una petición para mostrar una página

dinámica, transfiere la página a un software especial encargado de

finalizar la página. Este software especial se denomina servidor de

aplicaciones.

El servidor de aplicaciones lee el código de la página, finaliza la

página en función a las instrucciones de código y elimina el código

de la página. El resultado es una página estática que el servidor de

aplicaciones devuelve al servidor Web, que a su vez la envía al

navegador solicitante.

Lo único que el navegador recibe cuando llega la página es código

HTML puro. A continuación se incluye una vista a este proceso:

Capítulo II Marco Teórico 29

Page 16: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Figura Nº 2.4. Funcionamiento de una Aplicación Web Dinámica

Fuente: (Elaboracion_propia, 2012)

Acceso a una Base de Datos

Un servidor de aplicaciones le permite trabajar con recursos del lado

del servidor, como una base de datos. Por ejemplo, una página

dinámica puede indicar al servidor de aplicaciones que extraiga datos

de una base de datos y los inserte en el código HTML de la página.

La instrucción para extraer datos de una base de datos recibe el

nombre de consulta de base de datos. Una consulta consta de criterios

de búsqueda expresados en un lenguaje de base de datos

denominados SQL (Structures Quero Language, Lenguaje de

consulta estructurado). La consulta SQL se escribe en los scripts o

etiquetas del lado del servidor de la página.

Un servidor de aplicaciones no se puede comunicar directamente con

una base de datos porque el formato propietario de esta última impide

que se descifren los datos. El servidor de aplicaciones solo se puede

Capítulo II Marco Teórico 30

Page 17: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

comunicar con la base de datos a través de un controlador que actúe

de intermediario con la base de datos; el software actúa entonces

como un intérprete entre el servidor de aplicaciones y la base de

datos.

Una vez que el controlador establece la comunicación, la consulta se

ejecuta en la base de datos y se crea un juego de registros. Un juego

de registros es un conjunto de datos extraído de una o varias tablas de

una base de datos. El juego de registros se devuelve el servidor de

aplicaciones, que se emplea los datos para completar la página. A

continuación se ofrece una ilustración del proceso de consulta de

base de datos y devolución de los datos al navegador.

Figura Nº 2.5. Funcionamiento de una Aplicación Web Dinámica con Acceso a datos

Fuente: (Elaboracion_propia, 2012)

2.2.5 Plataforma NET

Capítulo II Marco Teórico 31

Page 18: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

a. Que es .Net

.Net es el modelo de desarrollo de Microsoft que hace que el software

sea independiente de la plataforma y de los dispositivos y hace que los

datos estén disponibles a través del Internet.

.Net ha sido implementado desde el principio pensando en una

arquitectura abierta. El objetivo de la plataforma .Net de Microsoft es

simplificar el desarrollo Web.

Está formada por las siguientes tecnologías principales:

.Net Framework

Windows Server System

Servicios Bulding Block fundamentales

Visual Studio .Net

Figura Nº 2.6. Plataforma .Net

Fuente: (Wikipedia, 2012)

b. .Net Framework

Capítulo II Marco Teórico 32

Page 19: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

.Net Framework es un entorno de ejecución y biblioteca de

componentes independientes del lenguaje de programación utilizado.

Le permite crear aplicaciones integradas y orientadas a servicios que

satisfacen las necesidades actuales de las empresas de Internet

reuniendo información de una gran variedad de fuentes con las que

además interactúa, independientemente de las plataformas o lenguajes

que se empleen.

.Net Framework está formado por los siguientes componentes:

Runtime de Lenguaje Común (CLR)

Biblioteca de clases de .net Framework (BCL)

Microsoft ADO.Net y XML

Microsoft ASP.Net y Windows UI

Figura Nº 2.7. Componentes del .Net Framework

Fuente: (Wikipedia, 2012)

Enseguida se describirán brevemente los principales componentes:

Capítulo II Marco Teórico 33

Page 20: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Common Language Runtime (CLR)

CLR simplifica el desarrollo de aplicaciones, proporciona un

entorno de ejecución robusta y segura, es compatible con gran

variedad de lenguajes y simplifica la instalación y gestión de

aplicaciones.

Biblioteca de clases de .net Framework

.Net Framework proporciona un conjunto unificado orientado a

objetos, jerárquico y extensible de bibliotecas de clase para

desarrolladores.

Por otra parte, la creación de un conjunto de interfaces de

programación de aplicaciones (API) común para todos los

lenguajes de programación en .Net Framework permite la

depuración, el tratamiento de errores y la herencia de un lenguaje a

otro.

Microsoft ADO. Net y XML

ADO.Net es la siguiente generación de la tecnología ActiveX®

Data Objetcs (ADO) de Microsoft ADO.Net ofrece un soporte

mejorado del modelo de programación desconectado. ADO.Net

también proporciona un amplio soporte de XML.

Microsoft ASP .Net

ASP.Net es un macro de programación creado sobre el CLR. Puede

utilizarse en un servidor para crear potentes aplicaciones Web.

ASP.Net Web Forms proporcionan una forma fácil y potente de

generar interfaces de usuario (IUs) Web dinámicos.

Capítulo II Marco Teórico 34

Page 21: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

En el siguiente numeral se verá más a detalle lo que es ASP. Net.

c. ASP.Net

Active Server Pages (ASP) es un componente de Microsoft Internet

Information Server (IIS), ASP tiene muchas ventajas. La mayor es q

reemplaza la forma tradicional de intercambiar información entre

usuarios. Los métodos tradicionales de intercambio cliente/servidor

involucran la tecnología Common Gateway Interface (CGI). CGI

requiere una aplicación separada desde un documento Web para

procesar todos los datos regresados al servidor. Esto tiene desventajas

tanto en la seguridad como en el procesamiento de recursos.

Active Server Pages permiten que el código sea incrustado en un

documento HTML y que corra en el servidor. El código que necesita

correr en el servidor se coloca entre especiales script tags. Estas tags

le dicen al servidor que no envie el código que está entre ellas al

cliente. El código no será necesario hasta que se reciba una solicitud

del cliente, luego este procesara el código en el servidor basado en la

información enviada de regreso desde el cliente, el código nunca deja

el servidor haciendo por lo tanto a ASP muy seguro y fácil de

programar.

ASP.Net reemplaza a las Active Server Pages (ASP), el cual logra el

desarrollo de aplicaciones Web mas dinámicas, con un código más

claro y limpio, por ende reusable, multiplataforma y definitivamente

más simple, ya que el entorno ASP.Net permite la creación automática

de alguna de las tareas más comunes para un creador Web, como los

formularios o la validación de los datos.

ASP.Net ha logrado solucionar principalmente los siguientes

problemas:

Capítulo II Marco Teórico 35

Page 22: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Mantenimiento

Las aplicaciones Cliente/Servidor en ASP son difíciles de

mantener. El código ASP mezclado con la interfaz de usuario hace

que muchas veces se pierda demasiado tiempo actualizando toda la

aplicación, no pudiendo trabajar simplemente con el núcleo del

código. ASP.Net soluciona esto al permitir separar interfaz de

código.

Código

La mayoría de todo lo que funciona en una página Web debe ser

creado por el desarrollador. Cada formulario que ingresa datos a

una base de datos que conlleva varias líneas de código, obligando

al desarrollador a generar desde cero cada aplicación. El rico

entorno del .net Framework brinda una extensa cantidad de

controles predefinidos, que permiten crear aplicaciones potentes,

simplemente escribiendo unas pocas líneas de código.

Limitación de Lenguaje

ASP.Net incorpora soporte nativo para C#, Visual Basic y JScript.

Logrando así dejar atrás las limitaciones ASP que solo permita

código en VBScript y JScript.

Características de ASP.Net

Eficiencia

Capítulo II Marco Teórico 36

Page 23: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Para asegurarse un optimo rendimiento, el CLR compila en algún

punto, todos los códigos de aplicaciones en códigos naturales de

máquina.

Esta conversión puede hacerse o bien en el momento en que se

ejecuta la aplicación (método por método) o cuando se instala la

aplicación por primera vez. El proceso de compilación hará uso

automáticamente de todas las características del microprocesador,

disponibles en diferentes plataformas, algo que las aplicaciones

tradicionales de Windows nunca podrían hacer, a menos que usted

cargase distintos binarios para distintas plataformas.

Soporte de Lenguaje

ASP.Net soporta la programación en lenguajes potentes como,

Visual Basic .Net (VB) y C#, el nuevo lenguaje creado por

Microsoft con la intención de aprovechar la potencia del C++ y

combinarlo con las facilidades que brinda a la programación en

Internet un lenguaje como Java.

Contenido y Código por separado

ASP.Net utiliza un criterio similar al que utiliza Visual basic, es

decir, separa la interfaz de usuario con el código.

Código Compilado

ASP.Net ya no interpreta el código como la hace la versión anterior

de ASP. Dentro del entorno NGWS (New Generation Windows

Capítulo II Marco Teórico 37

Page 24: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Services) el código es compilado just-in-time, logrando un enorme

aumento en el rendimiento, a través de soporte nativo y servicios de

cache. Controles de servidor Uno de los aspectos más importantes

dentro del .Net Framework es su librería de clase.

Esta librería es común en toda la plataforma .Net, lo que le brinda

al programador una herramienta ideal para crear aplicaciones

multiplataforma, con un considerable ahorro de líneas de código.

Los controles de servidor están divididos en dos categorías:

Controles Web y Controles HTML.

2.2.6 Herramientas para el desarrollo de aplicaciones Web

a. Internet Information Server (IIS)

IIS es un conjunto de servicios para servidores usando Microsoft

Windows. Estos servicios convierten a un ordenador en un servidor de

Internet o intranet es decir que en las computadoras que tienen este

servicio instalado se pueden publicar páginas Web tanto local como

remotamente 8servidor Web).

El servicio web se basa en varios módulos que le dan capacidad para

procesar distintos tipos de páginas, por ejemplo Microsoft incluye los

de Active Server Pages (ASP) y ASP.Net.

b. Servidor de Base de datos SQL Server 2005

SQL Server 2005 es mucho más que un motor de base de datos

relacional, pues en comparación a sus anteriores versiones incluye

Capítulo II Marco Teórico 38

Page 25: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

diversos componentes y servicios que la convierten en una plataforma

de aplicaciones corporativas.

Entre las novedades que aporta la nueva versión de SQL Server 2005

tenemos:

Nuevas herramientas integradas

SQL Server 2005 introduce el SQL Server Studio, una suite de

herramientas de gestión integradas. Este nuevo conjunto incluye

nuevas funcionalidades para desarrollo, implantación y resolución

de problemas de bases de datos SQL, así como mejoras de las

funcionalidades anteriores.

Soporte para .Net Framework

SQL Server 2005 introduce la posibilidad de desarrollar objetos de

base de datos en lenguajes .Net. Pueden crearse objetos de código,

incluyendo Funciones, procedimientos y Triggers en lenguajes

como C# y VB.Net. se pueden crear también dos nuevos objetos en

estos lenguajes: User-Defined Types y Agregados.

Nuevo tratamiento de errores

Desaparece al acceso a los errores a través de la variable @@Error

y aparecen blocks TRY / CATCH anidables y nuevas

funcionalidades como ERROR_NUMBER, ERROR_MESSAGE.

Tecnología XML

Las tecnologías XML son un estándar importante y ampliamente

aceptado para distribuir datos entre diferentes aplicaciones sobre

redes locales e Internet. Microsoft SQL Server 2005 soporta el

Capítulo II Marco Teórico 39

Page 26: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

almacenamiento nativo de documentos XML, especificación de

consultas con XML y devolución de resultados de consultas como

documentos XML.

Servicios de Reporting

Servicios de reporting permite a los negocios integrar de forma

sencilla datos desde fuentes heterogéneas y Data Warehouse en

informes ricos, interactivos y gestionables, que pueden localizarse

y consultarse en Intranets, Extranets y en Internet.

2.2.7 Metodología de desarrollo de Aplicaciones Web

a. Comparación de Metodologías

A continuación se presenta una tabla que contiene la descripción,

ventajas y desventajas de las principales Metodologías de Desarrollo

de software, con la finalidad de proporcionar un fundamento a la

elección de la metodología para el desarrollo del Sistema de

información bajo entorno web.

Tabla Nº 2.1. Cuadro Comparativo de Metodologías de Desarrollo (continua)

Metodología Descripción Ventaja Desventajas

Capítulo II Marco Teórico 40

Page 27: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

RUP

Se basa en el uso de la tecnología orientada a objetos en el desarrollo de software y proceso de desarrollo de software configurable.

Iterativo e incremental, centrado en la arquitectura y guiado por casos de uso.

Se basa en flujos de trabajos, los cuales se realizan a través de sus fases: inicio, elaboración, construcción y transición.

Iteración con el usuario continúa desde un inicio.

Liberaciones frecuentes.

Involucramiento del equipo en todas las decisiones del proyecto.

Anticiparse a cambio de requerimientos.

Fuente: (Elaboracion_propia, 2012)

Tabla Nº 2.1. Cuadro Comparativo de Metodologías de Desarrollo (continuación 1)

Capítulo II Marco Teórico 41

Page 28: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

XP

Metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software.

Promueve una forma de desarrollo de software eficiente, flexible, predecible, de bajo riesgo y divertido.

Propone un desarrollo iterativo a través de 4 pasos, planificación, diseño, codificación y prueba. En cada iteración se añaden nuevas funcionalidades al software.

Adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo técnico.

Se basa en realimentación continua en ciclos cortos entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en soluciones implementadas.

Pretender que el cliente se quede en el sitio y la resistencia de muchos programadores a trabajar en pares.

Falta de método de diseño arquitectónico.

FDD

Método ágil, iterativo y adaptativo.

Se basa en un proceso iterativo con iteraciones cortas que producen un software funcional que el cliente y la dirección de la empresa puede ver y monitorizar.

Las iteraciones se deciden en base a features o funcionalidades, que son pequeñas partes del software con significado para el cliente.

No exige la presencia del cliente.

Adecuado para proyectos mayores y de misión critica.

No requiere un modelo específico de proceso y se complementa con otras metodologías.

No cubre todo el ciclo de vida sino solo las fases de diseño y construcción.

Demasiado jerárquico para ser un método ágil, porque demanda un programador jefe.

Fuente: (Elaboracion_propia, 2012)

Tabla Nº 2.1. Cuadro Comparativo de Metodologías de Desarrollo (continuación 2)

Capítulo II Marco Teórico 42

Page 29: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

MSF

Se encuentra en estrecha comunión de principios con las metodologías agiles.

Modelo iterativo e incremental.

Presenta las siguientes fases: estrategia y alcance, planeamiento, desarrollo, estabilización y despliegue.

Presenta un marco para el desarrollo documentado.

Existe una participación activa del cliente en todas las etapas del proceso.

Utiliza el principio de que cada etapa debe ser culminada antes de pasar a la siguiente y hace hincapié en la retroalimentación.

Se centra en los modelos de proceso y de equipo dejando en un segundo plano las elecciones tecnológicas.

Fuente: (Elaboracion_propia, 2012)

Después de una previa selección se llegó a elegir a la “Metodología

RUP”, la cual se adecua a nuestros requerimientos, ya que gracias a

ella se permite el uso de información interactiva. Para ello, se llegó a

utilizar un cuadro comparativo y uno de selección, el cual se han

definidos criterios de acuerdo a nuestros requerimientos para el

desarrollo del proyecto llegando a elegir finalmente a la metodología

mencionada anteriormente, que contiene una mayor documentación y

además que también se utiliza para diseñar diferentes tipos de

aplicaciones hipermedia como galerías interactivas, presentaciones

multimedia y aplicaciones web. Además contiene una mayor

documentación, posee muchas aplicaciones y resultados concretos. Ha

sido diseñada primordialmente para ser utilizada en el modelamiento

de todo tipo de software, cual sea su aplicación.

b. Proceso Unificado Rational (RUP)

Capítulo II Marco Teórico 43

Page 30: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

¿Qué es un Proceso de Desarrollo de SW?

Define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo

Figura Nº 2.8. Proceso de Desarrollo de Software

Fuente: (Wikipedia, 2012)

No existe un proceso de software universal. Las características de cada

proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso

sea configurable

El proceso Unificado utiliza el Lenguaje Unificado de Modelado

para preparar todos los esquemas de un Sistema de Software. De

hecho, UML es una parte esencial del Proceso Unificado.

Características:

Dirigido por casos de uso: Los casos de uso se utilizan como un

artefacto básico para establecer el comportamiento deseado del

sistema, para verificar y validar la arquitectura del sistema, para

las pruebas y para la comunicación entre las personas involucradas

en el proyecto.

Centrado en la arquitectura: La arquitectura del sistema se utiliza

como un artefacto básico para conceptuar, construir, gestionar y

hacer evolucionar el sistema en desarrollo.

Capítulo II Marco Teórico 44

Page 31: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Un proceso iterativo: Permite una comprensión creciente de los

requerimientos a la vez que se va haciendo crecer el sistema.

Reduce el costo de riesgo: Si los desarrolladores tienen que repetir

la iteración, la organización solo pierde el esfuerzo mal empleado

de la iteración. No el valor del producto entero.

Un proceso incremental: es aquel que involucra la continua

integración de la arquitectura del sistema para producir esos

ejecutables, donde cada nuevo ejecutable incorpora mejoras

increméntales sobre otros.

RUP es un proceso configurable. RUP es adaptable y puede

configurarse para cubrir las necesidades del proyectos que van

desde pequeños equipos de desarrollo hasta grandes empresas de

desarrollo.

RUP impulsa un control de calidad y una gestión del riesgo. La

evaluación de la calidad va contenida en el proceso, en todas las

actividades e implicando a todos los participantes, mediante

medidas y criterios objetivos.

Dos Dimensiones:

El proceso puede describirse en dos dimensiones, o a lo largo de dos

ejes:

El eje horizontal, representa el tiempo y muestra el aspecto

dinámico del proceso cuando se procesa, y es expresado en

términos de ciclos, fases, iteraciones, e hitos.

El eje vertical, representa el aspecto estático del proceso: cómo

se describe en términos de actividades, artefactos.

Capítulo II Marco Teórico 45

Page 32: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Figura Nº 2.9. Metodología RUP

Fuente: (Wikipedia, 2012)

Fases

Cada fase se concluye con un producto definido, en cada culminación

de las fases se deben tomar ciertas decisiones críticas a tiempo, y por

consiguiente se deben de lograr metas importantes.

Figura Nº 2.10. Fases de la Metodología RUP

Fuente: (Wikipedia, 2012)

Estructura Estática de los Procesos:

Un proceso describe el qué, cómo, y cuándo se está haciendo un

proceso. RUP usa cuatro elementos modelos de elementos que

representan:

Tabla Nº 2.2. Descripción de las fases de la Metodología RUP

Capítulo II Marco Teórico 46

Page 33: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Fuente: (Wikipedia, 2012)

Principales Workflows:

Hay nueve procesos de Workflows en la RUP que representa todos

los workers y actividades en las agrupaciones lógicas.

Tabla Nº 2.3 Workflows de la metodología RUP

Fases Descripción

Inicio Se establece el modelo del negocio para el sistema y se delimita el

Capítulo II Marco Teórico 47

Elemento Descripción

Worker

El Quién

Define la conducta y responsabilidades de un individuo, o un

grupo de individuos que trabajan juntos como un equipo.

Actividad

El Cómo

Es el resultado parcial o final que es producido y usado durante el

proyecto. Son las entradas y salidas de las actividades.

Artefacto

El Qué

Es una parte de información que se produce, modifica, usado por

un proceso. Los artefactos son los productos tangibles del

proyecto.

Workflows

El Dónde

Es una sucesión de actividades que producen un resultado de

valor notable. En términos de UML, un workflow puede

expresarse como un diagrama de sucesión, un diagrama de la

colaboración, o un diagrama de actividad.

Page 34: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

alcance del proyecto.

Elaboración

Se analiza el dominio del problema, establecer un seguro

funcionamiento arquitectónico, desarrollar el plan del proyecto, y

eliminar los elementos de riesgo más altos del proyecto.

Construcción

Se desarrollan todos los componentes restantes y se terminan los

acabados de la aplicación y se integran en el producto, probándose

completamente.

Transición

Se requiere típicamente que algún subconjunto utilizable del

sistema se ha completado a un nivel aceptable de calidad y la

documentación está disponible para el usuario para que la

transición al usuario tenga resultados positivos.

Fuente: (Wikipedia, 2012)

Los principales Workflows están divididos en seis principales

Workflows de ingeniería:

Workflow Modelo del Negocio.

Workflow Requerimientos.

Workflow Análisis y Diseño.

Workflow Implementación.

Workflow Prueba.

Workflow Despliegue.

Y tres principales workflows de "Apoyo":

Workflow Administración del Proyecto.

Workflow Configuración y Administración de Cambios.

Workflow Entorno.

Modelo del Negocio:

La Rational Unified Process se dirige proporcionando un idioma

común para ambas comunidades, así mismo muestra cómo crear y

mantener trivialidad directa entre el negocio y modelos del software.

Capítulo II Marco Teórico 48

Page 35: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Los casos del uso de negocio se analizan para entender cómo el

negocio debe apoyar los procesos de negocio.

Requerimientos:

La meta de los Requisitos de Workflow es describir lo que el sistema

debe hacer y debe permitir a los diseñadores y clientes estar de

acuerdo en las descripciones. Se identifican a los actores y se

representan a los usuarios, y a cualquier otro sistema que puede actuar

recíprocamente con el sistema a desarrollarse. Use-case identifican y

representan la conducta del sistema.

Análisis y Diseño:

La meta del workflow en el Análisis y Diseño es mostrar cómo el

sistema se comprenderá en la fase de aplicación. Se debe construir un

sistema que:

Cumple todos sus requisitos.

Se estructura para ser robusto (fácil cambiar si y cuando sus

requisitos funcionales cambian).

El modelo del diseño consiste en clases del diseño estructuradas en los

paquetes del diseño y subsistemas del diseño con interfaces bien

definidas y representa lo que se volverá componentes en la aplicación.

Implementación:

El propósito de aplicación es:

Definir la organización del código, en los términos de subsistemas

de aplicación organizados en capas.

Para llevar a cabo clases y objetos en términos de componentes (los

archivos fuentes, binarios, ejecutables, y otros).

Para probar los componentes desarrollados como unidades.

Para integrar los resultados producidos por implementaciones

individuales (o equipos), en un sistema ejecutable.

El sistema se comprende a través de la aplicación de componentes.

Capítulo II Marco Teórico 49

Page 36: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Prueba:

Los propósitos de comprobación son:

Para verificar la interacción entre los objetos.

Para verificar la integración apropiada de todos los componentes

del software.

Para verificar que todos los requisitos se han llevado a cabo

correctamente.

Identificar y asegurar defectos se dirigen antes del despliegue del

software.

Despliegue:

El propósito del workflow del despliegue es producir el producto con

éxito, y entregar el software a sus usuarios finales. Cubre una amplia

gama de actividades:

Produciendo descargos externos del software.

Empaquetando el software.

Distribuyendo el software.

Instalando el software.

Proporcionando ayuda a los usuarios.

En muchos casos, esto incluye también actividades como:

Planear y dirigir pruebas beta.

La migración de software existiendo o datos.

c. Flujo de proceso del RUP para el desarrollo de Aplicaciones Web

Flujo de Modelado del Negocio

Con este flujo de trabajo se pretende llegar a un mejor

entendimiento de la organización donde vamos a implementar

nuestro sistema. Los principales motivos para esto son los

siguientes: asegurarse de que el productosera algo útil, conseguir

que encaje de la mejor forma posible en la organización; y tener un

Capítulo II Marco Teórico 50

Page 37: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

marco común para los desarrolladores, los clientes y los usuarios

finales.

Luego, basados en esa visión se definen los procesos, papeles y

responsabilidades de esta organización en un Modelo de Casos de

Uso del Negocio y Modelo de Objetos del Negocio.

a. Modelo de Casos de Uso del Negocio

Es un modelo de las funciones de negocio. Permite situar al

sistema en el contexto organizacional haciendo énfasis en los

objetivos de este ámbito. Este modelo se representa con un

Diagrama de Casos de uso usando estereotipos específicos para

este modelo.

b. Modelo del Dominio

Identifica los elementos principales del problema y las

relaciones entre ellos. Para su representación se utiliza un

diagrama de clases con nombre y atributos para esta y sus

relaciones de asociación (incluyendo cardinalidad y herencia)

Flujo de Requerimientos

Su propósito es la descripción de las funcionalidades y

características que debe (y no debe) ofrecer el sistema a sus clientes

y usuarios, es decir pretende determinar que hace el sistema.

Al capturar requerimientos, logramos determinar los requisitos del

sistema que englobe básicamente: los requisitos funcionales: los

Capítulo II Marco Teórico 51

Page 38: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

requisitos de navegación y los requisitos de interfaz de usuario. Los

principales artefactos producidos por este flujo son:

a. Modelo de caso de Uso

El modelo de caso de uso presenta las funcionalidades del

sistema y los actores que hacen uso de ellas. Se representa

mediante diagramas de caso de uso. Los casos de uso se ordenan

en prioridad para definir el orden de su implementación y los

más críticos pueden describirse de manera extendida.

b. Requerimientos Funcionales

Formado por una descripción narrativa de la funcionalidad del

sistema proporcionada por los usuarios finales.

c. Requerimientos No Funcionales

Conformada por la variedad de los atributos no relacionado con

la funcionalidad del sistema y proporcionan una calidad deseada

a los usuarios finales.

d. Presupuesto.

Estudio muy bien detallado para establecer los recursos durante

las etapas de desarrollo del proyecto.

Flujo de Análisis y Diseño Extendido

Consiste en mostrar como el sistema será realizado en la fase de

implementación. Requiriendo construir un sistema que: ejecute, en

un ambiente especifico de implementación, las tareas y funciones

Capítulo II Marco Teórico 52

Page 39: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

especificas en las descripciones de casos de uso; satisfaga todos los

requerimientos y cuya arquitectura sea robusta y fácil de cambiar.

Este flujo fue extendido para satisfacer las necesidades especificas

de las aplicaciones Web, principalmente en lo que se refiere a

aspectos de navegación y presentación de la aplicación; está basado

en la estructura de Análisis y Diseño propuesto por A. Araujo y en

las extensiones de UML propuestas por Jim Conallen.

Flujo de Implementación

El sistema es realizado a través de la implementación produciendo

fuentes (archivos de código-fuente, archivos de cabecera, archivos

de compilación, etc.) los cuales resultaran en sistema ejecutable. La

implementación incluye probar por separado las clases y/o

paquetes. El principal artefacto de este flujo es:

a. Diagrama de componentes del Sistema

Es una colección de componentes y subsistemas de

implementación. Un componente representa una porción de

código software (fuente, binario o ejecutable) o un agregado de

otros componentes, como una aplicación con varios ejecutables.

Un subsistema de implementación es una colección de

componentes y otros subsistemas de la implementación.

Flujo de Prueba

Consiste en verificar el sistema entero. Primero se prueba cada caso

de uso separadamente para verificar que sus clases participantes

trabajen juntas correctamente. Entonces se prueba (ciertos aspectos)

el sistema como un todo con las descripciones de los casos de uso

Capítulo II Marco Teórico 53

Page 40: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

como input para esta prueba. Al final de la prueba, el sistema puede

ser entregado.

Flujo de Implantación

El objetivo de este flujo de trabajo es producir con éxito versiones

del producto y distribuirlas a los usuarios finales. Comprende la

ejecución de varias actividades, tales como producir versiones del

software; empaquetar, distribuir e instalar el software; proporcionar

ayuda y asistencia a los usuarios; planificar y ejecutar pruebas beta

y la migración de software existente.

d. Extensiones de UML para Aplicaciones Web

Una extensión para UML se expresa en términos de estereotipos,

tagged values y restricciones (Constrains). Combinados estos

mecanismos posibilitan crear nuevos tipos de bloques de construcción

que pueden ser usados en los modelos.

Estereotipo

Es una extensión del vocabulario del lenguaje. Un estereotipo

permite adjuntar un nuevo significado semántico a un elemento del

modelo. Los estereotipos pueden aplicarse en todos los elementos,

el modelo y ellos se expresan copmo un string entre <<>> o como

un icono.

Tagged value

Es la extensión para una propiedad de un elemento del modelo.

Muchos elementos del modelo tiene propiedades asociadas a ellos.

Las clases, por ejemplo, tienen nombre, visibilidad, persistencia,

Capítulo II Marco Teórico 54

Page 41: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

entre otros atributos asociados. Una tagged value es la definición de

una nueva propiedad que puede saciarse con un elemento del

modelo, representándose como un string entre corchetes [].

Restricción

Es una extensión de la semántica del lenguaje. Una restricción

especifica las condiciones sobre las cuales un modelo puede ser

considerado “bien formado”, se expresa como un string entre llaves

{

}.

e. Web Aplication Extension

La Web Aplication Extension (WAE) propuesta pos Jim Conallen

para ayudar en el modelado de las aplicaciones Web, es una

extensión de UML que identifica los elementos específicos para la

construcción de una aplicación Web.

Elementos Web Application Extension

a. Web Page

Debido a que una página Web necesita ser modelada, esta se

representa en el modelo a través de dos clases diferentes;

estereotipadas por <<server page>> y <<client page>>.

Cualquier pagina en una aplicación Web que tiene funcionalidad

en el servidor y en el cliente, puede representarse en el modelo

Capítulo II Marco Teórico 55

Page 42: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

como dos clases separadas, aun usando sus implementaciones

están en un mismo archivo o componente.

De esta manera, los métodos de servidores y su variedad de

marca de página están contenidos en una clase del modelo

estereotipado por <<server page>>. Los métodos de la clase

representan los scripts del lado del servidor, subrutinas y

funciones. Los scripts del lado del cliente y el formato de la

interfaz grafica no son parte de la marca de la pagina de

servidor. Una página de servidor puede estar relacionada con los

componentes existentes en el servidor, tales como, los objetos

del negocio en las capas del sistema o componentes de acceso a

datos.

Las páginas de cliente son similarmente representadas en un

modelo como clases estereotipadas por <<client page>>. Los

atributos de las paginas cliente son independientes de la marca

de la pagina y de las funciones que se ejecutan en el navegador

del cliente. Las paginas cliente están asociadas con los

componentes que se ejecutan en el cliente, como Java Applets y

controles ActiveX.

Hay una relación fundamental entre los estereotipos cliente y

servidor de una página web. Una página de servidor

normalmente construye el resultado en un página cliente. Esta

relación se representa en el modelo a través de una asociación

estereotipada por <<build>>. La siguiente figura muestra un

ejemplo de relación entre páginas Web, que indica que paginas

de servidor es responsable de la construcción de una

determinada pagina cliente.

Capítulo II Marco Teórico 56<<builds>>

spAgregarPedido

cpAgregarPedido

Page 43: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Figura Nº 2.11. Construcción de una página Cliente

Fuente: (Elaboracion_propia, 2012)

Otra facilidad de algunas tecnologías de desarrollo de

aplicaciones Web es la propiedad de redireccionar una petición

de procesamientos para otra pagina servidor. Este

redireccionamiento se presenta en el modelo a través de una

asociación estereotipada por <<redirect>>. La siguiente figura

muestra un ejemplo de redireccionamiento entre paginas

servidor.

Figura Nº 2.12. Redireccionamiento entre páginas de Servidor

Fuente: (Elaboracion_propia, 2012)

Otra relación importante en el diseño de aplicaciones web es el

vinculo (link) entre paginas. Las páginas vinculadas podrían ser

páginas de cliente o de servidor. El estereotipo <<links>>

define relaciones entre páginas cliente y otras páginas (cliente o

Capítulo II Marco Teórico 57

spAlmacen

spAlmacen Lima

spAlmacenTrujillo

<<redirects>>

<<redirects >>

Page 44: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

servidoras). La siguiente figura muestra el vinculo entre páginas

Web, que indica que páginas web son referenciadas por un link

por otra pagina Web.

Figura Nº 2.13. Vinculo (link) entre páginas Web

Fuente: (Elaboracion_propia, 2012)

Si un vinculo (hyperlink) incluye parámetros, estos son

modelados como atributos del link fuera de la asociación. Por

ejemplo:

Capítulo II Marco Teórico 58

cpPedido

<<links >>

<<links >>

cpDetalle Pedido

cpItem

Page 45: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Figura Nº 2.14. Vinculo (link) con parámetro entre páginas Web

Fuente: (Elaboracion_propia, 2012)

b. Form

Los formularios contienen atributos adicionales que no pueden

ser apropiados en el contexto de una pagina cliente entera y es

posible tener multiples formularios en una pagina cliente, cada

una apuntando a una acción diferente. De esta forma, los

formularios se representan en el modelo a través de una clase

estereotipada por <<form>>.

Una clase estereotipada por <<form>> tiene como atributos los

campos de formulario. Estos atributos son estereotipados para

representar el tipo de los campos (entrada, lista, botón,

selección, etc) en el formulario. La disputa es la relación formal

entre la pagina cliente y un formulario, es decir, las paginas

cliente contienen a los formularios. Esto se representa en el

modelo a través de la asociación del tipo agregación ente clase

Capítulo II Marco Teórico 59

cpAgregarPedido

cpDetalle Pedido

spDetalle Pedido

<<builds>>

<<links >>

COD_PEDIDO

Page 46: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

que representa la página cliente y la clase que representa el

formulario.

Una relación es necesaria para identificar que pagina web

procesa los datos sometidos por u formulario. Este

relacionamiento se representa en el modelo a través de una

asociación estereotipada por <<sumit>>. La siguiente figura

muestra un ejemplo del uso de formularios en aplicaciones Web.

Capítulo II Marco Teórico 60

cpPedido

frmAgregarPedidoCod_Pedido: nvarchar(10)

spGuardar Nuevo Pedido

<<submits >>

frmListarPedido

spListarPedido X U.Funcional

<<submits >>

Page 47: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Figura Nº 2.15. Uso de Formularios en Aplicaciones Web

Fuente: (Elaboracion_propia, 2012)

c. Frame

El frame permite la representación de múltiples páginas Web al

mismo tiempo y permite al diseñador web dividir una ventana

del navegador en sub aéreas rectangulares que exhiben

diferentes páginas Web.

Los frame son implementados en HTML por la definición de un

frameset. Un frameset un tipo especial de pagina Web que

divide su área de visualización en múltiples sub áreas, cada una

exhibiendo su propia página web. Esto se representa en el

modelo a través de una clase estereotipada por <<frameset>>.

Cada una de la sub áreas de visualización en una página web

constituye un target. Un target en el frameset es un frame

nombrado, que otras páginas cliente pueden pedir a través de

páginas web. Esto se representa en el modelo a través de una

clase estereotipada por <<target>>. El relacionamiento entre

páginas cliente y target se representa en el modelo a través de

una asociación estereotipada por <<targeted link>>. La siguiente

figura muestra un ejemplo del uso de frames en aplicaciones

Web.

Capítulo II Marco Teórico 61

Page 48: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Figura Nº 2.16. Uso de Frames en aplicaciones Web

Fuente: (Elaboracion_propia, 2012)

f. Ajax

Ajax, acrónimo de Asynchronous JavaScript And XML (JavaScript

asíncrono y XML), es una técnica de desarrollo web para crear

aplicaciones interactivas o RIA (Rich Internet Applications). Estas

aplicaciones se ejecutan en el cliente, es decir, en el navegador de

los usuarios mientras se mantiene la comunicación asíncrona con el

servidor en segundo plano. De esta forma es posible realizar

cambios sobre las páginas sin necesidad de recargarlas, lo que

significa aumentar la interactividad, velocidad y usabilidad en las

aplicaciones.

Capítulo II Marco Teórico 62

cpAnular Pedido

<<targeted link>> cpModifica

rPedido

<<targeted links >>

cpNuevo Pedido

<<targeted links >>

cpPedido

TgPedidoFstAgregar Pedido

Page 49: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Ajax es una tecnología asíncrona, en el sentido de que los datos

adicionales se solicitan al servidor y se cargan en segundo plano sin

interferir con la visualización ni el comportamiento de la página.

JavaScript es el lenguaje interpretado (scripting language) en el que

normalmente se efectúan las funciones de llamada de Ajax

mientras que el acceso a los datos se realiza mediante

XMLHttpRequest, objeto disponible en los navegadores actuales.

En cualquier caso, no es necesario que el contenido asíncrono esté

formateado en XML.

Ajax es una técnica válida para múltiples plataformas y utilizable

en muchos sistemas operativos y navegadores dado que está basado

en estándares abiertos como JavaScript y Document Object Model

(DOM).

Tecnologías incluidas en Ajax

Ajax es una combinación de cuatro tecnologías ya existentes:

XHTML (o HTML) y hojas de estilos en cascada (CSS) para el

diseño que acompaña a la información.

Document Object Model (DOM) accedido con un lenguaje de

scripting por parte del usuario, especialmente implementaciones

ECMAScript como JavaScript y JScript, para mostrar e

interactuar dinámicamente con la información presentada.

El objeto XMLHttpRequest para intercambiar datos de forma

asíncrona con el servidor web. En algunos frameworks y en

algunas situaciones concretas, se usa un objeto iframe en lugar

del XMLHttpRequest para realizar dichos intercambios.

XML es el formato usado generalmente para la transferencia de

datos solicitados al servidor, aunque cualquier formato puede

Capítulo II Marco Teórico 63

Page 50: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

funcionar, incluyendo HTML preformateado, texto plano, JSON

y hasta EBML.

Como el DHTML, LAMP o SPA, Ajax no constituye una

tecnología en sí, sino que es un término que engloba a un grupo de

éstas que trabajan conjuntamente.

g. JQuery

jQuery es una biblioteca de JavaScript, creada inicialmente por

John Resig, que permite simplificar la manera de interactuar con

los documentos HTML, manipular el árbol DOM, manejar eventos,

desarrollar animaciones y agregar interacción con la técnica AJAX

a páginas web. Fue presentada el 14 de enero de 2006 en el

BarCamp NYC.

jQuery es software libre y de código abierto, posee un doble

licenciamiento bajo la Licencia MIT y la Licencia Pública General

de GNU v2, permitiendo su uso en proyectos libres y privativos.

jQuery, al igual que otras bibliotecas, ofrece una serie de

funcionalidades basadas en JavaScript que de otra manera

requerirían de mucho más código, es decir, con las funciones

propias de esta biblioteca se logran grandes resultados en menos

tiempo y espacio.

Las empresas Microsoft y Nokia anunciaron que incluirán la

biblioteca en sus plataformas. Microsoft la añadirá en su IDE

Visual Studio y la usará junto con los frameworks ASP.NET AJAX

y ASP.NET MVC, mientras que Nokia los integrará con su

plataforma Web Run-Time.

Características

Capítulo II Marco Teórico 64

Page 51: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Selección de elementos DOM.

Interactividad y modificaciones del árbol DOM, incluyendo

soporte para CSS 1-3 y un plugin básico de XPath.

Eventos.

Manipulación de la hoja de estilos CSS.

Efectos y animaciones.

Animaciones personalizadas.

AJAX.

Soporta extensiones.

Utilidades varias como obtener información del navegador,

operar con objetos y vectores, funciones como trim() (elimina

los espacios en blanco del principio y final de una cadena de

caracteres), etc.

Compatible con los navegadores Mozilla Firefox 2.0+, Internet

Explorer 6+, Safari 3+, Opera 10.6+ y Google Chrome 8+.

Uso

jQuery consiste en un único fichero JavaScript que contiene las

funcionalidades comunes de DOM, eventos, efectos y AJAX.

La característica principal de la biblioteca es que permite cambiar

el contenido de una página web sin necesidad de recargarla,

mediante la manipulación del árbol DOM y peticiones AJAX. Para

ello utiliza las funciones $() o jQuery().

2.2.8 Logística

a. Logística empresarial: Definición

Capítulo II Marco Teórico 65

Page 52: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

Para el profesor Ronald H. Ballou la logística empresarial es todo

movimiento y almacenamiento que facilite el flujo de productos desde

el punto de compra de los materiales hasta el punto de consumo, así

como los flujos de información que se ponen en marcha, con el fin de

dar los niveles adecuados de servicio al consumidor a un coste

razonable.

El profesor Lambert integra el término logística en otro más general y

la define como la parte de la gestión de la cadena logística (Supply

Chain Management (SCM)) que planifica, implementa y controla el

flujo eficiente y efectivo de materiales y el almacenamiento de

productos, así como la información asociada desde el punto de origen

hasta el de consumo con el objeto de satisfacer las necesidades de los

consumidores.

Otra acepción utilizada por la Asociación Francesa de Logística

(ASLOG) la define como "el conjunto de actividades que tienen por

objeto colocar al mínimo costo una cantidad determinada de producto

en el lugar y momento que es demandada".

Según la CLM (Council of Logistic Management) “la Logística es

aquella parte del proceso de la Cadena de Abastecimientos que

planifica, implementa y controla el flujo -hacia atrás y adelante- y el

almacenamiento eficaz y eficiente de los bienes, servicios e información

relacionada desde el punto de origen al punto de consumo con el

objetivo de satisfacer los requerimientos de los consumidores”.

También la logística sirve como una parte importante en los procesos de

la empresa, ya que puede optimizar los costos en los procesos, con el

fin de suplantar aquellos que no generen valor en un producto y dar

paso a nuevos procesos que realmente son necesarios en la empresa

para el producto en su conjunto.

Capítulo II Marco Teórico 66

Page 53: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

b. Cadena Logística

En negocios, la logística puede tener un enfoque bien interno, bien

externo que cubre el flujo desde el origen hasta la entrega al usuario

final. En el área militar, los expertos en logística determinan cómo y

cuándo movilizar determinados recursos a los lugares donde son

necesarios. En ciencia militar, lo importante es mantener las líneas de

suministro propias e interrumpir las del enemigo y algunos dirían que se

trata del elemento más importante (puesto que una fuerza armada sin

alimentos/combustible es algo inútil).

Existen dos etapas básicas de logística:

Una optimiza un flujo de material constante a través de una red

de enlaces de transporte y de centros del almacenaje.

La otra coordina una secuencia de recursos para realizar un

determinado proyecto.

Todo ello al mínimo coste global para la empresa. Los sistemas de flujo

logístico se optimizan generalmente para una de varias metas: evitar la

escasez de los productos (en sistemas militares, especialmente referido

al combustible y la munición), reducir al mínimo el coste del transporte,

obtener un bien en un tiempo mínimo o almacenaje mínimo de bienes

(en tiempo y cantidad).

El flujo logístico es particularmente importante en la fabricación Just in

time en la cual el gran énfasis se pone en reducción al mínimo del

stock. Una tendencia reciente en grandes cadenas de distribución es

asignar estas metas a los artículos comunes individuales, más que

optimizar el sistema entero para un objetivo determinado. Esto es

posible porque los planes describen generalmente las cantidades

comunes que se almacenarán en cada localización y éstos varían

dependiendo de la estrategia. El método básico de optimizar un sistema

de estándar de distribución es utilizar un árbol de cobertura mínima de

distribución para diseñar la red del transporte, y después situar los

Capítulo II Marco Teórico 67

Page 54: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

nodos de almacenaje dimensionados para gestionar la demanda mínima,

media o máxima de artículos. Muy a menudo, la demanda está limitada

por la capacidad de transporte existente fuera de la localización del

nodo de almacenaje. Cuando el transporte fuera de un punto del

almacenaje excede su almacenaje o capacidad entrante, el almacenaje es

útil solamente para igualar la cantidad de transporte por unidad de hora

con objeto de reducir picos de carga en el sistema del transporte.

c. Objetivos Principales de Logística

La logística tiene como objetivo la satisfacción de la demanda en las

mejores condiciones de servicio, coste y calidad. Se encarga de la

gestión de los medios necesarios para alcanzar este objetivo

(superficies, medios de transportes, informática…) y moviliza los

recursos humanos como financieros adecuados.

Garantizar la calidad de servicio, es decir la conformidad con los

requisitos de los clientes, da una ventaja competitiva a la empresa.

Hacerlo a costo menor permite mejorar el margen de la empresa.

Conseguirlo garantizando la seguridad permite a la empresa evitar

sanciones pero también comunicar en temas actuales como el respeto

del medio ambiente, los productos éticos… Estos 3 parámetros

permiten explicar el carácter estratégico de la función logística en

muchas empresas (la presión del entorno crea la función). Ahora los

Directores Logísticos son miembros de los comités de dirección de las

empresas y reportan a los accionistas.

Los dominios de responsabilidad de los logísticos son largos y cubren

los niveles operacionales (ejecución), tácticos (organización de la

empresa) como estratégicos (planes estratégicos, prospectiva…)

d. Funciones del Área de Logística

Capítulo II Marco Teórico 68

Page 55: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

La función logística se encarga de la gestión de los flujos físicos

(materia, productos acabados) y se interesa a su entorno. El entorno

corresponde en este caso a:

Recursos (humanos, consumibles, electricidad) bienes

necesarios a la realización de la prestación (almacenes propios,

herramientas, camiones propios, sistemas informáticos).

Servicios (transportes o almacén subcontratados).

La función logística gestiona directamente los flujos físicos e

indirectamente los flujos financieros y de información asociados. Los

flujos físicos son generalmente divididos entre los “de compra” (entre

un proveedor y su cliente), “de distribución” (entre un proveedor y el

cliente final), “de devolución” (logística inversa).

e. La logística de compra

La logística de compra incluye la gestión de los flujos físicos, de

información y administrativos siguientes:

La planificación del aprovisionamiento a proveedores según las

previsiones de venta.

La ejecución del aprovisionamiento y de los transportes u

operaciones de importación relacionados

La gestión de la relación con los proveedores (con objetivo de la

mejora del servicio y la reducción de los costos logísticos)

f. La logística de distribución

La logística de distribución incluye la gestión de los flujos físicos, de

información y administrativos siguientes: la previsión de la actividad de

los centros logísticos.

g. El almacenamiento

Capítulo II Marco Teórico 69

Page 56: 06. Capitulo Ii_rvaa

Universidad Nacional de Trujillo Acosta & Escobedo Escuela de Ingeniería de Sistemas

La preparación de los pedidos o la ejecución de cross docking (transito)

a veces la realización de pequeñas actividades de transformación del

producto (kitting, etiquetado). El transporte de distribución hasta el

cliente traslado de mercancías de un lugar a otro con los recursos y

equipos indispensables para su acción.

h. La logística inversa

La logística inversa incluye la gestión de los flujos físicos, de

información y administrativos siguientes: recogida del producto en las

instalaciones del cliente puesta en conformidad, reparación,

reintegración en stock, destrucción, reciclaje y almacenaje.

i. Principales indicadores, KPI de la logística

Los indicadores deben permitir mesurar el rendimiento de las varias

organizaciones (proveedores, transportes, almacenes reguladores,

servicios logísticos), gestionar la actividad en relación con los objetivos

principales del oficio (nivel de servicio, stock, costo, productividad).

Capítulo II Marco Teórico 70