ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

INGENIERIA DE SOFTWARE

jonyjocker13 de Enero de 2014

34.537 Palabras (139 Páginas)273 Visitas

Página 1 de 139

Fundamentos de Ingeniería de Software I

Programa de Estudios

Parte I: Generalidades

1.1 Introducción

1.2 Ingeniería del Software y sus paradigmas estructurado y orientado a objetos

1.3 La dualidad del software: producto y como proceso

1.4 El Producto

1.4.1 Evolución del software

1.4.2 Problemas del software

1.4.3 Aplicaciones del software

1.4.4 Características del software

1.4.5 Mitos del software

1.4.5.1 Mitos de gestión

1.4.5.2 Mitos del cliente

1.4.5.3 Mitos de lo desarrolladores

1.4.6 Calidad del software como producto

1.5 El Proceso

1.5.1 Visión genérica

1.5.2 Fase de Definición

1.5.2.1 Análisis del sistema

1.5.2.2 Planificación del proyecto de software

1.5.2.3 Análisis de requisitos

1.5.3 Fase de Desarrollo

1.5.3.1 Diseño

1.5.3.2 Codificación

1.5.3.3 Prueba

1.5.3.3.1 Casos de prueba

1.5.3.3.1.1 Prueba de la caja negra

1.5.3.3.1.2 Prueba de la caja blanca

1.5.3.3.2 Estrategias de prueba

1.5.3.3.2.1 Prueba de unidad

1.5.3.3.2.2 Prueba de integración

1.5.3.3.2.3 Prueba de validación

1.5.3.3.2.4 Prueba del sistema

1.5.4 Fase de Mantenimiento

1.5.4.1 Corrección

1.5.4.2 Adaptación

1.5.4.3 Mejora

1.5.4.4 Reingeniería

1.5.5 Modelos de Proceso de Software

1.5.5.1 Modelos Lineales Secuenciales

1.5.5.1.1 Clásico (o de cascada)

1.5.5.1.2 Desarrollo Rápido de Aplicaciones

1.5.5.2 Modelo de Construcción de Prototipos

1.5.5.3 Modelos Evolutivos

1.5.5.3.1 Modelo en Espiral

1.5.5.3.2 Modelo Incremental

1.5.5.3.3 Modelo de ensamblaje de componentes

1.5.5.4 Técnicas de Cuarta Generación (T4G)

1.5.5.5 Métodos formales

1.5.5.6 Sala limpia (clean room)

1.5.6 Combinación de paradigmas

1.5.7 Calidad del software como proceso (C.M.M. e I.S.O.)

Parte II: Gestión de proyectos de software

2.1 Gestión de proyectos de software

2.1.1 Personal

2.1.1.1 Participantes

2.1.1.2 Jefes de equipo

2.1.1.3 Estructuras del equipo

2.1.1.4 Liderazgo

2.1.1.5 Delegación

2.1.1.6 Criterios para elección de estructura organizacional

2.1.2 Problema

2.1.2.1 Ámbito del software

2.1.2.2 Características del ámbito

2.1.2.3 Cuestionario para obtención del ámbito del software

2.1.3 Proceso

2.1.3.1 Maduración del problema y del proceso

2.1.3.2 Planificación de proyectos

2.1.3.3 Objetivo de la planificación

2.1.3.4 Estimación del coste y esfuerzo del proyecto

2.1.3.5 Métodos de estimación de costo

2.1.3.5.1 Comparación de métodos

Parte III: Análisis de requerimientos

3.1 Obtención de requerimientos

3.2 Problemas en la obtención de requerimientos (de alcance, de entendimiento y de volatilidad)

3.3 Metodología para la obtención de requerimientos

Parte IV: Análisis estructurado

4.1 Antecedentes y conceptos

4.2 Herramientas de modelado

4.2.1 Diagrama de flujo de datos

4.2.2 Diccionario de datos

4.2.3 Diagrama de entidad-relación

4.2.4 Especificaciones de proceso

4.2.5 Diagrama HIPO (Hierachy Input Process Output)

4.2.6 Tabla de decisión

4.2.7 Diagrama de flujo

4.2.8 Diagrama de Nassi-Shneiderman

4.2.9 Diagrama de Ferstl

4.2.10 Diagrama de transición de estados

4.3 Balanceo de modelos

Parte V: Diseño estructurado

5.1 Consejos para un diseño de calidad

5.2 Conceptos fundamentales de diseño

5.2.1 Abstracción

5.2.2 Refinamiento

5.2.3 Modularidad

5.2.4 Arquitectura del software

5.2.5 Jerarquía de control

5.2.6 Estructura de datos

5.2.7 Procedimiento del software

5.2.8 Ocultamiento de información

5.2.9 Diseño modular efectivo

5.2.9.1 Independencia funcional

5.2.9.2 Cohesión

5.2.9.3 Acoplamiento

5.3 Métodos de diseño

5.3.1 Diseño Arquitectónico

5.3.2 Diseño de datos

5.3.3 Diseño de la interfaz

5.3.4 Diseño procedimental

Parte VI: Codificación estructurada

6.1 Acciones a seguir para un buen estilo de codificación

6.2 Documentación interna del código

6.3 Lenguajes de Programación e Ingeniería del Software

6.3.1 El porqué de estudiar lenguajes de programación

6.3.2 Breve historia de los lenguajes de programación

6.3.3 Influencias en la evolución de los lenguajes de programación

6.3.4 Atributos de un buen lenguaje de programación

6.3.5 Paradigmas de los lenguajes de programación

6.3.5.1 Aspectos de Programación Imperativa del Tipo

Procedimental

6.3.6 Los lenguajes y sus niveles

6.3.7 Estructura sintáctica

6.3.7.1 BNF (Forma de Backus-Naur)

6.3.7.2 Esquemas (diagramas o gráfica) de sintaxis

6.3.7.3 Elementos significativos de un lenguaje de programación

(comparación de lenguajes)

Parte VII: Prueba estructurada

7.1 Objetivos de la Prueba

7.2 Principios de la Prueba

7.3 Atributos de una buena prueba

7.4 Diseño de Casos de prueba

7.4.1 Prueba de la caja blanca

7.4.2 Prueba de la caja negra

7.5 Estrategias de prueba

7.6 La Depuración

7.6.1 La dificultad de la depuración

Parte VIII: Mantenimiento estructurado

8.1 Tipos de mantenimiento

El proceso de mantenimiento

8.2 Costo del mantenimiento

8.3 Mantenimiento y configuración del software

1.1 Introducción

Ingeniería del Software

Ingeniería Conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuentes de energía (Diccionario de la Real Academia Española de la Lengua).

Conjunto de conocimientos y técnicas cuya aplicación permite la utilización racional de los materiales y de los recursos naturales, mediante invenciones, construcciones u otras realizaciones provechosas para el hombre (Real Academia de Ciencias Exactas, Físicas y Naturales de España).

Software • Instrucciones (programas de computadora) que cuando se ejecutan proporcionan la función y el rendimiento deseados.

• Estructuras de datos que permiten a los programas manipular adecuadamente la información.

• Documentos que describen la operación y el uso de programas.

1.2 Ingeniería del Software

• Estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software [Zelkovits,1978].

• Aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación asociada requerida para desarrollar, operar (funcionar) y mantenerlos [Bohem,1976].

• Disciplina tecnológica y administrativa dedicada a la producción sistemática de productos de programación, que son desarrollados y modificados a tiempo y dentro de un presupuesto definido [Fairley,1990]

A partir de una combinación de las anteriores, podría sugerirse la siguiente definición:

"Disciplina tecnológica dedicada a la generación de productos de programación que son definidos, desarrollados y mantenidos tanto a un tiempo, costo y con la calidad previamente especificada".

1.3 Dualidad del software

Sabemos que la luz se define tanto como ondas electromagnéticas como por un flujo de partículas energéticas llamadas fotones; que un ser humano se compone tanto de alma como de cuerpo; que (dentro del contexto gramatical) un número dual es el que en ciertas lenguas, como el griego, designa dos personas o dos cosas y que existen sistemas filosóficos y religiosos que admiten dos principios, ya sea el bien o el mal, alma y cuerpo, etc. Se le llama entonces dualidad de la luz, dualidad del ser humano, dualidad de un número y dualidad de sistemas filosóficos y religiosos respectivamente. De la misma manera, dentro del ámbito computacional existe la dualidad del software, ya que se le puede estudiar desde dos enfoques: tanto como producto como proceso.

Los enfoques producto y proceso se encuentran implícitos en la definición de la Ingeniería del Software, área de estudio que se define como una disciplina tecnológica dedicada a la generación de productos de programación que son definidos, desarrollados y mantenidos tanto a un tiempo, costo y con la calidad predeterminada.

Como producto es un transformador de información que genera, gestiona, adquiere, modifica, muestra o bien transmite la información que puede ser tan simple como un solo bit o tan compleja como una simulación en ambientes que requieran simultáneamente recursos como el sonido, datos e imágenes. El software hace entrega a empresas y universidades el resultado de su transformación: la información, esto es, su función ha sido en los últimos años el de satisfacer preguntas planteadas. Se estudia entonces su evolución, sus problemas,

...

Descargar como (para miembros actualizados) txt (258 Kb)
Leer 138 páginas más »
Disponible sólo en Clubensayos.com