সফটওয়্যার প্রজেক্ট ম্যানেজমেন্ট (Software Project Management)

সৈয়দ আলী শাফিন

 

যে কোন সফটওয়্যার (বা সাধারন মানুষ যাকে বলে আই টি) কোম্পানিতে প্রধানত: দু’ধরণের কাজ হয়ে থাকে ।

  • সফটওয়্যার প্রোগ্রামিং
  • সফটওয়্যার প্রজেক্ট ম্যানেজমেন্ট

আমাদের আজকের বিষয় সফটওয়্যার প্রজেক্ট ম্যানেজমেন্ট. সফটওয়্যার প্রজেক্ট বলতে আমরা বুঝি, একটি সফটওয়্যার এর প্লানিং থেকে শুরু করে, এর প্রোগ্রামিং, কোয়ালিটি পরীক্ষা, ক্লায়েন্টের কাছে বুঝিয়ে দেয়া. এর এই প্রতিটি ধাপ সুষ্ঠুভাবে সম্পন্ন হতে হলে প্রয়োজন যথাযথ সফটওয়্যার প্রজেক্ট ম্যানেজমেন্ট ।
আর এই সফটওয়্যার প্রজেক্ট ম্যানেজমেন্ট যিনি পরিচালনা করবেন তাকে আমরা বলি সফটওয়্যার প্রজেক্ট ম্যানেজার. তার প্রধান দায়িত্বগুলোর মধ্যে পরে…

  • ক্লায়েন্টের কাছ থেকে প্রজেক্ট বোঝা এবং বাজেট আর টাইমিং ফাইনাল করা
  • প্রজেক্ট প্লানিং করা
  • প্রোগ্রামারদের কাজ মনিটর করা
  • ক্লায়েন্টের হস্তান্তর করা

আর এই সব কাজ করার জন্য, বিশেষ করে প্রজেক্ট মনিটর করার জন্য সফটওয়্যার প্রজেক্ট ম্যানেজার বিভিন্ন সফট ওয়্যার ব্যবহার করতে পারেন ।

ডেটা কমিউনিকেশন ও কম্পিউটার নেটওয়ার্ক : কম্পিউটার নেটওয়ার্ক টাইপ (DCN – Computer Network Types)

রিদওয়ান বিন শামীম

 

সাধারণত নেটওয়ার্কের বিস্তৃতি বলতে এর ভৌগলিক বিস্তৃতি বোঝায়, এটি আমাদের ব্যবহৃত সেলফোন থেকে এর ব্লুটুথ হেডফোন পর্যন্ত ক্ষুদ্র দূরত্বের হতে পারে আবার ইন্টারনেটের মত বিশ্বব্যপী বিস্তৃতও হতে পারে।

 

পারসোনাল এরিয়া নেটওয়ার্ক

ক্ষুদ্রতম নেটওয়ার্ক, ব্যবহারকারীর ব্যক্তিগত ব্যবহারে সীমাবদ্ধ। ব্লুটুথ বা ইনফ্রারেড সমৃদ্ধ যন্ত্রপাতি এই ধরণের নেটওয়ার্ক ব্যবহার করে। ১০ মিটার সীমার এই নেটওয়ার্ক তারবিহীন মাউস, কীবোর্ড, অয়ারলেস প্রিন্টার ও টিভি রিমোটে দেখা যায়। পিকোনেট এরকম একটি পারসোনাল এরিয়া নেটওয়ার্ক যেটিতে ব্লুটুথ ব্যবহার করে আটটি ডিভাইস সমন্বয় করে ব্যবহার করা হয়।

 

লোকাল এরিয়া নেটওয়ার্ক বা লেন

