بسم الله الرحمن الرحيم
اخوانى اعضاء منتدى سوالف سوفت التقنى
سعدت جدا بالحصول على عضوية لديكم
هدفى من طرح هالموضوع هو اكتساب الخبرات حول طريقة تحليل الخبراء للاسكربتات
وهل مثلا تستخدمون مخططات
وسمعت ايضا عن الuml
اتمنى نشوف ردود كافيه ووافية
بسم الله الرحمن الرحيم
اخوانى اعضاء منتدى سوالف سوفت التقنى
سعدت جدا بالحصول على عضوية لديكم
هدفى من طرح هالموضوع هو اكتساب الخبرات حول طريقة تحليل الخبراء للاسكربتات
وهل مثلا تستخدمون مخططات
وسمعت ايضا عن الuml
اتمنى نشوف ردود كافيه ووافية
التعديل الأخير تم بواسطة vBman ; 23-04-2009 الساعة 01:07 AM
أهلاً ،،
بغض النظر عن اللغة المستخدمة .. أو حتى نوع البرنامج المطلوب .. فمبادئ الـSoftware Engineering واحدة .. فهناك عدد من الـprocess models التي ممكن أن تتبعها .. ممكن في معظم برامجنا نسخدم Waterfall Model .. بسيط و منطقي أكثر لمعظم تطبيقاتنا البسيطة .. تقسم المراحل إلى :
أولاً : Requirements Analysis :
بالغالب يقوم بها الـAnalyst .. بكل بساطة يتم حصر جميع متطلبات البرنامج سواء الـFunctional أو Non-Functional بطريقة معينة .. الذي ينتج من هذه المرحلة هو نوع من الـDocuments يسمى SRS ..
أهم ما يحويه هو الـUse Cases diagrams و هي عبارة عن UML Diagrams .. و يحوي Use Cases Specs و هي عبارة عن جداول يتم التحدث فيها عن كيفية التفاعل بين البرنامج أو بالأصح الـSystem و المستخدم User ..
و أيضاً قد يحوي بعض الإضافات و لكن هذه هي النقاط الأساسية ...
ثانياً : Design :
بالغالب و هو الأكثر شيوعاً و منطقياً استخدام OOD في التصميم .. ينتج من هذه المرحلة نوع من الـDocumentsيسمى SDS ( ربنا يعينك إذا كتبته ) .. يحوي بشكل عام الـSystem Arch. حيث توجد بعض الـStructral Modelsو الـControl styles يمكنك استخدام أي منها حسب نوع البرنامج ..
ثم تتحدث عن تقسيم البرنامج إلى Classes بالغالب هناك ثلاثة أنوع : Presentation , Business Logic & Data Source كل نوع يسمى Layer له مجموعة من الـClasses و قد توجد أنواع أخرى من الـClasses الخاصة بالـinterface بين هذه الـLayers ( في بيئة الـ.NET ممكن تضيف Layer أخرى خاصة في تطبيقات الـASP.NET MVC )
بعد ما تنهي هذه الـClasses .. تبدأ في عمل الـUML Diagrams (أنواع معينة منها) ..
1 - Class Diagrams :
من أهم أنواع الـDiagrams يوضع الـClasses الموجودة في البرنامج و العلاقات بينها
2- Sequence Diagrams :
من أهم أنواع الـDiagrams يقوم بعمل Modelling للـUse Cases المستخدمة في الـSRS على شكل Diagrams .. ببساطة يتحدث عن الأنشطة المستخدمة بالترتيب الزمني و كيفية تأثر الـObjects الموجودة .. و ضع أسفل الترتيب الزمني خطين !
3 - Collaboration Diagrams :
يتحدث عن الـCommunication بين الـClasses و لكن ليس له علاقة بالزمن ..
4- State Diagrams :
يتخدث عن الـState الخاصة بـObject معين أو حتى الخاصة بالـSystem عند إدخال شروط معينة
5- Component Diagrams :
يقسم البرنامج إلى مجموعة من الـComponents و كيفية التواصل بينها
6-Deployment Diagarms :
يقوم بعمل mapping للـenviroment المستخدمة في الـdeployment
رقم 5 و 6 مهمين في عملية الـimplementation
و هناك 3 أنواع أخرى Activity Diagrams و الـObject Diagrams و النوع الثالث ناسيه حالياً بما إني بتكلم من الذاكرة ..
و طبعاً في عملية الـModelling للــDB باستخدام الـERD أو/و EERD
بعد هذه المرحلة تصبح جاهز للـCoding و عملية الـIntegration.. و في الغالب Unit testing
ثم تأتي المرحلة الرابعة : Testing :
و هو أنواع كثيرة تعتمد على نوع البرنامج و إلى أي مدى تريد اختبار البرنامج .. في OOT و في Smoke testing
و أيضاً يوجد White & Black box testing .. ممكن في عملية الـWhite box تقوم بعمل Diagram (أعتقد ليس UML) اسمه Path flow diagrams .. عموماً معظم المبرمجين الذين يعملون بأنفسهم لا يقومون بها ..!!! للأسف ..
ثم تأتي مرحلة الـAcceptance Test حيث يقوم العميل بعمل Verification للبرنامج ..
ثم أخيراً مرحلة الـOperation و هي المرحلة تقوم بها بعمل الـDeployment و يبدأ البرنامج بالعمل .. و هناك مرحلة مستمرة و هي الـMaintenance .. واضحة من اسمها ..
ملاحظات :
1- في أية مرحلة من المراحل ممكن يحدث أي تغيير في المرحلة السابقة
2- هنا تحدثت بشكل مختصر جداً جداً جداً عن نوع واحد و بسيط من الـProcess Models .. فيه أنواع أخرى مثل الـExploratoryو الـthrow away prototyping و V-Model و WaterFall with prototyping ..
3- توجد أيضاً أنواع في الـModelling قد تستخدم على أنواع من الـProcess Models تسمى Iteration Models تستخدم في البرامج الضخمة مثل الـSpiral Model
الأسبوع الماضي كنت بكتب أنا و الفريق في مشروع بالكلية الـSDS لبرنامج بسيط .. للأسف اكتشفنا غلطتين تقريباً اضطررنا نغير في كل الـSDS اللي كان حوالي أكتر من 100 صفحة .. فلازم تخلي بالك و انت بتكتب الـdocs و خاصة لو كانت في شغل لشركات ..
Dr.no
__________________
دكتور لا
ما شاء الله ممتاز وهذا فعلا اللي قاعد ادرسه بمادة Software Engineering
__________________
سبحان الله وبحمده
> "كتبي، لعلها تفيدك!" *جديد
> "مدونتي، تصويري.." | LaZqA
شكرا ليك طبعا على الرد الجميل ده
بس يا ريت توضح شوية قصدك بالسوفتوير انجنير لانى لا اعلم عنها شىء
وانا لاحظت معنى انى هستخدما الكلام ده لازم اكون ببرمج بالكلاسات
وزاعتقد طريقتك تنفع للمشاريع الضخمة وكده:1power:
لاكن الاسكرباتات المتوسطة والصغيرة هتكون وقت على الفاضى :court:
تحياتى
Dr.no معلومات مفيده جدا ولكن للمشاريع الضخمه او مشاريع الsoftware وليس على الweb development
قد تكون مكلفه مع المشاريع الصغيره
فببساطه شديده اخي يمكنك ان تمسك ورقه وقلم وتخطط بنفسك للمشروع اللي ستقوم به
ماذا ستحتاج له عدد الصفحات صفحه للتسجيل صفحه لوضع ردود الية عمل الموقع صحة التسجيل اولا
ثم ظهور المحتوى وتدوين كامل الملاحظات والافكار الجديده على الورق وبعدها تبدا بمشروعك
هذه الطريقة هي الطريقة الرسمية التي يتم العمل بها في الشركات الكبري حتي علي المشاريع الصغيرة
وكأنها طريقة ستاندرد لتقديم أي مشروع
لكن حينما تعمل علي برمجية وحدك او مع مجموعة فليس شرط ان تنفذوا هذا الكلام ولا لعمل docs حتي للمشروع ويمكنك تحديد الطريقة المثلي لكم
__________________
السيف أصدق أنباء من الكتب
انا اريد مخطط مسوى بالورق والقلم مثلما تقول
الديك مثال من فضلك
جيد اخوى ,,
انا اريد مخطط مسوى بالورق والقلم
الديك مثال من فضلك
أهلاً ،،
هذه المراحل تطبق حتى على الـWeb و لكن مع بعض التغييرات في المحتوى و ليس في المراحل ..
أما الاستخدام في المشاريع الصغيرة ، أنا معك ، فقد تكون غير مجدية في البرامج الصغيرة ، و لكن حتى لو كان البرنامج "صغير" و هناك مبرمج واحد فقط ، و لكن إذا كان هناك مشترِ فلا بد من هذه الـdocs للاتفاق (بعضها ممكن يعتبر عقد قانوني خاصة SRSو SDS) .. و أيضاً إذا تم تغيير هذا المبرمج فالمبرمج التالي سيحتاج لمعرفة الخطوات المستخدمة و لن يجدها على الورق الذي تتحدث عنه
فالخلاصة ، قد لا تحتاج هذه الـdocs في البرامج التي تقوم ببرمجتها لنفسك لمجرد التعلم ، و لكن للاحترافية و العمل الجاد ، يجب وجودها ..
Dr.no
__________________
دكتور لا
أهلاً ،،
حتى الشركات الضخمة فيمكن أن تعمل Standards خاص بها ،، و لكن لأسباب معينة منها ما ذكرته في ردي السابق مباشرة و أيضاً سبب هام نسيت ذكره هناك
لحصول الشركات على شهادات الـISO و شهادات الكفاءة الأخرى ، من أحد معاييرها هي وجوب استخدام هذه الـStandards الموجودة في IEEE ..
Dr.no
__________________
دكتور لا
جيد مستر نو
من فضلك
ابيك تشرح وهو تحليل بسيط لاى سكربت
أخي كما وضحنا لك هذه المعايير دائما ما تكون ستاندرد للشركات ليكون العمل موحد وكما وضح الأخ العزيز ليكون مرجع لأي شخص يعمل في الشركة
فلا أذكر أني عملت أي شئ من هذا في حياتي سوي في مشروع تخرج كلية الهندسة فقط وذلك لكونه مشروع سيكون مرجع من بعد لطلاب جدد او يطلع عليه الدكاترة في مناقشة المشروع
هل انت مقبل علي وظيفة في شركة ولهذا تريدها
جرب البحث عن كتاب في السوفتوير إنيجييرينج
ويفضل دائما معرفة تلك التفاصيل من شخص يعمل بالشركة
اما لو كنت تريدها بشكل عام لتقدمها في ال cv فأعتقد ليس امامك سوي البحث عن كتاب ولعل الأخ Dr.no يفيدك بكتاب كونه يعمل في شركة ويعرف نظام الشركات
__________________
السيف أصدق أنباء من الكتب
اخوى انا لا استطيع العمل بالطريقة التى قالها مستر نو
لانى لا استخدم الكلاسات فى برمجتى
لا اصل لهذه الدرجة من الاحترافية
اكرر طلبى من فضلك
اب