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