¿Qué son las Ciencias Computacionales y en qué se diferencian de la Ingeniería de Software?

Imagen
 En esta entrada del blog voy a compartir lo que yo entiendo como Ciencias Computacionales y su diferencia con la Ingeniería de Software. Cuando alguien escucha Ciencias Computacionales , muchas veces piensa: “Ah, eso es programar apps”, pero no. Es mucho más que eso. En este artículo voy a explicarlo sencillo, sin palabras complicadas. ¿Qué son las Ciencias Computacionales? Las Ciencias Computacionales (o Ciencias de la Computación) son la disciplina que estudia cómo funcionan los procesos de cómputo , cómo se representa la información y cómo resolver problemas usando algoritmos. En pocas palabras: es la ciencia que estudia cómo pensar problemas para que una computadora pueda resolverlos. No se trata solo de programar, sino de entender qué es posible calcular, cómo hacerlo eficiente y cómo modelar problemas del mundo real. ¿De dónde provienen? Las Ciencias Computacionales nacen formalmente en la década de 1930 y 1940, cuando matemáticos comenzaron a preguntarse: ¿Qué problemas p...

Como crear y leer un archivo XML en C#

Hola, la primera entrega para este blog consiste en hacer un sencillo programa en C# con el framework 2.0 que nos permita crear un archivo XML para la configuración de nuestro sistema. Este ejemplo servirá para configurar el acceso a la base de datos de nuestro programa, en este archivo colocaremos la dirección IP, etc, hasta el usuario de la BD, ya cada quien según sus requisitos de seguridad sabrá que incluir y que no en el archivo XML, asi que, comenzamos!! Lo primero que tenemos que hacer es abrir el Visual Studio o SharpDevelop como prefieran y crear un proyecto en donde deberán crear un formulario como este: Les recalco que solo es un ejemplo de caracter ilustrativo (por el asunto de la contraseña y el usuario en el archivo XML). Bien, ahora vamos a crear los métodos que nos servirán para crear el archivo XML.
 private bool fCrearArchivoXml(string sArchivo)
{
bool bCreado = false;
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = (" ");
try
{
using (XmlWriter xmlEscribe = XmlWriter.Create(sArchivo, settings))
{
xmlEscribe.WriteStartElement("ArchivoConfiguracion");
xmlEscribe.WriteStartElement("Configuracion");
xmlEscribe.WriteElementString("IP" , txtIpAddress.Text);
xmlEscribe.WriteElementString("USUARIO", txtUser.Text);
xmlEscribe.WriteElementString("CONTRASENA", txtPassword.Text);
xmlEscribe.WriteElementString("BASEDATOS", txtDataBase.Text);
xmlEscribe.WriteEndElement();
xmlEscribe.WriteElementString("FECHA", DateTime.Now.ToString());
xmlEscribe.WriteEndDocument();
bCreado = true;
xmlEscribe.Flush();
}
}
catch (Exception ex)
{
MessageBox.Show("Error al crear el archivo xml fCrearArchivoXml(): " + ex.Message);
}
return bCreado;
}


En este método definimos las etiquetas que formarán nuestro archivo XML. Ahora, para mandar llamar el método anterior debemos de crear el evento click del botón "Crear", dentro de ese evento colocaremos el llamado a la siguiente función:

private void fGuardar()
{
string sRutaParaGuardarDocumento = "";
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "Archivos XML|*.xml|Todos los archivos|*.*";
saveFileDialog1.Title = "Guardar archivo de configuración xml.";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
sRutaParaGuardarDocumento = saveFileDialog1.FileName.ToString();
if(fCrearArchivoXml(sRutaParaGuardarDocumento))
{
MessageBox.Show("Archivo de configuración creado.","Makaveli XCF");
fLimpiarCampos();
txtIpAddress.Focus();
}
}
}
El código anterior se encarga de crear un Save File Dialog para ubicar en que parte queremos guardar el archivo XML cuando lo creamos. Para terminar este sencillo ejemplo solo nos falta validar los campos (que eso no lo explicaré) y la función para abrir y modificar el archivo XML. Para modificar el archivo XML debemos generar el evento en el menu "Archivo" de la ventana de nuestra aplicación, en él, deberemos colocar el llamado a un método nombrado "Abrir", a continuación el código fuente en orden.

void OptLoadClick(object sender, EventArgs e)
{
fAbrir();
}

private void fAbrir()
{
OpenFileDialog dlgNombreArchivo = new OpenFileDialog();
string sRuta = "";
dlgNombreArchivo.Filter = "Archivo de configuración xml|*.xml|Todos los archivos|*.*";
dlgNombreArchivo.Title = "Makaveli XCF.";
try
{
if (dlgNombreArchivo.ShowDialog() == DialogResult.OK)
{
sRuta= dlgNombreArchivo.FileName.ToString();
fObtenerDatosXml(sRuta);
}
}
catch (Exception ex)
{
MessageBox.Show("Error al abrir el archivo de configuración xml." + ex.Message,"Makaveli XCF",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}

private void fObtenerDatosXml(string sRuta)
{
try
{
using (XmlReader reader = XmlReader.Create(sRuta))
{
reader.Read();
reader.ReadStartElement("ArchivoConfiguracion");
reader.ReadStartElement("Configuracion");
reader.ReadStartElement("IP");
txtIpAddress.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadStartElement("USUARIO");
txtUser.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadStartElement("CONTRASENA");
txtPassword.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadStartElement("BASEDATOS");
txtDataBase.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadEndElement();
reader.ReadStartElement("FECHA");
lblPor.Visible=true;
lblCopyrigth.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadEndElement();
}
}
catch (FileLoadException ex)
{
MessageBox.Show("Error al obtener datos del archivo xml de respaldo: " + ex.Message);
}
}
Aquí tenemos una imágen del archivo XML creado. Listo, con esto concluimos la primera entrega de mi bog, espero que a alguien le sea útil este código, la próxima entrega será algo fácil, validar los caracteres que teclee el usuario en los campos de un formulario en C#.

Es cuánto. 

Comentarios

Mi foto
José Alfonso Aguilar
Mazatlán, Sinaloa, Mexico
Me gusta aprender y escribir sobre tecnología y desarrollo. Soy Ingeniero en Sistemas Computacionales, trabajo como Profesor-Investigador en la Facultad de Informática Mazatlán, de la Universidad Autónoma de Sinaloa. México. Me gusta combinar la docencia-investigación con el giro profesional del desarrollo de software y gestión de proyectos de innovación.

Entradas más populares de este blog

Historia y versiones de HTML (HyperText Markup Language)

Prototipado en Ingeniería de Software: Modelar antes de Construir

Hablemos de Propiedad Intelectual