العودة   منتديات طلاب الجامعة العربية المفتوحة > منتديات المشرفين والمنتديات المساعدة > أرشيف المواد والمواضيع القديمة > أرشيف الملخصات لمناهج تم تغييرها > M206

 
 
أدوات الموضوع انواع عرض الموضوع

قديم 05-05-2007, 03:51 PM   #141
hind hind غير متصل
طــالب

 









افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


شكرا لمن ساهم في الشرح واخص بالشكر ابو مشاري و اوبرا
hind غير متصل  
قديم 07-05-2007, 10:48 AM   #142
أبو مشاري أبو مشاري غير متصل
مشرف سابق
 
الصورة الرمزية أبو مشاري

 











افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


اقتباس:
المشاركة الأصلية كتبت بواسطة benno مشاهدة المشاركة
مبروك وسام التميز اللي استحقيتوه بجدارة...تحياتي الى كل من خط حرفا في افادة الغير...
جازاكم الباري كل خير...

دمتم بود
بيننو
شكرا لك مشرفتنا الغالية بينوووو على منحك هذا الوسام الغالي على قلوبنا
وأظن أختي أوبرا وجميع المشاركين في هذا الموضوع يشاركونني الشكر والتقدير لك مشرفتنا الغالية
وإنشاء الله لن نتوقف عن العطاء حتى آخر لحظة .....
أبو مشاري غير متصل  
قديم 07-05-2007, 05:11 PM   #143
جدااوي جدااوي غير متصل
طالب ماسي
 
الصورة الرمزية جدااوي

 










افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


الف شكر لجميع الاخوان
بس ابو مشاري ترى ماافهم الا من ملخصاتك والحين وقفت عند 37
ترى منتظرك والله بشرنا
متى تنزل الباقي؟؟؟
جدااوي غير متصل  
قديم 08-05-2007, 01:31 AM   #144
al_raya82 al_raya82 غير متصل
طــالب

 










افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


يالفعل مجهود رائع
الله يجزاكم كل الخير يا رب
واخص ابو مشاري واوبرااااااااااااااااااااااااااااااااااااااااااااا ااااااااااااااااا
تحياتي لكم
ولا تحرمونا من شروحكم الوافية والقيمة
al_raya82 غير متصل  
قديم 09-05-2007, 10:51 PM   #145
أبو مشاري أبو مشاري غير متصل
مشرف سابق
 
الصورة الرمزية أبو مشاري

 











رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


اقتباس:
المشاركة الأصلية كتبت بواسطة جدااوي مشاهدة المشاركة
الف شكر لجميع الاخوان
بس ابو مشاري ترى ماافهم الا من ملخصاتك والحين وقفت عند 37
ترى منتظرك والله بشرنا
متى تنزل الباقي؟؟؟
إن شاء الله ما اخيب ظنك فيني ياجداوي
باحاول بقدر جهدي عشان عيونك وعيون طلاب وطالبات الجامعة
بس انتو ادعولي ان الله يبارك لي في وقتي
وإن شاء الله تشوفون النور عما قريب

واحب اشكر الشباب والبنات المتفاعلين معنا في الشرح لأني قاعد أستنير بشرحهم
وجهودهم المشكورة
اتمنالكم التوفيق
أبو مشاري غير متصل  
قديم 10-05-2007, 02:41 PM   #146
أبو مشاري أبو مشاري غير متصل
مشرف سابق
 
الصورة الرمزية أبو مشاري

 











افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


أولاً : أحب أشكر كل الشباب اللي شاركوني الشرح والشباب اللي حمسوني وشجعوني على إكمال الشرح
وبصراحة في حاجات وضحوها لي الشباب والبنات اللي شاركوني في هذا الموضوع وخاصة أختي اوبرا الله يعطيها العافية والجميع
وأعتذر من كل الشباب المتحمسين معي في الشرح وأنا خليتهم ينتظرون مدة طويلة لكن عارف انهم عاذريني انشاءالله
وما أقدر اخصصهم بالاسم لأنهم كلهم يستاهلون الشكر والتقدير ...
حبينا نكمل الشرح على بركة الله بعد عناء مع الاختبار ات الأيام الماضية والواجبات ... خلوها على الله بس ...
الله يخارجنا منها على خير
نكمل ...... على بركة الله نبدأ
Chapter 39
Constructing Dynamic Models II
ArabOU: M206

شابتر 39 يتكلم ويسترسل في الداينمك مودل

Introduction
• In this chapter we continue to investigate the dynamic aspects of the system and to develop dynamic models that describe how the behavioral requirements will be met.

في هذا الشابتر سوف نكمل ما بدأناه في عملية الداينمك مودل ونحدد سلوك النظام بالتفصيل ..

• Our main aim is to consider how we can ensure for each use case that the steps of the walk-through are carried out in a sensible order.
هدفنا هو أن نتأكد من ان كل مهمة من المها ت في عملية الووك ثرو تتنفذ بشكل صحيح
• We shall do this by examining possible sequences of messages that could be sent between the objects involved in order to get them to fulfill the relevant responsibilities.
سنفعل ذلك باختبار الماسجات التي سنرسلها بين الأوبجكت لكي نتأكد من ان كل اوبجكت ينجز المسؤليات المتعلقة به .

• We shall use sequence diagrams to illustrate these message sequences.
علينا أن نستخدم السيكونس دياجرام لكي نتصور هذه الرسائل
There are often significant decisions to be made when choosing between alternative sequences of messages for a given walk-through.
هناك قرارات مهمة تجعلنا نختار الماسجات مابين الأوبجكت في عملية الووك ثرو
• Although we shall give some reasons for the choices that we make, there is not generally a ‘best’ solution.
علينا أن نعطي عدة اسباب لاختيارنا لكل شيء نختاره ، ( طبعاً في العموم لا نستطيع أن نحدد أفضل حل ) لأن هناك حلول عديدة صالحة تعتمد على المبرمج
• When we are constructing a suitable message sequence for a walk-through we need to allocate additional responsibilities to the classes that send and receive the messages.
عندما ننشئ ماسجات منابة في عملية الووك ثرو علينا أن نحدد المسؤوليات للكلاسات التي ترسل وتستقبل الماسج.
• These responsibilities for ‘doing things’ are added to the class de******ions in the structural model.
هذه المسؤوليات هي التي سنضيفها في الكلاس ديسكريبشن في عملية الستراكتشر مودل .
• Also, some steps in the walk-through may need to be refined, and some extra steps may be added to articulate the sending of messages and returning of answers.
كذلك في بعض خطوات الووك ثرو ربما نحتاج لإعادة تحسين وتطوير وزيادة بعض الخطوات التي نضيفها لتوضح لنا عملية الماسج
• The completed walk-throughs and the sequence diagrams form the dynamic
models of the system.


Making sensible choices

• For every use case, we have to choose between a number of possible solutions.
لكل مهمة من المهام يوجد عدد كثير من الحلول لها .. لكن علينا ان نختار الحل الأمثل .
• To do so we need to investigate appropriate ways of passing messages between objects of the domain model.
لكي نختار الحل المناسب علينا ان نختار الطريقة المناسبة لمرور الرسائل بين الأوبجكت في الدومين مودل
• This enables us not only to assign responsibilities sensibly, but also to identify all the collaborations between objects that are required.
هذا يمكننا من الدخول إلى المسؤوليات لكن علينا أيضا أن نحدد التعاونات بين الأوبجكت ( الكالوبوريشن )
• In short, we need to make decisions; analyzing a use case becomes a design activity.
باختصار : لكي نصنع قرار نحتاج إلى علية تحليل المهام لكي تصبح نشاطات يمكن أن تصمم ( أكتيفيتي )
• Very often there is not a single optimal solution, and only experience can develop the skills needed to make good decisions.
عادة لا يوجد حل مثالي وحيد ، لكن عامل الخبرة فقط هي التي تمكننا من اتخاذ القرار الأمثل .
• There are a number of general principles that can be useful in guiding a developer towards a satisfactory solution, we consider two of them: cohesion and coupling.
هناك عدد من المبادئ التي تعتبر دليل للمطور ليصل للحل المثالي ويجب أن يأخذها في الاعتبار تلك هي ما تسمى بالكوهيجن والكابولينج وقد عرفناها في شابتر سابق شابتر 35

Cohesion and Coupling

• We would aim to develop classes that exhibit high cohesion and low coupling, so that the classes are amenable to reuse.
يجب أن يكون عندنا الكويهجن مرتفع والكابولينج منخفض ، وهذا يجعل من الكلاس قابل لإعادة الاستخدام ( عملية الريوسابل )
• Coupling can occur in various ways, but we will be mainly concerned with the dependencies between classes that arise from associations and collaborations.
الكابولينج يحصل بعدة طرق لكننا سنهتم بمسألة الاعتمادية الموجودة بين الكلاسات التي تظهر جلية في العلاقات والتعاون بين الكلاسات
• Cohesion and coupling are pulling in opposite directions; coupling can be reduced to zero by having just a single object in a system, but this will almost certainly be to the detriment of cohesion. What is needed is a sensible compromise.
الكوهيجن والكابولينج يسيران في اتجاهين متعاكسين : حيث عندما يصبح الكابولينج صفر معنى ذلك ان عندنا أوبجكت وحيد فقط لايحتاج أن يعتمد على أوبجكت آخر فبالتالي يصبح الكابولينج صفر لأنه لا يوجد اعتمادية ،
لكن هذا يضر بعملية الكوهيجن ، ما نحتاج إليه هو حل مناسب ومرضي ..

• We have to spread of responsibilities among the classes in our system. At the same time, we should attempt to organize the message passing so that, as far as possible, messages are sent between classes that are directly associated.
نوزع المسؤوليات بين الكلاسات في النظام الذي أنشاناه ، وفي نفس الوقت سنحاول أن ننظم الماسج التي تمر بينها .

