Licenciatura en Ingeniería de Software

Nombre del sustentante: Juan Carlos Morales Marañón

Clave del caso práctico asignado: 356_ICM-007-BLP-001

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

Folio de la primera etapa: 601029347

1 Introducción.

En a los avances de la ciencia y la tecnología se ha desarrollado de una forma muy amplia el de tal manera que la casi
todos los dispositivos electrónicos de penden de alguna manera del software para funcionar, así mismo todo tipo de
negocios e investigaciones públicas y privadas que se quieran automatizar dependen de herramientas de software o
programas para realizarse de una forma más precisa y eficiente.

Razón por la cual en el presente trabajo se realiza un “Punto de Venta Web” con una serie de procedimientos,
investigación, análisis y diseño, todo bajo una metodología que lleve una serie de pasos ordenados así como de
estructuras de datos y sistemáticamente 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 páginas en Internet de código abierto donde
se pueden obtener herramientas tanto web como de escritorio por ejemplo: APDESC, Openbravo Java POS,
uniCenta POS, administraNET Gestión Free, Maia POS, etc.. de los cuales pueden tener más alcance y
funcionalidad personalizables.

Sin embargo en el presente proyecto se propondrá el diseño del sistema de “punto de venta ” en base a un lenguaje
de programación 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
sistemática
 Evitar que se publiquen información 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 retroalimentación de la información 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 Presentación del caso.

Caso Práctico:

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

2.1 Planteamiento del Problema.

María de Jesús queda está a cargo de un negocio de dulcerías 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 volúmenes. Cuando un producto no se encuentra se comunican por teléfono con las otras sucursales para
verificar la existencia del producto o acuden presencialmente a las otras sucursales a verificar existencias.

Sistema fácil de usar, que permita saber el inventario de cada producto en línea, 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 específica pero con diferentes vistas de sus productos (en orden alfabético, por
marca, etc.), realizar búsquedas y dar de alta y de baja productos. Cuando un producto es vendido por otra sucursal
indicar el número de sucursal, la fecha y la hora automáticamente.

Una web con un catálogo de sus productos con precios al menudeo y mayoreo, que permita realizar pedidos en línea,
así como hacer pagos en línea a sus clientes con alta seguridad. Para los pagos en línea será necesario solicitar todo
lo necesario para realizar su pago en línea como su dirección, su teléfono, correo electrónico, su número de tarjeta,
etc.,

Se desea cubrir pedidos solo de cierta región del estado de Puebla, por lo que desea validar los datos del cliente antes
de que pueda realizar el pago en línea y que se validen los campos para reducir errores en la captura.

Por último, la Sra. María de Jesús desea poder realizar sus operaciones en línea 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, además dos computadoras portátiles con sistema operativo Windows 7.

2.2 Dilemas por resolver.

a) Identifique la metodología de desarrollo de software que utilizaría en este caso. Argumente su respuesta.

b) Identifique la metodología de gestión de proyectos informáticos que utilizaría en este caso. Argumente su
respuesta.

c) Identifique el tipo de modelo de base de datos que sea más adecuado. Argumente su respuesta.

d) Identifique el método que usará para evitar accesos no autorizados.

e) Identifique el lenguaje de programación y/o herramientas de software que se pueden utilizar para solucionar el
problema.

f) Describa y diseñe una solución al problema de revisar la existencia de productos en diferentes sucursales.

g) Justifique cómo determinaría el costo del sistema.

h) Justifique cómo calcularía el tiempo para el desarrollo del sistema.

i) Desarrolle un prototipo funcional el cual deberá ser modificable durante su presentación.

3 Marco Conceptual.

Primero veremos una breve historia de la evolución de las computadoras y posteriormente veremos que es el
software.

El hecho de que nuestro estado actual de avance tecnólogico haya permitido su construcción, no debe ocultar los
esfuerzos hechos desde los inicios del pensamiento científico.

Historia de la Computadora

En 1642. La idea de usar en tarjetas perforadas. George Boole (1815-1864) fundador de la teoría de la lógica matemática. El concepto de la tarjeta perforada para almacenar programas y datos llegó a prender. en los laboratorios Bell. conduciendo al desarrollo de la regla de cálculo. Hollerith puso las bases de una de las empresas que más adelante se integraría en la International Business Machines (IBM). otro famoso matemático. En paralelo. A pesar de la ingeniosidad de estos planteamientos mecánicos. pero más avanzada. es el más antiguó instrumento utilizado para la suma y la resta. . podía sumar. a dispositivo con ciertas posibilidades comerciales. Joseph Jacquard. para guardar tanto números como instrucciones datos indujo. Después en 1947 tiene lugar. Los computadores electromecánicos Con la aparición de las máquinas eléctricas se desarrollaron computadores electromecánicos. multiplicar y dividir mecánicamente. En 1947. engranajes y ventanas a través de las cuales aparecían los números. John Napier. desarrolló una máquina parecida. Babbage utilizó las tarjetas perforadas para programar su máquina. hasta 1820 no se pudo disponer de la tecnología que permitiera la aparición de las primeras máquinas comerciales capaces de efectuar las cuatro operaciones matemáticas básicas. que podía utilizar los resultados de un cálculo como entrada del siguiente y que era capaz de manejar cálculos repetitivos y con el apoyo de Ada Lovelace. e incluso sacar raíces cuadradas. A finales del siglo XVII. con la llegada de la electrónica. Computadores electrónicos La electrónica empieza con el bulbo o tubo de vacío. En 1801. sin embargo su obsolescencia fue inmediata. en 1835. Las tarjetas perforadas y los computadores mecánicos A comienzos del siglo XIX se producen aportaciones. para realizar multiplicaciones y divisiones.Ábacos La necesidad de contar con un elemento mecánico que ayude a las personas en sus tareas de manipulación numérica. la “máquina” primaria para llevar a cabo cálculos complejos. a Charles Babbage. Blaise Pascal inventó la primera “sumadora” real. inventó un telar controlado mediante instrucciones almacenadas según un código representado en tarjetas perforadas. que recordamos por los logaritmos neperianos.8 milisegundos. publicó un estudio en 1617. y los datos mediante tarjeta perforada y un teletipo iba escribiendo los resultados. se puso en evidencia la necesidad de optimizar la capacidad de cálculo habida cuenta de lo dificultoso de las operaciones que se tenían que llevar a cabo. curiosamente ligadas a la resolución de problemas de naturaleza no numérica. de esta forma. restar. y Herman Hollerith para procesar el censo de 1890 en EEUU la recuperó con notable éxito al incorporarla a máquinas alimentadas eléctrica y no mecánicamente. nos legó la lógica booleana que es la base teórica tanto para el diseño de circuitos electrónicos como para muchas técnicas de programación. el algoritmo que segué la máquina podrá cambiarse fácilmente para conseguir un dibujo distinto sobre la tela. se trataba de una compleja combinación de ruedas. Gottfried Leibnitz. en la que las instrucciones se introducían mediante cinta de papel. su sucesor el Mark II podía llevar a cabo la misma multiplicación en un cuarto de segundo aproximadamente. se programaba cambiando manualmente los conectores y manipulando conmutadores. considerada como la primera programadora en cuyo honor el lenguaje de ADA lleva su nombre. la invención del transistor posibilitando la evolución el computador de pieza experimental de laboratorio. desde hace 4000 años. como el Mark I (1944). Fue desarrollado en 1946 en la Universidad de Pennsylvania y recibió el nombre de ENIAC. Calculadoras mecánicas A medida que las distintas otras ramas científicas se desarrollaron. el primer computador digital electrónico utilizaba bulbos y podía realizar una operación en unos 2. a inventar un computador digital matemático de tipo mecánico que recibió el nombre de máquina analítica.

