ಡೇಟಾಬೇಸಿನ ಬಯೋಡೇಟಾ….!!

23 06 2009

 ಬ್ಲಾಗಿನ ಕಡೆ ತಲೆ ಹಾಕಿ ಮಲಗಿ ಸುಮಾರು ದಿನ ಆಯ್ತು. ಅದನ್ನು ಬರೀಬೇಕು ಇದನ್ನು ಬರೀಬೇಕು ಅಂತ ಯೋಚನೆ ಮಾಡ್ತಾ ಕೊನೆಗೆ ಯಾವದನ್ನೂ ಬರೆಯದೆ ತುಂಬಾ ದಿನ ಕಳೆದು ಹೋಯ್ತು. ಕಡೆಗೂ ಈ ಕಾಯಿಲೆಗೆ ಮದ್ದು ಅಂದ್ರೆ ಈ ಕ್ಷಣಕ್ಕೆ ಏನು ತೋಚುತ್ತದೋ ಅದನ್ನೇ ಬರೆಯೋದು ಅಂತ ನಿರ್ಧರಿಸಿ ಪೆನ್ನು ಹಿಡಿದು… ಅಲ್ಲಲ್ಲ ಕೀಬೋರ‍್ಡ್ ಕುಟ್ಟುತ್ತಾ ಕುಳಿತಿದ್ದೇನೆ. ಸೋ ಕಾಲ್ಡ್ ಸಾಫ್ಟ್‌ವೇರ್ ಇಂಜಿನಿಯರ್ ಅನ್ನಿಸಿಕೊಂಡ ತಪ್ಪಿಗೆ ಕಳೆದ ಆರೂವರೆ ವರ್ಷಗಳಿಂದ ಡೇಟಾಬೇಸ್ ಡಿಸೈನರ್ ಆಗಿ ಮಣ್ಣು ಹೊತ್ತದ್ದಕ್ಕೆ ಆ ಕುರಿತು ಏನಾದ್ರೂ ಬರೆದರೆ ಹೇಗೆ ಅಂತ ನನ್ನ ಟ್ಯೂಬ್‌ಲೈಟ್ ತಲೆಯಲ್ಲಿ ಮಿಂಚು ಹೊಡಿತು. ಅದರ ಫಲವೇ ಈ ಲೇಖನ. ಓದೋದು ನಮ್ಮ ಜನ್ಮಾಂತರದ ಕರ್ಮಫಲವೇನೋ ಅಂತ ತಿರುಗಿ ಪ್ರಶ್ನೆ ಕೇಳೋ ಹಾಗಿಲ್ಲ ಅಂತ ಬ್ಲಾಗೇಶ್ವರನ ಮೇಲೆ ಆಣೆ ಮಾಡ್ಬಿಟ್ಟಿದ್ದೀನಿ :-)

ಡೇಟಾಬೇಸ್ ಅನ್ನುವ ಪದ ಸಾಫ್ಟ್‌ವೇರ್ ಕ್ಷೇತ್ರದ ಹೊರಗೂ (ಸಾಫ್ಟ್‌ವೇರ್ ಯುಗಕ್ಕೂ ಬಹಳ ಮುಂಚೆಯೇ) ಬಳಕೆಯಲ್ಲಿ ಇರುವ ಕಾರಣ ಇದರ ಬಗ್ಗೆ ಸ್ಥೂಲವಾಗಿ ನಿಮಗೊಂದು ಕಲ್ಪನೆ ಇದೆ ಅಂದುಕೊಳ್ತೀನಿ. ಆದರೂ ಒಂಚೂರು ಈ ಬಗ್ಗೆ ತಿಳಿದುಕೊಳ್ಳೋಣ. ಬೇಕೆಂದಾಗ ಕ್ಷಿಪ್ರವಾಗಿ ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯಲು, ಇರುವ ಮಾಹಿತಿಯನ್ನು ಸುಲಭವಾಗಿ ಬದಲಾಯಿಸಲು ಮತ್ತು ಹೊಸ ಮಾಹಿತಿಯನ್ನು ಸೇರಿಸಲು ಅನುಕೂಲವಾಗುವಂತೆ ಒಂದು ವ್ಯವಸ್ಥಿತ ಕ್ರಮದಲ್ಲಿ ಜೋಡಿಸಲ್ಪಟ್ಟ ಮಾಹಿತಿ ಸಂಗ್ರಹವೇ ಡೇಟಾಬೇಸ್. ಹೀಗೆ ಹೇಳಿದ್ರೆ ಯಾರಿಗೆ ಸ್ವಾಮಿ ಅರ್ಥವಾಗ್ತದೆ ಅಂತೀರಾ? ಒಂದು ಸರಳ ಉದಾಹರಣೆ ನೋಡೋಣ. ನಿಮ್ಮ ಬಳಿ ಅನೇಕ ವ್ಯಕ್ತಿಗಳ ಕಾಂಟ್ಯಾಕ್ಟ್ ವಿವರಗಳಿದೆ ಅಂತಿಟ್ಟುಕೊಳ್ಳಿ. ಅದನ್ನು ಅಂದು ನೋಟ್‌ಬುಕ್‌ನಲ್ಲಿ ಉದ್ದಕ್ಕೂ ಬರೆದಿಟ್ಟುಕೊಂಡಿದ್ದರೆ ಬೇಕೆಂದಾಗ ಮಾಹಿತಿ ಹುಡುಕಲು, ಹೊಸದನ್ನು ಸೇರಿಸಲು ಇಲ್ಲ ಇರುವ ಮಾಹಿತಿಯನ್ನು ಬದಲಾಯಿಸಲು ಎಷ್ಟು ಕಷ್ಟ ಅಲ್ವಾ? ಅದೇ ಕಾಂಟ್ಯಾಕ್ಟ್ ವಿವರಗಳು ನಿಮ್ಮ ಮೊಬೈಲ್‌ನ ಫೋನ್‌ಬುಕ್‌ನಲ್ಲಿ ಇದ್ದರೆ ಮಾಹಿತಿಯ ನಿರ್ವಹಣೆ ಎಷ್ಟು ಸುಲಭವಾಗುತ್ತೆ ನೋಡಿ. ವಾಸ್ತವದಲ್ಲಿ ಉದಾಹರಣೆ ಕೊಡುವ ಅನುಕೂಲಕ್ಕೆ ಡೇಟಾಬೇಸನ್ನು ಫೋನ್‌ಬುಕ್‌ಗೆ ಹೋಲಿಸಿದೆ ಅಷ್ಟೆ. ಡೇಟಾಬೇಸ್‌ನ ಪರಿಕಲ್ಪನೆ ಇದಕ್ಕಿಂತ ಬಹಳ ವಿಶಾಲವಾಗಿದೆ.

