miércoles, 11 de febrero de 2015

Documentación de Sistemas - Analisis de sistemas

Documentación de sistemas 




La documentación de sistemas es una materia e el area de información bastante util para miembros cuyos conocimientos sobre informática son bajos o para futuras modificaciones del mismo.

Visto desde cierto punto de vista podemos decir que es como una póliza de seguro, pues en el contiene todo relacionado al sistema que se desarrolla y/o se mejora y/o se comercializa. Entoces el documento engloba un conjunto de información que explica que es el sistema.


  • que hace
  • para quien 
  • y como lo hace


a su vez este documento esta abalado en tres ámbitos importantes Legal, Teórico y Publicitario

Legal:  este documento debe tener desde un registro hasta concordancia con las leyes de la nacion donde se Desarrolla,mejora o comercializa

Teorico : debe tener Explicación teórica para todo los procesos y salidas del sistema asi como su diagraman y ejemplos de la codificación.

Publicitaria: debe ser de fecil comprecion para los niveles profecionales menos involucrados en la informatica, sin embargo el sistema de pertenecer a un objetivo de area profecional especifico debe aclarar la mayoria de las dudas que podrian surgir asi como costos e implementacion.


Características de la documentación de sistemas:

•  Pertinencia: los documentos que se proporcionan deben responder a lasnecesidades específicas de los utilizadores.
Exhaustividad: deben proporcionarse al usuario todos los documentos querespondan a sus necesidades.
Rapidez: los documentos pertinentes deben transmitirse al usuario interesadoinmediatamente después de su publicación.
Economía: el coste de la Documentación debe ser mínimo

Estandarizacion:

Significa que los símbolos convencionales se usan en todos los diagramas de flujo para prescribir el sistema y que en la documentación se usen formas estandarizadas.

Estas normas de documentacion pueden variar mucho entre las instalaciones pero dentro de una empresa u organización de use un solo metodo Esto genera muchas ventajas en el area de procedimientos y documentacion  estandarizadas pues da una eficaz base de comunicacion y adiestramientos del personal reduciendo asi costos de almacenamientos  y demas.


  1. Ayuda al entrenamiento del nuevo personal dentro y fuera de la organización de Sistemas.
  2. Es útil para cualquiera que tenga la responsabilidad del mantenimiento de los sistemas.
  3. Ayuda a los analistas y diseñadores de sistemas en el trabajo de integración de sistemas.
  4. Asegura que el sistema opere correctamente.
  5. Se utilizan eficientemente los recursos que se dispongan.
Uso de La estandarizacion:


  1. La documentación debe tener esta organizada y clara su informacion asi como rutulada.
  2. Sus diagramas no pueden estar aglomerados y su escritura legible
  3. Se debe documentar el sitema completamente
  4. Incluir leyenda o explicación de los terminos utilizados
  5. y conservar lo mas actualizado el documento

Tipos de manuales 


Dentro de la documentacion de sistema se encuentra una gran cantidad de docuemtos que aclaran tanto a los creadores, desarolladores ,comercializadores,implementadores / personal de mantenimiento  y usuarios finales. Caracteristicas y objetivos del sistema, aunque en muchos casos esta documentación se encuentra totalmente agrupada en un solo documento lo cierto es que la metodología correcta es tenerlos por separado y mas aun cuando el sistema tiene una forma de venderse o comercializar diferente o por etapas.

                                                             


Administrativo 

El objetivo de este manual  es transmitir la información del sistemas a la gerencia que usara el sistema y poder servir de fuente de consulta, una vez halla sido implementado. La informacion que contiene este documento es de alguna forma simplificada en caso de que la gerencia no maneje la terminologías científicas adecuadas al sistema, asi como especificar uso y objetivo del mismo. Este documento tiene el siguiente contenido y descripción general

  1. Nombre del sistema
  2. Describir el nombre del sistema a implantar en la empresa.
  3. Equipo Encargado Del Sistema
  4. Nombre del personal encargado del análisis y diseño del sistema.
  5. Resumen Administrativo (costos, servicios y contrato)
  6. Planteamiento del sistema ( responde al problema y solución mediante este sistema)
  7. Dependencias y Requisitos 
  8. Objetivos del Sistema
  9. Entradas del Sistema 
  10. Salidas del Sistema 
  11. Diagramacion de sistemas ( de ser uso interno por la misma empresa responde todo sobre la codificación, diagramas de clases y estructuras de base de datos del sistema )
  12. explicación de la faces del sistema: (de ser un sistema integral conformado por múltiples sistema este es explicado en cada una de las faces que puede resolver a su vez explica la metodología y pasos a seguir en el momento de implementacion del sistema)
  13. plan de fechas a implementar


