INGENIERIA DEL SOFTWARE

correo: myriam.geraldo@inacapmail.cl

Profesora: Myriam Geraldo D.

www.inacap.cl

Programa Asignatura

Ingeniería de Software
Ingeniería de Software es una asignatura lectiva del área de Informática. Su objetivo es ofrecer métodos, técnicas y prototipos, para desarrollar y mantener software, asegurando la calidad de los mismos, los que resolverán diversos problemas, Informático-Administrativos presentes en las organizaciones actuales.

Horas semestre: 70

Unidad 1 : Introducción A La Ingeniería De Software: Proceso Y Producto
Unidad 2 : Conceptos Básicos De Gestión De Proyectos De Software


Unidad 3 : Gestión De Proyectos
Unidad 4 : Modelo De Gobierno (Cobit)

Requisito Asistencia 60 %

www.inacap.cl

Bibliografía Recomendada
• Pressman , R. práctico. Ingeniería del Software: Un enfoque

• Mc. Connell, S. Desarrollo y gestión de proyectos informáticos. • Revisar programa asignatura (otros) Calendario de Evaluaciones:     Evaluación-1 : de Abril Evaluación-2 : de Mayo Evaluación-3 : de Junio Empresa-Proyecto desarrollo:
www.inacap.cl

INGENIERIA DEL SOFTWARE PARTE 1

www.inacap.cl

¿Qué es Ingeniería?
• Es el conjunto de conocimientos y técnicas científicas aplicadas a la invención, perfeccionamiento y utilización de la técnica industrial para la resolución u optimización de problemas

¿Qué es ser Ingeniero?

-Saber realizar de diseños y soluciones tecnológicas a necesidades sociales, industriales o económicas. -Saber identificar y comprender los obstáculos mas importantes para poder realizar un buen diseño (limitaciones físicas o técnicas, de coste, de flexibilidad, estéticas y comerciales). -Saber utilizar el conocimiento de la ciencia y la experiencia apropiada para encontrar las mejores soluciones a los problemas concretos.
www.inacap.cl

cl .INGENIERIA DE SOFTWARE “Es una disciplina o área de la informática o ciencias de la computación . hasta el mantenimiento del sistema tras su puesta en marcha” Ingeniería del Software –Ian Sommerville www. que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo” “La Ingeniería del Software es la disciplina de ingeniería encargada de todos los aspectos relacionados con la producción de software desde sus etapas más tempranas de la especificación del sistema.inacap.

cl . herramientas.INGENIERIA DE SOFTWARE • Disciplina de ingeniería ◦Los ingenieros de software usan las métodos.inacap. www. • Producción de software .Planificación de proyectos .Dirección de proyectos. procedimientos y paradigmas para solucionar los problemas que aparecen ◦Incluso teniendo en cuenta restricciones económicas de organización.Procesos técnicos de desarrollo de software .Administración de proyectos software .

inacap.• Proceso Software: procedimiento formal para producir algún resultado. 2 minutos 5 minutos www.cl .

Herramienta: instrumento para realizar algo de mejor manera. www.inacap.cl .

Paradigma: Representa una filosofía para la construcción de software • Cocina mexicana: • Cocina mediterránea: • Cocina japonesa: www.inacap.cl .

cl .inacap. dinero Obligación contractual Desarrollador Usuario Necesidades Construye el sistema Sistema de software Usa el sistema www.¿Quién hace Ingeniería del Software? Cliente Patrocina el desarrollo del sistema Necesidades.

cl .inacap. del Software? • Para superar la crisis del software y terminar con los mitos del software hasta ahora existentes • Para acabar con las malas prácticas de desarrollo y mantenimiento de software llevadas a cabo por las empresas • Crear software de calidad www.¿Por qué surge la Ing.

