العودة   منتديات عشاق السودان > منتديات الكمبيوتر والإنترنت > منتدى البرمجة
التسجيل مستضيف الصور التعليمـــات قائمة الأعضاء التقويم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع طرق مشاهدة الموضوع
قديم 23-05-2006, 10:36   رقم المشاركة : 11 (permalink)
معلومات العضو
المحقق كونان
عضو متواصل
 
الصورة الرمزية المحقق كونان
 

 

 
إحصائية العضو









المحقق كونان غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
المحقق كونان is on a distinguished road

 

 

Smile هندسة البرمجيات ( الخطوة الثاني )

السلام عليكم ورحمة الله وبركاتة

الاخوة الاعزاء .... لا ادري اقول متاسف معليش (مضي اكثر من عام علي هندسة البرمجيات ( الخطوة الاولي ) ولكن لظروف عملي خارج الخرطوم ولكم العتبي حتي الرضاء)

وان شاء الله تتبع بقية الخطوات


التوقيع


التعديل الأخير تم بواسطة : المحقق كونان بتاريخ 23-05-2006 الساعة 10:41.
المحقق كونان غير متواجد حالياً   رد مع اقتباس
قديم 04-07-2006, 22:49   رقم المشاركة : 12 (permalink)
معلومات العضو
demon
عضو مميز
 
الصورة الرمزية demon
 

 

 
إحصائية العضو








demon غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 20
demon is on a distinguished road

 

 

مشاركة: هندسة البرمجيات ( الخطوة الاولي )

الموضوع كامل علي الوصلات التالية

الجزء الثاني
هندسة البرمجيات (الخطوة الثانية)

الجزء الثالث
هندسة البرمجيات (الخطوة الثالثة)...

التوقيع

demon غير متواجد حالياً   رد مع اقتباس
قديم 05-07-2006, 11:16   رقم المشاركة : 13 (permalink)
معلومات العضو
المحقق كونان
عضو متواصل
 
الصورة الرمزية المحقق كونان
 

 

 
إحصائية العضو









المحقق كونان غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
المحقق كونان is on a distinguished road

 

 

هندسة البرمجيات ( الخطوة الرابعة )


بسم الله الرحمن الرحيم

هندسة البرمجيات ( الخطوة الرابعة )





نكمل مع خطوات بناء النظام، وهذه المرة سوف نتحدث عن خطوة "تصميم النظام"

ما هو التصميم؟
التصميم هو عملية إبداعية لإيجاد حل لمشكلة، كما تطلق عادة كلمة تصميم على وصف هذا الحل.
حيث نستفيد من المتطلبات التي حددنها في الخطوة السابقة في التعرف على المشكلة، ثم نبدأ في التفكير في الحل الذي يفي بجميع الشروط والمواصفات التي تحددها المتطلبات، وغالبا ما يمكن إيجاد عدد غير محدود من الحلول يمكن لنا أن نختار أحدها و الذي نجده الأنسب من بينها.

عند الانتهاء من خطوة تحديد المتطلبات، فإننا ننتهي بوثيقتين (كما ذكرنا في الدرس السابق) الأولى هي (وثيقة تعريف المتطلبات) ويتم تقديمها للعميل والثانية (وثيقة مواصفات المتطلبات) ويتم تقديمها للمصمم.




ودور المصمم هو تحويل هذه الوثائق إلى نظام يرضي العميل (يلبي احتياجاته)، وفي نفس الوقت يرضي المطور (يمكن تطبيقه).
لذا فإن عملية التصميم في عملية تكرارية iterative من خطواتين :


أولا: يتم إنتاج التصميم التصوري conceptual design والذي يوضح للعميل ما الذي سيقوم به النظام بالتحديد.
وفي حال موافقة العميل على هذا النظام، يتم الانتقال للخطوة التالية.


ثانيا: تحويل التصميم التصوري إلى وثيقة بها تفاصيل أكثر عن التصميم يطلق عليها اسم التصميم التقني technical design والذي يجب أن يظهر للمطور ما هي المعدات والبرمجيات اللازمة لبناء النظام.




أحيانا يتطلب الأمر للعودة إلى الخطوة الأولى (التصميم التصوري) والتعديل عليه، لذا فأنها عملية تكرارية حتى الوصول إلى التصميم الذي يرضي العميل ويمكن تطبيقه على أرض الواقع في ظل الإمكانيات المتاحة للمطورين.

