Вы находитесь на странице: 1из 59

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

SISTEMA PARA EL CONTROL DE VENTAS E INVENTARIOS DE LA EMPRESA COPIAZ.

Presentado por:

ALOR MARTINEZ JORGE PAULINO


CHE MARTINEZ MARTHA SOLEDAD

Director:
RICARDO OROZCO ALOR

TESIS PARA OBTENER EL TITUTLO


DE INGENIERO EN INFORMATICA

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS


FACULTAD DE INFORMATICA
INGENIERIA EN INFORMATICA
COATZACOALCOS, VERACRUZ
2014

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS


Tabla de contenido
Introduccin................................................................................................................ 1
Antecedentes y definicin del proyecto......................................................................2
Propuesta de solucin................................................................................................. 3
Objetivo general.......................................................................................................... 3
Objetivos especficos................................................................................................... 4
Justificacin................................................................................................................. 4
MARCO TERICO......................................................................................................... 6
INTRODUCCIN A LOS LENGUAJES DE PROGRAMACIN..............................................6
Lenguaje de programacin c#.................................................................................... 8
Contexto general de c#........................................................................................... 9
Caractersticas principales de C#............................................................................9
Sencillez de uso....................................................................................................... 9
Modernidad............................................................................................................ 10
Orientado a objetos............................................................................................... 10
Recoleccin de basura........................................................................................... 10
Instrucciones seguras............................................................................................ 10
Unificacin de tipos................................................................................................ 11
Extensin de modificadores................................................................................... 11
Eficiente................................................................................................................. 11
Compatible............................................................................................................. 12
Ventajas de programar en c#................................................................................... 12
Las ventajas que ofrece C# frente a otros leguajes de programacin son:...........13
Ventajas frente a java............................................................................................ 14
Software necesario................................................................................................ 14
Visual studio.............................................................................................................. 15
Ventajas de programar con visual studio...............................................................17
Conceptos y metodologa para programar en visual studio...................................18
Ventajas de las aplicaciones creadas con visual studio..........................................19
Lenguaje de programacin java................................................................................ 20
La plataforma de Java............................................................................................ 22
Entornos de desarrollo para Java...........................................................................25
El proceso de edicin y compilacin......................................................................25

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS


La codificacin de programas Java.........................................................................26
El proceso de desarrollo de software.....................................................................27
Introduccin a las bases de datos.............................................................................30
Qu es y para qu sirve una base de datos?........................................................30
El porqu de las bases de datos............................................................................30
Ventajas del uso de bases de datos:......................................................................31
El modelo entidad-relacin........................................................................................ 32
Qu metodologa utilizar?........................................................................................ 34
Desarrollo en cascada............................................................................................ 34
Qu es la metodologa de cascada?........................................................................34
Fases del modelo................................................................................................... 35
Anlisis de requisitos................................................................................................ 35
Diseo del Sistema................................................................................................... 35
Diseo del Programa................................................................................................. 36
Codificacin............................................................................................................... 36
Pruebas..................................................................................................................... 36
Verificacin................................................................................................................ 36
Mantenimiento.......................................................................................................... 37
Ventajas y desventajas de la metodologa en cascada.............................................37
Desarrollo en espiral.............................................................................................. 38
Qu es la metodologa de espiral?.......................................................................38
Qu son los ciclos o iteraciones de la metodologa en espiral?............................38
Tareas..................................................................................................................... 39
Determinar o fijar objetivos................................................................................... 39
Desarrollar, verificar y validar(probar)...........................................................................39
Anlisis del riesgo..................................................................................................... 40
Ventajas y desventajas de la metodologa espiral.....................................................40
Sus desventajas son:................................................................................................. 40
Desarrollo en rup (rationalunifiedprocess).............................................................41
Qu es la metodologa rup?..................................................................................... 41
Principios para desarrollar en base a rup...............................................................41
El RUP est basado en 6 principios clave que son los siguientes:.......................................41
Adaptar el proceso.................................................................................................... 41

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS


Equilibrar prioridades................................................................................................ 42
Demostrar valor iterativamente................................................................................42
Colaboracin entre equipos...................................................................................... 42
Elevar el nivel de abstraccin................................................................................... 42
Enfocarse en la calidad.............................................................................................. 43
Cules son las principales caractersticas de la metodologa rup?.......................46
Fases...................................................................................................................... 46
Artefactos.............................................................................................................. 48
Qu metodologa utilizar y l porque es la mejor opcin?.......................................50
Bibliografa................................................................................................................ 52

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS


Ilustracin 1 lenguaje en java..................................................................................................................... 21
Ilustracin 2 Elementos de la plataforma java............................................................................................ 24
Ilustracin 3 Modelo entidad relacin...................................................................................................... 33
Ilustracin 4 Ciclo de vida........................................................................................................................... 44

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Introduccin
El siguiente protocolo de investigacin presenta de manera simple y con una lectura sencilla la
informacin que da seguimiento al desarrollo de un sistema computarizado con el propsito de
optimizar los procesos de ventas e inventarios que actualmente se llevan a cabo en la empresa
Copiaz S.A de C.V.
En el captulo I se pretende dar una explicacin de lo que es la programacin, para ello se inicia
con la definicin de lenguaje de programacin, continuando con una resea de la evolucin y
clasificacin de estos desde el inicio hasta nuestros das.
Posteriormente se explica de manera sencilla que son los lenguajes de programacin visuales,
para continuar con una resea de Visual Studio, adems de conceptos y terminologa necesarios
para programar en ste lenguaje. Finalmente se explica lo que es una base de datos, los modelos
existentes y la creacin y diseo de estas.
En el captulo II, se describirn los principales pasos del proceso de desarrollo de sistemas de
informacin computarizados. Adems se realiza un anlisis de la fotocopiadora Copiaz S.A de
C.V. Se expone la problemtica planteada por los propietarios de la empresa.
Adems, se describe la infraestructura de la empresa, el proceso de adquisicin de los artculos
que venden y la descripcin de estos, el proceso actual de ventas e inventario que manejan y con
base al exhausto anlisis de lo anterior, se plantea el desarrollo de un sistema que satisfaga las
necesidades que tiene la empresa, se incluye el diseo lgico del mismo y la base de datos que se
utilizar, adems del diseo de los diagramas de todos los mdulos de aplicacin.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Antecedentes y definicin del proyecto.


COPIAZ S.A. De C.V. Es una institucin dedicada a la venta al pblico de artculos de papelera
y fotocopiado, dichos artculos son adquiridos por medio de diferentes proveedores. Dentro de la
empresa existen tres procesos principales, los pedidos a los proveedores, las ventas y los
inventarios (del almacn y la sala de exhibicin).
Los artculos de papelera son adquiridos por medio de pedidos a los proveedores mediante
llamadas telefnicas o por medio de correos electrnicos, etc. Un pedido a un proveedor se
realiza cuando alguno de los artculos de los que se venden en la empresa se ha agotado en el
almacn o cuando los artculos existentes en el inventario no son suficientes para cubrir algn
pedido o compra de los clientes. El problema principal es que, debido a errores del personal al
momento de llenar el formato de pedido o lista de faltantes, en muchas ocasiones la informacin
incluida en este no coincide con la cantidad y modelo de artculos que llegan al almacn de la
empresa, lo cual hace que la entrega se retrase y esto ocasiona quejas y malestar por parte de los
clientes.
Actualmente tanto en almacn como en la sala de exhibicin, el inventario se lleva a cabo
registrando las salidas y entradas en una bitcora y posteriormente realizando un conteo de los
productos existentes en ambas, para al final comparar el resultado obtenido del conteo con el de
la bitcora, la empresa lleva a cabo el inventario cada 30 das y cabe mencionar que en ocasiones
este se realiza en ms tiempo. La problemtica surge debido a que en la mayora de las veces no
coincide el inventario lgico (el obtenido de los totales registrados en la bitcora) con el fsico (el
obtenido del conteo directo de los artculos existentes en almacn y en exhibicin) y al final
cuando el administrador desea conocer el resultado del inventario, se deben consultar uno a uno

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

los registros de entrada y salida en la bitcora para encontrar el error lo cual implica demasiado
tiempo, y generalmente el problema se debe a la duplicidad de registros o al extravo de stos