Manual de usuario:

Este documento tiene un grado de tecnicismo variable dependiendo de el tipo de sistema y del objetivo del usuario. En lineas generales le da los conocimientos basicos para el correcto proceder del sistema asi como resolución de posibles problemas o preguntas. En caso de ser un manual avanzado explica mas a fondo muchos de sus procesos y pregusta que no estarían disponible por ejemplo para un usuario del sistema mas básico. El manual de usuario es un documento con un grado de lenguaje basico asi como una gran cantidad de ilustraciones como dibujos y foto-capturas del sistema para asi guiar de manera mas facil al usuario. La estructura general de este documento es asi
  1. Una página de portada.
  2. Una página de título.
  3. Una página de derechos de autor.
  4. Un prefacio, que contiene detalles de los documentos relacionados y la información sobre cómo navegar por la guía del usuario.
  5. Una página de contenido.
  6. Una guía sobre cómo utilizar el sistema ( puede ser básico o avanzado altamente ilustrada)
  7. Una sección de solución de problemas que detalla los posibles errores o problemas ( con solución)
  8. Una sección de preguntas frecuentes.
  9. Contactos de la empresa ( web, teléfono y dirección)
  10. Un Glosario y, para documentos más grandes, un Índice.

Manuales de referencias:

Los manuales de usuario deben contener dentro de su estructura un manual de referencia pero a menudo estos documento suele proporcionarse por separado. En el se encuentra detalles las cualidades del sistema y su uso, los informes de error generados y las situaciones en que surgen esos errores.

Manual de captación:


Este documento tiene con finalidad explicar los procesos de captacion y tratameinto de la data Afin de explicar y justificar reportes y valores finales dentro del sistema. Por otra parte en caso de ser un sistema amplio y especializado este documento contiene la información para recursos  humanos de como debe tener el perfil laboral un usuario final para minimisar los niveles de inducion y errores en procesos. este documento Detalla lo sigueintes datos

objetivo
Diagrama General Del Sistema (modulos y reportes )
Diagramas De Pantalla ( explicando la ruta, tipos de datos y  formato de captura de los datos )
Nivel de conocimientos académicos necesaria para cada parte del sistema



Manual de Desarrollo


Este manual es privado para la empresa que creo el sistema. En el contiene información Avanzada sobre todo el sistema pero desde el punto de creación, mejoras y cambios  y por ultimo departamentos y personal encargados en el desarrollo del mismo.

Este manual tiene una estructura variable pero mantiene una estandarizacion clara y continual a la de la empresa pero puede diferir mucho de los documentos anteriores pues en el contiene informacion detallada y en lenguaje tecnico sobre el sistema. Este documento mas que una estructura responde en su contenido preguntas sobre el sistema a un nivel tecnico para facilitar los procesos de desarrollo futuros en caso de cambio de personal que desarrollo originalmente el sistema. en orden segun la logica seria asi:


  • Objetivos del sistema 
  • Datos tecnicos sobre lenguaje , plataforma de desarrollo y plataforma final
  • Esturctura y formato de almasenamientos
  • formatos y estructura de salidas de datos
  • normativas, estandares y formas de diceño del entorno grafico
  • diagrama de capas del sistema 
  • diagramas de clases:
  1.  explicando razón de la clase y uso,
  2.   metodos, 
  3. metodos tipados
  4.  ,sobrecargas
  5.  retornos
  6.  asi como conexiones entre otras clases  y otras capas del sistema
  • diagrama y estructura de datos
  •  entradas y salidas externas al sistema
  • plan de implentacion 
  • plan de soporte y servicio
  • Actualizaciones y sietmas satelites 
  • ordenacion de ultimas actualizaciones y verciones
  • manual de errores 















martes, 18 de noviembre de 2014

Programacion C# manejo de un Xml (Crear y Leer)

Introducción

Antes De empezar me gustaría hablar de lo que es xml para ello usare de referencia un post anterior  XML Y JSON la primera parte del post habla sobre xml y concepto a lo cual trataremos aqui


Xml


Para poder hacer manejo de un archivo xml en c# debemos llamar a uso dos namespace 