ಡೇಟಾಬೇಸ್ ಅಂದ್ರೆನು ಅಂತ ಗೊತ್ತಾಯ್ತು. ಅದರಲ್ಲಿ ವ್ಯವಸ್ಥಿತವಾಗಿ ಮಾಹಿತಿ ಜೋಡಿಸೋದು ಅಂದ್ರೆ ಏನು ಅಂತ ನೋಡೋಣ. ಇದನ್ನು ಅರ್ಥ ಮಾಡಿಕೊಳ್ಳಲು ಸುಲಭವಾಗುವಂತೆ ಉದಾಹರಣೆಯೊಂದನ್ನು ಗಮನಿಸೋಣ. ಫ್ಯಾಮಿಲಿ ಅರ್ಥಾತ್ ಕುಟುಂಬ ಅನ್ನೋದು ಒಂದು ಡೇಟಾಬೇಸ್ ಅಂದುಕೊಳ್ಳಿ. ಅದರಲ್ಲಿ ಪೇರೆಂಟ್ಸ್, ಚಿಲ್ಡ್ರನ್ ಮತ್ತು ಫ್ರೆಂಡ್ಸ್ ಹೀಗೆ ಮೂರು ವಿಭಾಗಳ ಮಾಹಿತಿ ನಮ್ಮ ಬಳಿ ಇದೆ. ಈ ಮಾಹಿತಿಯನ್ನು ವ್ಯವಸ್ಥಿತವಾಗಿ ಜೋಡಿಸುವ ಅನುಕೂಲಕ್ಕಾಗಿ ‘ಟೇಬಲ್’ ಅನ್ನುವ ವಿಶಿಷ್ಟ ಮಾಹಿತಿ ಸಂಗ್ರಹಣಾ ರಚನೆಯು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಇರುತ್ತದೆ. ಈ ಎಲ್ಲಾ ಮಾಹಿತಿಗಳನ್ನು ಮೂರು ಟೇಬಲ್ ಪೇರೆಂಟ್, ಚೈಲ್ಡ್, ಫ್ರೆಂಡ್ ಗಳಲ್ಲಿ ಶೇಖರಿಸಲಾಗುತ್ತದೆ.

ಈಗ ಪೇರೆಂಟ್ ಟೇಬಲ್ ಅನ್ನು ಗಮನಿಸೋಣ. ಅದರಲ್ಲಿ ವ್ಯಕ್ತಿಯ ಹೆಸರು, ವಯಸ್ಸು, ಉದ್ಯೋಗ, ಲಿಂಗ… ಹೀಗೆ ಅನೇಕ ಮಾಹಿತಿಗಳು ಇರುತ್ತವೆ. ಹೀಗೆ ಒಬ್ಬ ವ್ಯಕ್ತಿಯ ಎಲ್ಲಾ ವಿವರಗಳು ಇರುವ ಟೇಬಲ್‌ನ ಒಂದು ಸಾಲನ್ನು ‘ರೋ’ ಅಥವಾ ‘ಟಪಲ್’ ಅಂತ ಕರೆಯುತ್ತಾರೆ. ಪೇರೆಂಟ್  ಟೇಬಲ್‌ನಲ್ಲಿ ಪ್ರತೀ ವ್ಯಕ್ತಿಯ ವಿವರಗಳು ಇರುವ ಇಂತಹ ಅನೇಕ ಸಾಲುಗಳು ಇರುತ್ತವೆ. ಒಂದು ಸಾಲಿನಲ್ಲಿ (ರೋ) ಇರುವ ವ್ಯಕ್ತಿಯ ಕುರಿತಾದ ಚಿಕ್ಕ ಚಿಕ್ಕ ಮಾಹಿತಿಯ ಘಟಕಗಳನ್ನು ( ಹೆಸರು, ವಯಸ್ಸು, ಲಿಂಗ…) ‘ಕಾಲಮ್ಸ್’ ಅಥವಾ ‘ಆಟ್ರಿಬ್ಯೂಟ್’ ಅಂತ ಕರೆಯುತ್ತಾರೆ.

ಈ ಪೇರೆಂಟ್ ಟೇಬಲ್‌ನ ಪ್ರತಿಯೊಂದು ಸಾಲನ್ನು ವಿಶಿಷ್ಟವಾಗಿ ಗುರುತಿಸುವ ಅನುಕೂಲಕ್ಕಾಗಿ ಅದರಲ್ಲಿನ ಒಂದು ಘಟಕ(ಕಾಲಮ್) ಅನ್ನು ‘ಪ್ರೈಮರಿ ಕೀ’ ಅಂತ ಗುರುತಿಸುತ್ತಾರೆ. ಪ್ರೈಮರಿ ಕೀ ಆಗಲು ಆ ಕಾಲಮ್‌ಗೆ ಇರಬೇಕಾದ ಅರ್ಹತೆ ಅಂದರೆ, ಪ್ರತಿ ಸಾಲಿನಲ್ಲೂ ಬೇರೆಯದೇ ವಾಲ್ಯೂ(ಡೇಟಾ)ವನ್ನು ಅದು ಹೋದಿರಬೇಕು. ಉದಾಹರಣೆಗೆ ‘ಹೆಸರು’ನ್ನು ತೆಗೆದುಕೋಡರೆ ಇದು ಪ್ರೈಮರಿ ಕೀ ಆಗುವ ಯೋಗ್ಯತೆ ಹೊಂದಿಲ್ಲ. ಯಾಕೆಂದರೆ ಇಬ್ಬರು ವ್ಯಕ್ತಿಗಳು ಒಂದೇ ಹೆಸರನ್ನು ಹೊಂದಿರುವ ಸಾಧ್ಯತೆ ಇದೆಯಷ್ಟೇ? ಹೀಗೆ ಒಂದು ಟೇಬಲ್‌ನಲ್ಲಿ ಯಾವುದೇ ಕಾಲಮ್‌ಗೆ ಪ್ರೈಮರಿ ಕೀ ಆಗುವ ಅರ್ಹತೆ ಇಲ್ಲದ ಸಂದರ್ಭದಲ್ಲಿ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಕಾಲಮ್‌ಗಳ ಸಮೂಹವನ್ನು ಪ್ರೈಮರಿ ಕೀ ಅಂತ ಹೆಸರಿಸಲಾಗುತ್ತದೆ. ಬಹಳಷ್ಟು ಸಂದರ್ಭಗಳಲ್ಲಿ ಸುಲಭ ನಿರ್ವಹಣೆಯ ಅನುಕೂಲಕ್ಕಾಗಿ ಒಂದು ಅನುಕ್ರಮ ಸಂಖ್ಯೆಯ ಕಾಲಮ್(ಐಡೆಂಟಿಟಿ) ಅನ್ನು ಹೆಚ್ಚುವರಿಯಾಗಿ ಟೇಬಲ್‌ಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ಅಂತಹ ಒಂದು ಕಾಲಮ್(‘ಪೇರೆಂಟ್ ಐಡಿ’) ಅನ್ನು ಪೇರೆಂಟ್ ಟೇಬಲ್ಲಿಗೆ ಸೇರಿಸೋಣ.