Constructing sequence diagram
بناء السيكونس دايجرام

• A sequence diagram can be used to represent an appropriate sequence of messages passed between objects in order to carry out the steps of a walkthrough.
نستخدم السيكونس دايجرام كي نمثل ونرسم الماسجات التي تمر بين الأوبجكت لتنفيذ خطوات الووك ثرو
• As we work through the use cases, refinements will be made to the walkthroughs constructed previously, and further responsibilities will be added to class de******ions in the structural model.
عندما نعمل على الووك ثرو واليوس كيس ، سنجد أن هناك تطورات حدثت في عملية البناء (الستراكتشر ) وكذلك هناك مسؤوليات أضيفت إلى الكلاس ديسكريبشن في عملية الستراكتشر مودل
• we need to look at each use case separately, with the aim of describing a sequence of messages between the objects involved that will enable the use case to be carried out. Having constructed a suitable sequence of messages, we can then allocate to appropriate classes the responsibilities for sending and responding to these messages. These will be responsibilities for ‘doing things’.
سوف نحتاج إلى ان نفحص كل مهمة على حدة ، هدفنا أن نصف الماسجات بين الوبجكت التي تمكننا من تنفيذ اليوس كيس ، عندما ننشئ ماسجات مناسبة نستطيع أن نحدد الكلاسات المناسبة والمسؤوليات لإرسال والستقبال هذه الماسجات

HAT example: List Team’s Patients
(use case B)


طبعاًهذا مثال ليوس كيس ثانية سميناها List team's Patient
يعني أعطيني قائمة بأسماء الفريق الذي عالج مرضى معينين

Given: A team code, tCode.
المعطى ( التيم كود ) tCode
• Locate the instance, aTeam , of Team with the team code tCode linked to hat via teams . (UI)
الخطوة الأولى نبدأ من عند الكلاس Team وناخذ منه tCode المربوط مع الهات سيستم عبر العلاقة teams ولاحظ ان الهات هو انستانس من الأورتشستريتنج كلاس اللي سميناها administration ... متابعين معي ؟؟؟؟
• Locate all the instances of Patient that are linked to aTeam via caresFor . For each such instance, aPatient , of Patient

بعدين نحدد كل المرضى المربوطين مع التيم عبر العلاقة caresFor
– locate the instance, aWard , of Ward linked to aPatient via hasOn .
نحدد انستانس من الكلاس ward الجناح المربوط مع المرضى بالعلاقة hasOn
• Retrieve the required data from the instances of Patient and Ward . (UI)
رجع البيانات المطلوبة إلى اليوسر على شكل مرضى والأجنحة التي هم فيها ..
Result: the relevant patient names and dates of birth, and ward names.
الناتج أسماء المرضى وبياناتهم تاريخ ميلادهم واسماء أجنحتهم

طبعاً هنا قاعد يشرح على الرسمة والبيانات اللي فيها
• The rectangles at the top of a sequence diagram represent objects. The text inside them is underlined to indicate that they represent instances of classes; the notation for objects is the same as that used in the object diagrams.
شكل المستطيل في السيكونس دايجرام يعني أوبجكت ، النص الموجود داخلها الذي يكون تحته خط يمثل انستانس من كلاس معين .


• In a sequence diagram a vertical dashed line is the lifeline of the object represented at the top of the line. Time runs vertically downward. A rectangle on the lifeline represents a period when the object is active (i.e. processing a message it has received). Such a rectangle represents what is known as an activation of the object concerned.

الخط العمودي في الشكل يمثل خط lifeline خط حياة الأوبجكت والمستطيل العمودي المرسوم على هذا الخط يمثل اكتفيشن ( يعني من بداية المستطيل يبدأ الأوبجكت يتفاعل ) .


• A solid horizontal line represents the sending of a message (in the direction of the arrow), and is normally labeled with the name of the message. On receipt of a message an object becomes active, so an activation rectangle should start precisely at the arrowhead.
الخطوط أو الأسهم الأفقية تمثل الماسج ( الرسائل ) ويكون مكتوب عليها اسم الرسالة عندما تصل الرسالة للأوبجكت يبدأ بالتفاعل ويصبح فعال .


• In the UML the arguments of a message are placed in parentheses after the message name.
في اليو ام ال ( برنامج رسم الأوبجكت اورينتد ) الأرجيومنت للماسج توضح بين قوسين بعد اسم الرسالة


• The numbers alongside the activations refer to the steps of the walk-through in question. This means that the sequence diagram has to be interpreted in conjunction with the walk-through.
الأعداد المتواجدة بجانب المستطيلات والأكتفيشن تشير إلى عملية الووك ثرو ، هذا يعني أن السيكونس دايجرام يرتبط مع عملية الووك ثرو


• On a sequence diagram we can show message answers as horizontal dashed lines with an arrowhead pointing from the receiver of the message back to the sender.
الماسج أنسر تمثل بخط أفقي متقطع يرجع إلى الرسيفر


• The dashed line is normally labeled with the name that is used in the walkthrough to identify the answer object.
يكون مكتوب على الخط عادة اسم العملية التي ذكرناها في الووك ثرو