Finalmente Este proceso realizado manualmente no garantiza que todas las solicitudes de
productos y el control de estos mismos puedan ser atendidos con rapidez y brndales la atencin
adecuada a la misma empresa y a sus clientes.

Propuesta de solucin
Despus de conocer los antecedentes y la problemtica de la empresa, se propone el desarrollo de
un sistema computarizado y de una base de datos que permita a la empresa optimizar el manejo y
el control de la informacin, dicho sistema permitir al administrador y a los propietarios tener
informacin organizada y confiable de una manera gil.

Objetivo general
Proporcionar a la empresa Copiaz S.A De C.V., una aplicacin informtica que permita optimizar
los procesos de ventas e inventarios haciendo uso del equipo de cmputo existente y con esto
facilitar el almacenamiento, control de la informacin que se maneja en cada uno de los procesos
mencionados, y que adems agilice las consultas a dicha informacin precisa y ordenada al
momento que los administradores, la propietaria o el personal de la empresa la requieran.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Objetivos especficos

Disear el modelo de un sistema que permita mejorar los procesos y solucionar las

necesidades de administracin de la informacin en la empresa.


Crear una base de datos para almacenar los datos requeridos para el buen funcionamiento del

sistema.
Disear las interfaces del sistema de modo que sea fcil de entender y de utilizar.
Codificar el sistema en base al diseo previamente realizado.
Instalar el sistema, capacitar al personal y mantener el sistema a prueba durante un periodo de

30 das, para evaluar su funcionamiento.


Implantar el sistema en la empresa, sujeto a futuras mejoras o actualizaciones

Justificacin
Con el desarrollo del sistema de control de ventas e inventarios, se pretende que la empresa
Copiaz S.A de C.V, pueda mejorar los procesos de ventas e inventarios, esto con el propsito de
brindar un servicio de mayor calidad a sus clientes, adems de mejorar la eficiencia del personal
y la calidad de los datos e informacin que requieren los administradores para tener una mejor
visin de las ganancias de la empresa, as mismo el sistema contribuir a un disminucin
considerable en los errores y conflictos existentes en los procesos actuales.

Se enfatiza agilizar la bsqueda de productos que no estn del todo a la vista de los
vendedores dependiendo de las descripciones que proporcione el cliente cuando quiera comprar
algn artculo de papelera, Porque el objeto todos los artculos como lo son sacapuntas, tijeras,

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

correctores, cuadernos, lapiceros, solo por mencionar algunos se etiquetaran con un folio que
permitir identificarlo rpidamente en el rea de muestrario o anaqueles.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

MARCO TERICO
Este captulo pretende dar una introduccin a la programacin, para ello se ha comenzado con la
definicin de lenguaje de programacin, continuando con una resea de la evolucin y
clasificacin de los lenguajes de programacin desde el inicio hasta nuestros das.
Posteriormente se explica de manera sencilla en qu consisten los lenguajes de programacin
visuales, para continuar con una revisin de Visual Studio, adems de conceptos y terminologa
necesarios para programar en este lenguaje.
Finalmente se explica lo que es una base de datos, conceptos y terminologa, para comprender la
importancia del uso de estas dentro de los sistemas de informacin.

INTRODUCCIN A LOS LENGUAJES DE PROGRAMACIN


Con la idea de facilitar las tareas tediosas y cansadas de las personas, el hombre ha venido
inventado diversas herramientas a lo largo de nuestra historia, que nos permiten tener una mejor
calidad de vida. Las computadoras son uno ms de los inventos del hombre, aunque debemos
decir que las tecnologas para su fabricacin y explotacin han tenido un desarrollo
sorprendente a partir de la segunda mitad del siglo XX. Esta herramienta por s sola no es capaz
de efectuar ninguna tarea, es tan slo un conjunto de cables y circuitos que necesitan recibir
instrucciones por parte de los humanos para desempear alguna tarea.

El problema en s, se puede expresar en cmo vamos a poder hacer que un conjunto de


circuitos desempeen una determinada tarea y nos entreguen los resultados que nosotros

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

esperamos?, es decir, de qu manera se puede lograr la comunicacin entre el hombre y la


computadora?

Fue as como, tratando de dar una solucin al problema planteado, surgieron los lenguajes de
programacin, que son como un lenguaje cualquiera, pero simplificado y con ciertas normas,
para poder trasmitir nuestras rdenes a la computadora.

Por otro lado, como se sabe, un conjunto de circuitos no entendera ningn lenguaje que
nosotros conozcamos, por ms sencillo que ste parezca. Los circuitos en todo caso, slo
reconocen presencia o ausencia de energa, es decir que debemos hablarle a la mquina en su
propio lenguaje (presencia y ausencia de energa, 0 y 1), o nuestro lenguaje deber de ser
traducido a un lenguaje binario cuyo alfabeto es el 0 y el 1, mediante las herramientas
desarrolladas para llevar a cabo esta tarea, las cuales reciben el nombre de traductores, y como
veremos ms adelante, los hay de muchos tipos, dependiendo de caractersticas ms especficas
del lenguaje a traducir y de la manera de llevar a cabo su traduccin. Como es de suponer, para
crear un lenguaje de programacin, deberemos crear la herramienta que lo traduce, y es
justamente de ellas, de las que hablaremos a continuacin, para describir como han ido
evolucionando en los ltimos 60 aos.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Lenguaje de programacin c#
El lenguaje de programacin C# fue creado por el dans Anders Hejlsberg que diseo tambin los
lenguajes Turbo Pascal y Delphi. El C# (pronunciado en ingls C sharp o en espaol C
sostenido) es un lenguaje de programacin orientado a objetos. Con este nuevo lenguaje se quiso
mejorar con respecto de los dos lenguajes anteriores de los que deriva el C, y el C++.
Con el C# se pretendi que incorporase las ventajas o mejoras que tiene el lenguaje JAVA. As
se consigui que tuviese las ventajas del C, del C++, pero adems la productividad que posee el
lenguaje JAVA y se le denomino C#.
Algunas de las caractersticas del lenguaje de programacin C# son: Su cdigo se puede tratar
ntegramente como un objeto. Su sintaxis es muy similar a la del JAVA. Es un lenguaje orientado
a objetos y a componentes. Armoniza la productividad del Visual Basic con el poder y la
flexibilidad del C++. Ahorramos tiempo en la programacin ya que tiene una librera de clases
muy completa y bien diseada.
A pesar que el lenguaje C# forma parte de a plataforma .NET, que es una interfaz de
programacin de aplicaciones. C# es un lenguaje independiente que originariamente se cre para
producir programas sobre esta plataforma .NET (Cosio, 2010, pg. 25)
Esta plataforma fue creada entre otras razones porque anteriormente el Visual Basic era uno de
los lenguajes de programacin que se encargaban de desarrollar aplicaciones. El Visual Basic es
un lenguaje orientado a objetos pero algo pobre, porque se quiso que fuese desde su creacin un
lenguaje fcil de aprender para los programadores novatos.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

El Visual Studio no tiene algunas de las caractersticas necesarias como la herencia, los
mtodos virtuales, la sobrecarga de operadores, etc. Que se han conseguido con el C# y la
plataforma .NET.
Contexto general de c#
Aunque es posible escribir cdigo para la plataforma .NET en muchos otros lenguajes, C# es el
nico que a sido diseado especficamente para ser utilizado en ella, por lo que programarla
usando C# es mucho ms sencillo e intuitivo que hacerlo con cualquiera de los otros lenguajes ya
que C# carece de elementos heredados innecesarios en .NET. Por esta razn, se suele decir que
C# es l lenguaje nativo de .NET
En resumen, C# es un lenguaje de programacin que toma las mejores caractersticas de
lenguajes preexistentes como Visual Basic, Java o C++ y las combina en uno solo. Microsoft ha
escrito la mayor parte de la BCL (Biblioteca de Clases Base) usando C#, por lo que su
compilador es el ms depurado y optimizado de los incluidos en el .NET Framework SDK
Caractersticas principales de C#
A continuacin enumeramos las principales caractersticas que definen al lenguaje
de programacin C#. Algunas de estas caractersticas no son propias del lenguaje, sino
de la plataforma .NET, aunque se listan aqu ya que tienen una implicacin directa en el lenguaje.
Sencillez de uso
C# elimina muchos elementos aadidos por otros lenguajes y que facilitan su uso y compresin,
como por ejemplo ficheros de cabecera, o ficheros fuentes IDL1 .12. Es por ello que se dice que
C# es auto contenido. Adems, no se incorporan al lenguaje elementos poco tiles, como por

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

