صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 25

الموضوع: ماهو التصميم لدى المهندس ؟

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    166

    ماهو التصميم لدى المهندس ؟



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

    الفكر بدأت عندي عندما قرأت احد تدوينات اخونا العزيز سردال , و تذكرت اني لاحظت كثيرا مشاريع و برمجيات الشباب فيها ثغرات كثيرة و عيوب كبيرة ... لأنهم يتخذون منهج الـ quick & dirty في التصميم

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

    لذا ان ممكن اساعدهم بإعطاء خلفية عن مادة و موضوع اسمه الـ ( software engineering ) وهي تساعدهم كثير بمشاريع ( لا دخل لها نهائيا بالبرمجة )
    هي تساعدك كثيرا بمصنع مهنجية و تسلسلية عندما تريد تصنع او تصمم اي برنامج او مشروع او نظام ....

    لتخبر فقط ان تصميم الواجهات ( الفوتشوب و الفرونت بيج .. الخ ) و لغات البرمجة ... هي جزئيات صغيرة جدا من البرمجة ... و البرمجة جزئية صغيرة من التصميم ... و التصميم جزئية صغيرة من هندسة البرمجيات .

    وهذه ستكون سلسلة مواضيع سوف ادخل بها بالتفاصيل و استمر بها اذا رأيت هناك تفاعل تجاها و رغبة بالاستمرار من قبلكم ( و ربما اوفر لكم وصلات كتب و تصاميم اذا اردتم )

    =======================================================

    ما معنى كلمة تصميم ( Design ) لدى المهندسين او ما احب ان اسميهم انا المصممين و ذلك لسبب سوف اذكره بعد قليل
    الاغلبية يعتقدون ان التصميم هو الشكل الخارجي ( بألوانها و صورها و نصوصها … الخ ) كما أشار الأخ سردال هنا و هذا خطىء , بل تسمى هذه الجزئية الــ ( interface ) … وهي اصغر جزئية من جزئيات التصميم ( على الرغم من اهميتها ) .

    واما بعض المثقفين و المبرمجين يعتقدون بأن التصميم هو البرمجة … وهذا ايضا خطىء , و تسميتها الصحيحة ( coding & implementation ) و هي ايضا جزئية فرعية من التصميم . بل آخرى جزئية نهتم بها في التصميم

    و في الحقيقة هذه الجزئية هي التى تميز مهندس الكمبيوتر عن المبرمج , حيث المبرمج كل ما يهمه هي يبرمج و يمشي … اما المهندس فهو انسان مادي لأقصى حد ممكن , ينظر الى الموضوع بصورته الكاملة ( look to the big picture )

    كلمة التصميم ممكن تستخدم بعدة مواقف … لكن الذي سوف اشرحه اليوم هو هنسة البرمجيات ( software engineering )

    و مراحل االبرمجيات ( software process ) تنقسم الى اربع اقسام :-

    requirement
    Design
    evolution
    validation
    الــ requirement … هو تحديد المطلوبات بشقيه … الشق الاول هو تحديد المطلوبات التى نريدها من هذا النظام او المشروع الذي سوف نصنعه و نسمي هذا الشق بالخدمات ( serves )

    و الشق الثاني هو تحديد المطلوبات التى سوف يحتاجها هذا النظام الذي نصممه .و نسمي هذا الشق بـالمحددات ( constrains )

    و الــ requirement تتلخص بسؤال what problem the system solve ( ماهي المشاكل التى يحلها النظام )

    اما الــ Design فيتلخص بسؤال who the system solve the problems .. لذا كما ترى التصميم مرتبط بشدة مع المطلوبات , فلا نقدر نصمم بشكل جيد بدون ان نحدد ما هي المطلوبات ثم عندما نصمم نبدأ نتحدث كيف نوفر الــ serves و ماهي الطرق التى نتبعها و ايضا كيف نتعامل مع المحددات

    و الــ Design يتقسم الى مليون قسم و قسم … و فيه نقاط تختلف من شخص لآخر .

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

    و قد تظهر لك خطوات معقدة لا فائدة لها …. لكن صدقني هذا البرنامج او النظام الذي صنعته بالغالب مليء بالعيوب و الثغرات و هو ما نسميه بالـ ( quick & dirty ) … اما الانظمة و البرامج الحقيقة تلك التى تأخذ بعض السنوات … هذه الخطوات اساسية لها و مهمة جدا و قد توفر ملايين الدولارات و العديد من السنوات .

    و للحديث بقية ….


    :: ردود مفيدة ::

    3

    4

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

    ( لمن ليست له عضوية يقد يعلق هنا )








  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Jun 2004
    المشاركات
    723


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





    __________________
    سبحان الله وبحمده---سبحان الله العظيم
    برامج عربية:
    البوابة العربية
    المدونه العربيه
    MySmartBB

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jun 2004
    المشاركات
    261


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

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

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

    لي بعض التعليقات على بعض ما ذكرت أخي باسم:

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

    هذا صحيح، فبالعادة يكون هناك حوالي أربع أو خمس مصممين في فريق تصميم المواقع الكبيرة، و كل منهم له عمل مختلف عن الآخر، و هم:

    * مهندس أو مصمم البرنامج (Web Application Engineer/Designer):
    و عمله كما ذكرت هو البحث في كيفية عمل البرنامج، و لكن دون المساس بسطر واحد من الكود، بل يتم استخدام لغة الUML لعمل التصاميم التي تعبر عن كيفية العمل في ذلك البرنامج.

    * مصمم المعلومات (Information Designer):
    و مهمته تكمن في أخذ المعلومات و محاولة "تصميمها" و وضعها في أمكان محدده من الصفحه، بحيث تكون سهلة القراءة و تسمح للقارئ بعمل مسح سريع عليها و فهم ما فيها من معلومات، كما يقوم بتحديد نوع الخط المستخدم في العناوين و الفقرات بحيث تكون سهلة القراءة كما ذكرت.

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

    * مصمم الواجهة (Visual/Interface Desinger):
    و هو الشخص المسؤول عن بناء هيئة الموقع بشكل عام، فإن كان الموقع موضوعه يتعلق بالأطفال، قام بإعطائه لمسة المرح و الطفولة، و إن كان موقع يمثل شركة أعطاه الشكل اللائق المائل للجدية. بشكل عام هو المسؤول عن شكل الموقع النهائي.

    * مصمم المواقع (Web Designer):
    ببساطه تكمن مهمته في تحويل التصاميم التي تم انتاجها من قبل مصمم الواجهة إلى موقع حقيقي باستخدام لغات الـ XHTML و الـ CSS. قد يتضمن عمله بعض اللمسات التطويريه كاستخدام الJavascript و بالمستقبل القريب قد يضم لغة الXForms.

    هناك أيضاً الـ Instructional designer لكن مهمته تكمن بشكل عام في مواقع الE-learning.


    ذكرت في جزئية أخرى أن هندسة البرامج تتبع فرع هندسة الكمبيوتر، و لكن أعتقد أن الأمر غير ذلك، فعلم هندسة البرمجيات هو علم منفصل، و هناك الكثير من الجامعات التي تدرس هذا العلم كتخصص كامل يتبع كلية الهندسة.


    أما عن مراحل تطوير البرمجيات فهي 7 (هناك اختلاف على عددها الحقيقي فبعض المصادر تعدها أقل من 7 و الأخرى أكثر)، و هي كالتالي:

    1- تحليل المتطلبات:
    و تضم عملية معرفة المتطلبات الأساسية من النظام الذي سيتم تطويره، و قد تتبع هذه المرحلة لعلم "هندسة المتطلبات" أو Requirements Engineering.

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

    3- هندسة البرنامج:
    و هي المرحلة التي يتم فيها بناء هيكل النظام و كيفية عمله و كيفية تفاعله مع بعضه البعض لكن كما سبق و ذكرنا دون الإقتراب من الكود.

    4- تطوير النظام:
    عملية برمجة البرنامج بعد اكتمال جميع المواصفات و جميع التصاميم التعلقه به، فما على المبرمج الآن سوى أن يقوم بتطبيق هذه التصاميم و جعلها من أشكال و رسوم إلى كود.

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

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

    7- صيانة النظام:
    و هي عملية يتم عملها بين المدة و الأخرى، بحيث يتم التأكد من أن النظام مازال يعمل بالشكل المطلوب دون أي مشاكل تذكر، و أنه مازال قادراً على التعامل مع التقنيات الحديثة التي تخرج بشكل مستمر.


    بعد ذكر هذه المراحل جميعاً، يمكنني القول بأن المرحلة الأقل أهمية من جميع هذه المراحل هي مرحلة تطوير النظام.


    أخيراً، أعتذر على الإطالة و أعتذر إن كنت قد خرجت عن الموضوع...


    و لك كل شكري و تحيتي..

    عماد الصدّر





    __________________
    معاً لإنترنت عربية أفضل...

    معلومات مهمة عن أدوار فريق العمل في مواقع الويب
    http://www.swalif.net/softs/showthread.php?t=120925

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    166


    Suliman1

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

    isader.com

    مرحبا اخي الكريم ... اشكر لك معلوماتك التى اثرت هذا الموضوع

    لاحظ ان بالشكل المعلومات قد تختلف بيني و بينك , لكن تظل هي نفسها
    لأنه حتى الكتب نفسها تختلف فيما بينها .

    انا استخدم المعلومات التى اضعها هنا اعتمد فيها على الكتاب ( software engineering ) تأليف Ian Sommerville في جامعة lancaster in UK

    بالفعل فإن علم هندسة البرامج هو علم ضخم جداً، فمصطلح "هندسة البرامج" قد بدأ استخدامه بشكل فعلي في الستينيات من القرن المنصرم، أي أن هذا العلم قد بدأ قبل 40 عام تقريباً، فتخيل القدر الهائل من المعلومات الموجوده فيه.
    نعم بالفعل .... الموضوع متشعب بشكل كبير حتى ان بعض الجامعات تدرس software engineering 1 & 2 & 3 ... اي تخصص لها ثلاث مواد متسلسلة
    بالغالب ما اقصد اضعها هنا هو الكلام المبسط المتعلق ب software engineering 1

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

    حيث هندسة الكمبيوتر بحد ذاتها تعتبر هندسة مشتقة من الهندسة الكهربائية

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

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

    ان بعض النقاط قد تعتبر جزئية من نقاط اخرى ... و بعض النقاط قد يتم تجاهلها او تعديها لأنه ربما قد نقدر على ضم المهام التى تتم فيها في جزئية اخرى

    و الله ولي التوفيق






  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Oct 2003
    المشاركات
    530


    وعليكم السلام ورحمة الله وبركاته اخواني ... واشكركم جزيل الشكر على هالشرح الرائع

    ولكن هناك بعض الامور التي اود السؤال عنها :

    ----------
    و في الحقيقة هذه الجزئية هي التى تميز مهندس الكمبيوتر عن المبرمج , حيث المبرمج كل ما يهمه هي يبرمج و يمشي … اما المهندس فهو انسان مادي لأقصى حد ممكن , ينظر الى الموضوع بصورته الكاملة ( look to the big picture )
    ----------

    اخي bassem ... انت قلت (( حيث المبرمج كل ما يهمه هي يبرمج و يمشي )) والبرمجة في هذه الايام تندرج تحت علوم الحاسب computer science بشكل مكثف ... وقد تم تصنيف هذا المجال تحت الهندسة قبل فترة قصيرة من الزمن مما يجمعها بشكل هندسي مع باقي المجالات .

    ولكن الشيء الذي لم افهمه ... ما الفرق بين ال computer science و ال computer engineering في هذه الأيام ... رغم ان المواد شبه متشابهة ... والعند دراستك لل computer science ايضا نقوم بدراسة ال software engineering 1 و 2

    صحيح ان ال computer science كان دراسة لل user interface ولكنها حاليا اصبحت معدة اكثر واصبحت مشابهة لدراسة هندسة الكمبيوتر .

    قد يكون الفرق الوحيد ... والذي رايته انا ... ان هندسة الكمبيتور تحتوي على مواد تابعة للهندسة الكهربائية اكثر ... ولكن للباقي لا ئيء .

    انا متافس اذا كنت خرجت عن نطاق الحديث قليلا ... ولكنه سؤال دائما يراودني .

    وشكرا






  6. #6
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    166


    mr graphics

    Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.

    Computer science theories are still insufficient to act as a complete underpinning for software engineering (unlike e.g. physics and electrical engineering).

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

    نعم هناك نقاط كثيرة يجتمعون فيها لكن ليسا نفس الشيء

    اذا اردت الدقة اكثر ... علم الحاسوب هو جزء من هندسة الكمبيوتر

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

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

    الجامعات تختلف و الكتب كذلك .... و بعض الجامعات الصغيرة و المتوسطة ايضا تدرس كلا العلمين معا .
    لكن بالجامعات الكبيرة كل منهما يكون بقسم بعيد عن الاخر

    و الكلام دوما يقع تحت وجهة نظر معينة .






  7. #7
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    282


    لا املك إلا ان اقول لك ... شكراً ....






  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Oct 2003
    المشاركات
    488


    اقتباس المشاركة الأصلية كتبت بواسطة زاهي الشوق
    لا املك إلا ان اقول لك ... شكراً ....
    و شكر آخر هنا





    __________________
    زايد على كل لعرب بالوفى زاد ___ ساق المراجل لين وقف عددها

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Aug 2005
    المشاركات
    188


    مشكور اخي الكريم





    __________________
    سبحانك اللهم وبحمدك ، أشهد ان الا الــة الا انت استغفرك واتــوب اليك

  10. #10
    Banned
    تاريخ التسجيل
    Nov 2005
    المشاركات
    56


    مجرد فلسفة فارغة!






  11. #11
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    166


    مجرد فلسفة فارغة!

    افحمتني بأسلوبك المبدع و بترابط كلاماتك و تحرييك الامين للدقة العلمية

    و اعجبني كثيرا دليلك الذي سقته بالسطر السابع من ردك

    لكني بعد مراجعة ردك لا ارى ان الادلة التى وضعته تكفي بأن نعتبر علم هندسة البرمجيات علم فارغ

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

    ملاحظة :-
    منعا للاحراج لم ارغب بالرد عليك لكن للاسف سوالف يعاني من قلة عدد المشرفين ... وهذا ليس اول ردك لك من هذا النوع
    http://www.swalif.net/softs/showthre...24#post1088724
    و الان تذكرت لماذا لم اكن اشارك كثيرا بسوالف ... و المؤسف جدا لسبب لا يعلمه الا الله هذا المنتدى مليء بالمبرمجين






  12. #12
    Banned
    تاريخ التسجيل
    Nov 2005
    المشاركات
    56


    ---






  13. #13
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    166


    لم اسمع بحياتي تخصص اسمه مبرمج

    فأي كلية هذه
    و ماهو مشروع تخرجك و ماهي مواد مستوى الــ 400 التى اخذتها قبل تخرجك

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

    و انا مترجم الكلام و احط جنبه الكلمة باللغة الانجليزية بعدين اشرح شنو معناه

    لكن انت الله يهديك دخلت و لم تفهم كلمة لذلك تصورت ان اي شيء لا تفهمه هو فلسفة فارغة

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






  14. #14
    Banned
    تاريخ التسجيل
    Nov 2005
    المشاركات
    56


    ---






  15. #15
    عضو سوبر نشيط
    تاريخ التسجيل
    Jun 2005
    المشاركات
    750


    لاحول ولاقوة إلا بالله

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





    __________________
    :)
    www.ltouch.net





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض