Vous êtes sur la page 1sur 11

Programa de Asignatura

00 Cdigo:

F C
T 109
T 108

Asign.
29
24

01. Facultad: Tecnologa Informtica / Carrera: Ingeniera en Sistemas Informticos


02. Asignatura:

T109 29 - TRABAJO DE DIPLOMA


T108 24 - TRABAJO DE DIPLOMA

03. Ao lectivo: 2015 04. Ao de Cursada: 3


06. Hs. Semanales: 6.
Hs. Tutoriales: 100.

05. Cuatrimestre: 2

07.
Profesor Titular: Ing. Cardacci Daro Guillermo
Buenos Aires
Rosario
Titular a cargo: Ing. Cardacci Daro Guillermo Asociado a cargo: Ing. Vaquero Marcelo
Adjuntos:
Adjunto:
Domenech, Carlos
Audoglio, Pablo
Calabria, Esteban
Contreras, Victor
Defino, Guillermo
Barnech, Diego
Eje socioprofesional: Los Modelos como representacin abstracta de la realidad (Anlisis y
Lenguajes)
Coordinador de eje: Ing. Vilaboa Pablo
Coordinador de eje: Ing. Vaquero Marcelo
Eje Epistmico: Administracin de Recursos Tecnolgicos.
08. Fundamentacin:
Es fundamental para la formacin del futuro analista de sistemas integrar los conocimientos adquiridos
as como implementar las tcnicas y buenas prcticas que impone la ingeniera de software respecto al
desarrollo de sistemas informticos.
La refactorizacin de piezas de cdigo, la aplicacin de tcnicas avanzadas de programacin y patrones
de diseo, aplicados en un caso prctico testigo, hacen que los desarrollos posean una estructura
constructiva ms apta a los requerimientos profesionales.
En particular las tcnicas avanzadas abordadas en la asignatura, potencian al modelo orientado a
objetos trabajado en asignaturas previas. Por medio del subprocesamiento, se logra construir sistemas

que funcionen en paralelo y con distintos niveles de prioridad. La reflexin aporta una caracterstica que
permite observar la estructura dinmica y esttica de las clases y objetos en tiempo de ejecucin, lo cual
le da a los diseos una versatilidad altamente buscada en el software actual. A travs del
aprovechamiento de la serializacin se puede almacenar un objeto con el objetivo, entre otros, de poder
transmitirlo a travs de una conexin lo cual facilita notablemente el desarrollo de software para que
funcione en entornos distribuidos.
09. tems del perfil que se desarrollarn:
La tarea de los analistas de sistemas excede el mero desarrollo de software. Dentro del rea profesional
que les incumbe, deben dominar las tcnicas y metodologas que le permitirn realizar una correcta
administracin de los recursos informticos.
Los profesionales preparados para desarrollar esta actividad deben manifestarse con soltura en las
actividades que involucran los aspectos que se indican a continuacin.
Habilidad y predisposicin para lograr crear mbitos virtuales de solucin a problemas reales, utilizando
y administrando eficientemente los recursos informticos.
Incorporar las destrezas para lograr transformar la observacin de la realidad compleja a una
representacin simplificada y sistmica.
Desarrollar las habilidades que permitan implementar soluciones probadas y estndar que otorgan
seguridad y eficiencia en las actividades llevadas a cabo.
Capacidad y motivacin para innovar en los conceptos referidos a la ingeniera del software.
Conocimiento para la toma de decisiones que permitan comprender, adaptar y aplicar conceptos
altamente calificados para el desarrollo de software.
Desarrollar la capacidad para trabajar en forma individual y/o grupal.
Poder tomar decisiones bajo estrictas valoraciones tcnicas, ticas y morales.
10. Correlativa previa:
Trabajo de Campo I.
Posteriores : Prctica Profesional Supervisada
11. Articulacin con asignaturas:
Articulacin vertical:
La articulacin con las asignaturas Metodologa de Desarrollo de Sistemas I y Metodologa de
Desarrollo de Sistemas II se produce a partir del aporte que stas realizan respecto al anlisis y la
modelizacin de sistemas as cmo el uso de una simbologa estndar para representacin de los
mismos. De las asignaturas Lenguajes de ltima Generacin y Programacin Orientada a Objetos se
obtienen los conocimientos de programacin y acceso a datos para desarrollar un sistema de
informacin.
A su vez esta asignatura le provee los saberes referidos a tcnicas avanzadas de diseo, refactorizacin y
aspectos avanzados de programacin a las asignaturas Seminario de Aplicacin Profesional y Trabajo
Final de Ingeniera.
Articula tambin con la asignatura Trabajo de Campo I ya que toma los contenidos de ingeniera de
software y el desarrollo del trabajo prctico (una carpeta de proyecto de desarrollo de software) y la
implementa en un producto de software. Para la implementacin tambin se construye un modelo de
datos y la base de datos asociada, temas tratados en la asignatura Base de Datos.

12. Objetivos:
Comprender como analistas la complejidad de la administracin de un proyecto de sistemas.
Mejorar las tcnicas de construccin de software que permitirn obtener productos de calidad.
Reafirmar los conocimientos de tcnicas de desarrollo de software orientada a generar sistemas
de informacin para las organizaciones.
Integrar los conocimientos sobre diseo arquitectnico avanzado y desarrollo de software.
Utilizar tcnicas avanzadas de gestin de proyectos.
Comprender los elementos que se utilizan para lograr una ptima gestin de la configuracin de
los sistemas de informacin.
Implementar los elementos que permitan incorporar los conceptos de ingeniera de software
orientado a objetos.
Desarrollar las habilidades que se necesitan para construir sistemas de informacin con
componentes distribuidos.
Asociar los conocimientos sobre tecnologas de desarrollo que permitan implementar sistemas
de informacin cliente-servidor administrando subprocesos simples y mltiples.
Utilizar tcnicas avanzadas en la implementacin de sistemas de informacin.
Adaptar los sistemas de informacin al contexto variable y a la web.
Elaborar hiptesis de investigacin sobre el desarrollo de sistemas de informacin.
Desarrollar un sistema de informacin articulando e integrando desde un proyecto prctico
comn con las asignaturas Metodologas de desarrollo de sistemas II y Trabajo de Campo.
13. Unidades de desarrollo de los contenidos:
UNIDAD DE REPASO Y CONOCIMIENTOS NECESARIOS
Evaluacin Diagnstica.
Repaso:
Teora y prctica sobre aspectos relevantes relacionados con el desarrollo de software.
Conocimientos necesarios:
Tcnicas y estrategias de programacin estructurada.
Tcnicas y estrategias de programacin orientada a objetos.
Anlisis y diseo de software orientado a objetos.
Acceso a base de datos.
Tiempo: 6 hs
Unidad 1: DESARROLLO DE SOFTWARE.
El Software.
Complejidad del software. La construccin del software como negocio. Costo Beneficio en la
migracin de software a nuevas tecnologas. Ciclo del proyecto (involucrar componente humano y
econmico). Anlisis de actualizar, comprar, adoptar vs desarrollar.
Tiempo: 6 hs

Unidad 2: CONSTRUCCIN DE UN MDULO DE SEGURIDAD Y SERVICIOS.


