سمعيني؟ طيب تمام، الـ presentation واضحة؟ تمام. طيب خلينا نبدأ كده اللكتشير بتاعتنا. إحنا إن شاء الله نكمل على الجزء اللي إحنا بدأناه المرة الفاتت. إحنا تقريبا بدأنا يوم الأربع مش بعيد يعني مفروض الناس تبقى فاكرة إحنا قلنا إيه. إحنا بس كنا بنتكلم introduction عن يعني e-software engineering.
حد فاكر حاجة من اللي إحنا قلناها؟ يعني e-software. دي تقنى. طيب بنقول هنا ان الـ software بالنسبة لنا هو يعتبر ايه؟ يعتبر application او computer program بس attached معا ايه؟ documentation وقلنا الـ documentation دي هدفها ايه؟ ان انا بسيف كل اي operation انا عملتها اي function موجودة عندي اي input اي output اي الprocedure عاملة ازاي الـ errors اللي بتطلع ال bugs اللي بتطلع الـ كل ال expected values اللي ممكن تطلع عشان غيري بعد كده لما يجي يكمل يفهم انا كنت اعمل ايه.
تمام? وده هدف اصلا الكورس ده ان انا كمان اعمل في النهاية او الفكرة اللي انتو هتختاروها ايا كان هي ايه? بتسيب فيها الايه?
الديتا بتاعتك. طيب. ده كده كان فكرة بعد كده قلنا يعني ايه? تمام?
قلنا يعني ايه? اللي احنا بنتبقى فيها طبعا كتيرة جدا. وبدأنا نتكلم على الـ Definition of Software Engineering. قلنا إيه بقى؟ Software Engineering. إنت عايز تطبق اللي إنت عملته ده أو الـ Functions أو الـ Programs اللي إنت عايز تعملها بس بطريقة إيه؟ Systematic.
يبقى فيه زي Approach عندك أو فيه زي Rules عندك بتمشي عليها أو Steps معينة عشان توصل لمين؟ للجول بتاعك. تمام؟ وقلنا ده أول Definition عندنا للـ Software Engineering Based on IEEE. بعد كده؟ تكلمنا وقلنا ايه هي الاكتيفاتيز اللي انا هعملها؟ قلنا قلنا ان انا لما بيكون عندي تاسك معينة وبديها لكذا حد كلنا كل واحد بيبقى ليه السينكينج بتاعه المختلف لكن في النهاية كلنا بنمر على الايه الاكتيفاتيز دي وقسمناها لفور فيزز عندنا اللي هم ايه ان انت بتعمل اول حاجة بتبتزي تفهم تشوف هي ايه من خلال الـ communication مع الـ client اللي جاي لك بتبتزي تسأله أنا عايز.. انت عايز تعمل ايه الالوان ايه الحاجات دي كلها تتفقوا عليها بعد كده بتعمل analysis analysis لـ problem دي عشان تشوف ايه الـ schedule بتاعك هتمشيه ازاي الـ plan بتاعتك الـ theme بتاعك اللي هيشتغلوا هيشتغلوا sequential و هيشتغلوا parallel and so on بعد كده بتعمل ايه planning لـ solution بتاعك بمعنى ان انت بتبتزي تـ design و تطلع models تدزاين الـ software بتاعك وتبتزي تعمل modeling ليه وده اللي احنا اتفقنا ده target بتاع الكورس بتاعنا بعد كده خلصت الـ design ده انت ك software designer بتبتزي تودي المين؟ ليه؟ ال developer هو يبتزي يعمل الكودينج بأي programming language انت عارفها بتبتزي تعمل generation ليه الكود وفي النهاية بتعمل بالتست الكود بتاعك ده او ال software بتاعك ده عشان تشوف هل تقبلت المحاولات التحديثية؟ هنبتزي يا شباب نتكلم على frequent questions بتتسائل دايماً في الكورس ده.
لازم أبقى أنا خارج من الكورس ده وانعرفها. عادي جداً في أي interview في أي شركة ممكن تقابلك سؤال من الأسئلة دي لازم تبقى عارف إجابتهم إيه. فأول حاجة بيسألنا أو عايز يعلمنا يعني إيه software.
قلناها قبل ذلك، لكن سأأخذ تنبيه آخر. ما هو software engineering؟ ما هو الفرق بين software engineering و system engineering؟ ما هو الفرق بين software process؟ ما هو الفرق بين computer science و software engineering؟ ما هو software process model؟ ويعني ايه الـ cost of the software؟ ازاي يقيس الـ cost بتاعي؟ ويعني ايه كلمة case؟ وايه هي الـ attributes اللي انا اقدر اوصف فيها ان الـ software بتاعي ده good or not؟ تمام؟ فاااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا لو جالي أو سألني يعني إيه software؟ أرد أقول على طول إيه؟ هو computer program associated with a documentation. هو ده اللي إحنا قلناه في السلايد زي، بس كان بطريقة مختلفة. رح فين؟ أهو، إنه مجموعة instructions مع data structure مع documentation. definition تاني أو source تاني قال لنا لا، هو عبارة عن إيه؟ هو عبارة أو يعني هو نفس الحاجة، هو عبارة عن computer program associated with a documentation.
الـ Documentation دي فيها إيه؟ فيها شيء لـ Requirements، الـ Models أو الـ Design اللي أنت عملته، و الـ User Manual عشان كمان إيه؟ الـ User يعرف يشغل الـ Software أو الـ Application اللي أنت بدهوله ده إزاي. يبقى من هنا ورايح لو سألني أو جابلي Complete أو M-Secure أو True-False أو أي حاجة، يعني إيه Software؟ أقول Computer Program Associated with Documentation. الـ Documentation دي شيء لإيه؟ الـ Requirements، الـ Models أو الـ Design كلها اللي أنا عملتها، والإيه؟ الـ User Manual عشان يساعد مين؟ الـ Client. طيب الـ Software لازم أبقى أعرف إن هو في منه نوعين.
في النوع الأولاني اللي هو الـ Generic وفي النوع الثاني اللي هو من الـ Custom. يعني إيه الـ Generic؟ يعني Software بنزله لـ Sector كبير من الناس. زي إيه؟ زي Microsoft Office. هو الـ Office في النهاية عبارة عن إيه؟ Application أو Software.
بس مقدموا لكام عدد من الناس من البشر. ملايين الملايين أو ممكن مليارات. صح؟ فدا يعتبر ايه؟ دا يعتبر generic. بعكس الكستم. الكستم دا ايه؟ واحد مثلاً فاتح صيدلية جديدة وبيقولك انا عايزة تعملي application عشان او تبنيلي السيستم بتاع الصيدلية او بتاع المستشفى.
دا هنا ايه؟ دا هنا شخص واحد او client واحد اللي طلب منك مين ال application دا او software دا. فلازم انا باعرف ان software بتاعي فيه منه ايه؟ نوعين. فيه منه النوع ال generic اللي هو بيخدم different customers يعني a wide range من ال customers. وفيه الـ Custom اللي هو بيبقى مين؟ بيخدم مين؟ الـ Single Customer بس. تمام؟ برضو بقى عارف الـ المعلومة دي.
طيب يعني إيه Software Engineering بقى؟ أنا Software هقدم لك Product. Software Engineering هقدمه لك إزاي؟ تمام؟ إيه هو الـ Procedure أو Sequence اللي أنا حمشي بيه عشان أطلع لك الـ Software بتاعك ده؟ يبقى هنا الـ Software Engineering هو عبارة عن إيه؟ Discipline. تمام؟ concerned with all aspects of software production. هاهتم بكل حاجة تخص مين؟ الproduct بتاعي ده عشان أطلعه لك. يعني ايه كل حاجة؟ يعني السيم اللي هيشتغل فيه، الوقت اللي هنشتغل به، resources اللي معانا، الprogramming language اللي احنا، أو platform اللي احنا عامل.
فيه network انت محتاجة، فيه مثلاً، مثلاً، هتشتغل 3G ولا 4G، هتعمل deployment مثلاً، محتاج hardware. زي ما قولنا مثلاً الATM عندنا. الـ ACM مثلاً لا أنا محتاج شوية printer محتاج camera عشان يعني for more security محتاج محتاج محتاج يبقى كل حاجة تخص الproduct بتاعي أو software بتاعي اللي أنا هقدمه والطريقة والsequence اللي أنا ماشي به ده يعتبر software engineering مهم طبعاً إيه ال definition ده كل دي يا شباب definitions ممكن تيجي إيه مش هيجي يقولك سمع يعني هيقولك بس إيه في ال-MQ في ال-true-false أبقى أعرف يعني إيه software أبقى أعرف يعني إيه software engineering.
تمام؟ هل هناك مشكلة يا شباب أم أكمل؟ طيب السؤال المهم و هذا يسأل الناس حتى من day one حتى أولياء الأمور التي يقدمونها لأولادهم هل أنتم software engineering أم computer science؟ هل أنتم IT أم IS؟ هل أنتم A أم A؟ ما الفرق بينهم؟ خذوا خذوا فيه أقسام أصلاً. أنت ممكن أن تكون خريق كسم CS و ممكن أن تكون خريق قسم software engineering الفروقات ليه ده وليه ده ضروري قوي أبقى أعرف الفرق ده بيقول هنا يا شباب أن الكمبيوتر ساينس زي البيج أمبريلا بتاعتنا يعني إيه يعني ده الفيلد أو المين فيلد بتاعنا نزل منه حاجات يعني في الكمبيوتر ساينس أنا بتعلم مثلا operating system بتعلم data structure بتعلم programming language بتعلم OOP بتعلم database بتعلم بتعلم بتعلم تمام؟ software engineering لا أنت هتاخد اللي أنت تعلمته أو theoretical theoretical aspects اللي أنت أخدتها أو theories اللي أنت أخدتها وتبتدي تطبقها عشان تطلع بيها software أو application واضح الفرق؟ يبقى أنت هنا إيه؟ أنت هنا الكمبيوتر ساينز بيهتم بثيوري يعني الكمبيوتر ساينز هيعلمك بروجرامينج لانجوج معين طب هتعمل بيها ايه انت اتعلمت جوف هتعمل بيها ايه هتستخدمها بقى هتطبق بيها هتصادم بيها هتطلع بيها سوفتوير هتطلع السوفتوير ده ازاي همشي على ستيب وان وتو وثري وفور ده سوفتوير انجينيريك يبقى الكمبيوتر ساينز بيهتم بثيوري بالبيز بيعلمك حاجة بينما الـ Software Engineering زي ما قلنا ايه؟ هو في النهاية Discipline. Discipline انا بعمله عشان ايه؟ عشان بيهتم بايه؟ بيهتم بكل الـ Aspect بتاعت مين؟ الـ Software Engineer..
بتاعت الـ Software. طب ايه الفرق ما بين الـ Software Engineering و الـ System Engineering؟ بس اول ما تلاقي System تفهم ان فيه Hardware داخل معيك. تمام؟ زي ما قلنا ايه؟ زي ما قلنا مثلاً انا عندي الـ ATM. الATM انا اللي بيظهر لي ايه?
اللي بيظهر لي ان انا بيبقى عندي screen والscreen دي فيه في الجنب كده بس بيبقى hidden يعني احنا مش شايفينه بيبقى فيه مثلا camera and so on تمام? طيب اللي انا بعمله على screen ده اللي هو بيقول لك ايه? دخل عايز تسحب عايز تودع عايز عايز عايز. الoptions دي كلها والtransactions دي كلها.
ده يعتبر ايه? software. ده الapplication اللي انا سلمته لك. طيب انت هتسكت على كده ولا عايز معي hardware و network و الكلام ده كله؟ يبقى ده كله system engineering. تمام؟ يبقى هنا system engineering بيهتم بإيه؟ including hardware مع software.
software engineering لا بيهتم بالsoftware بس. يبقى أول ما لاقي كلمة hardware مع software أفهم إنه إيه؟ system engineering. عايز يبقى تيجي في true or false.
يقولك software engineering concerned with all aspects of a including hardware and software. لا false. system engineering true.
تمام؟ شباب في حد عمال يتكلم معايا. والثلاثة اللي وراق ابعدوا من بعض لو سمحتوا. طيب.
يبقى لحد دلوقتي احنا قلنا ايه يعني ايه software يعني ايه software engineering الفرق ما بين software engineering وما بين computer science الفرق ما بين software engineering وايه وسيستم انجينيرينج طيب يعني ايه software process sorry العملية طيب احنا قلناها على فكرة في اللكتور الفاتت بس ممكن بالضبط بالضبط انت دلوقتي عايز تقدمي software تمام؟ طيب حتعمل ايه؟ ايه ال steps اللي حتمشي عليها؟ فبنقول هنا ان software process هي مجموعة activities بتعملها او steps عايز تشيل زي وتحطها steps عشان توصل لمين؟ لل goal بتاعك تمام؟ ال activities دي زي ما اتفقنا انا حدد كل واحد نفس التاسك كل واحد هيعملها بطريقة بس كلنا حنمر على الايه؟ على ال steps دي ليه كلنا حنمر عليها؟ عشان نطلع حاجة مظبوطة. يعني ممكن واحد يسكب حاجة. بس في نهاية الاكيروسي بتاعته البرفورمنس بتاعه مش هيبقى مظبوطة. لكن كلنا لما نعدي على الستابس دي يعني 100% احنا بنبقى واصلين لحاجة qualified او حاجة البرفورمنس بتاعها عالية. ايه هم بقى الجينيريك اكتيفيتز دول؟ نفس الكلام اللي احنا قلناه هنا.
بس ده source تاني. زي ما هنا قسمهم ل 4 phases عندنا. يقسمهم بس بطريقة ايه؟ بطريقة تانية.
فعندنا اول حاجة اول عندنا اللي هي مين؟ اللي هي تاني وحدة تالت وحدة رابع وحدة ايه؟ انت بتعمل ايه؟ نفس الكلام اللي احنا قلناه. انت بتبتدي تشوف السيستم بتاعك عايز ايه? او عايز تعمل ايه?
خلي بالكو يا شباب. احنا مش كل السيستمز اللي بتبقى جايلنا او كل الريكوارمنس اللي جايلنا احنا بنبقى عارفينها. ممكن تلاقي واحد مثلا جايب لك في حاجات بتبقى كومن. زي ما قولنا مثلا انا فاتح بنك فاتح مستشفى صيدلية انسقن وعايز اعمل سيستم. الحاجات دي ايه?
في حاجات كتيرة قوي شبهها اتعملت. ممكن شركتك نفسها او انت نفسك ككدزاينر او ديفيلبر. تكون عملتها قبل كده.
في حاجات جديدة بتبقى جاية. في بيتبقى مطلوبة منك. فانت هنا محتاج ايه? محتاج تكومينيكيت مع بتاعك اكتر من مرة عشان تشوف هو عايز ايه.
ليه بقى? لان في النهاية اللي انتو بتتفقوا عليه ده بيتكتف في صح? وبتتفقوا عليه اي تغيير منه او منك ده بيبقى فيه طبعا ايه?
يعني بتبقى كبيرة لان ممكن ارجع ابتدي اااا ابني الحاجة من القوي. فهنا في الـ specification دي خطوة مهمة جداً. انت هنا بتبتزي تشوف انت حتعمل ايه بالضبط. تمام؟ بعد كده الـ development حيعمل ايه؟ هتبتزي بقى اللي انت عملته ده حتنفزه. بعد كده حتعمل ايه؟ التستنج بتاعك تشوف اللي انا عملته ده مظبوط ولا لأ.
وفي الاخر لو فيه اي تغيير او فيه اي انهانسمنت انت عايز تزوده. تمام؟ تعالوا كده ايه نمشي. فبس ومشرحهم هنا.
طيب يبقى أنا هنا بس يكفيني ان انت تبقى عارف ايه؟ يعني ممكن اللكتور الجاية ناخدهم بقى point point كده ونشرحها بالتفصيل. يكفيني بس ان انت تبقى عارف يعني ايه؟ specification, development, validation, evolution. ال definition بس ايه بتاعته.
خلاص؟ طيب يعني ايه software process model؟ احنا دلوقتي اتفقنا ايه؟ ان احنا كلنا هنمشي على ال 4 steps دي. هنمشي عليهم ازاي؟ خلاص؟ يعني هنطبقهم ازاي؟ أحمد هيطبق طريقة، شركة X هتطبق طريقة، شركة Y هتطبق طريقة معينة. طب إيه هي الطرق دي؟ في حاجات مشهورة أو في حاجات generic ودي اللي إحنا هنشوفها إن شاء الله يعني في خلال السميسر بتاعك.
في مثلاً طريقة اسمها الwaterfall. الwaterfall بتقولك إيه؟ خلص ال specification كلها بعد ما تخلص وتمام 100% إنت متأكد منها خش في مين؟ في development. خلصت development خلصت.
خش في الvalidation. خلصت الvalidation خش في مين؟ في ال evolution. هي طريق waterfall يعني ايه؟ شلال.
فهي طريقتها كده خلص فيز معينة كاملة بعدين خش في اللي بعدها. في واحد تاني يقول لك لا ده كده بيهدر وقت. ده كده انا بضطر استنى ال theme ده كله يخلص وبقيت او ال other members اللي في ال theme ايه؟ عطلانين مش بيعملوا حاجة.
ففي واحد تاني هيقول لك لا انا هعمل ايه؟ انا هقسم الـ Product او الـ Software لـ Subproblems هذا هو الـ Main سأقسمه مثلاً لـ Cluster 1, Cluster 2, Cluster 3 و هنا سأطبق الـ 4 Steps و in parallel سأطبق الـ 4 دول هنا و in parallel سأطبق الـ 4 هنا يبقى مثلاً within 1 month كل الـ Project خلص هل هذا غلط؟ هل الـ Waterfall غلط؟ لا، هو طبق الـ 4 steps. هل الـ iterative مثلاً أو الـ parallel ضغط؟ لا، هو برضو طبق الـ 4 steps. بس كل واحد ليه ايه؟ طريق thinking مختلفة أو كل approach عندنا..
تعالوا خدوا. كل approach عندنا ايه؟ ليه؟ لا، يعني خدوا. شكراً. حطوا هنا كده في المصر.
لا مش ماني لا يا حبيبي ياخدوا يلا خلاص يا شباب فبنقول هنا ايه ان البروسيس مودل بتاعتي انت هتطبق الـ Process Z إزاي؟ تمام؟ يبقى أنا بس مش عايزاكم إيه؟ مش عايزاكم تتلغبطوا Software ده الproduct بتاعي Software Engineering السابس أو الdiscipline اللي أنا حمشي عليها عشان أقدم لك الـ Software Software Process حطبقهم إزاي؟ اللي هما الـ مايين Activity Software Process Model هتطبقهم بأني ايه؟ ميكانيزم أو أني طريقة. زي ما بنقول مفيش رول معينة، مفيش حاجة حلوة وحاجة وحشة. لا، انت على حسب الـ Approach مثلاً أو الـ Mission أو الـ Vision بتاعة الشركة بتاعتك مشي يزاي، هو اللي انت بتشتغل عليه.
تمام؟ طيب، احنا هنتكلم على كل ده بالتفصيل كده بس ايه؟ شوية شوية كده بس لما نخش. طيب، الـ Cost of Software Engineering بيقول لك كده roughly تقريباً 60% من الكوست بتاعي بيبقى لقصة إيه؟ لقصة الـ development و 40% لكثة التستنج. يعني أنا دلوقتي عشان أبني لك software بتاعك مثلا أنا معايا 1000$ البجيت بتاعي. تقريبا هخلي منهم 600$ للكودنج والإيه؟ والدزاين والسبيسفكيشن والحاجات دي كلها.
وهخلي 400$ مثلا لمين؟ للتستنج. طب هل كل الناس مشية كده؟ لا. ممكن أنت يبقى عندك في الكيس بتاعتك 50-50. ممكن في الكيس بتاعتك 20-80. التستنج هو اللي محتاج أعلى.
فهو هنا بيقول لك رافلي أو زي ما بيقولوا كده الـ common يعني أو المنتشر هو 60-40. يعني دي معلومات بقى عارفها. هنا مثلاً بيقول لك لو أنت اشتغلت بالwaterfall model الكوست بتاعك مثلاً عندك 25% للدزاين، 50% للدفيلومنت، 70% للمين؟ للتستنج بطريقة الـ iterative. الـ specification و الـ development واخدين قد ايه؟ 75% بطريقة مثلاً الـ evolution cost مثلاً لا هنا الـ evolution هو اللي واخد ايه؟ percentage اعلى فالـ cost بتاعك على حسب انت ماشي بايه وعلى حسب انت محدد الـ budget او بت assign الـ budget ده لأني ايه؟ لأني activity دي يعني ايه؟ معلومة بس كده تبقوا عارفين سابكم السلايد 29 دي سابكم هنا.
طيب مهمة قوي قبقى اعرف شباب مهمة قوي قبقى اعرف يعني ايه الكيوورد اللي اسمها case case دي stands for a computer aided software engineering CASE دي هنا يعني ايه انت دلوقتي عشان تقوم السوفتوير بتاعك هتقومه كده ولا محتاج tools تساعدك ان انت تطلعلي الproduct فالtools اللي انت عايز تعملها أو اللي بتساعدك أن تطلع software بتاعك فيه منها نوعين في حاجة اسمها الأبر كيس وحاجة اسمها اللوور كيس الأبر كيس دي هي tools بتساعد الـ process بتاعتك بس في مرحلة الـ early activities في المراحل الأولانية اللي هي في requirements والdesign اللوور كيس دي tools بتساعدك في later activities في مرحلة الـ الـ programming و الـ testing تمام كما نرى الآن، نحن متفقين بالكورس من داي وانن، وهو يركز على التصميم. ستقوم بالتصميم على ورقة أو قلم، أو هناك تطبيقات أو برامج كما سترون في اللاب. نعمل عليها. ترسم لك الأيكونز والدياجرانز التي سنأخذها.
هذا يعتبر أبر كيس، أبر يعني أنه حتى من أول مرة. في المراحل الأولانية. دي tools بتساعدني إن أنا أطلع الـ design بتاعي. تمام؟ طيب خلصت المرحلة دي ووديت الـ diagrams دي المين؟ للـ developer.
هيستخدم إيه؟ مثلاً هيستخدم الـ neat beans. هيستخدم الـ visual studio. هيستخدم Python.
أيًا كان. يبقى الـ platforms اللي هو هيستخدمها عشان يطبق عليها فكرة الـ programming أو الـ programming language اللي هيستخدمها مع الـ testing و الـ debugging. يبقى ده الـ إيه؟ ده الـ lower case.
يبقى مهمة تبقى انت فاهم يعني ايه الـ Definition بتيجي بقى في الـ A في الـ True or False الـ Tools to support مثلاً الـ A الـ Early Process هي الـ Lower Case لا Force كده هي رابطة يلعب الـ A بالـ Definition Z تمام؟ طيب امتى بقول ان انا الـ Software بتاعي Good؟ ايه هي الـ Attributes اللي اقدر اقول ان الـ Software بتاعي ده كده كويس و تمام و وصل للـ Performance او هو Qualified واقدر اقدمه للـ Client يكون هناك مجموعة من الـ Attributes التي يتم تقسيمها مثلاً الـ Efficiency الكفاءة بمعنى أنه مثلاً الـ Software لا يستخدم مجموعة من المواد هنا المواد التي يقصد بها دخل فيها أيضاً الـ Time الـ Performance مثلاً عالي مثلاً أنه هو الـ Mentability يعني يعني لو في أي تغيير عايز يحصل في الـ Software أقدر أغير ولا لا؟ ولا أنا مسلمهولك كده وخلاص وشكرا؟ كل ما كان فيه قابلية للتعديل والتغيير ده يعتبر إيه؟ يصنف إنه هو Good Software هل هو Dependent ولا لا؟ بمعنى إيه؟ هو هنا شرحها إنه هو Trusted بمعنى إيه يا شباب؟ مثلا أنا قدمت لك Website خلاص الـ Website ده بتيجي تفتحه مثلا كل يوم تمام بس بعد الساعة 12 بالليل بتلاقيه مقفول طب ما ده كده ما فيش trusting أنا عايزه على طول 24 hours يبقى شغال معايا. لأ أنا لازم أقدملك حاجة، ده كده ما يعتبرش good software، أنا لازم أقدملك حاجة تبقى شغالة 24 hours per 7 days تبقى شغالة على طول تبقى trusted ما ينفعش تخش الwebsite تلاقي الـ system down. لأ يبقى كل ده صفات أو بتأكد لي إيه؟ إن ده good software ولا لا؟ هل هو accepted ولا لا؟ دي مهمة جداً. أنا ممكن أعملك software ممتاز والperformance بتاعه وشغال والresources وكله تمام.
بس مش هو ده اللي انت طلبه. مش هو ده اللي انت طلبه. مثلاً انت عايز الicons معينة أو عايز الcolors معينة أو theme معين.
وانا قدمتلك حاجة تانية. يبقى ده إيه؟ not accepted. يبقى ما قدرش أحكم على ده إنه هو إنه هو إيه؟ good software. تمام؟ فذي كلها بس إيه؟ headlines كده تبقى عارفة إيه هو attributes of good software.
طيب أنا عشان أطلع لك جود سوفت وير هل الدنيا كده وردية وسهلة وسموس ويلا نطلع جود سوفت وير ولا فيه تشالنجز بتقابلنا أو فيه بقابلها في النص بتخلي الموضوع ايه الموضوع يبقى صعب شوية. ايه هي اللي بتقابلنا عشان وإحنا بنطبق السوفت وير انجينيرينج. أهمهم هي الدوليفري. دي أكتر مشكلة بتقابل دايماً الايه؟ نلتصي مهو شرير. أنا ببقى متعاقد معاك أو في الcontract مسلمك مثلاً حسلمك بعد one year.
بلاقي actually إن الشغل بتاعي بيحتاج مثلاً أكتر من الوقت ده. فالتريك هنا أو التشالنج هنا إزاي أخلص اللي أنا متفق عليه في الوقت اللي أنا إيه؟ اللي أنا عايزه أو اللي أنا يعني متفق عليه in advance معاك. تمام؟ فدي أهم مشكلة بتقابلنا. تاني مشكلة الترستنج.
الترستنج ده اللي إحنا لسه إيه؟ قايلينه حالاً. أن أنا إزاي أقدم لك software يبقى trusted يعني إيه trusted؟ ما هو بالضبط موثوق فيه؟ وخلي بالك أنت كمان لما بتقدم product لحد ما هو ده كمان أنت بتكبر سمعة الإيه؟ ال organization بتاعتك أو الشركة بتاعتك بيقولك إيه؟ روح للشركة ذي الترستنج هنا جاي من إيه؟ software بتاعك شغال على طول؟ إن حتى لو طلع فيه bugs في النص ما بتقولوش أنا كشركة سلمتك وخلاص ومليش دعوة لا أنت لما بيجي لك مشكلة وردو بتعمل إيه؟ بتقولوا طب تعالي حتى زي عارفين زي الجرانتي أو الضمان كده أنا بعد فترة 2-3 سنة 2-3 قابلك مشكلة في الصوفتوير ده تعالي كل ده بيبني الـ trusting mic تمام؟ الـ heterogeneity هنا يقصد بيها إيه؟ يقصد بيها أقول لكم إيه؟ أن الصوفتوير بتاعك ده تقدر تعمله execution على different environments بمعنى إيه؟ أنا قدمت لك صوفتوير سوف نرسل هذا المواد على Windows. إذا كان لديك مكتب أو مكتب أو أي مشيء آخر يمتلك ماك، هل سيعمل أم لا؟ والشطر أنه يعمل. هذا هو من المشاكل التي تقابلها المدخل. أن أجعل مواد أو المواد التي أخذها يتبع مجموعة مختلفة أو مجموعة مختلفة.
فيعني هنا هو قصده هنا يقول لك ايه ان الدنيا مش بتبقى سموث قوي. لأ ده بيقابلنا برضو ايه? مشاكل في النص كده ودي ايه اشهر. في مشكلة يا شباب?
طب الاذكال بقى هنا ده بيقول لك ايه? ان لازم تبقى انت مستخدم بقى حاجات اثيكال بقى. تستخدم بتاعك ما ينفعش تقطبس حاجة من حد.
سيبكم من الكلام ده. طيب. يبقى احنا هنا بس ننسامريز كده الكلام اللي احنا قلناه هقولكوا بس يا شباب هنا شباب one minute بس يا بنتي هنلخص بس الكلام اللي احنا قلناه اقولكو بس الناس تتذكر ازاي؟ انت هنا مطلوب منك ايه؟ تبقى عارف ايه هو الـ Definition of Software تمام؟ اخترت الـ Definition اللي قلناه في الاول او اخترت الـ Definition ده مفيش مشكلة اي واحد منهم مفيش مشكلة بس تبقى عارفهم الاتنين عشان بس لو جات في الايه؟ في الـ MCQ تبقى عارف يعني ايه Software Engineering تمام؟ برضو لو اخترت الـ Definition الاولاني او التاني مفيش اي مشكلة الاتنين واحد تبقى عارف الفرق ما بين الكمبيوتر ساينس وما بين الـ Software Engineering الكمبيوتر ساينس أمثل يعني أفهمها إزاي؟ أو قلتني word اللي بتحددها إننا ألاقي كلمة Theory أعرفها بطريقة إيه؟ بطريقة theory.
ال computer science بيفوكس على إيه؟ على theories إيه؟ aspects. طيب ال software engineering بيهتم بإيه؟ بالpractical, developing و delivering. useful software. بيقدم لي هو اللي بيهتم بإيه؟ إزاي أنا حقدم لك software ده. تمام؟ يبقى دي إيه؟ خلي بالي منها.
طيب تاني حاجة. ال software engineering و system engineering. طالما لقيت كلمة hardware يبقى انت system ايه؟ engineering. انا بس بقولكوا الkeywords اللي سهل لك الsoftware process مش مطلوب منك جر ان انت ايه؟ تبقى عارف بس ال4 phases بتوعك بالdefinitions بتاعتك. تمام؟ الsoftware process model كده كده احنا هنتكلم عنها لشابتر اللي جاي فالcost برضو مش يعني.
بس والcase. الupper case والlower case تبقى عارف الفروقات ما بينهم. ما هي الـ Attributes of Good Software هم 4 و ما هي Challenges of Facing Software Engineering هم 3 هل هناك مشكلة يا شباب؟ حسناً، أنا قد قمت بخلاصة أراكم إن شاء الله في المحاضرة القادمة