10

ejemplo macros, herencia mltiple u operadores diferentes al operador de acceso a mtodos


(operador punto) para acceder a miembros de espacios de nombres.
Modernidad
Al ser C# un lenguaje de ltima generacin, incorpora elementos que se ha demostrado a lo largo
del tiempo que son muy tiles para el programador, como tipos decimales o
Booleanos, un tipo bsico string, as como una instruccin que permita recorrer colecciones con
facilidad (instruccin foreach). Estos elementos hay que simularlos en otros lenguajes como C++
o Java.
Orientado a objetos
C# como lenguaje de ltima generacin, y de propsito general, es orientado a objetos. C# no
permite la inclusin de funciones ni variables globales que no estn incluidos en una definicin
de tipos, por lo que la orientacin a objetos es ms pura y clara que en otros lenguajes como C++.
Adems, C# soporta todas las caractersticas del paradigma de la programacin orientada a
objetos, como son la encapsulacin, la herencia y el polimorfismo.
Recoleccin de basura
Como ya se coment, todo lenguaje incluido en la plataforma .NET tiene a su disposicin el
recolector de basura del CLR. Esto implica que no es necesario incluir instrucciones de
destruccin de objetos en el lenguaje.
Instrucciones seguras
Para evitar errores comunes como se producan programando en otros lenguajes, en C# se han
impuesto una serie de restricciones en el uso de instrucciones de control ms comunes. Por
ejemplo, la evaluacin de toda condicin ha de ser una expresin condicional y no aritmtica,

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

11

como ocurra por ejemplo en C o en C++. As se evitan errores por confusin del operador
igualdad con el de asignacin. Otra restriccin que se impone en la instruccin de seleccin
Switch, imponiendo que toda selectora de la instruccin finalice con una instruccin break o goto
que indique cul es la siguiente accin a realizar.
Unificacin de tipos
En C# todos los tipos derivan de una superclase comn llamada
System.Object , por lo que automticamente heredarn todos los miembros definidos en esta
clase. Es decir, son objetos. A diferencia de Java, en C# esta caracterstica tambin se aplica para los
tipos bsicos.
Extensin de modificadores
C# ofrece, a travs de los atributos, la posibilidad de aadir a los metadatos del mdulo
resultante de la compilacin de cualquier fuente informacin adicional a la generada por el
compilador que luego podr ser consultada en tiempo de ejecucin a travs de la biblioteca de
reflexin de .NET.
Eficiente
En C#, todo el cdigo incluye numerosas restricciones para garantizar su seguridad, no
permitiendo el uso de punteros. Sin embargo, y a diferencia de Java, existen modificadores para
saltarse esta restriccin, pudiendo manipular objetos a travs de punteros. Para ello basta
identificar regiones de cdigo con el identificador unsafe, y podrn usarse en ellas punteros de
forma similar a como se hace en C++. Esta caracterstica puede resultar de utilidad en situaciones
en las que se necesite gran velocidad de procesamiento.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

12

Compatible
Para facilitar la migracin de programadores de C++ o Java a C#, no slo se mantiene una
sintaxis muy similar a la de los dos anteriores lenguajes, sino que el CLR tambin ofrece la
posibilidad de acceder a cdigo nativo escrito como funciones sueltas no orientadas a objetos,
tales como las DLLs de la API de Win32

Ventajas de programar en c#.

Compila a cdigo intermedio (CIL) independiente del lenguaje en que haya sido
escrita la aplicacin e independiente de la mquina donde vaya a ejecutarse

Recoleccin de basura automtica

Eliminacin del uso punteros, en C# no se necesitan

Capacidades de reflexin

No hay que preocuparse por archivos de cabecera ".h"

No importa el orden en que hayan sido definidas las clases ni las funciones

No hay necesidad de declarar funciones y clases antes de definirlas

No existen las dependencias circulares

Soporta definicin de clases dentro de otras

No existen funciones, ni variables globales, todo pertenece a una clase

Todos los valores son inicializados antes de ser usados (automticamente se inicializan
al valor estandarizado, o manualmente se pueden inicializar desde constructores
estticos)

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

13

No se pueden utilizar valores no booleanos (enteros, coma flotante...) para


condicionales. Es mucho ms limpio y menos propenso a errores

Puede ejecutarse en una sandbox restringida

Las ventajas que ofrece C# frente a otros leguajes de programacin son:


Declaraciones en el espacio de nombres: al empezar a programar algo, se puede definir una o ms
clases dentro de un mismo espacio de nombres.
Tipos de datos: en C# existe un rango ms amplio y definido de tipos de datos que los que se
encuentran en C, C++ o Java.
Atributos: cada miembro de una clase tiene un atributo de acceso del tipo pblico, protegido,
interno, interno protegido y privado.
Pase de parmetros: aqu se puede declarar a los mtodos para que acepten un nmero variable
de parmetros. De forma predeterminada, el pase de parmetros es por valor, a menos que se use
la palabra reservada ref, la cual indica que el pase es por referencia.
Mtodos virtuales y redefiniciones: antes de que un mtodo pueda ser redefinido en una clase
base, debe declararse como virtual. El mtodo redefinido en la subclase debe ser declarado con la
palabra override
Propiedades: un objeto tiene intrnsecamente propiedades, y debido a que las clases en C#
pueden ser utilizadas como objetos, C# permite la declaracin de propiedades dentro de cualquier
clase.
Inicializador: un inicializador es como una propiedad, con la diferencia de que en lugar de un
nombre de propiedad, un valor de ndice entre corchetes se utiliza en forma annima para hacer
referencia al miembro de una clase.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

14

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

15

Ventajas frente a java


-

El rendimiento es, por lo general, mucho mejor


CIL (el lenguaje intermedio de .NET) est estandarizado, mientras que los bytecodes

de java no lo estn
Soporta bastantes ms tipos primitivos (value types), incluyendo tipos numricos sin

signo
Indizadores que permiten acceder a cualquier objeto como si se tratase de un array
Compilacin condicional
Aplicaciones multi-hilo simplificadas
Soporta la sobrecarga de operadores, que aunque pueden complicar el desarrollo son

opcionales y algunas veces muy tiles


Permite el uso (limitado) de punteros cuando realmente se necesiten, como al acceder a
libreras nativas que no se ejecuten sobre la mquina virtual

Software necesario
Para programar con C# sobre .NET, se necesita el marco de trabajo, .NET Framework (versin
2.0 o superior), que puede ser descargado desde la pgina de Microsoft, el cual contiene los
elementos bsicos para la compilacin y ejecucin de una aplicacin. Sin embargo, se sugiere
descargar el Kit de Desarrollo de software de Microsoft .NET 2.0, que contiene, adems del .NET
Framework, una serie de herramientas y archivos de ayuda tiles a la hora de programar.
Sharpdevelop es un entorno de programacin diseado bsicamente para programar con C#,
pero adaptado tambin a Visual Basic .NET.
para ser ejecutados desde un explorador de Internet.
Las capacidades de Internet facilitan el proceso a documentos y aplicaciones a travs de
Internet desde su propia aplicacin, o la creacin de aplicaciones de servidor para
Internet.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

16

Visual studio
Visual Studio 2010 es una herramienta de programacin desarrollada por la empresa Microsoft
que permite la creacin de aplicaciones para ser utilizadas en el entorno grafico de
Windows, en cualquiera de sus versiones. Visual Basic integra un grupo de programas,
llamado Visual Estudio. El grupo est integrado por los siguientes programas de desarrollo de
aplicaciones: Visual Basic, Visual C++, Visual FoxPro, Visual InterDev y finalmente Visual J+
+.
Los proyectos o aplicaciones que se crean con Visual Studio son ejecutables en sistemas
operativos de 32 bits, tal como lo son Windows 2000, ME, XP, vista, seven y w8 Con Visual
Studio es posible crear programas que manejen informacin de una base de datos. Los formatos
de bases de datos que puede utilizar son: Access, FoxPro, Dbase y Paradox. Si se posee
conocimientos de alguna de estas bases de datos y dispone de archivos creados con las
mismas, puede realizar un programa con Visual Basic para que gestione la informacin
almacenada en esas bases de datos.
Es conveniente saber que significa en nombre Visual Basic: la palabra Visual hace
referencia a la caracterstica principal del mtodo que se utiliza para crear la interfaz de
usuario (GUI Graphic User Interfaz). Esta calidad de visual simplifica la tarea, puesto que no
hace falta escribir numerosas lneas de cdigo para describir la apariencia y la ubicacin de los
elementos de la interfaz, simplemente pueden agregarse objetos prediseados en su lugar
dentro de la pantalla.
La palabra Basic hace referencia al lenguaje Basic, en informtica, acrnimo de Beginners
All-purpose Symbolic Instruction Code (Cdigo de Instrucciones Simblicas de Uso General
para Principiantes). Se trata de un lenguaje de programacin de alto nivel desarrollado por los

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