Mdulo de Seguridad.
Aspectos a considerar en un mdulo de seguridad. Conceptos. Log in Log out. Gestin de perfiles.
Bitcora de Log in Log out. Bitcora de seguimiento. Concepto de parmetro. Introduccin a la
Criptografa. Seguridad para la integridad de datos. Administracin de mltiples lenguajes. Backup.
Qu consideraciones se deben tener para crear cdigo seguro en las aplicaciones.
Tiempo: 12 hs
Unidad 3: PATRONES DE DISEO II.
Patrones de creacin
Builder. Introduccin y desarrollo para separar la construccin de un objeto complejo de su
representacin, de forma que el mismo proceso de construccin permita crear diferentes
representaciones.
Prototype. Introduccin y desarrollo para establecer la especificacin de los tipos de objetos a crear
por medio de una instancia prototpica. Creacin de nuevos objetos copiando el prototipo.
Patrones estructurales
Bridge. Introduccin y desarrollo para poder desacoplar una abstraccin de su implementacin para
que ambas puedan variar de forma independiente.
Facade. Introduccin y desarrollo para proporcionar una interfaz unificada para un conjunto de
interfaces de un subsistema. Construccin de interfaces de alto nivel para facilitar el uso del sistema.
Flyweight. Introduccin y desarrollo para obtener pequeos objetos compartidos utilizables en
distintos contextos.
Proxy. Introduccin y desarrollo para generar una estructura que presente un objeto sustituto o
representante para acceder al objeto principal.
Patrones de comportamiento
Chain of Responsibility. Introduccin y desarrollo para evitar acoplar el emisor de una peticin a su
receptor. Como lograr una estructura de comportamiento que permita a ms de un objeto responder a
una misma peticin.
Command. Introduccin y desarrollo para encapsular una peticin en un objeto. Parametrizacin de
peticiones encapsuladas en objetos. Establecimiento de colas y registro de peticiones.
State. Introduccin y desarrollo para lograr que un objeto cambie su comportamiento cada vez que
cambie su estado interno.
Strategy. Introduccin y desarrollo para Definir una familia de algoritmos, cada uno de ellos
encapsulados e intercambiables.
Template Method. Introduccin y desarrollo para la delegacin en subclases de algunos pasos de un
algoritmo sin cambiar la estructura de este.
Visitor. Introduccin y desarrollo para definir nuevas operaciones sin cambiar las clases de los
elementos sobre los que opera.
Concepto de Refactorizacin.
Tiempo: 24 hs

Unidad 4: SERIALIZACIN.
Conceptos bsicos sobre serializacin. Serializacin binaria. Serializacin SOAP. Atributos Serializable
y NonSerialized. Grficos de objetos. Clonacin profunda de objetos.
Serializacin personalizada. La interfaz ISerializable. La estructra AtreamingContext. La interfaz
IDeserializationCallback.
Serializacin XML. La clase XmlSerializer. Atributos de Serializacin. El objeto
XMLSerializerNamespace. Sucesos de deserializacin. Sobreescritura del comportamiento. Manejo de
esquemas XSD.
Tiempo: 12 hs
Unidad 5: REFLEXIN.
Concepto. Utilizacin de los ensamblados y los mdulos. La clase Assembly. La clase AssemblyName.
La clase Module.
Manejo de tipos. Obtencin de un objeto Type. Recuperacin de atributos Type.
Enumeracin de miembros. Recuperacin de informacin de miembros. Enumeracin de parmetros.
Ejecucin de miembros. Creacin dinmica de objetos. Aspectos de seguridad a considerar.
Tiempo: 18 hs
Unidad 6: SUBPROCESAMIENTO E INGENIERIA DE SOFTWARE CLIENTE SERVIDOR.
Concepto. Introduccin al subprocesamiento. Ventajas y desventajas del subprocesamiento.
Determinacin de la necesidad de utilizar subprocesos. Creacin de subprocesos. Manejo de
subprocesos. Propiedades de los subprocesos. Depuracin de los subprocesos.
Almacenamiento y comparticin de datos. Variables locales, de clases y estticas. El atributo
ThreadStatic. Almacenamiento local de subproceso. Cmo pasar y obtener datos de un subproceso.
Sincronizacin de subprocesos. Utilizacin de SyncLock. La clase Monitor. La clase Interlocked. La
clase Mutex. La clase ReaderWriterLock. La clase ManualResetEvent. La clase AutoResetEvent.
La clase ThreadPool. La clase parallel.
Temporizadores. La clase System.Timers.Timer. La clase System.Threading.Timer.
Asincronismo. Operaciones asncronas. Delegados asncronos. Operaciones asncronas con archivos.
Sistemas distribuidos. Software intermedio (middleware). Arquitecturas estratificadas. Concepto de
protocolo, su impacto en los desarrollos cliente servidor. Aspectos a considerar en la construccin de
sistemas cliente servidor.
Tiempo: 18 hs
14. Metodologa de trabajo:
La forma de desarrollar la clase permitir la articulacin de los conocimientos tericos y prcticos. Las
clases posen dos momentos marcados, el del abordaje hacia el marco terico y el de desarrollo e
implementacin de la prctica.
Se tendr especial atencin en la participacin activa de los alumnos, para poder rescatar la elaboracin
conceptual que construyan de los temas tratados.
Se aplicarn diversas tcnicas y metodologas en el plano terico y prctico entre las cuales podemos