etc) • Hoy en día dejamos mucho de nuestra vida en manos del software (seguridad. de diseño. bienestar) www. entretención. de negocios. trabajo.inacap.INTRODUCCION AL SOFTWARE • A principios de los 80 no era muy conocido el termino “SOFTWARE” • Resuelve problemas de todo tipo (científicos. de comunicación.cl . de ingeniería.

o administra la comunicación (redes/protocolos). produciendo.inacap. gestionando.O).INGENIERIA DE SOFTWARE LA EVOLUCIÓN DEL SOFTWARE • Hoy en día tiene un doble papel: es un producto vehículo para hacer entrega de un producto. y un Producto: Hace entrega de la potencia informática al hardware informático (trasformando.cl . o forma parte de la creación y control de otros programas (herramientas de software y entornos) www. adquiriendo y modificando información) Vehículo: Cuando pasa a ser la base de control del computador (S.

grandes aumentos de la memoria y la capacidad de almacenamiento) www.inacap. debido a enormes mejoras en el rendimiento del hardware (cambios de arquitecturas.INGENIERIA DE SOFTWARE LA EVOLUCIÓN DEL SOFTWARE • El software hace entrega de lo que muchos piensan será el producto mas importante del siglo XXI INFORMACIÓN • El papel del software ha cambiado significativamente en la segunda mitad del siglo 20.cl .

prueba.inacap. mantiene) www.Dependencia de personas (programa.Software a Medida CONSECUENCIAS .cl .Distribución Limitada .Principal Preocupación el Hardware .Alto Costo .INGENIERIA DE SOFTWARE LA EVOLUCIÓN DEL SOFTWARE Primeros años: Años 50 a Mitad de los 60 -Orientación por lotes .Desarrollo sin planificación .

no poder modificarlos) www.Tiempo real .Aparecen las casas de Software .inacap.Alta Distribución .Comienza la crisis del software (alto costo de mantención.Multiusuario .Aparece el termino “Mantener el Software” .Bases de datos .cl .Producto Software CONSECUENCIAS .INGENIERIA DE SOFTWARE LA EVOLUCIÓN DEL SOFTWARE Segunda Era: Hasta Mitad de los 70 .

inacap.Se caracteriza por la llegada y el amplio uso de los microprocesadores .cl .Impacto en el consumo CONSECUENCIAS .INGENIERIA DE SOFTWARE LA EVOLUCIÓN DEL SOFTWARE Tercera Era: Mitad de los 70 à Principios de los 90 .Sistemas Distribuidos .Nacen los PC www.Hardware de Bajo costo .Incorporación de Inteligencia .

Aparece internet www.Tecnologías orientadas a Objeto .Sistemas expertos .inacap.Sistemas personales potentes .Redes neuronales CONSECUENCIAS .La cuarta era se aleja de los computadores individuales -Las arquitecturas cambian de entornos centralizados a descentralizados .INGENIERIA DE SOFTWARE LA EVOLUCIÓN DEL SOFTWARE Hoy en Día: .cl .

cl .INGENIERIA DE SOFTWARE EL SOFTWARE ¿QUÉ ES SOFTWARE COMPUTACIONAL? • El software son instrucciones (programas) que cuando se ejecutan proporcionan la Función y el rendimiento deseado • Estructuras de datos que permiten a los programas manipular adecuadamente la información • Documentos que describen la operación y el uso de programas www.inacap.

no se fabrica en un sentido clásico • El software no se “echa a perder” RECURSOS Hardware RECURSOS CAMBIOS Software CURVA IDEALIZADA DEL SW fallas fallas Tiempo Tiempo • La mayoría del software se desarrolla a medida. en vez de ensamblar componentes existentes www.INGENIERIA DE SOFTWARE CARACTERISTICAS DEL SOFTWARE • El software se desarrolla.inacap.cl .

I Problemática del Desarrollo de Sistemas de Información www.inacap.cl .

www.Crisis del Software Dificultad en escribir programas libres de defectos.inacap. y que sean verificables(Dijkstra–1968) La industria del software no ha podido satisfacer la demanda. fácilmente comprensibles.cl . La complejidad del software producido y demandado se incrementa constantemente.

cl .inacap.Crisis del Software Causas • • • • Los proyectos no terminaban en plazo Los proyectos no se ajustaban al presupuesto inicial Software que no cumplía las especificaciones Código inmantenible que dificultaba la gestión y evolución del proyecto www.

www.inacap.cl . Tiempo y Presupuesto Excedido.Crisis del Software Consecuencias – – – – Baja Calidad del Software. Confiabilidad Cuestionable. Altos Requerimientos de Personal para desarrollo y mantenimiento.

Crisis del Software Factores de influencia • • • Aceptación de la computarización en las empresas.cl .inacap. Tipo de usuario no homogéneo aun en sistemas hechos a la medida. Incremento en el número de usuarios de los sistemas de software. www.

inacap.cl .Crisis del Software Preguntas • • • ¿Cómo desarrollar software? ¿Cómo dar mantenimiento al creciente volumen de software? ¿Cómo poder mantenerse al corriente a la creciente demanda de software? www.

Crisis del Software Preguntas • • • • ¿Porqué lleva tanto tiempo terminar los programas? ¿Porqué tan caro? ¿Porqué no podemos encontrar todos los errores? ¿Porqué es tan difícil evaluar el avance? www.cl .inacap.

inacap.cl .Actividad PREGUNTAS: – ¿Cómo desarrollan el software en las organizaciones? – ¿Los desarrolladores de hoy en día están concientes del problema del ciclo de software? www.

cl .inacap.I Conceptos www.

tablas. de tal manera que la sustracción de cualquiera de los elementos del conjunto daría como resultado que el propósito no se cumpliera. etc. www. reportes.Software Programas Estructura de datos + algoritmos (Software) Producto de software Conjunto de elementos de software (programas. documentación.) que tienen un propósito específico y completo desde el punto de vista del usuario.inacap.cl .

La mayor parte del gasto del software es en productos genéricos.Productos de Software Productos genéricos (sw de mostrador) Desarrollados por una organización para ser vendidos al mercado. www. Productos hechos a medida Desarrollados bajo pedido a una empresa desarrolladora de software.inacap. pero hay más esfuerzo en el desarrollo de los sistemas hechos a medida.cl .

inacap.I Características del Software www.cl .

inacap.cl .Puntos de Vista • Como Producto • Como Proceso • Como Proyecto www.

etc.Como producto • Tiene definidas una fecha de inicio de desarrollo y una fecha esperada o estimada de terminación.inacap. (Carta Gantt.) • Apoya alguna función del usuario hacia el cual está dirigido. Pert. www.cl .

inacap. www. es lógico y no físico. • No se “desgasta”. pero puede quedar obsoleto. • Hecho por humanos.cl .Diferencias como producto • Se desarrolla y no se fabrica como otros productos. • No se estropea.

Atributos de los Productos de Software •Facilidad de mantenimiento •Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones. daños físicos o •Eficiencia •El software no debe desperdiciar los recursos del sistema.cl . •Utilización adecuada •El software debe contar tanto con una interfaz de usuario adecuada como con una documentación clara y precisa. •Confiabilidad •El software no debe causar económicos en el caso de fallas. www.inacap.

Metas de un producto Productividad Calidad Costos $ Tiempo www.cl .inacap.

INTERNET…) – Por área Funcional – Por nivel Jerárquico – Por tipo de Estructura Organizacional – Por Tiempo de Respuesta www.Categorización del sw. – Por tipo de Arquitectura (redes.cl . como producto • Formas de categorizar el software: – Por tipo de Aplicación o Disciplina.inacap.

www.inacap.Aplicación o disciplina • • • • • • • • Para sistemas Sistemas tiempo real Sistemas de Negocios Sistemas de Ingeniería/científico Sistemas Empotrado (Embebido) Sistemas de PC´s Sistemas de Inteligencia artificial Sistemas de Aplicaciones Web.cl .

editores. analizan y controlan sucesos del mundo real. Sistemas Operativos: Unix) www.cl .INGENIERIA DE SOFTWARE APLICACIONES DEL SOFTWARE El software puede aplicarse en cualquier situación en la que se haya definido previamente un conjunto específico de pasos procedimentales (es decir. el de tiempo real debe responder entre 1milisegundo y un Minuto (Sistemas de Tráfico Aéreo.inacap. ya que estos se pueden retrasar sin producir problemas. un algoritmo. gestores de archivos) -Software de Tiempo real: Son aquellos que miden. estructura lógica. no confundirlos con interactivo o tiempo compartido. diagrama. etc.) las siguientes áreas del software indican la amplitud de las acciones potenciales: -Software de Sistemas: Es un conjunto de programas que han sido escritos para servir a otros programas (compiladores.

inacap. funciones digitales de un automóvil.cl . aplicados en ( astronomía. biología molecular. etc.INGENIERIA DE SOFTWARE APLICACIONES DEL SOFTWARE -Software de Gestión: Son los que se refieren al procesamiento de información comercial. ) -Software Empotrado: Es el referido al software utilizado en los denominados productos inteligentes (sistemas de control de teclas en un microondas. etc. transacciones en puntos de ventas. nóminas. etc.) -Software de Ingeniería y científico: Su característica es la utilización de algoritmos complejos de manejo de números.) www. gestionan una adecuada toma de decisiones (Sistemas de inventarios.

-Software de Inteligencia Artificial (I. llamada redes neuronales artificiales (reconocen patrones complejos y aprenden de la experiencia pasada.inacap.cl . aquí se encuentran los sistemas expertos (basados en el conocimiento). Por Ej. planillas electrónicas. etc.A.A): Utiliza algoritmos no numéricos para resolver problemas. En los últimos años se ha desarrollado una nueva rama de la I.: la robótica que simula el comportamiento humano). multimedia. www. gestor de gráficos.INGENIERIA DE SOFTWARE APLICACIONES DEL SOFTWARE -Software de PC: Procesadores de Texto.

(SIA) Sistema de Automatización de Oficinas.inacap.cl .Niveles/Áreas Funcionales (Organización) Directivo Sistema Soporte Ejecutivo (SSE) Administración Sistema Soporte de Decisiones (SSD) Sistema Información Admo. (SAO) / Apoyo Trabajadores del Conocimiento (SATC) Sistema de Transacción de Operaciones (STP) Conocimiento Operacional www.

remuneraciones.etc. facturación .) • Sistemas Tácticos – Orientados a apoyar actividades de mandos intermedios: Estadísticas/ Reportes de excepción/Reportes Periódicos/Análisis Comparativos/Proyecciones/Detección Temprana de Problemas/Decisiones Rutinarias. por lo tanto no pueden adaptarse fácilmente a paquetes disponibles en el mercado.cl . (Inventarios.inacap.Actividad Soportada (Organización) • Sistemas Operacionales – Orientado hacia transacciones diarias. Su función es lograr ventajas que los competidores no posean. tales como ventajas en costos y servicios diferenciados con clientes y proveedores. • Sistemas estratégicos _ Suelen desarrollarse dentro de la organización (in house). Apoyan el proceso de innovación de productos dentro de la empresa www.

Son indispensables en aquellos casos en que los datos contenidos en los archivos se modifican varias veces en el transcurso de un día y se consultan en forma casi inmediata con las modificaciones que se efectuaron. un ejemplo de lo anterior es un sistema de reservaciones en alguna línea aérea o un grupo de transacciones bancarias los datos se actualicen de inmediato en los archivos de la computadora. Implica que los programas se ejecuten de tal forma que  Batch. y las tareas largas se pueden comenzar y dejar que se ejecuten hasta su finalización y no requieren una supervisión directa del operador o del programador. MS-DOS. Navegación local o remota para la selección del archivo a enviar. S.Tiempo de respuesta  Tiempo Real. También llamados procesamiento por lotes pueden automatizar instrucciones largas o repetitivas.inacap. www. Por Ej. es decir.O.cl .  En línea. la posibilidad de cometer errores en la captura de comando o directivas al sistema operativo se reduce considerablemente. se tiene la posibilidad de seleccionar un archivo que se encuentre en una computadora personal o en algún lugar de la red y enviarlo.

¿Qué es exactamente un proceso de software? Lo definiremos como un marco de trabajo de las tareas que se requieren para construir/desarrollar software de alta calidad.inacap.cl . www.. pero….INGENIERIA DE SOFTWARE Como PROCESO • El proceso del software ha sido el foco de atención de la última década .

un proceso de software define el enfoque que se toma cuando el software es tratado por la ingeniería . •Pero la tecnología del software también acompaña a las tecnologías que pueblan el proceso (métodos.cl .INGENIERIA DE SOFTWARE Como PROCESO ¿Es “proceso” sinónimo de Ingeniería de Software? •SI y NO.inacap. www. técnicas y herramientas automatizadas).

Puede dividirse en uno o más subproyectos conformados por subconjuntos de actividades.inacap.cl . www.Como Proyecto de Software Un proyecto está integrado por un conjunto de actividades para lograr uno o más productos de software.

cl .inacap. – soporte a trabajadores del conocimiento. – directivos. – administrativos.Actividad-1 • • • Proporcione ejemplos de sistemas: – operacionales. ¿Qué utilidad tendrá el clasificar los productos de software? ¿Cuál es el orden de importancia de las propiedades de un sistema de información? www.

cl .youtube.inacap. Los mitos tienen ciertos atributos que los convierten en insidiosos.com/watch?v=9_o0luQuMfU www.Mitos del Software Los mitos del software son creencias acerca del software y de los procesos empleados para construirlos. • El Gestor • El Cliente o Usuario • El Desarrollador www. algunas veces contienen elementos verdaderos…y se transmiten de generación en generación…. Por ejemplo.

soporte profesional externo…) www. – Si se falla en la planeación.inacap.cl .Mitos del Software • Gestor – Se tienen libros llenos de estándares y procedimientos para desarrollar software – Tienen lo mas avanzado en cómputo. LA REALIDAD: No sirve de nada trabajar con las mejores máquinas o utilizar las herramientas más modernas si el equipo no tiene los conocimientos necesarios para utilizarlas eficazmente (cursos de formación. se incluye mas personal. tienen super computadoras.

cl .Mitos del Software • Cliente – Una declaración general de objetivos es suficiente para empezar la programación del sistema. Es necesaria una exhaustiva comunicación entre el cliente y el analista.inacap. pero se pueden acomodar con facilidad. www. es la principal causa del trabajo inútil en software. LA REALIDAD: Una mala definición inicial de objetivos. Es esencial una descripción formal y detallada del ámbito de la información. – Los requisitos cambian.

proporciona guías para la tarea de mantenimiento del software. www. lo que es más importante. antes acabaremos” – Escrito y funcionando el programa ya terminó el proyecto – Solo funcionando el programa se puede evaluar la calidad del sistema. Entre el 50% y el 70% de todo el esfuerzo dedicado a un programa se realizará después de que se la haya entregado al cliente por primera vez. LA REALIDAD: Cuando más pronto se comience a escribir código. La documentación es la base de un desarrollo y. más se tardará en terminarlo. cuanto antes empecemos a programar.inacap.Mitos del Software Desarrollador – “No es necesaria ninguna metodología.cl . – Lo único que se entrega es el código funcionando.

Componentes del Software Los componentes del software se crean mediante una serie de traducciones que hacen corresponder.cl . Los componentes se construyen mediante un lenguaje de programación que tiene: • Un vocabulario limitado • Una gramática definida • Reglas de sintaxis y semántica www.inacap.

cl .inacap. • Ordene los mitos vistos de acuerdo con la creencia popular de las organizaciones • ¿Qué acciones se deben realizar en su organización para eliminar y/o atenuar los mitos del software? www.Actividad-2 • Describir los mitos del software libre.