17

estadounidenses John Kemeny y Thomas Kurtz en el Dartmouth College a mediados de la


dcada de 1960. Otras importantes implementaciones han sido CBASIC (BASIC Compilado),
Integer y Applesoft BASIC (para el Apple II), GW-BASIC (para computadoras personales),
Turbo BASIC (de Borland) y Microsoft QuickBASIC. El lenguaje ha cambiado en el
transcurso de los aos. Las primeras versiones eran interpretadas y no estructuradas. Las
ltimas son estructuradas y, a menudo, compiladas. BASIC suele ensearse a los
programadores principiantes porque es fcil de utilizar y de comprender, y adems porque
contiene los mismos conceptos fundamentales que muchos otros lenguajes considerados mas
difciles, como Pascal y C.
Visual Studio ha evolucionado a partir del lenguaje BASIC original y contiene ahora
centenares de instrucciones, funciones y palabras clave, muchas de las cuales estn
directamente relacionadas con la interfaz grfica de Windows. Los programas o aplicaciones de
32 bits son mas veloces porque aprovechan el manejo de memoria de Windows, que es un
sistema operativo de 32 bits, de este modo aprovechan el espacio de direcciones largas,
ofreciendo una notable facilidad de manejo en un entorno multitarea. En consecuencia
cuando se programa en Visual Basic se estar creando una aplicacin de 32 bits y mucho ms
rpido que las creadas con otros lenguajes de programacin.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

18

Ventajas de programar con visual studio


El entorno grafico de Windows contiene tres elementos principales: las ventanas, los
eventos y los mensajes. Cuando se crea una aplicacin para Windows se debe tener presente
que en un entorno grfico los programas siempre responden a eventos. Por ejemplo, si
oprime una tecla determinada ocurre algo o cuando da doble clic con el mouse sobre un
objeto pasa algo diferente, estos son eventos a los que debe estar preparada una aplicacin
creada con Visual Basic.
En las aplicaciones tradicionales o por procedimientos, la aplicacin es la que controla que
partes de cdigo y en que secuencia se ejecutan. La ejecucin comienza con la primera
lnea de cdigo y contina con una ruta definida a travs de la aplicacin, llamando a los
procedimientos segn se necesiten.
En una aplicacin controlada por eventos, el cdigo no sigue una ruta predeterminada,
ejecuta distintas secciones de cdigo como respuesta a los eventos. Los eventos pueden
desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o
incluso por la propia aplicacin Visual Basic. La secuencia de esos eventos determina la
secuencia en la que se ejecuta el cdigo, por lo que la ruta a travs del cdigo de la aplicacin
es diferente cada vez que se ejecuta el programa.

El cdigo tambin puede desencadenar eventos durante su ejecucin. Por ejemplo, cambiar
mediante programacin el formato de texto hace que se produzca el evento y se ejecuten los
comandos correspondientes.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

19

Otra ventaja es que Visual Basic utiliza una aproximacin interactiva para el desarrollo. En la
mayora de los lenguajes, si se comete un error al escribir el cdigo, el compilador intercepta este
error cuando comienza a compilar la aplicacin. Debe encontrar y corregir el error y comenzar
de nuevo con el ciclo de compilacin, repitiendo el procedimiento para cada error encontrado.
Visual Basic interpreta el cdigo a medida que lo escribe, interceptando y resaltando la mayora
de los errores de sintaxis en el momento. Adems, para interceptar errores sobre la marcha,
visual Basic tambin compila parcialmente el cdigo segn se escribe. Cuando este preparado
para ejecutar y probar la aplicacin, tardara poco tiempo en terminar la compilacin. Si el
compilador encuentra un error, quedara resaltado el cdigo. Puede corregir el error y seguir
compilando sin tener que comenzar de nuevo.

Conceptos y metodologa para programar en visual studio.


Visual Studio puede trabajar de dos modos distintos en modo de diseo y modo de ejecucin. En
modo de diseo el usuario construye interactivamente la aplicacin colocando controles en el
formulario, definiendo sus propiedades y desarrollando funciones para gestionar los eventos.
La aplicacin se prueba en modo de ejecucin. En ese caso el usuario acta sobre el programa
(introduce eventos) y prueba como responde el programa. Hay algunas propiedades de los
controles que deben establecerse en modo de diseo, pero muchas otras pueden cambiarse en
tiempo de ejecucin desde el programa escrito. Tambin hay propiedades que slo pueden
establecerse en modo de ejecucin y que no son visibles en modo de diseo.
Cada uno de los elementos grficos que puede formar parte de una aplicacin tpica de
Windows es un tipo de control: los botones, las cajas de dialogo y texto, las listas de seleccin

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

20

desplegables, los botones de opcin y seleccin, las barras de desplazamiento, los grficos, los
mens y muchos otros tipos de elementos son controles para Visual Studio, cada control debe
tener un nombre a travs de cual se puede hacer referencia a
l en el programa, Visual Studio proporciona nombres por defecto a los controles que el usuario
puede modificar.
En Visual Studio se llama formulario a una ventana, un formulario puede ser considerado
como una especie de contenedor para los controles. Una aplicacin puede tener varios
formularios pero un nico formulario puede ser suficiente para las aplicaciones ms
sencillas.
A continuacin se explicaran los conceptos bsicos y terminologa que debe comprenderse
para la creacin de programas o proyectos en Visual Studio, se describirn conceptos acerca de
procedimientos, palabras clave o reservadas, funciones, etc. Todos ellos necesarios para el
desarrollo e implementacin de programas.
Ventajas de las aplicaciones creadas con visual studio

Las aplicaciones creadas con Visual Studio que se ejecutan en Windows ofrecen las siguientes
ventajas:
Aprovechamiento mximo de los procesadores Pentium
Cada aplicacin Visual Basic se ejecuta en su propia rea de memoria, impidiendo de esta
forma que un error provocado por otros programas interfiera en ella.
Mejor manejo de las opciones multitarea, permitiendo al usuario pasar de una aplicacin a otra
con mayor facilidad y mayor confiabilidad de la informacin.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

21

Las aplicaciones creadas para administrar bases de datos pueden utilizar los datos con los
formatos ms conocidos (Access, Paradox, SQL Server, etc.)

Lenguaje de programacin java


Java es un lenguaje de programacin desarrollado por Sun Microsystems. Java fue presentado en
la segunda mitad del ao 1995 y desde entonces se ha convertido en un lenguaje de programacin
muy popular. Java es un lenguaje muy valorado porque los programas Java se pueden ejecutar en
diversas plataformas con sistemas operativos como Windows, Mac OS, Linux o Solaris. James
Gosling, el director del equipo de trabajo encargado de desarrollar Java, hizo realidad la promesa
de un lenguaje independiente de la plataforma. Se buscaba disear un lenguaje que permitiera
programar una aplicacin una sola vez que luego pudiera ejecutarse en distintas mquinas y
sistemas operativos. Para conseguir la portabilidad de los programas Java se utiliza un entorno de
ejecucin para los programas compilados. Este entorno se denomina Java Runtime Environment
(JRE). Es gratuito y est disponible para los principales sistemas operativos. Esto asegura que el
mismo programa Java pueda ejecutarse en Windows, Mac OS, Linux o Solaris.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Ilustracin 1 lenguaje en java

22

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

23

