• No se han encontrado resultados

Ingeniería de software

N/A
N/A
Protected

Academic year: 2021

Share "Ingeniería de software"

Copied!
11
0
0

Texto completo

(1)

Ingeniería de software

MSC-0102

Nombre de la asignatura: Ingeniería de Software

Línea de trabajo: Asignatura básica

Tiempo de dedicación del estudiante a las actividades de:

DOC TIS TPS Horas totales Créditos

48 20 100 168 6 1. Historial de la asignatura. Fecha revisión / actualización Participantes Observaciones, cambios o justificación

Febrero de 2011 M. C. Rosa de Guadalupe Cano Anguiano

M.C. Ana Claudia Ruíz Tadeo Consejo de Posgrado del Departamento

de Sistemas y Computación

2. Pre-requisitos y correquisitos.

Asignatura obligatoria en el primer semestre.

3. Objetivo de la asignatura.

Aplicar técnicas de ingeniería para el desarrollo de productos de software, con el propósito de hacer más eficientes los recursos de cómputo disponibles, así cómo determinar el esfuerzo dedicado en la producción del software.

4. Aportación al perfil del graduado.

 Aplicar las normas, estándares, métodos y herramientas de desarrollo de sistemas para la aplicarlos en su actuar profesional

 Conocer sobre desarrollo y administración de sistemas de información para aumentar la productividad y competitividad de las organizaciones.

 Conocer, fomentar y coordinar actividades que fortalezcan la cultura informática.

 Proporciona los conocimientos sobre los estándares y métricas de calidad aplicadas a la evaluación del diseño.

 Ofrece los criterios para poder seleccionar herramientas computarizadas utilizadas en la etapa de diseño, construcción y documentación de sistemas de información.

(2)

 Permite dirigir y participar en grupos de trabajo interdisciplinarios que propongan soluciones integrales en su entorno.

5. Contenido temático.

Unidad Temas Subtemas

1 Lenguaje de modelado orientado a objetos.

1.1. La arquitectura de 4+1vistas. 1.2. Desarrollo orientado a objetos.

1.2.1. Casos de uso. 1.2.2. Actividades. 1.2.3. Clase y Objetos. 1.2.4. Interacción. 1.2.5. Estados. 1.2.6. Transiciones. 1.2.7. Interfaces de usuario. 1.2.8. Diseño de la lógica. 2 Administración de proyectos de software. 2.1. Introducción a la administración de proyectos. 2.1.1. Significado de administración de proyectos. 2.1.2. La importancia de la administración de proyectos. 2.1.3. Funciones de la administración de proyectos.

2.1.4. Beneficios de la administración del proyecto.

2.1.5. Características e importancia del administrador de proyectos. 2.1.6. Variables principales: costo,

capacidad, calidad y programa 2.2. Herramientas de software para administrar

proyectos.

2.3. Manejo de herramientas de software 2.4. Proyectos múltiples y proyectos ubicados en

diferentes sitios. 2.5. Planificación de proyectos. 2.5.1. Diagramas PERT/CPM. 2.5.1.1. Técnicas de programación de tareas. 2.5.1.2. Manejo de holguras. 2.5.1.3. La ruta crítica. 2.5.1.4. Manejo de recursos 2.5.1.5. Gráficas de Gantt. 2.5.2. Estimación de tiempos. 2.5.3. Estimación de esfuerzos. 2.5.4. Cálculo de costos.

2.5.5. Plan general del proyecto y planes de trabajo individuales.

(3)

Unidad Temas Subtemas

2.5.6. Uso de herramientas de software para la planificación

3 Ingeniería de requerimientos.

3.1. Actividades para la obtención de requerimientos.

3.2. Modelo FURPS (Funcionalidad, facilidad de uso, fiabilidad, rendimiento, soporte). 3.3. Clasificación de requerimientos. 3.3.1. Funcionales. 3.3.2. No funcionales. 3.3.3. De implementación. 3.3.4. Organizativos. 3.3.5. Legales. 3.3.6. Humanos. 3.4. Obtención de requisitos. 3.4.1. Objetivo. 3.4.2. Metas. 3.4.3. Alcances y limitaciones. 3.4.4. Justificación.

3.5. Técnicas para obtener información sobre el proyecto.

3.6. Especificaciones del proyecto y contrato. 3.7. Validación de requerimientos. 3.7.1. Correcto. 3.7.2. Completo. 3.7.3. Consistente. 3.7.4. No ambiguo. 3.7.5. Realista. 3.7.6. Verificable. 3.7.7. Rastreable.