ನಿಮ್ಮ ಬ್ಯಾಂಕ್ ಖಾತೆಯ ಉದಾಹರಣೆ ತೆಗೆದುಕೊಂಡರೆ ನಿಮ್ಮ ಅಕೌಂಟ್ ಸಂಖ್ಯೆಯು ಪ್ರೈಮರಿ ಕೀ ಆಗಲು ಯೋಗ್ಯ ಕಾಲಮ್. ಪ್ರೈಮರಿ ಕೀ ಕಾಲಮ್‌ನ ಉಪಯೋಗ ಅಂದರೆ ಮಾಹಿತಿಯನ್ನು ಹುಡುಕುವ ಸಂದರ್ಭದಲ್ಲಿ ಇದನ್ನು ಬಳಸಿ ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಾಲಿನ ಮಾಹಿತಿಯನ್ನು ಸುಲಭವಾಗಿ ಹೊರತೆಗೆಯಬಹುದು.

ಹೀಗೆ ಟೇಬಲ್‌ಗಳಲ್ಲಿ ಮಾಹಿತಿ ಶೇಖರಿಸಿದ್ದೇನೋ ಆಯ್ತು. ಆದರೆ ಈ ಟೇಬಲ್‌ಗಳ ನಡುವೆ ಇರುವ ಸಂಬಂಧವನ್ನು ಸೂಚಿಸುವುದು ಹೇಗೆ?  ಎರಡು ಯಾ ಅದಕಿಂತ ಹೆಚ್ಚು ಟೇಬಲ್‌ಗಳ ನಡುವೆ ಇರುವ ಸಂಬಂಧವನ್ನು ಸೂಚಿಸಲು ಇರುವ ಪದ ‘ರಿಲೇಶನ್‌ಶಿಪ್’.  ಯಾವುದೇ ಎರಡು ಟೇಬಲ್‌ಗಳ ನಡುವೆ ಸಂಬಂಧ ಸೂಚಿಸಲು ಆ ಎರಡು ಟೇಬಲಗಳ ಮಧ್ಯೆ ಸೇತುವೆಯಾಗಿ ಕಾಲಮ್ ಒಂದು ಇರಲೇಬೇಕು. ಅಂತಹ ಕಾಲಮನ್ನು ‘ಫಾರಿನ್ ಕೀ’ ಎಂದು ಕರೆಯುತ್ತಾರೆ. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ‘ಪೇರೆಂಟ್’ ಟೇಬಲ್ ಮತ್ತು ‘ಚೈಲ್ಡ್’ ಟೇಬಲ್ ಮಧ್ಯೆ ಇರುವ ಈ ಸಂಬಂಧ ಯಾವುದು? ಚೈಲ್ಡ್ ಟೇಬಲ್‌ನಲ್ಲಿ ‘ಪೇರೆಂಟ್ ಐಡಿ’ಯನ್ನು ಫಾರಿನ್ ಕೀಯಾಗಿ ಸೇರಿಸಿ ಈ ಸಂಬಂಧವನ್ನು ಸ್ಥಾಪಿಸಬಹುದು.

ಉದಾಹರಣೆಗೆ ರಮೇಶ ಅನ್ನುವ ವ್ಯಕ್ತಿಯ ಪೇರೆಂಟ್ ಐಡಿ ೧೦ ಅಂತಿಟ್ಟುಕೊಂಡರೆ, ಮಹೇಶ ಮತ್ತು ಗಿರೀಶ ಅನ್ನುವವರು ರಮೇಶನ ಮಕ್ಕಳು ಅಂತಿಟ್ಟುಕೊಂಡರೆ, ಚೈಲ್ಡ್ ಟೇಬಲ್‌ನಲ್ಲಿ ಮಹೇಶ ಮತ್ತು ಗಿರೀಶರ ಪೇರೆಂಟ್ ಐಡಿ ೧೦ ಆಗಿರುತ್ತದೆ. ಈಗ ನಮಗೆ ರಮೇಶನ ವಿವರಗಳ ಜೊತೆಗೆ ರಮೇಶನ ಮಕ್ಕಳ ವಿವರವೂ ಬೇಕಾದಲ್ಲಿ ಈ ಎರಡು ಟೇಬಲ್‌ಗಳ ನಡುವಿನ ಕೊಂಡಿಯಾದ ಪೇರೆಂಟ್ ಐಡಿಯನ್ನು ಬಳಸಿ ನಮಗೆ ಬೇಕಾದ ಮಾಹಿತಿಯನ್ನು ಸುಲಭವಾಗಿ ಪಡೆಯಬಹುದು. ಹೀಗೆ ಎರಡು ಯಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಟೇಬಲ್‌ಗಳಲ್ಲಿರುವ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಅವಗಳ ನಡುವಿನ ಸಂಬಂಧ ಹೊಂದಿರುವ ಕಾಲಮ್ ಬಳಸಿ ಜೋಡಿಸುವ ಪ್ರಕ್ರಿಯೆಯೇ ‘ಜಾಯ್ನ್’