• If the answer is not referred to in subsequent steps of the walk-through, then there is no need to represent it in the diagram.
لو الأنسر لم تشير إلى بعض الخطوات في الووك ثرو ، فإننا لا نحتاج لأن نمثلها في السيكونس دايجرام
• Notice the asterisks representing repeated message-sends.
نلاحظ وجود علامة النجمة asterisks التي تمثل رسالة مكررة أرسلت مرة أخرى
• We are now able to allocate responsibilities to the classes for the List Team’s Patients use case. In Chapter 37 we allocated responsibilities for locating objects, under the heading Associations, for each relevant class.
الآن حددنا المسؤوليات للكلاسات للمهمة list Team's Patients
• The responsibilities we are now going to allocate are responsibilities for ‘doing things’. Every time an object in the sequence diagram receives a message, that object is responsible for behaving appropriately in response to the message. In other words, that message has to be in the protocol of objects in the corresponding class. We include these responsibilities in the relevant class de******ion by adding the message name along with a comment
under the heading Protocol. Thus for the Team class we have:

الآن ... كل أوبجكت يستقبل ماسج في وقت معين ،، هذا الأوبجكت مسؤوليته ان يستجيب لهذه الماسج بالتصرف المناسب بحيث يرد على الماسج أو يطلب مساعدة من أوبجكت آخر .. ،،
وبمعنى آخر ... أي ماسج يجب أن تتعامل مع البروتوكولات الموجودة في الأوبجكت التي ستذهب إليه ، نحن نضع وصف لهذه البروتوكولات ومسؤولياتها في الكلاس ديسكريبشن حيث اننا نضيف اسم الماسج وشرح بسيط لما تقوم به الماسج وشرح للبروتوكلات كما يلي
Class: Team
Attributes:
code "The unique code of the team"
Associations :
Keep track of the instance of ConsultantDoctor linked via isHeadedBy. [A]
Keep track of the instances of Patient linked via caresFor. [B(2)]
Use doctor name to keep track of the instances of Doctor linked via consistsOf. [D]
Protocol:
getPatientsAndWards "Answer a collection of the patients cared for by the team
and the wards they are on. [B(2 3 4)]"
HAT example: List Team’s Patients
(use case B)
• The comment for getPatientsAndWards ends with a reference to the steps of the walk-through for which the message is used. Notice that step 3 is included although it is actually aPatient that does step 3. What is happening here is that aTeam sends a message to aPatient to enlist its help (or collaboration) in carrying out what the getPatientsAndWards message requires aTeam to do.

مالذي يحدث عندما التيم يرسل ماسج للبيشنت يطلب منه المساعدة في تنفيذ الماسج الآتية getPatientAndWards المطلوب من التيم ان ينفذها .
We say that aPatient is a collaborator for aTeam or, in terms of classes, that Patient is a collaborator for Team . We can also say that, by sending the message getWard , aTeam has requested a service of aPatient .
نستطيع أن نقول أن البيشنت ( المرضى ) يطلب تعاون مع التيم ،، ونستطيع أن نقول كذلك ان الرسالة getWard aTeam طلبت خدمة من البيشنت .
• For this reason we call aPatient the server and aTeam the client in this collaboration.
في هذه الحالة نسمي البيشنت سيرفر (خادم) والكلاينت (المخدوم) هو التيم

For now, we simply add the relevant protocol responsibilities to the class de******ions in the structural model. For this use case the protocol responsibilities are:
الآن ببساطة نقدم الكلاس ديسكريبشن في الستراكتشر مودل بهذه الطريقة
Class: Administration
Protocol:
listPatientsOf(tCode) "Handle the List Team's Patients use case. [B(1 2 3 4 5)]"
Class: Team
Protocol:
getPatientsAndWards "Answer a collection of the patients cared for by the team
and the wards they are on. [B(2 3 4)]"
Class: Patient
Protocol:
getWard "Answer the ward that the patient is on. [B(3)]"
getName "Answer the name of the patient. [B(5)]"
getDOB "Answer the dob of the patient. [B(5)]"
Class: Ward
Protocol:
getName "Answer the name of the ward. [B(5)]"
أبو مشاري غير متصل  
قديم 10-05-2007, 02:42 PM   #147
أبو مشاري أبو مشاري غير متصل
مشرف سابق
 
الصورة الرمزية أبو مشاري

 











افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


قريبا جدا إنشاء الله شابتر 40
اراكم لا حقا ،،،
أبو مشاري غير متصل  
قديم 10-05-2007, 02:46 PM   #148
تويكس تويكس غير متصل
طالب ذهبي
 
الصورة الرمزية تويكس

 











افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


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

وشكرااا مليار شكرااا وتستاهل التقييم شكراا لك
تويكس غير متصل  
قديم 10-05-2007, 03:39 PM   #149
al_raya82 al_raya82 غير متصل
طــالب

 










افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