img4_1.gif

التصميم التصوري conceptual design:
يركز هذا التصميم على وظائف النظام functions ويكتب بلغة يمكن للعميل أن يفهمها (لغة البشر) ليجيب عن أسئلة العميل حول ماذا (WHAT) يعمل النظام. ويجب أن يكون خالي تماما من أي تفاصيل برمجية أو فنية. والاهم أن يحقق كل المتطلبات التي تم تحديدها سابقا.


التصميم التقني technical design
هذا التصميم سوف يتم تقديمه إلى مطوري النظام ليقوموا هم بتحويله إلى النظام المطلوب، لذا يجب أن يقدم هذا التصميم إجابة شافية لأسئلة المطور عن كيفية (HOW) تطوير النظام. ولمنع إلى تضارب في المفاهيم فإن هذا التصميم عادة ما يكتب باستعمال تعبيرات وأساليب تقنية.

التوقيع


التعديل الأخير تم بواسطة : المحقق كونان بتاريخ 05-07-2006 الساعة 11:20.
المحقق كونان غير متواجد حالياً   رد مع اقتباس
قديم 16-07-2006, 10:52   رقم المشاركة : 14 (permalink)
معلومات العضو
المحقق كونان
عضو متواصل
 
الصورة الرمزية المحقق كونان
 

 

 
إحصائية العضو









المحقق كونان غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
المحقق كونان is on a distinguished road

 

 

هندسة البرمجيات ( الخطوة الخامسة )


بسم الله الرحمن الرحيم

كتابة البرنامج واختباره

أهداف الدرس:

هذا الدرس لن يعلمك لغة برمجة لتكتب بها البرامج، ولكن الهدف منه التعرف على:

القواعد الصحيحة لكتابة البرامج

خطة الاختبار وأنواع الاختبارات



الجزء الأول: كتابة البرامج:

بعد وضع التصميم للنظام واختيار لغة البرمجة المناسبة، تبدأ الخطوة التي سوف تنقل التصميم المكتوب على الورق إلى واقع. خلال هذا الدرس سوف نناقش أهم القواعد التي على المبرمج إتباعها أثناء كتابة برامجه. ولكن قبل ذلك لنجيب على هذا السؤال الذي لا شك أنه ورد على ذهنك الآن

س: لماذا علينا إتباع هذه القواعد؟

ج: إذا كنت تعمل منفردا في كتابة برامجك، فإن إتباعك لقواعد وأساليب قياسية في البرمجة سوف تساعدك على تنظيم أفكارك لتجنب الوقوع في الأخطاء. كما أنها ستساعدك على اكتشاف أي أخطاء قد تحدث بسرعة وبسهولة.

أم إذا كنت تعمل ضمن فريق برمجي، فإن إتباع القواعد والأساليب القياسية في كتابة أجزاء البرامج التي يطلب منك كتابتها، سوف تساعدك وبقية الفريق من تنسيق أعمالكم وتنظيمها، كما أنها ستقلل من عدد الأخطاء في البرنامج وتساعد على اكتشاف ما يقع منها في اسرع وقت ممكن.

تفرض الكثير من شركات البرمجة على مبرمجيها إتباع قواعد قياسية في كتابة برامجهم، وذلك لضمان التكامل في جميع البرامج، كما أن بعض الشركات تعين فرق لاختبار البرامج، غير الفريق الذي قام بالبرمجة ولذلك يجب أن يكون الكود البرمجي مكتوب بطريقة واضحة لجميع من يقرأه، وليس لمن قام بكتابته فقط.



بعض قواعد البرمجة Programming Guidelines

هياكل التحكم Control Structures

يقصد بها تلك الهياكل التي تتحكم في مسار عمل البرنامج (مثل Goto ، if- else)، وأثناء كتابة هذه الهياكل علنا أن نحاول أن نجعلها واضحة وسهلة التتبع، وخالية من القفزات الواسعة قدر الإمكان. انظر لهذا المثال:

benefit = minimum;

if (age < 75) goto A;

benefit = maximum;

goto C;

if (age < 65) goto B;

if (age < 55) goto C;

A: if (age < 65) goto B;

benefit = benefit * 1.5 + bonus;

goto C;

B: if (age < 55) goto C;

benefit = benefit * 1.5;

C: next statement





