Introducción a la Ingeniería del Software

  • Upload
    nevina

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Introducción a la Ingeniería del Software. Ing. Sonia Godoy H Informática empresarial. Introducción Ingeniería del Software. Desarrollo del hardware. Desde 1965 la Ley de Moore rige la evolución de los microprocesadores. Factores que imprimen aceleración al ritmo de crecimiento del hardware:. - PowerPoint PPT Presentation

Citation preview

Presentacin proyecto educativo colegio winchester

Introduccin a la Ingeniera del SoftwareIng. Sonia Godoy HInformtica empresarialIng-Sonia Godoy HIntroduccin Ingeniera del SoftwareDesarrollo del hardware

Desde 1965 la Ley de Moore rige la evolucin de los microprocesadoresFactores que imprimen aceleracin al ritmo de crecimiento del hardware:Consecuencias de la ley de MooreComunicaciones entre sistemasIncremento de la capacidad de operacin.Incremento de la miniaturizacin.Reduccin de costes en la produccin.Ing-Sonia Godoy H2Introduccin Ingeniera del SoftwareCrisis de software200019981995199428%23%49%26%28%46%27%40%33%16%31%53%xitoProblemticoFracasoEl proyecto se aborta o el sistema no se llega a utilizarDesbordamiento de agendas o costes. Las funcionalidades no cubren las expectativas. Problemas funcionalesProyecto realizado en el tiempo previsto, con los costes previstos, con la funcionalidad esperada y ofreciendo un funcionamiento correcto.Proyectos para el desarrollo de sistemas de software200429%19%53%Ing-Sonia Godoy H3Qu es Software?Los productos de software se pueden desarrollar para un cliente en particular o pueden ser desarrollados para un mercado general.Productos de software pueden ser:Genricos: desarrollados para ser vendidos a un tipo de clientes.Especficos: desarrollado para un cliente de acuerdo a sus necesidades especficas.Ing-Sonia Godoy HQu es Ingeniera de Software?La Ingeniera de Sofware es una disciplina de la Ingeniera que se preocupa de todos los aspectos de la produccin de software.

Aplicacin de los mtodos de la ingeniera al proceso de desarrollo de software:DiseoConstruccinMantenimiento

Ing-Sonia Godoy H

Tipos de productos software reas de aplicacin [Pressman, 2002] (ii)Software de ingeniera y cientficoAlgoritmos de tratamiento numrico: simulacin, estadstica, CAD...Diseo de algoritmos y estructuras de datosClculo intensivoParalelizacinSoftware empotradoReside en memoria de slo lectura y se utiliza para controlar productos y sistemas de los mercados industriales y de consumoCaractersticas similares al de tiempo realSoftware de Inteligencia ArtificialAlgoritmos no numricos para resolver problemas complejos: sistemas expertos, reconocimiento de patrones, demostradores de teoremasIng-Sonia Godoy HSoftware de computadoras personalesHerramientas de escritorio, software para ocioAplicaciones WebSoftware accedido a travs de un navegador WebLos sistemas Web tienen una naturaleza y unos requisitos que difieren del software tradicionalTipos de productos software

Ing-Sonia Godoy HQu atributos tiene un buen Software?El software debera entregar la funcionalidad y desempeo requeridos por el usuario y debera ser mantenible, confiable y usable.MantenibilidadEl software debe evolucionar para cubrir necesidades cambiantes.ConfiabilidadNo debe causar daos fsicos o econmicos en el caso de fallo del sistemaFiabilidad, seguridad y proteccin.EficienciaEl software no debe malgastar los recursos del sistema.UsabilidadFcil de utilizarDebe tener una interfaz de usuario apropiada y una documentacin adecuada.Ing-Sonia Godoy HLa fase de desarrollo del ciclo de vida del software