يعطيك العافيه يا ابو مشاري
ويجزاك كل الخير يا رب
وهل من مزييييييييييييييييييييييييييييييييييييد........... .....!!
al_raya82 غير متصل  
قديم 10-05-2007, 03:54 PM   #150
حلاوة توفي حلاوة توفي غير متصل
طالب جديد

 









افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


الله يوفقك ويعافيك ويجزاك كل خير
والله انت ولا اطلق دكتور ماشاء الله عليك.
حلاوة توفي غير متصل  
قديم 10-05-2007, 04:28 PM   #151
Oprah Oprah غير متصل
مشرف سابق
 
الصورة الرمزية Oprah
افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


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

وأنا إن شالله راح أكمل معاك مسيرة العطاء
إذا هالشي مايضايق أحد من الاخوان، أنا كل قصدي المساعده فقط لا أكثر ولا أقل



وفي الاخير أشكر كل اللي شكرونا وقدرو الجهد اللي قاعد نبذله عشان نوضح بعض الامور اللي ممكن يستفيدون منها الاخوان والأخوات

والتوفيق للجميع
Oprah غير متصل  
قديم 12-05-2007, 11:15 AM   #152
أبو مشاري أبو مشاري غير متصل
مشرف سابق
 
الصورة الرمزية أبو مشاري

 











افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


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

Chapter 40
Building Interactive Applications
ArabOU: M206

كيفية بناء برنامج او نظام فعال ( تفاعلي )

Introduction
• Objectives
– Showing how to create an interactive application (user interface connected to a model) and perform adaptation on it to work with different model
.
سنعرض كيف ننشئ برنامج تفاعلي (بحيث اليوسر انترفيس يرتبط بالمودل ) ليؤدي الأعمال المختلفة التي يريدها اليوسر في المودل
• It was pointed out that the domain model of the amphibian world could be controlled by two different user interfaces – a graphical user interface and a text-based user interface.
سابقاً أشرنا إلى الدومين مودل في السمول توك لعالم البرمائيات ( الضفادع ) الذي يمكن أن نتحكم فيها عبر شكلين من اليوسر انترفيس إما الجرافيك يوسر انترفيس ( الأيقونة يمين ويسار وفوق وتحت...) أو الكتابة نكتب Frog1 right – lift
• Either user interface could be used to send identical messages – with identical outcomes for the state of the amphibian receivers. In one case the results were portrayed graphically and in the other case textually, but the state changes and message answers in the underlying domain model were the same.
سواء أكانت اليوسر انترفيس عبارة عن إرسال رسائل للكائن ( الأوبجكت ) بالكتابة أو عبر الجرافيك تبقى النتائج واحدة .
• This separateness of the user interfaces and their domain models has advantages:
عملية فصل اليوسر انترفيس عن الدومين مودل لها عدة فوائد :
– It makes it relatively easy to modify a user interface or to add another user interface for the same domain model.
تجعل من السهولة أن نعدل على اليوسر انترفيس او نضيف يوسر انترفيس اخرى لنفس الدومين مودل بدون حدوث مشاكل في المودل
– A user interface developed for one domain model can often be adapted for another purpose using a different domain model.
يمكن أن نستخدم اليوسر انترفيس في مجال أخر في دومين مودل أخر (عملية الريوسابل)
• You can perform the following using the GUI builder:
نستخدم بعض مبادئ الجرافيكل يوسر انترفيس GUI لكي نبني النظام
– Lay out, resize and label widgets.
نستخدم الويجت المختلفة ( تشيك بوكس ، راديو بوتون ، .... )
– Associate a widget with the appropriate protocol in the domain model using a properties dialogue box.
نستخدم الدايلوج بوكس ( صندوق الحوار ) في الدومين مودل
– Provide type information using the properties dialogue box for each widget where appropriate.
نعطي معلومات للمستخدم عن طريق دايلوج بوكس مناسبة لكل ويجت .
Save a user interface specification as a class.
نجعل لليوسر انترفيس كلاس محدد منفصل
– Add a page with a particular model and a particular user interface.
نضيف صفحة تعريفية للمودل وصفحة تعريفية لليوسر انترفيس
– Deal with simple cases when a given model and user interface are unable to work together – due to a typing mistake or omission of a step in the procedure.
نجعل النظام يتعامل مع الحالات البسيطة عندما لا يستطيع المودل واليوسر انترفيس ان يعملا مع بعض ( يهنق ) .
– Ensure that appropriate objects send themselves the message updateUserInterfaces to keep their user interfaces in step. Using the message updateUserInterfaces allows you to run more than one interface at the same time for a single domain model with no increase in programming complexity.
نتأكد من أن الأوبجكتس ترسل دائماً لنفسها رسالة (updatUserInterface)
في كل خطوة تحديث
استعمال هذه الرسالة تسمح لنا بتشغيل أكثر من انترفيس في نفس الوقت في نفس الدومين مودل مما يزيد من تعقيد عملية البرمجة
• The message updateUserInterfaces works as follows:
الماسج (اب ديت يوسر انترفيس updateUserInterfaces ) تعمل كما يلي
– Each widget is told (via its properties dialogue box) the messages that it must send to the model whenever it needs to give the model new values or ask for new values to be displayed.
كل ويجت تخبرنا ( من خلال دايلوج بوكس مناسب ) الرسائل التي يجب ان ترسلها للمودل ليعطيها المودل قيم جديدة
– Every method that changes the state of the model sends the message updateUserInterfaces to the model.
عند كل ميثود تحدث تغيير في المودل نرسل الماسج ( أب ديت يوسر انترفيس للمودل )
– OpenGUI creates a user interface in such a way that whenever the model sends itself the message updateUserInterfaces, every relevant widget sends the appropriate getter to the model to obtain the current
value.

