Ingeniería del So1ware II

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Ingeniería del So1ware II"

Transcripción

1 Ingeniería del So1ware II Tema 08. Mantenimiento de Sistemas So1ware Pablo Sánchez Barreiro DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN p.sanchez@unican.es Este tema se publica bajo Licencia: CreaOve Commons BY NC SA 3.0

2 Introducción Mantenimiento de Sistemas Software Mantenimiento Software Análisis y Especificación de Requisitos Despliegue Diseño Arquitectónico Mantenimiento Pruebas Diseño Detallado Implementación Pablo Sánchez (MATESCO) Mantenimiento Software 2 / 62

3 Introducción Importancia Mantenimiento software Importancia del Mantenimiento Software Identificado como una de las causas de la crisis del software [7]. Pablo Sánchez (MATESCO) Mantenimiento Software 3 / 62

4 Introducción Importancia Mantenimiento software Mantenimento software vs sistemas clásicos Permiten pequeñas adaptaciones, pero su modificación es muy costosa. Suele implicar la construcción de un nuevo sistema. Pablo Sánchez (MATESCO) Mantenimiento Software 4 / 62

5 Introducción Importancia Mantenimiento software Mantenimento software vs sistemas clásicos El coste material de un producto software es despreciable. Un producto software es altamente modificable. Hasta el punto de poder llegar a ser un producto completamente nuevo (ej. Linux). Pablo Sánchez (MATESCO) Mantenimiento Software 5 / 62

6 Introducción Importancia Mantenimiento software Costes históricos mantenimiento software Listas de bugs y foros de soporte en productos comerciales. Actualizaciones de productos comerciales (ej. Windows Update, Acrobat Update) Pablo Sánchez (MATESCO) Mantenimiento Software 6 / 62

