Utilización del DFDD y redes de petri para la especificación y simulación de sistemas de comercio electrónico
Texto completo
(2) \~, sq~ 13 MAR 2003 '.
(3) INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY. .. de Monterrey CAMPl'S ClER:\AVACA. Utilización del DFDD y Redes de Petri para la especificación y simulación de Sistemas de Comercio Electrónico . Israel Sánchez Ramos. Sometido al Programa de Graduados en Informática y Computación en cumplimiento parcial con los requerimientos para obtener el grado de:. Maestría en Administración de las Tecnologías de Información. Asesor Dr. Juan Frausto Salís Cuernavaca, Morelos Enero 2003. /.
(4) Utilización del DFDD y Redes de Petri para la especificación y simulación de Sistemas de Comercio Electrónico Presentada por: ISRAEL SÁNCHEZ RAMOS. Aprobada por:. rausto Solís Profesor Investiga r ITESM Campus Cuemavaca í\sesor de Tesis. Dr. Francisco José Ca argo Saotacruz Director de lnfonnática ITESM Campus Estado de México Revisor de Tesis. rbaro Ferro Castro Profesor de Ciencias Computacionales ITESM Campus Ciudad de México Revisor de Tesis.
(5) A Dios, que me ha dado más de lo que merezco.. A mis Padres, quienes han hecho de mi todo lo que soy y a quienes debo todo ....
(6) A ti Maki que eres lo mejor que me ha pasado, gracias por todo lo que me has permitido vivir a tu lado ... TE AMO A Alfredo, Fernando, Héctor y Arturo a quienes considero familia, gracias por mantenerme con los pies en la tie"a y por enseñarme el verdadero significado de la palabra "amigo" ... Los quiero y extraño, espero que la vida no nos pueda separar. A mi hermana Miriam, para quien he tratado de ser un buen ejemplo y pocas veces lo logro ... A Antonio y Arturo Sánchez, que son lo más parecido a un hermano que la vida me ha dado ... A Rau/, Gise/y, Ismael, Ne/son, Melissa y Mayra, quienes me han soportado este último año y medio ... A Nancy, quien siempre me ha brindado su apoyo a pesar de la distancia ... Al Dr. Frausto quien nunca me negó su apoyo desde el momento en que lo conocí... A todos los que he conocido a lo largo de mi vida estudiantil y que me han hecho una mejor persona, que por razones de espacio no me es posible mencionarlos .... A todos Uds. GRACIAS....
(7) g<@iltllndo el mtl/ll/ffi de eAtd ~ , Je haee h ~ (',MI, h 1(U} wdamá, e«:ÍÁI,(}, • •. H.
(8) El comercio electrónico aprovecha la tecnología de Internet para llevar a cabo el intercambio de bienes y servicios; y con el crecimiento exponencial que ha sufrido el uso de la World Wide Web las transacciones en línea se han convertido en algo necesario para que las empresas sean competitivas en el nuevo milenio. El problema que se tiene es que por ser una tecnología de reciente creación la Ingeniería de Software existente ofrece diversas metodologías para especificar sistemas de comercio electrónico, pero ninguna totalmente adecuada. Una buena especificación de un sistema de comercio electrónico, como de cualquier otro tipo de sistema, es primordial porque de no contar con ella se pueden generar gastos innecesarios al momento de dar mantenimiento al sistema y/o durante el proceso de desarrollo, con la obvia consecuencia de pérdida de tiempo y dinero. El modelo desarrollado a lo largo de éste trabajo, nombrado como CPN-DFDD, sirve para especificar sistemas de comercio electrónico de manera que la relación costo/beneficio sea la más adecuada, pues se utiliza el Diagrama de Flujo de Datos Distribuido para modelar una vista general del sistema, mientras que con Redes de Petri de Color se modelan las partes criticas del sistema. Además de esto, aprovechando las facilidades que brindan las herramientas computacionales de las Redes de Petri, se simulan las partes del sistema modeladas con CPN, ya que si bien simular en la práctica nunca puede ser suficiente para probar la exactitud de un sistema, si es una de las mejores aproximaciones que se pueden tener..
(9)
(10) Capítulo 1: Introducción .................................•..................................... 1 1.1 Antecedentes .................................................................................................... 2 1.2 Planteamiento del problema ........................................................................... 3 1.3 Objetivos de la tesis ....................................................................................... 4 1.4 Alcances y limitaciones ................................................................................... 4 1.5 Estvuctura de la tesis ..................................................................................... 5. Capítulo 2: Sistemas de comercio electrónico ...................................... 7 2.1 El comercio electrónico .................................................................................. 8 La evolución del comercio electrónico La tienda virtual 2.2 Las empresas y el comercio electrónico ...................................................... 12 Implicaciones estratégicas del comercio electrónico El diseño de sistemas de comercio electrónico El comercio electrónico y la Ingeniería de Software 2.3 Sistemas de comercio electrónico ............................................................... 14 El comportamiento de los Sistemas de Comercio Electrónico • Implicaciones del comportamiento de los sistemas de comercio electrónico. Capítulo 3: Métodos de especificación para comercio electrónico ••••• 17 3.1 El proceso de Ingeniería de Software ......................................................... 18 Análisis de requerimientos: el primer paso Modelado Modelación de paradigmas Especificación 3.2 Métodos de especificación ............................................................................ 24 [)eficiencias de los métodos informales ,Por qué usar los métodos formales? El problema con el Comercio Electrónico Concepto de ·sistema• 3.3 Diagramas de Flujo de Datos ........................................................................ 28 Creación de modelos con t>Ft>'s Análisis del método 3.4 Diagramas de Flujo de Datos Distribuido ................................................... 30 Análisis del método 3.5 Lenguaje Lotos ................................................................................................ 31 Especificación de sistemas con Lotos Proceso de diseño de sistemas con Lotos Análisis del método.
(11) 3.6 Lenguaje de Modelado Unificado (UML) ..................................................... 33 Modelación de la parte dinámica del sistema Análisis del método 3.7 Redes de Petri ................................................................................................. 36 Definición Modelado de Sistemas con Redes de Petri Ventajas y beneficios de utilizar Redes de Petri Diferencia de las Redes de Petri y los demás métodos al modelar el comportamiento dinámico 3.8 Elección de un método para modelar sistemas de e-commerce ............... 40. Capítulo 4: Diagrama de Flujo de Datos Distribuido .......................... 43 4.1 Diagrama de Flujo de Datos ........................................................................... 44 Definición Elementos notacionales del DFD Niveles del DFD La ambigüedad en el DFD Normas sintácticas del DFD Convenciones para la denominación de componentes de un DFD Reglas de construcción del DFD Ventajas y desventajas del DFD 4.2 Diagrama de Flujo de Datos eXtendido ....................................................... 52 Reglas de construcción del DFDX 4.3 Diagrama de Flujo de Datos Distribuido ..................................................... 55 Lógica Temporal de Allen Ejemplos de especificaciones con DFDD Ejemplos de Aplicación del Algoritmo de Propagación Reglas de construcción de los DFDD. Capítulo 5: Redes de Petri .................................................................... 63 5.1 Red de Petri ...................................................................................................... 64 Estructura de una red de Petri Representación gráfica Marcas de las Redes de Petri Ejecución de una Red de Petri Ejemplo del comportamiento de una Red de Petri Tipos de ejecuciones con Redes de Petri 5.2 Redes de Petri de Color ................................................................................. 72 Redes de Petri de Color y Redes Blanco y Negro El conjunto Color Partes de una CPN.
(12) ~, '.~·· ~--;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;¡¡¡¡;¡¡;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;;¡¡;¡;¡¡;;.l.nd_i_ce. Representación gráfica de las CPN Definición Formal de las CPN Ejecución de las CPN Recomendaciones para modelar sistemas con CPN Recomendaciones para graficar Modelos de Redes de Petri. Capítulo 6; Especificación del caso base con DFDD............................ 83 6.1 Tienda virtual ................................................................................................... 84 6.2 Introducción a la especificación del caso base .......................................... 84 Alcance del sistema. 6.3 Descripción del sistema ................................................................................. 86 Interfaces de hardware Interfaces de software Características del usuario Limitaciones. 6.4 Requerimientos de funcionamiento del caso base ...................................... 89 Desple.gar menú Buscar/Navegar a través de los artículos El proceso ºSistema de procesamiento de pedidos• Consultar Estado de pedido Agregar Registros del Cliente Realizar compra Proceso Cobros Procesamiento del pedido. 6.5 Conclusiones acerca de la especificación con DFDD ................................. 100. Capítulo 7: Especificación de las partes criticas del caso base con CPN .... 102. 7.1 Introducción ..................................................................................................... 103 7.2 Vista General de la especificación con CPN ................................................ 103 7.3 El punto de partida ......................................................................................... 106 7.4 Solicitar Estado de Pedido ............................................................................ 107 7.5 Ingresar datos de compra y búsqueda de cliente ...................................... 107 7.6 Consulta de existencias en inventario.......................................................... 109 7.7 Solicitud de autorizacion de crédito al Banco ............................................ 110 7.8 I\Jegación de crédito ....................................................................................... 111 7.9 Procesamiento final del pedido ..................................................................... 112 7.10 Conclusiones acerca de la especificación con CPN ................................... 114.
(13) Capítulo 8: Design/CPN y simulación de las partes criticas del caso base .115 8.1 Introducción ..................................................................................................... 116 8.2 Design/CPN ...................................................................................................... 116 Interfaz principal de Design/CPN Tipos de objetos en Design/CPN Representación gráfica Restricciones de sintaxis. 8.3 Menús de Design/CPN .................................................................................... 119 8.4 Lenguaje CPN ML ............................................................................................ 121 Declaración del conjunto color Funciones Variables Constantes Verificación de sintaxis. 8.5 La herramienta de simulación de Design/CPN ............................................ 125 Relación entre el editor y el simulador Tipos de simulaciones. 8.6 El proceso de simulación como ventaja competitiva en la especificación de software............................................................................................................ 126 • Ventajas Desventajas. 8.7 Consideraciones para simular las partes críticas del caso base .............. 128 8.8 Simulación del Sistema de Procesamiento de Pedidos .............................. 129 Ejemplo de simulación de un paso seleccionado arbitrariamente. Capítulo 9: Conclusiones y trabajo futuro ........................................... 134 9.1 Conclusiones ...................................................................................................... 135 9.2 Trabajo Futuro ................................................................................................ 136. Bibliografia ............................................................................................ 137 Apéndice A-Tabla de Transitividad de Allen .................................... 141 Apéndice B - Multiconjuntos ............................................................... 143. Lista de Figuras ..................................................................................... 147.
(14) '. •.· ~ ¡ J;¿. "La Ingeniería de Software no ofrece una metodología especialmente diseñada para sistemas de comercio electrónico ya que es una tecnología de reciente creación... ".
(15) $._-----------------------------------------------·__. rr_,t,_~a_d_u_cc-io_·n. 1.1 ANTECEDENTES El comercio electrónico aprovecha la tecnología de Internet para llevar a cabo el intercambio de bienes y servicios; y con el crecimiento exponencial que ha sufrido el uso de la Worl~ Wide Web las transacciones en línea se han convertido en algo necesario para que las empresas sean competitivas en el nuevo milenio. El problema que se tiene es que por ser una tecnología de reciente creación la Ingeniería de Software existente ofrece diversas metodologías para especificar sistemas de comercio electrónico, pero ninguna totalmente adecuada. Una buena especificación de un sistema de comercio electrónico, como de cualquier otro tipo de sistema, es primordial porque de no contar con ella se pueden generar gastos innecesarios al momento de dar mantenimiento al sistema y/o durante el proceso de desarrollo, con la obvia consecuencia de pérdida de tiempo y dinero. Las 'Redes de Petri han destacado como una manera simple y poderosa para especificar sistemas, pues al estar enfocadas tanto a estados como a acciones, el usuario puede determinar libremente si en un momento determinado se enfoca en especial a alguno de ellos. Otra herramienta adecuada para la especificación de requerimientos es el DFDD (Diagrama de Flujo de Datos Distribuido) debido a la facilidad de uso y a la intuitividad intrínseca que presenta. Gracias a estas características fue elegido como base para realizar la fusión entre las características formales e informales, esto es, aprovechar las características de los lenguajes formales para dejar a un lado la ambigüedad, pero sin dejar de tener la sencillez de comprensión y comunicación de los lenguajes informales [Torres01]. La simulación es otra parte esencial del desarrollo de sistemas, pues con ella se pueden anticipar errores en tiempo de ejecución y probar los sistemas en un medio controlado para medir su respuesta a ciertas situaciones que se pudieran presentar;.
(16) ...•. -¡:, o. ~~: ~¡. 1. Introducción ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡.. ahorrándose con esto los costos excesivos que pudiera generar un mal sistema una vez que se ha implantado.. 1.2 PLANTEÁMIENTO DEL PROBLEMA Los sistemas de comercio electrónico muestran una serie de características que requieren un modelado o representación especial, las principales son [Torres01]: ) Son sistemas altamente interactivos y sujetos a las decisiones de elección del usuario. ) Son sistemas donde la duración de los procesos se da en intervalos y no como puntos fijos de tiempo. Estos aspectos temporales pueden variar desde la certeza de las relaciones entre los procesos, hasta la · incertidumbre del orden de ocurrencia de eventos y la duración de los mismos. ) Son sistemas altamente concurrentes. Aunado a esto, los sistemas de comercio electrónico son un área de reciente creación y aún no existe suficiente investigación en éste campo, lo que provoca que no exista una metodología que se ajuste de manera adecuada a los sistemas basados en Internet. Con todo esto surge la problemática de encontrar un método eficiente para. especificar sistemas de comercio electrónico, pues se necesitan especificar procesos donde se involucre el tiempo, manejar una gran cantidad de estos procesos ejecutándose concurrentemente y además de ser un método sencillo de entender. Para conseguir estas características tan especiales se requiere de la combinación de diversos métodos existentes; por un lado se tienen las Redes de Petri Coloreadas que son especialmente útiles para especificar sistemas concurrentes; mientras que por otra parte se tiene a los Diagramas de Flujo de Datos que por su sencillez de.
(17) ... -. •. -In-t-ro-d-u-cc-io¡¡¡¡¡' n. ¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡1¡¡¡¡¡¡.. comprensión y la intuitividad de su uso han sido muy utilizados para especificar sistemas computacionales, sin embargo, resulta muy tediosa su aplicación cuando se especifican sistemas complejos, como son los que conllevan concurrencia.. 1.3 OBJETIVOS DE LA TESIS Los objetivos que pretende alcanzar la elaboración de esta tesis dada la problemática planteada son: 1. Desarrollar un modelo de especificación para sistemas de comercio electrónico utilizando Redes de Petri de Color y Diagramas de Flujo de Datos Distribuido. 2. Especificar con el modelo desarrollado un caso de estudio de un sistema de comercio electrónico, identificar sus partes críticas y modelarlas con Redes de Petri de Color.. 1.4 ALCANCES Y LIMITACIONES 1.4.1 Alcances ) Analizar distintos métodos de especificación para comercio electrónico y mostrar sus principales ventajas y desventajas.. > Mostrar las características principales de los Diagramas de Flujo de Datos Distribuido.. > Mostrar las características principales de las Redes de Petri de Color. ) Mostrar las características principales del programa Design/CPN y del lenguaje CPN-ML..
(18) '• :, f. -ln-t-ro-d-u-cc-,o-·n. ~·¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡¡¡¡.. ) Simular con Redes de Petri las partes críticas identificadas del caso base y verificar si la ejecución es adecuada. ) Encontrar una manera correcta de realizar especificaciones de requerimientos formales haciendo uso de Redes de Petri de Color y Di,agramas de Flujo de Datos en sistemas de comercio electrónico.. 1.4.2 Limitaciones ) No se desarrollará un asistente computacional para el modelo de especificación desarrollado, de manera que su implantación será manual. ) Se utilizará el lenguaje CPN-ML para representar y simular las partes del modelo de especificación desarrolladas con Redes de Petri.. 1.5 ESTRUCTURA DE LA TESIS Los primeros cinco capítulos podrían ubicarse como el marco teórico de la tesis. En el Capítulo 2 se describen las características que hacen de los Sistemas de Comercio Electrónico tan difíciles de especificar y el por qué la mayoría de las empresas desean implementarlos. El Capítulo 3 ubica a la especificación y el modelado dentro del proceso de Ingeniería de Software, además de que se realiza un análisis de diversos métodos de especificación de sistemas mostrando las ventajas y desventajas de cada uno. Los Capítulos 4 y 5 muestran las características principales del Diagrama de Flujo de Datos Distribuido y las Redes de Petri respectivamente. En el Capítulo 6 se especifica el caso base utilizando el Diagrama de Flujo de Datos Distribuido y se identifican las partes críticas del sistema que se especificarán con Redes de Petri de Color a lo largo del Capítulo 7..
(19) ,i________ ·.,. ¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡l_.r_n_tr_o_du_c_c,¡¡¡¡¡¡¡·ón. En el Capítulo 8 se hace una breve descripción del programa Design/CPN versión 2.0 que se utiliza para simular la ejecución de Redes de Petri, además de que se muestran los resultados de simular las partes críticas del caso base. El Capítulo 9 presenta las conclusiones que se obtuvieron y el trabajo futuro que se puede g~erar a partir de ésta tesis. El Apéndice A muestra la Tabla de Transitividad de Allen, necesaria para el análisis de consistencia temporal del DFDD. El Apéndice B lista las principales características y propiedades de los multiconjuntos, sin los cuales no es posible entender las Redes de Petri. Al final del presente trabajo se muestra la bibliografía consultada para realizar esta tesis.. 6.
(20) "El comercio electrónico es un potente químico socioeconómico que reacciona con cualquier cosa que lo toca" - Raví Ka/a/cota..
(21) 8. 1 ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡... ¡¡¡¡¡¡. ·-5-'s-t-er.-:-.'-ª-s-'J-e-C-º-m-e-rc-1o¡¡¡¡¡¡¡¡¡¡El-e-ct-ro-'n-ic_o. 2.1 EL COMERCIO ELECTRÓNICO* Internet ha resultado ser el fenómeno social y económico más importante a partir de la segunda mitad de la década de los 90's. Dentro de los mercados financieros abundan historias de éxitos fenomenales de inversiones realizadas en un solo día, nadamás porque una empresa anexó.coma su modelo comercial; se han dado casos de compañías cuyas acciones duplicaron su valor en un día cuando se anunció que se iba a crear su división de Internet [CohanOO]. Son muchos los factores que han influido para que se den dichos fenómenos, dentro de éstos destaca el hecho de que actualmente alrededor de 300 millones de personas en todo el mundo hacen uso de Internet, lo cual demuestra el enorme potencial que esta red ha alcanzado [Pérez01]. Int~rnet tiene muchos usos pero sin lugar a dudas el que más destaca es el comercio electrónico o e-commerce (definido como el intercambio de bienes y servicios a través de Internet) cuyo crecimiento ha sido exponencial, principalmente porque permite a las empresas ser más eficientes y más flexibles en sus operaciones internas, trabajar más estrechamente con sus suministradores, dar mejor respuesta a las necesidades y expectativas de sus clientes debido a que es un canal de comunicación de dos vías, pero sobre todo: se tiene acceso a un mercado global [Avalos01] [CohanOO]. Es tanto el impacto del comercio electrónico que Ravi Kalakota lo define como ·un potente químico socioeconómico que reacciona con cualquier cosa. que lo toca•[Kalakota01]. El comercio electrónico incorpora •todas las transacciones de valor que. involucren la transferencia de información, productos, servicios o pagos por medio de redes electrónicas• [CohanOO]. El comercio electrónico se refiere generalmente a todas las formas de transacciones relacionadas con las actividades comerciales (hacer. • En el presente trabajo se utiliza ·comercio electrónico• y ·e-commerce" como sinónimos..
(22) cíli.-t: 1fYJ9·. 2 . .5,stemas de Comercio Electrónico ¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡. negocios electrónicamente), incluyendo organizaciones e individuos, que están basadas en el proceso y transmisión de datos digitalizados, como son texto, sonido e imagen". Esto involucra muchas actividades diversas, dentro de las que destacan: negociación electrónica de bienes y servicios, envío de componentes digitales en línea, transferencia electrónica de fondos, negociación de segmentos electrónicos, conocimientos de embarque electrónicos, acciones comerciales, diseño e ingeniería cooperativa, fuentes en línea, compras, mercadeo directo al consumidor y servicio de post-venta.. 2.1.1 La evolución del comercio electrónico La forma de hacer negocios de forma virtual está cambiando a los negocios físicos y tangibles a los que el cliente y empresa estaban acostumbrados hace unos años, pues. las empresas ven a los negocios en línea como una oportunidad -para destacar, obteniendo así mayor presencia en el mercado y por lo tanto mayores ganancias económicas [Avalos01]. La perspectiva de hacer negocios de manera virtual también entusiasma a los medios de comunicación y a los políticos. Por un lado el comercio electrónico despierta tal interés en los medios de información que los reportajes sobre el tema aparecen en los noticiarios y dentro de las primeras planas todos los días. Por su parte los políticos consideran que el comercio electrónico es una manera de generar empleos y probables ingresos fiscales (esto porque el e-commerce estimula el crecimiento de la economía, al tiempo que mantiene la inflación en niveles bajos) [CohanOO]. Pero a pesar del nivel alcanzado actualmente por el comercio electrónico su impacto ha ocurrido en fases [Kalakota01]. En su primera fase (1994-1997), el ecommerce estaba a punto de despegar: asegurándose de que todos tuvieran un sitio Web, encontrando la demanda para cada compañía (grande o pequeña) y haciendo que éstas tuvieran al menos ·algo" en Internet. Las personas no estaban seguras de qué estaban haciendo, pero sabían que debían tener una presencia en línea..
(23) -d-e-C-º-m-e-rc-,o¡¡¡¡¡¡¡¡El-e-ct-ro-·n-ic_o. $¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2¡¡¡¡¡¡.¡¡¡¡¡¡S¡¡¡¡¡¡,s¡¡¡¡¡¡t¡¡¡¡¡¡em¡¡¡¡¡¡¡¡a¡¡¡¡¡¡s. La segunda fase (1997-2000) del comercio electrónico fue acerca de las ªtransaccionesH (comprar y vender sobre medios digitales). El enfoque de esta fase fue en los flujos y ganancias totales, por ejemplo: el hacer coincidir a compradores y vendedores que nunca se hubieran encontrado en el pasado. Algunas veces se trató sólo de realizar transacciones que se hubieran podido hacer a través del comercio tradicional (por órdenes de compra en papel) y decir que ese negocio se hizo en Internet, aunque el significado de ese cambio haya sido casi trivial. En esta fase los anuncios eran acerca de obtener un mayor flujo a toda costa. Hoy en día el comercio electrónico está entrando en su tercera fase (2000-l?) con un enfoque en cómo Internet puede impactar la rentabilidad, y dicha rentabilidad no es acerca de incrementar las ganancias brutas sino de incrementar los márgenes totales. Algunos autores llaman a esta fase ·e-business" e incluye todas las aplicaciones y procesos que permiten a una empresa brindar una transacción comercial. Así el com~rcio electrónico se ha convertido en una estrategia total que redefine los viejos modelos de negocios (con la suma de la tecnología) para maximizar el valor del cliente y las ganancias.. 2.1.2 La tienda virtual El comercio electrónico es un término genérico para describir la manera en que las organizaciones negocian electrónicamente. Usa un grupo de tecnologías para comunicarse con clientes u otras compañías, para llevar a cabo investigación o búsqueda de información o para conducir transacciones mercantiles. En todo caso el Internet es el más conocido de ellos, otros incluyen intranets, intercambio electrónico de datos y tarjetas inteligentes. Para ubicar al comercio electrónico se debe primero ubicar a los tres componentes del mercado: agentes, productos y procesos; dichos elementos pueden ser físicos o virtuales dentro de ésta modalidad de intercambio de bienes. Las ocho combinaciones posibles de agentes físicos o virtuales, productos y procesos, permiten. ,,,.
(24) .,. 8 ~t'. ;¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2¡¡¡¡¡¡.-5-,s-t-em¡¡¡¡¡¡¡¡¡¡¡as¡¡¡¡¡¡¡¡¡¡¡d¡¡¡¡¡¡e¡¡¡¡¡¡C¡¡¡¡¡¡o¡¡¡¡¡¡m¡¡¡¡¡¡e¡¡¡¡¡¡rc-'-º-E-/e-c-tr-ó-n,;;.·co. la identificación de áreas de comercio tradicional, así como áreas principales donde todos los tipos de servicios y procesos comerciales tienen el potencial de convertirse en productos digitales intercambiados en una red digital. En la Tabla 2.1 se muestran éstas posibles combinaciones. El tipo de comercio electrónico que más ha proliferado entre las empresas (y sobre el cual se enfocará el presente trabajo) es el que incluye agentes físicos que venden un producto de manera virtual o digital, lo que normalmente es conocido como ªtienda virtuales• y se clasifica como B2C (Business to consumer) [Kalakota01]. Este canal de venta ofrece virtualmente todo tipo de productos, desde libros, discos compactos, artículos de oficina, boletos de avión, etc.. AGENTE (compradores,. '. V endedores, intermediarios). i. Físico. !. PRODUCTO. PROCESO. (bienes intercambiados). (interacción entre agentes). Físico. 1. Físico 1. ' i. Digital. Físico Digital. !. Digital. i. 1 1. 1. Digital. Físico. 1. Digital. 1. ' i. !. Físico Digital. Físico 1. Digital. Digital. Venta en línea y despacho de productos digitales Piso de intercambio de bienes. 1. 1. Digital. 1. Físico 1. 1. I Venta de productos digitales en stock .. 1. 1. Digital. Ventas en línea para productos físicos (Tiendas virtuales). 1. 1. 1. Digital. Físico 1. i. 1. 1. 1. Físico. Comercio tradicional 1. 1. Físico. 1. EJEMPLO DE TIPO DE COMERCIO. 1. i! i. Físico. i. ! 1. ! l. Piso de intercambio de stock Oferta en línea de productos físicos. 1 1. Digital 1. Principio de comercio electrónico: intercambio de productos digitales en una base electrónica con interacciones electrónicas.. Tabla 2.1 - Componentes físicos y digitales del comercio. 11.
(25) ·•. ' "' t. -. s-te-m-ª-s-"'-deiiiiiiiiiiiC-om-,-er-c-,o-E-1-ec-t-ro-·n-ic-o. ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2¡¡¡¡¡¡¡.-5-'. Dentro del B2C una transacción típica de comercio electrónico abarca tres pasos generales [CohanOO]:. 1. Una persona utiliza el Web para recopilar información que le ayude a decidir qué producto o servicio comprar. 2. La persona transmite por Web la información de pago (usualmente el número de su tarjeta de crédito) al vendedor. 3. El vendedor procesa la información de pago y entrega el producto o servicio al cliente. Cabe mencionar que el comercio electrónico tiene un valor agregado no siempre visible, que beneficia tanto a las empresas como a los consumidores. Por un lado las tiendas virtuales proporcionan a los clientes un vasto mundo de información, la cual permite comparar precios, productos y/o servicios. Por su parte las empresas por cada transacción realizada pueden convertir la información en conocimiento, pues obtienen datos importantes como el perfil del cliente y sus preferencias de compra, lo que les puede ayudar a mejorar sus relaciones con los compradores (CRM) [AvalosOl]. Dentro de la modalidad de B2C, se encuentran los negocios puramente virtuales de las llamadas empresas .COM, es decir las compañías que nacieron en Internet y no tienen presencia física en el mundo real (por ejemplo Amazon). Además existen negocios reales que crean sitios Web como otro punto de venta.. 2.2 LAS EMPRESAS Y EL COMERCIO ELECTRÓNICO Ante todas las ventajas competitivas que el comercio electrónico puede brindar a la organización, las empresas no pueden rezagarse y se han dedicado a la implantación de sistemas de e-commerce como parte integral de su estrategia; sin embargo, el que la implementación de dichos sistemas llegue a un término exitoso no es cosa fácil pues son muchos los factores involucrados. 12.
(26) ~,.~if.i ~~. 2. Sistemas de Comercio Electrónico ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡¡¡¡¡¡;¡¡¡. Contrario a lo que se pudiera pensar, el desarrollo y utilización de las aplicaciones de Internet se ha ganado la reputación de ser rápido y no atado a los sistemas y las metodologías. Desafortunadamente, como las herramientas y los requerimientos impuestos en dichos sistemas de comercio electrónico se han vuelto más complejos, el alcance del proyecto y el presupuesto se han disparado dramáticamente. Las necesidades de un sitio de comercio electrónico cruza múltiples límites departamentales (de ventas a marketing, a legal, a entregas, a manejo del producto y finanzas) y todos esos grupos necesitan ser partícipes en el proyecto de ecommerce [Ayers02].. 2.2.1 Implicaciones estratégicas del comercio electrónico Desde el punto de vista estratégico se debe tomar en cuenta que una idea de negocio como es el comercio electrónico, respaldada por el uso imaginativo de la tecnología,· solamente funcionará si se tienen las herramientas y una infraestructura para operarlas. La introducción al comercio electrónico necesita de nuevas herramientas y con toda probabilidad, alternativas para el modo de hacer negocios. La organización necesita estar segura de que puede realizar los cambios con éxito a los nuevos canales de ventas y también que su administración y capacidad de producción pueden responder a tiempo a las demandas de un canal electrónico de ventas [Avalos01].. 2.2.2 El diseño de sistemas de comercio electrónico Diseñar las aplicaciones que van a ·dar la cara" al cliente en vez de diseñar aplicaciones internas sigue siendo nuevo para la mayoría de las organizaciones. No sólo la interfaz necesita ser funcional, también se necesita que sea visualmente atractiva. El cliente virtual, ya sea 828 o 82C, sólo visitará repetidamente el sitio Web por un número limitado de razones [Ayers02]: ¡.i.. El cliente virtual ahorra tiempo 13.
(27) ~, ...;,. .;.·;·. <·. ~. ". 2. Sistemas de Comercio Electrónico ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡. .. ,. El cliente virtual ahorra dinero ) Los productos y servicios sólo están disponibles vía Web. ) Comparación de compras. Un reporte reciente del ªUSA TodaY- menciona que el 60% de las transacciones de compra son abandonadas antes de presionar el botón de compra. Las principales razones citadas incluyen: precio incorrecto, falta de ofertas especiales, no existen preguntas de servicio al cliente y en general: incertidumbre. Duramente esto es el estándar que acarrean los errores de software (bugs) y las tecnologías que ofrecen un lento desempeño [Ayers02].. 2.2.3 El comercio electrónico y la Ingeniería de Software Aunado a todo lo anterior, los sistemas de comercio electrónico presentan un comportamjento muy especial que la Ingeniería de Software no ha podido cubrir totalmente. En la siguiente sección se muestra una descripción de dicha comportamiento.. 2.3 SISTEMAS DE COMERCIO ELECTRÓNICO Los sistemas de comercio electrónico muestran una serie de características que requieren una especificación y un modelado o representación ªespecial• por ser sistemas altamente interactivos, concurrentes y sujetos a las decisiones de elección del usuario. En otras palabras, son sistemas donde la duración de los procesos se da en intervalos y no como puntos fijos de tiempo (y además, varios usuarios pueden encontrarse ejecutando el mismo proceso). Estos aspectos temporales pueden variar desde la certeza de las relaciones entre los procesos, hasta la incertidumbre del orden de ocurrencia de eventos y la duración de los mismos [TorresOl].. ,~.
(28) s·. -S-is-te¡¡¡¡m¡¡¡¡a¡¡¡¡s¡¡¡¡d¡¡¡¡e¡¡¡¡¡¡¡C¡¡¡¡om-,-er-c-1o-E-1-ec-t-ro-·n-ie-o. ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2¡¡¡¡.. Aunado a todo lo mencionado anteriormente, al ser el comercio electrónico una tecnología de reciente creación la Ingeniería de Software existente no ofrece un método de especificación creado solamente para sistemas de este tipo, tan sólo se tienen diversas aproximaciones pero no destacándose una en particular, ninguna que compense la relación costo/beneficio. Este punto es crítico, pues una buena especificación de un sistema de comercio electrónico, como de cualquier otro software, es primordial porque si no se realiza de manera adecuada se pueden generar gastos innecesarios al momento de la implantación o durante el mantenimiento al sistema, dándose incluso casos extremos en los que se debe desechar todo el trabajo avanzado con la obvia consecuencia de pérdida de tiempo y dinero.. 2.3.1 El comportamiento de los Sistemas de comercio electrónico [TorresOt] En sistemas de comercio electrónico a los usuarios les toma diferentes lapsos de tiempo ejecutar alguna actividad, sin que el sistema lo pueda controlar o determinar. Para un sistema de e-commerce no es posible conocer o definir cuánto tiempo durará comprando un usuario determinado y cuanto tiempo otro, cada uno tiene necesidades diferentes y en base a esa necesidad o hábitos de interactuar con el sistema será la forma en que el cliente se mueva dentro de él C-navegue•), por tal motivo, no es posible especificarla como un punto fijo de tiempo. Tampoco se puede especificar cuánto tiempo le tomará al sistema responder sobre una actividad o acción que ha ejecutado el usuario, esto porque se encuentra inmerso en una red sujeta a características físicas (como el tipo de hardware del equipo que se utiliza), características de transmisión (tráfico de red, velocidad de la red), etc. generando con ello una imprecisión en la especificación temporal de los sistemas.. i .'.
(29) ~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2• ._s_¡s_te_m_a_s_d_e_C_o_m_,e_~_ci_o_E_/e_ct_r_ón_ic¡¡¡¡¡¡o. 2.3.2 Implicaciones del comportamiento de los sistemas de comercio electrónico Ante el funcionamiento en base a eventos y reacciones del usuario de los sistemas de comercio electrónico, son pocos los métodos de especificación que permiten denotar éste comportamiento y la mayoría de ellos no resultan ser adecuados para la mayoría de las organizaciones debido al alto costo que representa el capacitar a los ingenieros de software en el difícil uso de dichos métodos. En el siguiente capítulo se analizan varios métodos de especificación que soportan el diseño de sistemas de comercio electrónico, de manera que se pueda encontrar el más adecuado con respecto al costo/beneficio.. 16.
(30) li. .. .. __. .. ~de~~ cgMJle/}'eÚJ Y5~teo "Ante el funcionamiento en base a eventos y reacciones del usuario de los sistemas de comercio electrónico, son pocos lo métodos de especificación que permiten denotar éste tipo de comportamiento... ". l.
(31) e-·. º-n-p-ª-r-a-co¡¡¡¡¡m¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡er-º-º-e-1e-c-tr¡¡¡¡¡ó¡¡¡¡¡m¡¡¡¡¡¡¡¡¡co. 8¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡3¡¡¡¡¡.-"'-' to¡¡¡¡¡d¡¡¡¡¡o¡¡¡¡¡s¡¡¡¡¡d¡¡¡¡¡e¡¡¡¡¡e¡¡¡¡¡sp-e-c-1 fi-cª-c-1. 3.1 EL PROCESO DE INGENIERÍA DE SOF1WARE El papel global del software en un sistema para una empresa es identificado durante la fase del análisis, pero es necesario considerar una visión lo más profunda posible del papel de dicho software para poder comprender los requerimientos específicos que deben ser considerados en la construcción de un sistema de alta calidad.. El análisis es importante porque si no se realiza de manera adecuada es. posible que se cree una solución ªelegante• que resuelva incorrectamente el problema. El resultado de éste mal análisis es tiempo y dinero perdido, tal vez frustración personal y seguramente un cliente descontento y quizás perdido [Pressman02]. El análisis y la especificación de los requerimientos a simple vista parece una tarea relativamente sencilla, sin embargo en este caso las apariencias engañan.. 3.1.1 Análisis de requerimientos: el primer paso El análisis de los requerimientos es una tarea de la ingeniería de software que cubre el hueco entre la definición del software a nivel sistema y el diseño del software. El análisis de requerimientos permite al ingeniero de sistemas especificar las características operacionales del software (función, datos y rendimientos), indica la interfaz del software con otros elementos del sistema y establece las restricciones que debe cumplir el software. El análisis de requerimientos del software puede dividirse en cinco áreas de esfuerzo [Pressman02]:. 1. Reconocimiento del problema 2. Evaluación y síntesis. 3. Modelado 4. Especificación 5. Revisión. IS.
(32) ._rv_,_éc_c_d_os_·_;,=,___=_sr:_·~_e_:fi_,c_ac_,_ºn_._P_ª_ra_c._·-o_m_"e_r_c,_·o_e_le_c_tr_o_·n_ic_o. ~ · ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡J¡¡¡¡.,. Ingeniería de sistemas de. Figura 3.1 El análisis como puente entre la ingeniería y el diseño de software [Pressman021. .. La evaluación del problema y la síntesis de solución son el ·área principal de esfuerzo en el análisis, pero antes de que los requerimientos puedan ser analizados, modelados o especificados deben ser recogidos a través de un proceso de obtención.. La técnica de obtención de requerimientos más usada es llevar a cabo una reunión o entrevista preliminar, donde el cliente debe dejar en claro lo que desea del sistema a desarrollar, y el analista debe tratar de reunir toda la información posible que pueda llegar a requerir del cliente. El gran problema de esta etapa es que los clientes y los ingenieros de software a menudo tienen una mentalidad inconsciente de ·nosotros y ellos•, así que en vez de trabajar como un equipo para identificar y refinar los requerimientos, cada uno trata de definir su •territorio• y la comunicación que se obtiene con este obstáculo no es la adecuada, resultando en un análisis inconcluso o tal vez hasta inadecuado. Esta deficiencia en la comunicación debe ser resuelta, pues de no ser así las pérdidas de tiempo y dinero pueden resultar estratosféricas, pues entre más se tarde dentro del proceso de ingeniería de software en identificar un problema o tal vez un.
(33) ...... , _d_e_e_sp_e_c_1fi_c_ac_1º-·n¡¡¡¡¡¡¡¡¡¡.oa_r_a_c_o_m_e_rc_¡o¡¡¡¡¡¡¡¡¡¡et_e_ct_ro_·n_ie-o. $¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡3¡¡¡¡._M_é_to_d_o_s. mal análisis, las pérdidas crecerán casi exponencialmente, como se puede notar en la Tabla 3.1.. ETAPA. COSTO DE REPARACIÓN. Requerimientos. •. 1-2. Diseño. 5. Codificación. 10. Pruebas de Módulo. 20. Pruebas de Sistema. 50. Mantenimiento. ,,. 100 -200. Tabla 3.1 Costo de reparación de un mal análisis dentro del proceso de software. Las recomendaciones que da [Pressman02] para una buena ingeniería de requerimientos son las siguientes: ). Entender el problema antes de empezar a crear el modelo de análisis. ). Registrar el origen y la razón de cada requerimiento. ). Usar múltiples planteamientos de requerimientos. ). Dar prioridad a los requerimientos.. ). Trabajar para eliminar la ambigüedad.. 3.1.2 Modelado Los modelos se crean para entender mejor la entidad que se va a construir, cuando la entidad es algo físico se puede construir un modelo idéntico en forma pero a una escala más pequeña. Sin embargo, cuando la entidad que se va a construir es software, el modelo debe tener una forma diferente, y ésta es una de las áreas críticas de la ingeniería de software, pues el modelo debe de ser capaz de modelar la información que transforma el software, las funciones (y subfunciones) que permiten. '.
(34) :,. D,. .. S'¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡J¡¡¡¡¡.-'..,'-¿t-º-d-os¡¡¡¡¡¡¡¡dP---es¡¡¡¡¡p¡¡¡¡¡e¡¡¡¡¡e,¡¡¡¡¡·ft-cª-c-:º-n-,º-ª-r-a-e-om-·-e-rc-1º-e-1-ec-t-ro-·n-1e-o. que ocurran las transformaciones y el comportamiento del sistema cuando ocurren estas transformaciones. El segundo y tercer pr1nc1p1os operativos del análisis requieren de la construcción de modelos, que se pueden dividir en modelos de función y modelos de comportamiento [Pressman02]: ~. Modelos funcionales: El software transforma la información y para hacerlo debe realizar al menos tres funciones genéricas: entrada, procesamiento y salida. Cuando se crean modelos funcionales de una aplicación, el ingeniero de software se concentra en funciones específicas del problema.. ~. Modelos de comportamiento: La mayoría del software responde a los acontecimientos del mundo exterior, ésta característica estímulo-respuesta forma la base del modelo del comportamiento.. Los modelos creados dentro del análisis de requerimientos desempeñan papeles muy importantes, entre los que se encuentran [Pressman02]: ~. El modelo ayuda al analista a entender la información, la función y el comportamiento del sistema, haciendo por tanto más fácil y sistemática la tarea de análisis de requerimientos.. ~. El modelo se convierte en el punto de mira para la revisión y por tanto la clave para determinar si se ha completado, su consistencia y la precisión de la especificación.. ~. El modelo se convierte en el fundamento para el diseño, proporcionando al diseñador una representación esencial del software que pueda trasladarse al contexto de la implementación.. 21.
(35) ... lf 1J'. -',.,'-é-to-d-O'.:>---deiiiiiiiiiie-sp-e-c_,fi_ca_c_:o_n_;·-ºª_r_a_c_o_rr_.e_rc_:o¡¡¡¡¡¡¡¡¡¡e,_·e-ct-ro_·n-ic-o. ;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡J¡¡¡¡¡.. 3.1.3 Modelación de Paradigmas [Meta93] Con el propósito de crear el modelo de un sistema se necesitan varias maneras de representar los componentes de los que consiste. Estas representaciones no necesitan tener una similitud detallada a los componentes de un sistema real, lo que se necesita es un· conjunto de abstracciones que permitan capturar la esencia de cualquier sistema que se desee modelar. Este conjunto de abstracciones es frecuentemente llamado Modelador de Paradigmas. No existe un Modelador de Paradigmas que sea el más eficiente en todos lo casos. La elección del paradigma a usar depende en la naturaleza del sistema modelado y en el objetivo del modelo. Para los sistemas como el clima por ejemplo, donde no hay un flujo de información y sólo hay una sucesión de estados, se usan los sistemas de ecuaciones diferenciales parciales. Para modelar objetos físicos, como por ejemplo los componentes de una máquina, los mejores métodos son CAD/CAM. Con frecuencia, los humanos diseñan sistemas que realizan labores complejas distribuidas en espacio y tiempo y que enwelven un flujo discreto de objetos y/o información. Los sistemas sociales donde vive la gente también son de ésta naturaleza. Sistemas como éstos pueden ser mejorados modelándolos. Cuando se quiere modelar únicamente la estructura de un sistema el modelo de paradigma de más utilidad es el estático. Cuando se quiere modelar la estructura y el comportamiento de un sistema, entonces el modelo más necesario es el dinámico.. 3.1.4 Especificación Una de las principales afirmaciones que se pueden hacer dentro de la etapa de definición de requerimientos de la Ingeniería de Software es la de que el modo de especificación tiene mucho que ver con la calidad de la solución. A lo largo de los años los ingenieros de software se han visto forzados a trabajar con especificaciones incompletas, inconsistentes o engañosas provocando con esto confusión, y como. ..,..,.
Figure
Documento similar
E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi
De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la
The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the
In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)
Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)