• FORTRAN. Fig. esta empresa ha logrado reducir el tamaño de un disco duro para que este sea 2000 veces más pequeño que el ancho de un cabello humano. Los discos duros actuales pueden llegar almacenar una capacidad de 2000 Gb de información cada 6.. El descubrimiento en nanotecnología de este disco se debe a la empresa japonesa Hitachi.Las nano computadoras se componen de materiales a nivel molecular y son la promesa de crear computadoras cada vez más pequeñas y rápidas. Las nano computadoras pueden ser electrónicas (donde la nano litografía se usa para crear los circuitos microscópicos).. complejas • 300 multiplicaciones por segundo • Generaban mucho calor • Consumían mucha energía • ENIAC. COBOL Tercera Generación Elemento de construcción – Circuito Integrado 1964 – 1971 • CHIP • Redujo drásticamente el tamaño • Aparecen las microcomputadoras • Surgieron nuevos lenguajes de programación.4 cm2 La solución que presenta Hitachi se basa en la tecnología que supuso un avance en el almacenamiento de los discos duros hace 10 años aproximadamente y llevó a los científicos Albert Fert y Peter Grunberg a ganar el premio Nobel de Física. UNIVAC Segunda Generación • Elemento de construcción – Transistores 1952 – 1964 • Disminuyó el tamaño y el consumo de energía. con una capacidad de 4 terabytes y un portátil con un disco duro de 1 terabyte.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 años sesenta. o cuántica (como en las computadoras cuánticas). • Surgieron los lenguajes de programación. 1.1952 Bulbos • Gran tamaño. bioquímica u orgánica (como el caso de las computadoras de ADN). Este nuevo avance tecnológico iniciaría la era del “Terabyte” en la que se podrían almacenas más de un millón de cosas. Primera Generación Elemento de construcción: – Tubos al Vacío o 1940 . Tabla de resumen de las computadoras y su evolución Generacion Caracteristicas Imagen Generación Cero Fueron aparatos analógicos que evolucionaron lentamente eran sistemas analógicos y mecánicos. Las computadoras pasaron de ser un cuarto frio lleno de circuitería a un dispositivo móvil. en la transición pasaron por varias generaciones Nano computadora Es una computadora con una circuitería tan pequeña que sólo puede verse a través de un microscopio. • BASIC . EDVAC. las ideas y las tecnologías han madurado y se ha seguido con la evolución. Ya existe el disco duro de mayor almacenamiento. ya sean canciones. documentos etc.