4 Calidad y medición de los sistemas de software.

4.1. Descripción y aplicación de los estándares ISO y modelos: 25000, 15939 y EFQM. 4.2. Modelo de mejora continua.

4.3. Medición de un proyecto de software. Basado en el Modelo Boehm.

4.3.1. Portabilidad.

4.3.1.1. Independencia del dispositivo. 4.3.2. Usabilidad.

(4)

Unidad Temas Subtemas 4.3.2.1.1. Precisión. 4.3.2.1.2. Completitud. 4.3.2.1.3. Integridad /robustez 4.3.2.1.4. Consistencia. 4.3.2.2. Eficiencia. 4.3.2.2.1. Compatibilidad. 4.3.2.2.2. Eficiencia del dispositivo. 4.3.2.2.3. Accesibilidad. 4.3.2.3. Ingeniería social. 4.3.2.3.1. Comunicación. 4.3.3. Mantenibilidad. 4.3.3.1. Pruebas. 4.3.3.1.1. Claridad. 4.3.3.1.2. Estructuración. 4.3.3.2. Entendibilidad. 4.3.3.2.1. Consistencia. 4.3.3.2.2. Legalidad. 4.3.3.3. Modificabilidad. 4.3.3.3.1. Crecimiento. 5 Procesos de software.

5.1. Definición de procesos del software. 5.2. Clasificación del software.

5.2.1. Orientados a eventos. 5.2.2. Orientados a cliente-servidor. 5.2.3. Orientados al web.

5.2.4. Orientados a objetos.

5.3. Modelos de procesos o ciclos de vida. 5.3.1. Tradicional.

5.3.2. Incremental. 5.3.3. Evolutivo. 5.3.4. Espiral. 5.3.5. Ágil.

5.4. Fases en la creación del software.

6 Diseño de software.

6.1. Conceptos generales de diseño. 6.2. Contexto del diseño de software. 6.3. Proceso del diseño de software. 6.4. Técnicas de diseño. 6.4.1. Abstracción. 6.4.1.1. Tipos de abstracción. 6.4.1.1.1. Procedimental y de datos. 6.4.2. Acoplamiento. 6.4.2.1. Tipos de acoplamiento. 6.4.2.1.1. De datos, de marca, de control, externo, común y de contenido. 6.4.3. Cohesión.

(5)

Unidad Temas Subtemas 6.4.3.1. Tipos de cohesión. 6.4.3.1.1. Coincidentalmente cohesivo, lógica, temporal, procedimental, comunicación. 6.4.4. Descomposición 6.4.5. Moduralización. 6.4.6. Encapsulación. 6.4.7. Definición de la interfaz. 6.4.8. Suficiencia. 6.4.9. Integridad. 6.4.10. Concurrencia.

6.4.11. Control y manejo de eventos. 6.4.12. Distribución de componentes. 6.4.13. Gestión de excepciones y tolerancia

a fallos.

7 Validación de software.

7.1. Definición y características de las revisiones de software.

7.2. El proceso de verificación y validación del software.

7.3. Tipos de revisiones de software.

7.4. El papel de los estándares en el proceso de verificación y validación del software. 7.5. Estándar IEEE-1012 "Standard for Software

Verification and Validation" (secciones 1 a 4) y los niveles de integridad.

7.6. Estándar IEEE-1028 "Standard for Software Reviews".

7.7. Estándar IEEE-1044 "Guide to Classification for Software Anomalies".

7.8. Plan de verificación y validación del Software (SVVP).

7.9. Métricas de la verificación y validación del software.

6. Metodología de desarrollo del curso.

 En la Unidad I, se sugiere que el estudiante determine en conjunción con su asesor, el desarrollo de un proyecto de software el cual será el producto final de la asignatura. Adicionalmente, se sugiere que ésta propuesta sea analizada y diseñada dentro del marco del lenguaje orientado a objetos.

 En la unidad II, se sugiere que los estudiantes trabajen en la propuesta de trabajo mencionada en la unidad no. 1 y apliquen las técnicas y herramientas de la administración de proyectos.