কোনও বিল্ডিং বা একক প্রশাসনের আওতাধীন কম্পিউটার নেটওয়ার্ককে লেন বলে।লেন সাধারণত কোনও সংস্থার অফিস, স্কুল, কলেজ ও ইউনিভার্সিটি ইত্যাদি কভার করে ।দুই বা ততোধিক কম্পিউটার নিয়ে লেন হতে পারে, আবার ১৬ মিলিয়ন একক নিয়েও লেন হওয়ার নজির রয়েছে। লেনের ক্ষেত্রে প্রিন্টার, ফাইল সার্ভার, স্ক্যানার ও ইন্টারনেট সহজে শেয়ার করা সম্ভব হয়। এটি হেভি রাউটিং এড়িয়ে চলে ও ব্যক্তিগত আইপি এড্রেস দ্বারা চালিত। এটি ইথারনেট বা টোকেন রিং টেকনোলজি ব্যবহার করে থাকে, ইথারনেট বেশি ব্যবহৃত হয়, যা স্টার টপোলজি ব্যবহার করে, টোকেন রিং টেকনোলজি অপেক্ষাকৃত কম দেখা যায়। লোকাল এরিয়া নেটওয়ার্ক বা লেন তারযুক্ত বা তারবিহীন উভয় রকমই হতে পারে।

 

মেট্রোপলিটন এরিয়া নেটওয়ার্ক বা মেন

ক্যাবল টিভির মত শহরাঞ্চলে দেখা যায়। ইথারনেট,টোকেন রিং, এটিএম বা এফডিডিআই যেকোনো ফর্মে এটি হতে পারে। মেট্রোপলিটন এরিয়া নেটওয়ার্ক আইএসপির মাধ্যমে সম্পাদিত, এটি পারসোনাল এরিয়া নেটওয়ার্ককে পরিবর্ধনের সুযোগ করে দেয়। মেন নেটওয়ার্কের মূল শক্তি হল উচ্চক্ষমতা ও গতিসম্পন্ন ফাইবার অপটিক্স। মেট্রোপলিটন এরিয়া নেটওয়ার্ক লেন থেকে ওয়াইড এরিয়া নেটওয়ার্কে আপলিঙ্ক প্রবর্তন করে।

 

ওয়াইড এরিয়া নেটওয়ার্ক

অনেকখানি জায়গা এমনকি পুরো দেশের নেটওয়ার্কও ধারণ করতে পারে।এটি ব্যয়বহুল ও শক্তিশালী। টেলিযোগাযোগ এক ধরণের ওয়াইড এরিয়া নেটওয়ার্ক। এটি এটিএম, ফ্রেম রিলে, সনেট বা Synchronous Optical Network ইত্যাদি এডভান্সড প্রযুক্তি ব্যবহার করে ।

 

ইন্টারনেটওয়ার্ক

নেটওয়ার্কের নেটওয়ার্ককে ইন্টারনেটওয়ার্ক বা সহজ ভাষায় ইন্টারনেট বলে। এটি টিসিপি/ আইপি প্রটোকল স্যুইট ব্যবহার করে , আইপিকে এড্রেসিং প্রটোকল হিসেবে ব্যবহার করে। বর্তমান সময়ে IPv4 বেশি ব্যবহার করা হচ্ছে। ইন্টারনেট এর ব্যবহারকারীকে বিশ্বব্যপী বিস্তৃত প্রচুর তথ্যের সাথে সংযুক্ত করতে পারে।এর মূল অবদানগুলোর কয়েকটি হল,

  • ওয়েবসাইট,
  • ইমেইল,
  • ইনস্ট্যান্ট ম্যাসেজিং,
  • ব্লগিং,
  • সোশ্যাল মিডিয়া,
  • মার্কেটিং,
  • নেটওয়ার্কিং,
  • রিসোর্স শেয়ারিং

ডেটা কমিউনিকেশন ও কম্পিউটার নেটওয়ার্ক : সংক্ষিপ্ত বিবরণ (DCN – Overview)

রিদওয়ান বিন শামীম

 

পরস্পর সংযুক্ত কম্পিউটার ও তদসংশ্লিষ্ট অনুষঙ্গ (যেমন প্রিন্টার ইত্যাদি) নিয়ে যে ব্যবস্থা তাকে কম্পিউটার নেটওয়ার্ক বলে। এই নেটওয়ার্ক তারযুক্ত বা তারবিহীন উভয় ধরনেরই হতে পারে।

