viernes, 17 de febrero de 2012

ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION

Análisis y Desarrollo de Sistemas de Información 
     

COMPETENCIA: Definir los requerimientos necesarios para construir el sistema de información de acuerdo con las necesidades del cliente.

Resultados de Aprendizaje
·     
  • Aplicar las técnicas de recolección de datos, diseñando  los instrumentos necesarios para el procesamiento de información, de acuerdo con la situación planteada por la empresa.
  • Elaborar mapas de procesos que permitan identificar las áreas involucradas en un sistema de información, utilizando herramientas informáticas y las Tic’s, para generar informes según las necesidades de la empresa.
  • Plantear diferentes alternativas, de modelos tecnológicos de información empresarial, teniendo en cuenta la plataforma  tecnológica de la empresa y las tendencias del mercado, para dar solución a las situaciones relacionadas con el manejo de la información de la organización.
COMPETENCIA: Analizar los requerimientos del cliente para construir el sistema de información


Resultados de Aprendizaje
  • Interpretar el informe de requerimientos, para determinar las necesidades tecnológicas en el manejo de la información, de acuerdo con las normas y protocolos establecidos en la empresa.
  • Representa el bosquejo de la solución al problema presentado por el cliente, mediante la  elaboración de diagramas de casos de uso,  apoyado en el análisis del informe de requerimientos, al confrontar la situación problema con el usuario según  normas y protocolos de la organización
  • Construir el modelo conceptual del macro-sistema frente a los requerimientos del cliente,  mediante el uso e interpretación de la información levantada, representado en diagramas de clase, de interacción, colaboración y contratos de operación, de acuerdo con las diferentes secuencias, fases y procedimientos del sistema.

TEMARIO




TEMA
1
Información: Elementos, técnicas de recolección, organización y análisis de datos, presentación de resultados.

2
• Sistemas de Información: Elementos, clasificación, características

3
• Teoría general de sistemas: Conceptos, características

4
• Enfoque sistémico: Concepto, características, aplicación.

5
• Procesos: identificación, tipos, características, metodologías de análisis, elaboración de mapas, identificación de procesos críticos a mejorar y enfoques de mejoramiento
6
• Hardware: Historia, clases, tipos de dispositivos

7
• Redes: Tipos, características

8
Motores de bases de datos: Características, clasificación

9
• Software: Historia, taxonomía
Sistemas operativos: Conceptos, características

10

Informes de requerimientos: Análisis, interpretación y toma de decisiones

11

Calidad de Software: Historia, características, metodologías y normas.

12



Lógica : Fundamentos, métodos (En esta parte : Algoritmos, DFD, Pseudocódigo)

Gestión de procesos: Tipos, características, metodologías.

Orientación a Objetos: Conceptos, fundamentos del análisis, metodologías
(RUP, UML), técnicas de programación

Datos: Concepto, estructura, diccionario de datos, bases de datos, técnicas de programación

mini especificaciones: Definición, características, casos de aplicación

Informe de análisis: Tipos, características y elaboración.


Metodología de trabajo

Exposiciones: Los temas en rojo son  los temas de exposición para los aprendices, (se organizan equipos de trabajo)

Teórico-prácticas: Conceptos básicos de programación, resolución de problemas mediante algoritmos, DFD, Pseudocódigo, UML
(diagrama de procesos, casos de uso).

Programas de apoyo: DFD, STAR UML, Pseint




Ingenieria del software ( grupo 2)
View more PowerPoint from mariaccuyares



Algunos videos utilizados para dar mayor claridad sobre los temas socializados

Amanecer de la Red  



Topologías de Red




Ingeniera de Software



                              III TRIMESTRE ADSI

Java está relacionado con C++, que es un descendiente directo de C. Java hereda la mayor parte de su carácter de estos dos lenguajes. 


1. Actividad. Hacer un ensayo en formato Springer sobre la Historia, evolución y principios ( Encapsulación, Herencia, Polimorfismo) de JAVA


TALLER Nº 1. Manejando Eclipse

En el entorno de desarrollo Eclipse todo archivo se almacena dentro de un proyecto. Todo documento, carpeta, archivo de código fuente (.java) y código compilado (.class) tiene que estar contenido dentro de este proyecto.

1. Crear un nuevo proyecto
File-new.Project

