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

رد
 
LinkBack أدوات الموضوع طرق مشاهدة الموضوع
قديم 19-09-2004, 10:51   رقم المشاركة : 1 (permalink)
معلومات العضو
المحقق كونان
عضو متواصل
 
الصورة الرمزية المحقق كونان
 

 

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









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

 

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

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

 

 

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

بسم الله الرحمن الرحيم
الدرس الأول: ماذا نعني بهندسة البرمجيات؟
أهداف الدرس الأول:
سوف نحاول خلال هذا الدرس الإجابة على هذه الأسئلة:
• ما هي هندسة البرمجيات؟
• من يشارك بها؟
• ما هي مكونات النظم البرمجية؟
• وكيف يتم بنائها؟

مقدمة:
لم يعد خافيا على أي منا أهمية البرمجيات Software في حياتنا اليومية سواء في البيت أو المصنع أو المستشفى أو ... الخ، فنحن نتعامل يوميا مع العديد من الأجهزة والمعدات التي تعتمد في عملها على البرمجيات ومن المهم لنا أن تعمل هذه الأجهزة وبرامجها بالشكل والكفاءة التي نتوقعها منها. لذا فإن هندسة البرمجيات أصبحت اليوم أكثر أهمية من أي وقت مضى.
المرجع :
1- Shari Pfleeger, "Software Engineering - Theory and Practice", 2nd Edition

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

وبنفس الفكرة يمكن النظر إلى علم الحوسبة computer science حيث يكون تركيزنا على الحواسيب ولغات البرمجة لدرستها وتطويرها في حد ذاتها.
أو يمكن النظر إليها والتعامل بها على أنها أدوات نستخدمها عند تصميم وتطوير حل لمشكلة ما تواجهنا أو الآخرين.

مهندس البرمجيات Software Engineer يعتبر أن الكمبيوتر هو أداة لحل المشاكل problem-solving tool.
وعليه أن يستخدم معلوماته حول الحاسوب وعلم الحوسبة للمساعدة في حل المشكلة التي يطلب منه إيجاد حل لها.


شكل (1)

ولكن ومن المهم أن نتذكر أن عملية كتابة البرامج تعد فن Art بقدر ما هي علم، لماذا؟

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

أي أن، هندسة البرمجيات تعنى بتصميم وتطوير برامج ذات جودة عالية.
من يشارك في هذه العملية؟
المشاركون في عملية صناعة البرنامج، عادة ما يندرجون تحت ثلاث مجموعات:
• الزبون Customer: وهو الشركة (أو الشخص) الممولة لمشر وع تطوير البرنامج المطلوب
• المستخدم User: الشخص (أو مجموعة الاشخاص ) الذي سوف يقوم فعلا باستعمال البرنامج، والتعامل معه مباشرة.
• المطور Developer: وهو الشركة (أو الشخص) الذي سوف يقوم بتطوير البرنامج لصالح الزبون.
الشكل التالي يظهر العلاقة بين الفئات الثلاثة السابقة


شكل (2)

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

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

2. العلاقات وحدود النظام Relationships and System Boundary
بعد تعريف الكائنات والنشاطات جيدا، يمكن أن نربط بين كل كائن والنشاطات المتعلقة به بدقة. تعريف الكائن يتضمن الموقع الذي سوف ينشأ به(نعض العناصر يمكن أن تكون موجودة بملف سبق انشاءه، والبعض قد يتم انشاءه خلال حدث ما)، والهدف من انشاءه(بعض الكائنات تستخدم من قبل نشاط واحد فقط والبعض يمكن أن يستعمل من قبل نظم آخرى كمدخلات Input) , لذا يمكن أن نعتبر أن لنظامنا حدود boundary بعض الكائنات بمكن أن تعبر هذه الحدود إلى داخل النظام، والبعض الآخر هي مخرجات من نظامنا ويمكن أن ترحل إلى نظم آخرى.

بهذا يمكن أن نعرف النظام A System على أنه تجمع من:
• مجموعة من الكائنات entities.
• مجموعة من الانشطة activities.
• وصف للعلاقات بين الكائنات والانشطة Relationship.
• تعريف لحدود النظام boundary.


كيف نبي نظام؟
إذا طلب منا عميل تطوير نظام (برنامج) له، لحل مشكلة معينة تواجهه في عمله. فمثلا يحتاج نظام حماية لشركته، أو نظام صرف آلي لبنك، أو ممكن أن يكون صاحب مكتبة أو متجر و يريد تغير نظام البيع و الشراء أو العرض ليتم بشكل آلي. علينا اتباع الخطوات التالية لبناء هذا النظام:
1. عقد اجتماع مع العميل لتحديد متطلباته، هذه المتطلبات تشمل وصف النظام بجميع مكوناته التي شرحنا.
2. وضع تصميم عام للنظام يحقق المتطلبات التي حددها العميل، وعرضه على العميل ليوضح له الشكل الذي سيظهر عليه النظام عند الانتهاء، و ومراجعته معه لأخذ موافقته عليه.
3. بعد موافقة العميل على التصميم يتم العمل على وضع التصاميم التفصيلية لأجزاء المشروع.
4. كتابة البرنامج
5. اختباره، واعادة مراجعة المتطلبات التي وضعها العميل للتأكد من تحققها في البرنامج.
6. تسليم النظام إلى العميل.
7. بعد تسلم العميل للنظام قد تظهر بعض المشاكل أو الاخطاء التي لم تظهر خلال عملية الاختبار، والتي تجب على المطور اصلاحها فيما يعرف بصيانة النظام.
خلال الدروس التالية من الدورة سنتعرف على كل خطوة من هذه الخطوات وكيف تتم بشكل مبسط، وسوف نخوض في مزيد من التفاصيل في دروس لاحقة بإذن الله.
الصور المرفقة
نوع الملف: gif 01.gif‏ (4.2 كيلوبايت, المشاهدات 172)
نوع الملف: gif 02.gif‏ (75.2 كيلوبايت, المشاهدات 169)

