Chimbote 2014 INGENIERIA DE INFORMATICA Y DE SISTEMAS INTRODUCCION Qu es el Software? Quin lo hace? Porqu es Importante? Cmo se Aplica ? Qu se obtiene ? Programas, Documentos, datos, etc. Utiliza un Proceso, Metodologia, mtodos, Unfoque de Ingenieria Porque esta hoy inmerso en nuestra cultura y en nuestras actividades diarias Los Ingenieros de Software Es un Producto, programas, documentos virtuales, datos, etc. Algunos Conceptos Ingeniera de Software I Ing. Edwin Cieza Ingeniera de Software Establecimiento de slidos principios de Ingeniera y buenas practicas de gestin, as como la evolucin de herramientas y mtodos y su uso cuando sea apropiado para obtener dentro de las limitaciones de recursos existentes, software que sea de alta calidad. ( F. Bauer 1972 ) Es el establecimiento y uso de principios robustos de la Ingeniera a fin de obtener econmicamente software que sea fiable y que funcione eficientemente. (Fritz Baur 1969 ) Qu es la Ingeniera de Software ? Ingeniera de Software I Ing. Edwin Cieza Es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable hacia el desarrollo, operacin y mantenimiento del software. ( IEEE 1993 ) La Ingeniera del Software se podra definir como el establecimiento y aplicacin de principios de la Ingeniera para obtener software. Teniendo en cuenta factores tan importantes como el coste econmico, la fiabilidad del sistema y un funcionamiento eficiente que satisfaga las necesidades del usuario. Ingeniera de Software I Ing. Edwin Cieza Herramientas Mtodos Proceso Un Enfoque de Calidad La Ingeniera de Software es un proceso multicapa, formado por un proceso, mtodos, herramientas apoyadas por u enfoque de calidad. Ingeniera de Software I Ing. Edwin Cieza Capas de la Ingeniera de Software Proceso Mtodos Indica como construir tericamente el software, Incluyen anlisis de requisitos, anlisis, diseo, construccin de programas, pruebas y mantenimiento. Define un marco de Trabajo para el desarrollo de Software en sus reas claves., que van a formar la base del control de proyectos del software. Ingeniera de Software I Ing. Edwin Cieza Es el software que se utiliza para desarrollar e integrar los mtodos y el proceso. Actualmente (Software asistida por existen los CASE computadora). Herramientas Es la correcta aplicacin de los mtodos y tcnicas, se establecen hitos que aseguren la calidad y el cambio se gestiona adecuadamente. Un Enfoque de Calidad Ingeniera de Software I Ing. Edwin Cieza Es un marco de desarrollo, donde de actividades, que son aplicables se definen un numero determinado a todos los proyectos complejidad de software, con independencia de su tamao y Marco de Trabajo Actividades del Marco comn Conjunto de Tareas Hitos Entregas El Proceso del Software Ingeniera de Software I Ing. Edwin Cieza PROCESODE INENIERIADE SO!T"ARE Ingeniera de Software I Ing. Edwin Cieza El proceso de ingeniera de software se define como "un conjunto de etapas parcialmente ordenadas con la intencin de logra un objetivo, en este caso, la obtencin de un producto de software de calidad" [Jacobson 1998]. El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseo y el diseo implementado en cdigo, el cdigo es probado, documentado y certificado para su uso operativo". Concretamente "define quin est haciendo qu, cundo hacerlo y cmo alcanzar un cierto objetivo" [Jacobson 1998]. PROCESODE INENIERIADE SO!T"ARE Ingeniera de Software I Ing. Edwin Cieza Actualmente se encuentra en una etapa de madurez el enfoque Orientado a Objetos (OO) como paradigma del desarrollo de sistemas de informacin. El OMG (El Object Management Group ) propone y adopta por consenso especificaciones entorno a la tecnologa OO. Una de las especificaciones ms importantes es la adopcin en 1998 del Lenguaje de Modelado Unificado o UML (del ingls Unified Modeling Language) como un estndar, que junto con el Proceso Unificado estn consolidando la tecnologa OO. PROCESODE INENIERIADE SO!T"ARE Ingeniera de Software I Ing. Edwin Cieza Comprende las 4 Ps 1. 2. 3. 4. Personal Producto Proceso Proyecto Es una actividad muy necesaria, cuando se construyen productos y sistemas para ser utilizados por la computadora Implica la planificacin, supervisicin, y control de personal del proceso y de los eventos que ocurren mientras evoluciona el software, desde la fase preliminar, implementacin al hasta la implantacin. ESTIONDE PRO#ECTOS DE SO!T"ARE Ingeniera de Software I Ing. Edwin Cieza Personal Proceso El Proceso debe de adaptarse al personal y al problema, Se selecciona una estructura comn de proceso Organizarse en equipos eficaces, motivados para realizar un software de calidad y coordinados para alcanzar una comunicacin efectiva. Ingeniera de Software I Ing. Edwin Cieza Producto Pro$ecto El Proyecto debe planificarse, estimando el esfuerzo y el tiempo para cumplir las tareas, estableciendo puntos de control de calidad. Debe definirse los objetivos y requerimientos de producto. Ingeniera de Software I Ing. Edwin Cieza Las mtricas son tambin utilizadas para sealar reas con problemas de manera que se puedan desarrollar las mejoras del procesos de software. Se renen los datos bsicos de calidad y productividad. Estos datos son entonces analizados, comparados con promedios anteriores, y evaluados para determinar las mejoras en la calidad y productividad. El proceso de Software y las mtricas del producto son una medida cuantitativa que permite a la gente del software tener una visin profunda de la eficacia del proceso del software y de los proyectos que dirigen utilizando el proceso como un marco de trabajo. Procesos de Software Mtricas del Proecto Ingeniera de Software I Ing. Edwin Cieza Proceso de Ingenier%a de So&t'are Medidas Pro$ecto de So&t'are M(tricas Producto del So&t'are Indicadores Evaluaci)n de M(tricas Calculo de M(tricas Reco+ilaci)n de Datos Proceso de !ecopilaci"n de Mtricas de Software Ingeniera de Software I Ing. Edwin Cieza Las mtricas orientadas al proceso y producto, son las de productividad Las mtricas tienen significado, solo si han sido examinadas para una validez estadstica En general un enfoque orientado a los objetivos, ayuda a una organizacin a centrarse en las mtricas adecuadas para su negocio. Las mtricas orientadas al tamao, hacen uso de las lneas de cdigo. Las mtricas permiten que una organizacin tome una visin estratgica proporcionando una mayor profundidad de la efectiva de un proceso de software. Proceso de !ecopilaci"n de Mtricas de Software Ingeniera de Software I Ing. Edwin Cieza Para una correcta gestin de proyecto, necesita una buena planificacin del proyecto. La Planificacin implica la estimacin del trabajo, cuanto dinero, esfuerzo, recursos y tiempo supondr construir u sistema o producto especifico de software. Es importante conocer el costo, tiempo que utilizar el proyecto antes de empezar el proyecto. Planifcaci"n de Proectos de Software Ingeniera de Software I Ing. Edwin Cieza Caractersticas para estimar el proyecto de software informacin de datos y de organizada, justificaciones El &actor S, re&leja la di&icultad en com+render el so&t'are a reutili-ar. Mu $a%o &a%o 'ominal (lto Mu alto Estructura Poca cohesin, acoplamiento alto, cdigo "espagueti" Cohesin moderada, acoplamiento alto Razonablemente bien estructurado; algunas reas fallas Cohesin alta, acoplamiento bajo Modularidad fuerte, encapsulada, abtracciones control Correlacin entre la estructura del programa y la aplicacin No hay correlacin Algo de correlacin Correlacin moderada Buena correlacin Alta correlacin Documentacin Oscura, confusa, obsoleta o incompleta Cdigo parcialmente comentado, algo de documentacin til adicional Moderadamente completa y clara Buena, con algunas fallas Excelente, bien incluye de diseo. SU 50 40 30 20 10 Ingeniera de Software I Ing. Edwin Cieza Persona Com+onentes de So&t'are reutili-ables Herramientas de Hard'are $ So&t'are Ingeniera de Software I Ing. Edwin Cieza Planificacin del Tiempo Ingeniera de Software I Ing. Edwin Cieza Proceso Herramienta Visual Notacin El )ri*ngulo de +esarrollo de Software Ingeniera de Software I Ing. Edwin Cieza