عندما المودل يرسل الماسج ( اب ديت ) لنفسه كل ويجت لها علاقة ترسل جيتر ماسج للمودل حتى نحصل على القيمة

• In OpenGUI, the model (as opposed to the wider term domain model) is defined as the single object to which the user interface is attached.
في openGUI يعرف المودل بشكل عام كاوبجكت وحيد الذي تكون اليوسر انترفيس تابعة له
More complex GUI builders can allow an interface to have several models, but, for simplicity, OpenGUI has been restricted so that
each user interface has exactly one model
.
التعقيد الأكثر في بناء الجرافيكل يوسر انترفيس يسمح للانترفيس بأن تعمل على أكثر من مودل ، لكن الأفضل أن نحدد اليوسر انترفيس بحيث كل مودل يكون لها يوسر انترفيس محدد .

• Several key points about user interfaces created with the OpenGUI GUI builder
عدة نقاط عن اليوسر انترفيس علينا أن نراعيها عند بناء الجرافيكل يوسر انترفيس
– Each user interface has exactly one model.
كل يوسر انترفيس تكون مختصة بمودل واحد محدد .
– Every widget must know what messages to send to the model to supply or request new values.
كل ويجت يجب ان تعرف ما هي الرسائل ( الجيتر والسيتر ماسج ) التي ترسلها للمودل للحصول على القيم .
– Arguments sent to and values returned by each widget must match those of the corresponding getters and setters in the model.
الأرجيومنت التي نرسلها والقيم الراجعة لكل ويجت يجب أن تكون مرتبطة ببعضها لتحدد الجيتر والسيتر ماسج في المودل .
Each user interface specification is stored as a class.
كل يوسر انترفيس يتم تخزينه على شكل كلاس
The model cannot expect a user interface to stay in step unless it sends itself the message updatesUserInterfaces after every state change it wants reflected in the user interface.
المودل لايمكنه التنبأ بأن اليوسر انترفيس باقي في خطوة معينة ما لم يرسل لنفسه رسالة تحديث update بعد كل تغيير يطرأ على المودل وينعكس على اليوسر انترفيس

Dependency mechanism
Although you do not need to know anything about how the user interface classes work, you do need to know more about how the message updateUserInterfaces operates. This is the topic of the LearningBook LB-40 session 5.
لست بحاجة إلى معرفة كيف تعمل الكلاسات في اليوسر انترفيس ، عليك فقط أن تعرف عن كيف تعمل الماسج updateUserInterface
• In it you will be asked to create a ‘master’ object that has various ‘disciple’ objects (dependents). You will find out how the disciples are told about changes in the state of their master.

علينا أن ننشأ أوبجكت ونسميه الماستر ( القائد ) وهذا الماستر لديه توابع له ،،سنعرف بعد قليل كيف يأمر الماستر التوابع بأن يغيروا حالتهم فيتغيرو...
• The message updateUserInterfaces can be used to update dependent objects as the master object changes as follows:
الماسج (ابديت يوسر انترفيس ) يرسلها الماستر للتوابع لكي يغيروا حالتهم كما يلي
– The addDependent: message can be used to make any object dependent on some ‘master’ object.
الماسج (آد دبندنت) : هذا الماسج نستخدمه إذا أردنا أن نجعل أوبجكت معين تابع للماستر
– The dependents message can be used to make a master object return the collection of its dependents that were made its dependents via an addDependent: message.
نستخدم الماسج (دبندنت) لنجعل الماستر أوبجكت يعود إلى الكوليكشن التي تحتوي على توابعه والتي أنشأها عبر الماسج (أد دبندنت).
– Sending the message updateUserInterfaces or changed to a master object causes its dependents to be sent an ‘update’ message.
إرسال الماسج (أبديت يوسر انترفيسس)أو الماسج (تشينجيد) إلى الماستر أوبجكت تجعل التوابع ترسل الماسج (أبديت)
• From now on it is preferable to use the more universal message changed which has the same effect as the message updateUserInterfaces.
من الآن فصاعدا سنستخدم الماسج ابديت يوسر انترفيسس لتحديث أي تغييرات تطرا على النظام
• For any activity to happen, a dependent needs to understand the update message it receives. There are various update methods, such as update:with:from: , update:with: and update: defined in class Object.
هناك العديد من أنواع الماسج (ابديت ) ، لكي يحدث أي أكتيفيتي في النظام ، لا بد أن يفهم التوابع ما هي نوع الماسج (ابديت ) الموجهة له .. هل هي : ابديت : ويذ : فروم أم اب ديت : ويذ ...إلخ
• Some points about changed messages for the master object side:
بعض رسائل التغيير في الماستر
– changed This is to inform all the dependents by sending each dependent an update: message.
الماسج update
الماسج anAspectSymbol
الماسج anAspectSymbol with: aParameter