ಈ ರಿಲೇಶನ್‌ಶಿಪ್‌ನ ವಿಷಯಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಹಾಗೆ ಇನ್ನೊಂದು ಪದವಿದೆ. ಅದು ಕಾರ್ಡಿನಾಲಿಟಿ. ಒಂದು ಟೇಬಲ್‌ನ ಒಂದು ಸಾಲು ಇನ್ನೊಂದು ಟೇಬಲ್‌ನ ಎಷ್ಟು ಸಾಲುಗಳ ಜೊತೆ ಸಂಬಂಧ ಹೊಂದಬಹುದು ಅನ್ನುವುದನ್ನು ಇದು ನಿರ್ಧರಿಸುತ್ತದೆ. ಕಾರ್ಡಿನಾಲಿಟಿಯನ್ನು ಸೂಚಿಸಲು ೧:೧, ೧:ಎನ್ ಅಥವಾ ಎಮ್:ಎನ್ ಅನ್ನುವ ಗುರುತನ್ನು ಬಳಸುತ್ತಾರೆ. ೧:೧ ಅಂದರೆ ಒಂದು ಟೇಬಲ್‌ನ ಒಂದು ಸಾಲು ಇನ್ನೊಂದು ಟೇಬಲ್‌ನ ಒಂದು ಸಾಲಿನೊಂದಿಗೆ ಮಾತ್ರ ಸಂಬಂಧ ಹೊಂದಬಹುದು. ( ಒಂದು ತಮಾಶೆಯ ಉದಾಹರಣೆ ಕೊಡುವುದಾದರೆ ಗಂಡು ಮತ್ತು ಹೆಣ್ಣು ಅನ್ನುವ ಎರಡು ಟೇಬಲ್‌ಗಳ ಮಧ್ಯೆ ಇರುವ ಸಂಬಂಧದ ಕಾರ್ಡಿನಾಲಿಟಿ ೧:೧ ಇರಭೇಕು ಅನ್ನೋದು ಏಯ್ಡ್ಸ್ ಜಾಹಿರಾತಿನ ಸೂಚನೆ). ಈಗ ನಿಮಗೊಂದು ಪ್ರಶ್ನೆ… ಮೇಲಿನ ಮೂರೂ ಟೇಬಲ್‌ಗಳ ನಡುವಿನ ಸಂಬಂಧದ ಕಾರ್ಡಿನಾಲಿಟಿ ಏನು ಅಂತ ಹೇಳ್ತೀರಾ?

ಡೇಟಾಬೇಸ್‌ನ ಇನ್ನೊಂದು ಮಹತ್ವದ ಪರಿಕಲ್ಪನೆ ಅಂದ್ರೆ ‘ಇಂಡೆಕ್ಸಿಂಗ್’. ಟೇಬಲ್‌ಗಳಲ್ಲಿ ತೀರಾ ಕಡಿಮೆ ಮಾಹಿತಿಯಿದ್ದರೆ ಮಾಹಿತಿಯನ್ನು ಹುಡುಕುವುದು ಸುಲಭ. ಆದರೆ ಲಕ್ಷಾಂತರ ಸಾಲುಗಳಿರುವ ಟೇಬಲ್‌ಗಳಿಂದ ಮಾಹಿತಿ ಹುಡುಕುವುದು ತುಂಬಾ ಸಮಯವನ್ನು ತೆಗೆದೆಕೊಳ್ಳುತ್ತದೆ. ಅದಕ್ಕಾಗಿಯೇ ಟೇಬಲ್‌ನ ಕಾಲಮ್‌ಗಳ ಮೇಲೆ ‘ಇಂಡೆಕ್ಸ್’ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ಇದಕ್ಕೆ ಅತ್ಯುತ್ತಮ ಉದಾಹರಣೆಯೆಂದರೆ ಪುಸ್ತಕಗಳಲ್ಲಿರುವ ಇಂಡೆಕ್ಸ್ ಪೇಜ್. ಅದರಲ್ಲಿ ಯಾವ ಮಾಹಿತಿ ಯಾವ ಪುಟದಲ್ಲಿದೆ ಅಂತ ನಮೂದಿಸಿದ್ದನ್ನು ಅನುಸರಿಸಿ ಸುಲಭವಾಗಿ ನಾವು ನಮಗೆ ಬೇಕಾದ ಮಾಹಿತಿ ಪಡೆಯುತ್ತೇವಲ್ಲವೇ? ಹಾಗೆಯೇ ಡೇಟಾಬೇಸ್‌ನ ಈ ಇಂಡೆಕ್ಸ್ ಕೂಡಾ.

ಇಂತಿಪ್ಪ ಡೇಟಾಬೇಸ್ ಜೊತೆ ವ್ಯವಹರಿಸೋದು ಹೇಗೆ? ಅದಕ್ಕೆಂತಲೇ ವಿಶೇಷವಾಗಿ ನಿರ್ಮಿಸಲ್ಪಟ್ಟ ಸಾಫ್ಟ್‌ವೇರುಗಳಿರುತ್ತವೆ. ಅದನ್ನು ಡೇಟಾಬೇಸ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಸಿಸ್ಟಮ್ ಅಥವಾ ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಡಿಬಿಎಮ್‌ಎಸ್ ಅಂತ ಕರೆಯುತ್ತಾರೆ. ಮೈಕ್ರೋಸಾಫ್ಟ್ ಎಸ್‌ಕ್ಯುಎಲ್ ಸರ್ವರ್, ಒರಾಕಲ್, ಮೈ ಎಸ್‌ಕ್ಯುಎಲ್ ಮೊದಲಾದವುಗಳು ಇಂತಹ ಸಾಫ್ಟ್‌ವೇರುಗಳು. ಇವಗಳನ್ನು ಬಳಸಿ ಡೇಟಾಬೇಸುಗಳನ್ನು ರಚಿಸುವುದು, ಅವುಗಳಲ್ಲಿ ಮಾಹಿತಿಗಳನ್ನು ಶೇಖರಿಸುವುದು, ಮಾಹಿತಿ ನಿರ್ವಹಣೆಗೆ ಪ್ರೋಗ್ರಾಮುಗಳನ್ನು ಬರೆಯುವುದು, ಮಾಹಿತಿಯ ಬ್ಯಾಕ್‌ಅಪ್.. ಹೀಗೆ ಎಲ್ಲವನ್ನೂ ಸುಲಭವಾಗಿ ಮಾಡಬಹುದು.