কম্পিউটার নেটওয়ার্ককে বিভিন্ন বিষয়ের উপর নির্ভর করে ভাগ করা যায় যথা,

 

ভৌগলিক কারণ

আমাদের নিজস্ব টেবিল, বিল্ডিং, শহর এসবের তারতম্যের ভিত্তিতে বিভাজন হতে পারে,

আন্তর্সম্পর্ক

প্রত্যেকটি একক যন্ত্রের অন্য যন্ত্রের সাথে সংযুক্ত হওয়ার প্রকরণের উপর নির্ভর করে এই বিভাজন হতে পারে,

এডমিনিস্ট্রেশন

প্রশাসন ব্যক্তি মালিকানাধীণ না পাবলিক তার উপর ভিত্তি করে নেটওয়ার্কিং ভিন্ন হতে পারে,

স্থাপত্যগত কারণ

কম্পিউটার নেটওয়ার্ক বিভিন্ন ধরণের কারণে বিভাজিত হতে পারে যেমন ক্লায়েন্ট সার্ভার, হাইব্রিড ও অন্যান্য কারনেও স্থাপত্যগত পার্থক্য দেখা যেতে পারে।

 

নেটওয়ার্ক এপ্লিকেশন

কম্পিউটার ও তদসংশ্লিষ্ট অনুষঙ্গ নেটওয়ার্কের আকারে সংযুক্ত থাকে, এরা অনেক ধরণের সেবাদান করতে পারে,

  • প্রিন্টার ও স্টোরেজ ডিভাইস ব্যবহার করার সুবিধা দেয়,
  • ইমেইল ও এফটিপি ব্যবহার করে তথ্য আদান প্রদান করতে দেয়,
  • ওয়েব ও ইন্টারনেট ব্যবহার করে তথ্য আদান প্রদান করতে দেয়,
  • ডাইনামিক ওয়েব পেজ ব্যবহার করে অন্য ব্যবহারকারীর সাথে তথ্য আদান প্রদান করতে দেয়,
  • আইপি ফোন, ভয়েজ কনফারেন্সের সুবিধা দেয়,
  • প্যারালাল কম্পিউটিং ,
  • ইনস্ট্যান্ট ম্যাসেজিংএর সুবিধা দেয়।

SSC Quiz 10 : কম্পিউটার শিক্ষা : অধ্যায় ১০ (কম্পিউটারের প্রয়োগ ও মাল্টিমিডিয়া)

[slickquiz id=12]

অ্যাপ এম এল এর ইতিহাস (AppML History)

রিদওয়ান বিন শামীম

 

১৯৯৯ সালে রেফসনেস ডাটা (Refsnes Data) অ্যাপ এম এল এর প্রথম সংস্করণ ডেভলাপ করে।এমনকি তখনও অ্যাপ এম এল মূলত ওয়েব ক্লায়েন্ট ও ওয়েব সার্ভারের মধ্যে এইচটিটিপি কমিউনিকেশনের উপর নির্ভরশীল ছিল। পরবর্তীতে এই পদ্ধতিই এজ্যাক্স নামে পরিচিতি লাভ করে। ২০০০ সালের সেপ্টেম্বরে নরওয়ের একজন গ্রাহকের আগ্রহে প্রায় ৩০টি এপ্লিকেশনের ডাটা উইন্ডোজ ডেক্সটপ থেকে ইন্টারনেটে সরানোর উদ্যোগ নেয়া হয়, কেবল অ্যাপ এম এল ব্যবহার করে।

 

২০০১ সালে অ্যাপ এম এল নির্ভর সিস্টেম প্রথম বাণিজ্যিক এজ্যাক্স এপ্লিকেশন বাজারে আসে। প্রচণ্ড সফল হয়, প্রচলিত ব্যবস্থার ৭৫ শতাংশে নেমে আসে ওয়েব ডেভলাপমেন্টের সময়। তখন থেকে এর উন্নয়ন চলছে, প্রায় ১০০০ চলায়মান এপ্লিকেশন সিস্টেমের আওতায় আছে।

 

