एमआईएस (MIS) –MIS (Management Information System)
MIS (प्रबंधन सूचना प्रणाली) एक कंप्यूटर-आधारित प्रणाली है, जो प्रबंधकों को निर्णय लेने के लिए आवश्यक जानकारी एकत्रित, प्रोसेस, स्टोर और वितरित करती है। यह संगठन के विभिन्न स्तरों (निचले, मध्यम, उच्च) पर नियोजन, नियंत्रण और निर्णयन में सहायता करती है। MIS में हार्डवेयर, सॉफ्टवेयर, डेटा, प्रक्रियाएँ और मानव संसाधन शामिल होते हैं। उदाहरण: सेल्स MIS (बिक्री डेटा), इन्वेंटरी MIS (स्टॉक डेटा), फाइनेंशियल MIS (लाभ-हानि रिपोर्ट)। MIS का मुख्य उद्देश्य सही समय पर सही प्रारूप में सही व्यक्ति तक सही जानकारी पहुँचाना है।
एमआईएस के प्रमुख घटक और कार्य
MIS के चार मुख्य घटक होते हैं:
(1) डेटा संग्रहण (Data Collection) – आंतरिक और बाह्य स्रोतों से कच्चा डेटा इकट्ठा करना।
(2) डेटा प्रोसेसिंग (Processing) – डेटा को छाँटना, गणना करना, सारांश बनाना, और विश्लेषण करना।
(3) डेटा भंडारण (Storage) – प्रोसेस्ड डेटा को डेटाबेस में सुरक्षित रखना।
(4) सूचना वितरण (Distribution) – रिपोर्ट, डैशबोर्ड, ग्राफ के माध्यम से प्रबंधकों तक जानकारी पहुँचाना।
MIS के कार्यों में शामिल हैं:
नियमित रिपोर्ट तैयार करना, अपवाद रिपोर्ट (exception reporting) देना, पूर्वानुमान (forecasting) लगाना, और निर्णय समर्थन (decision support) प्रदान करना। उदाहरण: मासिक बिक्री रिपोर्ट, इन्वेंटरी री-ऑर्डर अलर्ट।
सिस्टम डेवलपमेंट लाइफ साइकिल (SDLC) –
SDLC (सिस्टम डेवलपमेंट लाइफ साइकिल) एक संरचित और चरणबद्ध प्रक्रिया है, जिसका उपयोग सूचना प्रणाली या सॉफ्टवेयर को विकसित करने, बनाए रखने और बदलने के लिए किया जाता है। यह एक परियोजना प्रबंधन मॉडल है जो सिस्टम विकास के विभिन्न चरणों को परिभाषित करता है, जिससे समय, लागत और गुणवत्ता पर नियंत्रण रहता है।
SDLC का उद्देश्य उच्च-गुणवत्ता वाला सिस्टम बनाना है जो ग्राहक की आवश्यकताओं को पूरा करे, बजट और समय सीमा के भीतर तैयार हो। SDLC के प्रसिद्ध मॉडलों में वॉटरफॉल, एजाइल, स्पाइरल, V-Model, और रैपिड एप्लिकेशन डेवलपमेंट (RAD) शामिल हैं।
SDLC के विभिन्न चरण (Various Phases of SDLC)
SDLC में सामान्यतः निम्नलिखित सात चरण होते हैं:
चरण 1: योजना (Planning / Feasibility Study)
योजना चरण SDLC का पहला और महत्वपूर्ण चरण है, जिसमें यह निर्धारित किया जाता है कि प्रस्तावित सिस्टम व्यवहार्य है या नहीं। इस चरण में चार प्रकार की व्यवहार्यता की जाँच की जाती है: आर्थिक व्यवहार्यता (Economic Feasibility) – क्या लाभ लागत से अधिक है?, तकनीकी व्यवहार्यता (Technical Feasibility) – आवश्यक तकनीक और कुशलता उपलब्ध है?, संचालनात्मक व्यवहार्यता (Operational Feasibility) – क्या उपयोगकर्ता नए सिस्टम को अपनाएंगे?, और समय व्यवहार्यता (Schedule Feasibility) – क्या परियोजना निर्धारित समय में पूरी हो सकती है?। इस चरण में एक परियोजना योजना (Project Plan) बनाई जाती है, जिसमें संसाधन, बजट, जोखिम और मील के पत्थर (milestones) शामिल होते हैं। इस चरण का आउटपुट “फीजिबिलिटी रिपोर्ट” और “प्रोजेक्ट चार्टर” होता है।
चरण 2: आवश्यकता विश्लेषण (Requirement Analysis)
इस चरण में, सिस्टम एनालिस्ट उपयोगकर्ताओं, स्टेकहोल्डर्स और ग्राहकों से मिलकर उनकी आवश्यकताओं, अपेक्षाओं और समस्याओं को समझता है। आवश्यकताएँ दो प्रकार की होती हैं: कार्यात्मक आवश्यकताएँ (Functional Requirements) – सिस्टम क्या करेगा (जैसे “लॉगिन करना”, “रिपोर्ट जनरेट करना”) और गैर-कार्यात्मक आवश्यकताएँ (Non-Functional Requirements) – सिस्टम कैसे करेगा (जैसे प्रदर्शन, सुरक्षा, उपलब्धता, स्केलेबिलिटी)। आवश्यकताओं को एकत्रित करने के तरीकों में इंटरव्यू, सर्वेक्षण, प्रश्नावली, अवलोकन और कार्यशालाएँ शामिल हैं। इस चरण का अंतिम आउटपुट SRS (Software Requirement Specification) दस्तावेज़ होता है, जो एक कानूनी अनुबंध की तरह काम करता है। SRS को स्पष्ट, मापने योग्य और अस्पष्टता से मुक्त होना चाहिए।
चरण 3: डिजाइन (Design)
डिजाइन चरण में, SRS दस्तावेज़ को तकनीकी रूपरेखा (blueprint) में बदला जाता है जिसे प्रोग्रामर कोडिंग के लिए उपयोग कर सकें। यह दो उप-चरणों में विभाजित है: उच्च-स्तरीय डिजाइन (HLD – High-Level Design) – सिस्टम की समग्र संरचना, मॉड्यूल, डेटाबेस आर्किटेक्चर, और कंपोनेंट्स के बीच संबंध तय करता है। विस्तृत डिजाइन (DD – Detailed Design) – प्रत्येक मॉड्यूल का आंतरिक तर्क, एल्गोरिदम, डेटा संरचनाएँ, और यूजर इंटरफेस (स्क्रीन डिजाइन) तैयार करता है। इस चरण के आउटपुट में डेटा फ्लो डायग्राम (DFD), एंटिटी-रिलेशनशिप डायग्राम (ERD), स्ट्रक्चर चार्ट, और प्रोटोटाइप स्क्रीन शामिल होते हैं। एक अच्छा डिजाइन सिस्टम को स्केलेबल, मेंटेन करने योग्य और उपयोगकर्ता के अनुकूल बनाता है।
चरण 4: कोडिंग / कार्यान्वयन (Coding / Implementation)
कोडिंग चरण में, डिजाइन दस्तावेज़ के अनुसार प्रोग्रामर उचित प्रोग्रामिंग भाषा (जैसे Java, Python, C#, PHP) का उपयोग करके स्रोत कोड लिखते हैं। यह चरण सबसे लंबा होता है और इसमें कोडिंग मानकों (coding standards) का पालन किया जाता है, जैसे इंडेंटेशन, कमेंटिंग, नेमिंग कन्वेंशन्स। कोड लिखने के बाद प्रोग्रामर यूनिट टेस्टिंग (Unit Testing) करता है, जिसमें प्रत्येक मॉड्यूल या फंक्शन को अलग से चेक किया जाता है कि वह अपेक्षित आउटपुट दे रहा है या नहीं। इस चरण में सोर्स कोड मैनेजमेंट (Git, SVN), डिबगिंग टूल्स, और डेवलपमेंट एनवायरनमेंट (IDE) का उपयोग किया जाता है। इस चरण का आउटपुट “कार्यशील कोड” और “यूनिट टेस्ट रिपोर्ट” होता है। अच्छे कोडिंग प्रथाओं से बग्स कम होते हैं और रखरखाव आसान होता है।
चरण 5: टेस्टिंग (Testing)
टेस्टिंग चरण का उद्देश्य सॉफ्टवेयर में त्रुटियों (bugs), गैप्स, या आवश्यकताओं से विचलन को खोजना और ठीक करना है। इस चरण में विभिन्न स्तरों पर परीक्षण किए जाते हैं:
(1) इंटीग्रेशन टेस्टिंग – विभिन्न मॉड्यूल के बीच इंटरफेस की जाँच।
(2) सिस्टम टेस्टिंग – पूरे सिस्टम का समग्र परीक्षण।
(3) यूजर एक्सेप्टेंस टेस्टिंग (UAT) – अंतिम उपयोगकर्ताओं द्वारा यह सुनिश्चित करना कि सिस्टम उनकी आवश्यकताओं को पूरा करता है। इसके अलावा
प्रदर्शन टेस्टिंग (Performance Testing) – लोड और स्ट्रेस के तहत सिस्टम की प्रतिक्रिया,
सुरक्षा टेस्टिंग (Security Testing) – कमजोरियों की पहचान, और
रीग्रेशन टेस्टिंग (Regression Testing) – नए बदलावों से पुराने फीचर्स प्रभावित तो नहीं हुए, की जाती है। टेस्टिंग मैन्युअल (manual) या स्वचालित (automated) उपकरणों (जैसे Selenium, JUnit) से की जा सकती है। इस चरण का आउटपुट “टेस्ट रिपोर्ट” और “बग रिपोर्ट” होता है।
चरण 6: तैनाती (Deployment / Delivery)
तैनाती चरण में, सफलतापूर्वक परीक्षण किए गए सॉफ्टवेयर को प्रोडक्शन एनवायरनमेंट (वास्तविक उपयोगकर्ताओं के लिए) में लॉन्च किया जाता है। तैनाती के विभिन्न तरीके हैं: डायरेक्ट कटओवर (Direct Cutover) – पुराने सिस्टम को अचानक बंद कर नया शुरू करना, फेज्ड तैनाती (Phased Deployment) – एक-एक मॉड्यूल धीरे-धीरे लॉन्च करना, पायलट तैनाती (Pilot Deployment) – पहले कुछ चुनिंदा उपयोगकर्ताओं के लिए लॉन्च करना, और समानांतर तैनाती (Parallel Deployment) – कुछ समय तक पुराने और नए सिस्टम को साथ चलाना। इस चरण में उपयोगकर्ताओं को प्रशिक्षण (Training) दिया जाता है और प्रलेखन (Documentation) – उपयोगकर्ता मैनुअल, सिस्टम एडमिन गाइड – सौंपा जाता है। तैनाती के बाद एक “गो-लाइव” घोषणा की जाती है और सिस्टम को मॉनिटर किया जाता है। इस चरण का आउटपुट “लाइव सिस्टम” और “प्रशिक्षित उपयोगकर्ता” होता है।
चरण 7: रखरखाव (Maintenance)
रखरखाव SDLC का अंतिम चरण है, लेकिन यह सबसे लंबे समय तक चलने वाला होता है (सिस्टम के जीवन का 60-70% समय)। इस चरण में सिस्टम के लाइव होने के बाद आने वाले बदलावों, सुधारों और समस्याओं का समाधान किया जाता है। रखरखाव चार प्रकार का होता है: (1) सुधारात्मक रखरखाव (Corrective Maintenance) – लाइव सिस्टम में मिले बग्स और त्रुटियों को ठीक करना। (2) अनुकूली रखरखाव (Adaptive Maintenance) – बदलते वातावरण (जैसे OS अपडेट, नया हार्डवेयर) के अनुसार सिस्टम को बदलना। (3) पूर्णता रखरखाव (Perfective Maintenance) – नई सुविधाएँ जोड़ना और प्रदर्शन सुधारना। (4) निवारक रखरखाव (Preventive Maintenance) – भविष्य की समस्याओं को रोकने के लिए कोड को दोबारा लिखना या डॉक्यूमेंटेशन अपडेट करना। इस चरण में हेल्प डेस्क, टिकटिंग सिस्टम (जैसे Jira), और संस्करण नियंत्रण का उपयोग किया जाता है। अच्छा रखरखाव सिस्टम की उम्र और उपयोगिता को बढ़ाता है।