Академический Документы
Профессиональный Документы
Культура Документы
Presentado por:
Director:
RICARDO OROZCO ALOR
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.
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.
Objetivos especficos
Disear el modelo de un sistema que permita mejorar los procesos y solucionar las
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
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,
correctores, cuadernos, lapiceros, solo por mencionar algunos se etiquetaran con un folio que
permitir identificarlo rpidamente en el rea de muestrario o anaqueles.
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.
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.
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.
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
10
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.
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
Compila a cdigo intermedio (CIL) independiente del lenguaje en que haya sido
escrita la aplicacin e independiente de la mquina donde vaya a ejecutarse
Capacidades de reflexin
No importa el orden en que hayan sido definidas las clases ni las funciones
Todos los valores son inicializados antes de ser usados (automticamente se inicializan
al valor estandarizado, o manualmente se pueden inicializar desde constructores
estticos)
13
14
15
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
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.
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
17
18
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.
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.
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.
21
Las aplicaciones creadas para administrar bases de datos pueden utilizar los datos con los
formatos ms conocidos (Access, Paradox, SQL Server, etc.)
22
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
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.
25
26
(JRE) apropiado para el sistema operativo. El JRE se descarga de la pgina de Oracle Java.
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
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?
29
30
31
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.
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:
FIGURA 3
34
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.
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.
37
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.
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.
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:
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.'
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.
41
En resumen, es para tener en cuenta de los riesgos de cada uno de los mbitos
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.
Modelo costoso
42
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
43
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.
44
45
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.
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?
Desarrollo iterativo
Administracin de requisitos
Control de cambios
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,
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
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
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:
Elaboracin.
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.
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
Especificacin de Requisitos
Diagrama de Requisitos
Elaboracin:
Diagrama de clases
Vista de Implementacin
Diagrama de Secuencia
Diagrama de estados
Diagrama de Colaboracin
51
Vista Conceptual
Modelo de dominio
Vista fsica
Construccin:
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:
Puesta en produccin
Estabilizacin
52
RUP es aplicable tanto a pequeos proyectos (como el del presente trabajo de tesis), as
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.
53
54
Bibliografa