historia del software El software está ligado a la evolución de los sistemas informáticos. moléculas. LiFI) • Las Memorias Compactas (Discos Duros externos USB) • Las Computadoras Cuánticas (electrones. imagen • Desarrollo de Internet Sexta Generación • La era de las computadoras basadas en redes 1991 – presente neuronales Artificiales o “cerebros artificiales”. .súper rápidas) Ya que hemos recorrido breve mente el desarrollo de las computadoras a través del tiempo ahora echaremos una mirada a la evolución del software ya que siempre han formado una simbiosis evolutiva a través del tiempo. texto. sonido. Hemos pasado de los procesadores con bulbos a los dispositivos nano electrónicos que son capaces de procesar 200 millones de instrucciones por segundo o más. WiFi. qbits. mientras que el software se consideraba como un adjunto. Un mejor rendimiento del hardware.1990 (pretende simular los procesos y acciones de la mente humana) • Robótica – uso y empleo de robots • Redes de comunicación . Bluetooth.Internet • Sistemas Expertos – basada de la experiencia humana. rápidas) • La Mensajería y el Comercio Electrónico • La Realidad Virtual / Virtualización • Las Redes Inalámbricas (WiMax. • Ahorran energía • Las Tablet • Los Dispositivos Móviles Inalámbricos • El Reconocimiento de voz y escritura • Las Computadoras Ópticas (luz. Primera Etapa Durante los primeros años de desarrollo de las computadoras. una reducción del tamaño y un bajo costo. dan paso a sistemas informáticos complejos. el hardware evoluciono. • Se utilizan mucho en el área de salud • CADUCEUS – diagnóstico de enfermedades • Realidad Virtual – experiencia simulada • Intel perfecciona los microprocesadores • Aparecen las computadoras portátiles • Inicia la multimedia • Combinación de video. sin calor. siendo que es lo que hace que el hardware realice las operaciones deseadas. Cuarta Generación Elemento de construcción – Microprocesador 1971 – 1981 • Bill Gates funda Microsoft. • Aparece el sistema operativo – MS-DOS • Disk Operating System Quinta Generación • Se caracteriza por la Inteligencia Artificial 1981 .Aparece Windows • Steve Jobs funda la compañía Apple - Aparece MAC.

Las redes. se extendieron las bibliotecas de software. pero no el en desarrollo de software. Se produce el amplio uso de los microprocesadores y las computadoras personales. La cuarta etapa está enfocada a las tecnologías orientadas a objetos que desplazan a enfoques convencionales los campos de aplicación. y no existía documentación. la misma lo escribía. la tecnología del software es integrada en esos productos por equipos técnicos que conocen el hardware. en los sistemas se utilizaban procesos por lotes. produjeron fuerte presión sobre los Programadores. la multiprogramación y los sistemas multiusuario introdujeron nuevos conceptos. Así como crecía el número de sistemas informáticos. . lo ejecutaba y si fallaba lo depuraba. El diseño era un proceso implícito. Esta Etapa se caracterizó por la creación del software como paquete y la llegada de las casas de software. Cuarta Etapa El software deja la individualidad cambiando al impacto colectivo. donde el software ya se desarrollaba para una distribución masiva. controlando y produciendo salidas en milisegundos en vez de en minutos. los programas se distribuían para computadoras grandes y para minicomputadoras y para miles de usuarios. Las computadoras se convirtieron en un producto común. Las computadoras personales facilitaron el crecimiento de empresas de software. las industrias y las universidades se apuraban a desarrollar el mejor software. En esta etapa se aprendió sobre la implantación de sistemas informáticos. Mientras las ventas de computadoras se estabilizaron en los 80. El software que se desarrollaba era utilizado por una persona. Las técnicas de cuarta generación ya están cambiando la forma en que algunos segmentos de la comunidad informática construyen los programas. El hardware era de propósito general y. pero poco sobre ingeniería de software. Las empresas de software de la tercera etapa venden millones de copias. El microprocesador es una parte integral de un amplio espectro de productos inteligentes como robots industriales y equipo médico entre otros. las comunicaciones digitales y demanda de acceso inmediato a la información. realizado en la mente de una persona. las ventas de software crecieron exponencialmente. el procesamiento distribuido incrementó la complejidad del software. Internet se mira como un software global al que pueden acceder usuarios individualmente. se desarrollaban proyectos en los que se producían programas. Con esto comenzó la "crisis del software". En muchos casos. esos programas tenían 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. El hardware se dedicaba a la ejecución de un único programa de una aplicación específica. el software se diseñaba a medida para cada aplicación teniendo una distribución baja. Los sistemas de tiempo real podían procesar y transformar datos de múltiples fuentes. Mucha gente y empresas gastan más en software que lo que gastaron en una computadora. peor aún. la personalización de los programas los hacía imposibles de mantener. Tercera Etapa Esta comenzó a mediados de los setenta. Segunda Etapa La segunda Etapa en la evolución del software inicio desde la mitad de la década de los sesenta hasta finales de los setenta. Los primeros años los avances del almacenamiento en línea llevaron a la primera generación de sistemas de manejo de bases de datos.En la programación de computadoras existían pocos métodos sistemáticos y se realizaba sin planificación. es la norma controlando sistemas operativos avanzados en redes globales. Cambia la arquitectura de entornos centralizado de grandes computadores a entornos cliente-servidor. existían sistemas notables como el de reservaciones de la American Airlines y los sistemas de tiempo real de la defensa de estados unidos. Las técnicas interactivas generaron nuevas aplicaciones y niveles de complejidad del software.

.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 información igual como lo hacen los humanos.

1986 . la noción de corrección formal. resultaron poco confiables. Modularidad. 1974 . la calidad de un sistema de software está gobernada por la calidad del proceso utilizado para desarrollarlo y mantenerlo. Sin una buena ingeniería de software es imposible lograr un producto con calidad. Surgen las técnicas como abstracción y descomposición modular. Los principios desarrollados en 69 a 71 se usan masivamente en la industria del software. lenguajes estructurados y programadores dirigidos por un líder.1975: Se inicia el manejo de la noción de confiabilidad y calidad del software. Se hacen esfuerzos para integrar y validar las fases sucesivas del desarrollo.  La capacidad de construir programas no puede satisfacer la demanda de nuevo software. el desarrollo de esas aplicaciones requirió la construcción de grandes sistemas de software. Para ello se utilizan distintos modelos de madurez de procesos que tienen como objetivo apoyar distintas estrategias de desarrollo y evaluación para así lograr una mejora continua en los productos. el software incluye toda la documentación necesaria para instalar. la herencia el re-uso. etc. costaron más de lo estimado. 1995-2003: La evaluación de los procesos evita especificaciones incompletas o anómalas. desarrollar y mantener esos programas. 1976 . Había una urgente necesidad de nuevas técnicas y metodologías que permitieran controlar la complejidad de los grandes sistemas de software. 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. 1968: Surge la crisis del software debido a que el desarrollo de software sobrepasa el costo y el tiempo estimado y tiene demasiadas fallas. El término software no sólo abarca alguna aplicación o paquete.  La capacidad de mantener el software existente está amenazada por el mal diseño y el uso de recursos inadecuados. usar.1995: Aparece el paradigma orientado a objetos para el desarrollo de software grande.1977: Se pone atención a las fases anteriores a la codificación como análisis de requerimientos.19771: Se determinan los principios de buenas prácticas de programación como: Diseño descendente (top- down). . Se acuña el nombre de Ingeniería de software. El término ingeniería del software se introdujo por primera vez a finales de los sesentas. Aparece el concepto de ciclo de vida del desarrollo de software.Pero aún continúan intensificándose los problemas asociados con el software:  El hardware ha dejado atrás al software ya que difícilmente puede explotar su potencial. y su potencia hizo las aplicaciones que en ese momento eran imposibles. Se llevan a cabo cursos de ingeniería de software.1973: Surge la programación estructurada y el concepto de estilo de programación. Esta crisis fue causada por la creación de las computadoras de tercera generación. 1980 . En particular. modelos de tolerancia a fallas y confiabilidad total. 1978 -1980: Incremento en el uso de herramientas automatizadas de desarrollo de software. Las experiencias en la construcción de grandes sistemas de software mostraron que las metodologías de desarrollo actuales eran inadecuadas.1985: Se inician las herramientas automatizadas para cada fase del ciclo de vida siguiendo la programación estructurada. Se inician las pruebas sistemáticas. 1969 . especificación y diseño. Muchos proyectos importantes se retrasaron. Refinamiento sucesivo. Junto con los programas. 1972 . Se inicia el uso masivo de técnicas automatizadas de desarrollo de software. Promueve conceptos como la abstracción. Los costos del hardware caían mientras que los del software aumentaban. Estas máquinas eran de una capacidad superior a la de las máquinas de la segunda generación. Se propone ayuda para la administración y de apoyo en el desarrollo. El desarrollo del software entro en crisis. de bajo rendimiento y difíciles de mantener. la aplicación incorrecta de metodologías.

Existe una confusión en identificar las nuevas tecnologías con la informática por la presencia de microprocesadores en casi todos los nuevos aparatos y por la función que tiene ésta en la sociedad actual. el vídeo y la telecomunicación. con interrelaciones y desarrollos a más de un área. El primer ordenador (1946) ocupaba una gran sala. Desarrollo base en informática. . El gran salto de la informática lo supuso el desarrollo de microchips. programas y aplicaciones. hoy una calculadora científica de bolsillo es más potente que ese ordenador. procesos y aplicaciones). Diseño de la solución del problema de tecnología de información  Desarrollo del modelo inicial de la solución del problema de tecnología de información  Ajuste de modelos de la solución de tecnología de información  Diseño de la arquitectura del sistema  Modelado de datos para el sistema Ciclos de vida 3. Hacen referencia también al desarrollo tecnológico en el diseño de procesos. Análisis de sistemas de información Desarrollo e implantación de aplicaciones computacionales Desarrollo de sistemas Gestión de proyectos de tecnologías de información Administración de proyectos de tecnologías de Información Gestión de proyectos informáticos Modelado de los requerimientos de un sistema de Información Algoritmos Ing.1 Generación de nuevas tecnologías para la implementación de sistemas de cómputo Hace referencia a los últimos desarrollos tecnológicos y sus aplicaciones (programas. de requerimientos diseño y desarrollo de sistemas. Las nuevas tecnologías se centran en los procesos de comunicación y las agrupamos en tres áreas: la informática.

los materiales y circuitos electrónicos que manipulan esa señaldel video. Elementos que interviene en el desarrollo de un sistema: · Hardware (equipos necesarios para el procesamiento de la información) · Software (adquisición o desarrollo de aplicaciones a la medida y programas genéricos a nivel comercial) · Personal (personas que intervienen en el sistema para procesar. El WIFI o comunicación sin cables ha venido a revolucionar el campo de las telecomunicaciones y ha permitido la expansión de ese mercado por la facilidad y ventajas de utilizar tecnología inalámbrica. Los medios como recursos didácticos. formatos.Los avances en los diseños de sistemas operativos y la programación correspondiente (software) también adquieren gran importancia. la velocidad. utilizan personas. La miniaturización ha supuesto el gran cambio que ha permitido introducir el vídeo en las familias y en el centro escolar. porque el software viene un paso atrás que el hardware. Los dos grandes desarrollos en el campo de las telecomunicaciones son los satélites y el cable de fibra óptica. Desarrollo base en telecomunicaciones.El profesorado al manejar las tecnologías informáticas buscará los medios y los documentos más adecuados y los integrará en sus estrategias de enseñanza. 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 información de los medios (planteamiento multimedia). por pantallas planas. De hecho se menciona que el hardware de un equipo de cómputo muchas veces no es aprovechado al 100%. 3. recursos y tecnologías de redes de comunicaciones para reunir. Transmiten impulsos luminosos. controlar y administrar la información) · Otros procedimientos (generación de informes. de hecho los dos han evolucionado a pasos agigantados. Los cables ópticos sustituyen a los metálicos que transmitían señales eléctricas. aumenta la cantidad de información por transmitir y disminuyen las pérdidas.  formato de imagen electrónica de alta definición y tecnología de LEDs (Light  Emisor Diode).2 Desarrollo de sistemas de hardware y software asociado para aplicaciones específicas El análisis de leyes y modelos de evolución del hardware y software.V. transformar y diseminar información en una organización. software. El vídeo ha irrumpido en la sociedad actual a través de la mejora de procesos: la grabación.  tratamiento digital de la imagen. estandarización de procesos) Con esto queremos decir que el desarrollo de una aplicación grande o pequeña intervienen los factores anteriores. El desarrollo de sistemas de inteligencia artificial y lenguajes de programación permitirán un importante cambio en el planteamiento y diseño de programas educativos. su desarrollo posibilitará los sistemas de enseñanza abierta. Hay tres cambios importantes:  sustitución de tubos de vacío T. Los satélites están siendo utilizados desde hace tiempo. Desarrollo de móviles. datos. 6 El cable ha permitido desarrollos educativos a través del videotexto. Un aspecto relevante es la comunicación con la computadora mediante el lenguaje natural. El sistema operativo de un ordenador consiste en las instrucciones que hace funcionar los circuitos que lo forman de acuerdo al usuario. permite cuantificar y evaluar la actividad científica en las áreas de electrónica y computación. de hecho muchos autores coinciden que el hardware ha evolucionado más que el software. En el campo de la imagen electrónica se han producido los avances más espectaculares. hardware. . Los sistemas de información asociados a aplicaciones de cualquier índole. no solamente el hardware y el software.

la primera se convierte en un nodo de la última y se puede tratar como una estación de trabajo o cliente. ·Equipo activo. OS/2 o estaciones de trabajos sin discos. ArcNet o Token Ring. 3. incluyendo al menos: · La naturaleza de la tecnología · Su fase de desarrollo · La fase de desarrollo de las tecnologías equivalentes · Su alcance · La fortaleza de la patente o know-how (como se hace) · El poder de negociación de las dos partes Los factores más significativos que hay que considerar son: · La información 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 . El precio final dependerá de varios factores.Otro ejemplo de esta aseveración son los famosos parches del sistema operativo. dependiendo la velocidad de transmisión. más allá de la mera determinación de la factibilidad técnica y la rentabilidad.4 Evaluación de la funcionalidad de la nueva aplicación tecnológica Se refiere a la evaluación o valoración de las múltiples implicaciones de un desarrollo tecnológico. creados para cubrir las deficiencias que se presentaron en el desarrollo del software al momento de evaluar su software con hardware de última generación. el ingeniero o licenciado en desarrollo de sistemas debe de tener la capacidad de saber las características de hardware y software necesarias para 7 crear un sistema. porque referente a la distancia ambos soportan 100 metros. Unix.Es el medio por el cual se transmiten la señales de una computadora a otra. que son el switch (conmutador de paquetes) y el ruteador ( rutear o enlazar redes ) de acuerdo a las necesidades y el tamaño de la red requerida puede ser posible la ocupación de protocolos de red para intercomunicar las redes como por ejemplo RIP..3 Configuración de redes de cómputo para necesidades específicas Una red de computadoras está conectada tanto por hardware como por software. 8 Cada vez surgen más NEBTs (nuevas empresas basadas en tecnología). cuyo negocio está basado en la explotación de nuevas tecnologías. Independientemente de esto. • Cableado de red. EIGRP o BGP. Componentes: • Tarjeta de conexión 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 específico. incluyendo su compraventa. normalmente generadas en proyectos exitosos y destinados a evaluar funcionalidad de la tecnología. y el software incluye los controladores (programas que se utilizan para gestionar los dispositivos) y el sistema operativo de red que gestiona la red. El hardware incluye tanto las tarjetas de interfaz de red como los cables que las unen. Las partes que negocian en torno a una tecnología necesitan desarrollar y acordar un mecanismo de valoración que establezca un retorno justo sobre la inversión en el desarrollo de dicha tecnología. Macintosh.Es el dispositivo que permite la conexión del equipo de cómputo y darle funcionalidad a una red de datos.. Las estaciones de trabajos pueden ser computadoras personales con el DOS. como Ethernet. • Estaciones de trabajo: Cuando una computadora se conecta a una red. el más utilizado en la actualidad es el cable UPT. Por tanto es muy importante tener un criterio lo más neutro y estándar posible que sirva para que estas empresas puedan analizar su viabilidad o se pueda realizar cualquier negocio relacionado con dicha tecnología. OSPF. dependiendo del uso que se le dé se pueden identificar al menos dos que son los más importantes. de modo que se maximicen las oportunidades y se minimicen los riesgos. Esta valoración suele tener especial interés en fases tempranas de los desarrollos tecnológicos. saber dónde encontrar la información para aprovechar al máximo el hardware y el software donde va a ejecutarse su aplicación. pudiendo ser nivel 5 o 6. El cable de red se conectara a la parte trasera de la tarjeta. 3. o en su defecto.

permiten establecer un trabajo en forma ordenada. pero se asume que es la mínima necesaria tratándose de una Universidad. estos bloques tienen funciones que se van confeccionado en forma de arriba-abajo. además que existen muchos modelos que se adaptan a las exigencias del proyecto. además que existen muchos modelos que se adaptan a las exigencias del proyecto.. · Convergencia entre datos y telefonía a través de conmutadores IP. · El modelado de negocio describe como desarrollar una visión de la nueva organización. · Tarjetas de red con conector RJ-45 o componentes de comunicación inalámbrica instalados en la PC. software y de telecomunicaciones. · Equipo activo de red. y por último agilizar el desarrollo del software y minimizar los costos. · La trascendencia de las metodologías se ha hecho notoria. categoría 5 y 6. · Los métodos ágiles fueron pensados especialmente para equipos de desarrollo pequeños.Switches. con plazos reducidos. RIP. donde estas clases estarán estructuradas por propiedades. hasta llegar a detallar cada uno de los procedimientos y su interacción.5 Análisis de la problemática para la definición de la metodología por utilizar Los modelos de procesos permiten al analista de sistemas desarrollar un plan de requisitos del software. OSPF. requisitos volátiles y nuevas tecnologías. EIGRP. atributos. · En el desarrollo estructurado los programas están divididos en distintos bloques. · Una metodología se basa en una combinación de los modelos de proceso genéricos para obtener como beneficio un software que solucione un problema. 9 · En el desarrollo convencional todo el programa está en un solo bloque. pero lo más importante. empezando desde las generales hasta las particulares.1 Diagnóstico.6 Análisis de los elementos tecnológicos de redes disponibles en el mercado Los elementos tecnológicos disponibles de las redes son: · Cableado de red. appliances (cajas listas para funcionar tanto hardware como software altamente especializado en una sola unidad. Como en el planteamiento del problema no se especifica la infraestructura de cómputo y comunicaciones instalada en la Facultad.UTP (el mas usado). basado en esta visión se definen procesos. asumimos que por lo menos tiene equipo y red de datos. STP. variables. protocolo IP versión 4 y 6. solo debemos saber cual nos conviene. En este proyecto nos enfocaremos al desarrollo de la aplicación. 3.BGP (internet). objetos. y a recomendaciones de hardware. · Los modelos de procesos permiten al analista de sistemas desarrollar un plan de requisitos del software. y Access Point (tecnología wireless) · Protocolos de red.3.. 9 . pasando de solo programar. pretendiendo simular y describir de manera conceptual a un objeto. · El desarrollo orientado a objetos comprende dividir un programa en clases. roles y responsabilidades de la organización por medio de un Modelo de Casos de Uso del Negocio. ya incluido). FTP. no se saben características. Desarrollo y resolución del caso.. a establecer funciones en etapas o módulos. · Seguridad para la red tanto local como extendida a través de un muro de fuego y analizadores de paquetes. 4. con ejecución secuencial de instrucciones. es que estos modelos nos llevan a presentar los proyectos al cliente de manera que éste vea su diseño y sus funciones y que la mayoría de ellos están orientados al mantenimiento. permiten establecer un trabajo en forma ordenada. solo debemos saber cual nos conviene. ruteadores.

10 Manejadores de Bases de Datos a) SQL SERVER Características: Soporte de transacciones. que permite el uso de comandos DDL y DML gráficamente. Rápido. donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información. Soporta procedimientos almacenados. Incluye también un entorno gráfico de administración. del Lenguaje de Programación y de Manejador de Bases de Datos: Sistema operativo de Servidor: LINUX Características: Es uno de los sistemas operativos más robustos. ideal para servidores Linux es muy robusto.4. Cada vez las distribuciones de Linux se vuelven más amigables "tipo windows" WINDOWS Características: Facilidad de operación y entorno Inseguro. Principalmente diseñado para trabajar sobre arquitectura SPARC Estable. Permite trabajar en modo cliente-servidor. sería muy conveniente montar este blog en Windows.2 Solución del caso práctico. Funcional Orientado a aplicaciones de misión crítica 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 Elección del Sistema Operativo de Servidor. (no se pasma) Linux es multitarea y multiusuario. por las características mencionadas y sobre todo porque es libre. estables y rápidos 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. En caso de que la Universidad tuviera una plataforma sentada en Windows. estable y rápido Linux es libre: Gratuito y modificable. Primeramente haremos un comparativo entre el Sistema Operativo de Servidor. . trabaja de maravilla en máquinas SUN Microsystems las cuales por su tecnología son de precio elevado. Sin embargo sino se contara con este Sistema Operativo el recomendable sería el Linux. es demasiado vulnerable a ataques de virus Inestable Es caro ya que se necesita comprar licencias para operarlo Es muy popular y el más comercial a Nivel Mundial SOLARIS Características: Debido a que es un sistema operativo propietario de SUN Microsystems.

ASP. Es el mismo caso mencionado anteriormente. Iteradores de datos. Autoconf. Permite escribir código ASP. Pueden usarse fácilmente multiple CPUs si están disponibles. APIs disponibles para C. Estabilidad. b) My SQL Características: Interioridades y portabilidad Escrito en C y en C++ Probado con un amplio rango de compiladores diferentes Funciona en diferentes plataformas.NET usando cualquier lenguaje admitido por el . Mejoras de rendimiento Mejor soporte para MySQL con extensión completamente reescrita.Net Características: 11 ASP.NET Framework. C++.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Usa GNU Automake. es recomendable el mySQL Server. c) Oracle Características: Soporte de transacciones. aplicaciones web y servicios webXML. PHP. Mejor soporte a XML (XPath. y es la tecnología sucesora de la tecnología Active Server Pages (ASP). Soporte integrado para SOAP. Es usado por programadores y diseñadores para construir sitios web dinámicos. Escalabilidad. Eiffel. y Tcl.). por ser un software libre y compatible prácticamente con cualquier equipo de cómputo. y Libtool para portabilidad. Soporte nativo para SQLite. Python. Mejoras con la implementación con Oracle. Soporte multiplataforma.NET está construido sobre el Common Language Runtime.NET Framework.0 del . Su coste es alto. en caso de que no fuera así. Java. Elección del manejador de bases de datos. c) Java . Manejo de excepciones. etc. Lenguajes de Programación a) ASP. Además permite administrar información de otros servidores de datos. si la Facultad cuenta con SQL Server y tuviera licencias para este Sistema operativo lo recomendable es que utilice SQL Server. DOM. Apareció en enero de 2002 con la versión 1. Ruby. Perl. Proporciona sistemas de almacenamientos transaccionales y no transaccionales. b) PHP Características: Mejor soporte para la programación orientada a objetos. Uso completo de multi-threaded mediante threads del kernel.