System.io como dije antes nos permite trabajar archivos (copiar, pegar ,cortar ,abrir ,elminar)
mientra que systems.xml nos permiten usar los documentos xml desde leerlo hasta crearlos 


Escribir un XML

En Concreto pasaremos a ver como seria el metodo de escribir un xml



Intanciamo la clase xmltextWriter y le decimos en su sobre carga que sera la ruta dada por el usuario  que validamos antes  y la segunda sobrecarga que la pasamos como null es el tipo de codificacion que en este caso tomara por defecto la del S.O



Se inicia el documento, este coloca la etiqueta xml con su vercion y codificacion



Declaramos que los nodos, sub nodos del xml estaran regido por identacion esto lo hacer mas amigable visualmente al usuario

Se define los espacios  por identar

Escribimos el nodo principal del documento

Escribimos los sub nodos



Cerramos el documento , el nodo principal y el archivo.

Lectura del XML


un poco de conocimiento extra...


MSDN:Representa una lista de objetos fuertemente tipados a la que se puede obtener acceso por índice. Proporciona métodos para buscar, ordenar y manipular listas.

Con el metodo add() agregamos elementos a la lista
las lista pueden ser de los tipos de datos que uno decea.



Para crear un lector del xml intanciamos la clase y en la sobrecarga le pasamos la ruta del archivo xml



Para recorrerla de principio a fin sin quedar el programa en bucle infinito ni dar error declaramos un while que terminara solo si se llega al fin del archivo en xmsr (eof = end of file)




verificamos con la propiedad booleana  (isstarelement)si el nodo que estamos ahorita es inicio de nodos


Verificamos su nombre con la propiedad name es la etiqueta que queremos leer


una vez sepamos que es el nodo que queremos leer  saltamos un nodo y agregamos a la lista  por el metodo add la lectura de indexada de cada uno de los nodos por su nombre



Cerramos el documento 

retornamos la lista que contiene la lectura de todos los nodos

Mostrando los datos de la lectura del xml

Cuando nuestro metodo termino retornamos la la lista con la lectura de los nodos ahora
veremos como podemos mostrarle al usuario los datos de la lectura de ese xml que están en una lista de string


Ejemplo


Manejo de XML


Ejercicio 


Crea tu propio xml y leelo modificando este programa



lunes, 20 de octubre de 2014

Programacion C# Control Menu

Introduccion


El control Menu permite desarrollar los menús presentados tanto estática como dinámicamente en las páginas web ASP.NET. Puede configurar el contenido del control Menu directamente en el control o puede especificar el contenido enlazando el control a un origen de datos.

 En un menú que se muestra de forma dinámica, sólo las partes que especifique son estáticas, mientras que sus elementos de menú infantil se muestran cuando el usuario hace click del ratón sobre el nodo padre.

Aplicacion

Usamos este control cuando queremos que nuestro diseño no sea desordenado y se mas amigable con el usuario. de esta amanera podemos englobar opciones de nuestra aplicación a la largo y ancho de nuestro control y mostrar los valores aparir de nodos padres e hijos de nuestro menu.

los nodos padres son los que son mostrados en la barra del menu directamente y estos pueden o no contener otros nodos que son llamados nodos hijos dentro de este menu. los nodos hijos pertenecen a un nodo padre y pueden contener a otros hijos




Para el menuSTrip existen elemento que pueden ser nodos y otros que solo seran controles a su vez los nodos o controles que pueden contener hijos pueden tener eventos  como por ejemplo evento dobleclic  evento mouseEnter entre otros vasta con revisar sus eventos en el cuadro de propiedades.

para colocarlo en el form solo basta con arrastrarlo y de imediato podremos trabajar en el





Controles que soporta el el menu 


exiten cuatro controles que soporta el MenuStrip y que estan disponibles para su seleccion en tiempo de diseño. todos ellos pueden ser accedido en tiempo de programación como objetos individuales sin tener que pasar por el MenuStrip que es el control que los contiene pero estos controles están anclados al menú es decir no se pueden mover de alli mas, si se puede alterar su orden.




MenuItem: 

este control tiene el comportamiento parecido de un botón con la hablilidad que puede contener nodos hijos (Es el único ) y es el mas comun de todos los controles dentro del MenuStrip


Como cualquier otro boton este puede tener el evento clic. En este caso tendremos un menuItem que sera padre de otros dos y cada uno de ellos tendra un evento clic




Fijese que entre los dos menuitem exite una barra esta es una barra de separacion la cual no ayuda visualmente a separa por ejemplo grupos de menuitems para el usuario


