You are on page 1of 37

Licenciatura en Ingeniera de Software

Nombre del sustentante: Juan Carlos Morales Maran

Clave del caso prctico asignado: 356_ICM-007-BLP-001

Fecha del examen de la primera etapa: 09-05-2014

Folio de la primera etapa: 601029347


1 Introduccin.

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.

1.1 Objetivo del trabajo.

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

1.2 Relevancia del caso.

La importancia de tener un sistema que permita la retroalimentacin de la informacin capturada en el sistema


XXXXX y que le permita al director del rea ver los reportes de alto nivel que ayuden a tomar decisiones
importantes para el crecimiento de la empresa.

2 Presentacin del caso.

Caso Prctico:

Sistema de punto de venta la Empresa Dulces Maria de Jesus.


2.1 Planteamiento del Problema.

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.

2.2 Dilemas por resolver.

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.

d) Identifique el mtodo que usar para evitar accesos no autorizados.

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.

g) Justifique cmo determinara el costo del sistema.

h) Justifique cmo calculara el tiempo para el desarrollo del sistema.

i) Desarrolle un prototipo funcional el cual deber ser modificable durante su presentacin.

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.

Las tarjetas perforadas y los computadores mecnicos

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.

Los computadores electromecnicos

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.

Fig. 1. Tabla de resumen de las computadoras y su evolucin

Generacion Caracteristicas Imagen


Generacin Cero
Fueron aparatos analgicos que evolucionaron lentamente eran sistemas analgicos y mecnicos.

Primera Generacin Elemento de construccin: Tubos al Vaco o


1940 - 1952 Bulbos
Gran tamao, complejas
300 multiplicaciones por segundo
Generaban mucho calor
Consuman mucha energa
ENIAC, EDVAC, UNIVAC
Segunda Generacin Elemento de construccin Transistores
1952 1964 Disminuy el tamao y el consumo de
energa.
Surgieron los lenguajes de programacin.
FORTRAN, COBOL
Tercera Generacin Elemento de construccin Circuito Integrado
1964 1971 CHIP
Redujo drsticamente el tamao
Aparecen las microcomputadoras
Surgieron nuevos lenguajes de programacin.
BASIC
Cuarta Generacin Elemento de construccin Microprocesador
1971 1981 Bill Gates funda Microsoft- Aparece Windows
Steve Jobs funda la compaa Apple -
Aparece MAC.
Aparece el sistema operativo MS-DOS
Disk Operating System
Quinta Generacin Se caracteriza por la Inteligencia Artificial
1981 - 1990 (pretende simular los procesos y acciones de la
mente humana)
Robtica uso y empleo de robots
Redes de comunicacin - Internet
Sistemas Expertos basada de la experiencia
humana.
Se utilizan mucho en el rea de salud
CADUCEUS diagnstico de enfermedades
Realidad Virtual experiencia simulada
Intel perfecciona los microprocesadores
Aparecen las computadoras porttiles
Inicia la multimedia
Combinacin de video, texto, sonido, imagen
Desarrollo de Internet
Sexta Generacin La era de las computadoras basadas en redes
1991 presente neuronales
Artificiales o cerebros artificiales.
Ahorran energa
Las Tablet
Los Dispositivos Mviles Inalmbricos
El Reconocimiento de voz y escritura
Las Computadoras pticas (luz, sin calor,
rpidas)
La Mensajera y el Comercio Electrnico
La Realidad Virtual / Virtualizacin
Las Redes Inalmbricas (WiMax, WiFi,
Bluetooth, LiFI)
Las Memorias Compactas (Discos Duros
externos USB)
Las Computadoras Cunticas (electrones,
molculas, qbits,sper rpidas)

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.

historia del software

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:

El hardware ha dejado atrs al software ya que difcilmente puede explotar su potencial.


La capacidad de construir programas no puede satisfacer la demanda de nuevo software.
La capacidad de mantener el software existente est amenazada por el mal diseo y el uso de recursos
inadecuados.

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

Gestin de proyectos de tecnologas de informacin


Administracin de proyectos de tecnologas de Informacin
Gestin de proyectos informticos

Modelado de los requerimientos de un sistema de Informacin


Algoritmos Ing. de requerimientos diseo y desarrollo de sistemas,

Diseo de la solucin del problema de tecnologa de informacin


Desarrollo del modelo inicial de la solucin del problema de tecnologa de informacin

Ajuste de modelos de la solucin de tecnologa de informacin

Diseo de la arquitectura del sistema

Modelado de datos para el sistema

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.

Desarrollo base en informtica.

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.

El desarrollo de sistemas de inteligencia artificial y lenguajes de programacin permitirn un importante cambio en el


planteamiento y diseo de programas educativos. Un aspecto relevante es la comunicacin con la computadora
mediante el lenguaje natural.

Desarrollo de mviles.

En el campo de la imagen electrnica se han producido los avances ms espectaculares.

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.

Hay tres cambios importantes:


sustitucin de tubos de vaco T.V. por pantallas planas.
tratamiento digital de la imagen.
formato de imagen electrnica de alta definicin y tecnologa de LEDs (Light
Emisor Diode).
Desarrollo base en telecomunicaciones.
Los dos grandes desarrollos en el campo de las telecomunicaciones son los satlites y el
cable de fibra ptica.
Los satlites estn siendo utilizados desde hace tiempo. Los cables pticos sustituyen a
los metlicos que transmitan seales elctricas. Transmiten impulsos luminosos,
aumenta la cantidad de informacin por transmitir y disminuyen las prdidas.
6
El cable ha permitido desarrollos educativos a travs del videotexto, su desarrollo
posibilitar los sistemas de enseanza abierta.
El WIFI o comunicacin sin cables ha venido a revolucionar el campo de las
telecomunicaciones y ha permitido la expansin de ese mercado por la facilidad y
ventajas de utilizar tecnologa inalmbrica.
Los medios como recursos didcticos.
Un uso correcto de los medios para trabajar los contenidos de las materias o unidades
de aprendizaje tienen que ver con las formas de aprender del alumno y las formas de
organizar la informacin de los medios (planteamiento multimedia).El profesorado al
manejar las tecnologas informticas buscar los medios y los documentos ms
adecuados y los integrar en sus estrategias de enseanza.
3.2 Desarrollo de sistemas de hardware y software asociado para aplicaciones especficas
El anlisis de leyes y modelos de evolucin del hardware y software, permite cuantificar
y evaluar la actividad cientfica en las reas de electrnica y computacin.
Los sistemas de informacin asociados a aplicaciones de cualquier ndole, utilizan
personas, datos, hardware, software, recursos y tecnologas de redes de
comunicaciones para reunir, transformar y diseminar informacin en una organizacin.
Elementos que interviene en el desarrollo de un sistema:
Hardware (equipos necesarios para el procesamiento de la informacin)
Software (adquisicin o desarrollo de aplicaciones a la medida y programas
genricos a nivel comercial)
Personal (personas que intervienen en el sistema para procesar, controlar y
administrar la informacin)
Otros procedimientos (generacin de informes, formatos, estandarizacin de
procesos)
Con esto queremos decir que el desarrollo de una aplicacin grande o pequea
intervienen los factores anteriores, no solamente el hardware y el software, de hecho los
dos han evolucionado a pasos agigantados, de hecho muchos autores coinciden que el
hardware ha evolucionado ms que el software.
De hecho se menciona que el hardware de un equipo de cmputo muchas veces no es
aprovechado al 100%, porque el software viene un paso atrs que el hardware.
Otro ejemplo de esta aseveracin son los famosos parches del sistema operativo,
creados para cubrir las deficiencias que se presentaron en el desarrollo del software al
momento de evaluar su software con hardware de ltima generacin.
Independientemente de esto, el ingeniero o licenciado en desarrollo de sistemas debe de
tener la capacidad de saber las caractersticas de hardware y software necesarias para
7
crear un sistema, o en su defecto, saber dnde encontrar la informacin para aprovechar
al mximo el hardware y el software donde va a ejecutarse su aplicacin.
3.3 Configuracin de redes de cmputo para necesidades especficas
Una red de computadoras est conectada tanto por hardware como por software. El
hardware incluye tanto las tarjetas de interfaz de red como los cables que las unen, y el
software incluye los controladores (programas que se utilizan para gestionar los
dispositivos) y el sistema operativo de red que gestiona la red.
Componentes:
Tarjeta de conexin a la red: Toda computadora que se conecta a una red necesita
de una tarjeta de interfaz de red que soporte un esquema de red especfico, como
Ethernet, ArcNet o Token Ring. El cable de red se conectara a la parte trasera de la
tarjeta.
Estaciones de trabajo: Cuando una computadora se conecta a una red, la primera se
convierte en un nodo de la ltima y se puede tratar como una estacin de trabajo o
cliente. Las estaciones de trabajos pueden ser computadoras personales con el DOS,
Macintosh, Unix, OS/2 o estaciones de trabajos sin discos.
Cableado de red.- Es el medio por el cual se transmiten la seales de una
computadora a otra, el ms utilizado en la actualidad es el cable UPT, pudiendo ser nivel
5 o 6, dependiendo la velocidad de transmisin, porque referente a la distancia ambos
soportan 100 metros.
Equipo activo.- Es el dispositivo que permite la conexin del equipo de cmputo y
darle funcionalidad a una red de datos, dependiendo del uso que se le d se pueden
identificar al menos dos que son los ms importantes, que son el switch (conmutador
de paquetes) y el ruteador ( rutear o enlazar redes ) de acuerdo a las necesidades y
el tamao de la red requerida puede ser posible la ocupacin de protocolos de red
para intercomunicar las redes como por ejemplo RIP, OSPF, EIGRP o BGP.
3.4 Evaluacin de la funcionalidad de la nueva aplicacin tecnolgica
Se refiere a la evaluacin o valoracin de las mltiples implicaciones de un desarrollo
tecnolgico, ms all de la mera determinacin de la factibilidad tcnica y la rentabilidad,
de modo que se maximicen las oportunidades y se minimicen los riesgos.
Esta valoracin suele tener especial inters en fases tempranas de los desarrollos
tecnolgicos.
8
Cada vez surgen ms NEBTs (nuevas empresas basadas en tecnologa), cuyo negocio
est basado en la explotacin de nuevas tecnologas, normalmente generadas en
proyectos exitosos y destinados a evaluar funcionalidad de la tecnologa.
Por tanto es muy importante tener un criterio lo ms neutro y estndar posible que sirva
para que estas empresas puedan analizar su viabilidad o se pueda realizar cualquier
negocio relacionado con dicha tecnologa, incluyendo su compraventa.
Las partes que negocian en torno a una tecnologa necesitan desarrollar y acordar un
mecanismo de valoracin que establezca un retorno justo sobre la inversin en el
desarrollo de dicha tecnologa.
El precio final depender de varios factores, incluyendo al menos:
La naturaleza de la tecnologa
Su fase de desarrollo
La fase de desarrollo de las tecnologas equivalentes
Su alcance
La fortaleza de la patente o know-how (como se hace)
El poder de negociacin de las dos partes
Los factores ms significativos que hay que considerar son:
La informacin disponible sobre la oportunidad de negocio
Las condiciones de mercado conocidas
La facilidad de venta de los productos/servicios resultantes
Las valoraciones pueden hacerse mediante dos aproximaciones:
Aproximaciones basadas en el coste
Aproximaciones basadas en el mercado
3.5 Anlisis de la problemtica para la definicin de la metodologa por utilizar
Los modelos de procesos permiten al analista de sistemas desarrollar un plan de requisitos
del software, permiten establecer un trabajo en forma ordenada, adems que existen
muchos modelos que se adaptan a las exigencias del proyecto, solo debemos saber cual
nos conviene, pero lo ms importante, es que estos modelos nos llevan a presentar los
proyectos al cliente de manera que ste vea su diseo y sus funciones y que la mayora de
ellos estn orientados al mantenimiento.
Una metodologa se basa en una combinacin de los modelos de proceso genricos
para obtener como beneficio un software que solucione un problema.
La trascendencia de las metodologas se ha hecho notoria, pasando de solo programar,
a establecer funciones en etapas o mdulos, objetos, y por ltimo agilizar el desarrollo
del software y minimizar los costos.
9
En el desarrollo convencional todo el programa est en un solo bloque, con ejecucin
secuencial de instrucciones.
En el desarrollo estructurado los programas estn divididos en distintos bloques, estos
bloques tienen funciones que se van confeccionado en forma de arriba-abajo,
empezando desde las generales hasta las particulares, hasta llegar a detallar cada uno
de los procedimientos y su interaccin.
El desarrollo orientado a objetos comprende dividir un programa en clases, donde estas
clases estarn estructuradas por propiedades, atributos, variables, pretendiendo
simular y describir de manera conceptual a un objeto.
Los mtodos giles fueron pensados especialmente para equipos de desarrollo
pequeos, con plazos reducidos, requisitos voltiles y nuevas tecnologas.
El modelado de negocio describe como desarrollar una visin de la nueva organizacin,
basado en esta visin se definen procesos, roles y responsabilidades de la
organizacin por medio de un Modelo de Casos de Uso del Negocio.
Los modelos de procesos permiten al analista de sistemas desarrollar un plan de
requisitos del software, permiten establecer un trabajo en forma ordenada, adems que
existen muchos modelos que se adaptan a las exigencias del proyecto, solo debemos
saber cual nos conviene.
3.6 Anlisis de los elementos tecnolgicos de redes disponibles en el mercado
Los elementos tecnolgicos disponibles de las redes son:
Cableado de red.- UTP (el mas usado), FTP, STP, categora 5 y 6.
Tarjetas de red con conector RJ-45 o componentes de comunicacin inalmbrica
instalados en la PC.
Equipo activo de red.- Switches, ruteadores, y Access Point (tecnologa wireless)
Protocolos de red.- BGP (internet), OSPF, EIGRP, RIP, protocolo IP versin 4 y 6.
Convergencia entre datos y telefona a travs de conmutadores IP, appliances (cajas
listas para funcionar tanto hardware como software altamente especializado en una
sola unidad, ya incluido),
Seguridad para la red tanto local como extendida a travs de un muro de fuego y
analizadores de paquetes.