ফেব্রুয়ারী ২০১৫তে W3Schools নতুন আঙ্গিকে অ্যাপ এম এল কে বাজারে ছেড়েছে, যা জনসাধারণের জন্য উন্মুক্ত। বর্তমান সময়ের অ্যাপ এম এল এর ডিজাইন লক্ষ্যগুলো হল, ইন্টারনেটে চলবে, প্লাটফর্ম নিরপেক্ষ, প্রয়োজনীয় অনেক এপ্লিকেশন ব্যবহার করবে, ডেভলাপ প্রক্রিয়া সহজ ও নিরাপদ ইত্যাদি।

 

১৯৯৯ সালেই উপলব্ধি করা হয়েছিল, ভবিষ্যতের এপ্লিকেশন যেকোনো প্লাটফর্মেই চালানো যাবে এমন হবে। পরবর্তী সময়ে ওয়েব ডেভলাপাররা বুঝতে পারেন, ওয়েব এপ্লিকেশনগুলো আসলে ইন্টারনেট সার্ভিসে রূপ নিতে যাচ্ছে, কারণ মানুষ ইন্টারনেট সার্ভিসের উপর নির্ভরশীল হয়ে পরছে। এজন্যই ভবিষ্যতের এপ্লিকেশনগুলো SOA (Service Oriented Architecture) পরিকাঠামোতে লেখা নিরাপদ, এগুলোকে হতে হবে সাধারণ ও স্থিতিস্থাপক যাতে বিভিন্ন ধরণের চাহিদা পূরনে তা সক্ষম হয়।

 

সামনের দিনগুলোতে ওয়েব এপ্লিকেশন তৈরি সহজ হবে, হবে সহজে সম্পাদনযোগ্যও। গ্রাহক ও সার্ভার পরস্পরের মধ্যে সহজবোধ্য উপায়ে তথ্য আদানপ্রদান করতে পারবে। এপ্লিকেশনগুলোর পরিবর্তন মডেল নির্ভর হবে, কোড পরিবর্তনের উপর নির্ভর করবে না। সবচেয়ে ভাল হয় এপ্লিকেশন বিবৃতি বা পরিবর্তনের জন্য টেক্সট ফাইল(যেমন জেএসওএন) এবং সম্পাদনার জন্য এইচটিএমএল, সিএসএস ও জাভাস্ক্রিপ্টের মত মাধ্যম ব্যবহার করলে।

 

SSC Quiz 09 : কম্পিউটার শিক্ষা : অধ্যায় ০৯ (কম্পিউটার নেটওয়ার্ক ও ইন্টারনেট)

[slickquiz id=11]

অ্যাপ এমএল স্থাপত্য (AppML Architecture)

নাজমুল ইসলাম

আধুনিক ওয়েব স্থাপত্য

AppML সমসাময়িক কৌশল এবং আধুনিক ওয়েব ডেভেলপমেন্ট এর ধারনাকে একত্রিত করে।

AppML গতি, সরলতা, এবং কম খরচে উপর নজর দেয়:

  • সেবামূলক MVC আর্কিটেকচার
  • অত্যন্ত কম ব্যান্ডউইথ খরচ
  • ক্লাউড কম্পিউটিং জন্য অনুকূল
  • উপস্থাপনা বা প্রেজেন্টেশন থেকে কন্টেন্টসময়হ সম্পূর্ণ আলাদা করা
  • ইন্টেলিজেন্ট ঘোষণামূলক প্রোগ্রামিং
  • দ্রুত এবং তৎপর ওয়েব ডেভেলপমেন্ট
  • উচ্চ আকার পরিবর্তনযোগ্য এবং পরীক্ষাসক্ষম
  • কনফিগারেশন এবং পুনরায় কনফিগার করা সহজ
  • ব্যবহারকারীর অ্যাকাউন্ট এবং কর্মের জন্য নিপুণ সহায়তা

 

