رابطـــــــــة التكنولوجييــــــن المصــريــة
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
رابطـــــــــة التكنولوجييــــــن المصــريــة

منتدى رابطـــة التكنـــولوجييـــــن لكل من خريجى المعهد الفنى العالى للقوات المسلحة والجامعة العمالية(رقابة الجودة) وكليات التعليم الصناعى وكليات التربية (شعبة التعليم الصناعى) وخريجى معهد الكفاية الإنتاجية(الشعبة الصناعية) ومعهد الطيران المدنى


أهلا وسهلا بك زائرنا الكريم, أنت لم تقم بتسجيل الدخول بعد! يشرفنا أن تقوم بالدخول أو التسجيل إذا رغبت بالمشاركة في المنتدى

استخدام هندسة البرامجيات للحصول على جودة وكفاءة الأنظمة

اذهب الى الأسفل  رسالة [صفحة 1 من اصل 1]

ashrafkamel

ashrafkamel
تكنولوجى جديد
تكنولوجى جديد

المقدمة :-
هندسة البرمجيات Software engineering هي فرع من فروع المعلوماتية يهدف إلى تطوير مجموعة أسس و قواعد تهدف إلى تحسين طرق تصميم و تطوير البرامج على جميع المستويات وذلك بطريقة تلبي احتياجات المستخدمين. هندسة البرمجيات لا تهتم بكتابة البرنامج نفسه أي بكتابة شفرته بل تحاول تحسين عملية تطوير و صنع البرنامج إبتدائا من المواصفات التي يضع الحريف و انتهائا عند مشكلة صيانة البرنامج أو توسيعه. وهي تقوم على دراسة احتياجات المستخدم وتصميم البرنامج المناسب لها قبل كتابة شيفرته ، والأخذ بعين الاعتبار العديد من الجوانب كالقدرة على تطوير البرنامج بسهولة لاحقا ، أو السرعة ، أو إمكانية إضافة ملحقات له بشكل ديناميكي.

1.هندسة البرامجيات : -
هي عملية بناء واستخدام مبادى وادوات هندسية للحصول على برامجيات اقتصادية تتصف بوثوقية عالية وذات كفاءة وجودة في العمل .
البرمجية(Software) شيء غير ملموس إلى حد ما بالمقارنة مع المنتجات الأخرى وهي سلسلة من آلاف أو ملايين الأوامر التي تطلب من الحاسوب إجراء عمليات معينة مثل عرض المعلومات أو إجراء الحسابات أو تخزين البيانات . هذه البرمجيات هي بمثابة الروح من الجسد في النظام الحاسوبي و هي في توسع دائم و ازدياد في التعقيد و المتطلبات والمهام التي تقوم بتنفيذها. أما هندسة البرمجيات فهي فرع من فروع الهندسة يقوم على مجموعة أسس و قواعد تهدف إلى تصميم و تطوير البرامج بوفرة و نوعية عالية تلبي احتياجات المستخدمين, هذا الفرع من الهندسة يتميز بأنه لايحتاج إلى رأس مال كبير و بالتالي الخسارة فيه قليلة على عكس بقية الهندسات, كما لا يكفي لإيجاد البرمجية المتكاملة و الجيدة عمل شخص واحد وإنما يتطلب ذلك فريقاً من المهندسين الجيدين. و قد أصبحت مهنة البرمجة مهنة دارجة جداً حتى أصبح كل من هب ودب يسمي نفسه مبرمجاً لذلك كان من الضروري إيجاد هندسة البرمجيات لوضع الأسس والمعايير التي تصون هذه المهنة من المتطفلين بحيث يصبح بالإمكان تمييز البرنامج الجيد من غير الجيد.

2. الفرق بين البرمجة و هندسة البرمجيات:-
تعتبر البرمجة أن كتابة الكود هي أهم عملية في بناء البرامج بغض النظر عن الجدوى من البرنامج أو إمكانية قبول المستخدم له أو حتى قابلية التطوير, في حين أن هندسة البرمجيات تعمل على بناء النظام البرمجي كمشروع متكامل و دراسته من كافة الجوانب: البناء البرمجي, الدعم الفني و الصيانة, التسويق و المبيعات, التطوير و التدريب على استخدامه, وبذلك يمكنها بناء الأنظمة الكبيرة لاستخدامها نظام فريق العمل في حين أن البرمجة الفردية تعجز عن ذلك.