Desarrollo y resolucin del caso.

4.1 Diagnstico.

Como en el planteamiento del problema no se especifica la infraestructura de cmputo y


comunicaciones instalada en la Facultad, asumimos que por lo menos tiene equipo y red
de datos, no se saben caractersticas, pero se asume que es la mnima necesaria
tratndose de una Universidad. En este proyecto nos enfocaremos al desarrollo de la
aplicacin, y a recomendaciones de hardware, software y de telecomunicaciones.

9
4.2 Solucin del caso prctico.

Primeramente haremos un comparativo entre el Sistema Operativo de Servidor, del Lenguaje


de Programacin y de Manejador de Bases de Datos:

Sistema operativo de Servidor:


LINUX
Caractersticas:
Es uno de los sistemas operativos ms robustos, estables y rpidos
Es austero: Linux funciona hasta en un 386
El manejo de la memoria de Linux evita que los errores de las aplicaciones detengan el
kernel. (no se pasma)
Linux es multitarea y multiusuario, ideal para servidores
Linux es muy robusto, estable y rpido
Linux es libre: Gratuito y modificable.
Cada vez las distribuciones de Linux se vuelven ms amigables "tipo windows"

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

Eleccin del Sistema Operativo de Servidor.


En caso de que la Universidad tuviera una plataforma sentada en Windows, sera muy
conveniente montar este blog en Windows. Sin embargo sino se contara con este Sistema
Operativo el recomendable sera el Linux, por las caractersticas mencionadas y sobre todo
porque es libre.

