- 
	
	
		
		
		
		
			النظام .... فن
		
		
				
					
					
				
				
		
			
				
					السلام عليكم ..
( هذا اول مقال لى .... ارجو ان يكون غير متكلف ومفيد ... )
 سأتحدث عن اهم مصطلح فى حياتنا .. وهو النظام وليس بشكل عام ولكن  فى إطار بناء التطبيقات البرمجية .
النظام : هو كل شئ , فكل ما يحدث حولنا يحدث لأسباب ويترتب عليه نتائج تكون  اسباب لأحداث اخرى , كل هذا ضمن قواعد واسس بعضها لا يمكن اختراقه .
وداخل كل نظام انظمة اخرى .. وافضل مثال على ما تم ذكره إلى الأن هو ”  الحياة ” .. انها اكبر نظام نستخدمه او ربما افضل ان اقول تستخدمنا . فقط  خلقنا لسبب ووضعنا فى شكل معين وبقدرات محدودة وفهم له حدود لنقوم بأدوار  متكاملة ومتناسقة . فى هذا النظام كما قلت هناك الأحداث والصلاحيات  والإختلافات بين افراده وقواعده ايضا .. فلا يستطيع المرأ ان يطير … لأنه  لم يقدر له ان يفعل ذلك وليس بيده شئ ليفعل ويعيد كتابة صلاحياته وقدارته  بنفسه .
 نفس الحال مع الأنظمة البرمجية , فالمبدأ واحد وسمات الأنظمة المحتلفة  إلى حد ما متشابهة . وكمثال على ذلك , نظام التشغيل … يتكون من ادوات  اساسية واخرى فرعية واخرى مساعدة ,…. وجميعا تستخدم بشكل متعدد ومختلف .  لتكون انت مستخدم النظام ولك صلاحيات وادوات معينة لتستخدمها والهدف من  وراء ذلك هو إستخدام الحاسب الآلى لانه …….. .
 فأنت عندما تبدأ بعمل تطبيق ( ليكن تطبيق ويب ) , سيكون له هدف وقدرات  ومميزات وخيارات محدودة وغالبا سيكون له نظام مشابه وموجود بالفعل ولكن  يختلف عنه فى المميزات والخيارات ,….  .
حسنا يبدو كل هذا مفهوما وواضحا , ما الجديد … ؟
ربما يبدو لك الأمر واضح ومنطقى وطبيعى جدا ولكن هناك من يتعامل مع النظام  على انه كتلة من الأكواد … الأمر ليس كذلك انه مثل عمل فنى .. يجب عليك ان  تتأمل وتفكر وتختار وتنسق لكل شئ وتتأكد من كل شئ , يجب عليك ان تطبق مبادئ  النظام الصحيحة … ان تتعامل مع هذا النظام بشكل واعى و منطقى .
 تخيل انك الأن تريد إنشاء نظام لإدارة معلومات عملاءك … .. فور ان تقول ”  انا اريد ان اقوم بعمل نظام لإدارة عملائى ” … ربما يكون اول ما تفكر به  هو ” …….. ” لا شئ , لا يأتى على بالك اى شئ مطلقا … وربما تجد صور لهذا  النظام تتداعى على عقلك وتجد نفسك تفكر فى المميزات وقوالب العرض . وتجد  نفسك فتحت محرر الكود وبدأت تكتب …. توقف … ليس بهذا الشكل … سيكون الفشل  هو النتيجة المحتومة .
 عليك اولا ان تفكر وتتأمل فى هذا النظام وتراه من اكثر من بعد … عليك ان  تسأل الكثير من الأسئلة والتى تكون اساسا مختبأة بعقلك وانت لا تريد ان  تجيب عليها .
 - هل هذا النظام لى انا وحدة ؟
 -  هل سيكون من الممكن ان اعطيه لأحد ليستخدمه غيرى ؟
 -  هل سأتيحه للإستخدام العام ؟
 -  هل سيكون مجانى ام مدفوع ؟
 -  هل هناك برامج مماثلة ؟
 -  ما الجديد الذى سأقدمه ؟
 -  هل سيكون بسيط ام كافى ام متقدم ؟
 -  هل على ان اعمل به انا فقط , ام احتاج لفريق ؟
 -  هل الفكرة جديدة ؟
 -  هل انوى ان استخدم اساليب جديدة ام سأجارى المتبع ؟
 -  هل انوى ان استخدم اطر عمل موجودة ام ابنى واحد خاص بى ؟
 -  هل تنوى تطويره لاحقا …  ام لا … ام انك غير متأكد او لا تضمن ذلك ؟
 
عشرات الأسئلة لابد ان تجيب عليها جميعا … وتضع ما يمكنك ان تسميه إطار  عملك البرمجى .
 خطط جيدا لأقسام النظام … وعلاقتها ببعضها … والأدوات التى ستعتمد عليها  …
