30 November 2020

अंतिम वर्षाचा प्रकल्प/प्रोजेक्ट कसा निवडावा ? (भाग २)


मागील भाग १ मध्ये आपण प्रकल्प कसा निवडावा याबाबतची थोडी माहिती घेतली. या भागात आपण या विषयाशी संलग्न असणाऱ्या काही संकल्पना विस्ताराने पाहू.

सर्वात महत्वाचे म्हणजे, गाईड बरोबर (मार्गदर्शका बरोबर) चर्चा करूनच प्रकल्प विषय निवडावा आणि त्या संबंधित संशोधनपर निबंध किंवा लेख मिळवावेत आणि ते वाचावेत.

गरज असल्यास शोध यंत्र सेवेत (सर्च इंजिन) बदल करणे. गुगल हे निश्चितपणे अव्वल दर्जाचे शोधयंत्र आहे यात काही शंकाच नाही तरीपण गुगल व्यतिरिक्त काही चांगल्या शोध सेवा पुरवणारे वेबसाइट्स आहेत त्यांचा सुद्धा तुम्ही वापर करू शकता.

(१) प्रथम प्रकल्पाचे कार्यक्षेत्र (डोमेन) निवडा :-

संगणक विज्ञान शाखेत अनेक प्रकारचे विभाग /कार्यक्षेत्रे (डोमेन) आहेत. प्रकल्प करताना विद्यार्थ्यांमध्ये याबाबतीत खूप मोठा गोंधळ असतो त्याबद्दल मी थोडेसे लिहणार आहे. सर्वात महत्वाची सुरुवात म्हणजे तुमचे आवडणारे कार्यक्षेत्र(डोमेन) निवडणे. हे करताना तुम्ही तुमच्या प्रकल्प मार्गदर्शकाबरोबर आणि प्रकल्प सहकाऱ्यांबरोबर सविस्तर आणि सखोल चर्चा करून निवडावा. सॉफ्‍टवेअर डोमेनचे साधारणपणे मुख्य ७ प्रकार आहेत: -

    • सिस्टम सॉफ्टवेअर (System Software)

    • अनुप्रयोग सॉफ्टवेअर (Application Software)

    • अभियांत्रिकी / वैज्ञानिक सॉफ्टवेअर (Engineering/Scientific Software)

    • एम्बेड केलेले सॉफ्टवेअर (Embedded Software)

    • उत्पादन-लाइन सॉफ्टवेअर (Product-line Software)

    • वेब अ‍ॅप्स (वेब अनुप्रयोग) (WebApps-Web Application)

    • एआय सॉफ्टवेअर (AI Software)

काही डोमेन/ कार्यक्षेत्रे मी उदाहरणासाठी खाली देत आहे.

  • संगणक आंतरजाल (Computer Networks) ,
  • कृत्रिम बुद्धिमत्ता (Artificial Intelligence) ,
  • विदा विज्ञान (Data Science) ,
  • वस्तूंचे महा आंतर जाल (Internet of Things) ,
  • संगणक कार्यप्रणाली (Operating Systems) ,
  • यंत्र शिक्षण (Machine Learning) ,
  • विदा विश्लेषण (Data Analytics) ,
  • ज्ञानतंतू जाल (Neural Networks) ,
  • प्रतिमा प्रक्रिया (Image Processing) ,
  • माहिती सुरक्षा (Information Security) ,
  • संगणक आलेखिकी (Computer Graphics) ,
  • संगणक दृष्टी आणि नमुना ओळख (Computer Vision and Pattern Recognition) ,

आणि याखेरीज डोमेन ची अजून बरीच नावे देता येतील. तर, डोमेन म्हणजे नक्की काय ?

Domain -  In the realm of software engineering, commonly refers to the subject area on which application is intended to apply. It is sphere of knowledge and activity around which the application logic and revolves.   -- Andrew Powell Morse. 