10

Manejadores de Bases de Datos

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.

Eleccin del manejador de bases de datos.


Es el mismo caso mencionado anteriormente, si la Facultad cuenta con SQL Server y tuviera
licencias para este Sistema operativo lo recomendable es que utilice SQL Server, en caso de
que no fuera as, es recomendable el mySQL Server, por ser un software libre y compatible
prcticamente con cualquier equipo de cmputo.

Lenguajes de Programacin

a) ASP.Net
Caractersticas:

11

ASP.NET es un framework para aplicaciones web desarrollado y comercializado por


Microsoft.
Es usado por programadores y diseadores para construir sitios web dinmicos,
aplicaciones web y servicios webXML.
Apareci en enero de 2002 con la versin 1.0 del .NET Framework, y es la tecnologa
sucesora de la tecnologa Active Server Pages (ASP).
ASP.NET est construido sobre el Common Language Runtime,
Permite escribir cdigo ASP.NET usando cualquier lenguaje admitido por el .NET
Framework.

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.

Eleccin del Lenguaje de programacin:


Como en los casos anteriores, en caso de que la Facultad tuviera licencias de ASP.Net, sera
muy recomendable programar en C#, sin embargo, en caso de que esto no fuera posible, es
recomendable programar en PHP, porque es un software libre y fcil de codificar.