3.هندسة البرامجيات تكنولوجيا طبقات :-
ان هندسة البرامجيات هي تقنية ذات طبقات بالعمل حيث ان كل طرق هندسة ( ومن ضمنها هندسة البرامجيات ) يجب ان تعتمد بالدرجة الاساس على الجودةQuality)) في عملية التصميم النظام المطلوب . وهي من اهم اهداف استخدام هندسة البرامجيات في عملية بناء وتطوير البرامجيات .
بعد ذلك الطبقة التالية هي المعالة (Process ) وهي عملية اختيار نوع المعالة المستخدة في بناء البرانامج وهنا يبدا مدير العمل (Software Developer ) بتحديد نوعية وطريقة المعالجة المطلوبة مثلا هل يستخدم طريقة الخطية وتدفق الشلال (Waterfall Approach ) او طريقة (Exploratory Approach ) او اي طريقة اخرى في العمل ؟ مع مراعاة تلائم نوعية المعالجة مع طبيعة النظام المراد بناوه .
الطبقة الثالثة هي الطرق (Methods ) المستخدمة هنا مصمم النظام يبدا باخيار طريقة العمل مثلا هل يريد استخدا م (Object _Oriented Methods ) او طرق الكلاسيكية بالعمل وهذة الطبقة توفر تقنية الاجابة عن "How" كيف نبني البرانامج
الطبقة الاخيرة هي الادوات (Tools) وهذة الطبقة توفر ادوات اتومتاتيكية او شبة موؤتمتة في توفير ادوت وبرامجيات تساعد المصمم في عمله ومثال عنها الـ (Computer Aided Software Engineering (CASE)) والمخطط التالي يبين طبقات هندسة البرامجيات.




4. البرامجيات المهندسة جيدا":-
تتصف البرامجيات المهندسة جيدا" في عملية بنائها وتطويرها بصفات التالية :
1. البرامجيات يجب ان تكون قابلة لصيانة (The Software Should be Maintainable ):-
وهي قدرة النظام على تبني التغيرات بسهولة وبدون الكلفة العالية في بناء
2. البرامجيات يجب ان ذات درجة عالية من وثوقية (The Software Should be Reliable ) وهي درجة المعولية التي يتصف بها النظام في اي استخدم
3. البرامجيات يجب ان تكون كفؤة (The Software Should be Efficient ):- وهي ان برامجيات يبني بدرجة كفاءة عالية مع مراعاة الكلفة المستخدمة
4. البرامجيات يجب ان تمتلك واجهات تخاطبية عالية المستوى (the Software should be offer appropriated User Interface ):- يجب ان تمتلك البرامجيات واجهات تخاطبية عالية المستوى لان المستخدم هو شخص غير خبير بعملية البناء ومايهمه هو كيفية استخدام البرامجيات لتلبي احتاجاته الخاصة .

