Saturday, 3 January 2015

Object Oriented Database Management System

Object Oriented Database Management System (OODBMSs): Object Database (also object oriented database management system) एक Database management system है जिसमे object oriented programming की तरह information को object के रूप दिखाया जाता है। Object Database, Relational Database (table oriented) से अलग होते हैं। Object-relational Database एक hybrid approach use करते हैं। Object Oriented Database system में, Database system की capability को Object oriented Programming feature के साथ जोडा जाता है। 
OODBMSs Object oriented programmer को product develop, Object के रूप मे Store, replicate or modify existing object की सुविधा प्रदान करता है। Database और programming language एक साथ होने के कारण दोनो को एक रूपता से देखा जा सकता है। ईन दोनो मे एक ही representation model use किया जाता है। Relational Database Project मे programming language और Database model मे एक स्पष्ट अंतर रखा जाता है। web based technology  का प्रयोग Intranet और Internet के विस्तार के कारण बहोत बढ गया है। Company अपने complex data को दिखाने के लिए Object Oriented Database का उपयोग करती है। यह हमें Data को Object के रूप मे Store करने की सुविधा देता है। कुछ Object Oriented Database को Object oriented programming language के साथ कार्य करने के लिए ही Design किया जाता है जैसे – Delphi, Ruby, Python, Java, C# , etc.



Reference: en.wikipedia.org, The Internet

Friday, 2 January 2015

Object Oriented Design Methodology

Object Oriented Design Methodology:

Methodology का अर्थ होता है science of method. Method एक approach का set होता है जिसमे 
किसी goal को पाने के लिए step by step बड़ा जाता है। इसमे हम system development का different approach use करते हैं functional or procedural oriented के विपरीत जहां problem को solve करने के लिए procedure में divide किया जाता है। functional or procedure oriented system के द्वारा well designed, working system produce करने के बावजूद programmer का यह opinion है कि यह system बहुत fix designed होता है किसी requirement के लिए और जब system मे कुछ changes होता है तब इस changes के अनुसार system को change करना बहुत कठीन हो जाता है। पिछले design approach से अलग इसमें data और process (function) को एक साथ रखा जाता है। Object एक real thing होता है जिसके साथ system deal करता है जैसे- customer, supplier, contract, invoice etc. Object oriented model किसी complex relationship को अच्छे से represent करने की सुविधा देता है और यह data और इसके उपर होने वाले processing/operation को reliable notation के द्वारा दर्शाया जा सकता है। Object oriented approach का मुख्य़ उद्देश्य होता है कि यह system को ज्यादा modular और बनाया जा सके जिसके द्वारा ईसकी (system analysis और design) quality और efficiency (क्षमता) बढाई जा सके। ईस approach में हम अपना ज्यादा focus system के behaviour को समझने मे करते हैं। ईसके मुख्य़ feature हैं-
Object और Class.

Object वह entity होता है जो real world के किसी items को represent करती है और इसमें हम किसी के बारे मे data store करते है। यह सामान्यतः एक noun होता है जैसे- car एक object होता है जो real world के item को दर्शाता है। ईसके पास एक या बहुत attribute होते हैं। जैसे –size, colour, speed etc.

Class बहुत सारे object के collection का description होता है। जैसे car example है vehicle class का जिसमें vehicle class के सारे गुण हैं पर इसमें बहुत difference होता है और इसके अपने भी गुण होते हैं।

Thursday, 1 January 2015

Object Behavioural Concept


हम तीन तरह के object behaviour define कर सकते हैं- simple, state, continuous.

Simple Behaviour:
Simple behaviour के साथ Object तभी कार्य करता है जब इसे request किया जाता है. यह पिछले step का कोई memory नही रखता है. Simple object हमेशा दिये हुए input के लिए एक तरह से respond करता है ये previous executed history से change नही होते हैं. कुछ उदाहण इस प्रकार है-
  • Simple mathematics function जैसे cosine, square root etc. ये किसी input के लिए एक निश्चित output देता है। ये अपने पिछले step का information store कर के नही रखता है।
  • किसी static data structure का search operation जो हमेशा एक ही point से start होता है. जैसे static binary search tree. ईसका उदाहरण एक find() है जो हमेशा एक ही point से search करना start करता है। next() और previous() ईसका उदाहरण नही हो सकता है क्योकि इस function मे पिछले step का information store कर के रखा जाता है।
  • Sort operation, इस operation को भी perform करने के लिए state को store करके रखना पडता है।


State behaviour:
दूसरे प्रकार का behaviour State, state-driven or reactive होता है। state एक object की ऐसी स्थिती होती है जो ईसे दूसरे object से अलग करती है। एक transition के द्वारा कोई state अपना कुछ input लेकर अपना state बदलता है। किसी object की finite state machine के रूप मे modelling करके उसकी complexity को कम किया जाता है। ईसके लिए कुछ assumption किये जाते हैं ये following हैं-

  • System,  जिसके लिए modelling किया जाता है, मे assume किया जाता है कि इसमे finite number of condition हैं। इसे state कहा जाता है।
  • किसी system का behaviour उस state को identically identify करता है।
  • System का state ईस valid set of state के बिच ही transition होता है।
  • FSM किसी operation को execute करने के लिए constraint लगाता है कि किस condition मे execute होंगे।


Continuous behaviour:
तीसरे तरह का object behaviour -Continuous behaviour होता है। बहुत सारे object  इस behaviour को दर्शाते है। इसमें current state का output previous history पे depend करता है। Object का continuous behaviour किसी object के infinite,  unbounded set of condition होता है। PID control system, fuzzy set and neural network continuous behaviour को show करता है। token flow semantics के द्वारा भी continuous behaviour को  define किया जा सकता है, इसे किसी algorithm को बहुत सारे differential equation के द्वारा represent किया जाता है। activity diagram के through हम किसी object के continuous behaviour को दिखा सकते है। कभी-कभी continuous और state behaviour को mix करना appropriate होता है। उदाहरण के लिए अलग-अलग set of trajectory differential equation को use किया जा सकता है अलग-अलग situation (space craft undergoing launch, achieving orbit, in orbit or cruising) के लिए। इसे हम overall object behaviour को state machine  के रुप मे modelling कर के कर सकते हैं। जैसे ही कोई state  new state मे आता है, new set of differential equation activate हो जाते हैं।

Reference: en.wikipedia.org, The Internet