Modelos de Desarrollo de Software

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.

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.
Es conveniente distinguir entre diseo de alto nivel o arquitectnico y diseo detallado. El
primero de ellos tiene como objetivo definir la estructura de la solucin (una vez que la fase de
anlisis ha descrito el problema) identificando grandes mdulos (conjuntos de funciones que
van a estar asociadas) y sus relaciones. Con ello se define la arquitectura de la solucin
elegida. El segundo define los algoritmos empleados y la organizacin del cdigo para
comenzar la implementacin.

13

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 que
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.

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.

Evaluacin del cliente


El modelo es representado por una espiral dividida en cuatro cuadrantes, en que cada
uno describe las actividades mencionadas anteriormente. El modelo espiral utiliza un
esquema de desarrollo iterativo donde la primera iteracin comienza en el centro del
crculo e, incrementalmente, se va desplazando hacia afuera. Las siguientes iteraciones
sucesivas son versiones ms completas del software que est siendo construido. Al
principio de cada iteracin del ciclo de vida se hace un anlisis de riesgo, mientras, por
el otro extremo, la revisin del proyecto se realiza al final de la iteracin. As, se puede
contrarrestar cualquier riesgo observado mediante las acciones adecuadas en el tiempo
preciso.
El modelo espiral es visto como un enfoque ms realista para el desarrollo de grandes
sistemas de software. Usa un mtodo revolucionario para desarrollo y prototipos como
una tcnica de reduccin de riesgo (pese a que los prototipos pueden ser usados en
cualquier etapa dentro del ciclo de vida). Tambin utiliza el enfoque de sistematizacin
y el 'desarrollo en etapas' del ciclo de vida clsico, pero, con la diferencia que todos
estn incorporados dentro del esquema iterativo planteado por el modelo espiral.

c) Modelo orientado a Prototipos

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

Definicin de los requerimientos del sistema


El objetivo de esta etapa es registrar todos los requerimientos y deseos que los usuarios
tienen en relacin al proyecto bajo desarrollo. Esta etapa es la ms importante de todo el ciclo
de vida, es aqu donde el desarrollador determina los requisitos mediante la construccin,
demostracin y retroalimentaciones del prototipo. Por lo mismo esta etapa ser revisada con
ms detalle luego de esta descripcin.
Diseo tcnico
Durante la construccin del prototipo, el desarrollador ha obviado el diseo detallado. El
sistema debe ser entonces rediseado y documentado segn los estndares de la
organizacin y para ayudar a las mantenciones futuras. Esta fase de diseo tcnico tiene dos
etapas: por un lado, la produccin de una documentacin de diseo que especifica y describe
la estructura del software, el control de flujo, las interfaces de usuario y las funciones y, como
segunda etapa, la produccin de todo lo requerido para promover cualquier mantencin futura
del software.

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

