COMUNICACIONES 1. DATOS DE IDENTIFICACIN NOMBRE DEL ESPACIO ACADMICO Asignatura de Fundamentos de Ingeniera en Software CRDITOS ACADMICOS No aplica por ser nivelatorio HORAS DE TRABAJO DIRECTO HORAS DE TRABAJO AUTNOMO HORAS DE TRABAJO COOPERATIVO 48 84 12 MODALIDAD Tericopr!ctica " presencial# 2. PREGUNTAS QUE SE BUSCA RESOLVER 1# $ %u!les son las !reas de conocimiento &ue la disciplina de la Ingeniera de Software 'a desarrollado " 'a madurado a lo largo los a(os# 2# $)u* define " diferencia los modelos de computacin+ ,# $)u* t*cnicas de programacin son m!s frecuentes en los cuatro modelos de computacin a-ordados en el curso+ 4# $)u* importancia tiene reconocer " diferenciar los modelos de computacin e.istentes para 'acer una Ingeniera de Software m!s slida+ /# $)u* a-orda el dise(o detallado de software usando 'erramientas semiformales como el 0engua1e de 2odelado 3nificado+ 4# $)ue diferencia un metametamodelo de un metamodelo " de un modelo+ 5# $%mo se aplican las unidades lingusticas propuestas en 320 2#. al dise(o detallado de software+ 8# $%u!les son los enfo&ues predominantes en el desarrollo de software en la actualidad+ . PALABRAS CLAVE 2odelo de computacin6 t*cnica de programacin6 n7cleo de lengua1e6 an!lisis orientado a o-1etos6 dise(o orientado a o-1etos6 programacin orientada a o-1etos6 0engua1e de 2odelado 3nificado6 modelos de proceso6 metodologas de desarrollo de software6 2odelo de 8roceso 3nificado6 dise(o detallado de software# !. JUSTIFICACIN 9l estudiante &ue reci*n ingresa a la 2aestra en %iencias de la Informacin " las %omunicaciones puede verse enfrentado en el futuro al modelado " construccin de sistemas de software : 2!&uinas lgicas; para corro-orar resultados6 a trav*s de prototipos6 de sus modelos formales o semiformales &ue se relacionan con su campo de investigacin especfico< este curso -usca consolidar en el estudiante de maestra una disciplina metodolgica " de pensamiento para desarrollar software de alta calidad# 9la-or =A> 5. OBJETIVOS OBJETIVO GENERAL 0a asignatura a&u detallada pretende entregar a los estudiantes los elementos tericos -!sicos de an!lisis " dise(o de pro"ectos de desarrollo de software con un e1ercicio de estudio de caso pr!ctico &ue refuerce la ad&uisicin de conocimientos# OBJETIVOS ESPECFICOS >iferenciar las !reas de conocimiento de la Ingeniera de Software# >otar al estudiantes de criterios de diferenciacin de los modelos de proceso de software m!s conocidos " su posi-le aplicacin de acuerdo al conte.to# ?evisar la conceptuali@acin in'erente a cuatro modelos de computacin6 construidos de manera incremental desde un n7cleo de lengua1e# 91ercitar en t*cnicas de programacin utili@adas en los modelos de computacin estudiados# %onte.tuali@ar al estudiante en la evolucin de los enfo&ues de la Ingeniera de Software " en los modelos de proceso predominantes en el desarrollo de pro"ectos de esta naturale@a# 9nfrentar al estudiante con literatura t*cnica so-re los temas relacionados6 &ue lo u-i&uen en el estado del arte actual " generen en *l la disciplina de la actuali@acin t*cnica a trav*s de la lectura continua# >iferenciar los enfo&ues predominantes en el desarrollo de software en la actualidad# ". COMPETENCIAS %A289T9N%IAS %I3>A>ANAS Tra-a1ar en e&uipo " acordar la distri-ucin de tareas de manera e&uili-rada# Argumentar de manera slida so-re temas relacionados con las tecnologas &ue soportan la Ingeniera de Software# %umplir los acuerdos " reglas esta-lecidas para la formacin en una asignatura de acuerdo a la metodologa propuesta por el docente# 9la-or =A> %A289T9N%IAS BCSI%AS %I9NTDFI%AS >iferenciar mnimo cuatro modelos de computacin generales acorde con los conceptos su-"acentes &ue los diferencian# >iferenciar los niveles sem!nticos para especificar un lengua1e de programacin en concordancia con la teora de computacin# Aplicar t*cnicas de programacin in'erentes a modelos de computacin especficos# >iferenciar los niveles de meta metamodelo6 metamodelo " modelo en el aprendi@a1e " desarrollo de fundamentos tericos en esta disciplina# %A289T9N%IAS 0ABA?A09S >iferenciar modelos de proceso acu(ados en la teora " pr!ctica de la Ingeniera de Software# Aplicar las unidades lingusticas de 320 2#. en el dise(o detallado de software acorde con las recomendaciones de los est!ndares internacionales# ?econocer de manera diferenciada los enfo&ues prevalecientes en la actualidad para el desarrollo de software# ?evisar tpicos tecnolgicos relacionados con la disciplina de la Ingeniera de Software# PARTE INTRODUCTORIA #$ %&'()* 8resentacin de la asignatura en todos sus componentes " reglas de 1uego# Eisin conceptual de los modelos de computacin " las t*cnicas de programacin# >iferenciacin conceptual de las sem!nticas a.iom!tica6 denotacional " operacional para lengua1es de programacin# 0as !reas de conocimiento de la Ingeniera de Software# ?evisin a los modelos de proceso de software m!s relevantes# PARTE 1. PARADIGMAS DE PROGRAMACIN #2+ %&'()* 1#1# Introduccin# 0a evolucin del software " de las topologas de programacin# 1#2# %onceptos fundamentales de programacinF Earia-les6 funciones6 correccin6 evaluacin6 programacin de alto orden6 estado " no determinismo# 1#,# 9l modelo de computacin declarativa 1#,#1# ?epositorio de varia-les de una asignacin# 1#,#2# 9l lengua1e n7cleo del modelo# 1#,#,# Sem!ntica del lengua1e n7cleo# 1#,#4# T*cnicas de programacin declarativa# 1#,#4#1# A'ora sF $)u* significa declarativo+ 1#,#4#2# %omputacin iterativa 1#,#4#,# %omputacin recursiva 1#,#4#4# 8rogramando recursivamente# 1#,#4#/# 8rogramacin de alto orden# 1#4# 2odelo de computacin imperativa 9la-or =A> 1#4#1# 9l concepto de estado# 1#4#2# 9stado " construccin de sistemas# 1#4#,# 2odelo declarativo con estado e.plcito# 1#4#4# Tipos a-stractos de datos# 1#4#/# Tipos de datos con estado# 1#4#4# 8rogramacin con estado# 1#/# 2odelo de computacin orientado a o-1etos 1#/#1# %lases como tipos a-stractos de datos completos# 1#/#2# %lases como tipos a-stractos de datos incrementales# 1#/#,# 8rogramacin con 'erencia# 1#/#4# ?elacin con otros modelos de computacin# PARTE 2. DISE,O DETALLADO DE SOFT-ARE #2+ %&'()* 2#1#)u* es 320+# Algo de 'istoria " concepto general# 2#2# A-1etivos de 320# 2#,# 0as unidades del lengua1e en 320# 2#4# Ar&uitectura de 2etamodelo de cuatro capas : Niveles de a-straccin;# 2#/# 9l modelo funcionalF Eista de %asos de 3so# 2#/#1#%onceptos# 2#/#2#>iagramas " sem!ntica# 2#/#,#9specificacin de casos de uso# 2#/#4#9valuacin pr!ctica de competencias en la ela-oracin de modelo funcional# 2#4#9l modelo est!ticoF Eista estructural# 2#4#1#%onceptos# 2#4#2# >iagramas de clases " sem!ntica# 2#4#,# =erencia " estructuras de agregacin# 2#4#4# Asociaciones# 2#4#/# 0a capa de persistencia " su relacin con el modelo est!tico# 2#4#4#2apeo AA??# 8atrones de traduccin desde el modelo de dominio al modelo de persistencia# 2#4#5#?evisin a tecnologas &ue soportan estrategias de mapeo AA??# 2#4#8#9valuacin pr!ctica de competencias en la ela-oracin de modelo est!tico# 2#5#9l modelo din!mico# 2#5#1#%onceptos # 2#5#2# 3nidades del lengua1eF 2!&uinas de estado6 >iagramas de Secuencia6 >iagramas de %omunicacin " >iagramas de Actividad# 2#5#,# 2!&uinas de estado 2#5#,#1#%onceptos# 2#5#,#2# >iagramas " sem!ntica# 2#5#,#,# %u!ndo usar esta vista+ 2#5#4# >iagramas de Secuencia 2#5#4#1# %onceptos# 2#5#4#2#>iagramas " sem!ntica# 2#5#4#,#%u!ndo usar esta vista+ 2#5#/#>iagramas de %omunicacin 2#5#/#1#%onceptos# 2#5#/#2# >iagramas " sem!ntica# 2#5#/#,#%u!ndo usar esta vista+ 2#5#/#4# 0a e&uivalencia sem!ntica entre >iag# >e Secuencia " %ola-oracin# 2#5#4#>iagramas de actividad 2#5#4#1# %onceptos# 2#5#4#2# >iagramas " sem!ntica# 2#5#4#,#%u!ndo usar esta vista+ 2#5#5#9valuacin pr!ctica de competencias en la ela-oracin de modelo din!mico# 9la-or =A> 2#8#8ropuesta de contenidos re&ueridos en un documento de dise(o de software# V. METODOLOGA Se desarrollar!n clases magistrales " conferencias so-re los temas programados en el curso# 0os estudiantes refor@ar!n su comprensin con lecturas t*cnicas facilitadas por el docente de la asignatura :en ingl*s o espa(ol; " de las cuales se 'ar!n los controles de lectura de acuerdo a una programacin esta-lecida para tal fin# As mismo se propondr! un caso de estudio al &ue se aplicar!n las 'erramientas metodolgicas a-ordadas en clase " &ue ser! valorado paulatinamente por el docente como parte de la evaluacin : %on informes de avance; con un 7ltimo informe final " la respectiva entrega del producto# 8ara valorar la capacidad e.plicativa " mane1o de auditorio en presentaciones acad*micas se 'ar! una seleccin de tpicos tecnolgicos6 estos ser!n distri-uidos entre los estudiantes para e.posiciones de m!.imo veinte minutos de duracin# Se podr!n valorar e1ercicios puntuales so-re temas especficos desarrollados en las sesiones de tra-a1o# VI. EVALUACIN 0ecturasF ,GH 9.posicionesF ,GH 91ercicios 8untualesF 1GH 8ro"ecto de cursoF ,GH VII. BIBLIOGRAFA B.SICA 8ressman< ?oger S# IIngeniera del Software# 3n 9nfo&ue 8r!cticoJ# Se.ta 9dicin# 2c# Kraw =ill# 2GG4# 8fleeger6 S'ari 0awrence# IIngeniera de software# Teora " pr!cticaJ# 8rentice =all# 8rimera 9dicin# 2GG2 Leit@enfeld6 Alfredo# IIngeniera de Software Arientada a A-1etos con 3206 MAEA e InternetJ# T'omson# 2GG/# Fowler6 Nendall< Scott6 Nendall< I320 Kota a KotaJ# Addison Lesle" 0ongman#6 8earson " 8rentice =all# 1OOO A2K Kroup# I3nified 2odeling 0anguageF Superstructure# Eersion 2#GJ# Acto-er6 2GG4 A2K Kroup# I320 2#G Infrastructure Specification# Eersion 2#GJ# Septiem-re6 2GG, Bass6 0en< %lements 8aul< Na@man ?icP# I Software Arc'itecture in 8racticeJ# Addison Lesle"# 2GG2 8eter Ean ?o" and Seif =aridi# %oncepts6Tec'ni&ues and 2odels of %omputer 8rogramming# 2IT 8ress6 2GG4# %omputer Science =and-ooP# Second 9dition# 9ditorin Q%'ief Allen B# TucPer# %'apmanR=allS%?% in cooperation wit' A%2# 2GG4# Fowler6 2artin et al# I8atterns of 9nterprise Application Arc'itectureJ# AddisonLesle"# 2GG, VIII. RECURSOS Sala o saln de conferencias 9la-or =A> =erramienta de modelado conforme a 320 2#. Eideo-eam " computador personal# Acceso a Internet# Te.tos t*cnicos so-re Ingeniera de Software# Acceso a -i-liotecas digitales " con formato convencional : 8asta dura;# Am-iente de programacin 2o@art =erramientas de programacin orientada a o-1etos# I/. AREAS RELACIONADAS 1# An!lisis " dise(o de sistemas de informacin 2# 8rogramacin ,# Ingeniera L9B 4# Bases de datos /# Auditora de sistemas 4# Inteligencia Artificial 5# Sistemas de tiempo real 8# Kestin de pro"ectos 9la-or =A>