(6)

 En la unidad III, se propone que el estudiante analice concienzudamente el impacto de un adecuado levantamiento de requerimientos y su aplicación en el desarrollo de un proyecto de software.

 En la unidad IV, el estudiante desarrollará una propuesta de investigación en dónde se refleje la aplicación tácita del estándar ISO 25000 y 15939.

 En la unidad V, el estudiante desarrollará un ensayo en dónde reflejará el impacto, beneficios y ventajas de las diversas formas de desarrollas un proceso de software.

 En la unidad VI, el estudiante aplicará las técnicas y herramientas para lograr un diseño de software adecuado.

 En la unidad VII, el estudiante aplicará las técnicas y herramientas para desarrollar adecuadamente el proceso de validación del software.

7. Sugerencias de evaluación.

 Examen escrito de respuesta abierta, opcional, múltiple. Prueba cronometrada, efectuada bajo control, en la que el alumno construye su respuesta. Se le puede conceder o no el derecho a consultar material de apoyo.

 Trabajo académico. Actividades evaluables correspondientes a los productos (ensayos, reportes y proyecto final) que se indican por unidad como apoyo al proceso de enseñanza aprendizaje cuya ponderación deberá ser especificada al inicio de la materia.

 Desarrollo de un proyecto final donde incorpore su conocimiento referente a la bibliografía revisada durante el curso.

 Estudios de caso: Supone el análisis y la resolución de una situación planteada que presenta problemas de solución múltiple, a través de la reflexión y el diálogo para un aprendizaje grupal, integrado y significativo.

Prácticas 20% Proyectos 20% Tareas 20% Exámenes 30% Participación 10%

8. Bibliografía y software de apoyo.

Unidad I. Lenguaje de modelado orientado a objetos  Aprendiendo Uml en 24 horas. Joseph Schmuller

Unidad II. Administración de proyectos de software  www.pmi.org – guía Pmbok versión 2004.

 Pressman, Roger. Ingeniería de software (7ª ed.) México: Mc Graw Hill. ISBN: 8448132149

 Planeación y evaluación de proyectos informáticos. Nuria Rodríguez y William Martínez.

(7)

 Formulación y evaluación de proyectos informáticos. Baca Urbina. Mc Graw Hill.

Unidad III. Ingeniería de requerimientos.  Ingeniería en Software, Ian Sommersville.

 Pressman, Roger. Ingeniería de software (7ª ed.) México: Mc Graw Hill. ISBN: 8448132149

Unidad IV.Calidad y medición de los sistemas de software

 Kenneth Kendall & Julie Kendall. Análisis y diseño de sistemas de información (6ª.ed.).Prentice Hall. ISBN: 978-970-26-0577-5

 Pressman, Roger. Ingeniería de software (7ª ed.) México: Mc Graw Hill. ISBN: 8448132149

 www.iso25000.com

 Calidad del producto y calidad del proceso. Coral Calero. Ángeles Moraga. Mario Piattini.

 http://www.calidaddelsoftware.com/

Unidad V. Procesos de software

 Calidad del proceso y proceso de software. Coral Calero, Ma. Angeles Moraga, Mario Piattini. Editorial Ra-MA 2010.

 Ingeniería en Software, Roger Pressman. Versión 7

 Web Information Systems Quality. Coral Calero.

 Ingeniería en Software, Ian Sommersville.

 www.swebook.org.

 Ingeniería en Software, Roger Pressman. Versión 7

 Ingeniería en Software, Ian Sommersville.

 Introducción al análisis de sistemas y a la ingeniería de software. Roberto Cortés Morales

Unidad VI Diseño de software

 Calidad del proceso y proceso de software. Coral Calero, Ma.

 Angeles Moraga, Mario Piattini. Editorial Ra-MA 2010.Angeles Moraga, Mario Piattini. Editorial Ra-MA 2010.  http://bioinfo.uib.es/~joemiro/aenui/procJenui/Jen2004/ponencias/ponencia30.pdf  http://biblioteca.utec.edu.sv/siab/virtual/auprides/16039/capitulo%207.pdf  http://is.ls.fi.upm.es/udis/docencia/erdsi/Documentacion-Evaluacion-6.pdf  http://www.scribd.com/doc/14897492/Estandar-ISOIEC14598-Evaluacion-del-Producto-Software  http://www.sqi.gu.edu.au/sc7/mirror/N2201-N2250/07n2246.pdf