ಈ ಮಾಹಿತಿ ನಿಮಗೆಷ್ಟು ಉಪಯುಕ್ತವಾಯಿತೋ ಗೊತ್ತಿಲ್ಲ. ಅಲ್ಲದೇ ಕೆಲವೊಂದು ಅಂಶಗಳನ್ನು ಸರಳೀಕರಿಸುವ ಸಲುವಾಗಿ ತೀರಾ ಸ್ಥೂಲವಾಗಿ ವಿವರಿಸಿದ್ದೇನೆ. ನಿಮಗೆ ಈ ಲೇಖನ ಮೆಚ್ಚುಗೆಯಾದರೆ ನಾಲ್ಕು ಸಾಲು ಬರೆಯಿರಿ… ಮೆಚ್ಚುಗೆಯಾಗದಿದ್ದರೂ ಕೂಡಾ :-)





ಸಾಫ್ಟ್‌ವೇರ್ ಕಂಪೆನೀಲಿ ಏನು ಮಾಡ್ತಾರೆ…?

4 09 2008

ಈ ಪ್ರಶ್ನೆಯನ್ನು ಇಲ್ಲಿಯವರೆಗೆ ಕಡಿಮೆಯೆಂದರೂ ನೂರು ಜನರಾದರೂ ನನ್ನ ಬಳಿ ಕೇಳಿದ್ದಾರೆ. ಅದೆಂತದೋ ಪ್ರಾಜೆಕ್ಟ್ ಅಂತಾರಲ್ಲ, ಕೋಡ್ ಬರೆಯೋದು ಹಾಗಂದ್ರೇನು, ಪ್ರೋಗ್ರಾಮ್ ಅಂದ್ರೆ ಏನು… ಹೀಗೆ ಸಾಫ್ಟ್‌ವೇರ್ ಜಗತ್ತಿನ ಬಗ್ಗೆ ಕುತೂಹಲದಿಂದ ಪ್ರಶ್ನೆ ಕೇಳಿದವರು ಅನೇಕ ಮಂದಿ ಇದ್ದಾರೆ. ಅಸಲಿಗೆ ಹಗಲು-ರಾತ್ರಿ ಕೆಲಸ ಕೆಲಸ ಅಂತ ಸಾಫ್ಟ್‌ವೇರ್ ಮಂದಿ ಮಾಡುವ ಕೆಲಸ ಯಾವ ಸ್ವರೂಪದ್ದು ಅನ್ನುವ ಕುರಿತಾದ ಬಹುತೇಕರ ಪ್ರಶ್ನೆಗೆ ಸರಳವಾಗಿ ವಿವರಿಸಲು ಯಾಕೆ ಪ್ರಯತ್ನಿಸಬಾರದೆಂದು ಇದನ್ನು ಬರೆಯಲು ಹೊರಟಿದ್ದೇನೆ. ಆದಷ್ಟು ಕಡಿಮೆ ತಾಂತ್ರಿಕ ಪದಗಳನ್ನು ಬಳಸಲು ಯತ್ನಿಸುತ್ತೇನೆ.

 

ಇದನ್ನು ಬರೀ ವಾಕ್ಯಗಳಲ್ಲಿ ವಿವರಿಸುವುದಕ್ಕಿಂತ, ಒಂದು ಸರಳ ಉದಾಹರಣೆಯೊಂದಿಗೆ ನೋಡಿದರೆ ಅರ್ಥೈಸಿಕೊಳ್ಳಲು ಸುಲಭ. ಒಂದು ಇನ್ಶೂರೆನ್ಸ್ ಕಂಪೆನಿಯ ಉದಾಹರಣೆ ಗಮನಿಸೋಣ. ಇಲ್ಲಿಯ ತನಕ ಅವರ ವಿವಿಧ ಯೋಜನೆಗಳು, ಅದರ ಪ್ರೀಮಿಯಂ ನಿರ್ಧಾರ… ಮೊದಲಾದ ಕಾರ್ಯಗಳೆಲ್ಲಾ ಲೆಡ್ಜರ್‌ಗಳಲ್ಲಿ ಮಾಹಿತಿ ಸಂಗ್ರಹಿಸುವುದರ ಮೂಲಕ ಹಾಗೂ ಪೆನ್ನು, ಪೇಪರ್, ಕ್ಯಾಲ್ಕುಲೇಟರ್ ಬಳಸಿ ಲೆಕ್ಕ ಹಾಕುವುದರ ಮೂಲಕ ನಿರ್ವಹಿಸುತ್ತಿದ್ದರು. ಈಗ ತನ್ನ ವ್ಯವಹಾರಗಳನ್ನೆಲ್ಲ ಸುಗಮವಾಗಿ ನಿರ್ವಹಿಸಲು ಒಂದು ಕಂಪ್ಯೂಟರ್ ಸಾಫ್ಟ್‌ವೇರ್ ಒಂದು ಬೇಕೆಂದು ನಿರ್ಧರಿಸಿತು ಅಂತಿಟ್ಟುಕೊಳ್ಳೋಣ. ಅದಕ್ಕಾಗಿ ಅನೇಕ ಸಾಫ್ಟ್‌ವೇರ್‌ ಕಂಪೆನಿಗಳನ್ನು ಸಂಪರ್ಕಿಸಿ, ಯಾರು ಅತೀ ಕಡಿಮೆ ಅವಧಿಯಲ್ಲಿ, ಅತೀ ಕಡಿಮೆ ಖರ್ಚಿನಲ್ಲಿ ಅಂತಹ ಸಾಫ್ಟ್‌ವೇರ್ ನಿರ್ಮಿಸಿಕೊಡಲು ಒಪ್ಪುತ್ತಾರೋ ಅವರಿಗೆ ಈ ಕೆಲಸ ವಹಿಸಿಕೊಡಲಾಗುತ್ತದೆ. ( ಕೆಲವೊಮ್ಮೆ ನಿರ್ಮಾಣ ವೆಚ್ಚ ಹೆಚ್ಚಾಗಿದ್ದರೂ ಕೂಡಾ ಕಂಪೆನಿಯ ಬ್ರ್ಯಾಂಡ್ ನೇಮ್ ನೋಡಿ ನಿರ್ಧಾರವಾಗುವುದೂ ಇದೆ). ಹೀಗೆ ಕಸ್ಟಮರ್ ಒಬ್ಬರಿಂದ ಸಾಫ್ಟ್‌ವೇರ್ ಕಂಪೆನಿ ಪಡೆಯುವ ಈ ಕೆಲಸದ ಆರ್ಡರ್ ಪ್ರಾಜೆಕ್ಟ್. ಈ ಪ್ರಾಜೆಕ್ಟ್ ಮುಗಿಸಿಕೊಡುವ ಕೊನೆಯ ದಿನಾಂಕದ ಕುರಿತು ಮೊದಲೇ ಕರಾರು ನಡೆದಿರುತ್ತದೆ. ಹಾಗಾಗಿಯೇ ಸಾಫ್ಟ್‌ವೇರ್ ಮಂದಿ ಸದಾ ಈ ಡೆಡ್‌ಲೈನ್‌ನ ಬಿಸಿಗೆ ಕುಂಡೆಸುಟ್ಟ ಬೆಕ್ಕಿನಂತಾಡುವುದು.

 

