CONSTRUCCIÓN DE SOFTWARE Hardware
Sistema Operativo
Procesador, memoria, dispositivos de almacenamiento, dispositivos de entrada y salida; son componentes también llamados Recursos Gestiona, administra, maneja Algoritmos FIFO, Algoritmo de prioridades
Software de aplicaciones Barbero dormilón, Cena Filósofos Estados de un Proceso: Listo En Ejecución Pausa INGENIERÍA DE SOFTWARE Herramientas Métodos Proceso Compromiso con la calidad Tecnología en capas Herramientas: de desarrollo y gestión para mejorar la producción de software. Estas cubren distintas actividades del ciclo de desarrollo: requerimientos, diseño, construcción, pruebas, SQA, SCM. Métodos: los métodos de la ingeniería de software indican “cómo” construir técnicamente el software. Los métodos abarcan una gran gama de tareas que incluyen análisis de requisitos, diseño, construcción de programas, pruebas y mantenimiento. Proceso: Un proceso define quién hace qué, cuándo y cómo, para alcanzar cierto objetivo. Cinco actividades estructurales: comunicación, planeación, modelado, construcción y despliegue. Calidad: En todo el proceso se define por ejecutar sus procesos de calidad. CICLO DE VIDA DEL SOFTWARE Definición: ¿qué quiero hacer?: estudio de oportunidades, análisis de requisitos. Diseño: ¿Cómo lo haré?: modelos de software Construcción: Implementación Evaluación: Pruebas, puesta en marcha Mantenimiento: Bugs, incorporar nuevas funcionalidades CONSTRUCCIÓN DE SOFTWARE
Hace referencia a la creación detallada de software, por medio de una combinación de códigos, etc.
Capítulo I: Fundamentos de la construcción de SW
1. Paradigmas de la construcción de SW Desde los principios de la humanidad hemos enfrentado el modelamiento de la realidad. EL paradigma es la expresión de lo que el hombre siente y ve en su entorno. El objetivo es saber ¿Cómo representarla de manera que se pueda tener el control? Problema de construcción de Ruedas Creación de la rueda El material para las llantas La gasolina La contaminación Paradigma = Modelo Los paradigmas de programación son propuestas tecnológicas adoptadas por la comunidad de desarrolladores que se enfocan en resolver uno o varios problemas definidos y delimitados. Objetivo de los paradigmas de programación: solucionas los problemas clásicos desde diferentes perspectivas y filosofías. Paradigmas de desarrollo de software 1 Paradigma Imperativo: Es este paradigma se expresa cómo debe solucionarse un problema especificando una secuencia de acciones a realizar a través de uno o más procedimientos denominados subrutinas o funciones. Ejemplo: Suma de “n” números (definimos la entrada, la salida, proceso a seguir) Estructurado
private void button1_Click(object sender, EventArgs e) { int[] num = { 5, 8, 9, 12, 15 }; int suma = 0; for (int i = 0; i < 5; i++) { suma = suma + num[i]; textBox1.Text = Convert.ToString(suma); } }
Procedimental Modular 2 Paradigma Declarativo: Se describe la lógica de computación necesaria para resolver un problema sin describir UN FLUJO DE CONTROL de ningún tipo. Ejemplo: Determina si dos personas tienen parentesco familiar. (Crear base de conocimiento, no damos instrucciones, sino damos información) Funcional
private void button2_Click(object sender, EventArgs e) { int[] num = { 5, 8, 9, 12, 15 }; var resultado = num.Sum(x => x); textBox1.Text = Convert.ToString(resultado); }
Lógico
Reactivo 3 Paradigma Orientada a Objetos: Surge como resultado de un proceso de evolución en los mecanismos de abstracción. Es la primera forma de importante de representación de la Realidad. Los principios fundamentales son: Encapsulación Clase - Objeto Desktop applications 4 Paradigma Web: Es uno de los más complejos, no por su dificultad, sino por las tecnologías que constantemente están apareciendo. Front end: Cliente, parte gráfica Back end: Servidor, BBDD, usuarios, contenidos, recursos.
Tecnologias: Html Flash, Css JavaScript Java, ruby, php, C# Web Apps, mobile applications
RESUMEN: Los modelos utilizados para la Construcción de Software son influenciados por las tendencias que en el medio imperen, principalmente TECNOLOGICAS y ECONOMICAS. Además, requieren resolver más mecanismos que permitan hacer mejores representaciones de la realidad.
2 Lenguajes de programación Un lenguaje de programación es un lenguaje formal que especifica una serie de instrucciones para una computadora produzca diversas clases de datos. Los lenguajes … 2.1 Alto Nivel 2.2 Bajo Nivel Dependen de la complejidad o nivel de abstracción de los mecanismos. Ej: Bajo Nivel bajo nivel de abstracción 1 Instrucción (Pásame agua para tomar) 10 Instrucciones más pequeñas (abre el refrigerador…) Ensamblador (matemáticas, movimiento de datos) Alto Nivel Alto nivel de Abstracción 1 Instrucción (Archivo/Imprimir) Java / Visual Net (más funcionales) 3 Etapas de la construcción de software 4 Técnicas de simplificación de código
Capítulo II: Diseño de la construcción
Capítulo III: Tecnología de la construcción
Capítulo IV: Herramientas de construcción