Write Once, Run Anyware, que podra traducirse como programar una sola vez y despus
ejecutar los programas en cualquier sistema operativo, era el objetivo del equipo de desarrollo
de Java. Esta idea resume el concepto de portabilidad. Los programas Java son portables, es
decir, independientes de la plataforma, porque pueden ejecutarse en cualquier ordenador o
dispositivo mvil, independientemente del sistema operativo que tengan instalado: Un programa
Java puede ejecutarse en un ordenador de mesa, un ordenador porttil, una tableta, un telfono,
un reproductor de msica o en cualquier otro dispositivo mvil con cualquier sistema operativo.
La plataforma de Java
Los programas Java se compilan a un lenguaje intermedio, denominado Bytecode. Este cdigo
es interpretado por la mquina virtual de Java del entorno de ejecucin (JRE) y as se consigue la
portabilidad en distintas plataformas. El JRE es una pieza intermedia entre el cdigo Bytecode y
los distintos sistemas operativos existentes en el mercado. Un programa Java compilado en
Bytecode se puede ejecutar en sistemas operativos como Windows, Linux, Mac Os, Solaris,
BlackBerry OS, iOs o Android utilizando el entorno de ejecucin de Java (JRE) apropiado.
Una de las caractersticas ms importantes de los lenguajes de programacin modernos es la
portabilidad. Como se ha comentado antes, un programa es portable cuando es independiente de
la plataforma y puede ejecutarse en cualquier sistema operativo y dispositivo fsico. Los
programas Java son portables porque se ejecutan en cualquier plataforma. Sucede algo parecido
con las fotografas o los ficheros PDF. Las fotografas con formato JPEG son portables porque un
archivo JPEG lo podemos visualizar con distintos visores de fotos y en dispositivos como
ordenadores, tabletas o telfonos. El formato JPEG es un estndar para almacenar archivos de
imagen. Todas las imgenes JPEG tienen el mismo formato y los visores de fotos estn diseados

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

24

para mostrar las imgenes con este formato. De forma similar, los archivos PDF (Portable
Document Format) son portables. El formato PDF fue desarrollado por Adobe Systems con la
idea de que estos archivos se puedan ver en cualquier dispositivo que tenga instalado Adobe
Acrobat Reader, el software de visualizacin de documentos PDF.
La portabilidad de Java ha contribuido a que muchas empresas hayan desarrollado sus
sistemas de comercio electrnico y sus sistemas de informacin en Internet con Java. El proceso
de desarrollo y de mantenimiento de los sistemas resulta menos costoso y las aplicaciones son
compatibles con distintos sistemas operativos.
La evolucin del lenguaje de programacin Java ha sido muy rpida. La plataforma de
desarrollo de Java, denominada Java Development Kit (JDK), se ha ido ampliando y cada vez
incorpora a un nmero mayor de programadores en todo el mundo. En realidad Java no solo es un
lenguaje de programacin. Java es un lenguaje, una plataforma de desarrollo, un entorno de
ejecucin y un conjunto de libreras para desarrollo de programas sofisticados. Las libreras para
desarrollo se denominan Java Application Programming Interface (Java API).
El siguiente esquema muestra los elementos de la plataforma Java, desde el cdigo fuente,
el compilador, el API de Java, los programas compilados en Bytecode y el entorno de ejecucin
de Java. Este entorno de ejecucin (JRE) y la mquina virtual (JVM) permiten que un programa
compilado Java se ejecute en distintos sistemas operativos.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Ilustracin 2 Elementos de la plataforma java

25

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

26

Entornos de desarrollo para Java


Existen distintos entornos de desarrollo de aplicaciones Java. Este tipo de productos ofrecen al
programador un entorno de trabajo integrado para facilitar el proceso completo de desarrollo de
aplicaciones, desde el diseo, la programacin, la documentacin y la verificacin de los
programas. Estos productos se denominan IDE (Integrated Development Environment).
-

Existen entornos de distribucin libre como: NetBeans, Eclipse o BlueJ.


Entre los productos comerciales estn JBuilder o JCreatorPro.
Para utilizar un entorno de desarrollo es necesario instalar el Java Runtime Environment

(JRE) apropiado para el sistema operativo. El JRE se descarga de la pgina de Oracle Java.

El proceso de edicin y compilacin


En Java, al igual que en otros lenguajes de programacin, se sigue el siguiente proceso: edicin
del cdigo fuente, compilacin y ejecucin. Los programas Java se desarrollan y se compilan
para obtener un cdigo denominado Bytecode que es interpretado por una mquina virtual de
Java (Java Virtual Machine).
La edicin del programa fuente se realiza escribiendo el programa Java en un editor de texto
como el Bloc de notas o utilizando un entorno integrado de desarrollo. El cdigo fuente se
almacena en un fichero de tipo .java.
La compilacin se realiza con el compilador Java javac o utilizando un entorno integrado de
desarrollo. Durante el proceso de compilacin se verifica que el cdigo fuente cumple la
definicin lxica, sintctica y semntica de Java. Esto significa que el compilador comprueba que

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

27

el cdigo fuente se compone de palabras vlidas en Java y que los comandos Java tienen la forma
sintctica correcta. Si durante el proceso de compilacin el compilador detecta los errores que ha
cometido el programador y le informa de los problemas que ha encontrado para que pueda
corregirlos. Si durante la compilacin no se detectan errores, se genera un fichero de tipo class en
Bytecode. Una vez finalizado el proceso de compilacin se puede ejecutar el programa. Para esto,
es necesario que la mquina virtual de Java interprete el cdigo Bytecode y ejecute la aplicacin.
La codificacin de programas Java
El estilo de programacin o codificacin de los programas Java es muy importante. La
legibilidad de un programa determina en buena medida que se haya desarrollado correctamente y
que el producto final sea eficiente.
Legibilidad > Correccin > Eficiencia
Legibilidad. Un programa Java debe ser fcil de leer y entender, incluso para una persona
que no ha participado en el desarrollo del programa. La legibilidad es un aspecto muy importante
porque facilita el mantenimiento del software, la correccin de errores o la modificacin de la
funcionalidad de la aplicacin con menor coste.
Correccin. Un programa debe hacer lo que debe hacer, ni ms, ni menos. Esto es lo que se
entiende por correccin. Un programa debe cumplir rigurosamente los requisitos funcionales y
tcnicos de la fase de especificacin. Durante la fase de prueba se verifica que el programa
funciona correctamente y que cumple los requisitos tcnicos y funcionales.
Eficiencia. La eficiencia se refiere al tiempo que un programa tarda en ejecutarse y a los
recursos que consume. Cuanto ms rpido sea un programa y utilice menos memoria o disco

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

28

duro, el diseo es mejor. La eficiencia no es un problema que deba atender cuando se aprende a
programar. Ahora lo mejor es utilizar los mecanismos de optimizacin propios de los
compiladores. La eficiencia se debe analizar solo cuando un programa funciona correctamente y
cumple con los requisitos tcnicos definidos.
El proceso de desarrollo de software
El proceso de desarrollo de los programas Java no difiere de la mayora de los lenguajes de
programacin. Es necesario seguir un conjunto de pasos para desarrollar correctamente un
producto software.
La Ingeniera del Software estudia los distintos procesos de desarrollo de software. El IEEE
define Ingeniera del Software como la aplicacin sistemtica, disciplinada y cuantificable de un
proceso de desarrollo, operacin y mantenimiento de un producto software.
El proceso clsico de desarrollo de software es ampliamente utilizado por su sencillez. Este
proceso se compone de las siguientes fases: especificacin, diseo, codificacin, prueba y
mantenimiento.
Especificacin. En esta fase se decide la funcionalidad, las caractersticas tcnicas de una
aplicacin y sus condiciones de uso. En esta fase es necesario responder a las siguientes
preguntas:
Para qu se va a utilizar la aplicacin?
Cules son las necesidades funcionales de los usuarios?
Cul es el perfil de los usuarios de la aplicacin?

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

29

En qu plataforma se ejecutar la aplicacin?