Robusto. Distribuido.Net. Disponibilidad de un amplio conjunto de bibliotecas. no pudiéndose requerir nuevos resultados a mitad del proceso de elaboración del software. Es importante señalar que en esta etapa se debe consensuar todo lo que se requiere del sistema y será aquello lo que seguirá en las siguientes etapas. aumentando los costos del desarrollo. 2. sería muy recomendable programar en C#. el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto. Características: Lenguaje totalmente orientado a Objetos. Elección del Lenguaje de programación: Como en los casos anteriores. así como la manera en que se combinan unas con otras. aprovechando las ventajas del desarrollo en equipo. Interpretado y compilado a la vez. es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software. sin embargo. que contiene la especificación completa de lo que debe hacer el sistema sin entrar en detalles internos. que contiene la descripción de la estructura relacional global del sistema y la especificación de lo que debe hacer cada una de sus partes. es recomendable programar en PHP.  Análisis 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 especificación de requisitos). De esta forma. Es conveniente distinguir entre diseño de alto nivel o arquitectónico y diseño detallado. Modelos de Desarrollo de Software a) Modelo en cascada En Ingeniería de software el desarrollo en cascada. también llamado modelo en cascada. El . sigue siendo el paradigma más seguido al día de hoy. Diseño del Sistema. Implantación. Lenguaje simple. La palabra cascada sugiere. 4. 3. Pruebas. 6. 7. 5. Como resultado surge el SDD (Documento de Diseño del Software). Mantenimiento. cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado. Si bien ha sido ampliamente criticado desde el ámbito académico y la industria. Codificación. de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior. Diseño del Programa.  Diseño del Sistema Descompone y organiza el sistema en elementos que puedan elaborarse por separado. mediante la metáfora de la fuerza de la gravedad. en caso de que la Facultad tuviera licencias de ASP. en caso de que esto no fuera posible. Un ejemplo de una metodología de desarrollo en cascada es: 12 1. porque es un software libre y fácil de codificar. Análisis de requisitos.

