Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table...
Transcript of Desarrollo de Sistemas de Información - ocw.unican.es · 17 MODELO LÓGICO - EJEMPLO Create table...
Tema1.Introducción
DesarrollodeSistemasdeInformación
MartaElenaZorrillaPantaleónDPTO.DEMATEMÁTICAS,ESTADÍSTICAY
COMPUTACIÓN
EstetemasepublicabajoLicencia:CreaHveCommonsBY‐NC‐SA3.0
UC‐MartaZorrilla
INTRODUCCIÓN
¿QuéesunSistemadeInformación?
Términoquesurgeen1960
DiXcildedefinirdeformaprecisa
2
“Sistemaquerecoge,almacena,procesaydistribuyeinformación”
“diseñadoyconstruidoporingenieros”
“paraundeterminadominio”
“conobjetodefacilitarlaplanificación,elcontrol,lacoordinaciónylatomadedecisionesenunaorganización”
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
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
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
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
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
UC‐MartaZorrilla
¿PARA QUÉ SIRVEN?
Losmodelossirvenpara:
Especificarelsistema
Estructura,comportamiento,…
ComunicarseconlosdisHntosstakeholders
Comprenderelsistema(siyaexiste)
Razonaryvalidarelsistema
Detectarerroresyomisioneseneldiseño
ProtoHpado(ejecutarelmodelo)
Inferirydemostrarpropiedades
Guiarlaimplementación
8
UC‐MartaZorrilla
CARACTERÍSTICAS DE LOS MODELOS [SELIC, 2003]
Abstractos
EnfaHzanciertosaspectos,mientrasqueocultanotros
Comprensibles
Expresadosenunlenguajecomprensibleporlosusuariosyclientes
Precisos
Fielesrepresentacionesdelobjetoosistemamodelado
PredicHvos
Debendepoderserusadosparainferirconclusionescorrectas
Baratos
Másfácilesybaratosdeconstruiryestudiarqueelpropiosistema
9
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
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
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.
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
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.
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,…
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
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)));
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
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
UC‐MartaZorrilla
20 HERRAMIENTAS CASE (Y 2)
Ventajasqueaportan:
Ayudanaldiseño(verificacióndeerrores,validaciónrespectoalatécnica,etc.)
ReducenelHempodedesarrollo
Facilitanelmantenimientodelesquemadedatos(ingenieríadirectaeinversa)
ReducenelHempodeladocumentación
Facilitanlaportabilidadaotrosgestores
UC‐MartaZorrilla
21 HERRAMIENTAS CASE (Y 3)
Deficiencias:
GeneralmentenorecogentodalariquezasemánHcadelmodelodedatos.
FaltadeunmodeloderestriccionesquegenerelasreglasdenegocioenautomáHco.
NoayudaaespecificarelmodeloXsicoadecuado,loindicaeldiseñador,peronoledapautasomedidasderendimiento.
Noofrecenlaposibilidaddediseñarenentornosdistribuidos,OO,acHvas,…nohaymodeloquepermitarepresentarlo.
LosatributosderivadospuedenestarenelconceptualporrazonessemánHcasyenelXsicoporrazonesdeeficiencia,elproblemaesquelareglaporlaquesegeneranosepuedemodelizar.
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
UC‐MartaZorrilla
23 HERRAMIENTAS CASE: PRODUCTOS
IBMInfoSphere
ERWin
PowerDesigner(Sybase)
EasyCASE
Oracledesigner(Discoverer)
Visio(Microsod)
UC‐MartaZorrilla
24 HERRAMIENTAS CASE: VISIO
UC‐MartaZorrilla
Curso2010‐2011MartaZorrilla‐UC
25 HERRAMIENTAS CASE: DATA ARCHITECH
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