Thursday, September 22, 2016

স্কাম

স্ক্রাম – এজাইল

সফটওয়্যার ডেভেলপমেন্টের পদ্ধতি

সফটওয়্যার ডেভেলপমেন্টের পদ্ধতি গুলো(FRAMEWORK & METHODOLOGY) মুলত একটি ইনফর্মেশন সিস্টেম তৈরির সময়ে কাজের সঞ্চালন, পরিকল্পনা এবং গঠন প্রণালী নির্ণয়ে ব্যবহৃত হয়।
বর্তমানে যে সকল পদ্ধতি অনুসরণ করে সফটওয়্যার ডেভেলপমেন্ট করে থাকে সেগুলো হলঃ
  • Agile Software Development
  • Crystal Methods
  • Dynamic Systems Development Model (DSDM)
  • Extreme Programming (XP)
  • Feature Driven Development (FDD)
  • Joint Application Development (JAD)
  • Lean Development (LD)
  • Rapid Application Development (RAD)
  • Rational Unified Process (RUP)
  • Scrum
  • Spiral
  • Waterfall
এই পদ্ধতিগুলোর মধ্যে এজাইল, স্ক্রাম এবং ওয়াটার ফল বেশী জনপ্রিয়। স্ক্রাম মুলত এজাইল পদ্ধতির একটি ফ্রেমওয়ার্ক।ওয়াটার ফল পদ্ধতি হল প্রাচীন বা ট্র্যাডিশনাল পদ্ধতি। এতে সফটওয়্যার ডেভেলপমেন্ট ধাপে ধাপে সম্পন্ন হয়। পক্ষান্তরে এজাইল পদ্ধতিতে সফটওয়্যার ডেভেলপমেন্ট হয় সমান্তরালে। প্রকৃতপক্ষে এজাঈল হল অনেকগুলো ছোট ছোট ওয়াটার ফল পদ্ধতির সমষ্টি;  এ বিষয়ে বিস্তারিত জানতে Software Development Life Cycle(SDLC) – ভালভাবে বুঝতে হবে।
নিম্নের চিত্রের সাহায্যে দুইটি পদ্ধতিই বোঝানো হলঃ
waterfall

agile
সফটওয়্যার ডেভেলপমেন্টের সময় বিভিন্ন ধরনের ঝুঁকি এড়াতে ওয়াটার ফল পদ্ধতি থেকে এজাইল পদ্ধতি বেশি জনপ্রিয়।
পরিবেশ ও প্রোজেক্টের ধরন অনুযায়ী অন্যান্য পদ্ধতিগুলোও ব্যবহৃত হয়। কিন্তু সবক্ষেত্রে 


স্ক্রাম – এজাঈল এর নতুন দিগন্ত-1;

স্ক্রাম কি?
ইহা একটি এজাইল ম্যানেজমেন্ট ফ্রেমওয়ার্ক যাহা সাধারণত সফটওয়্যার তৈরিতে ব্যবহার হয়। এই পদ্ধতি iterative and incremental development সাপোর্ট করে।
এই পদ্ধতিতে সব ধরণের সফটওয়্যার তৈরি করা যায়।
স্ক্রামের অংশগুলো হলঃ
১) এর তিনটি রোল আছেঃ Product owner. Scrum Master. Scrum Team.
২) প্রয়োজনীয়তার ভিত্তিতে Product backlog.
৩)Sprint.
৪) Sprint Events:Sprint Planning Meeting , Daily Scrum Meeting, Sprint Review Meeting, Sprint Retrospective Meeting।
স্ক্রামের একটি বিশেষত্ব হচ্ছে এতে কোন Project Manager এর Concept নেই। সাধারণত Product owner এবং Scrum master মিলে Project Manager এর দায়িত্ব পালন করে থাকেন।
স্ক্রামের সাহায্যে খুব সহজে আংশিক সফটওয়্যার Implement করা যায়।
স্ক্রামের ধাপ গুলো নিচের চিত্রের সাহায্যে দেখানো হলঃ
scrum
বিস্তারিত জানতে অপেক্ষা করুন।