التعديل الأخير تم بواسطة : المحقق كونان بتاريخ 23-09-2004 الساعة 10:20.
المحقق كونان غير متواجد حالياً   رد مع اقتباس
قديم 04-11-2004, 23:48   رقم المشاركة : 2 (permalink)
معلومات العضو
zesty4ever
المشرف العام
 
الصورة الرمزية zesty4ever
 

 

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









zesty4ever متواجد حالياً

 

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

عدد النقاط : 10
zesty4ever تم تعطيل التقييم

 

 

ألف شكر ليك كتير (المحقق كونان) ...
حقيقي ما عارف أشكرك كيف على المعلومات القيمة عن هندسة البرمجيات ... وعن المجهود الجبار لي توضيح الفكرة عن هندسة البرمجيات ...

ونحن في انتظار الخطوات القادمة

التوقيع

zesty4ever متواجد حالياً   رد مع اقتباس
قديم 05-11-2004, 00:44   رقم المشاركة : 3 (permalink)
معلومات العضو
الحاج متولى
عضو مميز
 
الصورة الرمزية الحاج متولى
 

 

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








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

 

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

عدد النقاط : 24
الحاج متولى is on a distinguished road

 

 

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

التوقيع

الحاج متولى غير متواجد حالياً   رد مع اقتباس
قديم 05-11-2004, 03:03   رقم المشاركة : 4 (permalink)
معلومات العضو
حكيم زمانوا
عضو مشارك
 
إحصائية العضو









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

 

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

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

 

 

الله عليك يا كونان

والي الامام ومزيدا من المعلومات

حكيم زمانوا غير متواجد حالياً   رد مع اقتباس
قديم 05-11-2004, 04:53   رقم المشاركة : 5 (permalink)
معلومات العضو
Panadol Extra
عضو مشارك
 
الصورة الرمزية Panadol Extra
 

 

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








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

 

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

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

 

 

تحية إلى كونان .. واصل التحقيقات و اكشف الغامض و المثير و نحن لك مساندون

التوقيع

[motr1]طبعاً يا ملاكي .. لو يرضيك هلاكي .. أنا لا أعصى أمرك[/motr1]

Panadol Extra غير متواجد حالياً   رد مع اقتباس
قديم 05-11-2004, 10:59   رقم المشاركة : 6 (permalink)
معلومات العضو
OmeR4eVeR
عضو برونزي
 
الصورة الرمزية OmeR4eVeR
 

 

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








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

 

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

عدد النقاط : 10
OmeR4eVeR is on a distinguished road

 

 

روعة وماقصرت يا كونان
اصل وما تكسل

التوقيع

OmeR4eVeR غير متواجد حالياً   رد مع اقتباس
قديم 06-11-2004, 17:44   رقم المشاركة : 7 (permalink)
معلومات العضو
كبد الحقيقه
عضو فعال
 
الصورة الرمزية كبد الحقيقه
 

 

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









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

 

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

عدد النقاط : 10
كبد الحقيقه is on a distinguished road

 

 

شكرا جزيلا يا أيها المحقق كونان ونرجو المزيد في عالم هندسه البرمجيات

التوقيع




أشهد أن لا إله إلا الله
وأن محمد رسول الله
عليه أفضل الصلاة والسلام


اللهم أغفر وأرحم أخانا محمد حسن (البروف) وأسكنه فسيح جناتك مع الصديقين والشهداء يا أرحم الراحمين
كبد الحقيقه غير متواجد حالياً   رد مع اقتباس
قديم 03-04-2005, 15:55   رقم المشاركة : 8 (permalink)
معلومات العضو
Ammar
عضو جديد
 
إحصائية العضو








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

 

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

عدد النقاط : 10
Ammar is on a distinguished road

 

 

Thank you KONAN for these Information
Ammar غير متواجد حالياً   رد مع اقتباس
قديم 05-04-2005, 08:50   رقم المشاركة : 9 (permalink)
معلومات العضو
تامر بشرى
عضو مشارك
 
الصورة الرمزية تامر بشرى
 

 

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








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

 

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

عدد النقاط : 10
تامر بشرى is on a distinguished road

 

 

الله يديك العافيه وشكرا علي المعلومات القيمه والمجهود والشكل الجميل لتوصيل المعلومه.....
منتظرين المزيد......
تامر بشرى غير متواجد حالياً   رد مع اقتباس
قديم 24-05-2005, 13:46   رقم المشاركة : 10 (permalink)
معلومات العضو
singab
عضو جديد
 
الصورة الرمزية singab
 

 

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








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

 

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

عدد النقاط : 10
singab is on a distinguished road

 

 

مشكور اخوي كونان بس وين الباقي
singab غير متواجد حالياً   رد مع اقتباس