Conjunto de prcticas y reglas empleadas para desarrollar software


Basada en diferentes ideas acerca de cmo enfrentar ambientes muy cambiantes
Originada en el proyecto C3 para Chrysler
En vez de planificar, analizar y disear para el futuro distante, hacer todo esto un poco
cada vez, a travs de todo el proceso de desarrollo

Caractersticas del Modelo XP

Metodologa basada en prueba y error


Fundamentada en Valores y Prcticas
Expresada en forma de 12 Prcticas (Conjunto completo)

Para nuestro proyecto se analiz el modelo en espiral, modelo en cascada, el modelo
XP y el modelo orientado a Prototipos.

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.

DESARROLLO DE LA METODOLOGA DE MODELO EN CASCADA

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.

Objetivos del proyecto:


Crear un blog que permita interactuar alumnos con profesores
Evitar que se publiquen groseras en el blog.
Por medio de este blog permitir evaluar al profesor

Planeacin del proyecto:

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

Fecha de inicio del proyecto: lunes 14 de julio


Fecha de finalizacin: viernes 8 de agosto

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.

Anlisis de la infraestructura de Cmputo y Comunicaciones.

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

El costo aproximado de una computadora con estas caractersticas es de $8,000.00.


En este punto asumimos que no se tiene equipo de cmputo para fungir como servidor del
Blog, sin embargo sera absurdo pensar que la facultad no tuviera un equipo destinado para
este proyecto.

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 Operativa.-Aqu definimos el personal requerido para la implementacin del


Sistema.
En este caso no es necesaria la contratacin de analistas, programadores y diseadores, en
realidad una persona con la Licenciatura en Informtica o carrera afn, sera necesaria para la
implementacin de este software calculado para concluirse en 2 semanas.
Posteriormente la Administracin y actualizacin del proyecto quedara a cargo del personal
de Sistemas de la Facultad.

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.

Anlisis del Sistema:


Aqu establecemos los requerimientos necesarios para el anlisis del sistema.
Entidades identificadas:
Alumno
Profesor

Actividades del sistema:


Retroalimentacin entre profesor y alumno
Evaluacin del profesor

Diseo del Sistema

En este punto se establecen las entradas y salidas del sistema, as como el diseo de la base
de datos.

20
Registro

Autenticacin

Servicio

En este punto se establece la funcionalidad que va a tener el programa y como va a


interactuar con su entorno, en el Diagrama anterior vemos como los usuarios van a conectar
al blog instalado en la Facultad a travs del Internet, estos usuarios van a llevar el proceso de
Registro, Autenticacin y Servicio.

Ms adelante se desarrollara el Diseo de la Base de Datos en base al Modelo Entidad-


Relacin y la Normalizacin de la Base de datos.

Diseo del programa

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.

Posteriormente cuando se ingrese al blog el profesor y el alumno previamente registrados van


a poder ingresar, esto es muy importante debido a que se puede mantener con cierto respeto
la comunicacin debido a que se tiene un control de quien entra al blog.

21

Pruebas de integracin

Una vez terminada la Base datos y la programacin es necesaria la etapa de pruebas al


sistema.
En esta etapa se van a introducir datos de prueba al sistema, tanto a la base de datos, as
como al Sistema, se har validacin de cajas de texto, esto es, si se piden datos numricos
que solo acepte nmeros, en el caso de los alfanumricos, no hay problemas porque acepta
nmeros y letras.
Es importante que el programa contenga rutinas try-catch para capturar errores y no se vean
desplegados en la ejecucin del programa.

