كورسات _ courses
كورسات _ courses

@c_4et

19 تغريدة 2 قراءة Apr 19, 2021
فيه حاجة اسمها
☑️☑️ Software Development Life Cycle☑️☑️
وديه حاجة احنا بنعملها لما نيجي نعمل سيستم.. بداية من اننا نقعد مع العميل نفهم هو عاوز ايه.
لحد ما نسلم له السيستم ونطوره فيما بعد.. جميل
بتمر بـ 5 او 7 مراحل..
فيه ناس بتقسمهم كدا وناس بتقسمهم كدا.. انا عن نفسي بفضل الـ 7
اول مرحلة الـ
✅ Requirements Gathering .✅✅🦅
انك تقعد مع العميل وتفهم منه هو عاوز ايه.. وغاااالبا العميل بيبقى مش فاهم هو عاوز ايه اصلا وعمال يهري وخلاص 😂 فانت بقى تحول الهري ده لكلام ناس عاقلين ومتنظم
تاني مرحلة هي الـ
✔️✔️ Analysis✅☑️
انك تمسك الكلام اللي عندك وتبدأ تحلله، وتشوف انت تقدر فعلا تعمله ولا لا، وهتعمله ازاي.. ومحتاج كام Developer علشان يعمله في وقت قد ايه تقريبا.
تالت مرحلة هي الـ☑️☑️ Planning ✅✅
انك تمسك التفاصيل بقى وتنظمها كلها.. تقسم البروجيكت لـ Modules مثلا وكل مديول
هياخد ولنفترض شهر او شهرين او حسب ما يكون.. وتعرف التكلفة قد ايه.. ومرتبك قد
وتعرف ايه اللغات اللي هتشتغل بيها.. لان مش معنى انك شغال ويب ان يلا بينا نشتغل php .. لا في بعض الاحيان هيكون الاحسن انك تشتغل ASP واحيان تانية هيكون الاحسن Django كل ده حسب السيستم نفسه عامل ازاي.. وديه حاجة ممكن تكونAdvanced شويتين انك تبقى فاهم الفرق بين كل واحدة منهم والتانية
رابع مرحلة📍📍🚩🚩
وديه بالنسبة لي تعتبر أهم وأكبر مرحلة.. وهي الـ Design . ده بيكون عندك مجموعة Diagrams بتوصف السيستم كله.. زي الـ Class Diagram والـ ERD والـ Sequence Diagram وغيرهم..
اللي درسناهم في الكلية على ما
أتذكر كانوا . وأكيد فيه غيرهم يعني. ده بيحول الكلام اللي انت طلعته في اول مرحلة إلى شوية رسومات إنت تفهمها كويس جدا، والعميل غالبا مش هيفهمها بنسبة أكتر من 20% .. بس هتكون حلقة وصل ما بين الكلام المكتوب (سواء عربي او انجليزي) وما بين الكود اللي انت هتكتبه.
خامس مرحلة وديه تعتبر اسهل مرحلة هي الـ
✔️✔️ Implementation ✅✅
اللي هي مرحلة التكويد.. ايوة ايوة ديه اسهل مرحلة متستغربش 😂💔 💙
سادس مرحلة هي الـ
📍📍 Testing 🚩🚩🦅
وده بيكون انواع كتير، وله دراسة خاصة بيه وكورساته ومواااال كبير كدا انك تتأكد ان كل زرار في الموقع شغال صح، وان
سابع مرحلة هي الـ
Verification 📍📍
وهي انك تتأكد ان اللي انت عامله (واللي المفروض انه شغال صح حسب المرحلة اللي فاتت) هو فعلا اللي العميل عاوزه بالظبط فعلا، مش انك بتحقق أحلامك انت.
المفروض انك بتدرس كل الكلام ده بتعمق بقى.
واستنى عشان لسة مخلصتش فيه حاجتين كمان هتكلم عنهم 😂😂😂😂💙❤️
تاني حاجة بالتوازي مع اللي فات هي الـ Architecture
يعني اييييييه؟!
اي سيستم بيتكون من حاجتين
1. Functional Requirements
2. Nonfunctional Requirements
✅الاولى هي الحاجة اللي انت بتكتبها في الكود.. زي مثلا ان يكون فيه صفحة رئيسية فيها كذا كذا كذا، وان يكون فيه انواع عضويات كذا وكذا وكذا.. والكلام ده كله
✅التانية معناها حاجة حوالين السيستم مش جوة السيستم.
زي مثلا السيكيوريتي.. يعني انت مثلا لو بتعمل سيستم بنك، لازم السيكيوريتي تكون عالية عالية عالية جدا.. لو بتعمل سيستم لمستشفى او جهاز طبي، لازم الدقة تكون 99.8% او اعلى.
طب مثلا السيرفر اللي انت هتستعمله يكون ويندوز ولا ويندوز سيرفر ولا لينكس؟!
طب انت محتاج سيرفر امكانياته عاملة ازاي؟! هل جهاز core i7 يكفي واشطة لان السيستم صغير واليوزرز اللي هيدخلوا عليه شوية، ولا انت محتاج جهاز تنين مجنح عشان يشيلك؟!
وقيس على كدا حاجات كتيرة اوي بردو بتدرسها هنا
✅تالت حاجة حاجات تبع الكود نفسه. إنت دلوقتي اعتقد لسة مدرستش OOP مظبوط؟
تمام هي حاجة بتنظم الكود شويتين.. بس بعد ما تدرسها هتدرس Data Structure & Algorithms
وبعدها هتدرس حاجة عظيمة جدا جدا اسمها Design Patterns ديه مرحلة حلوة اوي من تنظيم الكود.. بتخلي الكود بتاعك سهل للقراءة.. سريع.. وتقدر تعدل عليه براحتك بعد كدا.
ولاازم تعمل حسابك على حاجات زي الـ Decoupling ديه حاجة هتفهمها لما تتعمق في الـ OOP بس هحاول افهمهالك باختصار ان مفيش حاجة تكون مرتبطة بحاجات كتيرة تانية.. بحيث انك لو حاولت تعدلها هتضطر تعدل شخروميت حاجة في السيستم وهتتنفخ فيها.. انما لو الإرتباط قليل فبالتالي هتقدر تعدل في مكان
وازاي بردو تتعامل مع كود وحش، وازاي انك تحوله لكود حلو ومنظم بحاجة اسمها Refactoring
حاجات كتيرة حوالين الكود، مش هقعد اعلمك فانكشن جديدة مثلا، انما هعلمك ازاي تفكر اصلا تعمل كود بيشتغل على سيستمات كبيرة وضخمة.
دا كل حاجه والكتب الي تقدر تساعدني في مجال
1. Code Complete 2nd edition
2. Clean Code
3. Working Effectively with Legacy Code
4. Writing Secure Code 2nd Edition
5. Clean Agile
6. Gang of Four
7. Head First Object Oriented Analysis and Design
8. Head First Design Patterns
9. Cracking the Code Interview
10. Introduction to Algorithms
11. Refactoring
12. Clean Coder

جاري تحميل الاقتراحات...