স্ক্রাম – এজাঈল এর নতুন দিগন্ত-2;

স্প্রিন্ট কি?
স্ক্রাম ফ্রেমওয়ার্কে স্ক্রাম Product ব্যাকলগ থেকে এন্ট্রি বাস্তবায়নের জন্য প্রয়োজনীয় সব কার্যক্রম Sprints মধ্যে সঞ্চালিত হয়. Sprints সবসময় সংক্ষিপ্ত হয়: সাধারণত প্রায় 2-4 সপ্তাহ হয়.
প্রতিটি স্প্রিন্ট সেশন দুইটি স্প্রিন্ট প্ল্যানিং মিটিং এর মাধ্যমে শুরু হয়:
1: the WHAT-Meeting
  1. the HOW-Meeting
এই দুইটি মিটিং কে সম্মিলিত ভাবে Sprint Planning Meeting বলে. WHAT-Meeting এ বলা থাকে স্ক্রাম Product ব্যাকলগ এর কোন কোন user stories গুলো সম্পন্ন করা হবে.এবং HOW-Meeting এ বলা থাকে user stories গুলো কিভাবে সম্পন্ন করা হবে.
প্রতিটি Sprint এর শেষে স্প্রিন্ট রিভিউ মিটিং হয় যাতে স্ক্রাম Product owner check করে সকল user stories সম্পূর্ণ রূপে এবং সঠিকভাবে শেষ হয়েছে কিনা।
সবার শেষে একটি Sprint Retrospective Meeting হয় যাতে স্প্রিন্টের ভাল দিক , খারাপ দিক এবং কোন কোন বিষয় গুলো আরো ভালো হওয়া দরকার তা নিয়ে আলোচনা করা হয়.
sprint

স্ক্রাম – এজাইলের নতুন দিগন্ত -৩।

স্ক্রাম ফ্রেমওয়ার্ক কেন সফল?
স্ক্রাম framework প্রকল্প ব্যবস্থাপনার classical triangle পরিবর্তন করে। এটি এখন আর টাইম, বাজেট এবং কোয়ালিটির মধ্যে নেইএটা এখন বাজেট, সময় এবং কার্যকারিতার(functionality) এর ত্রিভুজ হয়ে উঠছে। 
TPMvsSPMScrum এর মূল বৈশিষ্ট্য হল কোন অসম্পূর্ণ বা অপরীক্ষিত বৈশিষ্ট্য(feature) customer এর নিকট release  করা হয় না।
Properly tested, properly documented and proper added feature গুলোই কেবল customer এর নিকট যায়। এটা সাধারণত incrementally add হয়ে থাকে।
একটা বাস্তব সমীক্ষা থেকে Scrum Project Management এর নিম্ন বর্ণিত সুফল গুলেো পাওয়া গেছে।
১)বর্ধিত উত্পাদন,
২)উন্নত পণ্যের মান,
৩)সল্প এবং স্থিতিশীল প্রকল্পের খরচ(Project cost)।
৪)উচ্চ গ্রাহক সন্তুষ্টি,
৫)কর্মচারীদের প্রেরণা ও সন্তুষ্টি বৃদ্ধি।
সুতরাং, স্ক্রাম পদ্ধতিটি  classical পদ্ধতির চেয়ে অনেকাংশে ভালো। 

স্ক্রাম – এজাইল এর নতুন দিগন্ত – ৪