Capacitacin e Implementacin del Sistema

En este punto ms que capacitar al personal que va a capacitar al personal encargado de


administrar el blog, de tal manera que permita verificar el estado del sistema, supervisar
actividades en la base de datos y en el sistema, as como dar mantenimiento y actualizacin
al sistema.

Documentacin del sistema


La documentacin del sistema abarca el manual tcnico conteniendo toda la implementacin
del sistema y el manual de operacin del usuario, que en este caso no es necesario, debido a
que el manejo del blog no requiere ninguna capacitacin hacia el usuario

Diseo de la base de datos:

Modelo Entidad-Relacin

22

Descripcin de las tablas:

Tabla alumnos (tbAlumno)

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.

Tabla profesores (tbProfesores)


En el cual el campo clave es el de No_Empleado_profesor de tipo entero y los dems campos
son de tipo varchar con longitud variable.

23

Boleta_ Nombr Apellido No_Emple Nombre Apellido Materia Materia


Alumno e s ado s 1 2
_Profesor
20145657 Luis Moreno 1001 Lorena Duarte Programac Sistemas
Jimnez Daz in de
Avanzada Informaci
n

20146789 Carlos Guerrero 1002 Humberto Rodrgue Computaci Clculo


Ruiz z Huerta n Bsica Integral
Tabla materias (tbMaterias)

En donde el campo clave es No_Materia haciendo la relacin 1:N con:


No_Empleado_Profesor (tabla Profesores) No_Empleado_Profesor (tabla materias)
Boleta_Alumno(tabla Alumno) Boleta_Alumno (tabla materias)

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:

Tabla Alumnos.- En esta tabla concentramos la informacin necesaria para el alumno,


quedando de la siguiente manera:
A esta tabla le llamaremos tbAlumnos

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

4.3 Lmites y alcances de la investigacin.

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.

5 Respuesta a las preguntas crticas.

5.1 Analizar tres metodologas para la solucin del problema.

Durante el desarrollo de nuestro proyecto fueron analizadas las siguientes metodologas:


Modelo en cascada.
Modelo en espiral.
Modelo orientado a prototipos.
Modelo XP
5.2 Desarrolle y justifique la metodologa que utilizara para la elaboracin 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

5.3 Identificar las funcionalidades que deber tener el sistema y represntelas en un


diagrama.

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.

3) Servicio.-Este es el blog en donde el profesor o el alumno van a publicar temas y la


obligacin de ambas partes de generar retroalimentacin, dudas o comentarios de dicho
tema.
28

5.4 Presente el esquema del modelo de base datos por utilizar y su normalizacin.

El modelo de base de datos y la normalizacin ya fueron desarrollados dentro de la


solucin del caso prctico.

5.5 Justifique su eleccin de pruebas por realizar al sistema desarrollado.

Se eligi el mtodo de Pruebas de programas con datos de prueba.


Esto quiere decir que se va a validar la informacin entrada a travs de las interfaces y
guardadas en la base de datos del sistema.
Por ejemplo los TextBox declarados no deben de ir campos vacos, porque desde un
principio en la base de datos se declar que no se permita nulos.
Tambin otra validacin que debe de realizarse es cuando el sistema solicita nmeros y
no debe permitir caracteres alfanumricos.
Tambin es requerido realizar un programa en javascript de tal manera que en el Textbox
del campo de comentarios programar la aplicacin de tal manera que no sean publicadas
groseras, esto es, crear un diccionario de groseras y cuando el sistema detecte que la
palabra introducida es igual a alguna palabra del diccionario de groseras el sistema
mande un mensaje de que no puede escribirse dicha palabra o mejor an publique solo
asteriscos.

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.

2. Modulo de Registro, en este mdulo se va a permitir el registro de alumnos,


profesores y materias.
Modulo de registro de Alumnos:

30

Modulo de registro de las materias


Modulo de registro del Profesor:

31

Como ya se menciono anteriormente en las tablas Alumnos y Profesores son llenadas