MVC আর্কিটেকচার

AppML এ MVC আর্কিটেকচার ব্যবহার

MVC বলতে বোঝায় মডেল, ভিউ, কন্ট্রোলার

  • মডেল আপনার অ্যাপ্লিকেশন সম্পর্কে বর্ণনা দেয়
  • ভিউ আপনার ডাটা প্রদশন করে
  • কন্ট্রোলার আপনার অ্যাপ্লিকেশনকে নিয়ন্ত্রণ করে

 

উইকিপিডিয়া: মডেল, ভিউ, কন্ট্রোলার

মডেল – কেবল JSON

মডেল অ্যাপ্লিকেশনকে বর্ণনা করে

মডেল বিভিন্ন হার্ডওয়্যার এবং সফটওয়্যার প্ল্যাটফর্ম এ পুনরায় ব্যবহার করা যায় (সার্ভার, পিসি, আইফোন, ট্যাবলেট, ইত্যাদি)

মডেল উপস্থাপনা বা ইউজার ইন্টারফেস (UI) এর সাথে সংশ্লিষ্ট নয়।

মডেল JSON এর মধ্যে লিখিত হয়:

Model


{
 "rowsperpage" : 10,
 "database" : {
     "connection" : "localmysql",
     "sql" : "SELECT CustomerName, City, Country FROM Customers",
     "orderby" : "CustomerName"
 },
 "filteritems" : [
     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}
 ],
 "sortitems" : [
     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}
 ]
 }

 

ভিউ – কেবল এইচটিএমএল

ভিউ হচ্ছে ডাটা (এবং ইনপুট) দেখানোর জন্য  ইউজার ইন্টারফেস (UI)

ভিউ  HTML এবং CSS এ লেখা হয়:

এইচটিএমএল ভিউ


<!DOCTYPE html>
 <html lang="en-US">
 <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
 <script src="http://www.w3schools.com/appml/2.0.3/appml.js"></script>
 <body>
 
 <div class="container" appml-data="local?model=model_customers">
 <h1>Customers</h1>
 <div appml-include-html="inc_listcommands.htm"></div>
 <div appml-include-html="inc_filter.htm"></div>
 
 <table class="table table-striped table-bordered">
 <tr>
   <th>Customer</th>
   <th>City</th>
   <th>Country</th>
 </tr>
 <tr appml-repeat="records">
   <td>{{CustomerName}}</td>
   <td>{{City}}    </td>
   <td>{{Country}} </td>
 </tr>
 </table>
 </div>
 
 </body>
 </html>

 

 

নিয়ামক (কন্ট্রোলার) – ক্লায়েন্ট এবং / অথবা সার্ভার স্ক্রিপ্ট

একটি ক্লায়েন্ট স্ক্রিপ্ট হচ্ছে একটি ওয়েভ পেজ যা অ্যাপ্লিকেশনকে নিয়ন্ত্রণ করতে পারে।

  • অ্যাপ এমএল মেথড এ সঙ্গায়িত ডাটা প্রদর্শন করতে পারে
  • অ্যাপ এমএল এইচটিএমএল অ্যাট্রিবিউট এ সঙ্গায়িত ডাটা প্রদর্শন করতে পারে
  • অ্যাপ এমএল অ্যাপ্লিকেশন এইচটিএমএল এ কারো সহায়তা ছাড়াই চালু হতে পারে (লুকানো ভাবে)
  •  (ঐচ্ছিক) অ্যাপ এমএল ওয়েব সার্ভার থেকে মডেল ডাটার জন্য অনুরোধ করতে পারে (এসকিউএল সার্ভার)।
  • (ঐচ্ছিক) অ্যাপ এমএল ব্যবহারকারীরা ডাটা সম্পাদনা বা পরিবর্তন করতে পারে।
  • (ঐচ্ছিক) অ্যাপ এমএল ওয়েব সার্ভারে ডাটা প্রদান করতে পারে।

 

