UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS F AC U L T AD D E I N G E N I ER IA SYLLABUS ESPECIALIZACIÓN EN INGENIERÍA DE SOFTWARE NOMBRE DEL DOCENTE: PAULO CESAR CORONADO ESPACIO ACADÉMICO (Asignatura): INFORMATICA I Obligatri ( X) : Básic ( X ) Cmplementari ( ) Electiv ( ) : Intrínsecas ( ) Extrínsecas ( ) CÓDIGO: 9901301 NUMERO DE ESTUDIANTES: NÚMERO DE CREDITOS: 3 GRUPO: II TIPO DE CURSO: TEÓRICO ( ) PRACTICO ( ) TEO-PRAC (X) Alternativas metdlógicas: Clase Magistral (X), Seminari ( ), Seminari Taller ( ), Taller (X), Prácticas (X), Pryects tutriads(), Otr: HORARIO: DIA HORAS SALON VIERNES 6:00 P.M. 503 I. JUSTIFICACIÓN DEL ESPACIO ACADÉMICO El desarrlla actual de aplicacines de sftware exige cncimients, n sól en diferentes lenguajes de prgramación (presentación, lógica del negci, manej de dats), sin también en metdlgías, arquitecturas de sftware y herramientas de mdelad, implementación e integración, enmarcad td ell dentr de estándares de calidad de sftware. Este espaci académic tiene cm prpósit afianzar cncimients previs de mdelad cn UML, prgramación cn el paradigma OO, metdlgías de desarrll tradicinales y metdlgías ágiles, así cm también prfundizar en us de patrnes de diseñ de sftware y en el desarrll de aplicacines pr cmpnentes cn arquitectura JEE utilizand framewks que buscan agilizar el desarrll de aplicacines web multicapas (presentación, lógica de negci y persistencia). II. PROGRAMACION DEL CONTENIDO OBJETIVO GENERAL Estudiar y utilizar metdlgías y herramientas de mdelad e implementación de sistemas de sftware multicapas cn arquitectura pr cmpnentes aplicand el paradigma POO.
OBJETIVOS ESPECÍFICOS 1. Cmprender el cncept de arquitectura de sftware, su evlución y su papel en la cnstrucción de aplicacines flexibles, escalnables y de fácil mantenimient. 2. Entender la imprtancia de metdlgías de desarrll incrementales e iterativas en la cnstrucción actual de sftware. 3. Prprcinar al estudiante la cnceptualización teórica y la aplicación práctica del us del lenguaje de mdelad UML. 4. Estudiar alguns patrnes de diseñ de sftware y su imprtancia en el prces de desarrll y mantenimient. 5. Cncer las características de la arquitectura pr cmpnentes de sftware 6. Estudiar ls cmpnentes de la arquitectura JEE 7. Aplicar ls cncepts teórics, herramientas de mdelad y framewrks de desarrll para cnstruir una aplicación web pr cmpnentes. 8. Cncepts básics de la arquitectura SOA Cmpetencia general que cmprmete la asignatura: Cmpetencias específicas de la asignatura: COMPETENCIAS DE FORMACIÓN: Prpne una slución arquitectónica para la cnstrucción de aplicacines web multicapas (presentación, negci, persistencia) y guía el prces de mdelad e implementación a partir de una metdlgía iterativa e incremental. Elabra un mdel arquitectónic para la cnstrucción de una aplicación de sftware que satisfaga requerimients de negci funcinales y n funcinales. Utiliza UML cm lenguaje de mdelad en las diferentes etapas del cicl de vida del desarrll. Aplica patrnes de sftware en el diseñ de la aplicación. Utiliza una metdlgía de desarrll iterativa e incremental para la cnstrucción de una aplicación web. Desarrll una aplicación web pr cmpnentes utilizand la arquitectura JEE Parte 1: Repas cncepts básics: PROGRAMA SINTÉTICO: Mdel de sftware vs. arquitectura de sftware, evlución de las arquitecturas de sftware, arquitecturas cliente-servidr, arquitecturas multicapas, arquitectura Orientada a Servicis (SOA) Metdlgías de desarrll de sftware : RUP, TSP, Metdlgías ágiles (AUP, XP, Scrum) El prces de desarrll de sftware: Etapas clásicas del cicl de vida, actividades de planeación, seguimient y cntrl, gestión de la calidad, gestión de riesgs y de la cnfiguración UML y su papel en el prces de desarrll de SW El Paradigma de la Prgramación Orientada a Objets: Principis de la POO, UML y POO, Lenguajes mderns OO: C#, C++, Java Lenguaje Java: Sintaxis básica, Clases y Objets, Herencia, Interfaces, Estructuras de dats, Manej de excepcines, Entrada y Salida de dats Patrnes de Diseñ: Patrnes GRASP, Patrón MVC, Patrnes de Cmprtamient, Patrnes Estructurales, Patrnes JEE Diseñ de Bases de Dats : Mdels de BD, Mdel Relacinal, Lenguaje de manipulación de dats SQL Integración capa de negci y capa de dats: ODBC/JDBC Patrón DAO Parte II. Aplicacines web multicapas. Arquitectura.Net: Características, Platafrma de desarrll, FrameWrk.NET, Librerías.NET, Lenguajes.NET Arquitectura pr cmpnentes JEE: Cncepts Básics de la arquitectura JEE, Niveles de una arquitectura multicapas,cntenedres, cmpnentes y APIs JEE, Servidr de Aplicacines: cntenedr web y cntenedr de cmpnentes, Tips de cmpnentes EJB Elements de la arquitectura JEE Framewrks pr niveles : El metapatrón MVC, JSF, EJB de sesión, EJB de entidad, Java JEE cn JSF, EJB 3.0, Seam Prgramación de aplicacines cn JEE : Instalación y cnfiguración del entrn de desarrll
(Eclipse, Jbss Tls, Jbss Server), Diseñ e implementación en trn a cass de us, variables de cntext de Seam, inyección, extracción, antacines, cicl de vida de un EJB, servicis de persistencia (Entity Manager) Nivel web: Java Server Faces, RichFaces : Estructuración de pantallas facelets, Librerías de JSF, Richfaces, Cmpnentes GUI: validadres, btnes, calendaris, listas, tablas, menús, Facilidades Ajax, Internacinalización Lenguaje de manipulación de entidades :JPQL (Java Persistence Query Language) JPA (Java Persistent Api): Relacines entre entidades, antacines para expresar relacines, recuperación temprana perezsa, restriccines de unicidad, identificadres, índices Otrs aspects de la prgramación: cntrl de cnversacines, manej del timeut, manej del lg, Seguridad: Autenticación, Lgut y excepcines, Entidades, tablas y vistas de seguridad, Accines iniciales después del lgin, Prteger servicis de ls cmpnentes EJB, prteger pantallas, encriptar passwrds, pantallas seguras baj SSL III. ESTRATEGIAS Metdlgía Pedagógica y Didáctica: Expsicines magistrales pr parte del dcente Análisis de algritms clásics, ejercicis sbre cmplejidad, recursividad, y recurrencia. Análisis de ls algritms clásics de rdenamient (funcinamient, cmprtamient y cmplejidad). Pruebas de algritms y cálcul de tiemp sbre equips cn diversas especificacines. Tip de Curs Hras Hras prfesr/s emana TD TC TA (TD + TC) Hras Estudiante/semana (TD + TC +TA) Ttal Hras Estudiante/seme stre X 16 semanas 4 2 3 6 9 144 3 Crédits Trabaj Presencial Direct (TD): Trabaj de aula cn plenaria de tds ls estudiantes. Trabaj Mediad_Cperativ (TC): Trabaj de tutría del dcente a pequeñs grups de frma individual a ls estudiantes. Trabaj Autónm (TA): Trabaj del estudiante sin presencia del dcente, que se puede realizar en distintas instancias: en grups de trabaj en frma individual, en casa en bibliteca, labratri, etc.) IV. RECURSOS Medis y Ayudas: Clases magistrales para intrducir ls cncepts básics utilizand diferentes recurss :presentacines, vides, cnsulta de enlaces de interés. Talleres individuales de aplicación de ls cncepts básics Revisión bibligráfica, lecturas y expsicines pr parte de ls estudiantes. Desarrll, en grup, de un pryect de curs para implementar una aplicación web multicapas sbre una arquitectura pr cmpnentes (JEE.NET) BIBLIOGRAFÍA TEXTOS GUÍA Ivar Jacbsn, Grady Bch, James Rumbaugh. El prces unificad de desarrll de sftware.editrial Addisn Wesley,, España, 2000 Crawfrd, William. J2EE design patterns. Sebastpl, CA : O'Reilly, 2003 Farley, Jim. Java Enterprise in a nutshell. O'Reilly, c2006 Eckel, Bruce. Thinking in Patterns Prblem-Slving Techniques using Java. Gamma E., Helm R., Jhnsn R., Vlissides, J. Design Patterns, Elements f Reusable Object-Oriented Sftware, Addisn-Wesley, 1995
Jshi, Sachin. Micrsft Enterprise Library 5.0 [recurs electrónic Uniandes] : develp enterprise applicatins using sftware cmpnents f Micrsft Enterprise Library 5.0. Birmingham : Packt, 2010 Thakur, Vivek. ASP.NET 3.5 applicatin architecture and design [recurs electrónic Uniandes] : build rbust, scalable ASP.NET applicatins quickly and easily. Birmingham, UK : Packt Publishing, c2008. Silberschtz A.,Krth H.F.,Sudershan S. Fundaments de Bases de Dats. Mc Graw Hill, 5ª.Edición, 2006 Mike Rsen, Bris Lublinsky, Kevin T. Smith, Marc J. Balcer. Applied SOA. Service-Oriented Architecture and Design Strategies. Wiley Publishing, Inc., 2008 TEXTOS COMPLEMENTARIOS Ceballs, fcr Javier. Java2. Curs de Prgramación. 3ª. Edición, Editrial Afamega, 2006 REVISTAS DIRECCIONES DE INTERNET http://www.uml.rg/ http://www.racle.cm/technetwrk/java/javaee/tech/index.html http://www.racle.cm/technetwrk/java/index.html http://www.micrsft.cm/net Espacis, Tiemps, Agrupamients: V. ORGANIZACIÓN / TIEMPOS Se recmienda trabajar una unidad cada cuatr semanas, trabajar en pequeñs grups de estudiantes, utilizar Internet para cmunicarse cn ls estudiantes para revisines de avances y slución de preguntas (est cnsiderarl entre las hras de trabaj cperativ). 1 Mdels y arquitecturas de sftware Mdel de sftware vs. arquitectura de sftware, evlución de las arquitecturas de sftware, arquitecturas clienteservidr, arquitecturas multicapas, arquitectura Orientada a Servicis (SOA) 2 Metdlgías de desarrll de sftware RUP (Ratinal Unified Prcess) TSP (Team Sftware Prcess) Metdlgías ágiles (AUP, XP, Scrum) 3 UML y su papel en el prces de desarrll de SW Mdels estructurales, dinámics y de cmprtamient. 4 El Paradigma de la Prgramación Orientada a Objets Principis de la POO, UML y POO, Lenguajes mderns OO: C#, C++, Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Lenguaje Java: Sintaxis básica, Clases y Objets, Herencia, Interfaces, Estructuras de dats, Manej de excepcines, Entrada y Salida de dats 5 Patrnes de Diseñ Patrnes GRASP, Patrón MVC, Patrnes de Cmprtamient, Patrnes Estructurales, Patrnes JEE
6 Diseñ de Bases de Dats Mdels de BD, Mdel Relacinal, Lenguaje de manipulación de dats SQL Integración capa de negci y capa de dats: ODBC/JDBC. Patrón DAO 7 Arquitectura.Net Características, Platafrma de desarrll, FrameWrk.NET, Librerías.NET, Lenguajes.NET 8 Arquitectura pr cmpnentes JEE Cncepts Básics de la arquitectura JEE, Niveles de una arquitectura multicapas, Cntenedres, cmpnentes y APIs JEE, Servidr de Aplicacines: cntenedr web y cntenedr de cmpnentes, Tips de cmpnentes EJB. 9 Elements de la arquitectura JEE Framewrks pr niveles : El metapatrón MVC, JSF, EJB de sesión, EJB de entidad, Java JEE cn JSF, EJB 3.0, Seam 10 Prgramación de aplicacines cn JEE Instalación y cnfiguración del entrn de desarrll (Eclipse, Jbss Tls, Jbss Server), Diseñ e implementación en trn a cass de us, variables de cntext de Seam, inyección, extracción, antacines, cicl de vida de un EJB, servicis de persistencia (Entity Manager) 11 Nivel web: Java Server Faces, RichFaces Estructuración de pantallas facelets, Librerías de JSF, Richfaces, Cmpnentes GUI: validadres, btnes, calendaris, listas, tablas, menús, Facilidades Ajax, Internacinalización 12 Lenguaje de manipulación de entidades JPQL (Java Persistence Query Language) 13 JPA (Java Persistent Api) Relacines entre entidades, antacines para expresar relacines, recuperación temprana perezsa, restriccines de unicidad, identificadres, índices 14 Otrs aspects de la prgramación Cntrl de cnversacines, manej del timeut, manej del lg, seguridad 15 Cncepts básics de SOA Arquitectura, Mdel de Prcess, BPM, BPEL VI. EVALUACIÓN TIPO DE EVALUACIÓN FECHA PORCENTAJE 1 PARCIAL (individual, 30% c/u) Taller 1 (10%) Taller 2 (10%) Taller 3 (10%) 30% 30% EXPOSICIÓN (en grup) 10%
PROYECTO Análisis y Diseñ Implementación y sustentación del pryect 10% 20% ASPECTOS A EVALUAR DEL CURSO Claridad en ls cncepts de metdlgía, arquitectura, análisis, diseñ e implementación evaluads pr medi de parciales, trabajs en grup, talleres, revisines bibligráficas, sustentacines y expsicines. DATOS DEL DOCENTE NOMBRE : PREGRADO : POSTGRADO : ASESORIAS: FIRMA DE ESTUDIANTES NOMBRE FIRMA CÓDIGO FECHA 1. 2. 3. FIRMA DEL DOCENTE