5. مراحل بناء النظام البرمجي:-
في هندسة البرمجيات إن بناء النظام البرمجي ليس مجرد كتابة شفرة وإنما هي عملية إنتاجية لها عدة مراحل أساسية وضرورية للحصول على المنتج وهو البرنامج بأقل كلفة ممكنة وأفضل أداء, يطلق على هذه المراحل اسم دورة حياة النظام البرمجي Software Lifecycle قد يبدو بعضها ليس له علاقة بالبرمجة. وهناك عديد التصورات و النماذج في هندسة البرمجيات تصف عملية إنتاج برنامج و الخطوات اللازمة لذلك. كما أن هذه الدورة خاضعة للتطوير دائما، حيث بالإضافة للدورات الكلاسيكية، ظهر مفهوم المنظومة المرنة Agile Process و التي تتخلي عن النموذج الثابت للمنظومة الكلاسيكية في سبيل المزيد من حرية الحركة للمشروع. و فيما يلي عرض لاحد أشهر دورات حياة النظام البرمجي الكلاسيكية و هي دورة الشلال Waterfall Model:
1. التحليل
في هذة المرحلة يقوم محلل النظام بتحديد متطلبتا النظام من ٍSoftware ومن Hardware و في هذه العملية يتم تحديد المتطلبات و المهام التي سيقوم بها البرنامج, و وصف هذه المهام بدقة تامّة, كما يتم دراسة الجدوى من البرنامج, فالمستخدم مثلاً يضع تصوراً للبرنامج ليقوم بعمليات معينة ومهمة مهندس البرمجيات في هذه المرحلة هي استخلاص هذه الأفكار وتحديدها لذلك فهي تتطلب مهارة عالية في التعامل مع الزبائن وقدرة على التحليل الصحيح. ينتج في نهاية هذه المرحلة وثيقة تدعى جدول الشروط والمواصفات.
2. التصميم
يتم تقسيم البرمجية إلى كتل وتعريف العلاقات بين هذه الكتل ثم التفصيل في هذه الكتل و وضع الخوارزميات الملائمة لكل كتلة, في نهاية هذه العملية تكون البرمجية جاهزة لعملية الترميز, كما يتم اختيار لغة أو لغات البرمجة الملائمة لهذا البرنامج.
3. الترميز
تحول الخوارزميات السابقة إلى إحدى اللغات البرمجية و التأكد من صحتها لكل كتلة من الكتل. تم تحويلها الى لغة الآلة التي يتعامل بة جهاز الحاسب فقط.
4. الاختبار و التكاملية
يتم جمع الكتل مع بعضها و اختبار النظام للتأكد من موافقته لجدول الشروط و المواصفات و خاصة اذا كانت الكتل قد كتبت من قبل عدة أعضاء في الفريق.
5. التوثيق
وهي مرحلة هامة من مراحل بناء النظام البرمجي حيث يتم توثيق البناء الداخلي للبرنامج وذلك بغرض الصيانة والتطوير. يفضل عادة أن يترافق التوثيق مع كل مرحلة من المراحل السابقة واللاحقة، وأن يكون هناك فريق خاص يهتم بعملية التوثيق لجميع المشاكل والحلول التي يمكن أن تظهر أثناء بناء البرمجية. وبدون التوثيق قد يصل مصنع البرمجية إلى مرحلة لا يعود بعدها قادراً على متابعة صيانتها وتطويرها مما يزيد الكلفة المادية والزمنية الخاصة بهذه البرمجية إلى حدود غير متوقعة، أو بمعنى آخر الفشل في بناء برمجية ذات جودة عالية ودورة حياة طويلة.
6. الصيانة و التطوير
إن هذه المرحلة هي المرحلة الأطول في حياة النظام البرمجي لبقاء النظام قادراً على مواكبة التطورات و المعدات الحديثة, جزء من هذه المرحلة يكون في تصحيح الأخطاء والجزء الآخر يكون في التطوير و إضافة تقنيات جديدة. إن هذه الخطوات كما نلاحظ مشابهة لخطوات الإنتاج في الهندسيات الأخرى.
والمخطط التالي يوضح دورة حياة النظام.





الخلاصة :-
من ذلك نستنتج ان استخدام مبادى وادوات هندسة البرامجيات يساعد مطور البراميجيات في عملية التصميم ولكن يجب ان براعي المصمم التوازن بالدرجة العالية من الجودة بالعمل دون الاهتمام او اهتمام المتوزان بكلفة والدرجة العالية بالكفاءة النظام في العمل.
[b]

ashrafkamel

ashrafkamel
تكنولوجى جديد
تكنولوجى جديد