সার্ভার স্ক্রিপ্ট অ্যাপ্লিকেশনকে নিন্মক্তভাবে নিয়ন্ত্রণ করতে পারে :

  • গ্রাহকের (ব্রাউজার) কাছ থেকে অনুরোধ গ্রহণ করে
  • গ্রাহককে ডাটা ফেরত দিয়ে
  • গ্রাহকের কাছ থেকে ডাটা গ্রহণ করে
  • সার্ভার এর ডাটা আপডেট করে
  • অনুমোদন ও নিরাপত্তা তদারকী করে

 

প্রোগ্রামিং এর শিল্প

আবেদন আকার এবং কম জটিলতা রাখা, সকল প্রোগ্রামিং এর প্রধান সমস্যা।

কম্পিউটার অ্যাপ্লিকেশন এর জটিলতা নিয়ন্ত্রণ, প্রোগ্রামিং এর সঠিক কৌশল।

ঘোষণামূলক প্রোগ্রামিং

সফটওয়্যার উন্নয়ন প্রায়শই সময়সীমা এবং বাজেটের জন্য ক্ষতিগ্রস্থ হয়। সম্পন্ন সফটওয়্যার এ প্রায়ই প্রচুর কোডিং সমস্যা থাকে। এর কারণ হচ্ছে কোড উন্নয়ন, পরীক্ষা করা এবং পরিচালনা করা কঠিন।

কোডিং এর ক্ষেত্রে আপনাকে কিভাবে করতে হবে থেকে কি করতে হবে তা বর্ণনা করার উপর বেশি গুরুত্ব দিতে হবে।

অ্যাপ এমএল এ মডেল এবং ভিউ এ আপনার অ্যাপ্লিকেশন ঘোষণা করতে হবে।

অ্যাপ এমএল এ খুব কমই (অনেক সময় কিছুই নয়) কোডিং করতে হয়।

 

উইকিপিডিয়া: ঘোষণামূলক প্রোগ্রামিং

 

দ্রুত এবং তৎপর এপ্লিকেশন উন্নয়ন (ডেভেলপমেন্ট)

কম্পিউটার অ্যাপ্লিকেশন এর জটিলতা নিয়ন্ত্রণ, প্রোগ্রামিং এর সঠিক কৌশল।

আবেদন আকার এবং কম জটিলতা রাখা, সকল প্রোগ্রামিং এর প্রধান সমস্যা।

RAD হচ্ছে একটি সফটওয়্যার ডেভেলপমেন্ট মেথড যা দ্রুত প্রোটোটাইপিং এর উদ্দেশ্যে নুন্যতম পরিকল্পনা ব্যবহার করে।

অ্যাপ এমএল অতিদ্রুত প্রোটোটাইপিং সরবরাহ করে, ঐতিহ্যগত উন্নয়ন পদ্ধতির তুলনায় ১০০ গুণ দ্রুত।

অ্যাপ্লিকেশন প্রোটোটাইপ অ্যাপ্লিকেশন মডেল থেকে কোন কোডিং ছাড়াই সরাসরি চালু হতে পারে।

উইকিপিডিয়া: দ্রুত এপ্লিকেশন ডেভেলপমেন্ট

এজাইল সফটওয়্যার উন্নয়ন (Agile software development) হচ্ছে একটি ধাপে ধাপে উন্নয়নের একটি পদ্ধতি, যেখানে ব্যবহারকারী এবং ডেভেলপারদের প্রত্যেক্ষ সহযোগিতায় সমাধান তৈরি করা হয়।

অ্যাপ এমএল দিয়ে অ্যাপ্লিকেশন ধাপে ধাপে  অল্প বৃদ্ধি করে, প্রোটোটাইপ থেকে সম্পন্ন অ্যাপ্লিকেশন লেখা যেতে পারে।

