Ingenieria de software buena (1)

3,469 views

Published on

Ingenieria de Software AYDSI

1 Comment
12 Likes
Statistics
Notes
  • me la podrias pasar a mi correo? Esta Excelente!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
3,469
On SlideShare
0
From Embeds
0
Number of Embeds
1,820
Actions
Shares
0
Downloads
0
Comments
1
Likes
12
Embeds 0
No embeds

No notes for slide

Ingenieria de software buena (1)

  1. 1. UNIVERSIDAD DE ORIENTENÚCLEO MONAGASPROGRAMA DE INGENIERÍA DE SISTEMASANÁLISIS Y DISEÑO DE STMAS DE INFORMACIÓNSECCIÓN 02Gukovsky, Daniel C.I.: 20597297Marcano, Estefani C.I.: 20646564Palencia, Roberto C.I.: 20648368Rodríguez, Mario C.I.: 19875930Bastardo, Miguel C.I: 23684096Ingeniería de software
  2. 2. Reglas• Se les agradece colocar los equipos telefónicos ensilencio o en su defecto apagarlos.• No interrumpir a los ponentes mientras están en elproceso de la exposición.• Se agradece mantener una postura adecuada en la salay no hacer ruido durante la exposición.• Indicar al final de la exposición las inquietudes que sepuedan presentar en algunos de los puntos a tratar.
  3. 3. Ingeniería de softwareEs una disciplina formadapor un conjunto de métodos,herramientas y técnicas quese utilizan en el desarrollo delos programasinformáticos (software).Por lo tanto, incluye elanálisis previo de lasituación, el diseño delproyecto, el desarrollo delsoftware, las pruebasnecesarias para confirmar sucorrecto funcionamiento y laimplementación del sistema.Puntos de vista generalEstefani Marcano
  4. 4. Ciclo de vida de la ingeniería desoftwareEl ciclo de vida es el conjunto de fases por las que pasa elsistema que se está desarrollando desde que nace la idea inicial hastaque el software es retirado o remplazado (muere). También se denominaa veces paradigma. La ingeniería de software requiere llevar a cabonumerosas tareas, dentro de etapas como las siguientes:Estefani Marcano
  5. 5. Definición“Es la aplicación de unenfoque sistemático,disciplinado y cuantificable aldesarrollo, operación ymantenimiento del software,es decir la aplicación de laingeniería al software.”Ingeniería de softwareEstefani MarcanoRoger Pressman
  6. 6. ComunicaciónPlaneaciónModeladosConstrucciónDespliegueActividades principalesEstefani MarcanoRoger Pressman
  7. 7. Seguimiento y control de proyecto de softwareGestión de riesgoAseguramiento de la calidad del softwareRevisiones técnicas formalesActividades secundariasGestión de la configuración del softwareGestión de la reutilizaciónEstefani MarcanoRoger Pressman
  8. 8. Fases o etapas del proyectoEtapa I: Análisis de los requisitos del softwareEntregable: Información acerca de las funciones, su contenido, y la elaboración del software.Etapa II: DiseñoEntregable: Los diseños con que se va a proceder a plasmar los datos del software.Etapa III: Generación de CódigoEntregable: La base del código del software.Etapa IV: PruebasEntregable: Reporte de errores en el código base del software.Etapa V: MantenimientoEntregable: Documentación que dará al software el mantenimiento y la modificaciónapropiada al mismoEstefani MarcanoRoger Pressman
  9. 9. Modelo de la ingeniería del softwareModelo PrescriptivosSon aquellos que prescriben un conjuntode elementos de proceso, es decir dan arelucir los conjuntos de elementos que locontempla , así como también lasacciones de la ingeniería de software,tareas, productos del trabajo, calidad, ymecanismos de control del cambio decada proyecto. No necesariamente losmodelos prescriptivos son estáticosRoberto PalenciaRoger Pressman
  10. 10. Modelo de la ingeniería del softwareModelo en CascadaTambién conocido como ciclo de vida clásico del proyecto,no es mas que aquel que sugiere un enfoque sistemático ysecuencial hacia el desarrollo de software que inicia con laespecificación de requerimientos del cliente y que continuacon la planeación, el modelado, la construcción y eldespliegue.Representación gráfica del modeloRoberto PalenciaRoger Pressman
  11. 11. Modelos de Procesos IncrementalesSon aquellos que van en la búsqueda de la realización de unproceso lineal a la hora del desarrollo de la ingeniería desoftware, este contempla dentro de el dos sub-modelos loscuales son:Modelo IncrementalModelo DRAModelo de la ingeniería del softwareRoberto PalenciaRoger Pressman
  12. 12. este contemplaModelo Incremental Modelo DRARoberto PalenciaRoger Pressman
  13. 13. Modelo de la ingeniería del softwareModelos de Procesos EvolutivosEs aquel que plantea el diseño de un software cuyo proceso ha sidodiseñado de manera explicita para incluir un producto que evolucione conel tiempo y sea resistente a la variabilidadModelo enEspiralConstrucciónde PrototiposModelo deDesarrolloConcurrenteRoberto PalenciaRoger Pressman
  14. 14. Modelo de Desarrollo ConcurrenteModelo en EspiralConstrucción de PrototiposRoberto PalenciaRoger Pressman
  15. 15. Modelo de la ingeniería del softwareModelos Especializados de ProcesosSon aquellos que adoptan muchas características de uno o mas de losmodelos convencionales presentados en la exposición. Sin embargo, losmodelos especializados tienden a aplicarse cuando se ha elegido unenfoque de ingeniería del software definido de una manera muy estrecha.Modelo de MétodoFormalesDesarrollo Basadoen ComponentesDesarrollo deSoftware Orientado aAspectosRoberto PalenciaRoger Pressman
  16. 16. Personas y roles que actúanLos ingenieros desoftware y sus jefesadoptan el proceso asus necesidades ydespués lo siguen.Además la gente queha solicitado elsoftware (clientes),tienen una función quedesempeñar en elproceso de definirloconstruirlo y probarlo.Gerentes,presidentes,jefes y engeneral altosdirectivosIngenieros deSoftwareClientesRoberto PalenciaRoger Pressman
  17. 17. DefiniciónSegún Blanchard“Es una aplicación efectivade esfuerzos científicos y deingeniería para transformaruna necesidad operativa enuna configuración definida deun sistema mediante elproceso iterativo de análisisde requisitos, la selección delconcepto y asignación,síntesis, solución delcompromiso y optimizacióndel diseño, prueba yevaluación.”Ingeniería de softwareMiguel BastardoGonzalo León
  18. 18. Su estructura de arriba-abajo que ve el sistema como un todo.Una orientación del ciclo de vida que considera todas las fasesdesde el diseño conceptual hasta la retirada del sistema.Un enfoque interdisciplinar (en equipo) que incluya todas lasdisciplinas adecuadas de diseño de forma oportuna y concurrente.La necesaria integración para asegurar que todos los objetivos delsistema se hayan cumplido de forma efectiva y eficaz.Está orientada al proceso e incluye las provisiones esenciales derealimentación y control.CaracterísticasMiguel BastardoGonzalo León
  19. 19. Fases o etapas del proyectoEtapa I: Definición de requisitosEntregable: Documento de requisito del usuario y Documento de requisito de softwareEtapa II: DiseñoEntregable: Documento de diseño arquitectónico y Documento de diseño detalladoEtapa III: ImplementaciónEntregable: Manual de usuario, código fuente y las pruebas realizadasEtapa IV: Transferencia del productoEntregable: Entrega del producto y el documento historia del proyectoEtapa V: EvoluciónEntregable: La posibilidad de recibir un mantenimiento correctivo, perfectivo o evolutivoMiguel BastardoGonzalo León
  20. 20. Modelo de la ingeniería del softwareModelo encascadaDenominadomodeloconvencional, responde a la secuenciade pasos dedesarrollo de unproducto empleadadesde el comienzodel desarrollo desoftware para lamayor parte de lossistemas desoftware.Representación gráfica del modeloMiguel BastardoGonzalo León
  21. 21. Modelo desíntesisautomatizadaEs aquel basadoen el empleo detecnología desoftware quepermite generarautomáticamente laimplementación apartir de laespecificacióndetallada de losrequisitos desoftware desistema. Este es elmodelo quesubyace bajo lautilización demétodos formalesModelo de la ingeniería del softwareRepresentación gráfica del modeloMiguel BastardoGonzalo León
  22. 22. Modelo de la ingeniería del softwareModeloincrementalEl modelo obtieneel código comoresultado de unproceso derefinamiento a partirde lasespecificaciones ydiseño.Existe otro enfoqueposible en el que alusuario se le vanexponiendoproductosintermediosdenominadosprototipos que leacercan al sistemafinal.Existen dos tipos básicos de uso del prototipo.Modelo basado en prototipos desechables:Aborda el problema de la inestabilidad de losrequisitos generando un prototipo lo antes posibleque sirva de base al mejor conocimiento de losrequisitos del usuario. Es conocido como elprototipado rápido y podría tratarseindependientemente del modelo incremental.Modelo basado en prototipado incremental: Sebasa en la generación de varios modelos parcialesejecutables del sistema antes de proceder a laimplementación, con el fin de evaluar suscaracterísticas y poder obtener al final el sistemaimplementado.Un prototipo: puede definirse como un modeloparcial ejecutable de un sistema de software..Miguel BastardoGonzalo León
  23. 23. Prototipado IncrementalPrototipo DesechableMiguel BastardoGonzalo León
  24. 24. Modelo de la ingeniería del softwareModelo en VEn este modelo seasocia una fase deprueba a cada unade las fases del cicloestableciendométodos de gestiónpara la validación decada una de ellas. Elmodelo en V implicaque las pruebas nose consideran partede laimplementación sinode forma separadarelacionadas concada una de la fasedel desarrollo.Representación gráfica del modeloMiguel BastardoGonzalo León
  25. 25. Modelo de la ingeniería del softwareModelo en espiralConsiste en pasarpor una serie deciclos en los quetanto elconocimiento delsistema a realizarcomo el propiosistema vanavanzando hastaobtener el productofinal. En la últimaespiral se prosiguecon el desarrolloconvencional alhaberse eliminadolas incertidumbresen las espiralesanteriores.Representación gráfica del modeloMiguel BastardoGonzalo León
  26. 26. Personas y roles que actúanEntreotrosClientesProgramadoresDiseñadores desoftwareAnalistasdesistemasProfesional con solidasbases metodológicas en eldesarrollo de software apequeña y gran escala,cumpliendo como rol:administrador deproyecto, líder deproyecto y arquitecto desoftware.Además pueden definiralcances, costos, tiempo,recursos y factibilidad delproyecto, tambiénproponer soluciones desoftware, globales oparciales que permiten elcontrol del proceso.Miguel BastardoGonzalo León
  27. 27. Definición“Es una disciplina quecomprende todos losaspectos de la produccióndel software, esta comprendelas formas prácticas paradesarrollar y entregar unsoftware útil.”Ingeniería de softwareIan SommervilleDaniel Gukoysky
  28. 28. CaracterísticasEstos trabajan bajo restricciones financieras u organizacionales por lotanto buscan encontrar soluciones tomando en cuenta dichasrestricciones.Se requiere un enfoque sistémico y organizado en su trabajo, ya quees la forma más efectiva de producir software de alta calidad.Es necesario un enfoque más informal y creativo de desarrollo ya quepodría ser más efectivo.Requieren una mezcla de técnicas de software y de diseño grafico.Lo atributos esenciales de los productos son la mantenibilidad,confiabilidad, eficiencia y aceptabilidad.Utilización de las herramientas CASE que no son mas que sistemas desoftware que están diseñados para ayudar a las actividades rutinariasdel proceso de software.Ian SommervilleDaniel Gukoysky
  29. 29. Fases o etapas del proyectoEtapa I: Requerimientos del softwareEntregable: Los requerimientos del usuario y del sistema.Etapa II: DiseñoEntregable: Los diseños son la descripción de la estructura del software, los datos , la interfaz del sistema ylos algoritmos utilizados.Etapa III: ImplementaciónEntregable: Prueba de código, para establecer la existencia de defectos y depurar.Etapa IV: Verificación y validación del softwareEntregable: Revisiones de los requerimientos y continua con las revisiones del diseño einspecciones de código hasta la prueba del producto.Ian SommervilleDaniel Gukoysky
  30. 30. Serviciosproporcionados porel sistema y susrestriccionesoperativos.Requerimientosde usuario.Requerimientosdel sistema.Daniel GukovskyRequerimientos del softwareIan Sommerville
  31. 31. Estudio deviabilidadObtención yanálisis derequerimientosEspecificaciónderequerimientosValidación derequerimientosFases fundamentales:Requerimientos del softwareDaniel GukovskyIan Sommerville
  32. 32. Requerimientos delusuario:Administradoresclientes.Usuariosfinales delsistema.Arquitectos delsistema.Requerimientos delsistema:Usuarios finalesdel sistema.Ingenierosclientes.Arquitectosdel sistema.Requerimientos del softwareDaniel GukovskyIan Sommerville
  33. 33. Procesocreativo, donde estese aborda de formaparticular.No hay una formamala o buena dediseñar elsoftwareDiseño del softwareEs el proceso deconvertir unaespecificación delsistema en unsistemaejecutable.Daniel GukovskyIan Sommerville
  34. 34. Actividades especificas:Diseñoarquitectónico.Diseño decomponentes.Especificaciónabstracta.Diseño de lainterfaz.Diseño de laestructura dedatos.Diseño dealgoritmos.Diseño del softwareDaniel GukovskyIan Sommerville
  35. 35. Diseño del softwareArquitectos delsistemaHace uso de todassus habilidadestécnicas con el fin deestablecer unasolución técnica.Debe ser capaz decomunicar el diseño, ylas decisiones que lollevaron al mismo alequipo de desarrolloDesarrolladoresDesarrollo deactividadesrelacionadas al diseñodel software.Diseño del softwareDaniel GukovskyIan Sommerville
  36. 36. La implementacióndel sistema sesigue de formanatural del procesode diseñoLosprogramadoresllevan a caboalgunas pruebasdel código quehan desarrolladoImplementación del softwareSe establecen laexistencia dedefectos y sedepura paracorregir losmismos.Daniel GukovskyIan Sommerville
  37. 37. Se sigue al pie eldiseño.A medida que seprograma selocalizan los errores.Se diseña lareparación del error.Se depuran dichoserrores.Se vuelve a probar elprograma.Actividades especificas:Implementación del softwareDaniel GukovskyIan Sommerville
  38. 38. Implementación delsoftwareArquitectos del sistemaTermina de completar laspartes faltantes del diseñode la arquitectura y corregirlas decisiones previas quehayan resultado serequivocadas.Juega un papel de mentor ymuchas veces debe explicarcuestiones del diseño delsistema al equipo dedesarrollo.Su nivel técnico yconocimiento del dominiodel problema le da unaventaja para identificarproblemas .ProgramadoresSe encargan del desarrollodel software siguiendo lasespecificaciones hechaspor el arquitecto delsistema.Implementación del softwareDaniel GukovskyIan Sommerville
  39. 39. Nombre dado a losprocesos deanálisis y pruebas,estas tienen lugaren cada etapa delsoftware.Comienza conrevisiones de losrequerimientos, continua con lasrevisiones del diseñoe inspecciones decódigo hasta laprueba del producto.Verificación y validación delsoftwareSe utiliza paramostrar que elsistema se ajusta a suespecificación y quecumple lasexpectativas delusuario que locomprara.Daniel GukovskyIan Sommerville
  40. 40. Actividades especificas:La prueba decomponentesPrueba delsistemaPruebas devalidaciónPrueba deaceptaciónVerificación y validación delsoftwareDaniel GukovskyIan Sommerville
  41. 41. VALIDACION YVERIFICACION.Autor opropietario.Inspector.Lector.VALIDACION YVERIFICACION.Secretario.Presidente omoderador.Moderadorjefe.Actores:Verificación y validación delsoftwareDaniel GukovskyIan Sommerville
  42. 42. Modelo de la ingeniería del softwareModelos de proceso de softwareEs una representaciónabstracta de un proceso del software. Cada modelo de proceso representa unproceso desde una perspectiva particular, y así proporciona sólo informaciónparcial sobre ese proceso.DesarrolloevolutivoModelo enCascadaIngeniería desoftware basada encomponentesIan SommervilleDaniel Gukoysky
  43. 43. Desarrollo evolutivoModelo cascadaIngeniería de software basado en componentesIan SommervilleDaniel Gukoysky
  44. 44. Modelo de la ingeniería del softwareModelos IterativosLa esencia de los procesos iterativos es que la especificación sedesarrolla junto con el software.Sin embargo, esto crea conflictos con el modelo de obtención demuchas organizacionesdonde la especificación completa del sistema es parte del contrato dedesarrollo del mismo.ModeloEspiralModeloIncrementalIan SommervilleDaniel Gukoysky
  45. 45. Modelo IncrementalModelo EspiralIan SommervilleDaniel Gukoysky
  46. 46. Caso PrácticoCaso práctico Basado en la Tesis deBr: Giovanni Javier Villahermosa Rodríguez.Metodología de Ing de Software SomervilleSISTEMA DE INFORMACIÓN COMO APOYO A LA OPERATIVIDAD DE LAPLATAFORMA TECNOLÓGICA PARA LA DIRECCIÓN GENERAL DECIENCIA Y TECNOLOGÍA, ADSCRITA A LA GOBERNACIÓN DELESTADO MONAGAS:Técnicas, Métodos yMetodologías que seAplicaronModelo IncrementalMetodologíaEstructuradaBase de DatosMetodologías Ágiles: :Técnicas de Recolección deDatosEntrevista no estructuradaRecopilación documental através de la WebCuaderno de anotación ycomputadorHistorias de Usuario (fichas)Herramientas deDesarrollo del SistemaPHPPHPM y AdminAppserverAdobe DreamweaverMario Rodríguez
  47. 47. Requisitos del softwareMario Rodríguez:ActividadesSe identificaron los clientes y sus necesidades.Se procedió a estudiar como se maneja la información dentro de lainstitución .Se procedió identificar las tecnologías con que se cuenta la institución .Se analizo el funcionamiento de cada una de los departamentos y lainformación que manejan.Se realizaron las historias de usuarios y se priorizaron cada una de estas.Se diseño el plan de trabajo para satisfacer los requerimientos del usuario.: :ActoresRequerimientosdel usuario-Administradoresclientes.-Usuarios finalesdel sistema.-Ingenierosclientes.-Administradorescontratistas-Arquitectos delsistema.Requerimientos del sistema:-Usuarios finales del sistema.-Ingenieros clientes.-Arquitectos del sistemaRequerimientos del sistema:-Usuarios finales del sistema.-Ingenieros clientes.-Arquitectos del sistemaActoresRequerimientos delsistema-Usuarios finales delsistema.-Ingenieros clientes.-Arquitectos delsistemaENTREGABLE :informe con los requerimientos del usuario y del sistema.ENTREGABLE :informe con los requerimientos del usuario y del sistema.EntregableInforme con losrequerimientos delusuario y delsistema.
  48. 48. Diseño del softwareMario RodríguezArquitectura del SistemaEl sistema a desarrollar posee características que lo identifican comoun sistema cliente/servidor por lo que a continuación se presenta ungrafico que muestra la arquitectura de estos sistemas:Web Browser- Explorador(Firefox)Servidor web (Apache)Windows/LinuxServidorBase Datos(MySQ)Lenguaje Interprete (PHP): :ActoresArquitectos delsistema.Actores :Arquitectos del sistemAActores :Arquitectos del sistemAEntregableLos diseños son la descripciónde la estructura del software,los datos , la interfaz delsistema y los algoritmosutilizados.
  49. 49. ImplementaciónMario Rodríguez:Actividades-Se sigue al pie eldiseño.-A medida que seprograma selocalizan los errores.-Se diseña lareparación del error-Se depuran dichoserrores.-Se vuelve a probar elprograma.Actores.Arquitectos del sistema.Actores.Arquitectos del sistema.ActoresArquitectos desistemasActores.Arquitectos del sistema.Entregable:El código final después de la depuración del sistemaEntregable:El código final después de la depuración del sistemaEntregableEl código finaldespués de ladepuración delsistema
  50. 50. Verificación y validación de softwareMario RodríguezActividadesLa prueba de componentes: se probo de manera individual los componentes paraasegurarse que funcionan correctamente.Prueba del sistema: Los componentes se integran para verificar el sistema.Pruebas de validación: Se demostró que el software es el que el cliente quiere,que satisface sus requerimientos. Como parte de la prueba de validación,mediante pruebas estadísticas para probar el rendimiento y la fiabilidad de losprogramas, y para probar como trabaja en ciertas condiciones operacionales.Prueba de aceptación: En esta fase se dieron las pruebas finales que dieron alugar la aceptación del proyecto y el sistema.Actores-Autor o propietario-Inspector-Lector-Secretario-Presidente o moderador-Moderador jefeEntregableInforme con revisiones de losrequerimientos y continua con lasrevisiones del diseño e inspeccionesde código hasta la prueba delproducto.
  51. 51. Gracias porsu Atención

×