ಈಗ ಪ್ರಾಜೆಕ್ಟ್ ಏನೋ ಬಂತು. ಅದನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪೂರೈಸುವುದು ಹೇಗೆ? ಮೊಟ್ಟ ಮೊದಲನೆಯದಾಗಿ ಇನ್ಶೂರೆನ್ಸ್ ಕಂಪೆನಿಯು ತನ್ನ ಸಾಫ್ಟ್‌ವೇರ್‌ನಲ್ಲಿ ಯಾವ ಯಾವ ಅಂಶಗಳು ಇರಲು ಬಯಸುತ್ತದೆ ಅನ್ನುವುದನ್ನು ಸರಿಯಾಗಿ ತಿಳಿದುಕೊಳ್ಳಬೇಕಲ್ಲ. ಹಾಗಾಗಿ ಅವರ ಬೇಡಿಕೆ/ಅಗತ್ಯಗಳ (ರಿಕ್ವಾಯರ್‌ಮೆಂಟ್) ಕುರಿತು ಮಾಹಿತಿ ಸಂಗ್ರಹಿಸುವುದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಮೊದಲ ಹಂತ. ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿಯೇ ಪರಿಣಿತರಾಗಿರುವ ರಿಕ್ವಾಯರ್‌ಮೆಂಟ್ ಅನಲಿಸ್ಟ್ ಅಥವಾ ಬ್ಯುಸಿನೆಸ್ ಅನಲಿಸ್ಟ್ಗಳು ಈ ಕಾರ್ಯಕ್ಕೆ ನಿಯೋಜಿಸಲ್ಪಡುತ್ತಾರೆ. ಇನ್ಶೂರೆನ್ಸ್ ಕಂಪೆನಿಯ ಅಧಿಕಾರಿಗಳೊಂದಿಗೆ ವಿಚಾರ ವಿನಿಮಯ ನಡೆಸಿ, ಅವರು ನೀಡುವ ಮಾಹಿತಿಗಳನ್ನು, ಅವರ ಬೇಡಿಕೆಗಳನ್ನೆಲ್ಲಾ ವ್ಯವಸ್ಥಿತವಾಗಿ ದಾಖಲಿಸಲಾಗುತ್ತದೆ. ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಯಶಸ್ಸಿನಲ್ಲಿ ಈ ಹಂತ ತುಂಬಾ ಪ್ರಮುಖವಾಗಿದ್ದು, ಇಲ್ಲೇನಾದರೂ ತಪ್ಪು ನುಸುಳಿಕೊಂಡರೆ ಗಣೇಶನನ್ನು ಮಾಡಲು ಹೋಗಿ ಅವರಪ್ಪನನ್ನು ಮಾಡಿದಂತಾಗುತ್ತದೆ. ಹಾಗಾಗಿ ಇಡೀ ಪ್ರಾಜೆಕ್ಟ್‌ನ ಒಟ್ಟು ಅವಧಿಯಲ್ಲಿ ಕಾಲು ಭಾಗ ಈ ಪ್ರಕ್ರಿಯೆಗೇ ಮೀಸಲಾಗಿರುತ್ತದೆ.

 

ಕೆಲವೊಮ್ಮೆ ಈ ಪ್ರಕ್ರಿಯೆಗೆ ಪೂರಕವಾಗಿ ಅಂತಿಮ ಹಂತದಲ್ಲಿ ಆ ತಂತ್ರಾಂಶವು ಹೇಗೆ ಕಾಣಿಸುತ್ತದೆ ಅನ್ನೋದನ್ನು ತೋರಿಸಲು ಪ್ರೊಟೋಟೈಪ್ ಒಂದನ್ನು ಸಿದ್ಧಪಡಿಸಿ ಕಸ್ಟಮರ್‌ಗೆ ತೋರಿಸಲಾಗುತ್ತದೆ. ಇದಕ್ಕೊಂದು ಸಾದೃಶ್ಯ ಕೊಡುವುದಾದರೆ, ಮನೆ ಕಟ್ಟುವ ಮುನ್ನ ಅದು ಹೇಗೆ ಕಾಣಿಸಬಹುದೆಂದು ಅದರ ಪುಟ್ಟ ಪ್ರತಿಕೃತಿ ಅಥವಾ ಡ್ರಾಯಿಂಗ್ ಅನ್ನು ಇಂಜಿನಿಯರ್ ತೋರಿಸ್ತಾರಲ್ಲ ಹಾಗೆ.

 

