26
Tema 1. Introducción Desarrollo de Sistemas de Información Marta Elena Zorrilla Pantaleón DPTO. DE MATEMÁTICAS,ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: CreaHve Commons BY‐NC‐SA 3.0

Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

Embed Size (px)

Citation preview

Page 1: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

Tema1.Introducción

DesarrollodeSistemasdeInformación

MartaElenaZorrillaPantaleónDPTO.DEMATEMÁTICAS,ESTADÍSTICAY

COMPUTACIÓN

EstetemasepublicabajoLicencia:CreaHveCommonsBY‐NC‐SA3.0

Page 2: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

INTRODUCCIÓN

  ¿QuéesunSistemadeInformación?

  Términoquesurgeen1960

  DiXcildedefinirdeformaprecisa

2

“Sistemaquerecoge,almacena,procesaydistribuyeinformación”

“diseñadoyconstruidoporingenieros”

“paraundeterminadominio”

“conobjetodefacilitarlaplanificación,elcontrol,lacoordinaciónylatomadedecisionesenunaorganización”

Page 3: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

INTRODUCCIÓN

  ¿QuéesunSistemadeInformación?

  Funcionesquedeberealizar:

  Memoria:manHenelarepresentacióndelestadodeldominio

(almacenalainformaciónqueselesuministraconundeterminadoesquema)

  Informa7vo:suministrainformaciónsobreelestadodeldominio

(respondeaconsultassobreelestadodeldominio)

  Ac7vo:realizaraccionesquecambienelestadodeldominio

(nuevasinserciones,actualizaciones,borrados)

  Yquerequiere:hardware,sodware,infraestructuraypersonas

3

Page 4: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

DEFINICIONES

  Información:esunconjuntoorganizadodedatosprocesados,queconsHtuyenunmensajequecambiaelestadodeconocimientodelsujetoosistemaquerecibedichomensaje(conjuntodedatos,relacionesyrestriccionesdeundominio).

  Dato:atributoocaracterísHcadeunaenHdaddeldominio

  BD:colecciónorganizadadedatos,relaHvaaunproblemaconcreto,quepuedesercomparHdaporunconjuntodeusuarios/aplicaciones.Sirvenparaalmacenar,actualizar,consultarycontrolarlainformación.

  SGBD:programaoconjuntodeprogramasquesirveparamantenerbasesdedatosyresponderconsultassobreellas

4

Page 5: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

CICLO DE VIDA DE UN SI

  Definición:¿Quéquierohacer?  Estudiodeoportunidades

  Análisisderequisitos

  Diseño:¿Cómoloharé?  Modelossodware

  Construcción:Implementación

  Evaluación:  Pruebas

  Puestaenmarcha

  Mantenimiento:  Bugs

  Incorporarnuevasfuncionalidades

5

Page 6: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

¿QUÉ ES UN MODELO DE SOFTWARE?

  AdescripHonof(partof)asystemwriheninawell‐definedlanguage.(EquivalenttospecificaHon.)[Kleppe,2003]

  ArepresentaHonofapartofthefunc7on,structureand/orbehaviorofasystem[MDA,2001]

  AdescripHonorspecificaHonofthesystemanditsenvironmentforsomecertainpurpose.AmodelisodenpresentedasacombinaHonofdrawingsandtext.[MDAGuide,2003]

  Asetofstatementsaboutthesystem.[Seidewitz,2003](Statement:expressionaboutthesystemthatcanbeconsideredtrueorfalse.)

6

Page 7: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

¿QUÉ ES UN MODELO DE SOFTWARE? (Y 2)

  Entonces,sepuedeconcretaren:

  Unmodeloesunaabstraccióndeunsistemaoen7daddelmundoreal.

  Unaabstracciónesunasimplificación,queincluyesóloaquellosdetallesrelevantesparaalgúndeterminadopropósito

  Elmodeladopermitenabordarlacomplejidaddelossistemas

  Unmodelodedatossepuededefinircomounconjuntodeherramientasconceptualesparadescribirlarepresentacióndelainformaciónentérminosdedatos.Estoesunconjuntodeconceptos,reglasyconvencionesquepermitenespecificardatos,lasrelacionesentreellos,susemán1caasociadaylasrestriccionesdeintegridad.

7

Page 8: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

¿PARA QUÉ SIRVEN?

  Losmodelossirvenpara:

  Especificarelsistema

  Estructura,comportamiento,…

  ComunicarseconlosdisHntosstakeholders

  Comprenderelsistema(siyaexiste)

  Razonaryvalidarelsistema

  Detectarerroresyomisioneseneldiseño

  ProtoHpado(ejecutarelmodelo)

  Inferirydemostrarpropiedades

  Guiarlaimplementación

8

Page 9: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

CARACTERÍSTICAS DE LOS MODELOS [SELIC, 2003]

  Abstractos

  EnfaHzanciertosaspectos,mientrasqueocultanotros

  Comprensibles

  Expresadosenunlenguajecomprensibleporlosusuariosyclientes

  Precisos

  Fielesrepresentacionesdelobjetoosistemamodelado

  PredicHvos

  Debendepoderserusadosparainferirconclusionescorrectas

  Baratos

  Másfácilesybaratosdeconstruiryestudiarqueelpropiosistema

