Professional Documents
Culture Documents
En a los avances de la ciencia y la tecnologa se ha desarrollado de una forma muy amplia el de tal manera que la casi
todos los dispositivos electrnicos de penden de alguna manera del software para funcionar, as mismo todo tipo de
negocios e investigaciones pblicas y privadas que se quieran automatizar dependen de herramientas de software o
programas para realizarse de una forma ms precisa y eficiente.
Razn por la cual en el presente trabajo se realiza un Punto de Venta Web con una serie de procedimientos,
investigacin, anlisis y diseo, todo bajo una metodologa que lleve una serie de pasos ordenados as como de
estructuras de datos y sistemticamente que cumplan con los requerimientos del cliente.
Es importante comentar que un sistema de Punto de Venta puede ser tan extenso o tan limitado dependiendo del
alcance determinado por el requerimiento del mismo y que hay distintas pginas en Internet de cdigo abierto donde
se pueden obtener herramientas tanto web como de escritorio por ejemplo: APDESC, Openbravo Java POS,
uniCenta POS, administraNET Gestin Free, Maia POS, etc.. de los cuales pueden tener ms alcance y
funcionalidad personalizables.
Sin embargo en el presente proyecto se propondr el diseo del sistema de punto de venta en base a un lenguaje
de programacin y un manejador de base de datos para el desarrollo del mismo y de acuerdo a las necesidades del
cliente.
Crear un sistema de que permita interactuar al usuario y facilitar su trabajo de forma inteligente, amigable y
sistemtica
Evitar que se publiquen informacin sin validar o autorizar.
Por medio de este sistema permitir evaluar los procesos de venta, inventario y pedidos a travez de una pagina
web
Caso Prctico:
Mara de Jess queda est a cargo de un negocio de dulceras con tres sucursales, cuenta que pierde tiempo en el
corte de caja diario por que lo hace a mano, los inventarios se hace manualmente. Los clientes realizan la compra de
altos volmenes. Cuando un producto no se encuentra se comunican por telfono con las otras sucursales para
verificar la existencia del producto o acuden presencialmente a las otras sucursales a verificar existencias.
Sistema fcil de usar, que permita saber el inventario de cada producto en lnea, de qu marca son, el precio real, el
precio de menudeo y el precio de mayoreo; l sistema tiene que avisar cuando un producto est por terminarse. Se
requiere un sistema con una interfaz especfica pero con diferentes vistas de sus productos (en orden alfabtico, por
marca, etc.), realizar bsquedas y dar de alta y de baja productos. Cuando un producto es vendido por otra sucursal
indicar el nmero de sucursal, la fecha y la hora automticamente.
Una web con un catlogo de sus productos con precios al menudeo y mayoreo, que permita realizar pedidos en lnea,
as como hacer pagos en lnea a sus clientes con alta seguridad. Para los pagos en lnea ser necesario solicitar todo
lo necesario para realizar su pago en lnea como su direccin, su telfono, correo electrnico, su nmero de tarjeta,
etc.,
Se desea cubrir pedidos solo de cierta regin del estado de Puebla, por lo que desea validar los datos del cliente antes
de que pueda realizar el pago en lnea y que se validen los campos para reducir errores en la captura.
Por ltimo, la Sra. Mara de Jess desea poder realizar sus operaciones en lnea y cuenta con una infraestructura de
un equipo con procesador Intel Quad con 2 Mb en RAM y un disco duro de 360 Gb, el sistema operativo es Windows
7 de 32 bits, adems dos computadoras porttiles con sistema operativo Windows 7.
a) Identifique la metodologa de desarrollo de software que utilizara en este caso. Argumente su respuesta.
b) Identifique la metodologa de gestin de proyectos informticos que utilizara en este caso. Argumente su
respuesta.
c) Identifique el tipo de modelo de base de datos que sea ms adecuado. Argumente su respuesta.
e) Identifique el lenguaje de programacin y/o herramientas de software que se pueden utilizar para solucionar el
problema.
f) Describa y disee una solucin al problema de revisar la existencia de productos en diferentes sucursales.
3 Marco Conceptual.
Primero veremos una breve historia de la evolucin de las computadoras y posteriormente veremos que es el
software.
El hecho de que nuestro estado actual de avance tecnlogico haya permitido su construccin, no debe ocultar los
esfuerzos hechos desde los inicios del pensamiento cientfico.
Historia de la Computadora
bacos
La necesidad de contar con un elemento mecnico que ayude a las personas en sus tareas de manipulacin
numrica, es el ms antigu instrumento utilizado para la suma y la resta, desde hace 4000 aos.
Calculadoras mecnicas
A medida que las distintas otras ramas cientficas se desarrollaron, se puso en evidencia la necesidad de optimizar la
capacidad de clculo habida cuenta de lo dificultoso de las operaciones que se tenan que llevar a cabo.
John Napier, que recordamos por los logaritmos neperianos, public un estudio en 1617, para realizar multiplicaciones
y divisiones, conduciendo al desarrollo de la regla de clculo, la mquina primaria para llevar a cabo clculos
complejos.
En 1642, Blaise Pascal invent la primera sumadora real, se trataba de una compleja combinacin de ruedas,
engranajes y ventanas a travs de las cuales aparecan los nmeros.
A finales del siglo XVII, otro famoso matemtico, Gottfried Leibnitz, desarroll una mquina parecida, pero ms
avanzada; poda sumar, restar, multiplicar y dividir mecnicamente, e incluso sacar races cuadradas.
A pesar de la ingeniosidad de estos planteamientos mecnicos, hasta 1820 no se pudo disponer de la tecnologa que
permitiera la aparicin de las primeras mquinas comerciales capaces de efectuar las cuatro operaciones matemticas
bsicas.
A comienzos del siglo XIX se producen aportaciones, curiosamente ligadas a la resolucin de problemas de naturaleza
no numrica. En 1801, Joseph Jacquard, invent un telar controlado mediante instrucciones almacenadas segn un
cdigo representado en tarjetas perforadas; de esta forma, el algoritmo que segu la mquina podr cambiarse
fcilmente para conseguir un dibujo distinto sobre la tela.
La idea de usar en tarjetas perforadas, para guardar tanto nmeros como instrucciones datos indujo, en 1835, a
Charles Babbage, a inventar un computador digital matemtico de tipo mecnico que recibi el nombre de mquina
analtica.
Babbage utiliz las tarjetas perforadas para programar su mquina, que poda utilizar los resultados de un clculo
como entrada del siguiente y que era capaz de manejar clculos repetitivos y con el apoyo de Ada Lovelace,
considerada como la primera programadora en cuyo honor el lenguaje de ADA lleva su nombre.
El concepto de la tarjeta perforada para almacenar programas y datos lleg a prender, y Herman Hollerith para
procesar el censo de 1890 en EEUU la recuper con notable xito al incorporarla a mquinas alimentadas elctrica y
no mecnicamente. Hollerith puso las bases de una de las empresas que ms adelante se integrara en la
International Business Machines (IBM).
En paralelo, George Boole (1815-1864) fundador de la teora de la lgica matemtica, nos leg la lgica booleana que
es la base terica tanto para el diseo de circuitos electrnicos como para muchas tcnicas de programacin.
Con la aparicin de las mquinas elctricas se desarrollaron computadores electromecnicos, como el Mark I (1944),
en la que las instrucciones se introducan mediante cinta de papel, y los datos mediante tarjeta perforada y un teletipo
iba escribiendo los resultados. En 1947, su sucesor el Mark II poda llevar a cabo la misma multiplicacin en un cuarto
de segundo aproximadamente, sin embargo su obsolescencia fue inmediata, con la llegada de la electrnica.
Computadores electrnicos
La electrnica empieza con el bulbo o tubo de vaco, el primer computador digital electrnico utilizaba bulbos y poda
realizar una operacin en unos 2.8 milisegundos. Fue desarrollado en 1946 en la Universidad de Pennsylvania y
recibi el nombre de ENIAC, se programaba cambiando manualmente los conectores y manipulando conmutadores.
Despus en 1947 tiene lugar, en los laboratorios Bell, la invencin del transistor posibilitando la evolucin el
computador de pieza experimental de laboratorio, a dispositivo con ciertas posibilidades comerciales.
Posteriormente los circuitos integrados permitieron integrar en un nico sustrato de silicio cientos de transistores, con
lo que quedaron sentadas las bases de los computadores actuales. A principios de los aos sesenta, las ideas y las
tecnologas han madurado y se ha seguido con la evolucin. Las computadoras pasaron de ser un cuarto frio lleno de
circuitera a un dispositivo mvil, en la transicin pasaron por varias generaciones
Nano computadora
Es una computadora con una circuitera tan pequea que slo puede verse a travs de un microscopio. Las nano
computadoras pueden ser electrnicas (donde la nano litografa se usa para crear los circuitos microscpicos),
bioqumica u orgnica (como el caso de las computadoras de ADN), o cuntica (como en las computadoras
cunticas).Las nano computadoras se componen de materiales a nivel molecular y son la promesa de crear
computadoras cada vez ms pequeas y rpidas.
Ya existe el disco duro de mayor almacenamiento, con una capacidad de 4 terabytes y un porttil con un disco duro
de 1 terabyte. El descubrimiento en nanotecnologa de este disco se debe a la empresa japonesa Hitachi, esta
empresa ha logrado reducir el tamao de un disco duro para que este sea 2000 veces ms pequeo que el ancho de
un cabello humano. Este nuevo avance tecnolgico iniciara la era del Terabyte en la que se podran almacenas ms
de un milln de cosas, ya sean canciones, documentos etc...
Los discos duros actuales pueden llegar almacenar una capacidad de 2000 Gb de informacin cada 6.4 cm2 La
solucin que presenta Hitachi se basa en la tecnologa que supuso un avance en el almacenamiento de los discos
duros hace 10 aos aproximadamente y llev a los cientficos Albert Fert y Peter Grunberg a ganar el premio Nobel de
Fsica.
Ya que hemos recorrido breve mente el desarrollo de las computadoras a travs del tiempo ahora echaremos una
mirada a la evolucin del software ya que siempre han formado una simbiosis evolutiva a travs del tiempo.
El software est ligado a la evolucin de los sistemas informticos. Un mejor rendimiento del hardware, una reduccin
del tamao y un bajo costo, dan paso a sistemas informticos complejos. Hemos pasado de los procesadores con
bulbos a los dispositivos nano electrnicos que son capaces de procesar 200 millones de instrucciones por segundo o
ms.
Primera Etapa
Durante los primeros aos de desarrollo de las computadoras, el hardware evoluciono, mientras que el software se
consideraba como un adjunto, siendo que es lo que hace que el hardware realice las operaciones deseadas.
En la programacin de computadoras existan pocos mtodos sistemticos y se realizaba sin planificacin, en los
sistemas se utilizaban procesos por lotes, existan sistemas notables como el de reservaciones de la American Airlines
y los sistemas de tiempo real de la defensa de estados unidos. El hardware se dedicaba a la ejecucin de un nico
programa de una aplicacin especfica. El hardware era de propsito general y, el software se diseaba a medida para
cada aplicacin teniendo una distribucin baja. El software que se desarrollaba era utilizado por una persona, la misma
lo escriba, lo ejecutaba y si fallaba lo depuraba. El diseo era un proceso implcito, realizado en la mente de una
persona, y no exista documentacin. En esta etapa se aprendi sobre la implantacin de sistemas informticos, pero
poco sobre ingeniera de software.
Segunda Etapa
La segunda Etapa en la evolucin del software inicio desde la mitad de la dcada de los sesenta hasta finales de los
setenta, la multiprogramacin y los sistemas multiusuario introdujeron nuevos conceptos. Las tcnicas interactivas
generaron nuevas aplicaciones y niveles de complejidad del software. Los sistemas de tiempo real podan procesar y
transformar datos de mltiples fuentes, controlando y produciendo salidas en milisegundos en vez de en minutos. Los
primeros aos los avances del almacenamiento en lnea llevaron a la primera generacin de sistemas de manejo de
bases de datos.
Esta Etapa se caracteriz por la creacin del software como paquete y la llegada de las casas de software, donde el
software ya se desarrollaba para una distribucin masiva, los programas se distribuan para computadoras grandes y
para minicomputadoras y para miles de usuarios, las industrias y las universidades se apuraban a desarrollar el mejor
software.
As como creca el nmero de sistemas informticos, se extendieron las bibliotecas de software, se desarrollaban
proyectos en los que se producan programas, esos programas tenan que ser corregidos cuando se detectaban fallos
o modificarlos cuando cambiaban los requerimientos de los usuarios o era necesario adaptarlos a nuevos dispositivos
de hardware esta actividad se llam mantenimiento del software.
El esfuerzo usado en el mantenimiento del software absorbi recursos alarmantemente, peor an, la personalizacin
de los programas los haca imposibles de mantener. Con esto comenz la "crisis del software".
Tercera Etapa
Esta comenz a mediados de los setenta, el procesamiento distribuido increment la complejidad del software. Las
redes, las comunicaciones digitales y demanda de acceso inmediato a la informacin, produjeron fuerte presin sobre
los Programadores.
Se produce el amplio uso de los microprocesadores y las computadoras personales. El microprocesador es una parte
integral de un amplio espectro de productos inteligentes como robots industriales y equipo mdico entre otros. En
muchos casos, la tecnologa del software es integrada en esos productos por equipos tcnicos que conocen el
hardware, pero no el en desarrollo de software.
Las computadoras personales facilitaron el crecimiento de empresas de software. Las empresas de software de la
tercera etapa venden millones de copias. Las computadoras se convirtieron en un producto comn. Mientras las
ventas de computadoras se estabilizaron en los 80, las ventas de software crecieron exponencialmente. Mucha gente
y empresas gastan ms en software que lo que gastaron en una computadora.
Cuarta Etapa
El software deja la individualidad cambiando al impacto colectivo, Cambia la arquitectura de entornos centralizado de
grandes computadores a entornos cliente-servidor, es la norma controlando sistemas operativos avanzados en redes
globales. Internet se mira como un software global al que pueden acceder usuarios individualmente.
La cuarta etapa est enfocada a las tecnologas orientadas a objetos que desplazan a enfoques convencionales los
campos de aplicacin. Las tcnicas de cuarta generacin ya estn cambiando la forma en que algunos segmentos de
la comunidad informtica construyen los programas.
Los sistemas expertos y de inteligencia artificial han salido del laboratorio para resolver problemas del mundo real. El
software de redes neuronales artificiales abriendo opciones para el reconocimiento de formas y habilidades de
procesamiento de informacin igual como lo hacen los humanos.
Pero an continan intensificndose los problemas asociados con el software:
Sin una buena ingeniera de software es imposible lograr un producto con calidad. El trmino ingeniera del software
se introdujo por primera vez a finales de los sesentas.
Esta crisis fue causada por la creacin de las computadoras de tercera generacin. Estas mquinas eran de una
capacidad superior a la de las mquinas de la segunda generacin, y su potencia hizo las aplicaciones que en ese
momento eran imposibles, el desarrollo de esas aplicaciones requiri la construccin de grandes sistemas de software.
Las experiencias en la construccin de grandes sistemas de software mostraron que las metodologas de desarrollo
actuales eran inadecuadas. Muchos proyectos importantes se retrasaron, costaron ms de lo estimado, resultaron
poco confiables, de bajo rendimiento y difciles de mantener. El desarrollo del software entro en crisis.
Los costos del hardware caan mientras que los del software aumentaban. Haba una urgente necesidad de nuevas
tcnicas y metodologas que permitieran controlar la complejidad de los grandes sistemas de software. El trmino
software no slo abarca alguna aplicacin o paquete. Junto con los programas, el software incluye toda la
documentacin necesaria para instalar, usar, desarrollar y mantener esos programas.
1968: Surge la crisis del software debido a que el desarrollo de software sobrepasa el costo y el tiempo estimado y
tiene demasiadas fallas. Se acua el nombre de Ingeniera de software.
1969 - 19771: Se determinan los principios de buenas prcticas de programacin como: Diseo descendente (top-
down), Refinamiento sucesivo, Modularidad, lenguajes estructurados y programadores dirigidos por un lder.
1972 - 1973: Surge la programacin estructurada y el concepto de estilo de programacin. Aparece el concepto de
ciclo de vida del desarrollo de software. Se propone ayuda para la administracin y de apoyo en el desarrollo.
1974 - 1975: Se inicia el manejo de la nocin de confiabilidad y calidad del software. Se inician las pruebas
sistemticas, la nocin de correccin formal, modelos de tolerancia a fallas y confiabilidad total.
1976 - 1977: Se pone atencin a las fases anteriores a la codificacin como anlisis de requerimientos, especificacin
y diseo. Surgen las tcnicas como abstraccin y descomposicin modular. Se hacen esfuerzos para integrar y validar
las fases sucesivas del desarrollo.
1978 -1980: Incremento en el uso de herramientas automatizadas de desarrollo de software. Se llevan a cabo cursos
de ingeniera de software. Los principios desarrollados en 69 a 71 se usan masivamente en la industria del software.
1980 - 1985: Se inician las herramientas automatizadas para cada fase del ciclo de vida siguiendo la programacin
estructurada.
1986 - 1995: Aparece el paradigma orientado a objetos para el desarrollo de software grande. Promueve conceptos
como la abstraccin, la herencia el re-uso. Se inicia el uso masivo de tcnicas automatizadas de desarrollo de
software.
1995-2003: La evaluacin de los procesos evita especificaciones incompletas o anmalas, la aplicacin incorrecta de
metodologas, etc. Para ello se utilizan distintos modelos de madurez de procesos que tienen como objetivo apoyar
distintas estrategias de desarrollo y evaluacin para as lograr una mejora continua en los productos. Cabe resaltar
que no se debe aplicar alguno de estos modelos de madurez bajo el supuesto de mejorar en su calidad sin antes
Establecer y definir los procesos correspondientes. En particular, la calidad de un sistema de software est gobernada
por la calidad del proceso utilizado para desarrollarlo y mantenerlo.
Anlisis de
sistemas de
informacin
Desarrollo e
implantacin
de
aplicaciones
computacionales
Desarrollo de sistemas
Ciclos de vida
3.1 Generacin de nuevas tecnologas para la implementacin de sistemas de cmputo Hace referencia a los ltimos
desarrollos tecnolgicos y sus aplicaciones (programas, procesos y aplicaciones).
Las nuevas tecnologas se centran en los procesos de comunicacin y las agrupamos en tres reas: la informtica, el
vdeo y la telecomunicacin, con interrelaciones y desarrollos a ms de un rea.
Existe una confusin en identificar las nuevas tecnologas con la informtica por la presencia de microprocesadores en
casi todos los nuevos aparatos y por la funcin que tiene sta en la sociedad actual. Hacen referencia tambin al
desarrollo tecnolgico en el diseo de procesos, programas y aplicaciones.
El gran salto de la informtica lo supuso el desarrollo de microchips. El primer ordenador (1946) ocupaba una gran
sala, hoy una calculadora cientfica de bolsillo es ms potente que ese ordenador.
Los avances en los diseos de sistemas operativos y la programacin correspondiente (software) tambin adquieren
gran importancia. El sistema operativo de un ordenador consiste en las instrucciones que hace funcionar los circuitos
que lo forman de acuerdo al usuario.
Desarrollo de mviles.
El vdeo ha irrumpido en la sociedad actual a travs de la mejora de procesos: la grabacin, la velocidad, los
materiales y circuitos electrnicos que manipulan esa sealdel video. La miniaturizacin ha supuesto el gran cambio
que ha permitido introducir el
vdeo en las familias y en el centro escolar.
4.1 Diagnstico.
9
4.2 Solucin del caso prctico.
WINDOWS
Caractersticas:
Facilidad de operacin y entorno
Inseguro, es demasiado vulnerable a ataques de virus
Inestable
Es caro ya que se necesita comprar licencias para operarlo
Es muy popular y el ms comercial a Nivel Mundial
SOLARIS
Caractersticas:
Debido a que es un sistema operativo propietario de SUN Microsystems, trabaja de
maravilla en mquinas SUN
Microsystems las cuales por su tecnologa son de precio elevado.
Principalmente diseado para trabajar sobre arquitectura SPARC
Estable, Rpido, Funcional
Orientado a aplicaciones de misin crtica soportando bases de datos robustas.
Existen versiones de Solaris para INTEL no muy populares
Actualmente ya puede funcionar en equipos compatibles con la familia Intel
10
a) SQL SERVER
Caractersticas:
Soporte de transacciones.
Soporta procedimientos almacenados.
Incluye tambin un entorno grfico de administracin, que permite el uso de comandos
DDL y DML grficamente.
Permite trabajar en modo cliente-servidor, donde la informacin y datos se alojan en el
servidor y los terminales o clientes de la red slo acceden a la informacin.
Adems permite administrar informacin de otros servidores de datos.
b) My SQL
Caractersticas:
Interioridades y portabilidad
Escrito en C y en C++
Probado con un amplio rango de compiladores diferentes
Funciona en diferentes plataformas. Usa GNU Automake, Autoconf, y Libtool para
portabilidad.
APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl.
Uso completo de multi-threaded mediante threads del kernel.
Pueden usarse fcilmente multiple CPUs si estn disponibles.
Proporciona sistemas de almacenamientos transaccionales y no transaccionales.
c) Oracle
Caractersticas:
Soporte de transacciones.
Estabilidad.
Escalabilidad.
Soporte multiplataforma.
Su coste es alto.
Lenguajes de Programacin
a) ASP.Net
Caractersticas:
11
b) PHP
Caractersticas:
Mejor soporte para la programacin orientada a objetos. Mejoras de rendimiento
Mejor soporte para MySQL con extensin completamente reescrita.
Mejor soporte a XML (XPath, DOM, etc.).
Soporte nativo para SQLite.
Soporte integrado para SOAP.
Iteradores de datos.
Manejo de excepciones.
Mejoras con la implementacin con Oracle.
c) Java
Caractersticas:
Lenguaje totalmente orientado a Objetos.
Disponibilidad de un amplio conjunto de bibliotecas.
Lenguaje simple.
Distribuido.
Interpretado y compilado a la vez.
Robusto.
a) Modelo en cascada
En Ingeniera de software el desarrollo en cascada, tambin llamado modelo en cascada, 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.
Un ejemplo de una metodologa de desarrollo en cascada es:
12
1. Anlisis de requisitos.
2. Diseo del Sistema.
3. Diseo del Programa.
4. Codificacin.
5. Pruebas.
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.
Si bien ha sido ampliamente criticado desde el mbito acadmico y la industria, sigue siendo
el paradigma ms seguido al da de hoy.
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.
13
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.
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.
b) Modelo en espiral
El modelo Espiral de Boehm para Ingeniera de Software agrupa las mejores caractersticas
del modelo del ciclo de vida clsico y de prototipos. Pero tambin agrega nuevas funciones
que no estn incluidas en los otros modelos, como el anlisis de riesgo. El modelo espiral
define cuatro actividades principales para el ciclo de vida.
14
Planificacin
La determinacin de los objetivos del proyecto, alternativas y restricciones.
Anlisis de Riesgo
El anlisis de alternativas y la identificacin y solucin de riesgos.
Ingeniera
Desarrollo del producto.
Si bien algunos autores consideran que esto es parte del ciclo de vida clsico (Boehm, 1988),
es tambin posible verlo como un mtodo independiente.
Las fases que comprende el mtodo de desarrollo orientado a prototipos seran:
Investigacin preliminar
Las metas principales de esta fase son: determinar el problema y su mbito, la importancia y
sus efectos potenciales sobre la organizacin por una parte y, por otro lado, identificar una
idea general de la solucin para realizar un estudio de factibilidad que determine la factibilidad
de una solucin software.
15
Programacin y prueba
Es donde los cambios identificados en el diseo tcnico son implementados y probados para
asegurar la correccin y completitud de los mismos con respecto a los requerimientos.
Operacin y mantencin
La instalacin del sistema en ambiente de explotacin, en este caso, resulta de menor
complejidad, ya que se supone que los usuarios han trabajado con el sistema al hacer las
pruebas de prototipos. Adems, la mantencin tambin debera ser una fase menos
importante, ya que se supone que el refinamiento del prototipo permitira una mejor claridad
en los requerimientos, por lo cual las mantenciones perfectivas se reduciran. Si
eventualmente se requiriera un mantenimiento entonces el proceso de prototipado es repetido
y se definir un nuevo conjunto de requerimientos.
La fase ms importante corresponde a la definicin de requerimientos, la cual correspondera
a un proceso que busca aproximar las visiones del usuario y del desarrollador mediante
sucesivas iteraciones. La definicin de requerimientos consiste de cinco etapas entre dos de
las cuales se establece un ciclo iterativo:
Anlisis grueso y especificacin
El propsito de esta subfase es desarrollar un diseo bsico para el prototipo inicial.
Diseo y construccin
El objetivo de esta subfase es obtener un prototipo inicial. El desarrollador debe concentrarse
en construir un sistema con la mxima funcionalidad, poniendo nfasis en la interface del
usuario.
16
Evaluacin
Esta etapa tiene dos propsitos: extraer a los usuarios la especificacin de los requerimientos
adicionales del sistema y verificar que el prototipo desarrollado lo haya sido en concordancia
con la definicin de requerimientos del sistema. Si los usuarios identifican fallas en el
prototipo, entonces el desarrollador simplemente corrige el prototipo antes de la siguiente
evaluacin. El prototipo es repetidamente modificado y evaluado hasta que todos los
requerimientos del sistema han sido satisfechos. El proceso de evaluacin puede ser dividido
en cuatro pasos separados: preparacin, demostracin, uso del prototipo y discusin de
comentarios. En esta fase se decide si el prototipo es aceptado o modificado.
Modificacin
Esto ocurre cuando la definicin de requerimientos del sistema es alterada en la subfase de
evaluacin. El desarrollador entonces debe modificar el prototipo de acuerdo a los
comentarios hechos por los usuarios.
Trmino
Una vez que se ha desarrollado un prototipo estable y completo, es necesario ponerse de
acuerdo en relacin a aspectos de calidad y de representacin del sistema.
d) Modelo XP
Metodologa liviana de desarrollo de software
Debido a que se entiende perfectamente cul es la necesidad del cliente, en este caso del
Director de la Faculta de Economa de una Universidad de Puebla, elegimos el modelo en
17
cascada, debido a que cada una de las etapas de desarrollo puede ser perfectamente
delimitadas y no se ve la posibilidad de que en algn momento dado se tengan rediseo o
reingenieras.
ANLISIS DE REQUISITOS
En esta etapa definiremos que objetivos debemos de cubrir de acuerdo a las necesidades del
usuario final, planeacin del proyecto y estudio de Factibilidad.
Para este punto nos apoyaremos de una herramienta de planeacin de proyectos llamada
Microsoft Project. Por medio de este software podemos calendarizar actividades, dicha
calendarizacin tambin conocida como Diagrama de Gantt.
18
Estudio de Factibilidad
En este punto evaluamos si el proyecto es viable de realizar.
En este caso la realizacin de un blog es viable al 100%.
Factibilidad Tcnica.-En este punto se evala los recursos tcnicos para la implementacin
del sistema.
Servidor.
Como el blog no es una aplicacin que requiera muchos recursos de hardware y software,
este puede funcionar correctamente en una computadora con las siguientes caractersticas:
Hardware:
Mnimo Procesador de 32 bits (x86) o 64 bits (x64) a 2 GHz
Memoria RAM mnima de 8 GB
Disco Duro de 1 TB
Software:
Sistema Operativo Linux
Base de datos: mySQL
Lenguaje de Programacin: PHP
Red de datos:
Se recomienda una salida a Internet de al menos 2 Mbps para la red WAN, pensando que la
Facultad tenga un enlace de mayor capacidad.
Para la LAN, se hace uso de la tecnologa estndar comercial ms utilizado en la actualidad
que es Fast Ethernet que funciona a una velocidad de 100 Mbps, (tambin existe
GigaEthernet: 1000Mbps, y TenGigaEthernet: 10000Mbps)
19
Factibilidad Econmica.-
En este caso se considera el pago al programador de la aplicacin, considerando el trabajo
por hora de $250.00 y el proyecto est planeado para trabajarse 8 horas diarias por 2
semanas, tenemos que:
Pago por da= 250 x 8 = $2,000.00
Pago por 10 das = $20,000.00
Por lo tanto la realizacin del sistema nos saldra en $20,000.00 del pago del programador y
$8,000.00 del pago del equipo de cmputo dando un total de $28,000.00 MXN.
En este punto se establecen las entradas y salidas del sistema, as como el diseo de la base
de datos.
20
Registro
Autenticacin
Servicio
El programa debe tener su mdulo de registro, en el cul se van a dar de alta tanto profesores
como alumnos, los cuales van a estar interactuando sobre diferentes temas vistos a lo largo
del curso.
21
Pruebas de integracin
Modelo Entidad-Relacin
22
En el cual el campo clave es el Boleta_Alumno de tipo entero y los dems campos como se
muestra en la tabla anterior son de tipo varchar de longitud variable.
23
De esta manera cumple con el principio del modelo relacional 1 a N, donde un profesor puede
dar una o muchas materias y un alumno puede tomar 1 o muchas materias.
Normalizacin
Boleta_ Nombr Apellido_ Apellido_ Grup Semestr Email_ Usuario Passwor
Alumno e_ Pat Mat o_ e_ Alumno _ d_
Boleta Nomb Apellid
Alumn Apellid
_Alumno No_Emple
_Alumno Nombr
Alum Apellid
Alumno Apellid Materias
Alumno Alumno
_ re o_ o o_ ado e no o_ o_
Alumn Patern Matern _Profesor Patern Matern
o 201456 o Luis o Moreno Jimnez 404 o Cuarto o lmoreno lmoren 1234
57 @ o
201456 Luis Moreno Jimne 1001 Lorena Duarte Daz
gmail.co Programac
57 z m in
Avanzada
201467 Carlos Guerrero Ruiz 405 Cuarto cguerrero cguerre 1234
89 @ ro
2014561ra For
Luis Moreno Jimne 1001 Lorena maDuarte
Normal Daz gmail.co Sistemas
57 Se obs No_ Materia z Nombre_Materia erva como la tabla
m anteriordeno se encuentra
normaliz 1 Programacin Avanzada ada debido que la Materia Informaci
1 y 2
pueden ser agrupadas en n una sola como
se mue de InformacinHumbe stra a continuacin y por otro lado los
201467 Carlos 2 Guerrer Ruiz Sistemas1002 Rodrgu Huerta Computaci
89 o rto 24ez n Bsica
201467 Carlos 3 Guerrer Ruiz Computacin
1002 Bsica Humbe Rodrgu Huerta Clculo
89 o rto ez Integral
Nombr
4
No_Materia Apellido_ Apellido_
Clculo Integral
Nombre_Materia Area_ Email_
Boleta_Alumno Usuario Passw
No_Empleado_Profesor
No_Emple e_ Pat Mat Profesor Profesor _ ord
ado 1
Profeso _Profesor Programacin
_Profesor 20145657 Profeso 1001 _Profes
_Profesor r Avanzada r or
2 Sistemas de 20145657 1001
1001 Lorena Duarte Daz
Informacin Informti lduarte@gmail. lduarte 1234
ca com
3 Computacin 20146789 1002
1002 Humbe Rodrgue Huerta
Bsica Bsica hrodriguez@ hrodrigu 1234
rto z gmail.com ez
4 Clculo Integral 20146789 1002
apellidos puede descomponerse en dos campos: Apellido Paterno y Apellido Materno, tanto
para el profesor, como para el alumno:
A estasin
Tabla tabla le llamaremos tbProfesor
normalizar
2da Forma Normal
Para la segunda Forma Normal, se requiere separar la tabla anterior en 3 tablas, quedando de
la siguiente manera:
Tabla Profesores.- En esta tabla concentramos la informacin necesaria para el profesor,
quedando de la siguiente manera:
25
Tabla Materias.- En esta tabla se concentra la informacin referente a las materias, as como
su relacin con las tablas Profesores y Alumnos, quedando de la siguiente manera:
De esta manera nuestra base de datos queda debidamente Normalizada, sin redundancia de
datos.
26
Nombre de la tabla: tbMaterias
Lmites:
Se requiere implementar cuestionarios o entrevistas con el encargado del proyecto,
para tener informacin ms certera sobre las necesidades generales y especficas
del sistema, porque muchas veces la operacin de un sistema no satisface las
necesidades o el planteamiento de quien solicita el proyecto.
No se tiene informacin sobre la infraestructura de cmputo y comunicaciones de la
Facultad, razn por la cual no sabemos si se tiene la necesidad de implementar la
Vista de lainfraestructura o concentrarnos
tabla tbMaterias en el diseo del software.
ya relacionada
Alcances:
Anlisis y diseo de un blog personalizado a las necesidades del cliente.
La creacin del blog quedara a cargo del rea de sistemas de la Facultad de
Economa para su futura administracin y actualizacin del sistema.
Este punto ya fue analizado en la solucin del caso prctico y fue elegido el Modelo en
Cascada y fue elegido debido a que cada una de las etapas est bien delimitada y no se
ve la posibilidad de que se tenga que realizar la reingeniera del software, debido a que
los objetivos del proyecto estn bien definidos.
27
USUARIOS BLOG
Los alumnos de la Facultad ingresan desde cualquier punto del Internet ingresan a la
pgina donde se encuentra publicado el blog.
Este servidor se encuentra dentro de la Facultad y dentro de la red de la misma.
1) Registro. Aqu el alumno y el profesor van a dar de alta sus datos personales.
2) Autenticacin.-Una vez registrados los datos del alumno y del profesor, regresan al
sistema y entran a travs de su usuario y su password a la plataforma.
5.4 Presente el esquema del modelo de base datos por utilizar y su normalizacin.
5.6 Presentar el cdigo fuente y archivo ejecutable del prototipo funcional y amigable al
usuario considerando las necesidades identificadas.
Aqu cabe mencionar que no se puede generar un archivo ejecutable, debido a que no es
una aplicacin de escritorio, es un sitio Web y en este caso slo se puede concentrar el
sitio web en una carpeta.
Interfaces:
1. Interface de Login
29
En caso de que el usuario se encuentre registrado, debe dar clic en el botn Login, en
caso de que no est registrado entrar al botn Registro.
En caso de ser administrador del sistema el usuario entra al Mdulo de Administracin en
donde tiene que proporcionar el usuario y contrasea.
Este mdulo le proporciona al administrador del Sistema el atributo de dar de alta, baja y
actualizaciones registros de Alumnos, Profesores y Materias.
30
31
32
<?php
/****************************************
**establecemos conexin con el servidor.
**nombre del servidor: localhost.
**Nombre de usuario: root.
**Contrasea de usuario: root.
**Si la conexin fallara mandamos un mensaje 'ha fallado la conexin'**/
mysql_connect('localhost','root','root')or die ('Ha fallado la conexin: '.mysql_error());
/*capturamos nuestros datos que fueron enviados desde el formulario mediante el mtodo
POST
**y los almacenamos en variables.*/
$usuario = $_POST["admin"];
$password = $_POST["password_usuario"];
33
<script languaje="javascript">
alert("Contrasea Incorrecta");
location.href = "login.php";
</script>
<?
}
}
else
{
//en caso que el nombre de administrador es incorrecto enviamos un mensaje y
redireccionamos a login.php
?>
<script languaje="javascript">
alert("El nombre de usuario es incorrecto!");
location.href = "login.html";
</script>
<?
6 Conclusiones.
El presente trabajo se habla sobre metodologas para el desarrollo de software, que son
procedimientos y recomendaciones que se dan para llevar a cabo un producto de calidad
y con las mejores prcticas.
Por ltimo se propusieron el diseo de unas interfaces que formaran parte del blog y que
permitan que la funcionalidad del blog cumpla con las necesidades del Director de la
Facultad.
34
7 Referencias bibliogrficas.
http://ciberconta.unizar.es/ftp/pub/docs/bsch/pdf/A.pdf
http://jamserv.blogspot.mx/2011/05/pruebas-de-sistemas-informaticos.html
http://www.datosgratis.net/consejos-para-la-introduccion-de-una-tesis/
http://www.taringa.net/posts/info/5651460/Elementos-de-una-red-de-computadoras.html
http://www.inf.udec.cl/~gdonoso/software/isenfoques.html
http://fipesmi.misiones.org.ar/users/educohen
8 Anexos
(No hay )
35
7 Referencias bibliogrficas.
http://ciberconta.unizar.es/ftp/pub/docs/bsch/pdf/A.pdf
http://jamserv.blogspot.mx/2011/05/pruebas-de-sistemas-informaticos.html
http://www.datosgratis.net/consejos-para-la-introduccion-de-una-tesis/
http://www.taringa.net/posts/info/5651460/Elementos-de-una-red-de-computadoras.html
http://www.inf.udec.cl/~gdonoso/software/isenfoques.html
http://fipesmi.misiones.org.ar/users/educohen
Libro: Manual Imprescindible dePHP5,
Autor: Luis Miguel Cabezas Granado
Editorial Anaya Multimedia
Libro: Ingeniera de Software Explicada
Autor: Marck Norris y Peter Rigby
8 Anexos
(No hay )
http://nanotecnologia12a.es.tl/Discos-Duros-Hechos-Con-Nanotecnolog%EDa.htm
http://nanocomp.blogspot.mx/