উইকিপিডিয়া: তৎপর সফটওয়্যার ডেভেলপমেন্ট

 

চলবে (To be continue)

 

অ্যাপ এমএল রেফারেন্স – এপিআই (AppML Reference – API)

আদনান নাহিদ

 

অ্যাপ এমএল মেথড

 

মেথড বা পদ্ধতি বিবরণ
new AppML() একটি নতুন AppML অবজেক্ট বা বস্তু তৈরি করুন
appml (“name”) নির্দিষ্ট নামের AppML অবজেক্ট বা বস্তু ফেরত দেয়
displayMessage(text) নির্দিষ্ট বার্তা প্রদর্শন করে
getData() অ্যাপ্লিকেশন থেকে তথ্য গ্রহণ করে
run() একটি অ্যাপ্লিকেশন অবজেক্ট বা বস্তু চালু করে
setError(no, description) একটি নির্দিষ্ট ত্রুটি এবং ত্রুটির বর্ণনা সেট করুন

 

AppML প্রোপার্টি

প্রোপার্টি বিবরণ
appName অ্যাপ্লিকেশন নাম (ধারক আইডি)
controller Aplication ধারক উপাদান
data অ্যাপ্লিকেশন ডাটা অবজেক্ট বা বস্তু
dataSource অ্যাপ্লিকেশন তথ্যের উৎস
displayType অ্যাপ্লিকেশন টাইপ (“ফর্ম” অথবা “তালিকা”)
message আবেদন বার্তা
error অ্যাপ্লিকেশন অবজেক্ট বা বস্তুর ত্রুটি

 

ডেটা বস্তুর বৈশিষ্ট্যাবলী

প্রোপার্টি বিবরণ
data.model অ্যাপ্লিকেশন তথ্য মডেল
data.records অ্যাপ্লিকেশন রেকর্ড (তথ্য)

 

AppML ফরম মডেল বা পদ্ধতি

পদ্ধতি বিবরণ
newRecord() বর্তমান ফর্ম পুনরায় সেট করা
saveRecord() বর্তমান রেকর্ড সংরক্ষণ
deleteRecord() বর্তমান রেকর্ড মুছে ফেলা
closeForm() বর্তমান ফর্ম বন্ধ করা

 

AppML ফিল্টার প্রোপার্টি

পদ্ধতি বিবরণ
OrderBys ফিল্ডের নাম অনুসারে অ্যারে (Array) এর ক্রম
orderByDirections নির্দেশ অনুসারে অ্যারে (Array) এর ক্রম
queryFields ক্যোয়ারী ফিল্ডের নামের অ্যারে (Array)
queryValues ক্যোয়ারী মানের অ্যারে (Array)
queryTypes ক্যোয়ারী এর প্রকারের অ্যারে (Array)

 

অ্যাপ এম এল রেফারেন্সঃ ডাটাবেস (AppML Reference – Databases)

রিদওয়ান বিন শামীম

 

 

ডাটাবেসের বৈশিষ্ট্য

ডাটাবেসের বৈশিষ্ট্য ডাটাবেসকে ডাটা সোর্সরূপে প্রদর্শন করে। এর কিছু উপবৈশিষ্ট্য আছে,

 

Element (উপাদান)
বর্ণনা
“connection” ডাটাবেসের কানেকশনের নাম
“execute” এসকিউএল বিবৃতির অ্যারি যা ডাটা পুনঃরসজ্জিত করার আগে সম্পাদন করতে হয় (ঐচ্ছিক)
“keyfield” মূল টেবিলের জন্য প্রধান ক্ষেত্র(ঐচ্ছিক)
“maintable” এপ্লিকেশনের জন্য মূল টেবিল(ঐচ্ছিক)
“orderby” নির্ধারিত এসকিউএল আরোপিত ক্লস(ঐচ্ছিক)
“sql” পুনঃরসজ্জিত ডাটার জন্য এসকিউএল বিবৃতি।

 

 

 

ডাটাবেস থেকে ডাটা গ্রহণ