9

Page 10: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

LIMITACIONES ACTUALES DE LOS MODELOS DE SOFTWARE

  Sóloseusancomodocumentación

  Queademásnoseactualiza!

  “Gap”entreelmodeloylaimplementacióndelsistema

  GrandesdiferenciassemánHcasenloslenguajesrespecHvos

  NohayherramientasdepropagaciónautomáHcadecambios

  Cambiosenelmodelonosereflejanenelcódigo

  Cambiosenelcódigonosereflejanenelmodelo

(elmodelonovuelveausarsejamástraslaprimeraimplementación)

  LosdisHntosmodelosdelsistemanosearmonizan

  Suponenvistasdeunmismosistema,peronohayformade

relacionarlas

  Nohayherramientasdeintegracióndemodelos

  CadalenguajedevistaHeneunasemánHcadisHntadelresto

  Nohaynilenguajesniherramientasparamanejarmodelos

  Soloeditores,peronohay“compiladores”,“opHmizadores”,

“validadores”,“transformadoresdemodelos”,etc.

10

Page 11: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

LENGUAJES DE MODELADO PARA BD

  UML(UnifiedModelingLanguage)  Esunlenguajedemodeladovisualdepropósitogeneral

orientadoaobjetos.

  ImpulsadoporelObjectManagementGroup(www.omg.org)

  ORM(Object‐RoleModeling)(www.orm.net)  Gráfico

  PropuestoporHalpin(Halpin,2009)

  ER(diversasnotaciones)  Chen

  IDEF1X

  Merise

  Etc.

11

Page 12: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

12 FASES DEL DISEÑO E IMPLANTACIÓN DE BD

  AunqueeldiseñodeunSIdebeincluirademásdelmodelodedatos,losprocesos,lainterfazdeusuarioylaseguridad.EnesteapartadoseabordaexclusivamentelasfasesparaeldiseñoeimplantacióndelaBD.

  Análisisderequisitos.DescripcióndelainformaciónagesHonarysusprocesos.Asícomoinformacióndevolumendedatos,volaHlidad,normasdevalidación,gestordeimplantación,etc..

  Técnicas:Entrevistasconusuariosyexpertos.Lecturadedocumentación.Observacióndelentorno.CuesHonarios.ProtoHpado.MapasConceptuales

  Salida:documentoconlosrequisitos

  Diseñoconceptual:traduccióndelanálisisderequisitosalesquemaconceptual.

  Parteestá7caRepresentacióngeneralmentegráficadelasenHdadesconsusatributosysusrelaciones

  Técnicas:ER,UMLuORM.

  Partedinámica:Detalledeprocesos(aspectosquecambianconelHempo)

  Técnicas:casosdeuso,modelosdecomportamiento,diagramasdeestado.

Page 13: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

13 FASES DEL DISEÑO E IMPLANTACIÓN DE BD (Y 2)

  Diseñológico:traduccióndelmodeloconceptualalLDDdelgestorcorrespondiente.Modelorelacional,OrientadoObjeto,Objeto‐Relacional,schemasXML,etc.

  DiseñoXsico:Transformarelmodelológico(generalmenteenSQL)alXsicoadaptándoloalascaracterísHcasdelgestoryalrendimientoqueseesperadelaBD(Hempoderespuesta,usuariosconcurrentes,nºdetransacciones,volumendedatos,procesossobretablas…)

  Cargadedatosypruebas:Cargainicialypruebasdeverificaciónyvalidacióndelosrequisitosdelsistema(tratardeviolarlasreglasdeintegridad,comportamientoantevaloreslímitedelosHposdedato,Hemposderespuestaenconsultasfrecuentesyenconsultascomplejas,etc.)

  Operación:  Puestaenmarcha  Tareasdemantenimientoymonitorización

Page 14: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

MODELO CONCEPTUAL VS MODELO LÓGICO 14

Modeloconceptual Modelológico

IndependientesdelSGBD Dependendelatecnología

Mayorniveldeabstracción Máspróximosalordenador

Másenfocadosaldiseñodealtonivel

Másenfocadosalaimplementación

MayorcapacidadsemánHca PocacapacidadsemánHca

Interfazusuario/informáHco InterfazinformáHco/sistema

Ej.:ER,UML,ORM Ej:relacional,jerárquico,Objeto‐Relacional,OrientadoaObjetos,SchemasXML,etc.

Page 15: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

MODELOS DE DATOS 15

Modelosconceptuales Modelológicos

EnHty‐RelaHonship(Chen,1976) Prerelacional:‐BDjerárquicasyenred

ExtendedER(Smithetal.1977) Relacional:(Codd,1970)‐SQL92

RM/T(Codd,1979) Postrelacional:‐OO(ODMG)‐Object‐relaHonal(SQL3)‐XML(SQL3)‐NoSQL(noestandarizado)

UML(v1.0,1977)

ORM(Halpin,1989) ModelosVsicos:

