ANÁLISIS DE SISTEMAS - 2

55
CORPORACIÓN IBEROAMERICANA DE ESTUDIOS DEPARTAMENTO DE PUBLICACIONES GUIA DE TRABAJO DE INGENIERIA DEL SOFTWARE I SEGUNDA SESIÓN Elaborada por JOSE GILBERTO MOLINA _____________________________________________________________________ _____________________________________________________________________ Programas Capacitación Técnica y Empresarial “Por una Bogotá más Productiva” 1

Transcript of ANÁLISIS DE SISTEMAS - 2

EL SISTEMA DE INFORMACIN (SI)

CORPORACIN IBEROAMERICANA DE ESTUDIOS

DEPARTAMENTO DE PUBLICACIONES

GUIA DE TRABAJO

DE INGENIERIA DEL SOFTWARE I

SEGUNDA SESINElaborada por

JOSE GILBERTO MOLINABOGOTA D.C.NOMBRE : ____________________________________________

C.C. : ___________________________________________

CARRERA : ____________________________________________

JORNADA : MARTES Y MIERCOLES ( ) AM____PM____

JUEVES Y VIERNES ( ) AM____PM____

SBADOS ( ) AM____ PM____

DOMINGOS ( )

NOMBRE DEL PROFESOR

: ________________________

FECHA

: ________________________

CALIFICACIN

: ________________________

_____________________

Firma Docente

Sr. Docente : No firme la cartilla si no est debidamente diligenciada en todos sus campos.DERECHOS DEL ESTUDIANTE EN EL AULA DE CLASE

Exigir el uso de la cartilla

Exigir firma y sello de la cartilla por parte del docente.

Exigir sus notas al final del mdulo.NINGUNA RECLAMACIN SERA ACEPTADA SI SU CARTILLA NO EST DILIGENCIADA EN TODOS SUS CAMPOS, CON FIRMA Y SELLO DEL DOCENTE CORRESPONDIENTE.

MANLISIS DE SISTEMASGUA DE TRABAJO

SESION No 2OBJETIVOS

Dar a conocer al estudiante las tcnicas, metodologas y herramientas que le permita realizar un apropiado anlisis de cualquier sistema de informacin.

Realizar un anlisis claro y viable del nuevo sistema con base en la informacin recopilada del sistema actual.

METODOLOGA

Se tiene establecido durante cada semana 4 horas tericas. La Metodologa est apoyada en un 50% por una sesin de cuatro horas semanales de clase, orientadas por un docente que brinda las herramientas bsicas para el desarrollo del mdulo y un 50% est compuesto por el trabajo que el estudiante desarrolle fuera del aula de clase con los ejercicios, lecturas e investigacin que debe realizar para la siguiente sesin. Este proceso tiene como pilar de formacin las guas de trabajo.

BIBLIOGRAFA

Kendall Edgard, Kendall Julia. Anlisis y Diseo de Sistemas. Ed Pearson Education. Mxico. 997.

Senn James. Anlisis y Diseo de Sistemas. Ed. Mc Graw Hill. Mxico. 2001.

Martin, James y Odell James. Anlisis y Diseo Orientado por Objetos. Ed. Prentice Hall. Mxico. 1995.

ALLEN WEIS, Mark. Estructuras de datos y algoritmos. Wilmington E.U.A: Addison Wesley Iberoamericana, 1995. 486 p.

BECERRA SANTAMARA, Cesar. Algoritmos conceptos bsicos. Bogot: Kimpres, 1993. 391 p.

BRASSARD Y BRATLEY. Fundamento de algoritmia. Espaa: Prentice-All, 1997. 579 p.

CAIRO BATTISTUTTI, Osvaldo. Metodologa de la programacin. Mxico: Alfaomega, 1995. 1009 p.

CHAVES TORRES, Anvar. Algoritmos: pseudocdigo, diagama de flujo y diagrama N-S. Pasto Colombia: Multigrfico impresores, 2004. 297p.

CORREA URIBE, Guillermo. Desarrollo de algoritmos 3ra ed. Bogot: McGraw-Hill, 1998. 248 p.

GALVE, Javier et al. Algoritmia. Wilmington E.U.A: Addison Wesley Iberoamericana, 1993. 502 p.

JOYANES AGUILAR, Luis. Programacin en C++ algoritmos, estructuras de datos y objetos. Espaa: McGraw-Hill. 2000. 710 p.

CONTENIDO DE LA SESION No. 021. Definicin de Anlisis de Sistemas.

2. Herramientas para documentar procedimientos y decisiones.

3. Tcnicas para Anlisis de Sistemas