2. Crear una carpeta fuente para los archivos .java, las carpetas fuentes ("source folders") almacenan los archivos de código fuente de java (.java), de manera que eclipse sepa donde encontrarlos y pueda realizar la compilación automática de los mismos caad vez que un archivo sea guardado. Para crear dicha carpeta fuente seleccione la pestaña "Source Folder".

File New-Source Folder

Project Name: Buscamos el nombre del proyecto
Folder Name: le damos cualquier nombre

3. Crear elementos de Java

Java Class

Las clases de JAVA son los archivos ".java"que contienen el código fuente y que serán posteriormente compilados en archivos ".class" Dar clic en File new class ( activar la casilla para el método Main y escribir...

/*ESTE ES UN PROGRAMA SENCILLO DE JAVA

classs ejemplo{


//El programa comienza con una llamada a main ()

Public Static Void Main (Strings args()){ 
int num; // declara una variable llamada num 
num=100; // asigna a num el valor de 100
System.out.println(" HOLA CLASE!!!!");
System.out.println(" ESTE ES NUM:"+num);
num=num*2;
System.out.println("El valor de num *2 es:");
System.out.println(num);

}
      }
4. RUN :corre el programa


ERRORES: Es importante tener en cuenta que en eclipse los errores de compilación se muestran en tiempo real subrayando el fragmento de código adecuado con una línea roja.


IV TRIMESTRE ADSI



Realizar un Resumen del capítulo I. del libro digital:
" La Biblia de C #"  Link :
Capítulo: Fundamentos del Lenguaje C#.
Presentarlo en formato IEEE.
Tiempo de entrega: 12 m del día 4 de febrero.



El siguiente vídeo es un Tutorial paso a paso para la creación de un Servicio Web, utilizando la Tecnología ASP.NET, con el lenguaje de Programación C#


Pasos para crear un sitio web ASP.Net con el Visual Studio



Link de los ejercicios propuestos  http://www.aspnetya.com.ar/

Para crear un proyecto web debemos seleccionar desde el entorno del Visual Studio:
 Archivo ->Nuevo proyecto->  verificamos que este  en C# -> Aplicacion Web ASP.NET, como lo indica el siguiente gráfico: 


En la parte izquierda tenemos el “Cuadro de herramientas”, en esta aparecen las componentes visuales (Label, TextBox, Button etc.) que tenemos disponibles para crear nuestro formulario Web.

En el centro aparece la página en vista de código (se puede ver en “vista de diseño”, “Divisor” y “Código”)

En la parte derecha disponemos del “Explorador de soluciones” donde podemos identificar el directorio donde se almacena nuestra aplicación web y los archivos contenidos en dicho directorio.

Siempre que creamos una aplicación web nos crea un formulario web inicial y lo almacena en el archivo Default.aspx (la extensión aspx indica que se trata de una página dinámica ASP.Net, así como la extensión php indica que su contenido está programado en PHP). Además del archivo Default.aspx se crea otro archivo llamada Default.aspx.vb (éste archivo contiene la codificación en Visual Basic de los eventos que definamos a los controles del formulario). Otro archivo que veremos más adelante y que se crea en forma automático es el web.config.Por último se crea una carpeta llamada App_Data. 


Para probar nuestra pequeña aplicación desarrollada debemos presionar el triángulo verde que se encuentra en la barra de botones, o desde el menú de opciones: Depurar->Iniciar depuración, o presionar la tecla “F5”.

Inmediatamente nos aparece un diálogo que nos invita a modificar el archivo Web.config para que la página se pueda ejecutar en modo depuración (esto nos permite disponer puntos de interrupción o ejecutar paso a paso una aplicación) Seleccionamos el botón “Aceptar” para activar el modo depuración.




Eventos


Controles Label, Button y TextBox.

Crearemos una aplicación que nos permita ingresar dos números y luego en una label muestre la suma de los mismos.El objetivo de este ejercicio es realizar una clase de calculadora, añadimos los botones correspondientes y la parte del código es:





using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace menu
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void TextBox1_TextChanged(object sender, EventArgs e)
        {
    
        }

        protected void btSumar_Click(object sender, EventArgs e)
        {
            int a, b, total;
            a = Convert.ToInt16(txtValor1.Text);
            b = Convert.ToInt16(txtValor2.Text);
            total = a + b;
            txtTotal.Text = Convert.ToString(total);

        }
        protected void btResta_Click(object sender, EventArgs e)
        {
            int a, b, total;

            a = Convert.ToInt16(txtValor1.Text);
            b = Convert.ToInt16(txtValor2.Text);

            total = a - b;

            txtTotal.Text = Convert.ToString(total);
        }

        protected void btMultiplicar_Click(object sender, EventArgs e)
        {
            int a, b, total;

            a = Convert.ToInt16(txtValor1.Text);
            b = Convert.ToInt16(txtValor2.Text);

            total = a * b;

            txtTotal.Text = Convert.ToString(total);

        }
        protected void btDividir_Click(object sender, EventArgs e)
        {
            int a, b, total;

            a = Convert.ToInt16(txtValor1.Text);
            b = Convert.ToInt16(txtValor2.Text);

            total = a / b;
            txtTotal.Text = Convert.ToString(total);
        }
    }
}

Control RadioButton.



protected void Button1_Click1(object sender, EventArgs e)
    {
        int a, b, total;
        a = Convert.ToInt32(txtValor1.Text);
        b = Convert.ToInt32(txtValor2.Text);

        if (RadioButton1.Checked)
        {
            total = a + b;
            txtValorTotal.Text = Convert.ToString(total);
        }
        else if (RadioButton2.Checked)
        {
            total = a - b;
            txtValorTotal.Text = Convert.ToString(total);
        }
        else if (RadioButton3.Checked)
        {
            total = a * b;
            txtValorTotal.Text = Convert.ToString(total);
        }
        else if (RadioButton4.Checked)
        {
            total = a / b;
            txtValorTotal.Text = Convert.ToString(total);
        }


Control CheckBox.

Los controles CheckBox permiten que más de uno esté seleccionado. Similar a los controles RadioButton tiene dos estados (seleccionado o no seleccionado) y esto lo sabemos según el estado de la propiedad Checked.
Codificaremos un nuevo sitio web que permita cargar dos valores y luego calcule la suma y/o resta de los valores ingresados. Como podemos seleccionar ambas operaciones utilizaremos los controles de tipo CheckBox. La interface visual es la siguiente:




Protected Sub Button1_Click(ByVal sender As Object, _
   ByVal e As System.EventArgs) Handles Button1.Click
        Dim x1 As Integer = Me.TextBox1.Text
        Dim x2 As Integer = Me.TextBox2.Text
        Dim resultado As Integer
        Me.Label3.Text = ""
        If Me.CheckBox1.Checked Then
           resultado = x1 + x2
           Me.Label3.Text = "La suma de los dos valores es:"  & resultado
        End If
        If Me.CheckBox2.Checked Then
           resultado = x1 - x2
           Me.Label3.Text = Me.Label3.Text & "<br />La" & _
             " diferencia de los dos valores es:" & resultado
        End If
  End Sub

Control ListBox.


Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
        Dim x1 As Integer = Me.TextBox1.Text
        Dim x2 As Integer = Me.TextBox2.Text
        Me.Label3.Text = ""
        If Me.ListBox1.Items(0).Selected Then
            Dim suma As Integer = x1 + x2
            Me.Label3.Text &= "La suma es:" & suma & "<br />"
        End If
        If Me.ListBox1.Items(1).Selected Then
            Dim resta As Integer = x1 - x2
            Me.Label3.Text &= "La diferencia:" & resta & "<br />"
        End If
        If Me.ListBox1.Items(2).Selected Then
            Dim multi As Integer = x1 * x2
            Me.Label3.Text &= "El producto:" & multi & "<br />"
        End If
        If Me.ListBox1.Items(3).Selected Then
            Dim divi As Integer = x1 / x2
            Me.Label3.Text &= "La division:" & divi & "<br />"
        End If
  End Sub

Como podemos ver primero vaciamos el contenido de la Label3 y procedemos mediante cuatro if a verificar cuales de los elementos del ListBox se encuentran seleccionados:
        If Me.ListBox1.Items(0).Selected Then

Si por ejemplo el primer elemento del ListBox se encuentra seleccionado procedemos a sumar los dos valores almacenados en los TextBox y los agregamos a la Label:

Dim suma As Integer = x1 + x2
Me.Label3.Text &= "La suma es:" & suma & "<br />"

Control DropDownList.





Dim x1 As Integer = Me.TextBox1.Text
        Dim x2 As Integer = Me.TextBox2.Text
        If Me.DropDownList1.Items(0).Selected Then
            Dim suma As Integer = x1 + x2
            Me.Label3.Text = "La suma es:" & suma & "<br />"
        ElseIf Me.DropDownList1.Items(1).Selected Then
            Dim resta As Integer = x1 - x2
            Me.Label3.Text = "La diferencia:" & resta & "<br />"
        ElseIf Me.DropDownList1.Items(2).Selected Then
            Dim multi As Integer = x1 * x2
            Me.Label3.Text = "El producto:" & multi & "<br />"
        ElseIf Me.DropDownList1.Items(3).Selected Then
            Dim divi As Integer = x1 / x2
            Me.Label3.Text = "La division:" & divi & "<br />"
        End If


Ejercicios propuestos

1 – Confeccionar una página que solicite el ingreso del nombre y apellido de una persona (cada elemento en un TextBox), luego al presionar un botón mostrar en una label si alguno de los datos no se cargó.
2 – Confeccionar una página que muestre un examen múltiple choice (disponer 4 preguntas y tres respuestas posibles por pregunta) utilizar controles de tipo RadioButton para la selección de la respuesta correcta.
Mostrar la cantidad de respuestas correctas luego que se presiona un botón.


- Controles de validación
-- 

Hay seis controles Web para la validación de datos de entrada que se pueden incorporar en un Formulario Web.

1. RequiredFieldValidator: Facilita la validación de un dato del formulario chequeando que el mismo tenga algún valor.
2. RangeValidator: Facilita la validación de un dato del formulario contra un valor mínimo y máximo.
3. CompareValidator: Facilita la validación de un dato del formulario contra un valor fijo u otro campo del formulario.
4. CustomValidator: Facilita la validación de un dato del formulario usando una subrutina propia.
5. RegularExpressionValidator: Facilita la validación de un dato del formulario contra una expresión.
6. ValidationSumary: Agrupa los mensajes de error de otros controles en una parte de la página.

Todos los controles de validación tienen tres propiedades fundamentales: ControlToValidate, Text y IsValid. Todos los controles derivan de la clase BaseValidator.
La propiedad ControlToValidate contiene la referencia del control del formulario que queremos validar.
La propiedad Text almacena el mensaje de error que queremos que se muestre en la página.
Por último la propiedad IsValid almacena True en caso que el control pase el test de validación.

Cuando empleamos controles de validación con el Explorer 4.0 o superior, los controles automáticamente usan funciones en JavaScript en el cliente. Esto significa que los controles pueden inmediatamente mostrar los mensajes de error en el browser mientras el usuario está completando el formulario. 

Si hay algún error en la página el código JavaScript previene que el usuario pueda enviar los datos al servidor.

En caso de emplear navegadores más antiguos los controles que veremos seguirán funcionando, pero la validación se realizará en el servidor.Para probar este control haremos una página que solicite el nombre de usuario (mostraremos un error si el operador no ingresa texto en el TextBox)

Realicemos una prueba con cada control... 

Control: RequiredFieldValidator: Utilizarlo para ingresar nombre de usuario

Para probar este control haremos una página que solicite el nombre de usuario (mostraremos un error si el operador no ingresa texto en el TextBox). La interface visual es la siguiente: 










El mensaje en rojo debe aparecer si presionamos el botón “Confirmar” y no se ingresó texto en el TextBox. En el control RequiredFieldValidator es importante inicializar las siguientes propiedades:




Control: RangeValidator


El control RangeValidator especifica un valor mínimo y máximo para un control TextBox. Podemos utilizar el control para chequear el rango de enteros, fechas, cadenas o valores reales. Las propiedades más importantes del control son:
· ControlToValidate El campo del formulario a validar.
· MinimumValue El valor mínimo a validar en el rango de valores.
· MaximumValue El valor máximo a validar en el rango de valores.
· Text El mensaje de error a mostrar.
· Type El tipo de comparación a ejecutar (valores posibles: String, Integer, Double, Date, Currency)
Para probar este control haremos una página que solicite ingresar la edad de una persona que se postula para un trabajo (la misma debe estar en el rango de 18 a 35 años)
Disponemos sobre el formulario los siguientes objetos: Label, TextBox, Button y un RangeValidator. La interface que debemos implementar: 




El objeto RangeValidator lo debemos configurar con los siguientes valores: 


Control: CompareValidator



El control CompareValidator permite comparar un valor de un control con otro control o comparar el valor de un control con un valor fijo.
Las propiedades más importantes son:
· ControlToValidate El campo del formulario a validar.
· ControlToCompare El campo del formulario contra el cual se efectúa la comparación.
· Operator El operador a utilizarse en la comparación (los valores posibles son Equal, NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual y DataTypeCheck)
· Text El mensaje de error a mostrar.
· Type El tipo de comparación a ejecutar (valores posibles String, Integer, Double, Date, Currency)
· ValueToCompare El valor fijo a comparar.
Para probar este control implementaremos una página que realizaría el alta de la tabla usuarios (debe permitir el ingreso del nombre de usuario y su clave, esta última dos veces, con el objetivo de asegurarse que la ingresó correctamente), emplearemos un objeto de la clase CompareValidator para validar el ingreso repetido de la clave.
La interface visual de la página es:




 Al objeto CompareValidator le configuramos las propiedades de la siguiente manera:





Control: CustomValidator





El control CustomValidator permite validar el campo de un formulario con una función de validación propia. Debemos asociar nuestro control CustomValidator con un evento propio.
Para probar este control implementaremos una página que solicite el ingreso de un número múltiplo de 5, en caso de ingresar un valor incorrecto mostraremos un mensaje de error.
La interface a implementar es la siguiente:


Primero configuramos las propiedades del objeto CustomValidator con: 






Control: RegularExpressionValidator

El control RegularExpressionValidator permite validar el valor de un campo de un formulario con un patrón específico, por ejemplo un código postal, un número telefónico, una dirección de mail, una URL etc.
El planteo de un RegularExpression es bastante compleja, pero el Visual Studio .Net provee una serie de expresiones regulares preconfiguradas.
Para probar este control, haremos una página que solicite el ingreso de un mail y mostraremos un error en caso que el usuario ingrese un mail mal formado.
La interface visual de la página es la siguiente:



Al objeto de la clase RegularExpressionValidator le configuramos las propiedades con los siguientes valores: 



Control: ValidationSummary






Cuando tenemos formularios con gran cantidad de controles puede llegar a ser dificultoso ubicar los errores en la página. El Framework de la .Net trae otra clase llamada ValidationSumary que muestra todos los errores de la página agrupados en una parte de pantalla. Para utilizar el control ValidationSummary es necesario fijar el valor de la propiedad ErrorMessage para cada control de validación que tiene la página. Es importante no confundir la propiedad Text que aparece en la misma posición donde la disponemos con la propiedad ErrorMesage que contiene el mensaje de error que mostrará el control ValidationSummary.
Para probar este control haremos una página que solicite la carga del nombre de usuario y su clave en forma obligatoria (mostrando un mensaje de error en caso de dejar vacío los TextBox)
La interface de la página es la siguiente:


Debemos disponer los siguientes objetos sobre el formulario:
1 Button, 2 TextBox, 2 RequiredFieldValidator y un objeto de la clase ValidationSummary.
La propiedad text de los objetos RequiredFieldValidator las inicializamos con un (*) asterisco y las propiedades ErrorMessage con las cadenas: “Debe ingresar el nombre de usuario” y “Debe ingresar la clave” respectivamente. En cuanto al objeto de la clase ValidationSummary no debemos hacer ninguna configuración especifica, solo ubicarlo dentro de la página.












3 comentarios:

  1. Hola muchas gracias por la información brindada.

    ResponderEliminar
  2. Estha mui kompleta, La berdad me cirvio arto, no pence kue fuera de hadsi, fue konstruqtibo para my.
    Grasias

    ResponderEliminar
  3. Hola chica. Estoy en adsi pero de manera virtual. Me encanta esto de la programación y de hecho una vez termine homologaré a ingeniería de sistemas. Me interesaría preguntarte unas cosas. fíjate que en mi ficha no hemos visto siquiera lo que es POO pero me encanta tanto que ya yo me estoy adelantando y manejo terminología como clases, objetos, métodos, métodos constructores, métodos estaticos, constsntes, casting de objetos, colaboración de clases, encapsulación, herencia y polimorfismo. se que aun falta por que esto se parende por el resto de la vida. pero necesitaria comunicarme contigo para que me asesores brevemente sobre algo. gracias y esta muy bueno tu blog.

    ResponderEliminar