CS700: Research Methodology
Fall2016
Dr. Mabroka A. M.
البحث الحاسوبي يغلب الطابع التطبيقي على بحوث علوم الحاسوب .حيث يتعلق في معظم االحيان بتصميم ً ً ً االنظمة الحاسوبية (البرمجيات) التي تأخذ طابعا خاصا و مميزا في مراحل تصميمها .و مع انه من املمكن تطبيق الطرق البحثية السابقة في مجال الحاسوب ،إال ان االنظمة الحاسوبية تتطلب ً ً ً منهجا مغايرا تماما ملا هو متعارف عليه في املجاالت العلمية االخرى .لذا ،انبثق الى الوجود ما ُسمى بعلم هندسة البرمجيات SEفي 8691الذي يهتم بجميع جوانب انتاج البرمجيات .و يركز هذا العلم على انتاج البرمجيات عالية الجودة و بتكلفة اقل. مناهج البحث الحاسوبي (البرمجية) من املناهج الشائعة املتبعة في البحوث الحاسوبية التطبيقية املنهج الذي أعده Leedyو Ormrod حيث تمثل هذا املنهج في ثالث مراحل :الدراسات األدبية (الدراسات السابقة) ( Literature ،)studyوتطوير النموذج املفاهيمي ( ،)Conceptual prototype developmentوتقييم البحث ( .)research evaluationوتتعلق املرحلة األولى بالدراسات املكتبية السابقة بهدف تحديد املتغيرات املهمة التي لها عالقة بعنوان البحث ومجاالته (االنظمة الشبيهة) .أما املرحلة الثانية فتتعلق بتصميم النموذج املفاهيمي وتطويره والتقنيات املستخدمة في التطوير (املنظومة أو التطبيق البرمجي .)prototypingوتتعلق املرحلة األخيرة بتقييم البحث واختباره. Prototyping ُيطلق على النسخة االولية (التجريبية) للبرمجية ب .prototypingو هي التصميم املبدئي للبرمجية من اجل اثبات مفهوم او نظرية ما .و ما يميزها عن املنتج البرمجي انها غير قابلة للتسويق باعتبارها غير تامة االنجاز و قد ال تتوفر فيها عوامل الجودة. و من اهم املراحل املتبعة في تصميم البرمجية ما ُيعرف ب) Software Process(SPو هي سلسلة ُ النشاطات املتبعة النتاج منتج برمجي (تسمى بدورة حياة املنظومة) .و من اهمها ما يلي: .8تحديد مواصفات البرمجيةsoftware specification definition .2تطوير البرمجية )software development (design & implementation .3اختبار البرمجية )software validation (testing .4تطور البرمجية )software evolution (modification & improvement و قد تختلف هذه النشاطات حسب نوع البرمجية ،فهناك من ُيضيف عليها نشاطات أخرى أو يرتبها بطريقة تفصيلية مختلفة وفق نموذج محدد .و من اشهر هذه النماذج نموذج الشالل
52
CS700: Research Methodology
Fall2016
Dr. Mabroka A. M.
( )Waterfall Modelالذي ُيستخدم في حالة وضوح املتطلبات و بساطة النظام البرمجي املقترح .و يتضمن هذا النموذج املراحل املبينة في الشكل التالي:
نموذج الشالل () Waterfall Model املصدر )(Sommerville 2007 و تتمثل مراحل نموذج الشالل في النقاط التالية:
ً تعريف املتطلبات :Requirements Definitionو تسمى هذه املرحلة أيضا بمرحلة تحليل املتطلبات ،requirement analysisحيث يتم في هذه املرحلة تحليل البيانات و املعلومات بعد تجميعها لتحديد املتطلبات الوظيفية و الغير وظيفية للنظام املقترح. تصميم النظام و البرمجية :System and Software Designيتم في هذه املرحلة تصميم بنية النظام و تحديد اساسيات و وحدات البرمجية املتمثلة في البرامج الفرعية و هيكلية البيانات و العالقات بينها. التنفيذ واختبار الوحدة : Implementation and Unit Testingتتعلق هذه املرحلة بتحويل تصميم البرمجية الى مجموعة من البرامج أو وحدات برنامج (تطبيق برمجي) .باالضافة لذلك، فإن اختبار الوحدة ينطوي على التحقق من ان كل وحدة تقابل و تطابق مواصفاتها. التكامل و اختبار النظام :Integration and System Testingتتضمن هذه املرحلة اختبار وحدات البرنامج أو البرامج (التطبيق) و مكاملتها و اختبارها مرة اخرى كنظام متكامل للتأكد من أن متطلبات البرمجية قد تحققت.
52
CS700: Research Methodology
Fall2016
Dr. Mabroka A. M.
التشغيل و الصيانة :Operation and Maintenanceفي هذه املرحلة ،يتم تنصيب النظام و ً تشغيله .باالضافة الى صيانته و تصحيح االخطا التي لم يتم اكتشافها مسبقا.
تنسيق البحث البرمجي هذه الفقرة هي االخيرة في الفصل االول من البحث البرمجي ،حيث يتم فيها مناقشة النقاط األساسية فيما يخص مشكلة البحث و دوافعه ،إلى جانب أهداف و أهمية البحث ،على ان يتم في بقية الفصول ما يلي. الفصل الثاني يشمل الدراسات السابقة التي لها عالقة بموضوع البحث (االنظمة الشبيهة). ً وكذلك يتضمن ايضا مرحلة تجميع البيانات و املعلومات لتحليلها. ً الفصل الثالث يمثل مرحلة تحليل البيانات التي تم تجميعها وفقا للنظام البرمجي املقترح. الفصل الرابع يشمل مرحلة التصميم للنظام البرمجي املقترح من حيث تصميم وحدات البرمجية و بيان العالقات بينها. الفصل الخامس يتعلق بالتنفيذ و االختبار للبرمجية (النظام املقترح) للتحقق من صحته و سالمته من االخطا و العيوب. ً الفصل السادس يتضمن الخالصة والنتائج التي توصل إليها البحث .كما يشمل أيضا الصعوبات واملشاكل التي اعترضت سير البحث. **سؤال :ما الفرق بين .product & prototypingوضح ذلك من خالل software engineering .process
52
CS700: Research Methodology
Fall2016
Dr. Mabroka A. M.
ً تصنيف البحث العلمي وفقا لطبيعة البحث Nature نوع املساهمة التي يضيفها البحث الى املعرفة تعتمد على طبيعة البحث نفسه .و يمكن ً تصنيف البحث وفقا لطبيعته كما يلي: .8تطوير نظري بحث Pure Theoretical Development .2التقييم العملي لتطوير نظري بحث Practical Evaluation for Pure Theoretical Development .3بحث تطبيقي Applied Research or Practical Application ً تصنيف البحث العلمي وفقا للعلوم Sciences ً ُيصنف البحث العلمي وفقا للعلوم كما يلي: .8العلوم الطبيعية natural sciences ً وهي فرع من العلوم يتعلق بالوصف و التنبؤ (االحتمال) و فهم الظواهر الطبيعية استنتاجا الى االدلة التجربية و املالحظة ،بمعنى آخر ،ان هذا العلم يتعامل مع الكائنات العضوية و الغير عضوية مثل الفيزيا و الكيميا و االحيا . .2علوم الرياضيات و املنطق formal math & logic هذه العلوم تساعد و تساند العلوم الطبيعية من خالل توفير معلومات حول ال.structure مثل الرياضيات و االحصا . .3العلوم االنسانية ) االجتماعية) )Humanities (social sciences و هي فرع من العلوم يتعلق باملجتمع و العالقات بين االفراد داخل املجتمع مثل علم النفس و التفسير. .4العلوم االبداعية Creational Sciences و هي العلوم الهندسية engineeringو التقنية technologyالتي تدعم العلوم االخرى scientific supportمثل علوم الهندسة و الحاسوب. ً تصنيف البحث العلمي وفقا للقياس ً يمكن تصنيف البحث العلمي وفقا لطريقة القياس املتبعة ملتغيرات البحث كما يلي: .8البحث الكمي Quantitative Research ً و يتعلق بقياس االشيا بمقياس عددي (رقمي) و غالبا ما ُيستخدم في العلوم الطبيعية ً ُ ُ حيث تفسر وقائع البحث و تحلل عدديا.
52
Dr. Mabroka A. M.
Fall2016
CS700: Research Methodology
Qualitative Research البحث الكيفي.2 ً غالبا ما ُيستخدم في العلوم االنسانية حيث يتعلق هذا النوع بقياس االشيا عن طريق ً Information و يمكن ان ُيستخدم في علوم املعلومات.فهم االشيا و تفسيرها كيفيا .case study و دراسة الحالةsurvey و في البحث املسحيSciences : الفرق بين research methodology منهجية البحثo .هي الطريقة املمنهجة لحل مشكلة البحث Research Methodology is a way to systematically solve the research problem. research methods طرق البحثo .تدل على السلوك و االدوات املستخدمة في اختيار و انشا تقنيات البحث Research Methods refer to the behavior and instruments used in selecting & constructing research techniques. techniques التقنياتo .هي الطريقة املتبعة في تنفيذ االداة البحث املكتبي:**مثال Methodology Library research
Methods
Techniques
Analysis of historical records.
1. 2. 3.
Recording notes. Content analysis. Taps & films: listening & analysis.
Analysis of documents.
1. 2.
References & abstract guides. Content analysis.
.؟ وضح ذلك بمثالmethodology & method & technique ما الفرق بين:**سؤال .؟ وضح ذلك بمثالprototyping املتبعة في البحث الحاسوبيmethods & techniques **ما هي
52
CS700: Research Methodology
Dr. Mabroka A. M.
Fall2016
تطوير عملية البحث العلمي scientific research processes development يمكن للباحث ان يتبع مجموعة من املراحل املتتالية حتى يصل بنجاح الى بحث جيد و ناجح، كما يلي: Start literature review research problems
Start
Research motivation Research objectives Research methodologyيمكن استخدام اكثر من methodology Research designتحديد الطرق و التقنيات Research activityترتيب عمليات البحث Research results Research conclusion ً اوال :الدراسات السابقة
ً تعريفها :هي كل دراسة موجودة مسبقا تتعلق بموضوع البحث. مصادرهاbooks, journals paper, conference paper, websites, documents, products : أهميتها :تعتبر الدراسات السابقة اهم خطوة في البحث كله ،فهي املصدر الحقيقي و املوثوق للحصول على معلومات واقعية و موثقة عن املعرفة الحالية التي توافق مجال البحث و التي من خاللها يمكن تحديد مجال و مشكلة البحث بدقة .كما يمكن من خاللها تقسيم مجال البحث الى مجاالت فرعية أكثر دقة و فعالية في تحديد مسار البحث و الباحث. تحديدها :في الغالب ،من خالل عنوان الدراسة و املستخلص ،ثم محتوى الدراسة (هدف الدراسة ،املشكلة التي تعالجها الدراسة البحثية ،الطريقة املتبعة و املنهجية ،النتائج التي توصلت إليها الدراسة ،جوانب القصور في الدراسة ،آفاق تطوير الدراسة ،مراجع الدراسة) من خالل الدراسات السابقة ،يتم تحديد االطار النظري ( theoretical frameworkالنظريات و التطبيقات السابقة في مجال الدراسة). و يمكن تمثيلها بمخطط يوضح العالقة بين النظريات السابقة املتعددة و البحث الحالي.
03
CS700: Research Methodology
Fall2016
Dr. Mabroka A. M.
ً من خالل الدراسات السابقة يتم أيضا تحديد االطار املفاهيمي conceptual framework حيث يتم فيه تحديد اصول الدراسة و مفاهيمها و العالقة بينها. املفاهيم و املتغيرات oاملفهوم conceptمسئلة شخصية (كل شخص يمكن ان يفهم ش ي ما بطريقة مختلفة عن االخر. oاملتغيرة variableهي تفسير ملفهوم ما .و هناك ارتباط منطقي بين املفهوم واملتغيرة . ً لكي يكون البحث اكثر واقعية و هادفا البد من تحديد املتغيرات املطلوبة للبحث. جدول يبين العالقة بين املفهوم و املتغيرة concept indicator variable Rich income Income > 10.000 company No of employee No of employee > 1000 High quality software Good interface Quality factors: ease of use Security, reliability….. **Indicator means the set of criteria reflective of the concept which can be converted into variable. انواع املتغيرات oاملتغير التابع dependent variable oاملتغير املستقل independent variable oاملتغير االضافي additional variable oاملتغير النشط active variableو ياتي دائما مستقل oمتغير الخاصية attribute variableيتعلق بخصائص ش ي ما و هو ال يتبدل و ال يتغير و يمكن ان يكون مستقل او تابع .و هو عكس النشط. تحليل الدراسات السابقة بعد تحديد الدراسات السابقة و تجميع املعلومات التي تتعلق بموضوع البحث ،تبدا عملية التحليل التي تتباين من بحث الخر .و ليست هناك طريقة ثابتة و محددة للتحليل حيث تعتمد
03
CS700: Research Methodology
Fall2016
Dr. Mabroka A. M.
طريقة التحليل في معظم االحيان على الباحث و نوع البحث و كذلك املشرف على البحث .و من اهم النقاط الواجب اتباعها في تحليل الدراسات السابقة ما يلي: .8تحديد عنوان الدراسة و تاريخ النشر .2تحديد اهداف الدراسة .3تحديد الطريقة او املنهجية املتبعة في الدراسة .4تحديد جوانب القصور في الدراسة و يتم الربط بين محتوى تحليل كل دراسة و املرجع املاخوذ منه الدراسة كم في املثال التالي: ُ ...تعرف بنية البرمجية على انها (.....................يتم ذكر املرجع او جميع املراجع التي عرفت البرمجية بطريقة مشابهة عن طريق كتابة اسم املؤلف ،سنة النشر) .و تتعدد النماذج التي تصف بنية البرمجية ُ كل حسب نوع البرمجية .و مع ذلك ،فإن لكل نموذج سمة معينة تميزه عن االخر و تفسر ً مكوناته .و رغم ذلك ،فإن معظم هذه النماذج تتفق في صيغة موحدة لتصنع بذلك نموذجا قياسيا يمكن االستنتاد عليه عند تصميم بنية أي برمجية (مراجع)....... .......................................... النموذج القياس ي..........................: دراسة حالة :نظام التشغيل windows تعريفه: نسخ نظام التشغيل windows املبادي االساسية لبنية برمجية نظام تشغيل windows تباين البنية البرمجية عبر النسخ هل تخضع جميعها لنفس البنية؟ اين موطن االختالف؟ و ملاذا؟ و ما جدواه؟ هل جميع نظم التشغيل تخضع لنفس النسق؟ في حالة بنا نظام تشغيل جديد (عربي) هل يجب اتباع نفس البنية و الهيكلية؟ ....................و هكذا...........
05