-
Notifications
You must be signed in to change notification settings - Fork 3
/
Technical Support
144 lines (80 loc) · 15.9 KB
/
Technical Support
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
Desarrollo de Soporte Técnico.
Introducción.
El objetivo de desarrollar un componente de Soporte Técnico es proveer al sistema en general de una plataforma para que los Usuarios Finales puedan solicitar ayuda o acusar una situación problemática o inusual que se les haya presentado durante el uso de la aplicación.
El componente de Soporte Técnico captará la solicitud del usuario e iniciará un proceso para localizar al responsable de dicho inconveniente y notificarlo. El responsable deberá utilizar este componente de Soporte Técnico que se encontrará distribuido en muchas capas del sistema para encontrar el error y si es necesario transferir el problema a otras capas del sistema. También interactuar con el usuario o con otros actores, si fuera necesario, para profundizar en el problema y tratar de llegar a la causa del mismo.
Una vez encontrada la causa del inconveniente el responsable deberá solucionarlo y generar una nueva versión, notificar al usuario de que la falla fue solucionada y que ya se encuentra disponible una nueva versión para evitar que el inconveniente se presente de nuevo.
Por ultimo documentar el problema presentado y su solución para que esté disponible a otros actores a los cuales se le podría presentar el mismo inconveniente.
Ciclo de Vida Caso Soporte Técnico.
Cuando al Usuario Final se le presente un inconveniente inesperado deberá recurrir a la aplicación de Soporte Técnico para solicitar asistencia.
Cuando el usuario recurre a dicha aplicación y solicita la asistencia se inicia el Ciclo de Vida del caso Soporte Técnico.
El Ciclo de vida del caso debe iniciarse, transcurrir y finalizar en el dispositivo donde vive el problema.
Durante el Ciclo de Vida de este caso es posible que intervengan muchos actores y componentes del sistema, y que el mismo se distribuya y circule por muchas capas hasta llegar al verdadero responsable y la causa del mismo.
Durante la proceso de solución el Ciclo de Vida se mantiene vivo y solo se termina cuando el Usuario Final notifica que el inconveniente fue solucionado.
Actor Usuario Final.
Este actor representa la persona que hace uso del sistema, por ejemplo una Wallet en particular, y quien tendrá la capacidad de iniciar el caso de soporte, ya que todo el caso solo puede llevarse a cabo si existe una solicitud de parte del usuario para solucionar un inconveniente que se le ha presentado.
Es también quien puede dar fin al caso de soporte.
Actor Developer.
Este actor representa la entidad encargada y responsable de un desarrollo o plugin que esté utilizando el Usuario Final y es el encargado de capturar la solicitud de soporte técnico y llevar a cabo dicho soporte y solucionar el mismo.
Un Developer no solo puede ser necesariamente una persona física sino también una empresa u organización a cargo de un plugin, Wallet o desarrollo.
Aplicación Technical Support.
Esta es la aplicación que utilizará tanto el Usuario Final como el Developer para llevar a cabo el caso de soporte técnico. La misma será distribuida para lograr que exista interacción y comunicación entre otros dispositivos, capas, componentes y que también sea utilizada por otros actores involucrados en el caso. [Luis: esta no es la razón por lo cual es distribuída.]
Si bien el proceso deberá llevarse a cabo dentro del dispositivo del usuario y finalizarse en el mismo, esta aplicación podrá extenderse mas allá para lograr llegar a una solución del caso.
Inicio del Caso Soporte Técnico.
Como se mencionó anteriormente, todo este proceso se inicia al presentarse un problema o inconveniente al Usuario Final durante el uso de la aplicación o una Wallet en particular. Los problemas pueden ser diversos, desde problemas de interfaz gráfica hasta problemas de funcionalidad o cualquier otro caso que pueda presentarse y afecte directamente al Usuario Final.
El Usuario Final deberá recurrir a una aplicación de Soporte Técnico y describir el suceso que está padeciendo, en un descriptor disponible en dicha aplicación y/o elegir en una lista las posibles dudas o problemas que se le estén presentando. Una vez hecho esto, deberá enviar el problema y esperar la respuesta del Developer para una interacción que permitirá profundizar en la situación.
El Developer podrá hacer uso de la aplicación Technical Support para administrar la lista de problemas que se han presentado en su plataforma desarrollada y comenzar a solucionarla de acuerdo a su criterio de urgencia. [Luis: en sus componentes (wallets o plugins)]
La aplicación permitirá captar todos los inconvenientes enviados por los diferentes Usuarios Finales y enviarlos a sus respectivos responsables. En este caso podrían suministrarle a un mismo Developer una lista de los problemas enviados de los Usuarios Finales que estén utilizando su desarrollo.
También, como se planteo antes, iniciar una interacción y conexión con el Usuario Final para profundizar en el problema y, a través de la misma, iniciar el Caso de Soporte del lado de la plataforma del sistema. [Luis: la ultima oración no se entiende] En este caso deberá comenzar a buscar la causa del problema planteado.
Logica del Inicio del Caso Soporte Técnico.
En una primera parte el Usuario Final recurre a la sub aplicación Technical Support y la lógica sería que dicha aplicación consulte al componente WalletRunTime para verificar que wallet esta utilizando o navegando el usuario.
A demás puede permitir que se pueda obtener mas información sobre que otras wallet ha estado usando. [Luis: esto para qué?]
Este componente puede ser utilizado ya que retorna objetos que pueden proporcionar información sobre las wallet utilizadas por el Usuario Final.
La información de dichas wallet debe ser capturada e ingresada en una lista para luego transferirla al Autor Developer.
A demás de de esta información, también se debe listar capturar el mensaje que el Usuario Final ha enviado a la sub aplicación Technical Support.
El siguiente punto es conocer que plugin están involucrados en la wallet utilizada.
Para conocer al responsable del plugin se debería instanciar el objeto Developer que debería permitir retornar los plugin que el Actor Developer están utilizando en ese momento. [Luis: esto no es así]
Esto también podría ser posible a través del componente WalletRunTimeSubSistem que instancia el objeto Developer.
Dentro del código fuente de dicho componente se instancia el Developer DeveloperBitDubai el cual luego se puede obtener el plugin que está corriendo en ese momento. [Luis: esto no es así]
Dentro de estos objetos se debería encontrar la información que se necesita inicialmente para que la misma se envié al Developer a través de la sub aplicación Technical Support. [Luis: no exactamente]
Seguimiento Del Caso y Búsqueda De La Causa
Para lograr un seguimiento y buscar las causas del problema planteado por el Usuario Final, el Developer deberá recurrir y consultar a las diferentes capas del sistema para llegar a la solución o responsable del problema. [Luis: no exactamente]
El objetivo es que la aplicación Technical Support pueda interactuar con otros componentes para llegar a la resolución. Para esto intervendrían capas como la Middleware para administrar los casos de soportes, las Network Service para comunicar los diferentes componentes y otras como el componente Error Manager que permitirá buscar excepciones. [Luis: las capas en si misma en estos casos no hacen nada, son el lugar donde viven los plugins de un determinado tipo]
Pueden que intervengan muchos componentes más en diferentes capas de las mencionadas ya que durante el proceso pueden surgir inconvenientes a tratar que requieran más interacciones. [Luis: basicamente lo que querés decir es que el error o bug puede estar en cualquier plugin en cualquier capa]
Capa Middleware -> Technical Support
En la capa Middleware se encontrará un componente con el nombre Technical Support que se encargará de administrar todo los casos de soportes abiertos. En este componente se suministrará información de los diferentes casos de soportes abiertos y a través de este se podrá conocer la procedencia de los caso presentados.
A través de las claves públicas y diferentes credenciales se podrá saber que Wallets, Usuarios Finales y Autores Developer están afectados al problema. [Luis: esto está muy poco claro] También se podrán verificar los plugins que se encuentran involucrados facilitando la búsqueda de la causa del problema.
Todos los casos serán administrados a través de este componente y se hará seguimiento desde principio a fin, o sea, hasta finalizar el ciclo de vida.
El componente Middleware Technical Support suministrará información a los Developers y Usuarios Finales para que estos puedan ver el estado de sus respectivos casos, sobre todo para el Usuario Final, permitiéndole conocer en que situación se encuentra su problema. Esto podrá ser así ya que todo el proceso ocurre en el dispositivo del usuario.
El componente Middleware Technical Support requerirá de un Plugin que será conocido como Identity y de otro con el nombre de Dependency, que se encontrarán a bajo nivel del sistema. Estos les permitirán conocer la claves públicas y credenciales de los Autores Developer y Usuarios Finales. También conocer de quienes dependen las diferentes Wallets involucradas en el proceso.
A través de estos Plugins la aplicación Technical Support le permitirá funcionar como una aplicación distribuida que podrá acceder a otros dispositivos para interactuar con ellos y de esa forma saber si el caso en proceso es conocido, si le ha ocurrido a otros Usuarios o Developers.
De esta forma, y a través de las capa Middleware el componente Technical Support podrá dar mejor asistencia para llegar a la solución del inconveniente.
También dentro de esta misma capa habrá otro dos componente más, uno de ellos será el Developer Technical Support que recibirá a través de la capa Network Service información sobre los casos enviados para que el Autor Developer pueda consultarlos.
El Autor Developer utilizando el componente Technical Support, de la misma capa, puede iniciar un proceso para encontrar la causa o el responsable del inconveniente. En este caso podrá hacer uso de herramientas existentes para lograrlo. Por ejemplo iniciar un modo Debug o consultar el Error Manager por si existen posibles excepciones que puedan ayudar a solucionar el caso.
También, a través del componente Technical Support, podrá consultar a los plugins Identity y Dependecy, conocer las dependencias e identidades y así encontrar al responsable del inconveniente, si esto trasciende mas allá del alcance del Autor Developer.
Todo esto será a través de una interacción de los componentes Developer Technical Support y Technical Support.
Otro componente de esta capa dedicado al soporte técnico será el Developer Error Manager, que le permitirá al Autor Developer, también a través de la capa Network Service, conectarse con el Error Manager y verificar las excepciones encontradas dentro de su desarrollo. También encontrar errores más específicos y técnicos que muchas veces se pueden presentar en diferentes escenarios tecnológicos a nivel dispositivo.
Seguimiento del Caso de acuerdo a la estructura de la plataforma
La información recibida por el Autor Developer deberá guardarse en una base de datos con las credenciales que indiquen a quien pertenece el caso de soporte técnico. Dentro de dicho repositorio deberá estar especificado si el caso está abierto o cerrado.
La sub aplicación Technical Support deberá consultar dicha base de dato para verificar los caso de soportes técnicos abiertos, cada vez que el Autor Developer lo requiera. También notificar cada cierta cantidad de tiempo si el mismo permanece abierto.
De esta forma el Autor Developer podrá listar aquellos casos abierto o cerrados y administrarlos.
En el mismo repositorio a demás de la información de los plugin y wallet involucrados, también debería existir información del usuario que inicio el caso para que éste pueda consultar el estado del mismo. De la misma forma que el Autor Developer puede consultar los casos abiertos, el usuario puede hacer lo mismo para su caso y verificar el avance.
Los casos finalizados deberán ser registrados en un repositorio aparte con la solución del mismo para que otros Actores puedan consultarla en caso de que el problema se repita en otros ámbitos.
El componente Autor Developer Technical Support deberá administrar esta tarea dentro de esta capa suministrando información al Autor Developer a través de la información que se encuentra en la base de datos.
Este componente debe recuperar la información de la base de dato y actualizar el estado del caso y también actualizar los casos de soportes existentes.
Utilizando El Error Manager.
Este mismo componente debe ser capaz de buscar y obtener los errores y excepciones que el componente Error Manager haya capturado.
El componente Error Manager Technical Support debé proveer al componente Developer Technical Support los datos sobre los errores y excepciones.
Esto podría ser posible consultando la información que el Addon Error Manager ha registrado durante uso de la aplicación. Instanciando el objeto ErrorManagerRegistry se debería obtener la información que de los fallos generados a nivel código en la aplicación. En este objeto se registran las excepciones como también se pueden listar y recuperar de la base de dato.
Todo esto debe estar administrados en esta capa y suministrar información al a la sub aplicación Technical Support para enriquecer el conocimiento y ayudar a solucionar el problema.
La información que se obtendrían a través de las tareas antes mencionadas, principalmente serían: el Usuario Final que envió la petición de soporte, las wallet utilizadas por dicho usuario, los plugin ligados a esas wallet, el Developer que se encuentra involucrado o responsable del desarrollo de estos componente y los errores y excepciones capturados del Addon Error Manager.
Toda esta información con su detalle debe ser guardad en la base de datos para su consulta o administración.
Capa Network Service.
Para lograr una interacción y comunicación entre la capa Middleware y las otras capas que permitirán ayudar a que el caso de soporte técnico llegue a su solución se hará uso de esta capa Network Service.
Dentro de esta capa se encontrarán dos componentes importantes para el caso de soporte.
Uno de ellos será el componente Developer, que permitirá iniciar una conexión con el componente Developer Technical Support ubicado en la capa Middleware, para enviarle al mismo el caso presentado por el usuario y depositarlo en su respectiva base de datos. Cuando el Autor Developer inicie su aplicación, y a través de del componente Developer Technical Support, podrá ver el listado de los casos presentados y su estado con respecto a su ciclo de vida.
Otro componente dentro de esta capa es el Error Manager, que buscará iniciar una interacción entre el Error Manager de la capa Plataform Service y el Error Manager Technical Support de la capa Middleware, permitiendo a este último buscar errores y excepciones que ayuden a encontrar mayor información para colaborar con el caso de soporte técnico.
Conclusión.
De acuerdo a estos recursos, los actores intervinientes que se plantearon a lo largo de este documento, se podrá llegar a la causa del problema, solucionarlo y notificar al usuario del mismo.
Si bien la solución de un caso de soporte técnico dependerá de sus causas y actores intervinientes, el objetivo principal de este componente de Soporte Técnico es llegar a la causa y responsable.
Por otro lado puede existir la posibilidad de que se requiera el uso de otros componentes o plugins para agilizar la tarea de soporte técnico.
La importancia recae también en dar una interacción entre Usuarios Finales y Actores Developers, no solo para averiguar mas sobre del problema presentado sino también dar una importancia al usuario y verificar que el problema se haya solucionado.