En la creación de desarrollo de cascada se implementa los códigos de investigación y pruebas del mismo. El segundo define los algoritmos empleados y la organización del código para comenzar la implementación.  Mantenimiento Una de las etapas más críticas.  Pruebas Los elementos. Con ello se define la arquitectura de la solución elegida.  Codificación Es la fase en donde se implementa el código fuente. ya que se destina un 75% de los recursos. haciendo uso de prototipos así como de pruebas y ensayos para corregir errores. Pero también agrega nuevas funciones que no están incluidas en los otros modelos. se ensamblan para componer el sistema y se comprueba que funciona correctamente y que cumple con los requisitos. Dependiendo del lenguaje de programación y su versión se crean las bibliotecas y componentes reutilizables dentro del mismo proyecto para hacer que la programación sea un proceso mucho más rápido. b) Modelo en espiral El modelo Espiral de Boehm para Ingeniería de Software agrupa las mejores características del modelo del ciclo de vida clásico y de prototipos. 14  Planificación La determinación de los objetivos del proyecto. es el mantenimiento del Software ya que al utilizarlo como usuario final puede ser que no cumpla con todas nuestras expectativas. El modelo espiral define cuatro actividades principales para el ciclo de vida. para ello el o los programadores ya realizaron exhaustivas pruebas para comprobar que el sistema no falle.  Análisis de Riesgo El análisis de alternativas y la identificación y solución de riesgos. 13  Diseño del Programa Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los requerimientos del usuario así como también los análisis necesarios para saber que herramientas usar en la etapa de Codificación.  Verificación Es la fase en donde el usuario final ejecuta el sistema. . como el análisis de riesgo. alternativas y restricciones. ya programados. antes de ser entregado al usuario final.primero de ellos tiene como objetivo definir la estructura de la solución (una vez que la fase de análisis ha descrito el problema) identificando grandes módulos (conjuntos de funciones que van a estar asociadas) y sus relaciones.

