Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Case tools and data modeling, Lecture notes of Software Engineering

Case tools and data modeling and it's types

Typology: Lecture notes

2019/2020

Uploaded on 08/11/2020

kirithika.kec
kirithika.kec 🇮🇳

3 documents

1 / 8

Toggle sidebar

Related documents


Partial preview of the text

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