ComboBox: 

Este control es anclado al menu no da una lista desplegable la cual puede ser editada como cualquier otro COmboBox


Al igual que un combo box normal los items pueden ser editados tanto en diseño como en tiempo de ejecución como si nada  

TextBox:

funciona igual que un control TextBox todas sus propiedades pero con alguna limitaciones en sus eventos. Este Control esta anclado al menú



Ejemplo en ejecucion





Ejemplo


Ejercicio

intente realizar un usted mismo

Referencias y Ayuda





lunes, 13 de octubre de 2014

Analisis II Xml & Json

Xml

XML, siglas en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. Deriva del lenguaje SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones deben comunicarse entre sí o integrar información. 1

XML no ha nacido sólo para su aplicación para Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.

XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.

¿Para que sirve XML?


Representar información estructurada en la web (todos documentos), de modo que esta información pueda ser almacenada, transmitida, procesada, visualizada e impresa, por muy diversos tipos de aplicaciones y dispositivos.

Ventajas del XML


Es extensible: Después de diseñado y puesto en producción, es posible extender XML con la adición de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicación alguna.

El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML. Esto posibilita el empleo de cualquiera de los analizadores disponibles. De esta manera se evitan bugs y se acelera el desarrollo de aplicaciones.

Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla. Mejora la compatibilidad entre aplicaciones. Podemos comunicar aplicaciones de distintas plataformas, sin que importe el origen de los datos, es decir, podríamos tener una aplicación en Linux con una base de datos Postgres y comunicarla con otra aplicación en Windows y Base de Datos MS-SQL Server.

Transformamos datos en información, pues se le añade un significado concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.


¿Para que sirve XML?


Representar información estructurada en la web (todos documentos), de modo que esta información pueda ser almacenada, transmitida, procesada, visualizada e impresa, por muy diversos tipos de aplicaciones y dispositivos.


Características


XML es un subconjunto de SGML que incorpora las tres características más importantes de este:
  • Extensibilidad
  • Estructura
  • Validación
  • Basado en texto.
  • Orientado a los contenidos no presentación.
  • Las etiquetas se definen para crear los documentos, no tienen un significado preestablecido.
  • No es sustituto de HTML.
  • No existe un visor genérico de XML.

Estructura


Estructura




Ejemplo


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">
 
<Edit_Mensaje>
     <Mensaje>
          <Remitente>
               <Nombre>Nombre del remitente</Nombre>
               <Mail> Correo del remitente </Mail>
          </Remitente>
          <Destinatario>
               <Nombre>Nombre del destinatario</Nombre>
               <Mail>Correo del destinatario</Mail>
          </Destinatario>
          <Texto>
               <Asunto>
                    Este es mi documento con una estructura muy sencilla 
                    no contiene atributos ni entidades...
               </Asunto>
               <Parrafo>
                    Este es mi documento con una estructura muy sencilla 
                    no contiene atributos ni entidades...
               </Parrafo>
          </Texto>
     </Mensaje>
</Edit_Mensaje>



Json


JSON, acrónimo de JavaScript Object Notation, es un formato ligero para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML.

La simplicidad de JSON ha dado lugar a la generalización de su uso, especialmente como alternativa a XML en AJAX. Una de las supuestas ventajas de JSON sobre XML como formato de intercambio de datos en este contexto es que es mucho más sencillo escribir un analizador sintáctico (parser) de JSON. En JavaScript, un texto JSON se puede analizar fácilmente usando la función eval(), lo cual ha sido fundamental para que JSON haya sido aceptado por parte de la comunidad de desarrolladores AJAX, debido a la ubicuidad de JavaScript en casi cualquier navegador web.

En la práctica, los argumentos a favor de la facilidad de desarrollo de analizadores o del rendimiento de los mismos son poco relevantes, debido a las cuestiones de seguridad que plantea el uso de eval() y el auge del procesamiento nativo de XML incorporado en los navegadores modernos. Por esa razón, JSON se emplea habitualmente en entornos donde el tamaño del flujo de datos entre cliente y servidor es de vital importancia (de aquí su uso por Yahoo, Google, etc, que atienden a millones de usuarios) cuando la fuente de datos es explícitamente de fiar y donde no es importante el no disponer de procesamiento XSLT para manipular los datos en el cliente.

Si bien es frecuente ver JSON posicionado contra XML, también es frecuente el uso de JSON y XML en la misma aplicación. Por ejemplo, una aplicación de cliente que integra datos de Google Maps con datos meteorológicos en SOAP hacen necesario soportar ambos formatos.