ಹೀಗೆ ಮಾಹಿತಿ/ಬೇಡಿಕೆ/ಅಗತ್ಯಗಳನ್ನೆಲ್ಲಾ ಕಲೆಹಾಕಿ ದಾಖಲಿಸಿಟ್ಟ ಬಳಿಕ ಅನಾಲಿಸಿಸ್ ಮತ್ತು ಡಿಸೈನ್ ಶುರುವಾಗುತ್ತೆ. ಮೊದಲ ಈ ಕ್ರಿಯೆಯಲ್ಲಿ ವಿಶೇಷ ಪರಿಣತಿಯುಳ್ಳ ತಂಡವೊಂದು ಈ ಕೆಲಸಕ್ಕಾಗಿ ನಿಯೋಜಿಸಲ್ಪಡುತ್ತದೆ. ಸಿದ್ಧಪಡಿಸಬೇಕಾದ ಸಾಫ್ಟ್‌ವೇರ್‌ನಲ್ಲಿರಬೇಕಾದ ಅಂಶಗಳು, ಲಕ್ಷಣಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ಅದನ್ನು ವಿವಿಧ ವಿಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಿ, ಪ್ರತೀ ವಿಭಾಗವೂ ಮಾಡುವ ಕೆಲಸ, ಅದನ್ನು ರಚಿಸುವುದು ಹೇಗೆ ಅನ್ನುವುದನ್ನು ಈ ಹಂತದಲ್ಲಿ ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ. ಇನ್ಶೂರೆನ್ಸ್ ಕಂಪೆನಿಯ ಉದಾಹರಣೆಯನ್ನು ಗಮನಿಸುವುದಾದರೆ ಅದರಲ್ಲಿ ಗ್ರಾಹಕರನ್ನು ಸೇರಿಸಲು/ ತೆಗೆದು ಹಾಕಲು ಒಂದು ವಿಭಾಗ, ಪ್ರಿಮಿಯಂ ಲೆಕ್ಕ ಹಾಕಲು ಒಂದು ವಿಭಾಗ, ಕಟ್ಟಿದ ಪ್ರಿಮಿಯಂಗಳ ದಾಖಲಾತಿಗೆ ಒಂದು…ಹೀಗೆ ಅನೇಕ ವಿಭಾಗಗಳನ್ನಾಗಿ ವಿಂಗಡಿಸಿ, ಪ್ರತೀ ವಿಭಾಗವು ಮಾಡುವ ಕೆಲಸ, ಆ ವಿಭಾಗವನ್ನು ಹೇಗೆ ರಚಿಸಬೇಕು ಅನ್ನುವುದನ್ನು ನಿರ್ಧರಿಸಲ್ಲಗುತ್ತದೆ. ಈ ಕಾರ್ಯದಲ್ಲಿ ಇದಕ್ಕೆಂದೇ ರಚಿತವಾದ ಅನೇಕ ವಿಶೇಷ ತಂತ್ರಾಶ(ಸಾಫ್ಟ್‌ವೇರ್)ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಡೆಸೈನ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸ್ಥೂಲವಾಗಿ ಕಟ್ಟಡದ ನೀಲನಕ್ಷೆ ಹಾಗು ಅದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಡ್ರಾಯಿಂಗ್‌ಗಳಿಗೆ ಹೋಲಿಸಬಹುದು._ಈ ಹಂತಕ್ಕೂ ಕೂಡಾ ಹೆಚ್ಚು ಕಡಿಮೆ ಕಾಲು ಭಾಗದಷ್ಟು ಸಮಯ ಮೀಸಲಾಗಿರುತ್ತದೆ.

ಡಿಸೈನ್ ಹಂತ ಮುಗಿಯುವಷ್ಟರಲ್ಲಿ ( ಕೆಲವೊಮ್ಮೆ ಮೊದಲೇ) ಈ ಸಾಫ್ಟ್‌ವೇರ್ ನಿರ್ಮಾಣದಲ್ಲಿ ಬಳಸಬೇಕಾದ ತೋತ್ರಜ್ಞಾನ, ತಂತ್ರಾಂಶಗಳನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ. ಇದರಲ್ಲಿ ಸ್ಥೂಲವಾಗಿ ಎರಡು ವಿಭಾಗಗಳಿರುತ್ತವೆ. ಮಾಹಿತಿ ಸಂಗ್ರಹಣೆಗೆ ಬಳಸುವ ಡೇಟಾಬೇಸ್ ಮತ್ತು ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಕಂಪ್ಯೂಟರ್‌ಗೆ ಆದೇಶ ನೀಡಲು ಬಳಸುವ ಭಾಷೆ. (ವಾಸ್ತವವಾಗಿ ಇದು ಇಲ್ಲಿ ಹೇಳಿದಷ್ಟು ನೇರ ಮತ್ತು ಸರಳವಾಗಿಲ್ಲ. ಸುಮ್ಮನೆ ಸ್ಥೂಲವಾಗಿ ವಿವರಿಸಿದ್ದೇನೆ ಅಷ್ಟೆ)

ಈ ಭಾಷೆಯನ್ನು ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಲಾಂಗ್ವೇಜ್ ಎಂದೂ, ಇದನ್ನು ಬಳಸಿ ಬರೆಯುವ ಸಂಕೇತ/ಆದೇಶಗಳ ಸಮೂಹವನ್ನು ಪ್ರೋಗ್ರಾಮ್ / ಕೋಡ್ ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ.

 

ಈ ಕೆಲಸವನ್ನು ನಿರ್ವಹಿಸಲು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಲ್ಲಿ ಪರಿಣತಿಯನ್ನು ಪಡೆದ ತಂಡವನ್ನು ಕಟ್ಟಲಾಗುತ್ತದೆ. ತಂಡದ ವಿವಿಧ ಸದಸ್ಯರಿಗೆ ಡಿಸೈನ್‌ನಲ್ಲಿ ಸೂಚಿಸಿದ ಪ್ರಕಾರ ವಿವಿದ ವಿಭಾಗಗಳನ್ನು ನಿರ್ಮಿಸಲು ಕೊಡಲಾಗುತ್ತದೆ. ಈ ಪ್ರಕ್ರಿಯೆಗೆ ಕೋಡಿಂಗ್ ಅಂತ ಹೆಸರು. ತಮಗೆ ನಿಗದಿಪಡಿಸಿದ ಅವಧಿಯೊಳಗೆ, ಡಿಸೈನ್‌ಗೆ ಅನುಗುಣವಾಗಿ ಮಾಡ್ಯುಲ್‌ಗಳನ್ನು ಮುಗಿಸಬೇಕಾಗುತ್ತದೆ. ಪ್ರತಿಯೊಬ್ಬನೂ ತಾನು ನಿರ್ಮಿಸಿದ ಪ್ರೋಗ್ರಾಂ/ಘಟಕವನ್ನು ಬಿಡಿ ಬಿಡಿಯಾಗಿ ಟೆಸ್ಟ್ ಮಾಡುತ್ತಾನೆ. ಉದಾಹರಣೆಗೆ ಇನ್ಶೂರೆನ್ಸ್ ಕಂಪೆನಿಯ ಪ್ರಿಮಿಯಂ ಲೆಕ್ಕ ಹಾಕುವ ಮಾಡ್ಯೂಲನ್ನು ಗಮನಿಸಿದರೆ, ಅದು ಕೊಟ್ಟ ಮಾಹಿತಿಗಳನ್ನೆಲ್ಲಾ ಬಳಸಿ, ಸರಿಯಾದ ಪ್ರಿಮಿಯಂ ಲೆಕ್ಕ ಹಾಕಿ ಕೊಡಬೇಕು. ಅದನ್ನು ಇನ್ಶೂರೆನ್ಸ್ ಕಂಪೆನಿ ನೀಡಿದ ಮಾಹಿತಿಯೊಂದಿಗೆ ತಾಳೆ ಹಾಕಿ ತಪ್ಪಿದ್ದಲ್ಲಿ ಅದನ್ನು ಹುಡುಕಿ ಸರಿಪಡಿಸಬೇಕು.

 