لا تتحمس من البداية بشكل اكبر من المفروض ولا تقلل من إهتمامك خصوصا لو  كانت فكرة جديدة … فكر فى كل شئ وسأل من حولك واجمع الآراء .
 حسنا …. يبدو ان الأمور تتداخل , سأضع بالأسفل بعض المفاهيم وربما  العلاقات لبعض اشكال الأنظمة .
 نظام برمجى : بناء له وظيفة عامة وقواعد تتعامل مع حالة او معطيات  لإخراج نتائج او تحقيق عملية معينة .
 اسس الأنظمة :
 - المنطقية البنائية
 - الأقسام والوحدات.
 - المسميات
 - كل شئ داخل النظام هو ” أداه “
 - الترابط بين الأدورات والإستخدام الذاتى .
 - حدود الإستخدام .
 - المميزات و الإمكانات .
 
وبشكل عام : فكرة واضحة + تخطيط وتنظيم + تنفيذ متقن + سهولة فى  الإستخدام + تعددية الخيارات = نظام فعال وربما ناجح .
 واخيرا احب ان اقول , ان كل ما تحدثت عنه لم أأخذه من كتاب او قرأت عنه  بمكان ما ولكنه مستنتج ومنطقى … لأنى اريد من كل مطور او مبرمج ان يفكر  بجدية فى ما يفعله و ان يتعامل مع عمله على انه نوع من انواع الفن , ان  يفكر جيدا وينظم افكاره . فإما ان تضع القواعد او تستخدمها … واعلم ان  الأمر الأن ليس كما كان فى البداية … فقد إنتهى عصر المقاييس والأن هو عصر  التطوير والتحديث ..
 ابحث عن ما يحتاجه من حولك ونفذه فى افضل شكل يناسبهم وضعه امامهم .
 تحياتى للجميع 
				
			 
			
		 
			
				
			
				
			
			
			
		 
	 
	
	
 
- 
	
	
		
		
		
				
				
		
			
				
					موضوع وافكار جميلة اخوي احمد , اتفق معك تماما ان المشروع قبل ان يكون اكواد وتكنولوجيا يجب ان يكون تحفة فنية خالية قدر المستطاع من الشوائب , نفس المبدأ اعمل عليه في مشاريعي المختلفة , فانا بعد ان انهي العمل بشكل نهائي تقريبا , ادخل البرنامج واجربه من زاوية المستهلك وليس المبرمج , واحاول ان افكر بطريقة تفكير المستهلك لكي احاول قدر المستطاع استكشاف الاخطاء واصلاحها , ايضا انظر للمشروع كمبرمج وارى كم هو جميل هذا العمل , بعد عمل وكد طويلين حيث يصبح حالة من التعزيز الايجابي للنفس عند الشعور بالرضى عن المشروع او العمل , وبالتالي الدفعة المعنوية الذاتية حتى بدون اطرائات ومديح الاخرين , وفي الحقيقة ما يجعلني اتقدم في هذا المجال هو نفسي حيث اشجعها باستمرار واكافئها عند كل نجاح .
جميل هو النقاش فيما ابدعت اخي , اتمنى ان ارى المزيد من كتاباتك في هذا المجال .
تقبل تحياتي , اخوك ابن قانا .
الى الامام عزيزي .
				
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	
 
- 
	
	
		
		
		
				
				
		
			
				
					مشكور .... عل الكثيرين من زوار هذا القسم ان يفهموا هذه الكلمات جيدا ... من اجل الصالح العام للمطورين 
				
			 
			
		 
			
				
			
			
			
		 
	 
	
	
 
- 
	
	
		
		
		
				
				
		
			
				
					بعد النظام وجدت الكود من زاوية مختلفه ... كنت فى السابق أضع كل ملفات البرمجية فى مجلد واحد تجنباً لتغيير مسار الإنكلود لكل منهم 
ولكن تعبت شوية و بعدها إرتحت جداً فى التطوير على برمجياتى
شكراً على موضوعك الجميل
				
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	
 
- 
	
	
		
		
		
				
				
					
				
		
			
				
					العفو , .... 
انا اعتبر ان من اهم الأمور التى يجب ان نهتم بها ونراعيها هى " المسميات " , حتى فى ابسط الأشياء مثل المتغيرات , فأنا افضل ان اكتبها بهذا الشكل postsNeedsTobeApproved$ افضل من ان اكتب posts$ فقط ( اقصد فى حالة " المواضيع التى تحتاج للموافقة " .
الشئ الأخر , هو التنظيم بشكل عام فى بنية المجلدات والملفات والتى يكون دائما من الأفضل وضع prefix لها , مثال : class.HTML.php او sys.configuration.php او tpl.nav.html , .....
هذا ما اؤمن به ولا استبدله ابدا , ... ولا اعتقد ان الجميع يتفق معى , هناك من يفضل " الإنجاز " , ... 
تيحاتى للجميع وانتظر مداخلات باقى الأعضاء
				
			 
			
		 
			
				
			
			
			
		 
	 
	
	
 
		
		
		
	
 
	
	
	
	
	
	
	
	
	
	
	
	
	
		
		
			
				
				ضوابط المشاركة
			
			
				
	
		- لا تستطيع إضافة مواضيع جديدة
 
		- لا تستطيع الرد على المواضيع
 
		- لا تستطيع إرفاق ملفات
 
		- لا تستطيع تعديل مشاركاتك
 
		-  
 
	
	
	قوانين المنتدى
 
			 
		 
	 
 
	
	
أضف موقعك هنا | 
اضافة محتوى فريد لموقعك