¿QUÉ ES Y PARA QUE SIRVE JSON?


JSON es un formato para el intercambios de datos, básicamente JSON describe los datos con una sintaxis dedicada que se usa para identificar y gestionar los datos. Una de las mayores ventajas que tiene el uso de JSON es que puede ser leído por cualquier lenguaje de programación. Por lo tanto, puede ser usado para el intercambio de información entre distintas tecnologías.

Veamos un sencillo ejemplo de JSON:

Imaginemos que tenemos una frutería  y que queremos obtener el nombre y la cantidad de fruta y verdura que tenemos. En un principio vamos a suponer que tenemos lo siguiente:

 – Fruta:

10 manzanas
20 Peras
30 Naranjas
 – Verduras

80 lechugas
15 tomates
50 pepinos


Ejemplo de JSON

 

JSON:

 {"menu": {
   "id": "file",
   "value": "File",
   "popup": {
     "menuitem": [
       {"value": "New", "onclick": "CreateNewDoc()"},
       {"value": "Open", "onclick": "OpenDoc()"},
       {"value": "Close", "onclick": "CloseDoc()"}
     ]
   }
 }
}

Ejemplo como XML:

  <menu id="file" value="File">
    <popup>
      <menuitem value="New" onclick="CreateNewDoc()" />
      <menuitem value="Open" onclick="OpenDoc()" />
      <menuitem value="Close" onclick="CloseDoc()" />
    </popup>
  </menu>

lunes, 6 de octubre de 2014

Programacion C# Data Grid View, Combo Box

Introducción

En la mayoría de los programa necesitamos trabajar con elementos como ventanas que nos muestran datos separados en columnas y filas y lista desplegables.Para este caso .net tiene su propios Controles, a las lista desplegables sera loa ComboBox y para las ventana que muestran elementos en filas y columnas tenemos los data grid view.




En ese ejercicio trabajaremos estos dos elemento asi que para ello agregaremos mas controles a nuestro form  de manera que su diceño puede quedar asi 

Combo Box

Empezaremos con este elemento pues es uno de los mas fáciles de controlar
Mas adelante adelante sus datos estarán enlazado con una base de datos.

para agregar un elemento a la combobox tenemos dos maneras una de ella es la manera grafica por la cual dandole click a la flecha del combobox no abrirá un menu contextual/editar elementos, el cual es forma lista y por cada enter sera un nuevo item en nuestro control


pero venimos a programar asi que nuestra manera sera por codigo dentro de un boton. asi que exitira un textbox y un label que nos servirá de mucho para controlar ese combobox.Tomaremos el boton "ingresar al comobobox y le crearemos el evento click. dentro de el  colocaremos este codigo 


el metodo add de la clase items solo agrega un elemento como la forma grafica ( solo texto a la lista)

pero la manera item.insert agrega un elemento con un indice,y su  segunda sobrecarga es solo el texto 

ademas de ello editaremos un eventos del combobox 


SelectionChangeCommitted  este evento nos permite ejecutar un bloque de código cuando se termina la selección de un item en el combo box. en el colocaremos esto


cuando ejecutemos este codigo un  label tendra el texto seleccionado de nuestro combobox en un label





Data Grid View 

vale una ves tengamos nuestro elemento de combo box iremos al datagrid view. Para empezar agregamos el evento load del form  y creamos un metodo no tipado para asi agregar las colunas que tendra nuestra grilla




una vez hecho esto  iremos al boton agregar a la grilla y le creamos su evento click en el colocaremos el llamado a un metodo que sera  "agregar_linea" 



Agregar_linea es un metodo que introduce valores a la grilla en forma de rows ( filas)

Vale pero algo que quiero agregar a importante en una grilla son sus propiedades



propiedades

2 Permite al usuario agregar un linea de estar en false solo podra por codigo. muy util para  controlar los valores dentro de la grilla


3 Permite al usuario borrar un fila entera en la grilla si esta true

4 cambia el color de fondo de la grilla

5 read only: esta propiedad es sumamente importante pues no permite editar  en tiempo de ejecion los valores de la grilla se recomienda esta siempre false para que estos valores esten protegidos 

al final de todo debe quedar asi =)


Ejercicio hecho





NestJs Error on SecretKey for JWToken

  Imagine this you are coding happy, configuring your module has   auth.module.ts   using on your register the classic call to get env value...