ingeniería en sistemas de...
TRANSCRIPT
Universidad Tecnológica Nacional Facultad Regional
San Francisco
Ingeniería en Sistemas de Información
Construcción de Software
PLANIFICACIÓN CICLO LECTIVO
2016
Ingeniería en Sistemas de Información Construcción de Software
Página 2 de 20
ÍNDICE
ÍNDICE .............................................................................................................................................. 2
PROFESIONAL DOCENTEACARGO .......................................................................................... 3
UBICACIÓN ...................................................................................................................................... 4
OBJETIVOS ...................................................................................................................................... 5
ORGANIZACIÓNDECONTENIDOS ............................................................................................ 6
PROGRAMAANALÍTICO .............................................................................................................. 8
CRITERIOSDEEVALUACIÓN .....................................................................................................10
EVALUACIÓN ..................................................................................................................................10
AUTOEVALUACIÓN .........................................................................................................................10
PLANDETRABAJO ........................................................................................................................11
METODOLOGÍA ............................................................................................................................12
BIBLIOGRAFÍA ..............................................................................................................................13
ARTICULACIÓN ............................................................................................................................14
ARTICULACIÓN CONELÁREA ..........................................................................................................14
TEMAS RELACIONADOS CON MATERIASDELÁREA ...........................................................................15
ARTICULACIÓN CONELNIVEL .........................................................................................................16 TEMAS RELACIONADOS CON MATERIASDELNIVEL ..........................................................................17
ARTICULACIÓN CONLASCORRELATIVAS .........................................................................................18
TEMAS RELACIONADOS CONLASCORRELATIVAS .............................................................................19
ORIENTACIÓN ...............................................................................................................................20
DELÁREA .......................................................................................................................................20 DE LAASIGNATURA ........................................................................................................................20
Ingeniería en Sistemas de Información Construcción de Software
Página 3 de 20
PROFESIONAL DOCENTE A CARGO
Docente Categoría Título Profesional
Calorio, Adrián José Adjunto interino simple Ingeniero en Sistemas de Información
Ingeniería en Sistemas de Información Construcción de Software
Página 4 de 20
UBICACIÓN
Dentro del contexto curricular prescripto se ubica en:
Carrera: Ingeniería en Sistemas de Información Plan: 2008
Orientación: Ingeniería de Software Área: Programación Nivel: Tercero
Carga Horaria Semanal: 8 Régimen: Cuatrimestral
Distribución horaria
Formación
Total de
horas
Teórica Práctica
Teoría
Práctica
Laboratorio
Formación
experimental
Resolución de
problemas de
Ingeniería
Proyecto y
diseño
Práctica profesional supervisada
64 64 128
Ingeniería en Sistemas de Información Construcción de Software
Página 5 de 20
OBJETIVOS
Se espera que el alumno logre:
Escribir código con buenas costumbres deprogramación.
Saber distinguir entre código de calidad y códigoamateur.
Adquirir y evaluar conceptos tales como la programación defensiva y ocultamiento deinformación.
Asumir la importancia de programar pensando en la calidad del códigofuente.
Comprender la necesidad de ser disciplinado en la programación de software y en el uso de susherramientas.
Ingeniería en Sistemas de Información Construcción de Software
Página 6 de 20
ORGANIZACIÓN DE CONTENIDOS
Prerrequisitos de la construcción Contenidos Conceptuales: Introducción a los prerrequisitos de
la construcción de software. Necesidad de los distintos prerrequisitos.
Contenidos Procedimentales: Identificación de los elementos fundamentales a tener en cuenta en cadaprerrequisito.
Contenidos Actitudinales: Despertar la inquietud de que existen ciertas necesidades a cumplir con calidad antes de comenzar acodificar.
Diseño Contenidos Conceptuales: Pasos en la construcción de una
rutina. Herramientas a utilizar. Principios a aplicar en la codificación. Características de rutinas de altacalidad.
Contenidos Procedimentales: Pseudocodio. Buenos nombres de rutinas. Programación defensiva. Utilización de parámetros. Módulos con buenascostumbres.
Contenidos Actitudinales: Que el alumno utilice herramientas de diseño que ayuden a la calidad del código. Que el alumno valore la importancia de los buenos nombres derutinas.
Datos Contenidos Conceptuales: Tipos de datos. Principios autilizar
en la creación de variables. Convenciones paranombres.
Contenidos Procedimentales: Creación de tipos de datos. Tipos e Inicialización de variables. Elección de un buen nombre de variable. Creación de convenciones paranombres.
Contenidos Actitudinales: Que el alumno valore la importancia de los buenos nombres de variables, como así también el uso de las variables adecuadas a cadacaso.
Control Contenidos Conceptuales: Estructuras de control.
Organización del código. Estructuras de control inusuales. Expresionesbooleanas.
Contenidos Procedimentales: Buenas formas de utilización de las distintas estructuras de control. Domesticación de los anidamientos profundos. Reducción de la complejidad en las expresionesbooleanas.
Contenidos Actitudinales: Que el alumno haga un buen uso de las distintas estructuras decontrol.
Ingeniería en Sistemas de Información Construcción de Software
Página 7 de 20
Consideraciones constantes Contenidos Conceptuales: El estilo de programación como
documentación del código. Técnicas para comentarios. Como el tamaño del código afecta a laconstrucción.
Contenidos Procedimentales: Claves para comentarios efectivos. Tipos y estilos de comentarios. Efectos del tamaño sobre las actividades de desarrollo y sobre loserrores.
Contenidos Actitudinales: Que el alumno asuma la importancia de los buenos comentarios en elcódigo.
Mejorar la calidad Contenidos Conceptuales: Características de la calidad del
software. Técnicas para mejorar la calidad del software. Revisiones.Inspecciones.
Contenidos Procedimentales: Comparación de las distintas técnicas de calidad. Identificación de los pasos involucrados en las revisiones e inspecciones como así también de los actoresinvolucrados.
Contenidos Actitudinales: Que el alumno tenga una visión general sobre las distintas técnicas de control de la calidad del código y la importancia de suaplicación.
Ingeniería en Sistemas de Información Construcción de Software
Página 8 de 20
PROGRAMA ANALÍTICO
Eje TemáticoNº1: Prerrequisitos de laconstrucción
Introducción. Prerrequisito de la definición del problema. Prerrequisito de los requerimientos. Prerrequisito de la arquitectura. Prerrequisito de la elección del lenguaje de programación. Convenciones de programación.
Eje TemáticoNº2: Diseño
Rutinas Pasos en la construcción de una rutina. PDL. Diseño de la rutina. Codificación de la rutina. Características de rutinas de alta calidad. Razones para crear una rutina. Buenos nombres de rutinas. Cohesión y acoplamiento de rutinas. Longitud de una rutina. Programación defensiva. Utilización de parámetros.
Módulos Cohesión y acoplamiento de módulos. Ocultamiento de información. Razones para crear módulos.
Eje TemáticoNº3: Datos
Creación de tipos de datos. Tipos de datos enumerados. Guías para la inicialización de datos. Consideraciones en la elección de nombres de variables. Temas generales sobre el uso de variables. Variables globales.
Eje TemáticoNº4: Control
Organización de código lineal. Uso de condicionales. Sentencias If. Sentencias CASE. Selección del tipo de bucle. Control del bucle. Estructuras de control inusuales. Expresiones booleanas. Bloques de sentencias. Domesticar los anidamientos profundos. Estructuras de control y complejidad.
Eje TemáticoNº5: Consideracionesconstantes
Documentación delcódigo Código autodocumentado. El estilo de programación como documentación. Claves para comentarios efectivos. Técnicas para comentarios.
Tamaño del programa Como el tamaño del programa afecta a la construcción. Efecto del tamaño del proyecto sobre las actividades de desarrollo. Efecto del tamaño del proyecto sobre los errores.
Ingeniería en Sistemas de Información Construcción de Software
Página 9 de 20
Eje TemáticoNº6: Mejorar lacalidad
Características de la calidad del software. Técnicas para mejorar la calidad del software. Efectividad relativa de las técnicas. Revisiones. El papel de las revisiones en la calidad del software. Inspecciones. Otros tipos de revisiones.
Ingeniería en Sistemas de Información Construcción de Software
Página 10 de 20
CRITERIOS DE EVALUACIÓN
Evaluación: Se realizará el seguimiento y evaluación de los alumnos a través de la
asistencia a clases, presentación y aprobación de los trabajos prácticos.
La condición de alumno regular será alcanzada con la realización y aprobación de los trabajos prácticos encomendados y la asistencia mínima exigida.
Autoevaluación:
Será realizada utilizando el instrumento elaborado desde Secretaría Académica y aprobado por Consejo Académico.
Ingeniería en Sistemas de Información Construcción de Software
Página 11 de 20
PLAN DE TRABAJO
Eje temático Nº 1: Prerrequisitos de la construcción
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
1 y 2
Unidad 1
Clase
Interrogación
Aulataller
Análisis de casos
Seguimiento
Comprensión de conocimientos
Cuestionario
Conceptual
- MCCONELL (Code Complete)
Eje temático Nº 2: Diseño
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
3 a 5 Unidad 2:Rutinas
Unidad 3:Módulos
Clase
Interrogación
Aulataller
Seguimiento
Comprensión de conocimientos
Cuestionario
Conceptual
Práctico
-MCCONELL (Code Complete)
-MCCONELL (Code Complete 2)
Eje temático Nº 3: Datos
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
De 6 a 9
Unidad 4
Clase
Interrogación
Aulataller
Seguimiento
Comprensión de conocimientos
Cuestionario
Conceptual
Práctico
-MCCONELL (Code Complete)
-MCCONELL (Code Complete 2)
Eje temático Nº 4: Control
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
10 y 11
Unidad 5
Clase
Interrogación
Aulataller
Seguimiento
Comprensión de conocimientos
Cuestionario
Conceptual
Práctico
-MCCONELL (Code Complete)
-MCCONELL (Code Complete 2)
Eje temático Nº 5: Consideraciones constantes
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
De 12 a 14
Unidad 6: Documentación del código
Unidad 7: Tamaño del programa
Clase
Interrogación
Aulataller
Seguimiento
Comprensión de conocimientos
Cuestionario
Conceptual
Práctico
-MCCONELL (Code Complete)
Ingeniería en Sistemas de Información Construcción de Software
Página 12 de 20
Eje temático Nº 6: Mejorar la calidad
Semana Contenidos Metodología Evaluación Nivel de
Profundidad Bibliografía
15 y 16
Unidad 8
Clase
Interrogación
Aulataller
Seguimiento
Comprensión de conocimientos
Cuestionario
Conceptual
Práctico
-MCCONELL (Code Complete)
Ingeniería en Sistemas de Información Construcción de Software
Página 13 de 20
METODOLOGÍA
Clases en aula y en el laboratorio.
Teoría Duración: 4 horas semanales a cargo del profesor.
Tendrán el carácter de teórico-prácticas. En las mismas se impartirán los conocimientos claves del contenido de la
materia, presentando y evaluando buenas costumbres de programación destinadas a lograr código de buena calidad.
Se ejemplificaran los conceptos en diferentes lenguajes de programación (Pascal, C, Ada, Visual Basic, C#)
La teoría será reafirmada mediante la realización de cuestionarios que los alumnos deberán responder en grupo en clase utilizando los conocimientos recién adquiridos y su propia experiencia.
Práctica y laboratorio Duración: 4 horas semanales a cargo del profesor.
En las mismas se impartirán guías de ejercicios grupales. Se codificaran
rutinas y programas en el lenguaje de programación que el alumno considere apropiado (teniendo en cuenta la disponibilidad de lenguajes en el laboratorio).
Trabajos prácticos Se realizarán aplicaciones simples en las cuales el alumno deberá ir
aplicando los conocimientos adquiridos en la teoría y práctica.
Ingeniería en Sistemas de Información Construcción de Software
Página 14 de 20
BIBLIOGRAFÍA
LISTA ALFABÉTICA DE REFERENCIAS
(Bibliográficas y No bibliográficas)
OBLIGATORIA:
MCCONELL, Steve. Code complete: [a practical handbook of software construction].
[1st ed.]
Microsoft Press, 1993.
ISBN: 9781556154843.
(Al 2016: 1 ejemplar/es en Colección UTN)
MCCONELL, Steve. Code complete 2: [a practical handbook of software construction].
2nd ed.
Microsoft Press, 2004.
ISBN: 9780735619678.
(Al 2016: 1 ejemplar/es en Colección UTN)
Ingeniería en Sistemas de Información Construcción de Software
Página 15 de 20
ARTICULACIÓN
Articulación con el Área:
Asignatura Carga Horaria Porcentaje
Construcción de Software 128 17.02 %
Matemática discreta 96 12.77 %
Algoritmos y estructuras de datos 160 21.28 %
Sintaxis y semántica de los lenguajes 128 17.02 %
Paradigmas de programación 112 14.89 %
Gestión de datos 128 17.02 %
Ingeniería en Sistemas de Información Construcción de Software
Página 16 de 20
Temas relacionados con materias del área:
Matemática discreta Tema relacionado
Estructuras de control Unidad 5 – Eje temático Nº 4: Control
Algoritmos y estructuras de datos
Tema relacionado
Tipos de datos Unidad 4 – Eje temático Nº 3: Datos
Estructuras de datos Unidad 4 – Eje temático Nº 3: Datos
Variable puntero ambiente local y global
Unidad 4 – Eje temático Nº 3: Datos
Expresiones condicionales
Unidad 5 – Eje temático Nº 4: Control
Subprogramas Unidad 2: Rutinas y Unidad 3: Módulos – Eje temático Nº 2: Diseño
Sintaxis y semántica de los lenguajes
Tema relacionado
El proceso del desarrollo del software
Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción
Abstracción de datos Unidad 4 – Eje temático Nº 3: Datos
Tipos de datos Unidad 4 – Eje temático Nº 3: Datos
Estructuras de control Unidad 5 – Eje temático Nº 4: Control
Gestión de datos Tema relacionado
Concepto de dato estructurado
Unidad 4 – Eje temático Nº 3: Datos
Ingeniería en Sistemas de Información Construcción de Software
Página 17 de 20
Articulación con el Nivel:
Asignatura Carga Horaria Porcentaje
Construcción de Software 128 21.48
Gestión de datos 128 21.48
Diseño de Sistemas 238 39.93
Ingeniería en Software 102 17.11
Ingeniería en Sistemas de Información Construcción de Software
Página 18 de 20
Temas relacionados con materias del nivel:
Gestión de Datos Tema relacionado
Concepto de dato estructurado
Unidad 4 – Eje temático Nº 3: Datos
Diseño de Sistemas Tema relacionado
Modelos involucrados en la construcción de un sistema
Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción
Carta de estructura Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción
Diseño de interfaces Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción
Ing. En Software Tema relacionado
Convenciones de nombres
Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción Unidad 2 – Eje temático Nº 2: Rutinas Unidad 4 – Eje temático Nº 3: Datos
Estándares de software Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción Unidad 2 – Eje temático Nº 2: Rutinas Unidad 4 – Eje temático Nº 3: Datos
Clasificación de las cualidades del software
Unidad 8 – Eje temático Nº 6: Mejorar la calidad
Ingeniería en Sistemas de Información Construcción de Software
Página 19 de 20
Articulación con las correlativas:
Asignatura Para cursar Para rendir
Cursada Aprobada Aprobada Cursada
Construcción de Software
Análisisde Sistemas
Gestiónde Datos
Algoritmos y Estructura de Datos
Análisisde Sistemas
Gestiónde Datos
Diseñode Sistemas
Ingeniería en Sistemas de Información Construcción de Software
Página 20 de 20
Temas relacionados con las correlativas:
Gestión de Datos Tema relacionado
Concepto de dato estructurado
Unidad 4 – Eje temático Nº 3: Datos
Algoritmos y estructura de datos
Tema relacionado
Tipos de datos Unidad 4 – Eje temático Nº 3: Datos
Estructuras de datos Unidad 4 – Eje temático Nº 3: Datos
Variable puntero ambiente local y global
Unidad 4 – Eje temático Nº 3: Datos
Expresiones condicionales
Unidad 5 – Eje temático Nº 4: Control
Subprogramas Unidad 2: Rutinas y Unidad 3: Módulos – Eje temático Nº 2: Diseño
Análisis de sistemas Tema relacionado
Ciclo de vida Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción
Determinación de requerimientos
Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción
Especificación de procesos
Unidad 2 – Eje temático Nº 2: Rutinas
Diseño arquitectónico Unidad 1 – Eje temático Nº 1: Prerrequisitos de la construcción
Ingeniería en Sistemas de Información Construcción de Software
Página 20 de 20
ORIENTACIÓN
Del Área:
OBJETIVOS:
Los objetivos que persigue el área de programación son formar e informar acerca de metodología, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software y el estudio de disciplinas que permitan crear nuevastecnologías.
ASIGNATURAS DEL ÁREA:
El nuevo material de aprendizaje debe relacionarse significativamente, para integrarse en su estructura cognoscitiva previa, modificándola y produciendo un conocimiento duradero y sólido.
Si se producen aprendizajes verdaderamente significativos, se consigue uno de los objetivos principales de la educación: Asegurar la funcionalidad de los aprendido.
Es necesario encarar lo teórico-práctico como forma de generación de conocimiento, considerando dicha práctica como praxis y no como aplicación.
De la Asignatura:
Introducir en el análisis y la evaluación de buenos costumbres de programación.