Esta fase de diseño técnico tiene dos etapas: por un lado. la importancia y sus efectos potenciales sobre la organización por una parte y. Al principio de cada iteración del ciclo de vida se hace un análisis de riesgo. c) Modelo orientado a Prototipos Si bien algunos autores consideran que esto es parte del ciclo de vida clásico (Boehm. las interfaces de usuario y las funciones y. demostración y retroalimentaciones del prototipo.  Programación y prueba Es donde los cambios identificados en el diseño técnico son implementados y probados para asegurar la corrección y completitud de los mismos con respecto a los requerimientos. con la diferencia que todos están incorporados dentro del esquema iterativo planteado por el modelo espiral. Esta etapa es la más importante de todo el ciclo de vida. la producción de todo lo requerido para promover cualquier mantención futura del software. 15  Definición de los requerimientos del sistema El objetivo de esta etapa es registrar todos los requerimientos y deseos que los usuarios tienen en relación al proyecto bajo desarrollo.  Diseño técnico Durante la construcción del prototipo.  Evaluación del cliente El modelo es representado por una espiral dividida en cuatro cuadrantes. el desarrollador ha obviado el diseño detallado. por otro lado. como segunda etapa. 1988). pero. la producción de una documentación de diseño que especifica y describe la estructura del software. Por lo mismo esta etapa será revisada con más detalle luego de esta descripción. Las siguientes iteraciones sucesivas son versiones más completas del software que está siendo construido. El modelo espiral utiliza un esquema de desarrollo iterativo donde la primera iteración comienza en el centro del círculo e.  Ingeniería Desarrollo del producto. la revisión del proyecto se realiza al final de la iteración. incrementalmente. el control de flujo. se va desplazando hacia afuera. El modelo espiral es visto como un enfoque más realista para el desarrollo de grandes sistemas de software. mientras. por el otro extremo. También utiliza el enfoque de sistematización y el 'desarrollo en etapas' del ciclo de vida clásico. es aquí donde el desarrollador determina los requisitos mediante la construcción. se puede contrarrestar cualquier riesgo observado mediante las acciones adecuadas en el tiempo preciso. Usa un método revolucionario para desarrollo y prototipos como una técnica de reducción de riesgo (pese a que los prototipos pueden ser usados en cualquier etapa dentro del ciclo de vida). Así. Las fases que comprende el método de desarrollo orientado a prototipos serían:  Investigación preliminar Las metas principales de esta fase son: determinar el problema y su ámbito. El sistema debe ser entonces rediseñado y documentado según los estándares de la organización y para ayudar a las mantenciones futuras. . es también posible verlo como un método independiente. identificar una idea general de la solución para realizar un estudio de factibilidad que determine la factibilidad de una solución software. en que cada uno describe las actividades mencionadas anteriormente.

 Operación y mantención La instalación del sistema en ambiente de explotación. 16  Evaluación Esta etapa tiene dos propósitos: extraer a los usuarios la especificación de los requerimientos adicionales del sistema y verificar que el prototipo desarrollado lo haya sido en concordancia con la definición de requerimientos del sistema. por lo cual las mantenciones perfectivas se reducirían. analizar y diseñar para el futuro distante. Además. a través de todo el proceso de desarrollo Características del Modelo XP  Metodología basada en prueba y error  Fundamentada en Valores y Prácticas . ya que se supone que los usuarios han trabajado con el sistema al hacer las pruebas de prototipos. en este caso. d) Modelo XP Metodología liviana de desarrollo de software  Conjunto de prácticas y reglas empleadas para desarrollar software  Basada en diferentes ideas acerca de cómo enfrentar ambientes muy cambiantes  Originada en el proyecto C3 para Chrysler  En vez de planificar. La fase más importante corresponde a la definición de requerimientos. La definición de requerimientos consiste de cinco etapas entre dos de las cuales se establece un ciclo iterativo:  Análisis grueso y especificación El propósito de esta subfase es desarrollar un diseño básico para el prototipo inicial. Si los usuarios identifican fallas en el prototipo. ya que se supone que el refinamiento del prototipo permitiría una mejor claridad en los requerimientos. El proceso de evaluación puede ser dividido en cuatro pasos separados: preparación.  Término Una vez que se ha desarrollado un prototipo estable y completo. poniendo énfasis en la interface del usuario. hacer todo esto un poco cada vez. demostración. En esta fase se decide si el prototipo es aceptado o modificado. entonces el desarrollador simplemente corrige el prototipo antes de la siguiente evaluación. El desarrollador entonces debe modificar el prototipo de acuerdo a los comentarios hechos por los usuarios.  Modificación Esto ocurre cuando la definición de requerimientos del sistema es alterada en la subfase de evaluación. la cual correspondería a un proceso que busca aproximar las visiones del usuario y del desarrollador mediante sucesivas iteraciones. uso del prototipo y discusión de comentarios. la mantención también debería ser una fase menos importante. Si eventualmente se requiriera un mantenimiento entonces el proceso de prototipado es repetido y se definirá un nuevo conjunto de requerimientos. es necesario ponerse de acuerdo en relación a aspectos de calidad y de representación del sistema. El desarrollador debe concentrarse en construir un sistema con la máxima funcionalidad.  Diseño y construcción El objetivo de esta subfase es obtener un prototipo inicial. El prototipo es repetidamente modificado y evaluado hasta que todos los requerimientos del sistema han sido satisfechos. resulta de menor complejidad.

 Por medio de este blog permitir evaluar al profesor Planeación del proyecto: Para este punto nos apoyaremos de una herramienta de planeación de proyectos llamada Microsoft Project. DESARROLLO DE LA METODOLOGÍA DE MODELO EN CASCADA  ANÁLISIS DE REQUISITOS En esta etapa definiremos que objetivos debemos de cubrir de acuerdo a las necesidades del usuario final.  Expresada en forma de 12 Prácticas (Conjunto completo)  Para nuestro proyecto se analizó el modelo en espiral. modelo en cascada. debido a que cada una de las etapas de desarrollo puede ser perfectamente delimitadas y no se ve la posibilidad de que en algún momento dado se tengan rediseño o reingenierías. elegimos el modelo en 17 cascada. Objetivos del proyecto:  Crear un blog que permita interactuar alumnos con profesores  Evitar que se publiquen groserías en el blog. dicha calendarización también conocida como Diagrama de Gantt. planeación del proyecto y estudio de Factibilidad. el modelo XP y el modelo orientado a Prototipos. . Por medio de este software podemos calendarizar actividades. en este caso del Director de la Faculta de Economía de una Universidad de Puebla. Debido a que se entiende perfectamente cuál es la necesidad del cliente.

sin embargo sería absurdo pensar que la facultad no tuviera un equipo destinado para este proyecto. (también existe GigaEthernet: 1000Mbps. En este caso no es necesaria la contratación de analistas. en realidad una persona con la Licenciatura en Informática o carrera afín.-En este punto se evalúa los recursos técnicos para la implementación del sistema. Análisis de la infraestructura de Cómputo y Comunicaciones. programadores y diseñadores.-Aquí definimos el personal requerido para la implementación del Sistema. este puede funcionar correctamente en una computadora con las siguientes características: Hardware:  Mínimo Procesador de 32 bits (x86) o 64 bits (x64) a 2 GHz  Memoria RAM mínima de 8 GB  Disco Duro de 1 TB Software:  Sistema Operativo Linux  Base de datos: mySQL  Lenguaje de Programación: PHP El costo aproximado de una computadora con estas características es de $8. sería necesaria para la implementación de este software calculado para concluirse en 2 semanas. Red de datos: Se recomienda una salida a Internet de al menos 2 Mbps para la red WAN. En este caso la realización de un blog es viable al 100%. se hace uso de la tecnología estándar comercial más utilizado en la actualidad que es Fast Ethernet que funciona a una velocidad de 100 Mbps. y TenGigaEthernet: 10000Mbps) 19 Factibilidad Operativa. Para la LAN. pensando que la Facultad tenga un enlace de mayor capacidad.00. Factibilidad Técnica. Como el blog no es una aplicación que requiera muchos recursos de hardware y software. Posteriormente la Administración y actualización del proyecto quedaría a cargo del personal . 18 Fecha de inicio del proyecto: lunes 14 de julio Fecha de finalización: viernes 8 de agosto Estudio de Factibilidad En este punto evaluamos si el proyecto es viable de realizar. Servidor.000. En este punto asumimos que no se tiene equipo de cómputo para fungir como servidor del Blog.

000.00 del pago del programador y $8.000. tenemos que: Pago por día= 250 x 8 = $2. Análisis del Sistema: Aquí establecemos los requerimientos necesarios para el análisis del sistema.000.- En este caso se considera el pago al programador de la aplicación. 20 .00 MXN.000.000. Factibilidad Económica. así como el diseño de la base de datos.00 y el proyecto está planeado para trabajarse 8 horas diarias por 2 semanas.00 Pago por 10 días = $20. Entidades identificadas: Alumno Profesor Actividades del sistema:  Retroalimentación entre profesor y alumno  Evaluación del profesor Diseño del Sistema En este punto se establecen las entradas y salidas del sistema.00 Por lo tanto la realización del sistema nos saldría en $20.00 del pago del equipo de cómputo dando un total de $28.de Sistemas de la Facultad. considerando el trabajo por hora de $250.