نفس الكود يمكن كتابته على هذا النحو:

if (age < 55) benefit = minimum;

else if (age < 65) benefit = minimum + bonus;

else if (age < 75) benefit = minimum * 1.5 +bonus;

else benefit = maximum;



عالم البرمجة هناك قاعدة تقول أن العمومية ميزة generality is a virtue، لذلك حاول دائما أن تجعل شفراتك البرمجة عامة، لتتمكن من إعادة استعمالها في بقية برامجك بأقل قدر ممكن من التعديل، ولكن حاذر من التمادي في ذلك!

لا تستخدم أبدا أسماء لا معنى لها لمتغيرات أو بارمترات برنامجك ( ينصح بمراجعة هذا الدرس "التسمية في البرنامج، درس لابد من أن يقرأه كل مبرمج! ")

"أريد برنامجا سريعا" وكلنا نريد ذلك، ولكن ما هو الثمن؟!

عندما تفكر في جعل برنامجك أسرع ما يمكن، عليك أن تفكر كذلك في الثمن الذي ستدفعه مقابل ذلك:

البرنامج السريع قد يتطلب منك كتابة كود معقد يتطلب منك (ومن فريق العمل) المزيد من الوقت والجهد في كتابته.

الوقت الذي تحتاجه عملية اختبار البرنامج المعقد في مختلف حالته.

الوقت والجهد الذي تحتاجه لتعديل هذا الكود أو لتطويره.

زمن تنفيذ البرنامج ما هو إلا جزء من معادلة كبيرة لحساب تكلفة البرنامج، لذلك عليك أن تعادل بين السرعة، والجودة، واحتياجات الزبون. ولا تضحي بالبساطة والوضوح من أجل السرعة.

التوقيع

المحقق كونان غير متواجد حالياً   رد مع اقتباس
قديم 16-07-2006, 10:56   رقم المشاركة : 15 (permalink)
معلومات العضو
المحقق كونان
عضو متواصل
 
الصورة الرمزية المحقق كونان
 

 

 
إحصائية العضو









المحقق كونان غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
المحقق كونان is on a distinguished road

 

 

هندسة البرمجيات ( الخطوة الخامسة 2 )


الدرس الخامس2: كتابة البرنامج واختباره



الجزء الثاني: اختبار البرامج:

وصلنا الآن إلى آخر مرحلة في تطوير النظام، وهي اختبار البرنامج للتأكد من أنه يعمل على النحو الذي يتوقعه الزبون.

قبل تسليم النظام النهائي إلى الزبون تجرى عليه الكثير من الاختبارات، بعضها يعتمد على ما الذي يتم اختباره مثلا:

(أحد مكونات البرنامج - مجموعة من المكونات - جزء من النظام - النظام بالكامل)

والبعض الأخر يعتمد على ما الذي نريد معرفته من هذه الاختبارات، مثلا:

هل يعمل النظام وفقا لما ورد في المتطلبات؟

هل يعمل النظام وفقا لما ورد في التصميم؟

هل يعمل النظام كما يتوقعه الزبون منه؟

مراحل الاختبار:

عند العمل على اختبار نظام من الحجم الكبير، فإن عملية الاختبار تتم على عدة مراحل موجزها في ما يلي:

اختبار المكون Module Testing أو component Testing

أول مراحل اختبار النظم، هي اختبار كل مكون على حدى بمعزل عن بقية مكونات النظام، للتأكد من عمله على النحو المتوقع منه. باختبار المعلومات المتحصل عليها (output) منه بعد إمداده بالبيانات اللازمة له (input).

اختبار التكامل Integration Testing

بعد اختبار كل مكونات النظام والتأكد من سلامة تصميمها، يجب أن نتأكد من أنها ستعمل معا بشكل صحيح وأنه لا يوجد تضارب بين بعضها البعض بحيث أن المعلومات المنتقلة بين هذه المكونات تصل بالهيئة المتوقعة لها. وهذا هو الهدف من اختبار التكامل.

اختبار الوظيفة Function Testing

ويقصد به اختبار النظام بعد تجميع كل مكوناته للتأكد من أنه يؤدي الوظيفة التي يتعين عليه القيام بها، والموضحة في وثائق متطلبات النظام. عندما يجتاز النظام هذا الاختبار يمكننا اعتبار هذا النظام على أنه نظام عامل Functioning System