Oracle,SQLServer,DB2,MySQL,Informix,Sybase,Posgresql,Cassandra,…

Page 16: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

16 MODELO CONCEPTUAL-EJEMPLO

STUDIOownsNameaddressMOVIE

yearTitle

filmTypelength

0..N 1..1

Movie Title : string Year : string Length : number filmType {color, blackAndWhite}

Studio

name : string address : string

1..1 0..N

float lengthInHours() void starNames (out Set<String>); void otherMovies ( in Star, out Set<Movie>)

UML

ER

ownerowns

Page 17: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

17 MODELO LÓGICO - EJEMPLO

Createtablestudio(namechar(10)notnullprimarykey,addresschar(100)null);

Createtablemovie(Htlechar(20)notnullprimarykey,yearchar(4)notnull,lengthintnotnull,filmTypechar(2)notnullcheck(filmtypein(‘BW’,‘C’),owns_tochar(10)notnull,foreignkeyowns_toreferencesStudio(name)));

Page 18: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

18 MODELO FÍSICO- EJEMPLO

Createtablestudio(namechar2(10)notnullprimarykey,addresschar2(100)null);

Createtablemovie(Htlechar2(20)notnullprimarykey,yearchar2(4)notnull,lengthnumbernotnull,filmTypechar2(2)notnullcheck(filmtypein(‘BW’,‘C’),owns_tochar2(10)notnull,foreignkeyowns_toreferencesStudio(name)));

ORACLE

Page 19: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

HERRAMIENTAS CASE (COMPUTER AIDED/ASS ISTED SOFTWARE/SYSTEM ENGINEERING)

  Herramientasparaayudaralanalista/programadorenlafasedeldiseñoconceptualysupasoallógicoyXsico

  HerramientasCASEparaBD:ERWin,PowerDesigner,EasyCASE,Oracledesigner(Discoverer),Visio(Microsod),IBMInfosphere,etc.

  Estasherramientaspermitendiseñarelmodelodedatosconceptualsiguiendoalgunadelastécnicasmencionadas,generalmenteERoUMLyobtenerelesquemalógico,generalmenterelacionalescritoenlenguajeSQLestándar,obienXsico,estoeselmismomodeloperollevadoallenguajedelgestor(Oracle,SQLServer,MySQL,etc.)

19

Page 20: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

20 HERRAMIENTAS CASE (Y 2)

  Ventajasqueaportan:

  Ayudanaldiseño(verificacióndeerrores,validaciónrespectoalatécnica,etc.)

  ReducenelHempodedesarrollo

  Facilitanelmantenimientodelesquemadedatos(ingenieríadirectaeinversa)

  ReducenelHempodeladocumentación

  Facilitanlaportabilidadaotrosgestores

Page 21: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

21 HERRAMIENTAS CASE (Y 3)

  Deficiencias:

  GeneralmentenorecogentodalariquezasemánHcadelmodelodedatos.

  FaltadeunmodeloderestriccionesquegenerelasreglasdenegocioenautomáHco.

  NoayudaaespecificarelmodeloXsicoadecuado,loindicaeldiseñador,peronoledapautasomedidasderendimiento.

  Noofrecenlaposibilidaddediseñarenentornosdistribuidos,OO,acHvas,…nohaymodeloquepermitarepresentarlo.

  LosatributosderivadospuedenestarenelconceptualporrazonessemánHcasyenelXsicoporrazonesdeeficiencia,elproblemaesquelareglaporlaquesegeneranosepuedemodelizar.

Page 22: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

Curso2010‐2011

22 HERRAMIENTAS CASE: COMPONENTES

  Repositorioodiccionariodedatos

  Almacéndeloselementosdefinidos

  MódulodiagramáHco

  EditoresquerecogenlasdisHntastécnicas

  Generadordecódigo.Ingenieríainversa.

  Generadordedocumentación

  Interfazdeusuario INTERFAZDEUSUARIOINFORMES

CÓDIGO

Repositorio

Modelos

Page 23: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

23 HERRAMIENTAS CASE: PRODUCTOS

  IBMInfoSphere

  ERWin

  PowerDesigner(Sybase)

  EasyCASE

  Oracledesigner(Discoverer)

  Visio(Microsod)

Page 24: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

24 HERRAMIENTAS CASE: VISIO

Page 25: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

Curso2010‐2011MartaZorrilla‐UC

25 HERRAMIENTAS CASE: DATA ARCHITECH

Page 26: Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table studio ... Herramientas CASE para BD: ERWin, PowerDesigner, EasyCASE, Oracle

UC‐MartaZorrilla

26 ELECCIÓN DE LA HERRAMIENTA DE DISEÑO

DE BASES DE DATOS

  MulHplataforma

  Trabajoengrupo

  Aspectosdeseguridad

  SodwareOpenSource/licencia(precio)

  EsquemadeBDparadiferentesgestores.Comprobaciónderestricciones

  Sincronizaciónconelgestor

  Ingenieríainversa

  Generacióndedocumentación

  InterfazgráficacómodaeintuiHva

  Capacidadderepresentaciónrespectoalanotaciónteórica