Es importante que el programa contenga rutinas try-catch para capturar errores y no se vean desplegados en la ejecución del programa. Registro Autenticación Servicio En este punto se establece la funcionalidad que va a tener el programa y como va a interactuar con su entorno. los cuales van a estar interactuando sobre diferentes temas vistos a lo largo del curso. estos usuarios van a llevar el proceso de Registro. en el cuál se van a dar de alta tanto profesores como alumnos. Diseño del programa El programa debe tener su módulo de registro. supervisar actividades en la base de datos y en el sistema. no hay problemas porque acepta números y letras. Más adelante se desarrollara el Diseño de la Base de Datos en base al Modelo Entidad- Relación y la Normalización de la Base de datos. esto es muy importante debido a que se puede mantener con cierto respeto la comunicación debido a que se tiene un control de quien entra al blog. En esta etapa se van a introducir datos de prueba al sistema. Capacitación e Implementación del Sistema En este punto más que capacitar al personal que va a capacitar al personal encargado de administrar el blog. así como dar mantenimiento y actualización al sistema. se hará validación de cajas de texto. Autenticación y Servicio. Posteriormente cuando se ingrese al blog el profesor y el alumno previamente registrados van a poder ingresar. en el caso de los alfanuméricos. en el Diagrama anterior vemos como los usuarios van a conectar al blog instalado en la Facultad a través del Internet. esto es. tanto a la base de datos. así como al Sistema. si se piden datos numéricos que solo acepte números. Documentación del sistema . de tal manera que permita verificar el estado del sistema. 21 Pruebas de integración Una vez terminada la Base datos y la programación es necesaria la etapa de pruebas al sistema.

La documentación del sistema abarca el manual técnico conteniendo toda la implementación del sistema y el manual de operación del usuario. Tabla profesores (tbProfesores) . debido a que el manejo del blog no requiere ninguna capacitación hacia el usuario Diseño de la base de datos: Modelo Entidad-Relación 22 Descripción de las tablas: Tabla alumnos (tbAlumno) En el cual el campo clave es el Boleta_Alumno de tipo entero y los demás campos como se muestra en la tabla anterior son de tipo varchar de longitud variable. que en este caso no es necesario.

En el cual el campo clave es el de No_Empleado_profesor de tipo entero y los demás campos son de tipo varchar con longitud variable. Normalización . donde un profesor puede dar una o muchas materias y un alumno puede tomar 1 o muchas materias. 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 Jiménez Díaz ión de Avanzada Informaci ón 20146789 Carlos Guerrero 1002 Humberto Rodrígue Computaci Cálculo Ruiz z Huerta ón Básica Integral Tabla materias (tbMaterias) En donde el campo clave es No_Materia haciendo la relación 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.

tanto para el profesor.En esta tabla se concentra la información referente a las materias. se requiere separar la tabla anterior en 3 tablas.co Programac 57 z m ión Avanzada 201467 Carlos Guerrero Ruiz 405 Cuarto cguerrero cguerre 1234 89 @ ro 2014561ra For Luis Moreno Jiméne 1001 Lorena maDuarte Normal Díaz gmail.. lduarte 1234 ca com 3 Computación 20146789 1002 1002 Humbe Rodrígue Huerta Básica Básica hrodriguez@ hrodrigu 1234 rto z gmail. quedando de la siguiente manera: Tabla Alumnos. así como su relación con las tablas Profesores y Alumnos.com ez 4 Cálculo Integral 20146789 1002 apellidos puede descomponerse en dos campos: Apellido Paterno y Apellido Materno. quedando de la siguiente manera: A esta tabla le llamaremos tbAlumnos 25 Tabla Materias. quedando de la siguiente manera: Tabla Profesores.. 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 Jiménez 404 o Cuarto o lmoreno lmoren 1234 57 @ o 201456 Luis Moreno Jiméne 1001 Lorena Duarte Díaz gmail.. quedando de la siguiente manera: .En esta tabla concentramos la información necesaria para el alumno.co Sistemas 57 Se obs No_ Materia z Nombre_Materia erva como la tabla m anteriordeno se encuentra normaliz 1 Programación Avanzada ada debido que la Materia Informació 1 y 2 pueden ser agrupadas en n una sola como se mue de InformaciónHumbe stra a continuación y por otro lado los 201467 Carlos 2 Guerrer Ruiz Sistemas1002 Rodrígu Huerta Computaci 89 o rto 24ez ón Básica 201467 Carlos 3 Guerrer Ruiz Computación 1002 Básica Humbe Rodrígu Huerta Cálculo 89 o rto ez Integral Nombr 4 No_Materia Apellido_ Apellido_ Cálculo Integral Nombre_Materia Area_ Email_ Boleta_Alumno Usuario Passw No_Empleado_Profesor No_Emple e_ Pat Mat Profesor Profesor _ ord ado 1 Profeso _Profesor Programación _Profesor 20145657 Profeso 1001 _Profes _Profesor r Avanzada r or 2 Sistemas de 20145657 1001 1001 Lorena Duarte Díaz Información Informáti lduarte@gmail. como para el alumno: A estasin Tabla tabla le llamaremos tbProfesor normalizar 2da Forma Normal Para la segunda Forma Normal.En esta tabla concentramos la información necesaria para el profesor.

5 Respuesta a las preguntas críticas.3 Límites y alcances de la investigación. porque muchas veces la operación de un sistema no satisface las necesidades o el planteamiento de quien solicita el proyecto.  La creación del blog quedaría a cargo del área de sistemas de la Facultad de Economía para su futura administración y actualización del sistema. razón por la cual no sabemos si se tiene la necesidad de implementar la Vista de lainfraestructura o concentrarnos tabla tbMaterias en el diseño del software.  Modelo orientado a prototipos.De esta manera nuestra base de datos queda debidamente Normalizada. 26 Nombre de la tabla: tbMaterias 4. ya relacionada Alcances:  Análisis y diseño de un blog personalizado a las necesidades del cliente.  Modelo en espiral.  No se tiene información sobre la infraestructura de cómputo y comunicaciones de la Facultad. Durante el desarrollo de nuestro proyecto fueron analizadas las siguientes metodologías:  Modelo en cascada. 5.1 Analizar tres metodologías para la solución del problema.  Modelo XP . Límites:  Se requiere implementar cuestionarios o entrevistas con el encargado del proyecto. sin redundancia de datos. para tener información más certera sobre las necesidades generales y específicas del sistema.

2) Autenticación. dudas o comentarios de dicho tema. Este punto ya fue analizado en la solución del caso práctico 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 reingeniería del software.-Una vez registrados los datos del alumno y del profesor. USUARIOS BLOG Los alumnos de la Facultad ingresan desde cualquier punto del Internet ingresan a la página donde se encuentra publicado el blog. 27 5. 3) Servicio. 1) Registro. regresan al sistema y entran a través de su usuario y su password a la plataforma. Aquí el alumno y el profesor van a dar de alta sus datos personales.3 Identificar las funcionalidades que deberá tener el sistema y represéntelas en un diagrama.5.-Este es el blog en donde el profesor o el alumno van a publicar temas y la obligación de ambas partes de generar retroalimentación. debido a que los objetivos del proyecto están bien definidos. .2 Desarrolle y justifique la metodología que utilizaría para la elaboración del sistema. Este servidor se encuentra dentro de la Facultad y dentro de la red de la misma.