ماهو ال
بروتوكول يقوم بتشفير البيانات المنتقلة من وإلى “secure socket Layer “ هو عبارة عن اختصار لكلمة
باستخدام مفتاحين للقيام بعملية التشفير ، المفتاح الأول وهو مفتاح عام “server” متصفح الانترنت و الخادم
ويقوم المفتاح الثاني وهو مفتاح خاص ، “http transaction” يقوم المفتاح الأول بتشفير العملية “public key”
”private key”
؟ SSL لملماذا ال
لم يكن عبثا أو مصادفة ، إنما هي SSL إن ثقة مواقع التجارة الالكترونية و مواقع الحكومات ومواقع البنوك في
في عملية نقل البيانات بشكل آمن وما يمنح ال SSL بسبب واقع تفرضه طبيعة شبكات الانترنت وقوة مميزة تقدمها
كل هذه المميزات للأسباب التالية : SSL
• طبيعة شبكة الانترنت غير الآمنة : كما نعلم حتى يصل طلب من متصفح الانترنت لدى العميل إلى موقع
الانترنت المطلوب ، يمر هذا الطلب على عدد من الشبكات المتصلة لإيصال ذلك الطلب ، ولأننا لا نعلم عن
طبيعة تلك الشبكات الموصلة ومدى حجم الأمان التي تقدمه أو الحفاظ على سرية البيانات ،مع استحالة
التأكد من أمان تلك الشبكات بشكل كامل مع معرفتنا المسبقة بأن الطلب ربما يتغير من مسار إلى مسار آخر
في شبكة الانترنت ، يجعل من أن طريقة تشفير البيانات طريقة آمنة ومنطقية وسهلة الاستخدام أيضا.
• استحالة تغيير البيانات : كما نعلم أن من أسس أمن المعلومات هو وصول البيانات بشكل صحيح دون تغيير
،فعند حصول الاختراق بالإمكان تغيير محتوى الطلب بدلا من 100 على سبيل المثال إلى 100000 ، من خلال
عملية التشفير تمنع المخترق من تغيير البيانات بسبب تشفيرها واستحالة فك ذلك التشفير بسبب وجود
طريقة التشفير الصعبة .
يمنع أي متسمع للبيانات من قراءة بيانات SSL • استحالة قراءة البيانات : مع عملية التشفير للبيانات عبر ال
حقيقية ، إنما كل ما يستطيع قراءته هي بيانات مشفرة ، لا يستطيع فكها مطلقا.
؟ SSL كيف يعمل ال
تعمل على الطبقة السفلى من التشفير لتدعم بروتوكولات الطبقة العليا مثل SSL طبيعة بروتوكول
. “NNTP” و بروتوكول الأخبار عبرالشبكة “HTTP” بروتوكول تصفح الانترنت ،“FTP” بروتوكول نقل البيانات
يعمل على تشفير البيانات وحتى تتم عملية التأكد من الخادم من SSL كما ذكرنا آنفا أن بروتوكول ال
قبل المتصفح ، وللقيام بذلك يتم إنشاء مفاتيح التشفير "العام والخاص" ، وتمم هذه العملية من خلال عدة خطوات
حتى يتم التأكد من موثوقية الطرف الآخر ويتم إنشاء المفاتيح أيضا ،وتلك الخطوات هي :
• يقوم المتصفح بطلب شهادة الوثوق من الخادم .
• يقوم الخادم بالرد على المتصفح ويقوم بإرفاق شهادة الوثوق عبر الرد.
• إرسال المفتاح الخاص للتأكد من امتلاك الخادم له.
• إعادة تأكيد من الخادم على امتلاك المفتاح الخاص .
• إرسال الطلب الرئيسي من قبل العميل
؟ SSL أنواع ال
اعتمادا على قوة التشفيرير ، وهو يعبربر عن طول مفتاح التشفيرير : SSL يوجد نوعان من
128 بت.
56 بت. – 40
نستطيع أن نقول أن اختيار النوع الألأول هو الخلخيار الألأفضل والآلآمان ، فمن خلالال مقارنة بسيطة بينين النوعينين نجنجد أن النوع
الألأول يتفوق على النوع الثانيني مقارنة بوقت البحث برقم خرافيفي " تريلون تريلون مرة " ، وبالتأكيد من خلالال هذا الرقم
نعرف أن محمحاولة البحث التيتي تحتحصل لفك التشفيرير باستخدام 128 بت نجنجزم أا مستحيلة.
؟ SSL كيفية اقتناء خدمة
هي اتصال بين العميل والخادم والتأكد من شهادة الوثوق من خلال مقدم خدمة SSL كما نعلم بأن خدمة
وهو الوسيط الثالث للخدمة وحتى تتم عملية توفير تلك الخدمة ، يجب أن يقوم الخادم بتنفيذ بعض الإعدادات ، SSL
وتختلف تلك الإعدادات باختلاف بيئة العمل ما إن كانت ويندوز أو لينكس .
لدى مقدمة الخدمة ، من الواجب توفير معلومات الخدمة والتي عادة ما تكون SSL عند الاشتراك في خدمة
على الهيئة التالية :
-----BEGIN CERTIFICATE-----
[encoded data]
-----END CERTIFICATE-----
SSL هذه المعلومات تعبر عن مفتاح الاتصال بالوسيط للتعريف بالخادم ، بعد ذلك يقوم الخادم بتركيب خدمة ال
على الخادم على حسب بيئة نظام التشغيل .
للقيام بعملية التركيب على بيئة ويندوز ، يجب اتباع الخطوات التالية :
:“Windows” التركيب على بيئة نوافذ
على نظام التشغيل. IIS • بداية يجب توفر
. “Internet Information Services” ، “Administrator Tools” ، “Control Panel” • اذهب إلى
.“Properties” ثم الضغط بالزر اليمين والذهاب إلى “Default Web Site” •

الرجوع الى أعلى الصفحة  رسالة [صفحة 1 من اصل 1]

صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى