Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Contenido Temtico
1 - Introduccin a la Ingeniera de Software 2 - Anlisis de Requisitos del Sistema 3 - Diseo de Interfaces con el Usuario 4 - Manejo de Tcnicas de Prueba de Software 5 - Anlisis del Mantenimiento de Software 6 - Aplicaciones de Ingeniera de Software (8 hrs.) (8 hrs.) (8 hrs.) (8 hrs.) (8 hrs.) (8 hrs.)
Forma de Trabajo
Exmenes, Tareas, Investigaciones Asistencia, Puntualidad, Actitud Proyecto Final (Sistema + Documentacin) 40 % ______ 100 % 50 % 10 %
I - Introduccin a El la Ingeniera de producto y un vehculo mediante Software (SW) tiene un papel duales un el cual se entrega un producto. Software
a por el Hardware (HW) de una computadora o por una red de computadoras accesible mediante
La adquisicin la modificacin El despliegue o la transmisin de la informacin Puede ser tan simple como un solo bit
I - Introduccin a la Ingeniera de Que es el SW? Es el producto que disean y construyen los ingenieros de SW y despus Software mantienen en largo plazo.
Incluye: Los programas que se ejecutan dentro de una computadora de cualquier tamao y arquitectura. El contenido que se presenta conforme los programas se ejecutan Los documentos, tanto fsicos como virtuales.
I - Introduccin a Caractersticas del SW: la Ingeniera de El SW se desarrolla, no se fabrica o manufactura en el sentido clsico. Software
Existen similitudes entre desarrollo de SW y HW pero son diferentes en lo fundamental. En ambos casos la calidad se alcanza mediante un buen diseo. En el HW, su manufactura puede incluir problemas de calidad existentes fciles de corregir. En el SW ambas actividades dependen de la persona. Los costos de SW se concentran en la Ingeniera. El SW no se puede manejar como proyectos de manufactura.
I - Introduccin a Caractersticas del SW: la Ingeniera de El SW no se desgasta o estropea. Software numero de fallas al inicio de su vida, despus El HW tiene un alto
se corrigen los defectos y las fallas bajan a un nivel estable, y con el paso del tiempo, la tasa fallas se eleva debido a desgaste del HW, acumulacin de polvo, vibraciones, etc. El SW es inmune a los males ambientales que desgastan el HW, los defectos sin descubrir causan fallas en las primeras etapas de vida de un programa. Cuando los errores se corrigen, la curva se aplana. El SW no se desgasta, pero si se deteriora. Cuando un HW se desgasta, se sustituye con un repuesto, con el SW no existen repuestos. Cualquier falla de SW implica error de diseo o de proceso
Cambio
Curva real
Curva Idealizada
Tiempo Tiempo
I - Introduccin a Caractersticas del SW: la Ingeniera de Software Aunque la industria tiende a ensamblar componentes, la mayora del SW se
construye a medida.
En el mundo del HW la reutilizacin de componentes es parte natural del proceso de ingeniera. En el mundo del SW es algo que se solo a empezado a lograrse en una escala amplia. El componente de SW debera disearse e implementarse para que pueda volver a ser reutilizable en muchos programas diferentes.
-Coleccin de programas escritos para servir a otros programas. -Algunos programas de sistemas (compiladores, editores y utileras para administracin) procesas estructuras de informacin complejas determinadas. -Otras aplicaciones de sistemas (componentes de SO, controladores, SW de red) procesan datos indeterminados. -Se caracteriza por una interaccin muy intensa con el HW de la computadora; utilizacin de mltiples usuarios, operacin concurrente, comparticin de recursos, estructuras de datos complejas y mltiples interfaces externas.
I - Introduccin a Categoras de Aplicacin del SW: la Ingeniera de SW de Aplicacin Software que resuelven una necesidad de negocios especifica. -Programas independientes
-Procesan datos empresariales o tcnicos para facilitar las operaciones de negocios o toma de decisiones. -Se utiliza para controlar las operaciones de negocios en tiempo real (procesamiento de transacciones en puntos de venta, control de procesos de manufactura en tiempo real.)
I - Introduccin a Categoras de Aplicacin del SW: la Ingeniera de SW cientfico y de Ingeniera Software -Se caracteriza por algoritmos devoradores de nmeros.
-Abarca desde la astronoma hasta la vulcanologa, anlisis de tensin automotriz, dinmica orbital de transbordadores espaciales, etc. -El diseo asistido por computadora, simulacin de sistemas y otras aplicaciones interactivas han empezado a tomar caractersticas de SW en tiempo real e incluso de SW de Sistemas. -
-Reside dentro de una memoria de solo lectura del sistema (ROM). -En el se implementan y controlan caractersticas y funciones para el usuario final y del mismo sistema. -Puede desempear funciones limitadas y curiosas Control de teclado de un horno de microondas -Puede proporcionar capacidades de control y funcionamiento significativas Funciones digitales de un automvil. control de combustible. Despliegue de datos en el tablero. Sistema de frenado, etc.
-Diseados para proporcionar una capacidad especifica y la utilizacin de muchos clientes diferentes. -Se pueden enfocar en un nicho de mercado limitado (Productos para control de inventarios) o a mercados masivos (aplicaciones de procesadores de palabras, hojas de clculos, multimedia, etc.)
I - Introduccin a Categoras de Aplicacin del SW: la Ingeniera de Software Aplicaciones basadas en WEB (WebApps)
-Son apenas un poco mas que un conjunto de archivos de hipertexto ligados que presentan la infamacin mediante texto y algunas grficas y que engloban un espectro amplio de aplicaciones - Estn evolucionando hacia ambientes computacionales sofisticados que adems de ofrecer funciones de computo y contenidos independientes al usuario final tambin estn integrando bases de datos corporativas y aplicaciones de negocios.
-Utiliza algoritmos no numricos en la resolucin de problemas complejos que es imposible abordar por medio de un anlisis directo. -Incluye las aplicaciones para: Robtica Sistemas expertos Reconocimiento de patrones (imagen y voz) Redes neuronales artificiales Comprobacin de teoremas Juegos en computadoras
I - Introduccin a la Ingeniera de Que es la Ingeniera de SW? Software 1 - Disciplina dentro de la informtica encargada de la creacin de SW de calidad.
2 - Es el establecimiento y uso de principios slidos de la ingeniera para obtener econmicamente un SW confiable y que funcione de modo eficiente en maquinas reales
Objetivo de la Ingeniera de SW
Mejorar la calidad de los productos de SW Aumentar la productividad y trabajo de los ingenieros de SW Facilitar el control del proceso de desarrollo de SW Suministrar a los desarrolladores bases para construir SW de alta calidad de forma eficiente Definir una disciplina que garantice la produccin y mantenimiento de productos de SW desarrollados en un plazo fijado y dentro de un costo estimado.
I - Introduccin a la Ingeniera de Proceso de SW Software Cuando se trabaja para construir un producto o sistema es importante seguir una serie de pasos
predecibles: una especie de mapa de carreteras que nos ayuden a crear un resultado de alta calidad y a tiempo. El mapa de carreteras que debe seguirse se llama Proceso de Software
- Marco de trabajo para las tareas que se requieren en la construccin de software de alta calidad. - Conjunto estructurado de actividades requeridas para el desarrollo de un sistema de software - Secuencia de pasos requeridos para el desarrollo o mantenimiento de un Software
I - Introduccin a la Ingeniera de Proceso de SW ( ) Software -Tiene como propsito la produccin eficaz y eficiente de un producto software que rena los
Continuacin
requisitos del cliente -Las actividades en el desarrollo de SW varan dependiendo de la organizacin y del tipo de sistema a desarrollarse
Porque es importante el proceso de SW? Porque ofrece estabilidad, control y organizaron en una actividad que puede volverse catica si no se controla. El Proceso es sinnimo de ingeniera de SW? -La respuesta es SI y NO. -Un proceso de SW define el enfoque que se adopta mientras el SW esta en desarrollo, pero la ingeniera de SW tambin abarca las tecnologas que requiere el proceso (Mtodos tcnicos y herramientas automatizadas).
I - Introduccin a la Ingeniera de Caractersticas del Proceso Software -Entendible: Se encuentra el proceso bien definido y es entendible?
-Visible: El proceso es visible al exterior? -Soportable: Puede el proceso ser soportado por herramientas CASE? -Aceptable: El proceso es aceptado por aquellos involucrados en el? -Confiable: Los errores del proceso son descubiertos antes de que se conviertan en errores del producto? -Robusto: Puede continuar el proceso a pesar de problemas inesperados? -Mantenible: Puede el proceso evolucionar para cumplir con los objetivos organizacionales? -Rapidez: Que tan rpido puede producirse el sistema ?.
I - Introduccin a Ingeniera de SW: Una tecnologa estratificada la Ingeniera de Cualquier enfoque de la ingeniera (incluyendo la ingeniera de SW) debe estar sustentado en un Software compromiso de calidad.
Es la base de la ingeniera de SW Elemento que mantiene juntos los estratos de la tecnologa Permite el desarrollo racional y a tiempo del SW Define marco de trabajo para la entrega efectiva de la ingeniera de SW Forma la base para el control de la gestin de los proyectos de SW Establece el contexto donde se aplican los mtodos tcnicos
I - Introduccin a la Ingeniera de Ingeniera de SW: Una tecnologa estratificada Software Los mtodos
Proporcionan los como tcnicos para construir SW Abarcan un amplio espectro de tareas que incluyen: Comunicacin Anlisis de requisitos Modelado del diseo Construccin del programa Realizacin de pruebas Soporte
Las Herramientas: Proporcionan el soporte automatizado o semiautomatizado para el proceso y los mtodos
I - Introduccin a la Ingeniera de Marco de Trabajo para el Proceso Software -Establece la base para un proceso de SW completo al identificar un nmero pequeo de
actividades aplicables a todos los proyectos de SW sin importar tamao o complejidad.
-
-El marco de trabajo abarca tambin un conjunto de actividades sombrilla aplicables a lo largo del proceso de SW. -Cada actividad dentro del marco de trabajo contiene un conjunto de tareas que produce un producto de trabajo de Ing. de SW. -Cada accin la forman tareas de trabajo individuales que completan alguna parte del trabajo implicado para la accin. -
I - Introduccin a Marco de Trabajo para el Proceso la Ingeniera de Software Marco de trabajo del proceso
Actividades Sombrilla
Actividad del marco de trabajo # 1 Actividad del marco de trabajo # n Accin de la Ing. de SW # n.1 Conjunto de tares ...
Tareas del trabajo Productos del trabajo Puntos de aseguramiento de la calidad Fundamentos del proyecto
Proceso de SW
I - Introduccin a la Ingeniera de Marco de Trabajo para el Proceso Software Marco de trabajo genrico aplicable a la inmensa mayora de los proyectos de SW.
-Comunicacin: Implica una intensa colaboracin y comunicacin con los clientes, adems abarca la investigacin de los requisitos y otras actividades relacionadas. - Planeacin: Establece un plan para el trabajo de ingeniera de SW. Describe tareas tcnicas que deben realizarse, riesgos probables, los recursos que sern requeridos, productos de trabajo que se han de producirse y un programa de trabajo. -Modelado: Abarca la creacin de modelos que permiten al desarrollador y al cliente entender mejor los requisitos de SW y el diseo que lograr satisfacerlos. - Construccin: Combina la generacin de cdigo (manual o automatizado) y la realizacin de pruebas necesarias para descubrir errores en el cdigo. -Despliegue: El SW se entrega al cliente, quien evala el producto recibido y proporciona informacin basada en su evaluacin.
I - Introduccin a Marco de Trabajo para el Proceso la Ingeniera de Actividades sombrilla del marco de actividades genrico. Software
-Seguimiento y control del proyecto de SW: Permite al equipo de SW evaluar el progreso comparndolo con el plan del proyecto y tomar las acciones necesarios para mantener el programa. -Gestin de riesgo: Evala los riesgos que puedan afectar los resultados y/o calidad del proyecto -Aseguramiento de la calidad de SW: Define y conduce las actividades para asegurar la calidad del SW -Revisin de tcnicas formales: Evala productos d trabajo de Ing. de SW encaminado a descubrir y eliminar errores para que no se propaguen a la siguiente actividad.
I - Introduccin a Marco de Trabajo para el Proceso la Ingeniera de Actividades sombrilla del marco de actividades genrico. Software
-Medicin: Define y recolecta mediciones de proceso, proyecto y producto para ayudar a entregar SW que satisfaga las necesidades del cliente. -Gestin de la configuracin del SW: Maneja los efectos de cambio a travs del proceso de SW. -Gestin de la reutilizacin: Define criterios para reutilizacin de productos de trabajo y establece para creacin de componentes reutilizables. -Preparacin y produccin del producto de trabajo: Abarca actividades requeridas para crear productos del trabajo como modelos, documentos, registros, formatos y listas.
I - Introduccin a la Ingeniera de Modelo Prescriptivos de Proceso - LlamadosSoftware Prescriptivos porque prescriben un conjunto de elementos del proceso: actividades
del marco de trabajo, acciones de Ing. de SW, tareas, productos de trabajo, aseguramiento de la calidad y mecanismos de control del cambio para cada proyecto. - Cada modelo prescribe un flujo de trabajo, esto es, la forma en la cual los elementos del proceso se interrelacionan entre si. - Todos los modelos del proceso de SW se ajustan a las actividades genricas del marco de trabajo. - Cada una aplica una importancia diferente a las actividades y define un flujo de trabajo que invoca cada actividad del marco de trabajo de una manera diferente
I - Introduccin a Modelo Prescriptivos de Proceso la Ingeniera de Modelo en Cascada (Ciclo de vida clsico) Software
-Sugiere un enfoque sistemtico secuencial hacia el desarrollo de SW -Inicia con la especificacin de requerimientos del cliente y continua con la plantacin, modelado, construccin y despliegue y terminar con el soporte del SW Comunicacin
Inicio del proyecto Recopilacin de requisitos
Planeacin
Estimacin Itinerario Seguimiento
Modelado
Anlisis diseo
Construccin
Cdigo Prueba
Despliegue
I - Introduccin a Modelo Prescriptivos de Proceso la Ingeniera de Modelo en Cascada (Ciclo de vida clsico) Software -Ventajas:
Excelente cuando se tiene un producto estable y se conoce la tecnologa Mtodo muy estructurado que funciona bien con gente de poca experiencia Provee estabilidad en los requerimientos La planeacin de puede hacer anticipadamente til en proyectos grandes -Desventajas: Poca flexibilidad En la realidad los proyectos raramente siguen un flujo secuencial Para el cliente es difcil mostrar todos los requisitos explcitamente y con anticipacin Inflexible y no motiva al cambio Participacin limitada del usuario Inapropiado en aplicaciones para toda de decisiones
I - Introduccin a Modelo Prescriptivos de Proceso la Ingeniera de Modelos de Procesos Incrementales Software -Modelo Incremental
Combina elementos del modelo en cascada aplicado en forma iterativa. Aplica secuencias lineales de forma escalonada conforme avanza el tiempo Cada secuencia lineal produce incrementos de SW A menudo el primer incremento de un producto es esencial al incorporar los requisitos bsicos Con forme se evalan los resultados se desarrolla un plan para el incremento siguiente El modelo se enfoca en la entrega de un producto operacional en cada incremento. Es til sobre todo cuando el personal necesario para una implementacin completa no esta disponible. Los incrementos se pueden planear para manejar los riesgos tcnicos
I - Introduccin a Modelo Prescriptivos de Proceso la Ingeniera de Modelos de Procesos Incrementales Software -Modelo Incremental
Incremento # 2 Entrega del segundo incremento Incremento # 1 Entrega del primer incremento
I - Introduccin a Modelo Prescriptivos de Proceso la Ingeniera de Modelos de Procesos Incrementales Software -Modelo Incremental
Ventajas:
Los clientes no esperan hasta el final para utilizar el sistema Los clientes pueden aclarar los requisitos que no tengan claros conforme ven las entregas del sistema Disminucin del riesgo total del proyecto Las partes mas importantes son entregadas primero pudindoles realizar mas pruebas y as reduciendo el riesgo
Desventajas:
Cada incremento debe ser pequeo (20,000 lneas) Cada incremento debe aumentar la funcionalidad Dificultad de establecer correspondencia de requisitos contra los incrementos Difcil detectar las unidades o servicios genricos para todo el sistema
I - Introduccin a Modelo Prescriptivos de Proceso la Ingeniera de Modelos de Procesos Incrementales Software rpido de Aplicaciones (DRA) -Modelo Desarrollo
Caracterizado por un ciclo de desarrollo corto Adaptacin de alta velocidad del modelo en cascada Logra el desarrollo mediante un enfoque de construccin basado en componentes El DRA cumple con las actividades genricas del marco de trabajo
I - Introduccin a Modelo Prescriptivos de Proceso la Ingeniera de Modelos de Procesos Incrementales Software rpido de Aplicaciones (DRA) -Modelo Desarrollo
Ventajas: Desventajas:
Velocidad de desarrollo alto Ciclo de desarrollo corto En proyectos grandes escalables se necesita mucho recurso humano Si desarrolladores y clientes no se comprometen el proyecto falla Si no se modula de forma apropiada la creacin de componentes ser problemtica El DRA es inapropiada cuando hay riesgos tcnicos altos Tiempo limitado (60 90 das)
I - Introduccin a Modelo Prescriptivos de Proceso la Ingeniera de Modelos de Procesos Incrementales Software rpido de Aplicaciones (DRA) -Modelo Desarrollo
Equipo # 3 Modelado - de Negocio - De Datos - De Proceso Equipo # 2 Modelado - de Negocio - De Datos - De Proceso
Comunicacin
Equipo # 1
Planeacin
Tiempo 60 90 das
I - Introduccin a la Ingeniera de Modelo de Proceso Evolutivos Software -Debido a que los requisitos de los negocios y productos a menudo cambian conforme se
realiza el desarrollo la ruta lineal que conduce al producto final no ser real lo que ocasiona problemas con la conclusin del producto. -En estas situaciones los ingenieros de SW necesitan un modelo de proceso que haya sido diseado de manera explicita para incluir un producto que evolucione con el tiempo. -Los modelos evolutivos son iterativos. -Los caracteriza la forma en que permiten que los ingenieros de SW desarrollen versiones cada vez mas completas de SW
-El paradigma de construccin de prototipos ayuda al desarrollador de software y al cliente a entender de mejor manera cul ser el resultado de la construccin cuando los requisitos estn satisfechos. -Este ciclo de vida en particular, involucra al cliente ms profundamente
El proceso Unificado