স্ক্রাম প্রোডাক্ট বেকলগ কি?
Scrum Product Backlog হল ঐ সমস্ত কাজের লিস্ট যে সব কাজ একটি প্রজেক্টের মধ্যে সম্পন্ন করতে হয়.
এটা প্রথাগত Reqirement Sepecification Documents কে প্রতিস্থাপন করে. Scrum Product Backlog এর মালিক Scrum Product Owner হয়. Scrum Product Backlog এ কাজ করার মানে এই নয় যে অন্য কোনো ডকুমেন্ট বা artifact ব্যবহার করা যাবে না. কিন্তু অন্য যেসব ডকুমেন্ট ব্যবরিত হয় সবগুলোই Scrum Product Backlog এর supporting document হিসেবে কাজ করে. এই ডকুমেন্ট গুলোতে সাধারনত Scrum Product Backlog এর বিবরণ বা বর্ণনা থাকে।
Scrum Product Owner সাধারনত Scrum Product Backlog টি Scrum Planning meeting এর সময় ব্যবহার করে থাকেন, এর এন্ট্রি গুলোকে Scrum team member দের বুঝিয়ে দেয়ার জন্য। তখন Scrum team memberরা সিধান্ত নেই কোন কোন requirement গুলো নেক্সট স্প্রিন্টে শেষ করা যাবে।
Scrum Product Backlog এর unique বৈশিস্ট গুলো হল:
  1. Scrum Product Backlog এর প্রতিটি এন্ট্রি কাস্টমারের কাছে value add করবে.
  2. Scrum Product Backlog এর সকল এন্ট্রি প্রয়োজনীয়তার উপর ভিত্তি করে সাজানো থাকে।
  3. Scrum Product Backlog এর সকল এন্ট্রি well estimated হবে.
  4. Scrum Product Backlog এর সকল এন্ট্রি কখনোই বিবরণ মূলক হবে না.
*note: Demo Product Backlog image collected from web.
ProductBacklog








Saturday, September 10, 2016

পাসপোর্ট

পাসপোর্টটা এবার করেই ফেলুন, বাংলাদেশে এই প্রথম এত সহজে পাসপোর্ট


প্রকাশিত :২৮.০৮.২০১৬, ১:২৬ পূর্বাহ্ণ

