Download Case tools and data modeling and more Lecture notes Software Engineering in PDF only on Docsity! Casetoolsconceptsandapplications Unit1 1.1Datamodeling Whatisdatamodelingincasetools? CaseTools CASE(ComputerAidedSoftwareEngineering)toolsareintendedtoreducetheoveraleffort andincreasetheaccuracyofsoftwaredevelopment.Theyaccomplishthisbyautomatingthe moremundanetasksassociatedwithsoftwaredevelopment.Thegoalistoprovideatoolthat enableshigherlevelmodelingandsoftwarespecification,usingknownmethodologies,andthen togenerateoutputthatwouldnormalybehand-crafted. Becausedatamodelinganddataconceptsarewelunderstoodandhavegeneralyagreedupon principlesthatdictatehow aconceptualorlogicaldatamodelistranslatedintoaphysical implementation,CASEtoolshaveproventobeveryeffectiveinautomatingthekeydatabase implementation deliverables such as DDL,candidate indexes,and data constraints (data validationandbusinessrules).Itcaneliminatehoursoftediousmanualtasks.Mostimportantly theaccuracyoftheimplementationdeliverablesaregreatlyimproved.Forexample,foreach relationshipbetweenentities,therewilneedtobeforeignkeysorphysicallinkscreatedduring implementation.Sometimesthisrequiresadditionalta0blesorphysicalconstructscreatedto implementmany-to-manyrelationships.ACASEtoolwilgeneratealofthesewiththepressof abuton. CASEtoolscanalsoaidingeneratingprototypeUIelements,especialywhentheuserdialogs arefocusedondatacaptureandvalidation. DataModeling Datamodelingistheprocessofdocumentingacomplexsoftwaresystem designasan easilpyunderstooddiagram,usingtextandsymbolstorepresentthewaydataneedstoflow. Thediagram canbeusedtoensureefficientuseofdata,asablueprintfortheconstructionof newsoftwareorforre-engineeringalegacyapplication. Datamodelingisanimportantskilfordatascientistsorothersinvolvedwithdataanalysis. Traditionaly,datamodelshavebeenbuiltduringtheanalysisanddesignphasesofaprojectto ensurethattherequirementsforanewapplicationarefulyunderstood.Datamodelscanalso beinvokedlaterinthedatalifecycletorationalizedatadesignsthatwereoriginalycreatedby programmersonanadhocbasis. Datamodelingapproaches Datamodelingcanbeapainstakingupfrontprocessand,assuch,issometimesseenasbeing atoddswithrapiddevelopmentmethodologies.AsAgileprogramminghascomeintowideruse tospeeddevelopmentprojects,after-the-factmethodsofdatamodelingarebeingadaptedin someinstances.Typicaly,adatamodelcanbethoughtofasaflowchartthatilustratesthe relationshipsamongdata.Itenablesstakeholderstoidentifyerrorsandmakechangesbefore anyprogrammingcodehasbeenwriten. Datamodelersoftenusemultiplemodelstoviewthesamedataandensurethatalprocesses, entities,relationshipsand data flowshave been identified.Theyinitiate new projects by gatheringrequirementsfrom businessstakeholders.Datamodelingstagesroughlybreakdown intocreationoflogicaldatamodelsthatshow specificatributes,entitiesandrelationships amongentitiesandthephysicaldatamodel. Thelogicaldatamodelservesasthebasisforcreationofaphysicaldatamodel,whichis specifictotheapplicationanddatabasetobeimplemented.Adatamodelcanbecomethe basisforbuildingamoredetaileddataschema. common stilin XML(ExtensibleMarkup Language)and geographicinformation systems (GISes)today.NetworkdatamodelsalsoaroseintheearlydaysofDBMSesasameansto providedatadesignerswithabroadconceptualviewoftheirsystems.Onesuchexampleisthe ConferenceonDataSystemsLanguages(CODASYL),whichformedinthelate1950stoguide thedevelopmentofastandardprogramminglanguagethatcouldbeusedacrossvarioustypes ofcomputers. 2.RelationalModel: Therelationalmodelrepresentsthedataintables,anditisbasedonfirst-orderpredicatelogic. Whileitreducedprogram complexityversusfile-basedsystems,thehierarchicalmodelstil requireddetailedunderstandingofthespecificphysicaldatastorageemployed.Proposedasan alternativetothehierarchicaldatamodel,therelationaldatamodeldoesnotrequiredevelopers todefinedatapaths.Relationaldatamodelingwasfirstdescribedina1970technicalpaperby IBM researcherE.F.Codd.Codd'srelationalmodelsetthestageforindustryuseofrelational databasesinwhichdatasegmentsareexplicitlyjoinedbyuseoftables,ascomparedtothe hierarchicalmodelwheredataisimplicitlyjoinedtogether.Soonafteritsinception,therelational datamodelwascoupledwiththeStructuredQueryLanguage(SQL)andbegantogainanever largerfootholdinenterprisecomputingasanefficientmeanstoprocessdata. 3.NetworkDatabaseModel: NetworkDatabaseModelissimilartotheHierarchicalModel.However,theNetworkdatabase alowsarecordtohavemorethanoneparentwhileHierarchicalModeldoesnotalow more thanoneparent. NetworkDatabasedoesnotrequiretheparenttochildrelation,unlikethehierarchicalmodel.It representsthedataasagraphandtherecordtypeandalowsonetomanyrelationships. 4.Entity-RelationshipModel: Entity-RelationshipModelisusefulindevelopingaconceptualdesignforthedatabase.This modeliseasytodesignwithanERmodelconstructed. Relationaldatamodelingtookanotherstepforwardbeginninginthemid-1970sasuseofentity relationship(ER)modelsbecamemoreprevalent.Closelyintegratedwithrelationaldatamodels, ER models use diagramsto graphicalydepictthe elementsin a database and to ease understandingofunderlyingmodels. Withrelationalmodeling,datatypesaredeterminedandrarelychangedovertime.Entities compriseatributes;forexample,anemployeeentity'satributescouldincludelastname,first name,yearsemployedandsoon.Relationshipsarevisualymapped,providingareadymeans to communicate data design objectives to various participants in data developmentand maintenance.Overtime,modelingtools,includingIdera'sER/Studio,ErwinDataModelerand SAPPowerDesigner,gainedwideuseamongdataarchitectsfordesigningsystems. 5.ObjectModel: Objectmodelusestheobjects,classes,andinheritancetostorethedata.Theobjectmodelis usedforcomplexapplicationsaswelasinthefilemanagementsystem. Graphdatamodel GraphdatamodelswilbefamiliartoprogrammerswhohaveworkedwithERdiagramsand objectmodels,aswelastogradeschoolstudentswhohaveparsedsentences. Asobject-orientedprogramminggainedgroundinthe1990s,object-orientedmodelinggained tractionasyetanotherwaytodesignsystems.WhilebearingsomeresemblancetoERmethods, object-orientedapproachesdifferinthattheyfocusonobjectabstractionsofreal-worldentities. Objectsaregroupedinclasshierarchies,andtheobjectswithinsuchclasshierarchiescan inheritatributesandmethodsfrom parentclasses.Becauseofthisinheritancetrait,object- orienteddatamodelshavesomeadvantagesversusERmodeling,intermsofensuringdata integrityandsupportingmorecomplexdatarelationships.Alsoarisinginthe1990sweredata modelsspecificalyorientedtowarddatawarehousingneeds.Notableexamplesaresnowflake schemaandstarschemadimensionalmodels. Anoffshootofhierarchicalandnetworkdatamodelingisthepropertygraphmodel,which, togetherwithgraphdatabases,hasfoundincreasedusefordescribingcomplexrelationships withindatasets,particularlyinsocialmedia,recommenderandfrauddetectionapplications. Usingthegraphdatamodel,designersdescribetheirsystem asaconnectedgraphofnodes andrelationships,muchastheymightdowithERorobjectdatamodeling.Graphdatamodels canbeusedfortextanalysis,creatingmodelsthatuncoverrelationshipsamongdatapoints withindocuments. DataModelingTechniques Folowingaresometechniquesyoucanusetocreateausefulandresult-drivendataModel. KnowYourBusinessandWhatIsRequiredtoImproveIt Itwouldbebestifyouhadaclearunderstandingofyourbusiness,whatisitspurpose,andhow youcanutilizedatatogrow yourbusiness.Fordatamodelingtobeuseful,youmusthavea deepunderstandingofyourorganization.Onlythenyouwilbeabletogatherrelevantdatathat matchwithyouraim foryourbusiness.Therefore,gettoknow yourbusinessandwhatis requiredfrom it,andthenyouwilgathertherelevantdatayoucanusetogrowyourbusiness. DataVisualizations Afteryouknowwhatdatayouneedtogatherforyourbusinesstogrow,it’stimetothinkabout howtopresentit.Agraphicalvisualizationcanmakeiteasiertonotonlyunderstanddatabut alsogatherdatafrom multiplesources.Youcanrepresentthedatamoreclearlywhenpresent inavisualcontext. StaringYourDataModelingRight Attheinitialstageofyourdatamodeling,youdon’tknowhowfastorbigyourdatawilgrow. Makingitsmalandeasytounderstandatthebeginningwilensureyouseethegrowthrateand arepreparedtohandleeverything.Moreover,itwilalsomakeiteasiertocorrectanyproblem youencounterinyourmodelordataattheinitialstage.Asyougettheknowledge-withtimeand experience-whatworksandwhatdoesnotwork,youcanaddmoredatasets.Inanycase,you shoulduseascalabledatamodeltoreflectthechangingnatureofbusinessneeds. MakeYourDataEasiertoUnderstand Ausefuldatamodelisacombinationoftechnologyandbusiness.Whilemakingadatamodel, youshouldkeepinmindthatmostpeoplewhoreadyourdataknowthebusinessbutnotthe technology.Yourmodelshouldtakeintoaccountthewaypeoplethinkandhowpeoplemeasure business.Yourdatamodelshouldbebasedonthreethings:Whatyourbusinessrequirements are,thedatayouhaveandthebusinessinteligence. ConcentrateontheDataYouNeed Usewhatyouneed,notwhatyouwant.Know yourpurposeanduseonlyrelevantdata.Too muchdatacancreatecluterandcausemanyproblemsaswelasmakeithardtomonitorthe relevantdata. KeepaRegularCheckonYourData Keepinmindtheearlieryoucatchaproblem,theeasieritistofixit.Therefore,keeparegular checkonyourdatamodelsothatyoufindanyproblem atitsinitialstageandaddressesitas soonaspossible. AvoidMisleading Sometimesdataisusedinawaythatcanmisleadpeopletobelievesomethingthatmightnot betrue.Avoidmisleading;trustisearnednotgiven,providingcorrectinformationyoucanprove isessential.Trytoavoidthepracticesthatcanmislead,suchassometricksusualyusedin