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


نحن لا ندعى التميز ولكن نسعى لنكون المتميزون
 
الرئيسيةأحدث الصورالتسجيلدخول
أفضل 10 أعضاء في هذا المنتدى
Admin - 946
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
احمد محمد العتعوتى - 450
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
الاسيوطى - 411
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
محمد مراد عبدالحفيظ - 367
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
ميادة - 219
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
الكابتن ميدو - 180
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
بنت الاسلام - 148
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
الفرعون - 135
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
مى - 128
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
الملك - 106
 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_rcap دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Voting_bar دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Vote_lcap 
مواضيع مماثلة
بحـث
 
 

نتائج البحث
 
Rechercher بحث متقدم
المواضيع الأخيرة
التبادل الاعلاني
 
 
 

 

  دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟

اذهب الى الأسفل 
كاتب الموضوعرسالة
احمد محمد العتعوتى
وسام الابداع
وسام الابداع
احمد محمد العتعوتى


ما رايك فى المنتدى ما رايك فى المنتدى : منتدى السراطنية
عدد المساهمات : 450
نقاط : 1190
السٌّمعَة : 51
تاريخ التسجيل : 12/11/2010
العمر : 31

 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Empty
مُساهمةموضوع: دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟     دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Icon_minitime12011-06-21, 03:07

 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Introfv1


 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  201527448mw2qg2

 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  V8C00599
دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟

أهداف الدرس الأول:
سوف نحاول خلال هذا الدرس الإجابة على هذه الأسئلة:

ما هي هندسة البرمجيات؟ من يشارك بها؟ ما هي مكونات النظم البرمجية؟ وكيف يتم بنائها؟

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

المرجع :

1- Shari Pfleeger, "Software Engineering - Theory and Practice", 2nd Edition



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

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

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



 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Img1_1



شكل (1)



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



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



أي أن، هندسة البرمجيات تعنى بتصميم وتطوير برامج ذات جودة عالية.




من يشارك في هذه العملية؟


المشاركون في عملية صناعة البرنامج، عادة ما يندرجون تحت ثلاث مجموعات:




الزبون Customer: وهو الشركة (أو الشخص) الممولة لمشر وع تطوير البرنامج المطلوب




المستخدم User: الشخص (أو مجموعة الاشخاص ) الذي سوف يقوم فعلا باستعمال البرنامج، والتعامل معه مباشرة.




المطور Developer: وهو الشركة (أو الشخص) الذي سوف يقوم بتطوير البرنامج لصالح الزبون.




الشكل التالي يظهر العلاقة بين الفئات الثلاثة السابقة




 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Img1_2



شكل (2)



مكونات النظام


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




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



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


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


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


هذه العناصر تسمى كائنات objects وهي عادة ماتكون مرتبطة ببعضها البعض بشكل أو بأخر. مثلا الكائنات يمكن أن تكون مرتبة في مصفوفة أو سجل (قيد).


وصف هذه الكائنات نوعها، النشاطات التي يمكن إجرائها عليها ... يجب وضعها بدقة هي ايضا.



2. العلاقات وحدود النظام Relationships and System Boundary


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



بهذا يمكن أن نعرف النظام A System على أنه تجمع من:


· مجموعة من الكائنات entities.


· مجموعة من الانشطة activities.


· وصف للعلاقات بين الكائنات والانشطة Relationship.


· تعريف لحدود النظام boundary.

الرجوع الى أعلى الصفحة اذهب الى الأسفل
احمد محمد العتعوتى
وسام الابداع
وسام الابداع
احمد محمد العتعوتى


ما رايك فى المنتدى ما رايك فى المنتدى : منتدى السراطنية
عدد المساهمات : 450
نقاط : 1190
السٌّمعَة : 51
تاريخ التسجيل : 12/11/2010
العمر : 31

 دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Empty
مُساهمةموضوع: رد: دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟     دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟  Icon_minitime12011-06-21, 03:08

كيف نبي نظام؟


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


1. عقد اجتماع مع العميل لتحديد متطلباته، هذه المتطلبات تشمل وصف النظام بجميع مكوناته التي شرحنا.


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


3. بعد موافقة العميل على التصميم يتم العمل على وضع التصاميم التفصيلية لأجزاء المشروع.


4. كتابة البرنامج


5. اختباره، واعادة مراجعة المتطلبات التي وضعها العميل للتأكد من تحققها في البرنامج.


6. تسليم النظام إلى العميل.


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



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



•·.·´¯`·.·• (نهاية الدرس الأول) •·.·´¯`·.·•

الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
دورة هندسة البرمجيات » [الدرس الأول]: » ماذا نعني بهندسة البرمجيات؟
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
»  دورة هندسة البرمجيات» [الدرس الثاني]:» دورة حياة تطوير المشروع
»  دورة هندسة البرمجيات » [الدرس الرابع]:» تصميم النظام
»  دورة هندسة البرمجيات » الدرس الخامس الجزء الثاني كتابة البرنامج واختباره

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