اختبار الأداء Performance Testing

في هذه الخطوة يتم اختبار أداء البرنامج في بيئة عمل الزبون للتأكد من أن النظام متوافق مع بقية المتطلبات. عند اجتياز النظام لهذا الاختبار يتم التصديق على النظام validated system وبهذا فإننا نعتبر أن النظام أصبح جاهز حسب مفهومنا لما طلبه الزبون.

اختبار القبول Acceptance Test

يتم إجراء هذا الاختبار للتأكد من أن النظام المحقق موافق لما توقعه الزبون، وبعدها يعد النظام مقبول عند المستخدم والزبون Accepted system

اختبار التثبيت Installation Test

الاختبار الأخير يتم فيه تثبيت النظام في بيئة العمل الخاصة به والتأكد من أنه يعمل كما هو مطلوب منه.



الشكل التالي يوضح خطوات تطبيق عملية اختبار النظام، والتي يحسن تطبيقها على اي نظام مهما كان حجمه للتأكد من أنه سيؤدي المهمة المطلوبة منه.

les5.jpg

التوقيع

المحقق كونان غير متواجد حالياً   رد مع اقتباس
قديم 16-07-2006, 11:06   رقم المشاركة : 16 (permalink)
معلومات العضو
المحقق كونان
عضو متواصل
 
الصورة الرمزية المحقق كونان
 

 

 
إحصائية العضو









المحقق كونان غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
المحقق كونان is on a distinguished road

 

 

تم بحمد الله .........

تمت دورة هندسة البرمجيات بحمد الله


اسال الله التوفيق للجميع .... ومزيداً من الدورات


ان شاء الله .... لا تنسونا من صالح دعواتكم


فهي خير الزاد ....

التوقيع

المحقق كونان غير متواجد حالياً   رد مع اقتباس
قديم 17-08-2006, 12:16   رقم المشاركة : 17 (permalink)
معلومات العضو
المحقق كونان
عضو متواصل
 
الصورة الرمزية المحقق كونان
 

 

 
إحصائية العضو









المحقق كونان غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
المحقق كونان is on a distinguished road

 

 

مشاركة: هندسة البرمجيات ( الخطوة الاولي )

سلام من الله عليكم

انا في انتظار تعليقاتكم علي الدورة

وعلي استعداد لتلبية طلب اي دورة في مجال علوم الحاسوب

وان شاء الله تكون قدر العشم

ولكم ودي احبتي

التوقيع

المحقق كونان غير متواجد حالياً   رد مع اقتباس
قديم 17-08-2006, 18:15   رقم المشاركة : 18 (permalink)
معلومات العضو
روجا
عضو جديد
 
الصورة الرمزية روجا
 

 

 
إحصائية العضو








روجا غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
روجا is on a distinguished road

 

 

مشاركة: هندسة البرمجيات ( الخطوة الاولي )

والله الحق يعجز اللسان عن شكرك
واتمني لك التفوق في كل تحقيق عن موضوع
واظهار هذه المعلومات الثمينة والغالية لنا
والله نحن في زمن في اشد الحوجة لهذه المعلومات
ونتمني لك التقدم
(وربنا يقدرك ويسهل عليك)

التعديل الأخير تم بواسطة : روجا بتاريخ 17-08-2006 الساعة 18:18.
روجا غير متواجد حالياً   رد مع اقتباس
قديم 13-09-2006, 13:23   رقم المشاركة : 19 (permalink)
معلومات العضو
المحقق كونان
عضو متواصل
 
الصورة الرمزية المحقق كونان
 

 

 
إحصائية العضو









المحقق كونان غير متواجد حالياً

 

إحصائية الترشيح

عدد النقاط : 10
المحقق كونان is on a distinguished road

 

 

مشاركة: هندسة البرمجيات ( الخطوة الاولي )

لك الف تحية العزيزة روجا وان علي اتم الاستعداد لتلبية اي


دعوة لدورة واسال الله ان ينفعنا واياكم

ولا تترددي في الكتابة والسوال ؟ ان شاء الله الواحد ما يبخل باي معلومه

التوقيع

المحقق كونان غير متواجد حالياً   رد مع اقتباس
قديم 25-01-2007, 21:20   رقم المشاركة : 20 (permalink)
معلومات العضو
sanagah
عضو برونزي
 
الصورة الرمزية sanagah