Desarrollo de - Inicio - Instituto Tecnológico de Morelia

Anuncio
1.- DATOS DE LA ASIGNATURA
Nombre de la asignatura: Entornos de Desarrollo de Software
Carrera: Ingeniería Informática
Ingeniería
en
Sistemas
Computacionales
Ingeniería en Tecnologías de la
Información y Comunicaciones
Clave de la asignatura: ISF-1301
(Créditos) SATCA1 3 - 2 – 5
2.- PRESENTACIÓN
Caracterización de la asignatura.
Ésta materia forma parte del módulo de especialidad de ingeniería de software.
Se recomienda que sea la primera del módulo. Tiene un enfoque hacia los
aspectos que son críticos en un ambiente de desarrollo de software, para lograr
productos de calidad. En ella se tocan aspectos relacionados con el capital
humano inmerso en la producción de software y los procesos que ayudan a
crear software que dé soluciones a necesidades reales.
Esta asignatura aporta al perfil del Ingeniero en Informática la capacidad para:







1
Desarrollar e implementar software para el control y la toma de
decisiones basado en estándares.
Concebir, desarrollar y mantener sistemas, servicios y aplicaciones
informáticas empleando los métodos de la ingeniería del software como
instrumento para el aseguramiento de su calidad.
Utilizar tecnologías y herramientas actuales y emergentes acordes a las
necesidades del entorno.
Conocer de las materias básicas y tecnologías, que capaciten para el
aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las
que les doten de una gran versatilidad para adaptarse a nuevas
situaciones.
Resolver problemas con iniciativa, toma de decisiones, autonomía y
creatividad.
Capacidad para saber comunicar y transmitir los conocimientos,
habilidades y destrezas de la profesión de Ingeniero Técnico en
Informática.
Identificar y analizar problemas y diseñar, desarrollar, implementar,
verificar y documentar soluciones software sobre la base de un
conocimiento adecuado de las teorías, modelos y técnicas actuales.
Sistema de asignación y transferencia de créditos académicos


Comprender y aplicar los principios y prácticas de las organizaciones, de
forma que puedan ejercer como enlace entre las comunidades técnica y
de gestión de una organización y participar activamente en la formación
de los usuarios.
Identificar los diferentes entornos de desarrollo de software y su
importancia a lo largo del proceso de desarrollo.
Intención didáctica.
El enfoque de la asignatura por su carácter práctico, requiere de un proceso de
permanente participación activa del estudiante, por esta razón es indispensable
la figura de un facilitador que apoye y guie con los conocimientos técnicos que
se requieren, para alcanzar los objetivos de la materia.
La evaluación debe ser continua y permanente por lo que se debe considerar el
desempeño en cada una de las actividades de aprendizaje, haciendo especial
énfasis en la participación en clase y en la lectura y el análisis de textos.
Es importante relacionarla con otras asignaturas, siendo de utilidad para la
integración de conocimientos.
El facilitador de la materia deberá ser conocedor de la disciplina que está bajo
su responsabilidad, haber participado en proyectos de desarrollo, y sobre todo,
guiar los estudiantes en el logro de procesos ordenados y disciplinados de
creación de software.
El estudio de esta materia se divide en 4 unidades donde el estudiante podrá
conocer y participar en prácticas de desarrollo que conduzcan a la producción
ordenada y cierta de software de calidad.
En la primera unidad se acerca al estudiante a los aspectos básicos que deben
considerarse acerca del personal que se involucra en el proceso de desarrollo
de software y la organización indispensable de los grupos y equipos de trabajo
inherentes al proceso. Puntos como comunicación efectiva y habilidades y
competencias del personal desarrollador en los diferentes entornos de
desarrollo deben hacerse conscientes en el estudiante.
La segunda unidad tiene un enfoque hacia el entorno individual del
desarrollador al participar en el proceso de producción de software. Se enfatiza
también la importancia de conocerse como desarrollador en lo personal, para
lograr mejoras constantes y aplicar estándares en las prácticas personales que
den soporte al trabajo de equipo y al logro de resultados exitosos a nivel
organizacional.
En la unidad 3 se trata el desarrollo de software desde un enfoque grupal y se
remarca la importancia de aplicar el desarrollo de software en equipo, para
incrementar las probabilidades de producción de software de calidad bajo
esquemas que apoyen en general al funcionamiento y éxito de las
organizaciones productoras de software.
La unidad 4 tiene una visión macro del desarrollo de software a nivel
organizacional. En ella se tratan puntos como la madurez que deben alcanzar
los procesos de desarrollo, para generar ambientes de certidumbre y éxito en
los procesos.
3.- COMPETENCIAS A DESARROLLAR
Competencias específicas
Aplica los elementos y conceptos
integrados en los procesos de
desarrollo de software basados en
prácticas y estándares convenientes
y adecuados para los diferentes
entornos de desarrollo de software.