update messages that can be used in the objects that depend on the master object.
تحديث الرسائل التي تستخدم في الأوبجكت يعتمد على الماستر أوبجكت

Dependency mechanism

• The following figure is explained as follows:
When the message changed is sent to any object (here master sends it to itself), its dependents are sent the message update:with:from: with three arguments. Each dependent responds to this message by sending itself update: , a simplified version of the same message. What happens next depends on how the instance method update: is written for the class of the dependents (here the class Disciple).

عندما ترسل رسالة تغيير معين للأوبجكت فإن الماستر يرسل رسالة أبديت لنفسه بالتغيير ثم يرسل رسالة للتوابع له كالتالي فيبدأ كل تابع من التوابع يستجيب لهذه الرسالة ويحدث نفسه .
الشكل التالي يوضح كيف يعمل الماستر والتوابع


• Key points about dependency mechanism:
بعض النقاط في آلية التوابع
– If an object has one or more dependents, then sending it the message changed (or equivalently updateUserInterfaces) causes the message update:with:from: to be sent to all its dependents.
إذاكان الماستر له تابع أو أكثر فإنه يرسل الماسج (تشينجد) أو الماسج أبديت يوسر انترفيسس فيتغير جميع توابعه

– You can make dependents of different classes respond to update:with:from: in any way you see fit, by defining this method for them in an appropriate manner.
من الممكن أن تجعل التوابع في الكلاسات المختلفة تستجيب للماسج أبديت ويذ فروم بأي طريقة تراها مناسبة بتعريف ميثود مناسبة

– Often the update:with:from: method, or a similar method, is defined so that a dependent sends a message to the master to find out the current values for the parts of the master’s state relevant to that class of
dependent.

عادة ما تكون الميثود للماسج أبديت ويذ فروم معروفة (معرفة) لدى التوابع فإن التوابع ترسل الماسج للماستر لتستخرج القيم من الماستر المتعلقة بها

• When you have a model and user interface, typically the model is a master and the user interface (or a part of it) is a dependent.
عندما يكون لدينا مودل ويوسر انترفيس فإن المودل يكون ماستر واليوسر انترفيس يكون جزء منه أي تابع
• There is a class Model that inherits class Object. The main difference between Model and Object classes is that a collection of the dependents of instances of Model is held in an instance variable. In this case, when the master object is destroyed, the dependents
collection will be automatically destroyed
.
الكلاس مودل الذي يورث الكلاس أوبجكت . الفرق الرئيسي مابين المودل والأوبجكت كلاس أن مجموعة التوابع من المودل تحتفظ بالانستانس فاريبل .
في هذه الحالة عندما يحذف الماستر أو يخرب فإن التوابع سوف تخرب تلقائياً

• If Model is not used and a master that does not hold its own collection of dependents is destroyed, its dependents may still be referenced by class Object. After some time, the memory may become filled with useless ‘dead’ objects or zombies. This is called
memory leak
.
في بعض الأحيان عندما لا نستخدم الماستر فإن النظام المودل يحذف هذا الماستر تلقائياً لكنه لا يحذفها بالكلية ، إذ تبقى بعض التوابع التي تشير إلى بعض الكلاس اوبجكت
في هذه الحالة الميموري تصبح ممتلئة بالأوبجكت العديمة الفائدة أو مايسمى بالزمبيس وتشكل عبئ على الذاكرة وهذا مانسميه ( الميموري ليك ) memory leak.

More Widgetsبعض الويجت
Radio buttons:
– used in a user interface when a choice is compulsory and the choices are mutually exclusive. A given user interface should be able to have more than one group of radio buttons, but within
each group, there should always be exactly one button selected. The programmer should provide in the initialization code for one to be selected before the user makes any selection.

الراديو بوتون :
تستخدم هذه الويجت في اليوسر انترفيس لتعطي المستخدم الاختيارات الإلزامية او الاختيارات المتعارضة .
هذه الويجت تمنح المستخدم اختيار واحد فقط لاغير

Each radio button must have a getter and a setter specified from the model’s protocol. If two or more radio buttons share the same getter and setter that means they are in the same group. In the model, the setter will typically set an instance variable to the value of the symbol representing the chosen button.
كل راديو بوتون يجب أن يكون لها جيتر وسيتر ماسج محددة من المودل .
لو كان هناك أكثر من راديو بوتون يشتركون في نفس الجيتر والسيتر ماسج هذا يعني أنهم في نفس المجموعة .
في المودل السيتر سوف تكون عبارة عن انستانس فاريبل والآرجيومنت تكون من نوع سيمبول تمثل البوتون .