mencionar:
Teora: 50% del tiempo de la clase. Exposicin docente. Dilogo con los alumnos. Puesta en comn.
Conclusiones grupales. Interconsultas. Revisin de temas. Relacin de temas nuevos con conocimientos
adquiridos de la asignatura y de otras asignaturas relacionadas.
Prctica: 50% del tiempo de la clase. La ejercitacin deber reflejar los conceptos transmitidos en la
clase terica, ms los conocimientos de las clases anteriores. Se propondrn ejercicios cuya resolucin
ser grupal en algunos casos e individual en otros. Los alumnos prepararn trabajos de indagacin que
incluirn la exposicin oral de los mismos.
Los medios audiovisuales (Presentaciones / Webcast) ocuparn un importante lugar en el desarrollo de
las clases para lograr un mayor estmulo en el alumno y de esa forma fijar mejor los contenidos
directrices.
Los textos de actualidad y las notas periodsticas sobre tecnologa de punta, sern propuestos para ser
ledos y tratados en clase.
Se fomentar la participacin de los alumnos en la formulacin de soluciones a los problemas de la
prctica profesional.
Se desarrollarn ejercicios que denoten un alto grado de relacin grupal para aprovechar la sinergia de
la relacin interpersonal.
Herramientas:

Software de modelado de datos.


Software de modelado de sistemas.
Software de documentacin.
Lenguaje de programacin orientado a objetos.
Laboratorio.

15. Trabajos prcticos:


a. Trabajo prctico final. Comprende la finalizacin del proyecto de desarrollo de un sistema que se
trabaj en Trabajo de Campo 1 y Metodologa de Desarrollo de Sistemas II como parte de las
estrategias de articulacin. Los alumnos utilizarn las 100 hs de tutora para desarrollar las distintas
etapas del proyecto. El proyecto se realizar una parte en el tiempo ulico dnde se abordarn los
aspectos ms representativos del trabajo y otra en el que el alumno designe fuera del tiempo de
asistencia a la asignatura. Se inducir a que el alumno desarrolle el mismo de una manera iterativa e
incremental. Se dispondrn de dos puntos de control denominados entregas parciales del TP y la entrega
final del mismo. El objetivo de las entregas parciales es que el alumno pueda obtener una devolucin de
su avance en el trabajo prctico.
Los elementos que conforman al proyecto son los que se muestran en la siguiente lista.
1

Introduccin

Requerimientos mnimos

Artefactos entregables

3.1

Documento Visin

3.2

Descripcin Global del Producto

3.3

Descripcin Detallada del Producto

3.4

Restricciones

3.5

Requisitos de Documentacin

3.6

Especificaciones de Casos de Uso

3.7

Especificaciones Adicionales

3.8

Mapa de Navegacin

3.9

Prototipos de Interfaces de Usuario

3.10

Diagrama de Clases Global del Sistema

3.11

Diagrama de Componentes

3.12

DER Global del Sistema

3.13

Especificacin de Casos de Prueba

3.14

Manual de Instalacin

3.15

Ayuda en Lnea

3.16

Guas de Instalacin, Configuracin, y Fichero Lame

3.17

Material de Apoyo al Usuario Final

El trabajo es individual y se deber entregar una copia impresa y otra en soporte magntico al docente.
b. Trabajo de Indagacin. Los trabajos de indagacin estarn referidos a temas de la asignatura. Se
realizarn en forma grupal y el nmero de sus integrantes ser de cuatro a seis alumnos. La entrega de
los mismos ser fijada oportunamente por el docente dentro del plazo en que se desarrolla el
cuatrimestre.
16. Bibliografa:
Obligatoria:
Cardacci Dario y Booch, Grady. Orientacin a Objetos. Teora y Prctica. -- Buenos Aires,
Argentina. Pearson Argentina, 2013. 400 pginas
Gamma, Erich; Helm, Richard; Johnson, Ralph y otros. Patrones de diseo : elementos de software