Competencias genéricas
Competencias instrumentales
 Capacidad de análisis y síntesis
 Capacidad de organizar y
planificar
 Conocimientos básicos de la
carrera
 Comunicación oral y escrita en
su propia lengua
 Conocimiento de una segunda
lengua
 Habilidades de gestión de
información(habilidad para
buscar y analizar información
proveniente de fuentes diversas
 Solución de problemas
 Toma de decisiones.
Competencias interpersonales
 Capacidad para trabajar en equipo.
 Capacidad crítica y autocrítica.
 Habilidades interpersonales
Habilidad para trabajar en un
ambiente laboral
 Compromiso ético.
Competencias sistémicas
 Habilidades de investigación.
 Capacidad
de
aplicar
los
conocimientos en la práctica.
 Liderazgo.
 Capacidad de generar nuevas ideas
(creatividad).
 Iniciativa y espíritu emprendedor.
 Búsqueda de logro.
4.- HISTORIA DEL PROGRAMA
Lugar
y
fecha
de
elaboración o revisión
Instituto Tecnológico de
Morelia, Morelia Michoacán,
del 9 al 13 de enero del
2012.
Observaciones
(cambios y justificación)
M.A. Laura Nelly Alvarado Diseño
Curricular
de
Zamora
Módulos de Especialidad de
M.C. José Alfredo Jiménez las carreras del Depto. de
Murillo
Sistemas y Computación
Ing.
Ignacio
Aguilar
Magaña
M.C. Juan Carlos Olivares
Rojas
Lic. Jorge Sánchez Vega
M.I. Adrián Núñez Vieyra
Participantes
5.- OBJETIVO(S) GENERAL(ES) DEL CURSO (competencia específica a
desarrollar en el curso)
Aplicar los elementos y conceptos integrados en los procesos de desarrollo
de software basados en prácticas y estándares convenientes y adecuados
para los diferentes entornos de desarrollo de software.
6.- COMPETENCIAS PREVIAS








Conocimiento y aplicación de los principios, metodologías y ciclos de vida
de la ingeniería de software.
Aplicar un lenguaje orientado a objetos para la solución de problemas.
Identificar los tipos de organización así como sus estructuras y funciones
correspondientes.
Observar su entorno e identificar oportunidades de desarrollo de
proyectos generando ideas innovadoras de
la aplicación de la
investigación en su área profesional.
Capacidad para comprender la importancia de la negociación, los hábitos
de trabajo efectivos, el liderazgo y las habilidades de comunicación en
todos los entornos de desarrollo de software.
Utilizar en forma adecuada el lenguaje técnico-científico de su disciplina.
Elaborar documentos académicos.
Hacer presentaciones orales.
7.- TEMARIO
Unidad
Temas
1
Aspectos básicos del
personal desarrollador
y grupos de trabajo
Subtemas
1.1 Comunicación, toma de decisiones y
estilos de trabajo.
1.2 Factores Cognoscitivos y sociales
1.3 Habilidades y competencias personales
y en equipo.
1.4 Organización
de
equipos
desarrolladores.
1.5 Entornos de desarrollo (personal,
equipo y organización)
2
Entorno de desarrollo
personal





3
Entorno de desarrollo
en equipo
3.1 Introducción y antecedentes de TSP
3.2 Principios y objetivos de TSP
3.3 Ciclo de vida TSP
3.4 Relación PSP-TSP
3.5 Ventajas y Desventajas de PSP-TSP
3.6 Entornos ágiles de desarrollo
4
Entorno de desarrollo
organizacional
2.1.1 Introducción y antecedentes
CMM (Capability Maturity Model)
2.1.2 Procesos y Niveles de CMM
2.1.3 CMM vs, CMMI
2.1.4 Introducción y antecedentes
MOPROSOFT
2.1.5 Principios
y
categorías
procesos de MOPROSOFT
2.1.6 Procesos
y
niveles
MOPROSOFT
Introducción y antecedentes de PSP
Principios y objetivos de PSP
Niveles de PSP
Ciclo de Vida de PSP
Mejora del proceso de desarrollo con
PSP
de
de
de
de
8.- SUGERENCIAS DIDÁCTICAS (desarrollo de competencias genéricas)






Propiciar actividades de búsqueda, selección y análisis de información en
distintas fuentes.
Propiciar el uso de las nuevas tecnologías en el desarrollo de la
asignatura.
Fomentar actividades grupales que propicien la comunicación, el
intercambio argumentado de ideas, la reflexión, la integración y la
colaboración de y entre los estudiantes.
Propiciar, en el estudiante, el desarrollo de actividades intelectuales de
inducción-deducción y análisis-síntesis, la cuales lo encaminan hacia la
investigación, la aplicación de conocimientos y la solución de problemas.
Desarrollar actividades de aprendizaje que propicien la aplicación los
conceptos, modelos y metodologías que se van aprendiendo en el
desarrollo de la asignatura.
Propiciar el uso adecuado de conceptos y de terminología científicotecnológica.




Llevar a cabo actividades prácticas que promuevan el desarrollo de
habilidades para la experimentación, tales como: observación,
identificación manejo y control de de variables y datos relevantes,
planteamiento de hipótesis, de trabajo en equipo.
Observar y analizar fenómenos y problemáticas propias del campo
ocupacional.
Relacionar los contenidos de esta asignatura con las demás del plan de
estudios para desarrollar una visión interdisciplinaria en el estudiante.
En
coordinación
con
los
estudiantes
elaborar
instructivos,
demostraciones, manuales o cualquier material didáctico que auxilie la
impartición de la asignatura.
9.- SUGERENCIAS DE EVALUACIÓN
La evaluación debe ser continua y permanente por lo que se debe considerar el
desempeño en cada una de las actividades de aprendizaje, haciendo especial
énfasis en:








Participación activa y crítica en clase.
Ejercicios realizados en clase.
Información obtenida durante las búsquedas encomendadas.
Lectura y análisis de textos.
Autoevaluación, Coevaluación y evaluación de las actividades.
Reportes que serán entregados en tiempo y forma, cumpliendo las reglas
gramaticales del idioma.
Exposiciones por parte del estudiante.
Resultados obtenidos en los exámenes de conocimientos que se
apliquen.
10.- UNIDADES DE APRENDIZAJE
Unidad 1: Aspectos básicos del personal desarrollador y grupos de
trabajo
Competencia
desarrollar
específica
a
Actividades de Aprendizaje

Identifica
los
aspectos
fundamentales, tanto
grupales
como individuales de las personas
involucradas en el proceso de
desarrollo de software, como parte
de la organización.

Realizar una síntesis de los aspectos
importantes de comunicación, toma de
decisiones y estilos de trabajo del
personal desarrollador de software.
Investigar y discutir la importancia de
los factores Cognoscitivos y sociales
involucrados en el desempeño del
desarrollador.




Investigar en diferentes fuentes de
información
la
habilidades
y
competencias personales y en equipo
deseables en el personal de las
organizaciones
desarrolladoras
de
software.
Realizar un reporte de videos tratando
la temática de la unidad.
Investigar
diferentes
formas
de
organización
de
equipos
desarrolladores.
Escribir un ensayo sobre los diferentes
entornos de desarrollo (personal,
equipo y organización) y cómo se ven
afectados entre sí.
Unidad 2: Entorno de desarrollo personal
Competencia específica a
desarrollar
Actividades de Aprendizaje

Identifica, analiza y utiliza prácticas
de desarrollo de software personal. 




Investigar y discutir en grupos los
antecedentes y surgimiento de PSP
Consultar en al menos 2 fuentes de
información y sintetizar los principios y
objetivos de PSP
Hacer una tabla de los niveles que
establece PSP
Discutir sobre las especificaciones de cada
nivel de PSP
Destacar las fases del ciclo de vida que
propone PSP
Reflexionar y hacer un escrito sobre la
ayuda que puede brindar PSP en los
procesos de desarrollo de software.


Debatir en grupos sobre las ventajas y
desventajas de aplicar PSP
Participar en 2 actividades utilizando PSP
Unidad 3: Entorno de desarrollo en equipo.
Competencia específica a
desarrollar
Actividades de Aprendizaje

Identifica, analiza y utiliza prácticas
de desarrollo de software en 
equipo.







Investigar y discutir en grupos los
antecedentes y surgimiento de TSP
Consultar en al menos 2 fuentes de
información y sintetizar los principios y
objetivos de TSP
Destacar las fases del ciclo de vida que
propone TSP
Reflexionar y hacer un escrito sobre la
ayuda que puede brindar TSP en los
procesos de desarrollo de software
Debatir en grupos sobre las ventajas y
desventajas de aplicar TSP
Participar en 2 actividades utilizando TSP
Discutir en equipos y luego de forma
grupal la relación entre PSP-TSP
Redactar por equipos las conclusiones de
la actividad anterior
Investigar el tema Desarrollo ágil y hacer
una síntesis de los puntos fundamentales
de esta filosofía.
Unidad 4: Entorno de desarrollo organizacional.
Competencia específica a
desarrollar
Actividades de Aprendizaje

Identifica, analiza y utiliza prácticas
de desarrollo de software en el
contexto de la organización y el 
negocio.




Leer y resumir material escrito y en video
sobre el surgimiento de CMM (Capability
Maturity Model)
Hacer un reporte de investigación de los
Procesos y Niveles de CMM
Investigar las características y surgimiento
de CMMI
Establecer la relación existente entre CMM
y CMMI
Investigar
sobre
organizaciones
desarrolladoras de software certificadas en
CMM y CMMI.
Investigar y entregar reporte sobre los






antecedentes de MOPROSOFT
Investigar y discutir los principios y
categorías de procesos de MOPROSOFT
En equipos discutir y plasmar de forma
escrita los procesos y niveles de
MOPROSOFT
Discutir la importancia de MOPROSOFT en
la actualidad
Reflexionar sobre la relación entre PSPTSP-CMM
Investigar
sobre
organizaciones
desarrolladoras de software certificadas en
MOPROSOFT.
Visitar al menos una empresa certificada
en sus procesos de desarrollo de software.
11.- FUENTES DE INFORMACIÓN
1. Pressman, Roger S. Ingeniería del Software. Ed. McGraw-Hill. 2010.
2. Sommerville, Ian. Ingeniería del Software. Ed. Pearson. 2005.
3. Calero Coral, Moraga Ma. Angeles, Piattini Mario G..Calidad del producto y
del proceso. Editorial Ra-Ma. 2010.
4. Club BPM. El libro del BPM 2010. Editorial Club BPM. 2010.
5. Watts S. Humphrey. PSP: A Self-Improvement Process for Software
Engineers. Editorial Pearson. 2005.
6. Tuya Javier, Ramos Román Isabel, Dolado Cosín Javier. Técnicas
Cuantitativas para la Gestión en la Ingeniería de Software. Editorial
Netbiblo. 2007.
7. Mall Rajib. Fundamentals of Software Engineering. Editorial PHI. 2009
8. Watts S. Humphrey. TSP: Coaching Development Teams. Editorial AddisonWesley. 2006
9. Watts S. Humphrey. TSP--leading a development team. Editorial AddisonWesley. 2006
10. Evans Isabel. Achieving software quality through teamwork. Editorial Artech
House , inc. 2004
11. Mochi Alemán Prudencio Óscar. La industria del software en México y en el
contexto internacional y latinoamericano. Editorial Crim. 2006
12. Oktaba Hanna. Software Process Improvement for Small and Medium
Enterprises: Techniques and Case Studies. Editorial Igi Global. 2008
13. Garcia Suzanne, Turner Richard. CMMI survival guide: just enough process
improvement. Editorial Addison-Wesley. 2006
12.- PRÁCTICAS PROPUESTAS


Aplicar prácticas de PSP en actividades de desarrollo de software.
Aplicar prácticas de TSP en actividades de desarrollo de software.



Aplicar prácticas de CMM en actividades de desarrollo de software.
Aplicar prácticas de CMMI en actividades de una organización hipotética.
Caracterizar prácticas de desarrollo dentro de los niveles de CMM.
Descargar