এই মডেল এসকিউএল ডাটাবেসের কাস্টমার টেবিল থেকে কাস্টমার, সিটি, দেশ ইত্যাদি তথ্য গ্রহন করে থাকে।

 

Example


{
 "database": {
     "connection": "mysql",
     "sql"       : "SELECT CustomerName, City, Country FROM Customers",
     "orderby"   : "CustomerName"
 }
 }

 

 

 

ফিল্টার সীমাবদ্ধতা

ব্যবহারকারীদের ফিল্টার ডাটায় প্রবেশযোগ্য করতে মডেলে ফিল্টার তথ্য যোগ করা যায়,


"filteritems" : [
     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}]

 

 

 

সর্টিং সীমাবদ্ধতা

ব্যবহারকারীদের সর্টিং ডাটায় প্রবেশযোগ্য করতে মডেলে সর্টিং বিষয়ক তথ্য যোগ করা যায়,

 


“sortitems” : [
{“item” : “CustomerName”, “label” : “Customer”},
{“item” : “City”},
{“item” : “Country”}]


 

 

 

আপডেট সীমাবদ্ধতা

ব্যবহারকারীদের আপডেট ডাটায় প্রবেশযোগ্য করতে মডেলে আপডেট তথ্য যোগ করা যায়,

 

উদাহরণঃ


"updateItems" : [
     {"item" : "CustomerName"},
     {"item" : "Address"},
     {"item" : "PostalCode"},
     {"item" : "City"},
     {"item" : "Country"}]

 

 

 

বাই ডিফল্ট অ্যাপ এম এল ফিল্টার, সর্টিং বা আপডেটের সুযোগ দেবে কেবল উল্লেখিত মডেল অনুসারে।

 

 

ডাটাবেস কানেকশন

ডাটাবেস কানেকশনকে appml_config.php এর মধ্যে বিবৃত করা হয়,

appml_config.php


<?php echo("Access Forbidden");exit();?>
 {
 "dateformat" : "yyyy-mm-dd",
 "databases": [
     {
     "connection" : "mysql",
     "host"       : "127.0.0.1:3306",
     "dbname"     : "Northwind",
     "username"   : "myUserId",
     "password"   : "myPassword"
     },
     {
     "connection" : "googleDB",
     "host"       : "192.168.1.1:3306",
     "dbname"     : "Northwind",
     "username"   : "myUserId",
     "password"   : "myPassword"
     },
     {
     "connection" : "amazonDB",
     "host"       : "mydbinstance.amazon.com:3306",
     "dbname"     : "Northwind",
     "username"   : "myUserId",
     "password"   : "myPassword"
     },
     {
     "connection" : "azureDB",
     "host"       : "azure.cloudapp.net",
     "dbname"     : "Northwind",
     "username"   : "myUserId",
     "password"   : "myPassword"
     }
 ]
 }

 

কনফিগারেশন ফাইল অনেকগুলো ডাটাবেস কানেকশন ধারন করতে পারে।

 

 

ডাটাবেস তৈরি করা

যেহেতু অ্যাপ এম এল এপ্লিকেশন চালুর আগেই এসকিউএল বিবৃতি সম্পাদনের সুযোগ দেয় তাই কোনও ডাটাবেস তৈরির জন্যও আমরা এটিকে ব্যবহার করতে পারি,

Model


{
 "database" : {
 "connection" : "myCDs",
 "execute" : [
 "DROP TABLE IF EXISTS CD_Catalog",
 "CREATE TABLE IF NOT EXISTS CD_Catalog (CDID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (CDID),
  Title NVARCHAR(255),Artist NVARCHAR(255),Country NVARCHAR(255),Price NUMBER)"
 ]
 }}

 

দ্রুত প্রোটোটাইপিঙের জন্য উপযুক্ত।

 

SSC Quiz 08 : কম্পিউটার শিক্ষা : অধ্যায় ০৮ (কম্পিউটার প্রোগ্রামিং)

[slickquiz id=10]