ما هو الفرق بين برمجة تطبيق لمستخدم واحد وبين تطبيق لعدة مستخدمين multiusers ؟
هل هناك نقاط مهمة يجب أن نضعها في الاعبار قبل البدء ببرمجة تطبيق لعدة مستخدمين ؟
وهل كل تطبيق لعدة مستخدمين مؤهل للعمل على شبكة Network ؟
وشكراً لكم
ما هو الفرق بين برمجة تطبيق لمستخدم واحد وبين تطبيق لعدة مستخدمين multiusers ؟
هل هناك نقاط مهمة يجب أن نضعها في الاعبار قبل البدء ببرمجة تطبيق لعدة مستخدمين ؟
وهل كل تطبيق لعدة مستخدمين مؤهل للعمل على شبكة Network ؟
وشكراً لكم
سؤال جميل جدا ومهم...
أجيبك أخي بالترتيب...
El_Mastar كتب:ما هو الفرق بين برمجة تطبيق لمستخدم واحد وبين تطبيق لعدة مستخدمين multiusers ؟
El_Mastar كتب:هل هناك نقاط مهمة يجب أن نضعها في الاعبار قبل البدء ببرمجة تطبيق لعدة مستخدمين ؟
El_Mastar كتب:وهل كل تطبيق لعدة مستخدمين مؤهل للعمل على شبكة Network ؟
هناك عدة أشياء مهمة:
--------------------------------------------------------------------------------------------------
أولا: من ناحية المعمارية...
- تريد أن تعرف فيما إذا كان برنامجك سيكون على جهاز المستخدم (أي تطبيق مكتبي - مثل برنامج محرر نصوص) أم أن برنامجك يكون على أحد النماذج التي تتيح تعدد المستخدمين... مثل برامج نموذج الخادم والزبون (Client Server) أو نموذج التوزيع (Distributed)...
- تحتاج إلى نظام داخلي لكي تنظم عملية الدخول والخروج للمستخدمين و إدارة حساباتهم(Sign in - Sing Out)... تعتعمد على نوع التطبيق طبعا..
- تحتاج إلى طرق للتأكد من هوية المستخدمين، فقد تريد أن تديرها بنفسك في البرنامج أو قد تدمجها مع نظام تشغيل الشبكة (NT Account مثلا)
-فكر في موضوع توفير خدمات للمستخدمين أو البرامج الأخرى --- لأنه وهذا مهم جدا-- قد يكون المستخدم إنسانا وقد يكون آلة وقد يكون برنامجا آخر..
ثانيا من الناحية البرمجية:
- تريد أن يكون برنامجك Multi-Threaded ليخدم المستخدمين، فلا تريد أن تخدمهم بـ"ثريد" واحد...
- فكر في أنواع الملفات والموارد وكيف تنظم عملية الوصول لها (مثلا مستخدمان يريدان الدخول على ملف في وقت واحد)...
- فكر في أنواع الـ Threads هلى تريدها متوازية أم متسلسلة ، متى يبدأ كل واحد منها..
- أيضا أنواع المتغيرات و الطرائق هل تريدها عامة أو محمية أو خاصة (Public, Protected or Private) وكيف يتم الدخول عليها من قبل البرامج الأخرى أو من قبل الـ Threads الأخرى..
ثالثا: من ناحية قاعدة البيانات:
- فكر في توفير مسبح للاتصال مع قاعدة البيانات...
- فكر في نوع الاتصال مع القاعدة (ODBC , ADO , JDBC) وغيرها...
- فكر فيما إذا كانت قاعدة البيانات الخاصة بك تسمح بعدة مستخدمين وإذا كانت تسمح أنظر إذا أعطاك مدير القاعدة حق الاستخدام المتعدد و فكر أيضا فيما إذا كنت تحتاج إلى ترخيص لأعداد معينة للمستخدمين ، فبعض قواعد البيانات تعطي تراخيصها بناء على عدد المستخدمين...
رابعا: من ناحية العتاد والشبكة:
- انظر هل أجهزتك تتحمل أعداد من المستخدمين أم لا.؟؟
- هل تحتاج أن توازن الخادم ليتوافق مع عدد المستخدمين؟؟
- قد تحتاج إلى ذاكرة و تخزين أعلى
- قد تحتاج إلى سعة شبكية أعلى...
خامسا: من ناحية الاختبار:
- اجر الاختبارات على أكثر من مستخدم.. لاختبار حق الدخول والوصول لأماكن في البرنامج..
- اجر اختبارات تحمل لترى إلى أي حد يستطيع أن يتحمل برنامجك..
سادسا: من ناحية واجهات الاستخدام:
- فكر في أنواع المستخدمين الذين سيستخدمون البرنامج..
- هل هناك إعاقات يجب أن تعرف عنها...؟؟
- قد تريد أن تصمم لكل مجموعة من المستخدمين Theme تصميم معين...
- قد تحتاج عدة أنواع من الاستخدام مثل (واجهات للمحترفين و أخرى للمبتدئين)..
------------------------------------------------------------------------------
طبعا هذا باختصار ..
ولنرى بعض الأفكار التي قد يأتي بها باقي أفراد الفريق...
لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟
لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون
-----
وائل بن أحمد كابلي
مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية
MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials
تسلم أخوي وماقصرت على الرد
جزاك الله ألف ألف خير
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…