7 Introducción Importancia Mantenimiento software Importancia mantenimiento software Adaptación al euro - Efecto Pantallas táctiles móviles. Sistemas de tarificación telefonía móvil. Negocios de software libre basados en consultoría y mantenimiento (ej. openarchitecureware Actualmente, facilidad de mantenimiento, adaptabilidad y evolución son las características más importantes de la mayoría de los sistemas software. Pablo Sánchez (MATESCO) Mantenimiento Software 7 / 62

8 Introducción Importancia Mantenimiento software En Ingeniería del Software no hay verdades universales Pablo Sánchez (MATESCO) Mantenimiento Software 8 / 62

9 Introducción Objetivos del tema Este no es el objetivo del tema Pablo Sánchez (MATESCO) Mantenimiento Software 9 / 62

10 Introducción Objetivos del tema Esto tampoco es el objetivo del tema Pablo Sánchez (MATESCO) Mantenimiento Software 10 / 62

11 Introducción Objetivos del tema Objetivos del tema Objetivos Aprender a analizar, planificar, ejecutar y gestionar acciones de mantenimiento software. Pablo Sánchez (MATESCO) Mantenimiento Software 11 / 62

12 Mantenimiento Software Definiciones Definiciones mantenimiento software Estándar IEEE 1219 La modificación de un producto software después de su entrega al cliente o usuario para corregir defectos, para mejorar el rendimiento u otras propiedades deseables, o para adaptarlo a un cambio de entorno [9]. Estándar ISO/IEC Conjunto de actividades destinadas a proporcionar soporte económicamente rentable para un determinado producto software. Estas actividades se realizan tanto antes de la entrega del producto como después de la entrega del mismo. Las actividades previas a la entrega incluyen las actividades destinadas a planificar, anticipar y preparar actividades de mantenimiento posteriores. Las actividades posteriores a la entrega incluyen modificaciones del producto software, formación y asistencia al usuario [8]. Pablo Sánchez (MATESCO) Mantenimiento Software 12 / 62

13 Mantenimiento Software Definiciones Definiciones mantenimiento software Mantenibilidad (Maintainability) Capacidad de un producto software de ser modificado. Estas modificaciones incluyen correcciones, mejoras, o adaptaciones a cambios en el entorno, los requisitos o las especificaciones funcionales [8]. Efecto dominó (ripple effect) Un determinado cambio en un producto software se dice que genera un efecto dominó cuando a consecuencia del cambio debemos realizar cambios adicionales en el sistema. Estabilidad de un diseño software Capacidad de resistencia al efecto dominó que tendrá un sistema software derivado de dicho diseño cuando es modificado [13]. Pablo Sánchez (MATESCO) Mantenimiento Software 13 / 62

14 Mantenimiento Software Definiciones Definiciones mantenimiento software Sistema Heredado (Legacy Systems) Un sistema heredado es un método, tecnología, computador o aplicación antiguo que continúa en uso porque aún satisface las necesidades de los usuarios, aún existiendo nuevas tecnologías o métodos más eficientes disponibles (ej. aplicaciones COBOL en banca, Amadeus). Pablo Sánchez (MATESCO) Mantenimiento Software 14 / 62

15 Mantenimiento Software Tipos de mantenimiento software Tipos de acciones de mantenimiento software 1 Correctivo: localiza y corrige defectos en un programa tras su entrega (ej. IVA al 15%, agujeros de seguridad). Puede ser urgente o no urgente. 2 Adaptativo: Modificación para adaptarse a un cambio en el entorno (ej. Euro, pantallas táctiles). 3 Perfectivo: Modificación para detectar y corregir fallos latentes antes de que se conviertan en carencias [8]. Modificación para modificar o añadir nuevas funcionalidades [11]. (Ej. firma digital en banca online). 4 Preventivo: Modificación para detectar y corregir fallos latentes antes de que se conviertan en fallos operacionales [8]. Mejorar las propiedades del software [11]. (Ej. recodificar para aplicar patrones de diseño). Pablo Sánchez (MATESCO) Mantenimiento Software 15 / 62

16 Mantenimiento Software Tipos de mantenimiento software Tipos de cambios en productos software 1 Anticipado: Un cambio se dice que es anticipado cuando ha sido previsto durante el desarrollo del sistema software y se han adoptado decisiones de diseño que permiten acomodar la variación (ej. uso de constantes, patrón estrategia, sistema de plugins de Eclipse). 2 No anticipado: Todo aquel que no es anticipado. There is not silver bullet [4]. Pablo Sánchez (MATESCO) Mantenimiento Software 16 / 62

17 Mantenimiento Software Principales Retos Mantenimiento Software Principales Retos Mantenimiento Software 1 El efecto iceberg (o el efecto usillos/reforma). 2 No es lo mismo producir que mantener: Diferentes medidas de productividad entre desarrollo y mantenimiento:40 LDC desarrollado por 1 LDC mantenido [11]. Pablo Sánchez (MATESCO) Mantenimiento Software 17 / 62

18 Mantenimiento Software Principales Retos Mantenimiento Software Código heredado (legacy code) Desarrollado con tecnologías y técnicas anticuadas. No hay documentación. Si la hay, está en notación Benito & Manolo, que ya no trabajan en la empresa. Reescribirlo entero no es factible (ej. Amadeus). El sistema no tiene porque estar bien diseñado, programado, ni haber sido desarrollado siguiendo un proceso de ingeniería. Pablo Sánchez (MATESCO) Mantenimiento Software 18 / 62

19 Mantenimiento Software Principales Retos Mantenimiento Software Cambios en sistemas heredados/indebidamente documentados Pablo Sánchez (MATESCO) Mantenimiento Software 19 / 62

20 Mantenimiento Software Principales Retos Mantenimiento Software Degradación calidad producto software class Bill { float amounttobill; float calculatetotalcharge() { return amounttobill + (amounttobill * (16.0/100.0); } // calculatetotalcharge() } //Bill Pablo Sánchez (MATESCO) Mantenimiento Software 20 / 62

21 Mantenimiento Software Principales Retos Mantenimiento Software Degradación calidad producto software class Bill { float amounttobill; float calculatetotalcharge(int clienttype) { if (clienttype == 0) { return amounttobill + (amounttobill * (16.0/100.0); } else { return amounttobill + (amounttobill * (6.0/100.0); } } // calculatetotalcharge() } //Bill Pablo Sánchez (MATESCO) Mantenimiento Software 21 / 62

22 Mantenimiento Software Principales Retos Mantenimiento Software Degradación calidad producto software class Bill { float amounttobill; float calculatetotalcharge(int clienttype, int producttype) { if ((clienttype == 0) && (producttype == 0)) { return amounttobill + (amounttobill * (16.0/100.0); } else if ((clienttype == 0) && (producttype == 1)) { return amounttobill + (amounttobill * (4.5/100.0); } else if ((clienttype == 1) && (producttype == 0)) { return amounttobill + (amounttobill * (12.0/100.0); } else if ((clienttype == 1) && (producttype == 1)) { return amounttobill + (amounttobill * (4.5/100.0); } } // calculatetotalcharge() } //Bill Pablo Sánchez (MATESCO) Mantenimiento Software 22 / 62

23 Mantenimiento Software Principales Retos Mantenimiento Software Añadiendo iva al total mensual class Bill { float amounttobill; float calculatetotalcharge(int clienttype, int producttype) { float total, iva; if ((clienttype == 0) && (producttype == 0)) { iva = amounttobill * (16.0/100.0); } else if ((clienttype == 0) && (producttype == 1)) { iva = amounttobill * (4.5/100.0); } else if ((clienttype == 1) && (producttype == 0)) { iva = amounttobill * (12.0/100.0); } else if ((clienttype == 1) && (producttype == 1)) { iva = amounttobill * (4.5/100.0); } total = amounttobill + iva; IvaLogger.addIva(iva); return total; } // calculatetotalcharge() } //Bill Pablo Sánchez (MATESCO) Mantenimiento Software 23 / 62

24 Mantenimiento Software Principales Retos Mantenimiento Software Principales Problemas Mantenimiento Sw (Resumen) 1 Efectos dominó y efecto iceberg. 2 Cambios ad-hoc, ausencia metodológica del cambio. 3 Ausencia de documentación adecuada (decisiones de diseño). 4 Degradación calidad del producto. Pablo Sánchez (MATESCO) Mantenimiento Software 24 / 62

25 Mantenimiento Software Principales Retos Mantenimiento Software Solución para el mantenimiento software Establecer procedimientos claramente definidos y estandarizados para el mantenimiento software, que se basen en técnicas y herramientas para el mantenimiento claramente definidas y validadas. Asignarle los recursos adecuados, tanto físicos y económicos como humanos, Usar técnicas para control de calidad, tanto sobre el producto como sobre el proceso. Ejemplo: S3M ( Pablo Sánchez (MATESCO) Mantenimiento Software 25 / 62

26 Metodologías para el mantenimiento software Organización del equipo humano Organigrama del equipo humano Atención al usuario Equipo de diseño y desarrollo Cliente Gestor de peticiones Planificador Equipo de Mantenimiento Gestor de Mantenimiento Pablo Sánchez (MATESCO) Mantenimiento Software 26 / 62

27 Metodologías para el mantenimiento software MANTEMA [12] Procesos de mantenimiento software act [ Mantema ] Petición de Mantenimiento error tipo? otro Severidad? Alta Atender directamente Baja Evaluar, clasificar, encolar Adaptación Mejora Evaluar y clasificar Encolar Si proceder? No Elaborar Informe Seleccionar primera tarea cola Planificar Analizar Diseñar Implementar Probar Pablo Sánchez (MATESCO) Mantenimiento Software 27 / 62

28 Metodologías para el mantenimiento software Procesos de mantenimiento software Lowel Jay Arthur [1] Proceso de evolución de un sistema Petición de Cambio Analisis de Impacto Planificación de Versiones Implementación de Cambios Entrega del Sistema Reparación de defectos Adaptación de Plataforma Perfeccionamiento del Sistema Proceso de cambios de urgencia Petición de Cambio Analizar código fuente Parchear código fuente Entregar sistema parcheado Pablo Sánchez (MATESCO) Mantenimiento Software 28 / 62

29 Metodologías para el mantenimiento software Procesos de mantenimiento software Gestión de petición de cambio en Bugzilla New bug from a user with canconfirm or a product without UNCONFIRMED state UNCONFIRMED Bug is reopened, Bug confirmed or was never confirmed receives enough votes Developer takes possession NEW Ownership is changed Developer takes possession Development is finished with bug Possible resolutions: FIXED DUPLICATE WONTFIX WORKSFORME INVALID ASSIGNED Development is finished with bug Developer takes possession Issue is resolved RESOLVED Bug is closed QA not satisfied with solution QA verifies solution worked REOPEN Bug is reopened VERIFIED Bug is reopened Bug is closed CLOSED Pablo Sánchez (MATESCO) Mantenimiento Software 29 / 62

30 Metodologías para el mantenimiento software Documentación de cambios software Plantillas para documentación cambios software Tomada de Basili et al [2] 1 Descripción del cambio. 1 Localización. 2 Subsistemas afectados. 3 Módulos afectados. 4 Entradas/salidas afectadas. 5 Tamaño. 6 Líneas de código añadidas, modificadas y eliminadas. 7 Módulos examinados, añadidos, modificados y eliminados. 8 Tipo del cambio (Correctivo Perfectivo Preventivo Adaptativo) 2 Descripción del proceso de cambio. 1 Esfuerzo dedicado. 2 Experiencia del personal de mantenimiento 3 Tiempo del personal de mantenimiento trabajando en el sistema. 4 Tiempo del personal trabajando en el dominio. 3 Descripción del problema. 1 Descripción del error. Causa y origen del error. Momento del proceso en que se produjo el error. 2 Dificultad. Causas que dificultaron la modificación. Actividad más difícil relacionada con la modificación. 3 Cantidad de esfuerzo desperdiciado. 4 Decisiones que se podrían haber tomado para disminuir la dificultad de los errores. 5 Artefactos relacionados con el cambio. Pablo Sánchez (MATESCO) Mantenimiento Software 30 / 62

31 Metodologías para el mantenimiento software Documentación de cambios software Plantillas para documentación cambios software Plantilla aleatoria encontrada en internet (moodle). Plantilla modelo de bugzilla: Pablo Sánchez (MATESCO) Mantenimiento Software 31 / 62

32 Técnicas de mantenimiento Introducción Soluciones técnicas para el problema de mantenimiento 1 Ingeniería Inversa: Reconstruir el proceso de ingeniería de un producto a partir de ciertos artefactos de dicho producto. 2 Reingeniería: Examen y modificación de un sistema para reconstruirlo en una nueva forma. Puede precisar de un proceso de ingeniería inversa para reconstruir el proceso de ingeniería del producto. 3 Reestructuración: Modificación del software para hacerlo más fácil de entender y cambiar o menos susceptible de incluir errores en cambios posteriores. 4 Transformaciones: Manipulación, por medio de transformaciones automáticas ejecutadas por un computador, del código o modelo de un sistema para añadirle/modificarle/eliminarle elementos. (ej. pasar un sistema a distribuido). Pablo Sánchez (MATESCO) Mantenimiento Software 32 / 62

33 Técnicas de mantenimiento Introducción Soluciones técnicas para el problema de mantenimiento Pablo Sánchez (MATESCO) Mantenimiento Software 33 / 62

34 Técnicas de mantenimiento Ingeniería Inversa Qué es Ingeniería Inversa? Pablo Sánchez (MATESCO) Mantenimiento Software 34 / 62

35 Técnicas de mantenimiento Ingeniería Inversa Qué es Ingeniería Inversa? Pablo Sánchez (MATESCO) Mantenimiento Software 35 / 62

36 Técnicas de mantenimiento Ingeniería Inversa Ingeniería Inversa de código Java a UML class Persona { class Telefono { String nombre; int numero; int edad; String operador; Set<Telefono> telefonos; int codigointernacional; String getname() { }... } }... class Profesor extends Persona { String centro; } Pablo Sánchez (MATESCO) Mantenimiento Software 36 / 62

37 Técnicas de mantenimiento Ingeniería Inversa Ingeniería Inversa de código Java a UML class [ ReverseEngineering ] Persona +nombre : String +edad : Integer +telefonos 0..* Telefono +numero : int +operador : String +codigointernacional : int Profesor +centro : String Pablo Sánchez (MATESCO) Mantenimiento Software 37 / 62

38 Técnicas de mantenimiento Ingeniería Inversa Ingeniería Inversa de bases de datos relacionales Region rname salesman_name id Customer cid cname address phone rname id ref Sales pnum cid volume Product pnum pname id Pablo Sánchez (MATESCO) Mantenimiento Software 38 / 62

39 Técnicas de mantenimiento Ingeniería Inversa Ingeniería Inversa de bases de datos relacionales 1 Por cada tabla sin referencias a otras tablas, creamos una entidad. 2 Para las entidades creadas, copiamos atributos y marcamos claves primarias. Marcamos las tablas como procesadas. 3 Por cada tabla con referencias externas, creamos una entidad. 4 Para las entidades creadas, copiamos atributos y marcamos claves primarias. 5 Por cada clave externa, creamos una relación entre la entidad creada y la referenciada. 6 Para dicha relación, el extremo de tabla referenciada, tendrá cardinalidad 1, salvo restricción expresa. 7 Para dicha relación, el extremo de la entidad creada, tendrá cardinalidad 0.., salvo restricción expresa. 8 Si una entidad tiene: (1) su clave primaria formada por la unión de las claves primarias de tablas con las cuales se relaciona; y (2) los extremos de las relaciones con las otras entidades tiene como cardinalidad superior 1, convertir dicha entidad en una relación n a m entre entidades. 9 Copiar los atributos de la entidad a atributos de la relación. Pablo Sánchez (MATESCO) Mantenimiento Software 39 / 62

40 Técnicas de mantenimiento Ingeniería Inversa Ingeniería Inversa de bases de datos relacionales rname id cid cname phone pnum pname Region Customer Product salesman_name rname address volume id Pablo Sánchez (MATESCO) Mantenimiento Software 40 / 62

41 Técnicas de mantenimiento Reestructuración Reestructuración: Refactorings Refactorización Proceso de cambio de un sistema software de forma que su comprtamiento externo no se vea afectado pero que mejora su estructura interna (ej. atributos relacionados a clase). Malos olores (bad smells) Indicios sobre potenciales problemas en el código (ej. código replicado, mismo método en varias subclases). Pablo Sánchez (MATESCO) Mantenimiento Software 41 / 62

42 Técnicas de mantenimiento Reestructuración Esquema de una refactorización 1 Nombre 2 Síntomas 3 Causas 4 Refactorizaciones propuestas 5 Beneficios esperados 6 Efectos colaterales y contraindicaciones Pablo Sánchez (MATESCO) Mantenimiento Software 42 / 62

43 Técnicas de mantenimiento Reestructuración Refactorizaciones más Populares [6] 1 Pull Up Method. 2 Move Method. 3 Add Parameter. 4 Move Field. 5 Rename Method. 6 Rename Field. Pablo Sánchez (MATESCO) Mantenimiento Software 43 / 62

44 Técnicas de mantenimiento Reestructuración Pull Up Method Descripción Existen métodos cuasi-idénticos en las subclases class [ Refactorings ] class [ Refactorings ] Student UniversityMember Teacher UniversityMember +setcourse( course : Course ) +setcourse( course : Course ) +setcourse( course : Course ) Student Teacher Pablo Sánchez (MATESCO) Mantenimiento Software 44 / 62

45 Técnicas de mantenimiento Reestructuración Move Method Descripción Un método de una clase A es más usado en una clase B que en la clase donde está definido. class [ MoveMethod ] Course +students Student 0..* +isincourse( course : Course ) class [ MoveMethod ] Course +isincourse( student : Student ) +students Student 0..* Pablo Sánchez (MATESCO) Mantenimiento Software 45 / 62

46 Técnicas de mantenimiento Reestructuración Add Parameter Descripción A method needs more information from its caller. class AP(left) [ AP(left) ] Student +getcontactdata() class AP(right) [ AP(right) ] Student +getcontactdata( faculty : Faculty ) OJO! puede crear listas interminables de argumentos Pablo Sánchez (MATESCO) Mantenimiento Software 46 / 62

47 Técnicas de mantenimiento Reestructuración Introduce Parameter Object Descripción Existen grupos de parámetros que están naturalmente relacionados class [ IPO(left) ] Student +booksession( day : int, month : int, year : int ) +notifyexam( day : int, month : int, year : int ) class [ IPO(right) ] Student +booksession( date : Date ) +notifyexam( date : Date ) Date +day : int +month : int +year : int Pablo Sánchez (MATESCO) Mantenimiento Software 47 / 62

48 Técnicas de mantenimiento Reestructuración Move Field Descripción Un atributo de una clase A es más usado en una clase B que en la clase donde está definido. class [ MoveField(left) ] +vat : int Product ProductType +kind 1 class [ MoveField(right) ] Product ProductType +kind +vat : int 1 Pablo Sánchez (MATESCO) Mantenimiento Software 48 / 62

49 Técnicas de mantenimiento Reestructuración Rename Field/Method Descripción El nombre de un atributo o método no es significativo class [ MoveField(right) ] Prd PrdT +t +c : int 1 class [ MoveField(right) ] Product ProductType +kind +vat : int 1 Pablo Sánchez (MATESCO) Mantenimiento Software 49 / 62

50 Técnicas de mantenimiento Reestructuración Replace Magic Number with Symbolic Constant Descripción Tenemos una constante numérica con un significado bien definido double calculatetotalcharge() { return this.totalamount + (this.totalamount*16.0/100.0); } refactors to static final double NORMAL_VAT = 16.0; double calculatetotalcharge() { return this.totalamount + (this.totalamount*normal_vat/100.0); } Pablo Sánchez (MATESCO) Mantenimiento Software 50 / 62

51 Técnicas de mantenimiento Reestructuración Replace Type Code with State/Strategy Descripción Una clase tiene un atributo que indica tipo y que afecta al comportamiento de la clase class [ TypeBased ] Product +calculatetotalcharge() ProductType +kind +vat : float 1 class [ Strategy ] +vat : float Product +calculatetotalcharge() NormalProduct +calculatetotalcharge() ReduceVATProduct +calculatetotalcharge() BasicProduct +calculatetotalcharge() Pablo Sánchez (MATESCO) Mantenimiento Software 51 / 62

52 Técnicas de mantenimiento Detección de clones Detección de código replicado Problema del código Happiness Sadness Base Functionality Access Control Fault Tolerance v2.0 Encryption ModuleA ModuleB ModuleC Module D ModuleE Pablo Sánchez (MATESCO) Mantenimiento Software 52 / 62

53 Técnicas de mantenimiento Detección de clones Detección de código replicado (Baxter et al [3]) Fragmento 1 en módulo A void Anadir(int e, lista l) { int i:=1; boolean enc:=false; while (not enc) { if l[i].ocupado then i++; else enc=true; } l.info:=e; l.ocupado:=true; } Fragmento 2 en módulo B void Insertar(lista l, int info) { int cont; boolean enc; Elemento e; cont:=1; enc:=false; while (enc==false) { e:=l[cont]; if (not e.ocupado) then { e.ocupado:=true; e.info:=info; l[cont]:=e; enc:=true; } else cont:=cont+1; } } Pablo Sánchez (MATESCO) Mantenimiento Software 53 / 62

54 Técnicas de mantenimiento Detección de clones Detección de código replicado (Baxter et al [3])... if a=b then for i=1 to f(n) aux = aux + f(i, i-1) end for a=0 end if... Pablo Sánchez (MATESCO) Mantenimiento Software 54 / 62

55 Técnicas de mantenimiento Detección de clones Detección de código replicado (Baxter et al [3]) Clones= Para cada s Subárboles Si s PesoMínimo entonces TablaHash = TablaHash {s} Para cada (s1, s2) que están en la misma entrada de TablaHash Si Similitud(s1,s2) UmbralDeSimilitud entonces Para cada s Subárboles(s1) Si s Clones entonces Clones=Clones - {s} Para cada s Subárboles(s2) Si s Clones entonces Clones=Clones - {s} Clones=Clones {s1} {s2} Pablo Sánchez (MATESCO) Mantenimiento Software 55 / 62

56 Métricas para mantenimiento software Métricas para diseños software orientados a objetos [5] Weigthed Method per Class (WMC) Depth of Inheritance Tree (DIT) Number of Children (NOC) Coupling Between Objects (CBO) Response For a Class (RFC) Lack of Cohesion in Methods (LCOM) WMC = n i=1 c i maximum lenght to the root of the tree number of inmediate subclasses of a class number of tother classes used by a class RFC = M + n i=1 R i LCOM = P Q Regla informal Un sistema será más mantenible cuanto mayor cohesión tenga y menor sea su acoplamiento [10]. Pablo Sánchez (MATESCO) Mantenimiento Software 56 / 62

57 Métricas para mantenimiento software Métricas para diseños software orientados a objetos [5] class [ OBSComponentClassesLarge ] System +register() +unregister() 0..* +customers 1..* Clerk +clerks +packorder() Customer +name : String +creditcard : String 1..* +books Book +author : String +title : String +customer 0..* +books +quantity : Integer ShoppingCart SelectedBook +additem( book : Book, quantity : Integer ) +removeitem( book : Book ) +checkout() +creditnotification( ok : Boolean ) +deliverynotification( ok : Boolean ) Pablo Sánchez (MATESCO) Mantenimiento Software 57 / 62

58 Conclusiones Conclusiones 1 Importancia del mantenimiento software y diferencia con sistemas clásicos. 2 Definción de mantenimiento software. Tipos de mantenimiento y cambio. 3 Importancia y problemas de los sistemas heredados. 4 Organización y gestión del mantenimiento. 5 Concepto y técnicas de Ingeniería Inversa. 6 Concepto y técnicas de Refactorización. 7 Métricas para mantenimiento. Pablo Sánchez (MATESCO) Mantenimiento Software 58 / 62

59 Bibliografía Referencias I Lowell Jay Arthur. Software Evolution: A Software Maintenance Challenge. John Wiley & Sons, February Victor Basili, Lionel Briand, Steven Condon, Yong-Mi Kim, Walcélio L. Melo, and Jon D. Valett. Understanding and Predicting the Process of Software Maintenance Release. In Proc. of the 18th Int. Conference on Software Engineering (ICSE), pages , Berlin, Germany, March Ira D. Baxter, Andrew Yahin, Leonardo Moura, Marcelo Sant Anna, and Lorraine Bier. Clone Detection Using Abstract Syntax Trees. In Proc. of the Int. Conference on Software Maintenance (ICSM), pages , Bethesda (Maryland, USA), November Pablo Sánchez (MATESCO) Mantenimiento Software 59 / 62

60 Bibliografía Referencias II Frederick P. Brooks. No Silver Bullet - Essence and Accidents of Software Engineering. IEEE Computer, 20(4):10 19, April Shyam R. Chidamber and Chris F. Kemerer. A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, 20(6): , June Steve Counsell, Youssef Hassoun, George Loizou, and Rajaa Najjar. Common Refactorings, a Dependency Graph and Some Code Smells: an Empirical Study of Java OSS. In Guilherme Horta Travassos, José Carlos Maldonado, and Claes Wohlin, editors, Proc. of the Int. Symposium on Empirical Software Engineering (ISESE), pages , Rio de Janeiro (Brazil), September Pablo Sánchez (MATESCO) Mantenimiento Software 60 / 62

61 Bibliografía Referencias III Edsger W. Dijkstra. The humble programmer. Communications of the ACM, 15(10): , October ISO/IEC/IEEE. Software engineering software life cycle processes maintenance. Technical Report International Standard ISO/IEC 14764:2006, IEEE Std , September IEEE (The Institute of Electrical and Electronics Engineers). Standard for software maintenance. Technical Report IEEE Std , December David L. Parnas. On the Criteria to be Used in Decomposing Systems into Modules. Communications of the ACM, 15(12): , Pablo Sánchez (MATESCO) Mantenimiento Software 61 / 62

62 Bibliografía Referencias IV Mario Piattini, José Villalba, Francisco Ruiz, Teresa Bastanchury, Macario Polo, Miguel Angel Martínez, and César Nistal. Mantenimiento del Software. Modelos, Técnicas y Métodos para la Gestión del Cambio. Macario Polo, Mario Piattini, Francisco Ruiz, and Coral Calero. MANTEMA: A Complete Rigorous Methodology for Supporting Maintenance Based On The ISO/IEC Standard. In Proc. of the 3rd European Conference on Software Maintenance and Reengineering (CSMR), pages , Amsterdam (The Netherlands), March Stephen S. Yau and James S. Collofello. Design Stability Measures for Software Maintenance. IEEE Transactions on Software Engineering, 11(9): , October Pablo Sánchez (MATESCO) Mantenimiento Software 62 / 62

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Mantenimiento del Software

Mantenimiento del Software Mantenimiento del Software S1 Francisco Ruiz, Macario Polo Grupo Alarcos Dep. de Informática ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASTILLA-LA MANCHA http://alarcos.inf-cr.uclm.es/doc/mso/ Ciudad

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Mantenimiento de Sistemas de Información

Mantenimiento de Sistemas de Información de Sistemas de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ACTIVIDAD MSI 1: REGISTRO DE LA PETICIÓN...4 Tarea MSI 1.1: Registro de la Petición... 4 Tarea MSI 1.2: Asignación de la Petición... 5 ACTIVIDAD

Más detalles

MANTENIMIENTO DE SOFTWARE

MANTENIMIENTO DE SOFTWARE MANTENIMIENTO DE SOFTWARE Definición de Mantenimiento El estándar IEEE 1219 [IEEE, 1993] define el Mantenimiento del Software como la modificación de un producto software después de haber sido entregado

Más detalles

Mantenimiento del Software

Mantenimiento del Software Mantenimiento del Software S9 Francisco Ruiz, Macario Polo Grupo Alarcos Dep. de Informática ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASTILLA-LA MANCHA http://alarcos.inf-cr.uclm.es/doc/mso/ Ciudad

Más detalles

12/07/2010. INGENIERIA DE SOFTWARE Tema 7: Mantenimiento del software. Contenido. 1. Aspectos Generales. 1. Aspectos Generales. 1. Aspectos Generales

12/07/2010. INGENIERIA DE SOFTWARE Tema 7: Mantenimiento del software. Contenido. 1. Aspectos Generales. 1. Aspectos Generales. 1. Aspectos Generales Contenido INGENIERIA DE SOFTWARE Tema 7: Mantenimiento del software Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca dtorres@mixteco.utm.mx Cubo 37 1. Aspectos generales 2. Características

Más detalles

Gestión de Configuración del Software

Gestión de Configuración del Software Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software

Más detalles

Mantenimiento del Software

Mantenimiento del Software Mantenimiento del Software S3 Francisco Ruiz, Macario Polo Grupo Alarcos Dep. de Informática ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASTILLA-LA MANCHA http://alarcos.inf-cr.uclm.es/doc/mso/ Ciudad

Más detalles

Las 10 preguntas más habituales sobre los Sistemas de Captación de Datos en planta

Las 10 preguntas más habituales sobre los Sistemas de Captación de Datos en planta Las 10 preguntas más habituales sobre los Sistemas de Captación de Datos en planta 1. Que son los sistemas de captación de datos en planta? Los sistemas de captación de planta permiten simplificar y automatizar

Más detalles

NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR

NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR Ignacio.bayugar@mercadolibre.com, i id nachobayugar@gmail.com NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE El desarrollo ágil El nuevo rol de

Más detalles

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 Estándares para planes de calidad de software Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 DIFERENCIA ENTRE PRODUCIR UNA FUNCION Y PRODUCIR UNA FUNCION

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G114-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G114-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. PROYECTO

Más detalles

Gestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari

Gestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari Gestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari 1 Temario Definiciones Problemas del cambio Elementos de la configuración Actividades de SCM Identificación

Más detalles

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

CMMI (Capability Maturity Model Integrated)

CMMI (Capability Maturity Model Integrated) CMMI (Capability Maturity Model Integrated) El SEI (software engineering institute) a mediados de los 80 desarrolló el CMM (modelo de madurez de la capacidad de software). CMMI: CMM integrado, una mezcla

Más detalles

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

Capítulo IV. Manejo de Problemas

Capítulo IV. Manejo de Problemas Manejo de Problemas Manejo de problemas Tabla de contenido 1.- En qué consiste el manejo de problemas?...57 1.1.- Ventajas...58 1.2.- Barreras...59 2.- Actividades...59 2.1.- Control de problemas...60

Más detalles

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS Rubby Casallas, Andrés Yie Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes Agenda Contexto Ciclos de vida: Modelo

Más detalles

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos Britos, P. 1,2 ; Fernández, E. 2,1 ; García Martínez, R 1,2 1 Centro de Ingeniería del Software e Ingeniería del Conocimiento.

Más detalles

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE INGENIERÍA DEL SOFTWARE Sesión No. 2 Nombre: Procesos de ingeniería del software INGENIERÍA DEL SOFTWARE 1 Contextualización La ingeniería de software actualmente es muy importante, pues con los avances

Más detalles

6 Anexos: 6.1 Definición de Rup:

6 Anexos: 6.1 Definición de Rup: 6 Anexos: 6.1 Definición de Rup: Es un producto del proceso de ingeniería de software que proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organización del desarrollo.

Más detalles

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE UNIVERSIDAD DEL CAUCA FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES

Más detalles

Dirección General de Educación Superior Tecnológica

Dirección General de Educación Superior Tecnológica Dirección General de Educación Superior Tecnológica 1. Datos Generales de la asignatura Nombre de la asignatura: Clave de la asignatura: Créditos (Ht-Hp_ créditos): Carrera: Verificación y Validación del

Más detalles

Metodologías de Desarrollo de Sistemas de Información

Metodologías de Desarrollo de Sistemas de Información Metodologías de Desarrollo de Sistemas de Información Metodología para el Desarrollo de SI Las metodologías son sistemas completos de técnicas que incluyen procedimientos paso a paso, productos resultante,

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

Cómo Elaborar y Redactar un Informe como un Verdadero Ingeniero Software

Cómo Elaborar y Redactar un Informe como un Verdadero Ingeniero Software Cómo Elaborar y Redactar un Informe como un Verdadero Ingeniero Software Pablo Sánchez Dpto. Matemáticas, Estadística y Computación Universidad de Cantabria Santander (Cantabria, España) p.sanchez@unican.es

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

GUÍA METODOLÓGICA PARA LA FORMACIÓN CON E-LEARNING DIRIGIDA A COLECTIVOS SIN ALTA CUALIFICACIÓN CAPÍTULO 4. Dirección Técnica:

GUÍA METODOLÓGICA PARA LA FORMACIÓN CON E-LEARNING DIRIGIDA A COLECTIVOS SIN ALTA CUALIFICACIÓN CAPÍTULO 4. Dirección Técnica: LA FORMACIÓN EMPRESARIAL CON E-LEARNING GUÍA METODOLÓGICA PARA LA FORMACIÓN CON E-LEARNING DIRIGIDA A COLECTIVOS SIN ALTA CUALIFICACIÓN CAPÍTULO 4 Dirección Técnica: 4.- EL PLAN DE FORMACIÓN 33 Capítulo

Más detalles

EXPERIENCIAS EN LA IMPLANTACIÓN DE UN SISTEMA DE GESTIÓN DE LA CALIDAD PARA EL PROCESO DE PRODUCCIÓN DE SOFTWARE

EXPERIENCIAS EN LA IMPLANTACIÓN DE UN SISTEMA DE GESTIÓN DE LA CALIDAD PARA EL PROCESO DE PRODUCCIÓN DE SOFTWARE EXPERIENCIAS EN LA IMPLANTACIÓN DE UN SISTEMA DE GESTIÓN DE LA CALIDAD PARA EL PROCESO DE PRODUCCIÓN DE SOFTWARE MSc. Gloria María Guerrero Llerena J Gestión de la Calidad y Auditoría. CITMATEL E-mail:

Más detalles

Ingeniería del Software I

Ingeniería del Software I Ingeniería del Software I 1er. Cuatrimestre 2002 Martina Marré martina@dc.uba.ar Organización 3 tipos de clase: teórica, práctica, taller 3 grupos de docentes un cronograma material en la WEB 2002 2 Aprobación

Más detalles

ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: 2009-2010 APUNTES TEMA 1: CONTROL DE CALIDAD

ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: 2009-2010 APUNTES TEMA 1: CONTROL DE CALIDAD ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: 2009-2010 APUNTES TEMA 1: CONTROL DE CALIDAD. CONCEPTO. EVOLUCIÓN CON EL TIEMPO. NORMA UNE EN ISO 9001:2000 Profesor: Victoriano García

Más detalles

MODULO: MERCADEO. Acuerdo de Nivel de Servicio (ANS) Service Level Agreement (SLA) MODELO DE MUESTRA SIN VALOR COMERCIAL

MODULO: MERCADEO. Acuerdo de Nivel de Servicio (ANS) Service Level Agreement (SLA) MODELO DE MUESTRA SIN VALOR COMERCIAL MODULO: MERCADEO Acuerdo de Nivel de Servicio (ANS) Service Level Agreement (SLA) 1 Servicio de Soporte. El presente apartado constituye las condiciones de soporte y mantenimiento por parte de enncloud

Más detalles

Sistemas de Información 12/13 La organización de datos e información

Sistemas de Información 12/13 La organización de datos e información 12/13 La organización de datos e información Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza (raqueltl@unizar.es) " Guión Introducción: Data Warehouses Características: entornos

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

MS_10974 Deploying Windows Server

MS_10974 Deploying Windows Server Gold Learning Gold Business Intelligence Silver Data Plataform www.ked.com.mx Por favor no imprimas este documento si no es necesario. Introducción. En este curso usted aprenderá cómo planear e implementar

Más detalles

DE VIDA PARA EL DESARROLLO DE SISTEMAS

DE VIDA PARA EL DESARROLLO DE SISTEMAS MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso

Más detalles

Empresa Financiera Herramientas de SW Servicios

Empresa Financiera Herramientas de SW Servicios Empresa Financiera Herramientas de SW Servicios Resulta importante mencionar que ésta es una empresa cuya actividad principal está enfocada a satisfacer las necesidades financieras de los clientes, a través

Más detalles

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red. Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Tema 7 COSTO ESTÁNDAR

Tema 7 COSTO ESTÁNDAR Tema 7 COSTO ESTÁNDAR Campus Santa Fé Miguel Ángel Gutiérrez Banegas 1 Introducción En el proceso de generación de información en los negocios, la predeterminación de costos soluciona la dificultad que

Más detalles

2 EL DOCUMENTO DE ESPECIFICACIONES

2 EL DOCUMENTO DE ESPECIFICACIONES Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir

Más detalles

UN ENTORNO A MEDIDA PARA EL DISEÑO Y LA SIMULACIÓN DE MAQUINARIA POR COMPUTADOR

UN ENTORNO A MEDIDA PARA EL DISEÑO Y LA SIMULACIÓN DE MAQUINARIA POR COMPUTADOR UN ENTORNO A MEDIDA PARA EL DISEÑO Y LA SIMULACIÓN DE MAQUINARIA POR COMPUTADOR Manuel González y Javier Cuadrado Departamento de Ingeniería Industrial II, Campus de Esteiro, 15403 Ferrol Universidad de

Más detalles

RESUMEN CUADRO DE MANDO

RESUMEN CUADRO DE MANDO 1. Objetivo Los objetivos que pueden alcanzarse, son: RESUMEN CUADRO DE MANDO Disponer eficientemente de la información indispensable y significativa, de modo sintético, conectada con los objetivos. Facilitar

Más detalles

Mantenimiento del Software

Mantenimiento del Software Mantenimiento del Software S2 Francisco Ruiz, Macario Polo Grupo Alarcos Dep. de Informática ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASTILLA-LA MANCHA http://alarcos.inf-cr.uclm.es/doc/mso/ Ciudad

Más detalles

La medición funcional de software con SCRUM

La medición funcional de software con SCRUM La medición funcional de software con SCRUM Guilherme Siqueira Simões 1 Agenda Introducción El contexto SCRUM El contexto de la medición funcional de software Combinando los dos Prejuicios comunes sobre

Más detalles

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b El ciclo de vida de un sistema de información El ciclo de vida de un sistema de información El proceso de desarrollo de software Modelos de ciclo de vida El ciclo de vida de una base de datos El proceso

Más detalles

MÉTRICAS DE SOFTWARE. Presentado por: Jhon Alexander Guamanga Cyntia Mileidy Herrera Andrés Felipe Orejuela

MÉTRICAS DE SOFTWARE. Presentado por: Jhon Alexander Guamanga Cyntia Mileidy Herrera Andrés Felipe Orejuela MÉTRICAS DE SOFTWARE Presentado por: Jhon Alexander Guamanga Cyntia Mileidy Herrera Andrés Felipe Orejuela Qué son las métricas de software? El concepto de métrica es el término que describe muchos y muy

Más detalles

Procedimiento de Sistemas de Información

Procedimiento de Sistemas de Información Procedimiento de Sistemas de Información DIRECCIÓN DE COORDINACIÓN TÉCNICA Y PLANEACIÓN VIEMBRE DE 2009 PR-DCTYP-08 Índice. 1. INTRODUCCIÓN.... 3 2. OBJETIVO.... 4 3. ALCANCE.... 4 4. MARCO LEGAL.... 4

Más detalles

LISTA DE CHEQUEO NORMA NTC ISO 9001:2000 No. REQUISITOS EXISTE ESTADO OBSERVACIONES D: Documentado I: Implementado M: Mejorar SI NO D I M

LISTA DE CHEQUEO NORMA NTC ISO 9001:2000 No. REQUISITOS EXISTE ESTADO OBSERVACIONES D: Documentado I: Implementado M: Mejorar SI NO D I M No. REQUISITOS EXISTE ESTADO OBSERVACIONES 4. SISTEMA DE GESTION DE LA CALIDAD 4.1 Requisitos Generales La organización debe establecer, documentar, implementar y mantener un S.G.C y mejorar continuamente

Más detalles

TALLER: CALIFICACIÓN DE EQUIPOS Y SISTEMAS

TALLER: CALIFICACIÓN DE EQUIPOS Y SISTEMAS TALLER: CALIFICACIÓN DE EQUIPOS Y SISTEMAS QFB. ELIZABETH MARTÍNEZ FLORES TERRA FARMA S.A DE C.V. Documento propiedad de su autor. Prohibida su reproducción por cualquier medio para fines distintos a la

Más detalles

MANTENIMIENTO Y SOPORTE

MANTENIMIENTO Y SOPORTE MANTENIMIENTO Y SOPORTE Copyright 2014 Magalink SA Todos los derechos reservados. Este documento no puede ser reproducido de ninguna manera sin el consentimiento explícito de Magalink S.A. La información

Más detalles

Implementando un ERP La Gestión del Cambio

Implementando un ERP La Gestión del Cambio Artículos> Implementando un ERP - La Gestión del Cambio Artículo Implementando un ERP La Gestión del Cambio 1 Contenido Sumario Ejecutivo 3 Los sistemas ERP flexibilizan la gestión de la empresa y su cadena

Más detalles

Ingeniería del So9ware II

Ingeniería del So9ware II Ingeniería del So9ware II Tema 07. Ges+ón de Riesgos en Proyectos So9ware Pablo Sánchez Barreiro DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN p.sanchez@unican.es Este tema se publica bajo Licencia:

Más detalles

PRU. Fundamento Institucional. Objetivos. Alcance

PRU. Fundamento Institucional. Objetivos. Alcance PRU INSTRUCCIONES: a continuación se describe el flujo de trabajo correspondiente al área de procesos de PRUEBAS para el desarrollo de software, en el cual se debe apoyar para la ejecución de sus actividades;

Más detalles

Figure 9-1: Phase C: Information Systems Architectures

Figure 9-1: Phase C: Information Systems Architectures FASE C Figure 9-1: Phase C: Information Systems Architectures Objetivos Los objetivos de la Fase C son: Desarrollar la arquitectura de sistemas de información objetivo (datos y aplicaciones), que describe

Más detalles

CONTRATACIÓN DESARROLLO DE APLICACIÓNES PARA DISPOSITIVOS MOVILES

CONTRATACIÓN DESARROLLO DE APLICACIÓNES PARA DISPOSITIVOS MOVILES CONTRATACIÓN DESARROLLO DE APLICACIÓNES PARA DISPOSITIVOS MOVILES 1. ANTECEDENTES El mundo actual es un mundo en constante evolución y desarrollo en el campo de la programación de dispositivos móviles,

Más detalles

Ingeniería del So:ware II

Ingeniería del So:ware II Ingeniería del So:ware II Tema 04 (1). Integración de Proyectos So:ware Carlos Blanco Bueno DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN carlos.blanco@unican.es Este tema se publica bajo Licencia: CreaRve

Más detalles

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CONCEPTOS DE PRUEBAS DE APLICACIÓN El departamento de Testing se encarga de diseñar, planear y aplicar el rol de pruebas a los sistemas que el PROVEEDOR

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A. Cátedra : Sistemas de Información Administrativa S.I.A. Escuela de Contadores Auditores Tema: Ingeniería del Software Estrategias de Pruebas Relator: Sr. Eduardo Leyton G Pruebas del Software (Basado en

Más detalles

SSTQB. Nivel Fundamentos. Examen ejemplo. Programa de estudios 2010

SSTQB. Nivel Fundamentos. Examen ejemplo. Programa de estudios 2010 SSTQB Nivel Fundamentos Examen ejemplo Página 1 de 12 Fecha publicación: 28 - octubre - 2015 Índice Preguntas... 3 Respuestas... 12 Página 2 de 12 Fecha publicación: 28 - octubre - 2015 Preguntas 1 2 Una

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

Control Estadístico del Proceso. Ing. Claudia Salguero Ing. Alvaro Díaz

Control Estadístico del Proceso. Ing. Claudia Salguero Ing. Alvaro Díaz Control Estadístico del Proceso Ing. Claudia Salguero Ing. Alvaro Díaz Control Estadístico del Proceso Es un conjunto de herramientas estadísticas que permiten recopilar, estudiar y analizar la información

Más detalles

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE 3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE Software Configuration Management (SCM) es una disciplina de la Ingeniería de Software que se preocupa de [Ber92] [Ber84] [Bou98] [Mik97]: Identificar y documentar

Más detalles

TEMA 1: INTRODUCCIÓN A SERVICIOS TI

TEMA 1: INTRODUCCIÓN A SERVICIOS TI CIMSI Configuración, Implementación y Mantenimiento de Sistemas Informáticos TEMA 1: INTRODUCCIÓN A SERVICIOS TI Daniel Cascado Caballero Rosa Yáñez Gómez Mª José Morón Fernández E.T.S. de Ingeniería Informática

Más detalles

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual Área Académica: Licenciatura Sistemas Computacionales Materia: Gestión de Proyectos Profesor: Lic. Virginia Arguelles Pascual Periodo: Julio-Diciembre Tema: El proceso de software y métricas del proyecto.

Más detalles

Parte I: Introducción

Parte I: Introducción Parte I: Introducción Introducción al Data Mining: su Aplicación a la Empresa Cursada 2007 POR QUÉ? Las empresas de todos los tamaños necesitan aprender de sus datos para crear una relación one-to-one

Más detalles

Salud de Activos Reflejo de la Estrategia de Mantenimiento

Salud de Activos Reflejo de la Estrategia de Mantenimiento Salud de Activos Reflejo de la Estrategia de Mantenimiento Mucho se ha dicho y escrito acerca de como medir la efectividad de una estrategia de mantenimiento, sin embargo, al momento solo porciones de

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

El Proceso de Pruebas de acuerdo a los estandares y la experiencia.

El Proceso de Pruebas de acuerdo a los estandares y la experiencia. El Proceso de Pruebas de acuerdo a los estandares y la experiencia. Logo@Copyright 1 Objetivos 1. Compartir conocimiento adquirido en distintos proyectos con la comunidad de Testing. 2. Generar un espacio

Más detalles

1-9 August 2003, Berlin

1-9 August 2003, Berlin World Library and Information Congress: 69th IFLA General Conference and Council 1-9 August 2003, Berlin Code Number: 014-S Meeting: 91. Education and Training Simultaneous Interpretation: Yes Informe

Más detalles

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE SERVICIOS DE MANTENIMIENTO DEL SISTEMA DE INFORMACIÓN ESTADÍSTICO DE LA CONSEJERÍA DE

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE SERVICIOS DE MANTENIMIENTO DEL SISTEMA DE INFORMACIÓN ESTADÍSTICO DE LA CONSEJERÍA DE PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE SERVICIOS DE MANTENIMIENTO DEL SISTEMA DE INFORMACIÓN ESTADÍSTICO DE LA CONSEJERÍA DE EDUCACIÓN, CIENCIA Y CULTURA DE CASTILLA-LA MANCHA. 1 Índice

Más detalles

Procedimiento para el Manejo de No Conformidades, Acciones Preventivas y Correctivas del Sistema de Gestión Integral

Procedimiento para el Manejo de No Conformidades, Acciones Preventivas y Correctivas del Sistema de Gestión Integral Página: 1 de 1 Hoja de Control de Emisión y Revisiones. N de Revisión Páginas Afectadas Motivo del Cambio Aplica a partir de: 0 Todas Generación de documento 01-Agosto-2009 1 Todas Mejora del documento

Más detalles

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Servinet Sistemas y Comunicación S.L. www.softwaregestionsat.com Última Revisión: Octubre 2014 FUNCIONALIDADES SAT

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Enginyeria del Software III

Enginyeria del Software III Enginyeria del Software III Sessió 3. L estàndard ISO/IEC 15504 Antònia Mas Pichaco 1 Introducción El proyecto SPICE representa el mayor marco de colaboración internacional establecido con la finalidad

Más detalles

1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS

1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS OBJETIVOS La formación del módulo contribuye a alcanzar los objetivos generales de este ciclo formativo que se relacionan a continuación: a. Analizar la

Más detalles

ISO9001:2015. Todos los certificados emitidos en este periodo tienen una fecha de caducidad de 15 de septiembre de 2018.

ISO9001:2015. Todos los certificados emitidos en este periodo tienen una fecha de caducidad de 15 de septiembre de 2018. ISO9001:2015 PLAN DE TRANSICIÓN Tras la publicación de la nueva versión de la norma ISO9001 el pasado mes de septiembre se inicia un periodo de convivencia entre las dos versiones de la norma. Este periodo

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

TEMA 5: La explotación de un servicio TI

TEMA 5: La explotación de un servicio TI CIMSI Configuración, Implementación y Mantenimiento de Sistemas Informáticos TEMA 5: La explotación de un servicio TI Daniel Cascado Caballero Rosa Yáñez Gómez Mª José Morón Fernández E.T.S. de Ingeniería

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Caso práctico de Cuadro de Mando con Tablas Dinámicas

Caso práctico de Cuadro de Mando con Tablas Dinámicas 1 Caso práctico de Cuadro de Mando con Tablas Dinámicas Luis Muñiz Socio Director de SisConGes & Estrategia Introducción Hay una frase célebre que nos permite decir que: Lo que no se mide no se puede controlar

Más detalles

Qué es SPIRO? Características

Qué es SPIRO? Características Qué es SPIRO? Características Tecnología de SPIRO Módulos principales Otros módulos de Spiro Qué es Spiro? Software para la planificación y gestión integral Qué es un Sistema Integrado de Gestión? Se podría

Más detalles

IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO) IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO) Introducción 1. Como se indica en la Norma Internacional de Auditoría 401, "Auditoría en un contexto informatizado", los objetivos globales

Más detalles

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información 1 1. Definición y objetivos análisis.(del gr. ἀνάλυσις). 1. m. Distinción y separación de las partesdeun todo hasta llegar a conocer sus principios o elementos. 2. m.

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características

Más detalles

Boletín Asesoría Gerencial*

Boletín Asesoría Gerencial* Boletín Asesoría Gerencial* 2008 - Número 3 de Conversión de la Información *connectedthinking de Conversión de la Información de la información? proceso de conversión La conversión de la información no

Más detalles

Data Mining Técnicas y herramientas

Data Mining Técnicas y herramientas Data Mining Técnicas y herramientas Introducción POR QUÉ? Empresas necesitan aprender de sus datos para crear una relación one-toone con sus clientes. Recogen datos de todos lo procesos. Datos recogidos

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más detalles

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado Ministerio de Educación, Cultura y Deporte Joomla! La web en entornos educativos Guía del alumnado INTEF 2012 Joomla! La web en entornos educativos Guía Didáctica En este apartado describiremos las características

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

LISTA DE MEJORAS PARA MEJORAR LOS RESULTADOS DE LA EVALUACIÓN

LISTA DE MEJORAS PARA MEJORAR LOS RESULTADOS DE LA EVALUACIÓN LISTA DE MEJORAS PARA MEJORAR LOS RESULTADOS DE LA EVALUACIÓN Después de realizar la evaluación inicial se han detectado deficiencias en los procesos de reutilización del código, por lo que se van a integrar

Más detalles

Syllabus. www.techeraperu.com cursos@techeraperu.com

Syllabus. www.techeraperu.com cursos@techeraperu.com Syllabus www.techeraperu.com cursos@techeraperu.com Este curso está dirigido para los Encargados de Desarrollar los Sistemas de Información y aplicar una Metodología basada en RUP para controlar el Ciclo

Más detalles

SISTEMAS DE COSTOS ESTANDAR

SISTEMAS DE COSTOS ESTANDAR SISTEMAS DE COSTOS ESTANDAR INTRODUCCION La técnica de Costos Estándar tuvo su origen a principios del siglo XX y vino a convertirse en Técnica de Valuación de Costos Aplicada a la Contabilidad en 1903

Más detalles