ಹೀಗೆ ಬಿಡಿಬಿಡಿಯಾಗಿ ರಚಿತವಾದ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನೆಲ್ಲಾ ಒಟ್ಟಾಗಿಸಿ ಒಂದೇ ಸಾಫ್ಟ್‌ವೇರ್ ಘಟಕವನ್ನಾಗಿಸಲಾಗುತ್ತದೆ. ಇದಕ್ಕೆ ಇಂಟಿಗ್ರೇಶನ್ ಅನ್ನುತ್ತಾರೆ. ಹೀಗೆ ತಯಾರಾದ ಸಾಫ್ಟ್‌ವೇರ್ ಇನ್ನೆರಡು ಹಂತದ ಟೆಸ್ಟಿಂಗ್‌ಗೆ ಒಳಗಾಗುತ್ತದೆ. ಅದೆಂದರೆ ಇಂಟಿಗ್ರೇಶನ್ ಟೆಸ್ಟಿಂಗ್ಹಾಗೂ ಸಿಸ್ಟಮ್ ಟೆಸ್ಟಿಂಗ್.

ಸಿಸ್ಟಮ್ ಟೆಸ್ಟಿಂಗ್ ಹಂತದಲ್ಲಿ ಕಸ್ಟಮರ್ ಸಲ್ಲಿಸಿದ ಬೇಡಿಕೆಗನುಗುಣವಾಗಿ ತಂತ್ರಾಂಶವು ಕಾರ್ಯ ನಿರ್ವಹಿಸುತ್ತಿದೆಯೇ ಅನ್ನುವುದನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತದೆ. ಈ ಯಾವುದೇ ಹಂತದಲ್ಲಿ ದೋಷಗಳೇನಾದರೂ ಬಂದಲ್ಲಿ ಅದನ್ನು ಸರಿಪಡಿಸಿ ಮತ್ತೆ ಪರೀಕ್ಷೆಗೊಳಪಡಿಸಲಾಗುತ್ತದೆ.

 

ಇಷ್ಟೆಲ್ಲಾ ಮುಗಿದ ಬಳಿಕ ಸಾಫ್ಟ್‌ವೇರ್ ಬಳಕೆಗೆ ನೆರವಾಗುವ ಕೈಪಿಡಿಯೊಂದನ್ನು ಸಿದ್ಧಪಡಿಸಿ, ಅದನ್ನು ಕಸ್ಟಮರ್‌ಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ. ಈ ಪ್ರಕ್ರಿಯೆಗೆ ಡೆಲಿವರಿ ಅನ್ನಲಾಗುತ್ತದೆ. ಹೀಗೆ ರಚಿತವಾದ ಸಾಫ್ಟ್‌ವೇರ್‌ನ ಕಾರ್ಯವಿಧಾನವನ್ನು ಇನ್ಶೂರೆನ್ಸ್ ಕಂಪೆನಿಯವರು ಪರೀಕ್ಷೆಗೆ ಒಳಪಡಿಸಿ ದೋಷವಿದ್ದರೆ, ಅಥವಾ ಬದಲಾವಣೆ ಬೇಕಿದ್ದರೆ ಅದನ್ನು ಸೂಚಿಸುತ್ತರೆ. ಪುನಹ ಬದಲಾವಣೆ ಮಾಡಿ ಕಳಿಸಲಾಗುತ್ತದೆ. ಈ ಪ್ರಕ್ರಿಯೆಯು ಕಸ್ಟಮರ್‌ಗೆ ಅದರ ಕಾರ್ಯವಿಧಾನದ ಕುರಿತು ತೃಪ್ತಿಯಾಗುವವರೆಗೆ ಪುನರಾವ್ರ್ತನೆಯಾಗುತ್ತಲಿರುತ್ತದೆ.

 

ಅಂತೂ ಕೊನೆಗೂ ಸಾಫ್ಟ್‌ವೇರ್ ಬಳಕೆಗೆ ಸಿದ್ಧವಾಗುತ್ತದೆ. ಬಳಕೆ ಶುರುವಾದ ೩-೬ ತಿಂಗಳವರೆಗೆ ಕರಾರಿನಂತೆ ಅದರ ನಿರ್ವಹಣೆ( ಮೇಂಟೆನೆನ್ಸ್) ಜವಾಬ್ದಾರಿಯಿರುತ್ತದೆ. ಬಳಾಕೆಯ ವೇಳೆ ಯಾವುದಾದರೂ ದೋಷ ಬಂದಲ್ಲಿ ಅದನ್ನು ಸರಿಪಡಿಸಿ ಅಂತೂ ಕೊನೆಗೂ ಸಾಫ್ಟ್‌ವೇರ್ ರಚನೆಯ ಪ್ರಕ್ರಿಯೆ ಮುಕ್ತಾಯವಾಗುತ್ತದೆ.

 

ಇದು ನೋಡಿ ಸ್ವಾಮಿ ನಾವು ಮಾಡೋ ಕೆಲಸದ ಒಂದು ಕಿರು ಪರಿಚಯ. ಇಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಸರಳಗೊಳಿಸುವ ಸಲುವಾಗಿ ಮುಖ್ಯವಾದ ಅಂಶಗಳನ್ನಸ್ಟೇ ಇಲ್ಲಿ ಹೇಳಿದ್ದೇನೆ. ಇದು ಪೂರ್ಣವಾದ ಪರಿಚಯ ಅಲ್ಲವಾದರೂ ಸಾಫ್ಟ್‌ವೇರ್ ಜಗತ್ತಿನ ಬಗ್ಗೆ ಒಂದು ಇಣುಕು ನೋಟ ನಿಮಗೆ ಸಿಕ್ಕಿದಲ್ಲಿ ನಾನು ಬರೆದಿದ್ದೂ ಸಾರ್ಥಕ.