Ing-Sonia Godoy HFases de desarrolloAnlisisEn la organizacin, se reconoce la necesidad de realizar una aplicacin computacional. Tiene que ver mas con la operacin de la organizacin.Identificacin de los usuarios y de sus necesidades, es conveniente analizar la situacin actual, cuando esta exista. Se debe conocer las necesidades de ,os usuarios de esta funcin y de sus expectativas.Identificar las salidas de informacin requeridas, las entradas de informacin existentes o determinar la forma de obtener la informacin si no existe, y los procesamientos requeridos de los datos (procesos de transformacin)El resultado de la fase de anlisis es el conjunto de requerimientos a satisfacer por el nuevo sistema. (ejemplo acceso de datos restringido a personal autorizado)Una vez aclarados los requerimientos, se convierten en especificaciones tcnicas del sistema a desarrollar (se debe tener una contrasea de 5 caracteres letras o dgitos)

DiseoDesarrollo de los detalles tcnicos del sistema propuestoDivisin en mdulosIngeniera Bsica o modelamiento conceptual de la solucin

Construccin e ImplantacinEscritura de programas, desarrollo de las bases de datos

PruebaPruebas de mdulos individuales, pruebas de integracin, prueba de sistemasEl ciclo de vida del softwareIng-Sonia Godoy HDocumentacin Definicinde requerimientosAnlisis del sistemaImplementacinIntegracin y PruebasExplotacin yMantenimientoDiseo del sistemaEl software no se desgastaSe modifica por errores no descubiertos en la fase de desarrollo obliga a alterar Por cambios en la aplicacinPorque cambios en una modificacin anterior provocan problemas en otra parteEjemplo: cambios de las leyes obliga a cambiar el procedimiento de calculo del sueldo, y ese cambio provoca cambios en otra parte del programa.El proceso de modificacin requiere que una persona, usualmente diferente del programador original, estudie el programa y su documentacin hasta entenderlo, de otra forma podra introducir mas problemas de los que ya tiene.Muchas veces es preferible desechar el programa y escribirlo de nuevo, que modificarlo. 1. Definicin de requerimientos Estudio detallado de la situacin actual del problema a tratar, definicin de los requerimientos que debe cumplir el nuevo sistema

2. Anlisis del sistemaEspecificacin estructurada utilizando diferentes tcnicas de diagramas para modelar el sistema nuevo

3. DiseoEstablecer un conjunto de mdulos e interfacies entre ellos, desglosando la especificacin obtenida en la fase de anlisis, facilitando la tarea de codificacin, transformacin de los modelos lgicos de datos a fsicos

4. Implementacin (codificacin) Cada mdulo como resultado de la fase anterior es traducido a la herramienta o lenguaje apropiado.Ciclo de vida en cascada: Etapas 5. Integracin y pruebasVerificacin del correcto funcionamiento de cada mdulo y todo el sistema una vez ha sido integrado, detectar errores en la codificacin, definiciones de requerimientos y de diseo

6. Explotacin y mantenimientoGarantizar el mantenimiento del sistema, correccin de errores detectados en esta fase, adaptacin del sistema a nuevos entornos.

Cul es la etapa que absorbe la mayora de tiempo?La fase de explotacin y mantenimiento, y es un coste adicional para el cliente

Ciclo de vida Introduccin Ingeniera del SoftwarePrincipales organizaciones de estandarizacinISOSEI

IEEE Computer SocietyIEEE Es el Instituto de Ingenieros en electricidad y electrnica (Institute of Electrical and Electronics Engineers).

Ing-Sonia Godoy H13Introduccin Ingeniera del SoftwareISO 12207ISO 1227 define los procesos que componen el ciclo de vida del softwareCiclo de vidaConceptoRetiradaProceso1ProcesoNActividad 1Tarea 1Tarea 2Tarea nActividad nTarea 1Tarea 2Tarea nIng-Sonia Godoy H14Introduccin Ingeniera del SoftwareISO 12207ACTIVIDAD 1TAREA 1TAREA 1TAREA X PROCESOACTIVIDAD n Un proceso est compuesto por actividades.