2015_12_20_17_21_09_tn2IXZW64TGyIpCwBI3Ch2jC1OirG2_original
হঠাৎ বন্ধুরা মিলে প্লান করলেন দেশের বাইরে ঘুরতে যাবেন। মুশকিল হল পাসপোর্টটাই নেই। ঝক্কি-ঝামেলার ভয়ে পাসপোর্ট অফিসেই হয়তো যেতে চান না। তবে এখন অনলাইনেই করে ফেলা যায় পাসপোর্টের ‘কর্ম’। তবে এজন্য আপনাকে বাইরেও যেতে হবে। প্রথমত টাকা জমা দিতে। অবশ্য চাইলে এটাও আপনি অনলাইনেই জমা দিতে পারেন। সম্প্রতি কয়েকটি নির্দিষ্ট ব্যাংকেও অনলাইনে পাসপোর্টে টাকা জমা দেয়ার ব্যবস্থা চালু করা হয়েছে। যা এ প্রক্রিয়াকে আরও একধাপ এগিয়ে নিয়ে গেছে।
আসুন জেনে নেয়া যাক পাসপোর্ট করতে গেলে অনুসরণীয় কয়েকটি ধাপ
১ম ধাপ : টাকা জমা
অনলাইনে পাসপোর্ট করতে হলে প্রথমে টাকা জমা দিতে হবে। কেননা অনলাইনে ফর্ম পূরণ করার সময় টাকা জমা দেওয়ার তারিখ এবং জমা দানের রিসিটের নম্বর উল্লেখ করার প্রয়োজন হয়। তাই ফর্ম পূরণের আগে টাকা জমা দিতে হবে। রেগুলার ফি ৩ হাজার টাকা এবং জরুরি পাসপোর্ট করতে হলে তার ফি ৬ হাজার টাকা। রেগুলার ফিতে পাসপোর্ট পেতে সময় লাগবে এক মাস। জরুরিভিত্তিতে করতে চাইল ১৫ দিনের মত সময় লাগবে।
২য় ধাপ : অনলাইনে ফরমপূরণ
এটি সবচেয়ে গুরুত্বপূর্ণ ধাপ। খুব মনোযোগ দিয়ে অনলাইনের ফরম পূরণ করতে হবে। যেন কোনো ভুল ত্রুটি না হয়। অনলাইনে ফরম পূরণের জন্য প্রথমে পাসপোর্ট অফিসের এ সাইটে যেতে হবে।
তারপর ‘I have read the above information and the relevant guidance notes’ টিক চিহ্ন দিয়ে ‘continue to online enrollment’ এ ক্লিক করতে হবে।
আপনার নাম ও ব্যক্তিগত তথ্যাদি- যেমন : আপনার নাম, পিতা-মাতার নাম। এই নামগুলো যেন শিক্ষাগত সার্টিফিকেট কিংবা জাতীয় পরিচয়পত্রের মতো একই হয়। কোনো তথ্য ভুল হলে পাসপোর্টে হতে সমস্যা হবে।
মেইল অ্যাড্রেস ও মোবাইল নম্বার দেয়ার ক্ষেত্রে অবশ্যই যেটি ব্যবহৃত হচ্ছে সেটি দেয়া উচিত।
টাকা জমা দেয়ার তারিখ এবং রিসিট নম্বর দিতে হবে। পাসপোর্ট টাইপ সিলেক্ট করতে হবে ‘ordinary’। যে অংশগুলো লাল স্টার মার্ক দেয়া রয়েছে, সেগুলো অবশ্যই পূরণ করতে হবে।
Delivery Type অংশে ৩০ দিনের জন্য হলে Regular এবং ১৫ দিনের জন্য হলে Express সিলেক্ট করতে হবে।
সম্পূর্ণ ফরমটি পূরণ হলে পুনরায় এটি চেক করতে হবে। সব তথ্য টিক আছে কি না, তা যাচাই করে পরবর্তী ধাপে যেতে হবে।
সবশেষে পূরণ করা ফরমটি সাবমিট করতে হবে। সফলভাবে সাবমিট করা হলে পূরণ করা ফরমের একটি পিডিএফ কপি যে ই-মেইল অ্যাড্রেস দিয়ে ফরম পূরণ করা হয়েছে, সেখানে চলে আসবে।
৩য় ধাপ : ফর্মের প্রিন্ট এবং সত্যায়ন
এবার মেইলে আসা পিডিএফ কপির ২ কপি কালার প্রিন্ট করতে হবে। এতে আবেদনকারীর স্বাক্ষর করার স্থনে সই করতে হবে। এবার নিজের চার কপি ছবি, জাতীয় পরিচয়পত্রের ফটোকপি এবং পাসপোর্ট ফর্ম নিয়ে পরিচিত কোনো প্রথম শ্রেণির কর্মকর্তার কাছ থেকে সত্যায়িত করে নিতে হবে। পরিচিত কাউকে দিয়ে সত্যায়ন করালে ভাল। কারণ ওই কর্মকর্তার নাম, যোগাযোগ ও ফোন নম্বর এবং জাতীয় পরিচয় পত্রের নম্বর ফরমে লিখতে হয়।
৪র্থ ধাপ : পুরো ফরম রিচেক
সত্যায়িত ছবি এবং ব্যাংকের রিসিট আঠা দিয়ে ফরমের সঙ্গে যুক্ত করতে হবে। জাতীয় পরিচয়পত্রের সত্যায়িত কপিটিও প্রিন্ট করা ফরমটির সঙ্গে যুক্ত করে দিতে হবে। শিক্ষার্থী হিসেবে আবেদন করলে অবশ্যই স্টুডেন্ট আইডি কার্ডের ফটোকপি সত্যয়িত করে ফরমের সঙ্গে যুক্ত করতে দিতে হবে। এসব ধাপ শেষ করলে ফর্মটি জমা দেয়ার জন্য প্রস্তুত।
৫ম ধাপ : ফরম জমা এবং ছবি তোলা
অনলাইনে ফর্ম পূরণের জন্য ১৫ দিনের মধ্যে ফর্মের প্রিন্ট কপি, সত্যায়িত ছবি, জাতীয় পরিচয়পত্র এবং স্টুডেন্ট আইডি কার্ডের ফটোকপি নিয়ে যেতে হবে পাসপোর্ট অফিসে।
পাসপোর্ট অফিসে যাওয়ার সময় অবশ্যই সাদা পোশাক পরবেন না। সকালের দিকে পাসপোর্ট অফিসে গেলে ভালো হয়। তখন লাইনে ভিড় কম থাকে। সরাসরি মেইন গেইট দিয়ে মূল অফিসে ঢুকতে হবে। সেখানে দায়িত্বরত সেনা সদস্যকে জিজ্ঞেস করুণ কোন রুমে যেতে হবে। সাইন শেষে জানিয়ে দেয়া হবে ছবি তোলার জন্য কোন রুমে যেতে হবে।
এরপর নির্দিষ্ট রুমে গিয়ে সিরিয়াল আসলে ছবি তোলার জন্য ডাক পড়বে। ছবি তোলার পর ফিঙ্গারপ্রিন্ট দিতে হবে। এবার পাসপোর্ট রিসিভের একটা রিসিট দেয়া হবে। পুলিশ ভেরিফিকেশন সাপেক্ষে, রিসিট পাওয়ার একমাস বা ১৫ দিনের মধ্যেই আপনি পাসপোর্ট পাবেন।
নির্ধারিত দিনে রিসিভটি নিয়ে পাসপোর্ট সংগ্রহ করতে হবে।

