06. Capitulo Ii_rvaa
-
Upload
carmen-escobedo -
Category
Documents
-
view
15 -
download
0
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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 >>
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
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
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 >>
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
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
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
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
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
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
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
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
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
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