orientado a objetos reutilizable.-- Madrid : Pearson Educacin, c2003. xvii, 364 pginas
Balena, Francesco. Programacin avanzada con Microsoft Visual Basic.Net.-- Mxico, DF :
McGraw-Hill, c2003. xxv, 1238 pginas, 1 CD-Rom
Ampliatoria:
Braude, Eric J. Ingeniera de software : una perspectiva orientada a objetos.-- Mxico, DF :
Alfaomega, c2003. xxiii, 539 pginas
Date, C. J. Introduccin a los sistemas de bases de datos. 7a.ed.-- Mxico, DF : Addison Wesley
Longman, c2001. xxi, 936 pginas
Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. Introduccin a la teora de autmatas,
lenguajes y computacin. 3a. ed.-- Madrid : Pearson Educacin, 2007. xvi, 440 pginas
Laudon, Kenneth C.; Laudon, Jane Price. Administracin de los sistemas de informacin :
organizacin y tecnologa. 3a. ed.-- Mxiico, DF : Prentice Hall Hispanoamericana, c1996. xxxviii,
885 pginas.
Martin, James; Odell, James J. Mtodos orientados a objetos : conceptos fundamentales.-- Mxico,
DF : Prentice Hall Hispanoamericana, c1997. xv, 412 pginas
Martin, James; Odell, James J. Anlisis y diseo orientado a objetos.-- Mexico, DF : Prentice Hall
Hispanoamericana, c1994. 546 pginas
O"Brien, James A.; Marakas, George M.; Herrero Daz, Mara Jess (Traductor); y otros. Sistemas de
informacin gerencial. 7a. ed.-- Mxico, D.F. : McGraw-Hill Interamericana, 2006. xxx, 592 pginas
Palma Mndez, Jos Toms; Garrido Carrera, Mara del Carmen; Snchez Figueroa, Fernando; y otros.
Programacin concurrente.-- Madrid : Thomson Editores, 2003. xiii, 380 pginas
Pfleeger, Shari Lawrence; Ruz de Mendarozqueta, Alvaro; Quiroga, Elvira (Traductor). Ingeniera de
software : teora y prctica.-- Buenos Aires : Pearson Education, c2002. xxv, 760 pginas
Piattini, Mario; Villalba, Jos; Ruiz, Francisco; Bastanchury, Teresa; Polo, Macario; Martnez, Miguel
ngel; Nistal,Csar. Mantenimiento del software : modelos, tcnicas y mtodos para la gestin del
cambio. Alfaomega, 2001.
Piattini Velthuis, Mario G.; Garca Rubio, Flix O. Calidad en el desarrollo y mantenimiento del
software.-- Mxico, DF : Alfaomega, c2003. xxv, 310 pginas
Pressman, Roger S. Ingeniera del software : un enfoque prctico. 6a.ed.-- Mxico,DF : McGrawHill, c2005. xxxiv, 958 pginas