Cules son sus condiciones de operacin?
Cmo se va a utilizar?
Diseo. En esta fase se utiliza toda la informacin recogida en la fase de especificacin y se
propone una solucin que responda a las necesidades del usuario y se pueda desarrollar. En esta
fase se define la arquitectura de la aplicacin. Es necesario detallar la estructura y la organizacin
del programa y cmo se relacionan las distintas partes de la aplicacin.
Codificacin. Esta fase consiste en la programacin en Java de las especificaciones de diseo
de la fase anterior. Durante esta fase de codificacin o implementacin se aplican normas de
programacin para facilitar la legibilidad de los programas Java.
Prueba. En esta fase se compila y se ejecuta la aplicacin para verificar que cumple con los
requisitos funcionales y tcnicos definidos en la fase de especificacin. Si el programa no cumple
con todos los requisitos, se puede deber a errores de diseo o de programacin. En tal caso, es
necesario corregir los errores que se hayan detectado y repetir de nuevo el proceso de diseo y
codificacin. Durante la fase de prueba se verifica que la aplicacin cumple con los criterios de
calidad establecidos en el proyecto: facilidad de uso, correccin, eficiencia, integridad, fiabilidad,
flexibilidad, facilidad de mantenimiento, facilidad de prueba, portabilidad, capacidad de
reutilizacin e interoperabilidad.
Una vez que la aplicacin se ha probado y cumple con los requisitos establecidos, entonces se
pone en funcionamiento y comienza la fase de operacin para que sea utilizada para el fin con el
que ha sido desarrollada.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

30

Mantenimiento. Una vez que la aplicacin se ha puesto en operacin da comienzo la fase de


mantenimiento. En esta fase se corrigen errores de funcionamiento de la aplicacin, se modifica
la funcionalidad o se aaden las nuevas funcionalidades que demandan los usuarios. La fase de
mantenimiento es la de mayor duracin, pues pueden pasar muchos aos desde el inicio de la
operacin hasta que el producto es retirado.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

31

Introduccin a las bases de datos


Qu es y para qu sirve una base de datos?
Una base de datos se puede definir como un conjunto de informacin relacionada que se
encuentra agrupada o estructurada. Desde el punto de vista informtico, la base de datos es un
sistema formado por un conjunto de datos almacenados que permiten el acceso directo a ellos y
un conjunto de programas que manipulen ese conjunto de datos (HOTEK, 2009, pg. 20)

Base de Datos: Es una coleccin de archivos interrelacionados. El contenido de una base de


datos engloba a la informacin concerniente (almacenada en archivos) de una organizacin o
sistema, de tal manera que los datos estn disponibles para los usuarios, una finalidad de la base
de datos es eliminar la redundancia o al menos minimizarla. Los tres componentes principales
de un sistema de base de datos son el hardware, el software DBMS y los datos a manejar,
as como el personal encargado del manejo del sistema (HOTEK, 2009, pg. 3)

El porqu de las bases de datos


Los sistemas de base de datos se disean para manejar grandes cantidades de informacin, la
manipulacin de los datos involucra tanto la definicin de estructuras para el almacenamiento de
la informacin como la provisin de mecanismos para la manipulacin de la informacin, adems
un sistema de base de datos debe de tener implementados mecanismos de seguridad que
garanticen la integridad de la informacin, a pesar de cadas del sistema o intentos de accesos no
autorizados.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

32

Un objetivo principal de un sistema de base de datos es proporcionar a los usuarios finales una
visin abstracta de los datos, esto se logra escondiendo ciertos detalles de cmo se almacenan y
mantienen los datos.

Ventajas del uso de bases de datos:


La utilizacin de bases de datos como plataforma para el desarrollo de sistemas de Aplicacin
en las Organizaciones se ha incrementado notablemente en los ltimos aos, se debe a las
ventajas que ofrece su utilizacin, algunas de las cuales se comentarn a continuacin:

Globalizacin de la informacin: permite a los diferentes usuarios considerar la


informacin como un recurso corporativo que carece de dueos especficos.

Eliminacin de informacin inconsistente: si existen dos o ms archivos con la misma


informacin, los cambios que se hagan a stos debern hacerse a todas las copias del
archivo de facturas.

Permite compartir informacin.

Permite mantener la integridad en la informacin: la integridad de la informacin es


una de sus cualidades altamente deseable y tiene por objetivo que slo se almacena la
informacin correcta.

Independencia de datos: el concepto de independencia de datos es quizs el que


ms ha ayudado a la rpida proliferacin del desarrollo de Sistemas de Bases de
Datos. La independencia de datos implica un divorcio entre programas y datos.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

33

El modelo entidad-relacin.
El modelo de datos entidad-relacin (E-R) se basa en una percepcin de un mundo real que
consiste en una coleccin de objetos bsicos llamados entidades, y relaciones entre estos
objetos. Una entidad es un objeto distinguible de otros por medio de un conjunto de
atributos. Por ejemplo, los atributos nmero y saldo describen una cuenta particular. Una
relacin es una asociacin entre varias entidades. Por ejemplo, una relacin Clickta asocia a
un cliente con cada cuenta que posee. El conjunto de todas las entidades del mismo tipo y
relaciones del mismo tipo se denomina conjunto de entidades y conjunto de relaciones.

Adems el modelo E-R representa ciertas restricciones a las que deben ajustarse los
contenidos de una BD. Una restriccin importante es la cardinalidad de asignacin, que
expresa el nmero de entidades a las que puede asociarse otra entidad mediante un
conjunto de relacin. La estructura lgica global de una BD puede expresarse grficamente
por un diagrama E-R que consta de:

1.- Rectngulos, que representan conjuntos de entidades.


2.- Elipses, que representan atributos.
3.- Rombos, que representan relaciones entre conjunto de entidades.
4.- Lneas, que conectan atributos a conjuntos de entidades y conjuntos de entidades a
relaciones.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

FIGURA 3

Ilustracin 3 Modelo entidad relacin

34

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

35

Qu metodologa utilizar?
Desarrollo en cascada
Qu es la metodologa de cascada?
En Ingeniera de software el desarrollo en cascada, tambin llamado modelo en
cascada (denominado as por la posicin de las fases en el desarrollo de esta, que parecen caer en
cascada por gravedad hacia las siguientes fases), es el enfoque metodolgico que ordena
rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de
cada etapa debe esperar a la finalizacin de la etapa anterior.1 Al final de cada etapa, el modelo
est diseado para llevar a cabo una revisin final, que se encarga de determinar si el proyecto
est listo para avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la base de
todos los dems modelos de ciclo de vida.
La versin original fue propuesta por Winston W. Royce en 1970 y posteriormente revisada
por Barry Boehm en 1980 e Ian Sommerville en 1985.
Un ejemplo de una metodologa de desarrollo en cascada es:
1. Anlisis de requisitos.
2. Diseo del Sistema.
3. Diseo del Programa.
4. Codificacin.
5. Pruebas.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

36

6. Implantacin.
7. Mantenimiento.
De esta forma, cualquier error de diseo detectado en la etapa de prueba conduce necesariamente
al rediseo y nueva programacin del cdigo afectado, aumentando los costos del desarrollo. La
palabra cascada sugiere, mediante la metfora de la fuerza de la gravedad, el esfuerzo necesario
para introducir un cambio en las fases ms avanzadas de un proyecto.
Fases del modelo
Anlisis de requisitos
En esta fase se analizan las necesidades de los usuarios finales del software para determinar
qu objetivos debe cubrir. De esta fase surge una memoria llamada SRD (documento de
especificacin de requisitos), que contiene la especificacin completa de lo que debe hacer el
sistema sin entrar en detalles internos.
Es importante sealar que en esta etapa se debe consensuar todo lo que se requiere del
sistema y ser aquello lo que seguir en las siguientes etapas, no pudindose requerir nuevos
resultados a mitad del proceso de elaboracin del software de una manera.

Diseo del Sistema


Descompone y organiza el sistema en elementos que puedan elaborarse por separado,
aprovechando las ventajas del desarrollo en equipo. Como resultado surge el SDD (Documento
de Diseo del Software), que contiene la descripcin de la estructura relacional global del sistema
y la especificacin de lo que debe hacer cada una de sus partes, as como la manera en que se
combinan unas con otras.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

37

Diseo del Programa


Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los
requerimientos del usuario as como tambin los anlisis necesarios para saber qu herramientas
usar en la etapa de Codificacin

Codificacin
Es la fase en donde se implementa el cdigo fuente, haciendo uso de prototipos as como de
pruebas y ensayos para corregir errores.
Dependiendo del lenguaje de programacin y su versin se crean las bibliotecas y
componentes reutilizables dentro del mismo proyecto para hacer que la programacin sea un
proceso mucho ms rpido.

