ISA-ES REV00
INGENIERÍA EN INFORMÁTICA INGENIERÍA DE SOFTWARE APLICADA
DIRECTORIO Dr. José Ángel Córdova Villalobos Secretario de Educación Pública Dr. Rodolfo Tuirán Gutiérrez Subsecretario de Educación Superior Mtra. Sayonara Vargas Rodríguez Coordinadora de Universidades Politécnicas
II
PÁGINA LEGAL Participantes Mtra. Rebeca Rodríguez Huesca – Universidad Politécnica de Puebla Mtro. Pedro Vargas García – Universidad Politécnica de Puebla
Primera Edición: 2012 DR 2012Coordinación de Universidades Politécnicas. Número de registro: México, D.F. ISBN-----------------
III
ÍNDICE
INTRODUCCIÓN ............................................................................................................................................ 1 PROGRAMA DE ESTUDIOS .......................................................................................................................... 4 FICHA TÉCNICA ............................................................................................................................................. 5 DESARROLLO DE LAS ACTIVIDAD DE APRENDIZAJE Y PRÁCTICAS ........................................................ 7 INSTRUMENTOS DE EVALUACIÓN............................................................................................................. 13 GLOSARIO ................................................................................................................................................... 27 BIBLIOGRAFÍA ............................................................................................................................................ 38
IV
INTRODUCCIÓN En los últimos años hemos asistido a un enorme crecimiento de la demanda de software, que se ha venido aplicando en la resolución de tareas cada vez más complejas y de mayor valor añadido. En estas circunstancias, una pregunta que nos podemos hacer es la siguiente: ¿la industria del software está preparada para desarrollar el software que se necesita en los próximos años, con los niveles de calidad que se requieren? Según muchas fuentes, desgraciadamente, la respuesta es no. El proceso de desarrollo de software dista de ser un proceso maduro, y actualmente existe un consenso cada vez mayor en la industria en que el desarrollo de un producto tan complejo como el software debe ser realizado mediante un auténtico proceso de ingeniería (la ingeniería del software), que permita predecir de forma efectiva los niveles de calidad del producto software realizado. El desarrollo de software “artesanal” ha demostrado repetidamente no funcionar en proyectos de todo tipo, especialmente medianos y grandes. Los fracasos de proyectos de desarrollo de software lo atestiguan. Parece necesario, por tanto, acometer el desarrollo de software utilizando una visión de ingeniería. A partir de lo dicho anteriormente pensamos que para un alumno que se dedique al desarrollo de software en su carrera profesional, conocer los conceptos básicos de la ingeniería del software es fundamental. El futuro profesional debería ser capaz de seleccionar las notaciones, técnicas, modelos y métodos de desarrollo de software que mejor se adaptaran a un contexto de desarrollo determinado. Las organizaciones de hoy no pueden permanecer ajenas a los nuevos fenómenos como: el Internet, el desarrollo de la tecnología del hardware y la evolución del software, elementos que se constituyen en piezas fundamentales para su desarrollo, permiten incrementar su productividad, ser más competitivos y mejorar el funcionamiento del área de sistemas. Para asumir el reto del desarrollo tecnológico, es necesario contar con un recurso humano capacitado, es por ello que se debe capacitar al alumno que trabaje en el área de construcción de software a desempeñar exitosamente esta labor, mediante el uso apropiado de nuevas tecnologías de la Ingeniería del software que permitan desarrollar productos de calidad y que puedan competir en el mercado.
1
La industria del software en su creciente y decidida penetración en todos los aspectos de los negocios y procesos de las organizaciones modernas, es una de las realidades tangibles que la sociedad, particularmente del siglo XXI, observa con inquietante y curioso análisis. Si bien, la necesidad de generar mejores soluciones sistematizadas, que aumenten la efectividad de las acciones corporativas y den mayor valor agregado a sus clientes, se contrasta con las presiones e implicaciones que esto lleva en el desarrollo mismo de dichas soluciones. En este sentido, el balancear la necesidad de obtener un producto de software de óptima calidad que permita a la organización adelantar con oportunidad y alto contenido estratégico sus directrices de negocio, enfrenta un doble desafío para los dedicados a la programación y construcción de los sistemas de información de las organizaciones, así como para los clientes de los mencionados sistemas. Por un lado, todas las variables asociadas con la administración del proyecto en sí mismo, las cuales imprimen una importante complejidad al desarrollo de soluciones informáticas, y en segundo lugar, los altos estándares de aseguramiento de la calidad del desarrollo de software. En esta encrucijada de formalidad administrativa y técnica, la construcción de sistemas de información ofrece un desafío práctico para las nuevas generaciones de programadores y administradores de proyectos informáticos, y una especial atención de los experimentados ingenieros de software para contextualizar sus aprendizajes en elementos conceptuales y formales que alimenten la práctica de la creación de software. Corresponde a una necesidad evidente de nuestra sociedad de contar con profesionales altamente calificados en el área de la Ingeniería de Software. A diferencia del programador, el Ingeniero de software utiliza sólidos principios de ingeniería y técnicas de dirección en la construcción de software donde se disminuyen los errores a través de la prevención de los defectos en lugar de la corrección, su ciclo de desarrollo y se asegura una larga duración en la utilización del mismo sin tener que reprogramar. Esto se traduce en beneficios económicos Actualmente en este mundo de creciente globalización y competencia la empresas requiere que los ingenieros de software profesionales tengan que producir productos rápidamente y lograr ciclos de entregas cortos, Para esto es necesario tener conocimiento de herramientas de tecnología de punta que le ayuden a dar soluciones concretas y sólidas
2
El propósito de este curso es que el alumno sea capaz de utilizar técnicas, métodos y herramientas avanzadas que faciliten el desarrollo de todas las fases del proyecto, asegurando el cumplimiento de estándares de calidad para proporcionar soluciones informáticas cumpliendo con las especificaciones del cliente.
3
PROGRAMA DE ESTUDIOS NOMBRE DEL PROGRAMA EDUCATIVO: OBJETIVO DEL PROGRAMA EDUCATIVO: NOMBRE DE LA ASIGNATURA: CLAVE DE LA ASIGNATURA: OBJETIVO DE LA ASIGNATURA: TOTAL HRS. DEL CUATRIMESTRE: FECHA DE EMISIÓN:
PROGRAMA DE ESTUDIO DATOS GENERALES Ingeniería en Informática Formar ingenieros competentes en la implementación y administración de soluciones de negocios o para la investigación basadas en computadora, con una amplia visión de la ciencia y las nuevas tecnologías de la información, bajo el modelo de educación basado en competencias. Ingeniería de software aplicada ISA-ES El alumno será capaz de utilizar técnicas, métodos y herramientas avanzadas que faciliten el desarrollo de todas las fases del proyecto, asegurando el cumplimiento de estándares de calidad para proporcionar soluciones informáticas cumpliendo con las especificaciones del cliente. 105 Febrero de 2012
UNIVERSIDADES PARTICIPANTES: UPEMOR,UPPuebla, UPSIN, UPVM, UPVT
CONTENIDOS PARA LA FORMACIÓN
ESTRATEGIA DE APRENDIZAJE TECNICAS SUGERIDAS
UNIDADES DE APRENDIZAJE
1. Estimación de costos del software
RESULTADOS DE APRENDIZAJE
Al completar la unidad, el alumno será capaz de: * Realizar estimaciones confiables de duración, esfuerzo y costos de un proyecto de desarrollo de software
EVIDENCIAS
EP1: Reporte de práctica de elaboración de la estimación de costo, duración y esfuerzo requerido para desarrollar un sistema de información. ED1. Presentación de estimación de costos.
PARA LA ENSEÑANZA (PROFESOR)
Estudio de caso, Resolver situaciones problemáticas, Ensayo, foro
PARA EL APRENDIZAJE (ALUMNO)
Aprendizaje basado en problemas, dinámica de grupos
ESPACIO EDUCATIVO
AULA
X
LABORATORIO
X
EVALUACIÓN
MOVILIDAD FORMATIVA
OTRO
X
PROYECTO
X
TOTAL DE HORAS MATERIALES REQUERIDOS
EQUIPOS REQUERIDOS
PRÁCTICA
Práctica: Estimación de costo, duración y esfuerzo
OBSERVACIÓN TEÓRICA Presencial
Material bibliográfico e impreso, marcadores, lapiceros, plumas, borrador, lápices, hojas, cuaderno, carpetas.
Computadora, proyector, pizarrón interactivo, pizarrón.
Material bibliográfico e impreso, marcadores, lapiceros, plumas, borrador, lápices, hojas, cuaderno, carpetas.
Computadora, proyector, pizarrón interactivo, pizarrón.
PRÁCTICA
NO Presencial
Presencial
NO Presencial
TÉCNICA
Documental 8
4
8
8 Campo
2. Reutilización del software
3. Herramientas CASE
4. Tópicos de Ingeniería de Software
Al completar la unidad, el alumno será capaz de: * Implementar sistemas de información utilizando una herramienta CASE
Al completar la unidad, el alumno será capaz de: * Identificar otros enfoques de ingeniería de software para el desarrollo de sistemas de información
EP1: Reporte de práctica de elaboración de partes de un sistema usando una herramienta CASE ED1. Presentación por equipos de la elección de la herramienta CASE
EP1: Elaborar un ensayo exponiendo sus puntos de vista sobre enfoques como cleanroom, reingeniería, ingeniería web, desarrollo basado en componentes y de sistemas críticos. EC1. Cuestionario sobre tópicos de ingeniería de software
Cuadro sinóptico, Cuadro de doble entrada y tablas
Dinámica de grupos, aprendizaje cooperativo
Estudio de caso, Resolver situaciones problemáticas, Ensayo, foro
Aprendizaje basado en problemas, dinámica de grupos
Investigaciones y demostraciones, Ensayo
Dinámica de grupos, aprendizaje cooperativo
X
X
X
N/A
X
N/A
N/A
X
N/A
N/A
N/A
X
Práctica: Programas desarrollados usando una herramienta CASE
Material bibliográfico e impreso, Computadora, marcadores, proyector, pizarrón lapiceros, plumas, interactivo, pizarrón. borrador, lápices, hojas, cuaderno, carpetas, software
N/A
Material bibliográfico e impreso, Computadora, marcadores, proyector, pizarrón lapiceros, plumas, interactivo, pizarrón. borrador, lápices, hojas, cuaderno, carpetas, software
N/A
*Lista de cotejo para reporte de práctica estimación de costo, duración y esfuerzo requerido en el desarrollo de sistemas de información. *Guía de observación para presentación de estimación de costos.
N/A
*Cuestionario guía sobre estimación de costos.
EC1. Resolver cuestionario sobre estimación de costos.
Al completar la unidad, el alumno será capaz de: EP1: Cuadro sinóptico * Identificar las ventajas que trae consigo la con las ventajas de la reutilización durante el desarrollo de reutilización sistemas de información, disminuyendo los costos de desarrollo y mantenimiento
INSTRUMENTO
4
2
4
4
10
5
10
10
Documental
Documental De campo
8
4
8
8
Documental
*Rúbrica para la elaboración de cuadros sinópticos sobre las ventajas de la reutilización
*Lista de cotejo para reporte de práctica donde realiza programas usando una herramienta CASE.
N/A
N/A
*Guía de observación para la presentación de la herramienta CASE seleccionada
*Rúbrica para la elaboración de un ensayo sobre enfoques como cleanroom, reingeniería, ingeniería web, desarrollo basado en componentes y de sistemas críticos.
N/A
*Cuestionario guía sobre tópicos de ingeniería de software.
4
FICHA TÉCNICA INGENIERÍA DE SOFTWARE APLICADA Nombre:
Ingeniería de software aplicada
Clave:
ISA – ES
Justificación:
Proveer al estudiante de una metodología para lograr soluciones informáticas costo-efectivas que permiten desarrollar aplicaciones de software, que se ajunten a las necesidades del cliente, aplicando los principios de la ciencia de la computación y las matemáticas con el propósito de tener más elementos de competitividad y productividad demandados por el sector de la industria del Software.
Objetivo:
El alumno será capaz de utilizar técnicas, métodos y herramientas avanzadas que faciliten el desarrollo de todas las fases del proyecto, asegurando el cumplimiento de estándares de calidad para proporcionar soluciones informáticas cumpliendo con las especificaciones del cliente.
Utilizar sistemas de información mediante tecnologías locales y/o web para eficientar los procesos de la organización. Implantar sistemas de información. Creatividad, confidencialidad, administración de recursos, orden, limpieza, puntualidad, empatía, responsabilidad, trabajo en equipo, liderazgo, honestidad, analítico, comunicación oral y escrita, comprensión del idioma inglés.
Habilidades:
Competencias genéricas a desarrollar:
Análisis y síntesis para: aprender, resolver problemas, aplicar los conocimientos en la práctica y trabajar en forma autónoma y en equipo.
Competencias a las que contribuye la asignatura
Capacidades a desarrollar en la asignatura
Programar sistemas de información usando lenguajes de programación y considerando las características de diseño para automatizar los procesos. Implantar sistemas de información mediante el método consensuado con el cliente para la puesta en marcha del mismo. Evaluar sistemas de información para verificar el cumplimiento de los requisitos del cliente, mediante la metodología de calidad de software.
Desarrollar aplicaciones de software mediante lenguajes especializados para eficientar los procesos de las organizaciones. Desarrollar aplicaciones web mediante lenguajes especializados para eficientar los procesos de las organizaciones
5
Programar sistemas de información usando lenguajes de programación Web y considerando las características de diseño para automatizar los procesos. Implantar sistemas de información mediante la metodología pertinente para sistemas Web, para verificar el cumplimiento de los requisitos del cliente. Evaluar sistemas de información mediante la metodología pertinente para sistemas Web, para verificar el cumplimiento de los requisitos del cliente.
Unidades de aprendizaje Estimación de tiempo (horas) necesario para transmitir el aprendizaje al alumno, por Unidad de Aprendizaje:
HORAS TEORÍA HORAS PRÁCTICA No No Presencial presencial Presencial presencial
Estimación de costos del software
8
4
8
8
Reutilización del software
4
2
4
4
10
5
10
10
8
4
8
8
Herramientas CASE Tópicos de Ingeniería de Software
Total de horas por cuatrimestre: Total de horas por semana: Créditos:
105 7 6
6
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE ESTIMACIÓN DE COSTO, DURACIÓN Y ESFUERZO
Nombre de la asignatura: Nombre de la Unidad de Aprendizaje: Nombre de la práctica: Número:
Ingeniería de software aplicada
I.
Estimación de costos del software
Estimación de costo, duración y esfuerzo 1/2
Duración (horas) :
8
Resultado de aprendizaje:
Realizar estimaciones confiables de duración, esfuerzo y costos de un proyecto de desarrollo de software
Requerimientos (Material o equipo):
Computadora, material bibliográfico impreso, software para desarrollar.
Actividades a desarrollar: Los métodos más utilizados para realizar la estimación se pueden clasificar en 2 grandes grupos: 1. Heurísticos: se basan en las prácticas a través de las cuales los profesionales experimentan y encuentran soluciones a sus problemas más frecuentes. Algunos de estos métodos son: a. Método basado en la experiencia o juicio experto b. Método por analogía c. Método ascendente d. Método descendente e. Método algorítmico 2. Paramétricos: realizan predicción o aproximación al principio del ciclo de vida del volumen del software a entregar. Los más utilizados son: a. COCOMO b. SLIM c. Métodos basados en puntos de función Una vez que se hayan estudiado algunos métodos citados en la clasificación anterior, realizar inicialmente la estimación del tamaño del software para que ésta permita hacer una estimación del costo, duración y esfuerzo requerido para desarrollo un sistema de información basado en computadora. Se recomienda emplear el método de puntos de función con FP Lite. Evidencias a las que contribuye el desarrollo de la práctica: EP1: Reporte de práctica estimación de costo, duración y esfuerzo requerido en el desarrollo de sistemas de información.
7
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE CUESTIONARIO SOBRE ESTIMACIÓN DE COSTOS
Nombre de la asignatura: Nombre de la Unidad de Aprendizaje: Nombre de la actividad de aprendizaje: Número:
Ingeniería de software aplicada
I.
Estimación de costos del software
Cuestionario sobre estimación de costos 2/2
Duración (horas) :
4
Resultado de aprendizaje:
Realizar estimaciones confiables de duración, esfuerzo y costos de un proyecto de desarrollo de software
Requerimientos (Material o equipo):
Computadora, proyector, pizarrón interactivo, material impreso o bibliográfico.
Actividades a desarrollar: Una vez que se hayan estudiado los métodos para la estimación de costos, duración de proyecto y personas involucradas, resolver el cuestionario relacionado a esos aspectos Evidencias a las que contribuye el desarrollo de la práctica: EC1. Cuestionario sobre estimación de costos.
8
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE CUADRO SINÓPTICO CON LAS VENTAJAS DE LA REUTILIZACIÓN
Nombre de la asignatura: Nombre de la Unidad de Aprendizaje: Nombre de la actividad de aprendizaje: Número:
Ingeniería de software aplicada
II.
Reutilización del software
Cuadro sinóptico con las ventajas de la reutilización 1/1
Duración (horas) :
4
Resultado de aprendizaje:
Identificar las ventajas que trae consigo la reutilización durante el desarrollo de sistemas de información, disminuyendo los costos de desarrollo y mantenimiento
Requerimientos (Material o equipo):
Computadora, material impreso o bibliográfico.
Actividades a desarrollar: La Reutilización de Software aparece como una alternativa para desarrollar aplicaciones y sistemas SW de una manera más eficiente, productiva y rápida. La idea es reutilizar elementos y componentes de SW en lugar de tener que desarrollarlos desde el principio. El entorno que debe apoyar la reutilización debe incluir los siguientes elementos: Una base de datos de componentes Un sistema de gestión de bibliotecas mediante el cual se pueda accesar a la base de datos Un sistema de recuperación de componentes Herramientas de ISBC (ingeniería de software basada en componentes) que apoyen la integración de los componentes reutilizados en un nuevo diseño o implementación. Una vez que se ha estudiado los tipos de reutilización, realizar un cuadro sinóptico donde se pueden distinguir las ventajas de trae consigo el desarrollo de un sistema basándose en la reutilización. Evidencias a las que contribuye el desarrollo de la unidad de aprendizaje: EP1: Cuadro sinóptico con las ventajas de la reutilización
9
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE PROGRAMAS DESARROLLADOS USANDO UNA HERRAMIENTA CASE
Nombre de la asignatura: Nombre de la Unidad de Aprendizaje: Nombre de la práctica: Número: Resultado de aprendizaje: Requerimientos (Material o equipo):
Ingeniería de software aplicada
III.
Herramientas CASE Programas desarrollados usando una herramienta CASE 1/1
Duración (horas) :
6
Implementar sistemas de información utilizando una herramienta CASE. Computadora, material impreso o bibliográfico.
Actividades a desarrollar: El objetivo de la tecnología CASE es automatizar el desarrollo de software, incrementando la productividad del equipo de desarrollo y mejorando la calidad del software. Algunas características deseables de una herramienta CASE son: Soporte multiusuario. Personalización. Control de documentos y versiones. Gestión de proyectos Estadísticas de productividad y métricas del software. Pruebas. Simulación y prototipado. Demostración corrección de especificaciones y/o software. Generación de código. De acuerdo con la etapa durante el proceso de desarrollo en que se pueden utilizar dichas herramientas se pueden clasificar en: CASE frontales (frontend) o UpperCASE: Herramientas de apoyo a las primeras fases (Análisis, diseño) CASE dorsales(back end) o LowerCASE: Herramientas de apoyo a las últimas fases (Implementación, generación de código, pruebas y mantenimiento) ICASE(Integrated CASE): contemplan todo el ciclo de vida de desarrollo Utilizar las herramientas CASE adecuadas para implementar programas pequeños Evidencias a las que contribuye el desarrollo de la práctica: EP1: Reporte de práctica donde realiza programas usando una herramienta CASE
10
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE ENSAYO SOBRE TOPICOS DE INGENIERÍA DE SOFTWARE
Nombre de la asignatura: Nombre de la Unidad de Aprendizaje: Nombre de la actividad de aprendizaje: Número:
Ingeniería de software aplicada
IV.
Tópicos de Ingeniería de Software
Ensayo sobre tópicos de ingeniería de software 1/2
Duración (horas) :
6
Resultado de Identificar otros enfoques de ingeniería de software para el desarrollo de aprendizaje: sistemas de información. Requerimientos (Material Computadora, material impreso o bibliográfico. o equipo): Actividades a desarrollar: Leer artículos relacionados con los siguientes temas: Cleanroom Reingeniería Ingeniería web Desarrollo basado en componentes Sistemas críticos Elaborar un ensayo de alguno de los temas propuestos, el cual debe considerar al menos los siguientes elementos: Introducción El contenido debe ser relevante al tema y estructurarse correctamente Incluir aportaciones propias sobre el tema Conclusiones Evidencias a las que contribuye el desarrollo de la práctica: EP1: Elaborar un ensayo sobre enfoques como cleanroom, reingeniería, ingeniería web, desarrollo basado en componentes y de sistemas críticos.
11
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE CUESTIONARIO SOBRE TÓPICOS DE INGENIERÍA DE SOFTWARE
Nombre de la asignatura: Nombre de la Unidad de Aprendizaje: Nombre de la actividad de aprendizaje: Número: Resultado de aprendizaje: Requerimientos (Material o equipo):
Ingeniería de software aplicada
IV.
Tópicos de Ingeniería de Software
Cuestionario sobre tópicos de ingeniería de software 2/2
Duración (horas) :
3
Identificar otros enfoques de ingeniería de software para el desarrollo de sistemas de información. Computadora, material impreso o bibliográfico
Actividades a desarrollar: Una vez que se hayan analizado tópicos como cleanroom, reingeniería, ingeniería web, desarrollo basado en componentes y de sistemas críticos, resolver el cuestionario relacionado a esos aspectos. Evidencias a las que contribuye el desarrollo de la práctica: EC1. Cuestionario guía sobre tópicos de ingeniería de software.
12
13
LISTA DE COTEJO PARA REPORTE DE PRÁCTICA ESTIMACIÓN DE COSTO, DURACIÓN Y ESFUERZO REQUERIDO EN EL DESARROLLO
Logotipo de la Universidad
DE SISTEMAS DE INFORMACIÓN
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula:
Firma del alumno(s): Fecha:
Producto: Asignatura:
Periodo cuatrimestral:
Nombre del Profesor:
Firma del Profesor: INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer comentarios referentes a lo observado. Valor del reactivo
CUMPLE
Característica a cumplir (Reactivo)
SI
5%
Desempeño. Entrega la evidencia a tiempo, con orden, limpieza sin errores de ortografía.
10%
Notación. Utiliza el método seleccionado.
50%
Eficacia: La estimación de costo, esfuerzo y duración se hace de acuerdo con el tamaño del software
20%
Estructura. Divide el sistema en funciones manejables de manera que sea más fácil realizar la estimación
15%
Documentación: Documenta la forma en cómo se obtuvo cada una de las estimaciones.
100% NOTAS: -
NO
NA
OBSERVACIONES
CALIFICACIÓN: Los reactivos sombreados deberán ser cumplidos obligatoriamente para que se considere aprobada la evidencia.
14
GUÍA DE OBSERVACIÓN PARA PRESENTACIÓN DE ESTIMACIÓN DE COSTOS
Logotipo de la Universidad
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula:
Firma del alumno(s): Fecha:
Producto: Asignatura:
Periodo cuatrimestral:
Nombre del Profesor:
Firma del Profesor:
INSTRUCCIONES: Anote en el cuadro correspondiente el número que se ajuste a la percepción que se tiene del trabajo realizado. 1. No competente 2. Básico umbral 3. Básico Avanzado 4. Independiente 5. Competente No. 1 2
3 4 5 6 7 8
Acciones a Evaluar
Ponderación
Observaciones
Presentación El alumno presenta su equipo y/o a sí mismo Presenta el tema y/o ejercicio de su exposición Participación Los participantes motivan al resto del grupo generando un ambiente de entusiasmo por el aprendizaje Comparten su experiencia concentrándose en el tema Los participantes responden las preguntas del grupo enfocando sus comentarios al tema abordado Los participantes responden las preguntas del facilitador Transmiten las ideas de forma concreta Predomina la participación de un estudiante y no del grupo
15
9 10 11 12
Técnica Realiza la estimación de costo, duración y esfuerzo de acuerdo con la estimación del tamaño Presentaron conclusiones de su exposición Desempeño Seleccionaron el método de estimación de acuerdo con el problema y lo justifican Se organizaron el o los participantes
16
CUESTIONARIO GUÍA SOBRE ESTIMACIÓN DE COSTOS
Logotipo de la Universidad
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula:
Producto:
Firma del alumno(s): Fecha:
Asignatura:
Periodo cuatrimestral:
Nombre del Profesor:
Firma del Profesor:
INSTRUCCIONES: Contesta correctamente las siguientes preguntas: 1. ¿Por qué es importante estimar? 2. ¿Cuándo es el momento indicado para llevar a cabo la estimación? 3. ¿Menciona 3 métodos heurísticos de estimación? 4. Explica uno de los métodos paramétricos 5. Menciona una ventaja y una desventaja de los métodos heurísticos y de los métodos paramétricos
17
RÚBRICA PARA LA ELABORACIÓN DE CUADROS SINÓPTICOS SOBRE LAS VENTAJAS DE LA REUTILIZACIÓN
Logotipo de la Universidad
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula:
Firma del alumno(s):
Producto:
Fecha:
Asignatura:
Periodo cuatrimestral:
Nombre del Profesor:
Firma del Profesor: INSTRUCCIONES
Revisar los criterios que se solicitan y asignar el nivel de competencia logrado por el estudiante, posteriormente ponderarlo de acuerdo con los porcentajes asignados a cada criterio
Criterios Presentación 10%
Contenido 50%
Competente 100%
Independiente 90%
La portada incluye: título congruente con el contenido, información del curso y del estudiante, tamaño de los márgenes y de los caracteres, interlineado apropiado
La portada incluye dos de los siguientes requisitos: título congruente con el contenido ,información del curso y del estudiante, tamaño de los márgenes y de los caracteres, interlineado apropiado
Básico Avanzado 80% La portada no incluye: título congruente con el contenido, pero si tiene información del curso y del estudiante, tamaño de los márgenes y de los caracteres, interlineado apropiado.
Todas las ideas (idea general, idea principal, idea complementaria) que se presentan tienen relación directa con el tema, siendo objetivas. Además presenta ejemplos
Casi todas las ideas idea (general, idea principal) que se presentan tienen relación directa con el tema siendo objetivas. Además presenta ejemplos
Tanto la idea general, como la principal tienen relación con el tema, pero la idea complementaria aborda escasamente el tema Presenta pocos ejemplos
Umbral Básico 70% La portada no incluye: título congruente con el contenido, ni tamaño de los márgenes y de los caracteres, interlineado solicitado, pero si tiene información del curso y del estudiante. La idea principal tiene relación con el tema, pero la idea general y complementaria abordan escasamente el tema No presenta ejemplos
No competente La portada no incluye ninguno de los requisitos.
Ninguna de las ideas abordan el tema y no presenta ejemplos
18
Criterios Ortografía redacción 15%
Representación gráfica 15%
Bibliografía 10%
Competente 100% y No tiene errores de ortografía, acentuación o de conjugación de verbos y tiene excelente estilo de redacción Los colores permiten leer el texto y se muestra la relación esquemática entre los contenidos Las fuentes de información son variadas (al menos 5). Las fuentes son confiables (aceptadas dentro de la especialidad) y contribuyen al desarrollo del tema
Independiente 90% Tiene muy pocos errores ortográficos, de acentuación o conjugación de verbos. (máximo 3), y tiene estilo bueno de redacción Los colores permiten leer el texto, aunque no hace una buena combinación; y se muestra la relación esquemática entre los contenidos
Las fuentes de información son variadas (al menos 4), confiables y contribuyen al desarrollo del tema
Básico Avanzado 80%
Umbral Básico 70% No sigue ninguna regla Tiene muchos errores de ortografía y tiene ortográficos, de acentuación muy poco orden lógico o conjugación de verbos y cierto orden lógico Los colores permiten leer el texto, aunque la combinación no es apropiada y se muestra alguna relación esquemática entre los contenidos Las fuentes de información son variadas(al menos 3), de las cuales una no es confiable y contribuye al desarrollo del tema
No competente No sigue ninguna regla de ortografía y no tiene orden lógico
Los colores elegidos no son adecuados y no se muestra la relación esquemática entre los contenidos
Los colores no permiten la lectura del texto y no se muestra la relación esquemática entre los contenidos
Las fuentes de información son limitadas o poco variadas (al menos 2), de las cuales una no es confiable por lo que no contribuyen al desarrollo del tema
No presenta fuentes de información
19
LISTA DE COTEJO PARA REPORTE DE
Logotipo de la Universidad
PRÁCTICA DONDE REALIZA PROGRAMAS USANDO UNA HERRAMIENTA CASE
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula:
Firma del alumno(s):
Producto:
Fecha:
Asignatura:
Periodo cuatrimestral:
Nombre del Profesor:
Firma del Profesor: INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer comentarios referentes a lo observado. Valor del reactivo
CUMPLE
Característica a cumplir (Reactivo)
SI
5%
Desempeño. Entrega la evidencia a tiempo, con orden, limpieza sin errores de ortografía
10%
Notación. Utiliza los estructuras de control indicadas
50%
Eficacia: resuelve el problema utilizando las herramientas indicadas, de manera que el programa obtenga los resultados esperados
20%
Estructura. Divide los programas en funciones manejables y que puedan utilizarse en varias secciones del programa
15%
Documentación: Documenta el programa utilizando comentarios de prólogo y descriptivos por bloques de código
100.% NOTAS: -
NO
NA
OBSERVACIONES
CALIFICACIÓN: Los reactivos sombreados deberán ser cumplidos obligatoriamente para que se considere aprobada la evidencia.
20
GUÍA DE OBSERVACIÓN PARA PRESENTACIÓN DE LA HERRAMIENTA CASE SELECCIONADA
Logotipo de la Universidad
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula:
Firma del alumno(s): Fecha:
Producto: Asignatura:
Periodo cuatrimestral:
Nombre del Profesor:
Firma del Profesor:
INSTRUCCIONES: Anote en el cuadro correspondiente el número que se ajuste a la percepción que se tiene del trabajo realizado. 1. No competente 2. Básico umbral 3. Básico Avanzado 4. Independiente 5. Competente No. 1 2
3 4 5 6 7
Acciones a Evaluar
Ponderación
Observaciones
Presentación El alumno presenta su equipo y/o a sí mismo Presenta el tema y/o ejercicio de su exposición Participación Los participantes motivan al resto del grupo generando un ambiente de entusiasmo por el aprendizaje Comparten su experiencia concentrándose en el tema Los participantes responden las preguntas del grupo enfocando sus comentarios al tema abordado Los participantes responden las preguntas del facilitador Transmiten las ideas de forma concreta
21
8
9 10 11 12
Predomina la participación de un estudiante y no del grupo Técnica Se utilizan diversas herramientas CASE de acuerdo con el problema a resolver Presentaron conclusiones de su exposición Desempeño Seleccionaron las herramientas de acuerdo con el problema La organización del o los participantes fue efectiva para lograr los resultados esperados
22
RÚBRICA PARA LA ELABORACIÓN DE UN ENSAYO SOBRE ENFOQUES COMO CLEANROOM, REINGENIERÍA, INGENIERÍA WEB, DESARROLLO
Logotipo de la Universidad
BASADO EN COMPONENTES Y DE SISTEMAS CRÍTICOS DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula:
Firma del alumno(s):
Producto:
Fecha:
Asignatura:
Periodo cuatrimestral:
Nombre del Profesor:
Firma del Profesor: INSTRUCCIONES
Revisar los criterios que se solicitan y asignar el nivel de competencia logrado por el estudiante, posteriormente ponderarlo de acuerdo con los porcentajes asignados a cada criterio
Criterios Presentación 5%
Competente 100%
Independiente 90%
Básico Avanzado 80% La portada no incluye: La portada incluye: título La portada incluye dos de los título congruente con el congruente con el siguientes requisitos: título contenido, pero si tiene contenido, información congruente con el contenido, información del curso y del curso y del estudiante, información del curso y del del estudiante, tamaño tamaño de los márgenes y estudiante, tamaño de los de los márgenes y de los de los caracteres, márgenes y de los caracteres, caracteres, interlineado interlineado apropiado interlineado apropiado apropiado.
Umbral Básico No competente 70% La portada no incluye: título La portada no congruente con el incluye ninguno contenido, ni tamaño de los de los requisitos. márgenes y de los caracteres, interlineado solicitado, pero si tiene información del curso y del estudiante.
23
Criterios Introducción 10%
Competente 100% El párrafo introductorio tiene un elemento apropiado que atrae la atención de la audiencia. Esto puede ser una afirmación fuerte, una cita relevante, una estadística o una pregunta dirigida al lector
Enfoque principal La idea principal nombra 10% el tema del ensayo y esquematiza los puntos principales a discutir Argumentación 30%
Secuencia y conectores 15%
Incluye 2 o más elementos de evidencia (hechos, estadísticas, ejemplos, experiencias de la vida real) que apoyan la opinión del autor. El escritor anticipa las preocupaciones, prejuicios o argumentos del lector y ofrece, por lo menos, un contra argumento
Los argumentos e ideas secundarias están presentados en un orden lógico que hacen que las ideas del autor sean fáciles e interesantes a seguir. Los conectores están muy bien utilizados.
Independiente 90% El párrafo introductorio tiene un elemento que atrae la atención de la audiencia, pero éste es débil, no es directo, es inapropiado para la audiencia
La idea principal nombra el tema del ensayo Incluye 2 elementos de evidencia (hechos, estadísticas, ejemplos, experiencias de la vida real) que apoyan la opinión del autor. El escritor anticipa algunas de las preocupaciones, prejuicios o argumentos del lector y ofrece, por lo menos, un contra argumento
Los argumentos e ideas secundarias están presentados en un orden más o menos lógico, que hace razonablemente fácil seguir las ideas del autor. Los conectores están bien utilizados
Básico Avanzado 80%
Umbral Básico 70% El párrafo introductorio no es interesante y no es El autor tiene un párrafo relevante al tema introductorio interesante, pero no se ve su conexión con el tema central. La idea principal esquematiza algunos o todos los puntos a discutir, pero no menciona el tema Incluye 1 elemento de evidencia (hechos, estadísticas, ejemplos, experiencias de la vida real) que apoyan la opinión del autor. El escritor anticipa pocas de las preocupaciones, prejuicios o argumentos del lector y ofrece, por lo menos, un contra argumento Los argumentos e ideas secundarias están presentados en un orden más o menos lógico, que hace razonablemente fácil seguir las ideas del autor. Los conectores no están bien utilizados
No competente No tiene un párrafo introductorio
La idea principal esquematiza pocos de los puntos a discutir, y no menciona el tema
La idea principal no menciona el tema y ni los puntos a discutir.
Incluye 1 elemento de evidencia (hechos, estadísticas, ejemplos, experiencias de la vida real) que apoyan la opinión del autor. El escritor no anticipa las preocupaciones, prejuicios o argumentos del lector
No incluye elemento de evidencia (hechos, estadísticas, ejemplos, experiencias de la vida real) que apoya la opinión del autor
Algunas de las ideas secundarias o argumentos no están presentados en el orden lógico esperado, lo que distrae al lector y hace que el ensayo sea confuso. Los conectores se utilizan de forma confusa
Muchas de las ideas secundarias o argumentos no están en el orden lógico esperado lo que distrae al lector y hace que el ensayo sea muy confuso. No se utilizan los conectores adecuados
24
Criterios Conclusión 15%
Ortografía y redacción 10%
Bibliografía 5%
Competente 100% La conclusión es fuerte y deja al lector con una idea de la posición del autor. La conclusión empieza con un parafraseo efectivo de la idea principal. No tiene errores de ortografía, acentuación o de conjugación de verbos y tiene excelente estilo de redacción Las fuentes de información son variadas (al menos 5). Las fuentes son confiables (aceptadas dentro de la especialidad) y contribuyen al desarrollo del tema
Independiente 90%
Básico Avanzado 80%
Umbral Básico 70% La posición del autor es La conclusión no es tan La conclusión es evidente. La parafraseada en la evidente. La posición del posición del autor es conclusión, pero no al autor es parafraseada parafraseada en las primeras principio de la misma. sólo en una de las dos oraciones de la oraciones de la conclusión. conclusión. Tiene muy pocos errores ortográficos, de acentuación o conjugación de verbos. (máximo 3), y tiene estilo bueno de redacción
Tiene muchos errores ortográficos, de acentuación o conjugación de verbos y cierto orden lógico
Las fuentes de información son variadas(al menos 4), confiables y contribuyen al desarrollo del tema
Las fuentes de información son variadas(al menos 3), de las cuales una no es confiable y contribuyen escasamente al desarrollo del tema
No competente No hay conclusión. El trabajo simplemente termina
No sigue ninguna regla de ortografía y tiene muy poco orden lógico
No sigue ninguna regla de ortografía y no tiene orden lógico
Las fuentes de información son limitadas o poco variadas (al menos 2), de las cuales una no es confiable por lo que no contribuyen al desarrollo del tema
No presenta fuentes de información
25
CUESTIONARIO GUÍA SOBRE TÓPICOS DE INGENIERÍA DE SOFTWARE
Logotipo de la Universidad
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s):
Matrícula:
Producto:
Firma del alumno(s): Fecha:
Asignatura:
Periodo cuatrimestral:
Nombre del Profesor:
Firma del Profesor:
INSTRUCCIONES: Contesta correctamente las siguientes preguntas: 1. ¿Cuál es la filosofía sobre la cual trabaja cleanroom? 2. ¿Qué tipo de pruebas se aplican en cleanroom? 3. ¿Qué es un proceso de negocios= 4. ¿Cuál es la diferencia entre reingeniería e ingeniería inversa? 5. ¿Qué es un componente de software? 6. ¿Qué caracteriza al proceso ISBC? 7. ¿Es posible aplicar principios, conceptos y métodos de la ingeniería del software al desarrollo web? 8. ¿Existen atributos genéricos que diferencien a las WebApps de las aplicaciones de software convencionales? Menciona al menos 3 9. ¿Cuáles son los 3 tipos de sistemas críticos? Explica las diferencias entre ellos 10. Sugiere 3 razones del por qué se dice que la confiabilidad es la propiedad más importante de los sistemas críticos
26
GLOSARIO A Actor: Un papel específico adoptado por el usuario de una aplicación mientras participa en un caso de uso. Administración del proyecto: Proceso de mantener y administrar las diferentes versiones de los distintos artefactos de un proyecto de software. Agenda: Lista de todas las tareas asociadas con el proyecto específico. Agilidad: La ingeniería de software ágil combina una filosofía y un conjunto de directrices de desarrollo. La filosofía busca la satisfacción del cliente y la entrega temprana del software incremental, equipos de proyecto pequeños y con alta motivación, métodos informales, un mínimo de productos de trabajo. Alcance (de un proyecto): Es la suma total de todos los productos y sus requisitos o características. Se utiliza a veces para representar la totalidad de trabajo necesitado para dar por terminado un proyecto. Análisis de requerimientos: Proceso de obtener una declaración escrita completa de la funcionalidad, apariencia, desempeño y comportamiento que requiere la aplicación. Analista de sistemas: Individuo responsable de investigar, planear, coordinar y recomendar opciones de software y sistemas para cumplir los requerimientos de una empresa de negocios. Aplicación: Tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajo. Árbol de decisión: Diagrama que representa en forma secuencial las condiciones y acciones facilitando la comunicación entre los analistas. Arquitectura del software: Un diseño global de una aplicación que incluye su descomposición en partes.
27
Artefacto: Cualquier tipo de datos, código fuente o información producida o usada por un desarrollador durante el proceso de desarrollo; se usa en particular al describir un proceso de desarrollo de software unificado. Atributo: Variable de una clase como un todo. B C Calidad del software: Es el grado en el que un conjunto de características inherentes cumple con los requisitos Cascada: Proceso de desarrollo de software en el cual primero se recolectan los requerimientos, se desarrolla un diseño, el diseño se convierte en código y después se prueba. Esto se hace en secuencia, con un pequeño traslape entre las etapas sucesivas. CASE (ComputerAided Software Engineering = Ingeniería de Software Asistida por Computadora): Es la aplicación de tecnología informática a las actividades, las técnicas y las metodologías propias de desarrollo, su objetivo es acelerar el proceso para el que han sido diseñadas, en el caso de CASE para automatizar o apoyar una o más fases del ciclo de vida del desarrollo de sistemas. Casos de uso: Secuencia de acciones, algunas realizadas por una aplicación y otras por el usuario, que son comunes al usar la aplicación; el usuario tiene un papel particular en esta interacción y recibe el nombre de “actor” respecto al caso de eso. Ciclo de vida: Describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados. Cleanroom: Es el método de copiar un diseño de ingeniería inversa y luego volver a crearlo sin infringir ningún derecho de los derechos de autor y secretos comerciales relacionados con el diseño original.
28
COCOMO (COnstructiveCOstMOdel = Modelo constructivo del costo): Modelo propuesto por Boehm utilizado para estimar el esfuerzo en personas por mes de acuerdo con el tamaño del software y un conjunto de factores de entrada D Database Management Systems (DBMS): Sistema de administración de base de datos para organizar y tener acceso a los datos. Desarrollo de aplicaciones rápido: Proceso de desarrollar con rapidez una aplicación, o parte de ella, que puede implicar sacrificar la documentación o el diseño adecuados o la posibilidad de ampliarla. Desarrollo basado en componentes: Permite reutilizar piezas de código pre-elaborado que permiten realizar diversas tareas, conllevando a diversos beneficios como las mejoras a la calidad, la reducción del ciclo de desarrollo y el mayor retorno sobre la inversión Desarrollo de software (o sistemas): Significa construir el sistema mediante su descripción. Está es una muy buena razón para considerar la actividad de desarrollo de software como una ingeniería. En un nivel más general, la relación existente entre un software y su entorno es clara ya que el software es introducido en el mundo de modo de provocar ciertos efectos en el mismo. Diagrama de actividades: Se usa para mostrar la secuencia de actividades. Los diagramas de actividades muestran el flujo de trabajo desde el punto de inicio hasta el punto final detallando muchas de las rutas de decisiones que existen en el progreso de eventos contenidos en la actividad.
Diagrama de clases: Forma estructural que relaciona los elementos de un sistema
Diagrama de componentes: Describen los elementos físicos del sistema y sus relaciones Diagrama de flujo de datos: Diagrama que muestra cómo fluyen los datos al entrar, dentro y al salir de una aplicación. Los datos fluyen entre las aplicaciones del usuario, los almacenes de datos y los elementos de procesamiento interno de la aplicación. Diagrama de secuencia: Diagrama formado por los objetos de la aplicación que muestra una secuencia de llamadas de funciones entre los objetos; los diagramas de secuencia suelen dar detalles de los casos de uso.
29
Diseño: Proceso de definición de la arquitectura, componentes, interfaces y otras características de un sistema o componente que resulta de este proceso. E Entrevista: Técnica que se utiliza en el Análisis de Sistemas para recabar la información verbal, a través de una serie de preguntas que propone el analista. Esta a su vez es imprescindible para obtener información cualitativa, relacionarse con los usuarios y recoger un conjunto de hechos y/o requerimientos de información necesaria para el estudio. Especificación de requerimientos de software (ERS): Documento que establece lo que una aplicación debe lograr. Estado: El estado de un objeto; la definición formal es el conjunto de valores de las variables de un objeto. Estándar de calidad: Son normas y protocolos internacionales que deben cumplir productos de cualquier índole para su distribución y consumo por el cliente final. Es el que reúne los requisitos mínimos en busca de la excelencia dentro de una organización institucional. Estudio de factibilidad: Consiste en descubrir cuáles son los objetivos de una organización, luego determinar si el proyecto es útil para que la empresa logre sus objetivos. Este estudio se enfoca en 4 aspectos: financiero, tecnológico, recursos y tiempo. Expectativa: Es lo que los clientes esperan de su proveedor, como: la mejor calidad del producto o del servicio, al menor costo, entregado a tiempo, que sea flexible para atender las especiales o urgentes necesidades del cliente. Evento: Una ocurrencia que afecta un objeto, iniciado desde el exterior del objeto. F Fase: Etapa del ciclo de vida de un sistema Funcionalidad: Conjunto de características que hacen que algo sea práctico y utilitario.
30
G Gestión de Configuración: Es el proceso de identificar y definir los elementos en el sistema, controlando el cambio de estos elementos a lo largo de su ciclo de vida, registrando y reportando el estado de los elementos y las solicitudes de cambio, y verificando que los elementos estén completos y que sean los correctos.
H Heurística: Capacidad de un sistema para realizar de forma inmediata innovaciones positivas para sus fines. Hito: Fechas límites para las tareas dentro de la agenda de trabajo. I Ingeniería de sistemas: Proceso de analizar y diseñar un sistema completo; incluye hardware y software. Ingeniería web: Es la aplicación de metodologías sistemáticas, disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de alta calidad en la World Wide Web. Integración: La fusión de los módulos que forman una aplicación. Interacción: Es una acción que se ejerce de forma recíproca entre dos o más sujetos, objetos, agentes, fuerzas o funciones. Interfaz: Una interfaz para un sistema es una especificación de un conjunto de funciones que proporciona e, sistema; la especificación incluye los nombres de las funciones, sus tipos de parámetros, los tipos de resultados y las excepciones. Interfaz gráfica de usuario (GUI): Despliegue gráfico, a menudo interactivo, mediante el cual el usuario interactúa con una aplicación. Intuitivo: Un conocimiento que se adquiere sin la necesidad de emplear un análisis o un razonamiento anterior. Más bien, la intuición es evidente, por lo que es una consecuencia directa de la intervención del subconsciente en la solución de conflictos netamente racionales que se presentan en la cotidianidad.
31
Involucrados: Persona, grupo u organización que tienen algo que ver en el resultado de una aplicación en desarrollo. ISBC: Ingeniería de software basada en componentes J K L Líder de proyecto: Es el responsable de detectar las necesidades de los usuarios y gestionar los recursos económicos, materiales y humanos, para obtener los resultados esperados en los plazos previstos y con la calidad necesaria. Su misión es la de dirigir y coordinar los proyectos de desarrollo y mantenimiento de las aplicaciones de un área de la empresa, supervisando las funciones y los recursos de análisis funcional, técnico y programación, con el fin de satisfacer las necesidades de los usuarios y asegurando la adecuada explotación de las aplicaciones. M Manual del usuario: Es un documento técnico de un determinado sistema que intenta ayudar a los usuarios a utilizarlo, independientemente del nivel de conocimientos del mismo. Manual técnico: Este documento contiene toda la información sobre los recursos utilizados por el proyecto, llevan una descripción muy bien detallada sobre las características físicas y técnicas de cada elemento. Por ejemplo: características de procesadores, velocidad, dimensiones del equipo, garantías, soporte, proveedores y equipo adicional. Mapa conceptual: Lista de actividades que se obtiene para lograr una meta específica. Metodología (de desarrollo de software): Se refiere a un marco de trabajo que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información. Este consiste de una filosofía de desarrollo de sistemas; así como, las herramientas, modelos y métodos para asistir a dicho proceso. Método algorítmico: Basado en patrones en los datos de proyectos previos, que se transforman en fórmulas matemáticas que se pueden utilizar para derivar estimaciones de software. Antes de utilizar
32
estas fórmulas, se validan con un número de ensayos experimentales y por medio de pruebas rigurosas, usando datos históricos así como otros trabajos de investigación. Método ascendente: Este método empieza identificando cada componente a estimar en un nivel granular, Posteriormente, estima cada componente del proyecto de software por separado y combina los resultados para producir una estimación del proyecto completo. Método basado en la experiencia: Es útil en ausencia de datos cuantificados o empíricos. Método descendente: Se estiman primero los módulos principales, submódulos y funciones individuales. Métodos formales: Métodos rigurosos para especificar los requerimientos, diseño o la implementación, de naturaleza matemática o lógica. Métodos heurísticos: Se basan en las prácticas a través de las cuales los profesionales experimentan y encuentran soluciones a sus problemas más frecuentes Métodos paramétricos: Realizan predicción o aproximación al principio del ciclo de vida del volumen del software a entregar Método por analogía: Utiliza la experiencia de los últimos proyectos, comparando el proyecto a estimar con proyectos terminados previamente y que sean similares. Métricas: Especificación para cómo medir un artefacto de ingeniería de software. Modelo: El modelo de una aplicación es un panorama de su diseño desde una perspectiva particular, como la combinación de sus clases, o su comportamiento manejado por los eventos. Modelización de datos: Técnica utilizada en el Análisis de Sistemas para conseguir estructuras de datos no redundantes, sin inconsistencias, seguras e íntegras, utilizando representaciones gráficas. Modelo de negocios: Es el mecanismo por el cual un negocio trata de generar ingresos y beneficios. Es un resumen de cómo una compañía planifica servir a sus clientes. Implica tanto el concepto de estrategia como el de implementación.
33
Modular: Descomponer en módulos un problema, sistema Multiusuario Característica de un sistema operativo o programa que permite proveer servicio y procesamiento a múltiples usuarios simultáneamente (tanto en paralelismo real como simulado) N Normalización: Consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Notación: Convenciones que se adoptan y utilizan para expresar determinados conceptos de una disciplina concreta. O Orientado a objetos (OO): Organización de los diseños y el código en clases de instancias (“objetos”), Se asigna un conjunto de funciones especificadas por una clase dada a cada objeto de esa clase; cada objeto tiene su copia de un conjunto de variables especificadas para la clase. P Paradigma: Una manera de pensar, como el paradigma de la orientación a objetos. Proceso: “Proceso de software” es el orden en que se realizan las actividades del desarrollo. Programación extrema Es un enfoque de la ingeniería de software que pone más énfasis en la adaptabilidad que en la previsibilidad. Es el más destacado de los procesos ágiles de desarrollo de software. Programa: Es una colección de instrucciones que indican ala computadora las tareas a realizar. Prototipo: Aplicación que ilustra o muestra algunos aspectos de la aplicación que se construye. Puntos de función: Métrica para establecer el tamaño y complejidad de los sistemas informáticos basada en la cantidad de funcionalidad requerida y entregada a los usuarios.
34
Q Que se puede probar: Un artefacto (Como un requerimiento) para el cual es posible escribir una prueba específica para validar que el producto es consistente con el artefacto. Que se puede rastrear. Requerimiento que se puede rastrear si los fragmentos de diseño y código que lo implementan se pueden identificar de inmediato; un requerimiento no se puede rastrear si no está claro qué partes del diseño se ajustan a él y qué partes del código lo implementan. R Reingeniería Reconcepción fundamental y el rediseño radical de los procesos de negocios para lograr mejoras dramáticas en medidas de desempeño tales como en costos, calidad, servicio y rapidez Requerimiento: Es una característica que debe incluirse en un nuevo sistema. Requerimientos D: Requerimientos para el desarrollador, una forma de requerimientos adecuada principalmente para que los desarrolladores trabajen con ella, pero que también forma parte de los requerimientos de los clientes. Requerimiento funcional: Requerimiento que, en particular, no es un requerimiento de la aplicación. Requerimiento no funcional: Requerimiento colocado sobre una aplicación que no involucra una funcionalidad especifica. Una restricción sobre la memoria por ejemplo. Requisito: Véase Requerimiento. Restricción: Limitación específica. Reutilización: Es el proceso de creación de sistemas de software a partir de un software existente, en lugar de tener que rediseñarlo desde el principio S Sistema: Conjunto de artefactos que interactúan entre sí para lograr un objetivo común.
35
Sistema abierto: Es aquel que interactúa con su medio ambiente (reciben entradas y producen salidas). Sistema cerrado: Es aquel que no interactúa con su medio ambiente Sistema crítico: Son sistemas técnicos o socio-técnicos de los cuales dependen las personas o los negocios. Si estos sistemas no ofrecen sus servicios de la forma esperada, pueden provocar graves problemas y pérdidas importantes. Sistema de información: Es aquel que logra un resultado empresarial. Recopila, manipula, almacena y crea reportes de información respecto de las actividades de negocios de una empresa, con el fin de ayudar a la administración de esa empresa en el manejo de operaciones de negocios. SLIM (Software LIfecycleManagment = Gestión del ciclo de vida del software): Método paramétrico propuesto por Putnam que estudia una base de datos (QSM) de 750 sistemas procedentes de la Air ForceElectronicSystemsDivision, del Rome Aire Development Center y otros sistemas de procedencias diversas, de donde se deduce el tamaño del producto de software. T Tabla de decisión: Matriz de renglones y columnas que indican las condiciones y acciones. Usada en el análisis de funciones de una empresa. Transición (en un diagrama de estados): Proceso mediante el cual un objeto cambia de un estado a otro. TIC: Tecnologías de la información. U Unified Modeling Language (UML): Lenguaje de modelado unificado o notación gráfica que sirve para expresar los diseños orientados a objetos. Usabilidad: Se define coloquialmente como facilidad de uso, ya sea de una página web, una aplicación informática o cualquier otro sistema que interactúe con un usuario. Usuario final: Persona que no es especialista en sistemas de información, pero que utilizan las computadoras para desempeñar su trabajo.
36
V Validación: Proceso para asegurar que una aplicación de software realiza las funciones para las que se creó de la manera especificada. Verificación: Proceso para asegurar que una aplicación de software se está construyendo de la manera planeada. W X Y Z
37
BIBLIOGRAFÍA TÍTULO: SOFTWARE ENGINEERING AUTOR: IAN SOMMERVILLE AÑO: 2010 EDITORIAL O REFERENCIA: ADDISON-WESLEY LUGAR Y AÑO DE LA EDICIÓN: USA 2010, 9A. EDICIÓN ISBN O REGISTRO: 978-0137035151 TÍTULO: INGENIERÍA DEL SOFTWARE - UN ENFOQUE PRÁCTICO AUTOR: ROGER S. PRESSMAN AÑO: 2010 EDITORIAL O REFERENCIA: MCGRAW HILL LUGAR Y AÑO DE LA EDICIÓN: MÉXICO 2010 7A. EDICIÓN ISBN O REGISTRO: 9786071503145 TÍTULO: SOFTWARE ENGINEERING: MODERN APROACHES AUTOR: ERIC J. BRAUDE, MICHAEL E. BERNSTEIN AÑO: 2010 EDITORIAL O REFERENCIA: WILEY LUGAR Y AÑO DE LA EDICIÓN: USA 2010 ISBN O REGISTRO: 978-0471692089
COMPLEMENTARIA TÍTULO: INGENIERÍA DE SOFTWARE: "ARQUITECTURA DEL SIPS" AUTOR: MIGUEL ANGEL MORALES ALMADA AÑO: 2011 EDITORIAL O REFERENCIA: EDITORIAL ACADÉMICA ESPAÑOLA LUGAR Y AÑO DE LA EDICIÓN: MÉXICO 2011 ISBN O REGISTRO: 978-3845491158
TÍTULO: DISEÑO DE SOFTWARE: PATRONES DE DISEÑO, UML, PROGRAMACIÓN ESTRUCTURADA, INGENIERÍA DE SOFTWARE, PROGRAMACIÓN EXTREMA, PSEUDOCÓDIGO AUTOR: WIKIPEDIA AÑO: 2011 EDITORIAL O REFERENCIA: BOOKS LLC LUGAR Y AÑO DE LA EDICIÓN: 2011 ISBN O REGISTRO: 978-1231380079
38
TÍTULO: SOFTWARE ENGINEERING BEST PRACTICES: LESSONS FROM SUCCESSFUL PROJECTS IN THE TOP COMPANIES AUTOR: CAPERS JONES AÑO: 2009 EDITORIAL O REFERENCIA: MCGRAW-HILL LUGAR Y AÑO DE LA EDICIÓN: USA 2009 ISBN O REGISTRO 978-0071621618
39