CLASE 3 Ingeniera de Requisitos y Modelos Conceptuales Parte I 2 INGENIERA DE REQUISITOS Definicin: Es la rama de la Ingeniera del Software que se interesa por las metas del mundo real, las funciones y restricciones de los sistemas de software Tambin se interesa por precisar las especificaciones del comportamiento del software y su evolucin a lo largo del tiempo 3 INGENIERA DE REQUISITOS Requisitos Especific. Planeacin Diseo Implement. Integrac. Mantenim COSTOS DE UN PROYECTO? $ 4 INGENIERA DE REQUISITOS Por qu los sobrecostos , retrasos y cancelaciones en los sistemas de software?
En 1994 se evaluaron* 175.000 proyectos en EEUU con un costo total de 250.000 millones de dlares: 31% cancelados 52.7% sobre costos y retrasos 16.2% a tiempo, bajo costo, de acuerdo a los requisitos * El estudio fue hecho por la firma Standish Consulting Group Participacin del usuario Apoyo de las directivas Clara especificacin de requisitos 5 INGENIERA DE REQUISITOS En el proceso de desarrollo de cualquier aplicacin el grupo de desarrollo se ve enfrentado al problema de la identificacin de los requisitos, los cuales evolucionan con el funcionamiento del sistema La definicin de las necesidades de un sistema es un proceso complejo El proceso de especificacin de requisitos: Captura Definicin Validacin 6 Captura de requisitos Cules son los requisitos a obtener? Hay que identificar los Actores de la organizacin y sus necesidades Cuales son las tcnicas de obtencin? Tradicionales: encuestas, cuestionarios, entrevistas, documentos. Tcnicas de obtencin en grupo Prototipos 7 QU ES UN MODELO? Herramienta para comunicar y plasmar nuestra representacin de algn fenmeno o hecho del mundo que nos interesa
Y para qu? para comprender mejor los fenmenos
8 CONCEPTO DE MODELO Ser posible capturar TODOS los detalles de la realidad concreta?
N observadores de un fenmeno tendrn al menos N percepciones distintas del mismo fenmeno 9 MODELO CONCEPTUAL? 10 En bases de datos, es una descripcin de alto nivel de la estructura de la base de datos Independiente del SGBD que se vaya a usar El diseo de un modelo conceptual parte de la especificacin de requisitos MODELO CONCEPTUAL 11 MODELO CONCEPTUAL El propsito del modelo conceptual es describir el contenido de la informacin de la base de datos, en vez de las estructuras de almacenamiento que se requerirn para manejar esa informacin Se expresa mediante un lenguaje de muy alto nivel Es un modelo de datos que describe un conjunto de conceptos de una realidad 12 MODELO CONCEPTUAL Caractersticas: Expresividad: Representacin de gran variedad de restricciones Simplicidad: Fcil de comprender por los usuarios Minimalidad: Ningn concepto presente se puede expresar por otros conceptos Formalidad: Conceptos con interpretacin nica, precisa y bien definida 13 Los modelos conceptuales ms usados para bases de datos son: - Entidad/Asociacin El ms usado y base del curso - Diagrama de clases de UML - Semntico MODELO CONCEPTUAL 14 MODELO LGICO? 15 Un modelo lgico en bases de datos es una descripcin de la estructura de la base de datos que puede ser procesada por un SGBD El diseo de un modelo lgico parte de un modelo conceptual Sigue siendo un lenguaje de alto nivel
MODELO LGICO 16 Los modelos lgicos ms usados son: Relacional Objeto Relacional Objetual puro Anteriores (primitivos): Red Jerrquico MODELO LGICO 17 MODELO LGICO La eleccin del modelo lgico depende de la clase de modelo soportado por el tipo de SGBD, NO del SGBD especfico (es decir, el diseo del modelo lgico se efecta igual para todos los SGBD relacionales porque todos utilizan el modelo relacional) Puede decirse que el modelo lgico est entre el modelo conceptual y el modelo fsico 18 MODELO FSICO? 19 Un modelo fsico es una descripcin de la implantacin de una base de datos en disco Describe las estructuras de almacenamiento y las tcnicas de almacenamiento para tener un acceso efectivo a los datos El diseo de un modelo fsico depende de un SGBD concreto MODELO FSICO 20 Resumiendo El diseo CONCEPTUAL: parte de las especificaciones de los requisitos Es independiente del SGBD Es una descripcin de alto nivel de la estructura de la base de datos
El diseo LGICO: Parte del modelo conceptual Es dependiente del TIPO de SGBD
El diseo FISICO: Parte del modelo lgico Describe las estructuras de almacenamiento y mtodos eficientes para tener acceso a los datos Se expresa en un lenguaje de definicin de datos Es dependiente del SGBD en concreto 21 Resumiendo Requisitos Diseo Conceptual Diseo Lgico Diseo Fsico veremos en este curso Modelo Entidad/Asociacin Modelo Semntico Modelo de Clases Modelo Relacional Modelo objetual M. objeto-relacional Modelo en red Modelo jerrquico 22 MODELO ENTIDAD-ASOCIACIN (E/A) 23 Modelo Entidad/Asociacin (E/A) Introduccin (1) Propuesto por Peter Chen en 1976 Gran aceptacin inicial Poco formal en sentido matemtico Intuitivamente funciona muy bien Expresividad grfica: Visin global de lo que se modela El ms usado para el modelamiento conceptual 24 Modelo Entidad/Asociacin (E/A) Introduccin (2) Inicialmente tena unos elementos y se le fueron adicionando otros Modelo (E/A) extendido Para qu? Aumentar la expresividad Richard Barker: libro CASE METHOD Entity Relationship Modelling 25 Elementos bsicos del modelo E/A Entidad: es una Clase de objetos relevantes y distinguibles del mundo, que son los sujetos de inters para el modelo, para la organizacin. Ej.: Cliente, Empleado, Proveedor, Sucursal etc. Asociacin: conexin, asociacin entre 2 entidades (relacin binaria) Atributo: propiedad bsica o caracterstica de inters que describe una entidad o asociacin 26 Notaciones Modelo E/A Existen diferentes notaciones para representar el modelo E/A* Chen Pata de Gallo: desarrollado por C.W. Bachman. La utilizaremos en este curso Rein85 IDEFIX *En el libro de Peter Rob y Carlos Coronel (ver bibliografa clase 1) hacen una comparacin de las diferentes notaciones OJO : En las evaluaciones solo se aceptar la notacin de pata de gallo 27 Entidades Clases de objetos que son importantes en el dominio de estudio Nos interesan sus propiedades Atributos. A veces NO es fcil distinguir entre un atributo y una entidad Ej: Barrio es un atributo de persona o es una entidad en si misma? 28 Entidades Representacin: Rectngulo (con bordes redondeados*). El tamao no importa Nombre nico (cada entidad slo aparece una vez en el modelo) en mayscula y singular * El borde redondeado es opcional. En la literatura se encuentran con bordes rectos 29 Entidades Entidades Dbiles: Aquellas que no pueden existir sin la existencia de otras entidades. Ej: - Los detalles son dbiles con respecto a una factura - Las personas a cargo de un empleado son dbiles con respecto al empleado Normales: Aquellas que tienen existencia propia. Ej: La existencia de un animal no est condicionada a la existencia de una jaula 30 Entidades Se pueden identificar a partir de la descripcin de los requisitos as: A partir de los sustantivos de la descripcin Informacin relevante de las posibles entidades candidatas Cada instancia se puede identificar en forma nica? 31 Ejemplos de entidades Instituciones: Bancos, Empresas, Universidades Universitario: Estudiantes, Profesores, Cursos Aerolnea: Piloto, Avin, Ruta, Pasajero Unidades organizacionales: Departamentos, Sucursales, Plantas, Lneas Clasificaciones, agrupaciones y jerarquas: Tipos, Clases, Conceptos, Grupos Documentos: Facturas, Pedidos, rdenes, Cheques 32 ASOCIACIONES 33 Asociaciones Relacin binaria bidireccional, significativa y nombrable entre 2 entidades (no necesariamente diferentes)
Establecen una accin o hecho 34 Tipos de Asociaciones Uno a muchos: PINTOR pinta pintado por CUADRO Un pintor pinta muchos cuadros Un cuadro es pintado por un pintor Salvador Dali
Fernando Botero
Pablo Picasso PINTOR El primer autorretrato Figura asomada a la ventana Rosita El pueblo La familia colombiana Retrato de un hombre barbudo Baista CUADRO 35 Tipos de Asociaciones Muchos a muchos: aprende aprendida por HABILIDADES EMPLEADO Un empleado aprende muchas habilidades Una habilidad es aprendida por muchos empleados Pedro Juan Luis Lola Pintar Cantar Conducir Tejer Bailar EMPLEADO HABILIDADES 36 Tipos de Asociaciones encargado de administrada por TIENDA EMPLEADO Uno a uno Pedro Juan Luis Lola Marazzi Bosi Alpie Americanino
EMPLEADO TIENDA 37 Asociaciones Cada direccin de una asociacin posee: Un nombre Opcionalidad: Puede : lnea punteada Debe (obligatoria): lnea contnua Cardinalidad: Uno : un punto(.) Muchos : el smbolo ( ) 8/26/2014 38 Prxima clase continuaremos con el modelo E/A