Algoritmos

Pseudocdigo

Diagramas de Nassi-Schneiderman

DESARROLLO DE LA SESION No. 021. DEFINICION DE ANALISIS DE SISTEMAS

El anlisis estructurado, como todos los dems mtodos de anlisis de requisitos, es una actividad de construccin de modelos. Mediante una notacin que es nica de este mtodo, se crean modelos que reflejan el flujo y el contenido de la informacin (datos y control); se parte el sistema funcionalmente y, segn los distintos comportamientos, se establece la esencia de lo que se debe construir.

La tarea del anlisis de sistemas, conlleva ms que slo realizar anlisis de requisitos, pero es en eso donde se focalizar la discusin.

Una de las principales labores del analista es descubrir detalles y documentar la poltica de un negocio que pudiera existir slo en forma implcita, "transmitidas de generacin en generacin" por los usuarios, nunca documentadas formalmente. El analista debe distinguir entre sntomas, problemas del usuario y causas. Con sus conocimientos de la tecnologa de los computadores, el analista debe ayudar al usuario a explorar aplicaciones novedosas y ms tiles de stos as como nuevas formas de hacer negocios. Aunque muchos de los sistemas antiguos slo se limitaban a perpetuar el negocio original del usuario, pero a velocidades electrnicas, hoy en da los analistas se enfrentan al desafo de ayudar al usuario a encontrar productos y mercados radicalmente innovadores, con la ayuda del computador.

2. Herramientas para documentar procedimientos y decisiones.