Una actividad est compuesta de tareas.La descomposicin del proceso en actividades y tareas se realiza sobre el concepto de ciclo de mejora PDCA Plan Do Chek Act (Planificacin, ejecucin, medicin y mejora)Ing-Sonia Godoy H15PLANTareas, agenda, asignacionesCHECKEvaluacin ymedicinDOEjecucin de planesy tareasACTProblemas y accionescorrectivasPROCESOINICIOFINISO 12207Ing-Sonia Godoy HIntroduccin Ingeniera del SoftwareINGENIERA DE SISTEMASConjunto de elementos de hardware, software, personas, procedimientos, herramientas y otros factores organizativos, organizados para llevar a cabo un objetivo comn.SistemaElemento delsistemaElemento delsistemaElemento delsistemaElemento delsistemaSistema deEntradaSistema deSalidaSistemaIng-Sonia Godoy H17Introduccin Ingeniera del SoftwareINGENIERA DE SISTEMASFunciones de la Ingeniera de sistemasDefinicin del problema: Determinacin de las expectativas hacia el producto, necesidades y restricciones obtenidas y analizadas en los requisitos del sistema. Trabaja cerca del cliente para establecer las necesidades operacionales.Anlisis de la solucin: Determinar las opciones posibles para satisfacer los requisitos y las restricciones. Estudiar y analizar las posibles soluciones. Seleccionar la mejor, sopesando las necesidades inmediatas, opciones de implementacin, utilidad, evolucin del sistemaIng-Sonia Godoy H18Planificacin de los procesos: Determinar los grupos de tareas tcnicas que se deben realizar, el esfuerzo requerido para cada una, su prioridad y los riesgos que implican para el proyecto.

Control de los procesos: Determinar los mtodos para controlar las actividades tcnicas del proyecto y los procesos; la medicin del progreso, revisin de los productos intermedios y ejecucin de las acciones correctivas, cuando corresponda.Evaluacin del producto: Determinar la calidad y cantidad de los productos elaborados, a travs de evaluaciones, pruebas, anlisis, inspeccionesFunciones de la Ingeniera de sistemasIng-Sonia Godoy HIntroduccin Ingeniera del SoftwareINGENIERA DE SISTEMASIngeniera de sistemas Gestin de proyectos Ingeniera del Soft. Gestin de proyectosPlanificacinOrganizacinPersonalDireccinControlIngeniera del softwareDiseo del softwareCodificacinPruebas unitariasIntegracin del subsistema de softwareIngeniera de sistemasDefinicin del problemaAnlisis de la solucinPlanificacin de procesosControl de procesosEvaluacin del productoIng-Sonia Godoy H20Introduccin Ingeniera del SoftwareINGENIERA DE SISTEMASIngeniera de sistemas Ingeniera de sistemas de software Ingeniera del software CodificacinPruebas unitariasDiseo detallado del softwarePruebas del sub-sistema de softw.Diseo de la ar-quitectura del swPruebas del sistema de swAnlisis de requisitos del swPruebas de integracin del swDiseo del sistemaAnlisis del sistemaPruebas de integracin del sisPruebas del sistemaIngeniera de sistemasIngeniera de sistemas de softwareIngeniera del softwareIngeniera del softwareIng-Sonia Godoy H21

Ing-Sonia Godoy HLa ingeniera de software es una tecnologa multicapa, cualquier enfoque de ingeniera debe apoyarse sobre un compromiso de organizacin de calidad. El fundamento de la ingeniera de software es la capa del proceso. El proceso de la ingeniera de software es la unin que mantiene juntas las capas de tecnologa y que permiten un desarrollo racional y oportuno de la ingeniera de software. El proceso define un marco de trabajo para un conjunto de reas clave de proceso que se deben establecer para la entrega de la tecnologa de la ingeniera de software. CAPASDefine el marco de trabajo y permite un desarrollo racional y oportuno de la Ingeniera del Software

Ing-Sonia Godoy HCAPASIndica cmo construir tcnicamente el software. Se incluyen tcnicas de modelado y otras tcnicas descriptivas

Ing-Sonia Godoy HCAPASProporcionan el soporte automtico o semiautomtico para el proceso y para los mtodos

Ing-Sonia Godoy HCAPASConjunto de reglas grficas o textuales para la representacin de un modelo

Ing-Sonia Godoy HCAPASColeccin de mtodos para resolver un tipo de problemasDescompone el proceso de desarrollo en actividades y proporciona los mtodos adecuados para llevar a cabo dichas actividades

Ing-Sonia Godoy HCONCLUSIONESIng-Sonia Godoy H