Tuesday, August 30, 2016

write a good Article



http://www.techtunes.com.bd/category/oracle
https://www.youtube.com/channel/UCxK1Lc5XTqq8-_7LxmDqy7g


EXEC [pr_GetPlanFundsCategories] 453063803
*/
ALTER PROCEDURE [dbo].[pr_GetPlanFundsCategories] (@PlanNumber INT) AS
Declare @PlanID Varchar(12),
@FundHistoryDate DateTime,
@ClientStatus Varchar(50)

SET NOCOUNT ON

Select @PlanID = PlanClientNumber, @ClientStatus = ISNULL(ClientStatus, '')
FROM PlanAccount where PlanNumber = @PlanNumber

--select @clientstatus
IF @ClientStatus IN ('Proposed','Setup')
BEGIN
Select DISTINCT UPPER(ISNULL(F.AssetClass404a5Report + ' ', 'Other ') + 'Funds') AS AssetClass
, convert(varchar(10), getdate(), 101) AS AsOfDate
, RL.RiskLevelID
from XAccountFund H
INNER JOIN Fund F ON H.FundID = F.FundID
LEFT JOIN tblFundRiskLevel RL ON ISNULL(F.AssetClass404a5Report, 'Other') = ISNULL(RL.AssetClass, '')
WHERE H.AccountID = @PlanNumber
AND (F.Status = 'Open' OR H.MarketValue IS NOT NULL)
ORDER BY RL.RiskLevelID
END

ELSE
BEGIN
SELECT @FundHistoryDate = Max(FundHistoryDate) from PlanFundHistory
SELECT DISTINCT UPPER(ISNULL(F.AssetClass404a5Report + ' ', 'Other ') + 'Funds') AS AssetClass
, convert(varchar(10), getdate(), 101) AS AsOfDate
, RL.RiskLevelID
from PlanFundHistory H
INNER JOIN Fund F ON H.CUSIPNUM = F.Cusip
LEFT JOIN tblFundRiskLevel RL ON ISNULL(F.AssetClass404a5Report, 'Other') = ISNULL(RL.AssetClass, '')
WHERE H.PlanID = @PlanID
AND (F.Status = 'Open' OR H.DollarAmount > 0) AND ISNULL(H.SuspenseCode, '') <> 'Yes'
AND H.FundHistoryDate = @FundHistoryDate
ORDER BY RiskLevelID
--SELECT RiskLevelID,UPPER(AssetClass+ ' Funds') AS AssetClass, '1/1/2000' as AsOfDate from tblFundRiskLevel