Pruebas
Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba que
funciona correctamente y que cumple con los requisitos, antes de ser entregado al usuario final.

Verificacin
Es la fase en donde el usuario final ejecuta el sistema, para ello el o los programadores ya
realizaron exhaustivas pruebas para comprobar que el sistema no falle.
En la creacin de desarrollo de cascada se implementa los cdigos de investigacin y pruebas del
mismo.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

38

Mantenimiento
Una de las etapas ms crticas, ya que se destina un 75% de los recursos, es el mantenimiento
del Software ya que al utilizarlo como usuario final puede ser que no cumpla con todas nuestras
expectativas.

Ventajas y desventajas de la metodologa en cascada.


Realiza un buen funcionamiento en equipos dbiles y productos maduros, por lo que se
requiere de menos capital y herramientas para hacerlo funcionar de manera ptima.
Es un modelo fcil de implementar y entender.
Est orientado a documentos.
Es un modelo conocido y utilizado con frecuencia.
Promueve una metodologa de trabajo efectiva: Definir antes que disear, disear antes que
codificar
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala
implementacin del modelo, lo cual hace que lo lleve al fracaso.
El proceso de creacin del software tarda mucho tiempo ya que debe pasar por el proceso de
prueba y hasta que el software no est completo no se opera. Esto es la base para que funcione
bien.
Cualquier error de diseo detectado en la etapa de prueba conduce necesariamente al rediseo
y nueva programacin del cdigo afectado, aumentando los costos del desarrollo.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

39

Una etapa determinada del proyecto no se puede llevar a cabo a menos de que se haya
culminado la etapa anterior.
Desarrollo en espiral
Qu es la metodologa de espiral?
Es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1986,1
utilizado generalmente en la Ingeniera de software. Las actividades de este modelo se conforman
en una espiral, en la que cada bucle o iteracin representa un conjunto de actividades. Las
actividades no estn fijadas a ninguna prioridad, sino que las siguientes se eligen en funcin del
anlisis de riesgo, comenzando por el bucle interior.
Qu son los ciclos o iteraciones de la metodologa en espiral?
En cada vuelta o iteracin hay que tener en cuenta:
Los Objetivos: qu necesidad debe cubrir el producto.
Alternativas: las diferentes formas de conseguir los objetivos de forma exitosa,
desde diferentes puntos de vista como pueden ser:
1. Caractersticas: experiencia del personal, requisitos a cumplir, etc.
2. Formas de gestin del sistema.
3. Riesgo asumido con cada alternativa.
Desarrollar y Verificar: Programar y probar el software.
Si el resultado no es el adecuado o se necesita implementar mejoras o
funcionalidades:

Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral. La


espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la
radial y la angular:
1. Angular: Indica el avance del proyecto del software dentro de un ciclo.
2. Radial: Indica el aumento del coste del proyecto, ya que con cada nueva
iteracin se pasa ms tiempo desarrollando.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

40

Este sistema es muy utilizado en proyectos grandes y complejos como puede ser,
por ejemplo, la creacin de un Sistema Operativo.
Al ser un modelo de Ciclo de Vida orientado a la gestin de riesgo se dice que
uno de los aspectos fundamentales de su xito radica en que el equipo que lo
aplique tenga la necesaria experiencia y habilidad para detectar y catalogar
correctamente los riesgos.

Tareas
Para cada ciclo habr cuatro actividades:
1.
2.
3.
4.

Determinar Objetivos.
Anlisis del riesgo.
Desarrollar y probar.
'Planificacin.'

Determinar o fijar objetivos


1. Fijar tambin los productos definidos a obtener: requerimientos,
especificacin, manual de usuario.
2. Fijar las restricciones.
3. Identificacin de riesgos del proyecto y estrategias alternativas para evitarlos.
4. Hay una cosa que solo se hace una vez: planificacin inicial.
Desarrollar, verificar y validar(probar)

1. Tareas de la actividad propia y de prueba.


2. Anlisis de alternativas e identificacin resolucin de riesgos.
3. Dependiendo del resultado de la evaluacin de los riesgos, se elige un modelo para el
desarrollo, el que puede ser cualquiera de los otros existentes, como formal, evolutivo,
cascada, etc. As si por ejemplo si los riesgos en la interfaz de usuario son dominantes, un
modelo de desarrollo apropiado podra ser la construccin de prototipos evolutivos. Si lo
riesgos de proteccin son la principal consideracin, un desarrollo basado en
transformaciones formales podra ser el ms apropiado.
Anlisis del riesgo

Se lleva a cabo el estudio de las causas de las posibles amenazas y probables eventos no
deseados y los daos y consecuencias que stas puedan producir. Se evalan alternativas. Se
debe tener un prototipo antes de comenzar a desarrollar y probar.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

41

En resumen, es para tener en cuenta de los riesgos de cada uno de los mbitos

Ventajas y desventajas de la metodologa espiral


El anlisis del riesgo se hace de forma explcita y clara. Une los mejores elementos de los
restantes modelos.

Reduce riesgos del proyecto

Incorpora objetivos de calidad

Integra el desarrollo con el mantenimiento, etc.

Adems es posible tener en cuenta mejoras y nuevos requerimientos sin romper con la
metodologa, ya que este ciclo de vida no es rgido ni esttico.

Sus desventajas son:

Genera mucho tiempo en el desarrollo del sistema

Modelo costoso

Requiere experiencia en la identificacin de riesgos

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

42

Desarrollo en rup (rationalunifiedprocess)


Qu es la metodologa rup?
Es un proceso de desarrollo de software desarrollado por la empresa Rational Software,
actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye
la metodologa estndar ms utilizada para el anlisis, diseo, implementacin y documentacin
de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de
metodologas adaptables al contexto y necesidades de cada organizacin.
Tambin se conoce por este nombre al software, tambin desarrollado por Rational, que
incluye informacin entrelazada de diversos artefactos y descripciones de las diversas
actividades. Est incluido en el Rational Method Composer (RMC), que permite la
personalizacin de acuerdo con las necesidades.
Originalmente se dise un proceso genrico y de dominio pblico, el Proceso Unificado, y
una especificacin ms detallada, el Rational Unified Process, que se vendiera como producto
independiente...
Principios para desarrollar en base a rup.
El RUP est basado en 6 principios clave que son los siguientes:

Adaptar el proceso
El proceso deber adaptarse a las necesidades del cliente ya que es muy importante interactuar
con l. Las caractersticas propias del proyecto. El tamao del mismo, as como su tipo o las

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

43

regulaciones que lo condicionen, influirn en su diseo especfico. Tambin se deber tener en


cuenta el alcance del proyecto en un rea subnormal.

Equilibrar prioridades
Los requisitos de los diversos participantes pueden ser diferentes, contradictorios o disputarse
recursos limitados. Debe encontrarse un equilibrio que satisfaga los deseos de todos. Gracias a
este equilibrio se podrn corregir desacuerdos que surjan en el futuro.

Demostrar valor iterativamente


Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada
iteracin se analiza la opinin de los inversores, la estabilidad y calidad del producto, y se refina
la direccin del proyecto as como tambin los riesgos involucrados.

Colaboracin entre equipos


El desarrollo de software no lo hace una nica persona sino mltiples equipos. Debe haber una
comunicacin fluida para coordinar requisitos, desarrollo, evaluaciones, planes, resultados, etc.

Elevar el nivel de abstraccin


Este principio dominante motiva el uso de conceptos reutilizables tales como patrn del
software, lenguajes 4GL o marcos de referencia (frameworks) por nombrar algunos. Esto evita
que los ingenieros de software vayan directamente de los requisitos a la codificacin de software
a la medida del cliente, sin saber con certeza qu codificar para satisfacer de la mejor manera los
requisitos y sin comenzar desde un principio pensando en la reutilizacin del cdigo. Un alto
nivel de abstraccin tambin permite discusiones sobre diversos niveles y soluciones

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

44

arquitectnicas. stas se pueden acompaar por las representaciones visuales de la arquitectura,


por ejemplo con el lenguaje UML.
Enfocarse en la calidad
El control de calidad no debe realizarse al final de cada iteracin, sino en todos los aspectos
de la produccin. El aseguramiento de la calidad forma parte del proceso de desarrollo y no de un
grupo independiente.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Ilustracin 4 Ciclo de vida