(8)

 http://www.tecsi.fea.usp.br/Revistatecsi/edicoesanteriores/v03n02-2006/v03n02-2006/a04v03n02/v3n2a4.htm

 www.swebook.org.

 Ingeniería en Software, Roger Pressman. Versión 7

 Ingeniería en Software, Ian Sommersville.

 Introducción al análisis de sistemas y a la ingeniería de software. Roberto Cortés Morales

Unidad VII Validación de software

 Calidad del producto y calidad del proceso. Coral Calero. Ángeles Moraga. Mario Piattini.

 Ingeniería en Software, Roger Pressman. Versión 7

 Ingeniería en Software, Ian Sommersville.

Software de apoyo:  Microsoft Project

 Rational Rose

 Software (en función de las aplicaciones a desarrollar)

9. Actividades propuestas.

Se sugiere que algunas de las actividades propuestas sean realizadas por equipos de tres personas, con la finalidad de promover la discusión de ideas que plantea el curso y fomentar el trabajo colaborativo. En este sentido, se proponen las siguientes actividades por unidad:

Unidad Actividad

1. Lenguaje de modelado orientado a objetos

1.1 Analiza el tema de lenguaje de modelado orientado a objetos.

Considera puntos como:

1. Ventajas y desventajas del lenguaje orientado a objetos contra el modelo de diseño tradicional. 2. La manera en la que se relacionan los casos de

usos y el diagrama de estados y de actividades. 3. Diseño de formatos para la determinación de

actores y sus actividades.

4. Presentar los resultados en forma de ensayo. 1.2 Analizar y diseñar un proyecto de software en el que se

aplique el modelo orientado a objetos. 2. Administración de proyectos

de software

2.1 Analizar el tema Administración de proyectos de software

(9)

Unidad Actividad

2. Explica las aportaciones que hace el Pmbok, en referencia a éste tópico.

3. Revisa el impacto que tiene la administración de proyectos en el desarrollo oportuno de un sistema de información.

4. Analiza y desarrolla los temas de la unidad 2, tomando como base referencial la propuesta de desarrollo de software de la unidad no. 1. Utiliza como herramienta Ms Proyect.

2.2. Presenta los resultados en forma de ensayo.

3. Ingeniería de requerimientos

3.1 Analiza el tema de la ingeniería de requerimientos. 1. ¿Cómo impacta un adecuado levantamiento de

requerimientos a un escenario real?

2. Explica las aportaciones del modelo FURPS a la ingeniería de requerimientos.

3. Con base en la propuesta de desarrollo de un proyecto de software, de la unidad 1. Levante todos los requerimientos indicados en la unidad no. 3

4. Aplíquelos al archivo resultante de la unidad. No. 2

4. Calidad y medición de los sistemas de software 5. Procesos de software 6. Diseño de software 7. Validación de software

1. En el área de oportunidad detectada, desarrollar el proyecto de software tomado como base los tipos de procesos vistos en clase.

2. Diseñar las interfaces utilizando las técnicas y herramientas especificadas en la unidad. 3. Realizar el proceso de calidad y medición del SI

generado. Aplicar el Estándar-ISO 2500 y la ISO 15939.

4. Validar la aplicación de software generada, utilizando los estándares vistos en clase.

 Proyecto Final: Estará conformado con la formalización del SI, generado en la asignatura “Ingeniería de software”. Y deberá incluir los siguientes puntos:

1. Ingeniería de requerimientos 2. Administración de proyectos.

(10)

Unidad Actividad

3. Procesos del software. 4. Diseño de software.

5. Lenguaje de modelado orientado a objetos. 6. Calidad y medición de los sistemas de software 7. Validación del software.

(11)

10. Nombre y firma del catedrático responsable.

Referencias

Documento similar

En este capítulo se abordó el estado del arte relacionado con las tendencias actuales, técnicas actuales , software utilizados, metodologías, y herramientas para crear software

Sin embargo, mientras que la primera de tales actividades tiene lugar necesariamente siempre que exista una petición de referéndum, las otras dos no se llevan a cabo en todo caso,

Así, antes de adoptar una medida de salvaguardia, la Comisión tenía una reunión con los representantes del Estado cuyas productos iban a ser sometidos a la medida y ofrecía

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba

Conjunto de técnicas que se enfrentan al software como un producto de ingeniería que requiere: planificación, análisis, diseño, implementación, pruebas y mantenimiento..

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Al finalizar la unidad, el estudiante será capaz de utilizar propiedades, técnicas y fórmulas, para resolver problemas de Límites y Derivadas vinculándolos a contextos o