END







Wednesday, August 17, 2016

HTML input elements + Script

  • input elements
  • select elements
  • button elements
  • textarea elements
Input Types :  text, hidden password, radio, checkbox, button, submit, file

<input type="text" ng-model="firstname">

<input type="text" name="firstname">
<input type="checkbox" ng-model="myVar">
<input type="radio" ng-model="myVar" value="dogs">Dogs
<input type="radio" ng-model="myVar" value="tuts">Tutorials

Selectbox

<select ng-model="myVar">
    <option value="">
    
<option value="dogs">Dogs
    
<option value="tuts">Tutorials
</select>

<select name="cars">
  <option value="volvo">Volvo</option>
  
<option value="saab">Saab</option>
</select>

<textarea ng-model="myTextarea">
</textarea>


<textarea name="message" rows="10" cols="30">
     The cat was playing in the garden.
</textarea>

**************************************************************************
JavaScript variables can hold many data types: numbers, strings, arrays, objects and more:
var length = 16;               // Number
var lastName = "Johnson";      // String
var cars = ["Saab""Volvo""BMW"];    // Array
var points = [40100152510];          // Good
var x = {firstName:"John", lastName:"Doe"};// Object
****************************************************************************
function bar() {
    return 3;
}

bar() //3
function myFunction(a, b) {
    return a * b;
}
window.myFunction(102);
    myFunction() and window.myFunction() is the same function:


JavaScript allows us to assign a function to a variable and then use that variable as a function. It is called function expression.

Example: Function expression

var add = function sum(val1, val2) {
    return val1 + val2;
};

var result1 = add(10,20);
var result2 = sum(10,20); // not valid

JavaScript allows us to define a function without any name. This unnamed function is called anonymous function. Anonymous function must be assigned to a variable.

Example: Anonymous Function
var sayHello = function (firstName) {
    alert("Hello " + firstName);
};
sayHello("Bill");

//anonymous function expression
var a = function() {
    return 3;
}
<script> var x = function (a, b) {return a * b}; document.getElementById("demo").innerHTML = x(4, 3);

       var myFunction = new Function("a""b""return a * b");
        var x = myFunction(43);

</script>
**************************************************************
//self invoking function expression
(function sayHello() {
    alert("hello!");

})();
**************************************************************
function person(first, last, age, eye) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eye; } var myFather = new person("John", "Doe", 50, "blue"); var myMother = new person("Sally", "Rally", 48, "green"); document.getElementById("demo").innerHTML = "My father is " + myFather.age + ". My mother is " + myMother.age;




// This is a function constructor:
function myFunction(arg1, arg2) {
    this.firstName = arg1;
    this.lastName  = arg2;
}
// This creates a new object
var x = new myFunction("John","Doe");
x.firstName;                            

 // Will return "John"

*************************************************************
var myObject = {
    firstName:"John",
    lastName: "Doe",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
myObject.fullName();         // Will return "John Doe"
In JavaScript you can define function as object methods.

The following example creates an object (myObject), with two properties (firstName and lastName), and a method (fullName):.

// This is a function constructor:
function myFunction(arg1, arg2) {
    this.firstName = arg1;
    this.lastName  = arg2;
}
// This creates a new object
var x = new myFunction("John","Doe");
x.firstName;                            
 // Will return "John"




128 Civics Questions

  128 Civics Questions – Group Names (First English, then Bangla) Group 1: Principles of American Democracy বাংলা : মার্কিন গণতন্ত্রের...