45

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

46

El ciclo de vida RUP es una implementacin del Desarrollo en espiral. Fue creado
ensamblando los elementos en secuencias semi-ordenadas. El ciclo de vida organiza las tareas en
fases e iteraciones.
RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en
nmero variable segn el proyecto y en las que se hace un mayor o menor hincapi en las
distintas actividades. En la Figura muestra cmo vara el esfuerzo asociado a las disciplinas segn
la fase en la que se encuentre el proyecto RUP.
Las primeras iteraciones (en las fases de Inicio y Elaboracin) se enfocan hacia la
comprensin del problema y la tecnologa, la delimitacin del mbito del proyecto, la eliminacin
de los riesgos crticos, y al establecimiento de una base line (Lnea Base) de la arquitectura.
Durante la fase de inicio las iteraciones hacen mayor nfasis en actividades de modelado del
negocio y de requisitos.
En la fase de elaboracin, las iteraciones se orientan al desarrollo de la base line de la
arquitectura, abarcan ms los flujos de trabajo de requisitos, modelo de negocios (refinamiento),
anlisis, diseo y una parte de implementacin orientado a la base line de la arquitectura.
En la fase de construccin, se lleva a cabo la construccin del producto por medio de una serie de
iteraciones.
Para cada iteracin se seleccionan algunos Casos de Uso, se refinan su anlisis y diseo y se
procede a su implementacin y pruebas. Se realiza una pequea cascada para cada ciclo. Se
realizan iteraciones hasta que se termine la implementacin de la nueva versin del producto.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

47

En la fase de transicin se pretende garantizar que se tiene un producto preparado para su entrega
a la comunidad de usuarios.
Como se puede observar en cada fase participan todas las disciplinas, pero dependiendo de la fase
el esfuerzo dedicado a una disciplina vara.
Cules son las principales caractersticas de la metodologa rup?

Forma disciplinada de asignar tareas y responsabilidades (quin hace qu, cundo y


cmo)

Pretende implementar las mejores prcticas en Ingeniera de Software

Desarrollo iterativo

Administracin de requisitos

Uso de arquitectura basada en componentes

Control de cambios

Modelado visual del software

Verificacin de la calidad del software

El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar
centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los
productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el cdigo fuente,

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

48

etc.) y roles (papel que desempea una persona en un determinado momento, una persona puede
desempear distintos roles a lo largo del proceso).
Fases

Establece oportunidad y alcance

Identifica las entidades externas o actores con las que se trata

Identifica los casos de uso

RUP comprende 2 aspectos importantes por los cuales se establecen las disciplinas:
'Proceso': Las etapas de esta seccin son: (Revise nuevamente la grfica)

Modelado de negocio

Requisitos

Anlisis y Diseo

Implementacin

Pruebas

Despliegue

Soporte: En esta parte nos encontramos con las siguientes etapas:

Gestin del cambio y configuraciones

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Gestin del proyecto

Entorno

49

La estructura dinmica de RUP es la que permite que ste sea un proceso de desarrollo
fundamentalmente iterativo, y en esta parte se ven inmersas las 4 fases descritas anteriormente:

Inicio (tambin llamado Incepcin o Concepcin).

Elaboracin.

Desarrollo (tambin llamado Implementacin, Construccin).

Cierre (tambin llamado Transicin).


Fase de Inicio: Esta fase tiene como propsito definir y acordar el alcance del proyecto con los

patrocinadores, identificar los riesgos asociados al proyecto, proponer una visin muy general de
la arquitectura de software y producir el plan de las fases y el de iteraciones posteriores.
Fase de elaboracin: En la fase de elaboracin se seleccionan los casos de uso que permiten
definir la arquitectura base del sistema y se desarrollaran en esta fase, se realiza la especificacin
de los casos de uso seleccionados y el primer anlisis del dominio del problema, se disea la
solucin preliminar.
Fase de Desarrollo: El propsito de esta fase es completar la funcionalidad del sistema, para
ello se deben clarificar los requisitos pendientes, administrar los cambios de acuerdo a las
evaluaciones realizados por los usuarios y se realizan las mejoras para el proyecto.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

50

Fase de Transicin: El propsito de esta fase es asegurar que el software est disponible para
los usuarios finales, ajustar los errores y defectos encontrados en las pruebas de aceptacin,
capacitar a los usuarios y proveer el soporte tcnico necesario. Se debe verificar que el producto
cumpla con las especificaciones entregadas por las personas involucradas en el proyecto.
Artefactos
RUP en cada una de sus fases (pertenecientes a la estructura dinmica) realiza una serie
de artefactos que sirven para comprender mejor tanto el anlisis como el diseo del sistema (entre
otros). Estos artefactos (entre otros) son los siguientes:
Inicio:

Documento Visin

Diagramas de caso de uso

Especificacin de Requisitos

Diagrama de Requisitos

Elaboracin:

Documento Arquitectura que trabaja con las siguientes vistas:


Vista Lgica

Diagrama de clases

Modelo E-R (Si el sistema as lo requiere)

Vista de Implementacin

Diagrama de Secuencia

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Diagrama de estados

Diagrama de Colaboracin

51

Vista Conceptual

Modelo de dominio

Vista fsica

Mapa de comportamiento a nivel de hardware.

Diseo y desarrollo de casos de uso, o flujos de casos de uso arquitectnicos

Pruebas de los casos de uso desarrollados, que demuestran que la arquitectura


documentada responde adecuadamente a requerimientos funcionales y no funcionales.

Construccin:

Especificacin de requisitos faltantes

Diseo y desarrollo de casos de uso y/o flujos de acuerdo con la planeacin iterativa

Pruebas de los casos de uso desarrollados, y pruebas de regresin segn sea el caso

Transicin:

Pruebas finales de aceptacin

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

Puesta en produccin

Estabilizacin

52

Qu metodologa utilizar y l porque es la mejor opcin?


El anlisis de sistema de informacin se realiza con el fin de obtener una visin inicial de las
necesidades que debern ser satisfechas, que servirn de base para el diseo y posterior
construccin del sistema de informacin.
La metodologa elegida para el desarrollo del presente programa informtico es el Proceso
Unificado o RUP (Rational Unified Process) el cual presenta un marco de desarrollo que sirve de
gua para el proceso de elaboracin de software.
El RUP es una metodologa completa y extensa que intenta abarcar todos los aspectos del
desarrollo de un software, aunque principalmente est orientada para su utilizacin en proyectos
de envergadura a continuacin se enumeran las razones por las que se ha decidido utilizar esta
metodologa en el presente proyecto:
Las razones por la cual utilizaremos la metodologa rup son las siguientes:

RUP es aplicable tanto a pequeos proyectos (como el del presente trabajo de tesis), as

como para grandes proyectos de varios aos de duracin.


Por la existencia de gran cantidad de documentacin de la metodologa tanto en libros

como en Internet.
Porque la arquitectura del software a implementar en el presente proyecto se documenta
mediante vistas de clases, de implementacin, de despliegue y la de casos de uso. El
modelo ms ampliamente conocido para la descripcin de estas vistas es precisamente
RUP.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

53

Se aprovecha la utilizacin de la notacin UML puesto que en el mbito local esta

metodologa es aplicada como un estndar de desarrollo en el mercado informtico.


Al decidir que el proceso de investigacin fuera iterativo e incremental se pueden ir
obteniendo versiones de cada iteracin consiguiendo que se minimice los riesgos al

momento de implementar la aplicacin.


Es un proceso que define de manera ordenada las tareas. Es una gua para utilizar UML.

INSTITUTO TECNOLGICO SUPERIOR DE COATZACOALCOS

54

Bibliografa

hotek, m. (2009). SQL Server 2008. canada: Microsoft Press.


Sznajdleder, P. A. (2013). Java a fondo: estudio del lenguaje y desarrollo de aplicaciones.
Buenos Aires: Alfaomega Grupo Editor Argentino.
Landa Cosio, Nicols Arrioja (2010). C#-Gua total del programador. Buenos aires: Fox Andina.
Bell Duglas, Parr Mike (2010) C# para estudiantes- Primera edicin. Mxico: Pearson
Educacin.