6 Presentar el código fuente y archivo ejecutable del prototipo funcional y amigable al usuario considerando las necesidades identificadas. es un sitio Web y en este caso sólo se puede concentrar el sitio web en una carpeta. 5. en caso de que no esté registrado entrar al botón Registro. debe dar clic en el botón Login. debido a que no es una aplicación de escritorio. crear un diccionario de groserías y cuando el sistema detecte que la palabra introducida es igual a alguna palabra del diccionario de groserías el sistema mande un mensaje de que no puede escribirse dicha palabra o mejor aún publique solo asteriscos.5 Justifique su elección de pruebas por realizar al sistema desarrollado. esto es. Por ejemplo los TextBox declarados no deben de ir campos vacíos. Interface de Login 29 En caso de que el usuario se encuentre registrado. Se eligió el método de Pruebas de programas con datos de prueba. porque desde un principio en la base de datos se declaró que no se permitía nulos. Aquí cabe mencionar que no se puede generar un archivo ejecutable. 5. Interfaces: 1. 28 5. El modelo de base de datos y la normalización ya fueron desarrollados dentro de la solución del caso práctico. También otra validación que debe de realizarse es cuando el sistema solicita números y no debe permitir caracteres alfanuméricos. En caso de ser administrador del sistema el usuario entra al Módulo de Administración en . También es requerido realizar un programa en javascript de tal manera que en el Textbox del campo de comentarios programar la aplicación de tal manera que no sean publicadas groserías.4 Presente el esquema del modelo de base datos por utilizar y su normalización. Esto quiere decir que se va a validar la información entrada a través de las interfaces y guardadas en la base de datos del sistema.

Modulo de registro de Alumnos: 30 Modulo de registro de las materias . donde tiene que proporcionar el usuario y contraseña. profesores y materias. Este módulo le proporciona al administrador del Sistema el atributo de dar de alta. 2. en este módulo se va a permitir el registro de alumnos. baja y actualizaciones registros de Alumnos. Profesores y Materias. Modulo de Registro.

valga la redundacia por alunos y profesores. con respecto a la tabla materia.Modulo de registro del Profesor: 31 Como ya se menciono anteriormente en las tablas Alumnos y Profesores son llenadas respectivamente. esta es llenada por el administrador del sistema. 3. Manejo del blog Aquí ya esta iniciada la sesión ya sea de profesor o de alumno y se puede empezar a trabajar con el blog .

**Si la conexión fallara mandamos un mensaje 'ha fallado la conexión'**/ mysql_connect('localhost'. $password = $_POST["password_usuario"].mysql_error()). debido que no es una aplicación de escritorio.Requerimientos para ejecutar el programa: No se puede generar el archivo ejecutable del sitio. En la siguiente parte de código. 32 Código del botón login: <?php /**************************************** **establecemos conexión con el servidor.'root'. es un sitio Web y como tal debe tener instalado el Lenguaje de Programación PHP. **nombre del servidor: localhost. /*capturamos nuestros datos que fueron enviados desde el formulario mediante el método POST **y los almacenamos en variables. la base de datos mySQL y un servidor de páginas Web llamado APACHE.'root')or die ('Ha fallado la conexión: '. /*Consulta de mysql con la que indicamos que necesitamos que seleccione **solo los campos que tenga como nombre_administrador el que el formulario .mysql_error()). **Contraseña de usuario: root. /*Luego hacemos la conexión a la base de datos. **De igual manera mandamos un mensaje si hay algún error*/ mysql_select_db('db_blog')or die ('Error al seleccionar la Base de Datos: '. solo se va a tener el programa de login. **Nombre de usuario: root. debido a que se generó gran cantidad de código y se encuentra disperso en diferentes botones.*/ $usuario = $_POST["admin"].

//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 contraseña if($row["password"] == $password) { //Creamos sesión session_start().html". </script> <? } //Mysql_free_result() se usa para liberar la memoria empleada al realizar una consulta mysql_free_result($result).php ?> 33 <script languaje="javascript"> alert("Contraseña Incorrecta").php"). En la parte de desarrollo del programa se realizó el análisis y el diseño del programa. ?> 6 Conclusiones.php header("Location: index.href = "login. que son procedimientos y recomendaciones que se dan para llevar a cabo un producto de calidad y con las mejores prácticas. location. //Almacenamos el nombre de usuario en una variable de sesión usuario $_SESSION['usuario'] = $usuario. //Redireccionamos a la página: index.php". </script> <? } } else { //en caso que el nombre de administrador es incorrecto enviamos un mensaje y redireccionamos a login. El presente trabajo se habla sobre metodologías para el desarrollo de software. location. **le ha enviado*/ $result = mysql_query("SELECT * FROM administradores WHERE nombre_administrador = '$usuario'").php ?> <script languaje="javascript"> alert("El nombre de usuario es incorrecto!"). /*Mysql_close() se usa para cerrar la conexión a la Base de datos mysql_close(). } else { //En caso que la contraseña sea incorrecta enviamos un mensaje y redireccionamos a login.href = "login. .

ar/users/educohen Libro: Manual Imprescindible dePHP5.mx/2011/05/pruebas-de-sistemas-informaticos.html http://fipesmi.unizar.inf.html http://www.taringa. debido a que si se tiene un mal diseño de base de datos el programa no va a cumplir con el propósito para lo cual fue desarrollado. de tal manera que me permitiera el desarrollo de un trabajo con calidad y cumpliendo con las expectativas del planteamiento inicial.cl/~gdonoso/software/isenfoques. Por último se propusieron el diseño de unas interfaces que formarían parte del blog y que permitan que la funcionalidad del blog cumpla con las necesidades del Director de la Facultad.pdf http://jamserv.es/ftp/pub/docs/bsch/pdf/A. 34 El presente trabajo me permitió hacer uso de herramientas y metodologías capaces de permitirme llevar la lógica. partiendo desde la normalización de la base de datos. formando parte del diseño de la base de datos. http://ciberconta.misiones. Autor: Luis Miguel Cabezas Granado Editorial Anaya Multimedia Libro: Ingeniería de Software Explicada Autor: Marck Norris y Peter Rigby 8 Anexos (No hay ) .html http://www. planteamiento y desarrollo de un sistema.net/consejos-para-la-introduccion-de-una-tesis/ http://www.blogspot. que es la parte más importante para el desarrollo de un sistema. A continuación de la normalización se realizó el diagrama de base de datos bajo el modelo Entidad-relación y cumpliendo la función de cardinalidad 1:N. 7 Referencias bibliográficas.datosgratis.org.udec.net/posts/info/5651460/Elementos-de-una-red-de-computadoras.

.

35 .

net/consejos-para-la-introduccion-de-una-tesis/ http://www. S. Las Generaciones de las Computadoras. Recuperado de https://prezi. A. (2009). Recuperado de http://es.J. Recuperado de: https://informaticaenlau. Boston. Ma. J.html http://www. Discovering Computers: Technology in a World of Computers.7 Referencias bibliográficas.slideshare. Generaciones de Computadoras. Freund..es/ftp/pub/docs/bsch/pdf/A. & Oja.net/posts/info/5651460/Elementos-de-una-red-de-computadoras.mx/2011/05/pruebas-de-sistemas-informaticos..pdf http://jamserv.blogspot. J.com/2012/08/1-2- generaciones-de-las-computadoras.mx/ Antecedentes y aplicaciones de la Informática.blogspot.pdf Enderica. http://ciberconta.slideshare. Sebok.com/t98izpjsobgy/generaciones-de-computadoras/ Palacios. Autor: Luis Miguel Cabezas Granado Editorial Anaya Multimedia Libro: Ingeniería de Software Explicada Autor: Marck Norris y Peter Rigby 8 Anexos (No hay ) http://nanotecnologia12a. Mobile Devices. Recuperado de http://es. M. (2012).cl/~gdonoso/software/isenfoques.misiones. D. Cengage Learning. New perspective on computer concepts 2012: Comprehensive.html http://fipesmi.htm http://nanocomp. MA: Course Technology Vermant.html http://www. (2013). Generaciones de Computadoras.files.taringa.net/ricardoalberto/generaciones-de- computadoras-1678458 Referencias Parson. (2014).udec. S.es.org.inf. (2012). Boston.tl/Discos-Duros-Hechos-Con-Nanotecnolog%EDa.unizar. and the Internet.wordpress. . A.datosgratis.ar/users/educohen Libro: Manual Imprescindible dePHP5. (2009).net/jhonnysamm/generaciones-de-las- computadoras-2718479 Juárez.