Schach, Stephen R.; Fernndez, Esther (Traductor); Guerrero, Ekaterina (Traductor) y otros. Ingeniera
de software clsica y orientada a objetos. 6a. ed.-- Mxico, D.F. : McGraw-Hill Interamericana de
Mxico, 2006. xxi, 581 pginas
Senn, James A. Anlisis y diseo de sistemas de informacin. 2a. ed.-- Mexico, DF : McGraw-Hill,
1998. xviii, 942 pginas
Sommerville, Ian; Alfonso Galipienso, Mara Isabel (Traductor); Bota Martnez, Antonio (Traductor) y
otros. Ingeniera del software. 7a. ed.-- Madrid : Pearson Educacin, 2005. xviii, 687 pginas
Swartzfager, Gene; Chandak, Ramesh; Chandak, Purshottam y otros. Visual Basic 6 : programacin
orientada a objetos.-- Madrid : Paraninfo, c1999. xxvii, 454 pginas, 1 CD-Rom
Weitzenfeld, Alfredo. Ingeniera de software orientada a objetos con UML, Java e Internet.-Bogot : Thomson Editores, c2005. xx, 678 pginas
Yourdon, Edward. Anlisis estructurado moderno.-- Mxico, DF : Prentice Hall Hispanoamericana,
c1993. 735 pginas
17. Procedimiento de evaluacin y criterio de promocin:
Parciales.
Los exmenes parciales sern como mnimo dos, cada uno con teora y prctica. Ambos son
obligatorios, individuales y escritos. El primero de ellos se efectuar entre la quinta y sptima semana
del cuatrimestre y el segundo entre la semana doce y catorce. Los parciales debern tener un 60% de
contenido correcto para estar aprobados. En este ltimo caso la nota deber quedar establecida entre 4
(cuatro) y 10 (diez) puntos. Si el alumno no se presenta a un examen parcial se calificar con una nota
insuficiente.
Recuperatorios.
Los exmenes recuperatorios se desarrollarn a razn de uno por cada parcial con teora y prctica. Se
podr optar por tomar un recuperatorio integral en aquellos casos que se justifique y el mismo deber
ser equivalente al alcance de los recuperatorios individuales. Recuperarn los parciales que
correspondan, aquellos alumnos que obtuvieron una calificacin inferior a 4 (cuatro) puntos en alguno
de sus exmenes parciales. Los recuperatorios son individuales y por escrito. El docente dispondr la
fecha para realizar esta actividad que podr ser con posterioridad a cada uno de los parciales o en una
fecha comn para todos. Las notas de los exmenes recuperatorios no reemplazan las calificaciones
insuficientes obtenidas en los exmenes regulares que se estn recuperando, las mismas sern tomadas
como parte de las calificaciones que intervienen en el promedio.
Aspectos comunes a parciales y recuperatorios.
Los exmenes parciales y recuperatorios incluirn diversas tcnicas para poder observar desde distintos
ngulos el objeto de evaluacin. Se debern intercalar preguntas a desarrollar, del tipo mltiples casos,
guiadas y lgicas. Se evaluar la capacidad de razonamiento del alumno y el marco terico que lo
sustenta. Se recomienda ser objetivo y extremar la claridad de la pregunta no dejando lugar a duda de lo

que se est intentando evaluar.


Trabajos Prcticos.
Se desarrollarn los trabajos prcticos enunciados en el punto 15 (trabajos prcticos). El trabajo
prctico Final deber ser defendido por el alumno. El trabajo y la defensa ser individual y la
evaluacin del mismo estar conformada por un promedio de notas que involucren la produccin y el
desempeo. Para ambos trabajos prcticos los aspectos a tener en cuenta en dicha evaluacin son:
calidad del trabajo, preparacin y clasificacin del material, produccin del material, calidad de la
defensa, aprovechamiento de los medios y administracin del tiempo.
Nota conceptual.
La nota conceptual estar sustentada en la participacin en clase del alumno, el inters demostrado en la
asignatura y el empeo puesto de manifiesto en las actividades de estudio.
Otros aspectos generales de la evaluacin.
Tambin se confeccionarn grillas de seguimiento las cuales debern reflejar la evolucin de los
alumnos en los aspectos evaluados.
Objetivos de la evaluacin.
Conocer el grado de internalizacin de los contenidos.
Verificar los errores conceptuales y cambios conceptuales en las estructuras cognitivas de los
alumnos.
Garantizar la transferencia del conocimiento.
Identificar dificultades y contradicciones en el proceso de aprendizaje.
Reconocer la integracin de aprendizajes significativos.
Contenidos de la evaluacin.
Se tendrn en cuenta los contenidos conceptuales, procedimentales y actitudinales.

Construccin
de un mdulo
de Seguridad y
Servicios
(U2)

Desarrollo de
Software
(U1)

Patrones
de
Diseo II
(U3)

Cmo puedo desarrollar software de calidad?

Serializacin
(U4)

Subprocesamiento
e Ingeniera de
Software Cliente
Servidor
(U6)

Reflexin
(U5)