respectivamente, valga la redundacia por alunos y profesores, con respecto a la tabla
materia, esta es llenada por el administrador del sistema.

3. Manejo del blog

Aqu ya esta iniciada la sesin ya sea de profesor o de alumno y se puede empezar a


trabajar con el blog
Requerimientos para ejecutar el programa:
No se puede generar el archivo ejecutable del sitio, debido que no es una aplicacin de
escritorio, es un sitio Web y como tal debe tener instalado el Lenguaje de Programacin
PHP, la base de datos mySQL y un servidor de pginas Web llamado APACHE.

En la siguiente parte de cdigo, solo se va a tener el programa de login, debido a que se


gener gran cantidad de cdigo y se encuentra disperso en diferentes botones.

32

Cdigo del botn login:

<?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());

/*Luego hacemos la conexin a la base de datos.


**De igual manera mandamos un mensaje si hay algn error*/
mysql_select_db('db_blog')or die ('Error al seleccionar la Base de Datos: '.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"];

/*Consulta de mysql con la que indicamos que necesitamos que seleccione


**solo los campos que tenga como nombre_administrador el que el formulario
**le ha enviado*/
$result = mysql_query("SELECT * FROM administradores WHERE nombre_administrador
= '$usuario'");

//Validamos si el nombre del administrador existe en la base de datos o es correcto


if($row = mysql_fetch_array($result))
{
//Si el usuario es correcto ahora validamos su contrasea
if($row["password"] == $password)
{
//Creamos sesin
session_start();
//Almacenamos el nombre de usuario en una variable de sesin usuario
$_SESSION['usuario'] = $usuario;
//Redireccionamos a la pgina: index.php
header("Location: index.php");
}
else
{
//En caso que la contrasea sea incorrecta enviamos un mensaje y redireccionamos a
login.php
?>

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>
<?

//Mysql_free_result() se usa para liberar la memoria empleada al realizar una consulta


mysql_free_result($result);

/*Mysql_close() se usa para cerrar la conexin a la Base de datos


mysql_close();
?>

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.

En la parte de desarrollo del programa se realiz el anlisis y el diseo del programa,


partiendo desde la normalizacin de la base de datos, que es la parte ms importante
para el desarrollo de un sistema, debido a que si se tiene un mal diseo de base de datos
el programa no va a cumplir con el propsito para lo cual fue desarrollado.

A continuacin de la normalizacin se realiz el diagrama de base de datos bajo el


modelo Entidad-relacin y cumpliendo la funcin de cardinalidad 1:N, formando parte del
diseo de la base de datos.

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

El presente trabajo me permiti hacer uso de herramientas y metodologas capaces de


permitirme llevar la lgica, planteamiento y desarrollo de un sistema, de tal manera que
me permitiera el desarrollo de un trabajo con calidad y cumpliendo con las expectativas
del planteamiento inicial.

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 )
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/

Antecedentes y aplicaciones de la Informtica. (2012). Recuperado


de: https://informaticaenlau.files.wordpress.com/2012/08/1-2-
generaciones-de-las-computadoras.pdf

Enderica, J. (2009). Las Generaciones de las Computadoras.


Recuperado de
http://es.slideshare.net/jhonnysamm/generaciones-de-las-
computadoras-2718479
Jurez, A. (2013). Generaciones de Computadoras. Recuperado de
https://prezi.com/t98izpjsobgy/generaciones-de-computadoras/

Palacios, A. (2009). Generaciones de Computadoras. Recuperado de


http://es.slideshare.net/ricardoalberto/generaciones-de-
computadoras-1678458
Referencias

Parson, J.J, & Oja, D. (2012). New perspective on


computer concepts 2012: Comprehensive.
Boston, MA: Course Technology

Vermant, M., Sebok, S., Freund, S. (2014).


Discovering Computers: Technology in a World
of Computers, Mobile Devices, and the Internet.
Boston, Ma. Cengage Learning.

You might also like