Check boxes:
– A check box can be either ticked or not ticked by the user. The model may also tell the user interface (via self changed) to check or uncheck a check box in certain situations.

النوع الثاني من الويجت ما يسمى بالتشيك بوكس :
تعطي المجال لليوسر بالاختيار ولكن في هذه الحالة يكون هناك إمكانية للاختيار المتعدد

– Each check box needs to be told the appropriate getter and setter in the model’s protocol. Both the argument to the setter and the message answer to the getter are expected to be Booleans (true or false).
كل تشيك بوكس نحتاج لها جيتر وسيتر ماسج ، والأنسر لهذه الماسج متوقع أن تكون بوليون Booleans ( يعني صح أو غلط )
• Text editors:
– Used to present long texts to the user, which the user can scroll through using an automatically built-in text scroller if the text is sufficiently long. The user may edit the text (or write new text),
and the resulting text will be presented back to the model.

النوع الثالث : التيكست اديتور :
يستخدم لكتابة النصوص من قبل اليوسر ـ يمكن اليوسر من التعديل على النص أو كتابة نص جديد

– The difference between a text editor and input/output field widgets is in pressing Enter. In the later widget, Enter is interpreted as ending input while it is part of the text in the former widget.
الفرق مابين التكست إديتور وما بين حقل الانبوت أوت ببوت ويجت عندما نضغط على ( انتر ) في الانبوت أوت بوت عندما نضغط انتر سوف يفهمها المودل على انها انتهت العملية التي قمنا بها أما في التيكست إديتور فإن النظام يفهم العملية على ان هناك نص آخر سيدخل في نفس الحقل لكن في سطر جديد
– The model needs to have a setter and a getter that takes and returns the text as an instance of class Text.
المودل يحتاج إلى جيتر وسيتر ماسج لكي يستقبل النص ويجعله انستانس للكلاس تيكست .

• Lists:
– Allows the print-strings of a collection of items to be displayed and for the user to select one item from the collection. The items in the list can be objects of any classes
.
النوع الرابع : الليست :
القائمة : تأتي من الأمر برينت سترينج من كلويكشن معين لأيتم معينة
يختار اليوسر مجموعة أشياء معينة ويطلب من النظام أن يجعلها على شكل قائمة .


To store the items of the list use the collection class List.
لكي نخزن العناصر على شكل قائمة نستخدم الكلاس List

– When the user selects an item displayed in a list widget, a selection setter message will be sent to the model, with the object selected in the list widget as the message argument.
عندما يختار اليوسر أشياء معينة من الليست ويجت فإن الاختيار يعتبر سيتر ماسج سوف ترسل للمودل .
• Divider lines, group boxes and labels
النوع الخامس : الدايفر لاين والجروب بوكس والليبل :
– Divider lines, group boxes and labels do not communicate with the model in any way. They just draw passive marks on the background of the interface and so need not be associated with any messages in the protocol of the model.
هذه الويجت لا تتصل بالمودل بأي حال من الأحوال ، لكنها فقط تضع علامة معينة مجهولة في الانترفيس . لذا لا تحتاج إلى ماسج .


Frameworks
• A framework is a network of classes and messages encapsulating a strategy that can be used in many different cases.

الفريم وركس تعتبر شبكات من الكلاسات والماسجات المحمية بطريقة معينة ونستخدم لها عدة مهام مختلفة
• Dependency and the model-user interface (MUI) mechanisms are examples for frameworks that can be used in almost any domain.
التوابع والمودل يوسر انترفيس تعتبر مثال للفريموركس

التعديل الأخير تم بواسطة أبو مشاري ; 12-05-2007 الساعة 11:18 AM
أبو مشاري غير متصل  
قديم 12-05-2007, 02:24 PM   #153
Oprah Oprah غير متصل
مشرف سابق
 
الصورة الرمزية Oprah
افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


يعطيك العافية أخوي ابومشاري ماتقصصر
وأحسن شي الأمثلة اللي ذكرتها في الشرح، الله يعطيك الصحة والعافية
Oprah غير متصل  
قديم 12-05-2007, 02:28 PM   #154
Oprah Oprah غير متصل
مشرف سابق
 
الصورة الرمزية Oprah
افتراضي رد: هنا محاضرات M206 p2 شرح بالعربي - و أسئلة واستفسارات


Chapter 41
Chapter 42
الملفات المرفقة
نوع الملف: doc Chapter 41.doc‏ (42.5 كيلوبايت, المشاهدات 439)
نوع الملف: doc Chapter 42.doc‏ (49.5 كيلوبايت, المشاهدات 373)
Oprah غير متصل  
 

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

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

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 02:21 AM.


Powered by vBulletin® Version 3.8.1, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd. TranZ By Almuhajir
جميع المواضيع والمشاركات تعبر عن وجهة نظر أصحابها
ولا تعبر باي شكل من الاشكال عن وجهة نظر منتديات AOUA
تصميم وتطوير : التكنولوجيا الماسية