(Reference:https://en.wikipedia.org/wiki/Domain_(software_engineering))

म्हणजेच ज्ञान, त्याचा प्रभाव व त्यासंबंधित क्रियांचे एक क्षेत्र याचा वापर करून वापरकर्त्याने ज्या विषयावर प्रकल्प लागू केला आहे तो म्हणजे डोमेन.

(२)  कार्यक्षेत्र (डोमेन) निवडल्यावर दैनंदिन व्यवहारात त्यामध्ये कोणत्या समस्या सामान्य मनुष्याला/ वापरकर्त्याला भेडसावतात, तुम्ही त्या समस्येचे समाधान (उत्तर) तुमच्या प्रकल्पाद्वारे शोधताना त्याची रूपरेषा तुम्ही तयार करू शकता आणि यासाठी मार्गदर्शकाबरोबर विस्तृत चर्चा व्हायला हवी. संवादातूनच अनुत्तरीत प्रश्नांची उकल होते आणि त्यावर तोडगा निघतो. तुम्ही निवडलेले एखादे कार्यक्षेत्र किंवा डोमेन हे तुमच्या आवडीचे असल्यास उत्तम, त्यामुळे मानसिक दृष्ट्या तुम्हाला प्रकल्पावर काम करण्यासाठी ऊर्जा आणि उत्साह आपोआपच मिळते.

(३) समस्या विधान म्हणजेच प्रॉब्लेम स्टेटमेंट लिहिणे :-

यामध्ये तुमच्या प्रकल्पाचा सारांश दोन ते तीन वाक्यात संक्षिप्त लिहावयाचे असते.(यासाठी माझे पॉवरपॉईंट सादरीकरण याचा संदर्भ घ्यावा.) हे लिहिणे म्हणजे खरोखरच एक कसब आहे. यासाठी खाली दिलेल्या या मूलभूत प्रश्नांचे आकलन आपणास होणे गरजेचे आहे.

  • समस्या  (problem) नेमकी कोठे आणि केव्हा उद्भवते?
  • समस्येवर कोणाचा प्रभाव पडतो?
  • समस्या सोडविण्यासाठी कोणते प्रयत्न केले गेले आहेत? आणि 
  • तुम्ही कशा प्रकारे समस्या सोडवणार आहात ? 

या मूलभूत प्रश्नांचे एकदा आकलन झाले कि तुम्ही खूप चांगल्या प्रकारे प्रॉब्लेम स्टेटमेंट लिहू शकता.

(४) व्यवहार्यता / सुकरता अभ्यास (Feasibility Study) :-

याचे मुख्य उद्दिष्ट म्हणजे प्रकल्प यंत्रणा कार्यान्वित होऊ शकते की नाही हे निर्धारित करणे. यासाठी प्रकल्प वापरकर्त्यांच्या गरजांचा तपशील (Requirement Gathering) घेऊन व त्याचा सखोल अभ्यास करून आपण प्रकल्प हाती घ्यावा की नाही या निर्णयावर येऊ शकतो. (अर्थातच हे माहिती तंत्रज्ञान उद्योगातील कंपनीशी निगडित आहे. यामध्ये सर्वसाधारणपणे तीन गोष्टींचा अभ्यास केला जातो आर्थिक व्यवहार्यता (Economical Feasibility), तांत्रिक व्यवहार्यता (Technical Feasibility), कार्यरत व्यवहार्यता (Operational Feasibility)) आणि जर निर्णय घेतला असेल तर त्यावर काय निर्बंध असतील याशिवाय प्रकल्प सुरू करण्याचा निर्णय घेण्यापूर्वी प्रकल्पातील सर्व जोखीम (Risks) आणि त्यांचे संभाव्य परिणाम यांचे मूल्यांकन केले जाते. 

(५) प्रकल्प नियोजन प्रोजेक्ट प्लॅनिंग :-

यामध्ये खालील गोष्टींचा सखोल विचार केला जातो 

प्रकल्पाची उद्दिष्टे / ध्येय (Objective) , खर्चाचे अंदाजपत्रक (Budget) आणि जोखीम व्यवस्थापन (Risk Management)

(६) प्रकल्प अंमलबजावणी (Project Execution) :-

 एखादा प्रकल्प निवडल्यास सर्वप्रथम खालील गोष्टींचा विचार करण्यास सुरुवात करा. त्याला लागणारे योग्य Input, अपेक्षित Output.  कोणताही प्रकल्प (शैक्षणिक/ इंडस्ट्री मधील) त्यावर एकदम काम सुरू करणे योग्य नसते. ते थोडे सुसह्य होण्यासाठी आणि सोपे होण्यासाठी प्रकल्पाचे छोट्या-छोट्या भागात विभाजन करावे लागते ज्याला आपण मॉड्यूल (Module) म्हणतो. या प्रकल्पासाठी लागणारे आवश्यक आणि नेमके हार्डवेअर व सॉफ्टवेअर यंत्रणेची नोंद ठेवा. यासाठी एक गोष्ट लक्षात ठेवा ती म्हणजे प्रकल्प वापरकर्त्यांना कमीत कमी खर्चात तुमची प्रकल्प यंत्रणा सहजपणे कशी वापरता येईल यांच्याकडे लक्ष ठेवा. याशिवाय प्रकल्प   विकसित आणि व्यवस्थापनाच्या विषयी आखणी बऱ्याच तांत्रिक गोष्टी आहेत त्यासाठी तुम्हाला खाली दिलेल्या संदर्भ पुस्तकांचे सखोल वाचन करावे लागेल.

  • Software Engineering A Practitioner's Approach, Roger Pressman, McGraw Hill International Edition
  • Pankaj Jalote’s Software Engineering A Precise Approach,Wiley
  • Software Engineering, Ian Sommerville, Pearson
  • Fundamentals of Software Engineering, Rajib Mall, PHI
शेवटी एवढेच सांगेन, 

The project is a major part of your studies. All of you are ready to deliver a software product for that you need to apply concepts in software engineering. Remember that, explaining a project is nothing but storytelling.