Seguir procedimientos y tomar decisiones son aspectos importantes de cualquier empresa. De hecho, la administracin misma es, esencialmente, toma de decisiones. Algunas, como aceptar o no ofertas, afectan a todas las organizaciones. Otras, como decidir cundo volver a pedir materiales para el almacn, de penden de pocas personas y siguen procedimientos paso a paso. Sin embargo, las decisiones y procedimientos son de importancia para el analista cuando ste conduce una investigacin de sistemas dentro de la empresa. (El desarrollo de un sistema para reabastecer el inventario, por ejemplo, sin examinar la decisin sobre qu cantidad de un determinado artculo incluir en el pedido, puede conducir a un desastre.Hay varias herramientas para el estudio de procedimientos de operacin y de los pasos a seguir para la toma de decisiones junto con los medios para documentar estos aspectos en el estudio.

Una herramienta es cualquier dispositivo, objeto u operacin utilizada para ejecutar una tarea especfica. El analista de sistema depende de las herramientas para realizar su trabajo de la misma manera que otras personas de sus actividades cotidianas.Las herramientas ayudan al analista a integrar los datos recopilados por los diversos mtodos (encuestas, entrevistas, observacin de operaciones y revisin de documentos).

Entre las metodologas para documentar procedimientos se encuentran: Algoritmos, Pseudocdigo, Diagramas de Yourdon, Diagramas de Gane y Sarson, Diagramas de Nassi-Schneiderman, Diagramas de Flujo de Datos, Diagramas de Procesos, Diagramas HIPO, Diagramas de Warnier-Orr, rboles de Decisin, Tablas de Decisin, Herramientas CASE, Modelo Entidad-Relacin, Diccionario de Datos.

En esta seccin daremos a conocer las tcnicas de Algoritmos, Pseudocdigo y Diagramas de Nassi-Schneiderman.3. TECNICAS DE ANALISIS DE SISTEMASA. Algoritmos

Se sabe que la palabra algoritmo se dio en honor del matemtico persa del siglo IX, Khowrizm. Con ste trmino se hace referencia a un conjunto de reglas, ordenadas de forma lgica, para desarrollar un clculo o para solucionar un problema, ya sea de forma manual o utilizando una mquina. Actualmente es frecuente hablar de algoritmo como paso previo al desarrollo de un programa de computador.

Los algoritmos estn, con mayor o menor complejidad, en todas las actividades desarrolladas por el hombre y han sido utilizados por todos, infinidad de veces, sin embargo, cuando se aborda el tema como parte de la educacin formal se mitifica y se difunde el prejuicio sobre que es un tema complicado.

Desde los primeros aos de escolaridad se trabaja con algoritmos, en especial en el campo de las matemticas. Los mtodos utilizados para sumar, restar, multiplicar y dividir son algoritmos que cumplen perfectamente las caractersticas de precisin, finitud, definicin y eficiencia.

Para que la solucin de un problema sea llevada hasta un lenguaje de programacin, los pasos expresados en el algoritmo deben ser lo ms detallados posible, de manera que cada uno de ellos implique una operacin trivial; es decir, que los pasos no impliquen procesos que requieran de una solucin algortmica. En caso de presentarse esta situacin, el algoritmo debe ser refinado, lo que equivale a desarrollar nuevamente el algoritmo para la tarea concreta a la que se hace mencin.

Si el problema que se desea solucionar es muy grande o complejo, es recomendable dividirlo en tareas que se puedan abordar independientemente y que resulten ms sencillas de solucionar. A esto se le llama diseo modular.

Caractersticas de un algoritmoUn algoritmo debe tener al menos las siguientes caractersticas:

Ser preciso: esto significa que las operaciones o pasos del algoritmo deben desarrollarse en un orden estricto, ya que el desarrollo de cada paso debe obedecer a un orden lgico.

Ser definido. Ya que en el rea de programacin, el algoritmo se desarrolla como paso fundamental para desarrollar un programa, es necesario tener en cuenta que el computador solo desarrollar las tareas programadas y con los datos suministrados; es decir, no puede improvisar y tampoco se inventar o adivinar el dato que necesite para realizar un proceso. Por eso, el algoritmo debe estar plenamente definido; esto es, que cuantas veces se ejecute, el resultado depende estrictamente de los datos suministrados. Si se ejecuta con un mismo conjunto de datos de entrada, el resultado ser siempre el mismo.

Ser finito: esta caracterstica implica que el nmero de pasos de un algoritmo, por grande y complicado que sea el problema que soluciona, debe ser limitado. Todo algoritmo, sin importar el nmero de pasos que incluya, debe llegar a un final. Para hacer evidente esta caracterstica, en la representacin de un algoritmo siempre se incluyen los pasos inicio y fin. Presentacin formal: para que el algoritmo sea entendido por cualquier persona interesada es necesario que se exprese en alguna de las formas comnmente aceptadas; pues, si se describe de cualquier forma puede no ser muy til ya que solo lo entender quien lo dise. Las formas de presentacin de algoritmos son: el pseudocdigo, diagrama de flujo y diagramas de Nassi/Schneiderman, entre otras. Correccin: el algoritmo debe ser correcto, es decir debe satisfacer la necesidad o solucionar el problema para el cual fue diseado. Para garantizar que el algoritmo logre el objetivo, es necesario ponerlo a prueba; a esto se le llama verificacin o prueba de escritorio.

Eficiencia: hablar de eficiencia o complejidad de un algoritmo es evaluar los recursos de cmputo que requiere para almacenar datos y para ejecutar operaciones frente al beneficio que ofrece. En cuanto menos recursos requiere ser ms eficiente el algoritmo.

La vida cotidiana est llena de soluciones algortmicas, algunas de ellas son tan comunes que no se requiere pensar en los pasos que incluye la solucin. La mayora de las actividades que se realizan diariamente estn compuestas por tareas ms simples que se ejecutan en un orden determinado, lo cual genera un algoritmo. Por ejemplo, son tareas comunes, realizar una llamada telefnica, buscar un nmero en el directorio telefnico, buscar un anuncio en las pginas amarillas del directorio, preparar caf, regar las plantas, poner en funcionamiento un automvil, cambiar una llanta, entre muchas otras.

Muchos de los procedimientos utilizados para desarrollar tareas cotidianas son algortmicos, sin embargo, esto no significa que todo lo que se hace est determinado por un algoritmo. El cumplimiento de las caractersticas mencionadas anteriormente permitir determinar si un procedimiento es o no es algortmico.

Una receta de cocina para preparar un plato cualquiera puede ser un algoritmo, pero tambin puede no serlo, dependiendo de las especificaciones. Si una de las instrucciones a desarrollar dice aplicar sal al gusto ya puede afirmarse que no es un algoritmo, porque contiene un elemento subjetivo, no definido. Esta misma accin podra aparecer de la forma aplicar 20 gramos de sal, en cuyo caso no se requiere del gusto (subjetivo) de quien lo aplica y por tanto no contradice el principio de la algoritmia.

El primer paso en el diseo de un algoritmo es conocer la temtica a tratar, el segundo ser pensar en las actividades a realizar y el orden en que deben ejecutarse para lograr el objetivo, el tercero y no menos importante es la presentacin formal.

Al algoritmo expresado en un determinado lenguaje de programacin, se denomina programa. Puesto de otra manera, podemos decir que, un programa es la implementacin o expresin de un algoritmo en un determinado lenguaje de programacin siguiendo las reglas establecidas por el lenguaje elegido. En la Figura 2.1 que sigue se muestra la relacin entre problema, algoritmo y programa.

Figura 1.1 Problema, algoritmo y programa

Todo algoritmo debe tener las siguientes caractersticas:

Debe ser preciso, es decir, cada instruccin debe indicar de forma inequvoca que se tiene que hacer.

Debe ser finito, es decir, debe tener un nmero limitado de pasos.

Debe ser definido, es decir, debe producir los mismos resultados para las mismas condiciones de entrada.

Todo algoritmo puede ser descompuesto en tres partes: Entrada de datos.

Proceso.

Salida de resultados.

SIMBOLOS DE UN DIAGRAMA DE FLUJO

Con la colaboracin del profesor, dibuje y escriba el propsito de cada uno de los smbolos de un diagrama de flujo:Nombre del SmboloGraficoPropsito

Inicio / Fin

Proceso

Lectura de datos

Reporte

Direccin

Conector Interno

Conector externo

TALLER EN CLASECon base en los smbolos de un diagrama de flujo realice los algoritmos para dar solucin a los siguientes ejercicios planteados:

1. Leer dos nmeros (a y b), calcular su suma (c) y mostrar su resultado

2. Leer un nmero y escribir si es mayor o menor que 100.

3. Dado como dato la calificacin de un alumno en un examen, escriba aprobado en caso de que la calificacin fuese mayor que 3.5 o reprobado en caso contrario.

4. Desarrollar un algoritmo que capture un carcter y determine si es carcter numrico.

5. Elaborar un programa que lea un carcter y determine si es mayscula.

6. Elaborar un programa que lea un carcter y determine si es alfabtico.

7. Elaborar un programa que lea un carcter y determine si esta entre a y p.

B. Pseudocdigo

El pseudocdigo o seudocdigo es una manera genrica de describir un algoritmo.El pseudocdigo describe un algoritmo utilizando una mezcla de frases en lenguaje comn, instrucciones de programacin y palabras clave que definen las estructuras bsicas.

El objetivo del pseudocdigo es permitir que el programador se centre en los aspectos lgicos de la solucin, evitando las reglas de sintaxis de los lenguajes de programacin.

El pseudocdigo es un lenguaje de pseudoprogramacin utilizado para escribir algoritmos computacionales. Como lenguaje de pseudoprogramacin, el pseudocdigo es una imitacin de uno o ms lenguajes de programacin. De esta manera podemos encontrar pseudocdigos orientados a lenguajes de programacin como Pascal, Java, C, C++, etc.

Variables

Una variable es una localizacin o casillero en la memoria principal que almacena un valor que puede cambiar en el transcurso de la ejecucin del programa. Cuando un programa necesita almacenar un dato, necesita una variable. Toda variable tiene un nombre, un tipo de dato y un valor. Antes de poder utilizar una variable es necesario declararla especificando su nombre y su tipo de dato. Para declarar declarar variables usaremos los siguientes formatos:

Declaracin de una variable:tipo nombre

Declaracin de varias variables con el mismo tipo de dato: tipo nombre1, nombre2, nombre3, ..., nombren

Donde:

TipoEs el tipo de dato de la variable que puede ser: ENTERO (si la variable almacenar un nmero entero), REAL (si la variable almacenar un nmero decimal), CARACTER (si la variable almacenar un carcter), CADENA (si la variable almacenar un conjunto de caracteres) o LOGICO (si la variable almacenar el valor verdadero o el valor falso).

Nombre1, nombre2, ..., nombren Nombres de las variables. El nombre de una variable debe comenzar con una letra, un smbolo de subrayado o un smbolo de dlar. Los dems caracteres del nombre puede ser letras, smbolos de subrayado o smbolo de dlar. Debe considerarse tambin que una letra mayscula se considera diferente de una letra minscula.

Ejemplo:- Declaracin de variables.

La siguiente instruccin declara la variable edad de tipo ENTERO y la variable descuento de tipo REAL.

ENTERO edadREAL descuento

Esto crea los casilleros de memoria edad y descuento. Luego de la creacin, las variables estn indefinidas (?).

Edad?

descuento?

La siguiente instruccin declara las variables nota1, nota2 y nota3, todas de tipo ENTERO.

ENTERO nota1, nota2, nota3

Esto crea los casilleros de memoria nota1, nota2 y nota3. Luego de la creacin, las variables estn indefinidas (?).

nota1?

nota2?

nota3?

Literales

Se denominan literales a todos aquellos valores que figuran en el pseudocdigo y pueden ser:

Literales enteros12, 20300, 15, etc.

Literales reales3.1416, 2345.456, etc.

Literales de carcter'a', 'B', ';', '