UML لغة البرمجة الموحدة PDF
Document Details

Uploaded by CrisperPermutation7281
مركز التكوين المهني و التمهين إناث الشهيد دباب محمد
Tags
Summary
هذا المستند يشرح لغة النمذجة الموحدة (UML)، ومخططاتها المختلفة، وكيفية استخدامها في تصميم البرامج. يصف المستند عناصر UML المختلفة، والعلاقات بينها، بالإضافة إلى أمثلة توضيحية.
Full Transcript
ﻝﻐﺔ ﺍﻝﻨﻤﺫﺠﺔ ﺍﻝﻤﻭﺤﺩﺓ UML ﺘـﻡ ﺇﻁـﻼﻕ ) Unified Modeling Language (UMLﻋـﺎﻡ ١٩٩٧ﻜﻁﺭﻴﻘـﺔ ﻝﻭﻀـﻊ ﻤﺨﻁﻁـﺎﺕ ﺘﺼﻤﻴﻡ ﻝﻠﺒﺭﻤﺠﻴﺎﺕ ﺒﻬﺩﻑ: ﺘﺼﻤﻴﻡ ﺍﻝﺒﺭﻤﺠﻴﺎﺕ ﺒﺸﻜل ﺍﺤﺘﺭﺍﻓﻲ....
ﻝﻐﺔ ﺍﻝﻨﻤﺫﺠﺔ ﺍﻝﻤﻭﺤﺩﺓ UML ﺘـﻡ ﺇﻁـﻼﻕ ) Unified Modeling Language (UMLﻋـﺎﻡ ١٩٩٧ﻜﻁﺭﻴﻘـﺔ ﻝﻭﻀـﻊ ﻤﺨﻁﻁـﺎﺕ ﺘﺼﻤﻴﻡ ﻝﻠﺒﺭﻤﺠﻴﺎﺕ ﺒﻬﺩﻑ: ﺘﺼﻤﻴﻡ ﺍﻝﺒﺭﻤﺠﻴﺎﺕ ﺒﺸﻜل ﺍﺤﺘﺭﺍﻓﻲ. ﺘﻭﺜﻴﻕ ﺍﻝﺘﺼﻤﻴﻡ ﻗﺒل ﺍﻝﺒﺩﺀ ﺒﺎﻝﺒﺭﻤﺠﺔ. ﺇﻋﺎﺩﺓ ﺍﻻﺴﺘﺨﺩﺍﻡ ) Reusabilityﺘﺨﻔﻴﺽ ﺍﻝﻜﻠﻔﺔ(. ﺍﻝﺒﺭﻨﺎﻤﺞ ﺍﻝﺫﻱ ﺘﻡ ﺘﻁﻭﻴﺭﻩ ﻴﺅﺩﻱ ﺍﻝﻭﻅﺎﺌﻑ ﺍﻝﻤﻁﻠﻭﺒﺔ )ﺯﻴﺎﺩﺓ ﺍﻝﻭﺜﻭﻗﻴﺔ(. ﺴﻬﻭﻝﺔ ﺍﻝﺘﻌﺩﻴل ﻭﺍﻝﺼﻴﺎﻨﺔ ﻭﺒﻜﻠﻔﺔ ﻤﻨﺨﻔﻀﺔ. ﻤﺨﻁﻁﺎﺕ UMLﺘﺴﺎﻋﺩ ﺍﻝﻤﻁﻭﺭﻴﻥ ﻋﻠﻰ ﻓﻬﻡ ﺍﻝﻨﻅﺎﻡ ﺒﺴﻬﻭﻝﺔ ﻭﺴﺭﻋﺔ. ﻝﻐﺔ ﺘﻭﺍﺼل ﺒﻴﻥ ﺍﻝﻤﻁﻭﺭﻴﻥ ﻭﺍﻝﻤﺼﻤﻤﻴﻥ. ﺘﺘﻜﻭﻥ UMLﻤﻥ ﻋﻨﺎﺼﺭ ﺭﺴـﻭﻤﻴﺔ ﺘﻭﻀـﻊ ﻀـﻤﻥ ﻤﺨﻁﻁـﺎﺕ ﻤﺨﺘﻠﻔـﺔ ﻝﺘﻭﺼـﻴﻑ ﺍﻝﻨﻅـﺎﻡ ،ﻫـﺫﻩ ﺍﻝﻤﺨﻁﻁــﺎﺕ ﺘﻘــﻭﻡ ﺒﺘﻭﺼــﻴﻑ ﺍﻝﻨﻅــﺎﻡ ﻭﻝــﻴﺱ ﻝﻬــﺎ ﻋﻼﻗــﺔ ﺒﻜﻴﻔﻴــﺔ ﺒﺭﻤﺠــﺔ ﻫــﺫﻩ ﺍﻝﻭﻅــﺎﺌﻑ .Implementation ﺘﺘﺄﻝﻑ ﺍﻝــ UMLﻤـﻥ ١٤ﻨـﻭﻉ ﻤـﻥ ﺍﻝﻤﺨﻁﻁـﺎﺕ ﻭﺘﻘـﺴﻡ ﺇﻝـﻰ ﻨـﻭﻋﻴﻥ Structure Diagram, .Behavior Diagram :Structure Diagramﺘﺭﻜﺯ ﻋﻠﻰ ﻋﻨﺎﺼﺭ ﺍﻝﻨﻅـﺎﻡ ﺒـﺸﻜل ﻤـﺴﺘﻘل ﻋـﻥ ﺍﻝـﺯﻤﻥ ﺃﻱ ﺍﻝﺒﻴﻨـﺔ ﺍﻝـﺴﺎﻜﻨﺔ .Static Structure :Behavior Diagramﺘﺭﻜــﺯ ﻋﻠــﻰ ﻭﻅﻴﻔﻴــﺔ ﺍﻝﻨﻅــﺎﻡ ﺃﻱ ﺘﻐﻴﺭﺍﺘــﻪ ﻤــﻊ ﺍﻝــﺯﻤﻥ Dynamic .Structure Rakan. Co ﻤﺨﻁﻁﺎﺕ UML Class diagram ﺍﻝﺼﻨﻑ Class ﻫﻭ ﺘﺠﻤﻴﻊ ﻝﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻷﺸﻴﺎﺀ ﺍﻝﻤﺘﺸﺎﺒﻬﺔ ﻓﻲ ﺨﻭﺍﺼﻬﺎ ﺃﻭ ﺴﻠﻭﻜﻬﺎ ﻤﺜﺎل) :ﺍﻝﺤﻴﻭﺍﻨﺎﺕ ،ﻭﺴﺎﺌﻁ ﺍﻝﻨﻘل ،ﺍﻝﻨﺒﺎﺘﺎﺕ ،ﺍﻝﻁﻼﺏ(..... ، ﺍﻝﻜﺎﺌﻥ Object ﻋﻨﺩ ﺇﺴﻨﺎﺩ ﻗﻴﻡ ﻝﻠـ Classﻨﺤﺼل ﻋﻠﻰ ﺍﻝﻜﺎﺌﻥ Objectﺃﻱ ﻫﻭ Classﺼﻔﺎﺘﻪ ﺘﻤﻠﻙ ﻗﻴﻡ. ﻤﺜﺎل :ﺘﺤﺩﻴﺩ ﻁﺎﻝﺏ ﻤﺤﺩﺩ ﺍﺴﻤﻪ ﺃﺤﻤﺩ. Rakan. Co ﻤﺨﻁﻁﺎﺕ UML Class Diagram ﺘﻭﻀـﻴﺢ ﻫـﺫﻩ ﺍﻷﺼـﻨﺎﻑClass diagram ﻤﻬﻤـﺔ، Classes ﻴﻤﻜﻥ ﻭﻀﻊ ﺍﻷﺸﻴﺎﺀ ﻀـﻤﻥ ﺃﺼـﻨﺎﻑ ﻓﻴﻤﺎ ﺒﻴﻨﻬﺎassociations ﻭﺍﻝﻌﻼﻗﺎﺕ : Class ﻝﻜل ﺼﻨﻑ class name ﺍﺴﻡ attributes ﻤﻤﻴﺯﺍﺕ Methods ﻭﺃﺤﻴﺎﻨﹰﺎ ﻨﺴﻤﻴﻬﺎoperations ﻋﻤﻠﻴﺎﺕ : ﺒﺄﺤﺩ ﺍﻝﻁﺭﻕ ﺍﻝﺘﺎﻝﻴﺔClass ﻭﺒﺎﻝﺘﺎﻝﻲ ﻴﻤﻜﻥ ﺘﻤﺜﻴل Class Name Class Name Class Name Att1: type 1 Att1: type 1 Att 2: type 2 = "default Att2: type 2 = "default value" value" … … … … Operation1 () Operation2 (list of parameters) Operatipn3: returned value type Rakan. Co UML ﻤﺨﻁﻁﺎﺕ Associations ﺍﻝﻌﻼﻗﺎﺕ ﺒﻴﻥ ﺍﻷﺼﻨﺎﻑ Works in Librarian Library Employer Employee Customer Buys from SuperMarket Bill Multiplicity ﺍﻝﺘﻌﺩﺩﻴﺔ :ﻴﻤﻜﻥ ﺍﻥ ﺘﺄﺨﺫ ﺍﻝﺘﻌﺩﺩﻴﺔ ﺒﻴﻥ ﺍﻷﺼﻨﺎﻑ ﺍﺤﺩ ﺍﻷﺸﻜﺎل ﺍﻝﺘﺎﻝﻴﺔ one to one 1 1 one to many 1 * one to one or more 1 1..* one to zero or more 1 0..* one to exactly n 1 n Reflexive ﻭﻨﻔﺴﻪ ﻭﺘﺴﻤﻰ ﻫﺫﻩ ﺍﻝﻌﻼﻗﺔClass ﻓﻲ ﺒﻌﺽ ﺍﻷﺤﻴﺎﻥ ﻴﻜﻭﻥ ﻫﻨﺎﻙ ﻋﻼﻗﺔ ﺒﻴﻥ ﺍﻝﺼﻨﻑ association 1 Employee Chef 1..* Workers Responsible For Rakan. Co UML ﻤﺨﻁﻁﺎﺕ ﻴﻤﻜﻥ ﺃﻥ ﺘﻜﻭﻥ attributes & operationsﻓﻲ ﺇﺤﺩﻯ ﺍﻝﺤﺎﻻﺕ ﺍﻝﺘﺎﻝﻴﺔ: ) Public ( + ) – ( Private ) Protected ( # ﻤﺜﺎل: ﺍﻝﻭﺭﺍﺜﺔ Inheritance & Generalization ﺘﻭﺠﺩ ﺒﻌﺽ ﺍﻝﻤﻤﻴﺯﺍﺕ ﺍﻝﻤﺸﺘﺭﻜﺔ ﺒﻴﻥ ﺍﻷﺼﻨﺎﻑ ﻭﺍﻝﺘﻲ ﻴﻤﻜﻥ ﻨﻘﻠﻬﺎ ﺒﻴﻥ ﺍﻷﺼﻨﺎﻑ Classesﻭﺒﺎﻝﺘﺎﻝﻲ ﻴﻔﻀل ﻓﻲ ﻫﺫﻩ ﺍﻝﺤﺎﻝﺔ ﺃﻥ ﻨﺩﺨل ﻤﻔﻬﻭﻡ ﺍﻝﻭﺭﺍﺜﺔ. ﻴﻤﻜﻥ ﻷﺤﺩ ﺍﻷﺼﻨﺎﻑ ﻨﺴﻤﻴﻪ ) Child class (subclassﺃﻥ ﻴﺭﺙ attributes and operationsﻤﻥ ﺼﻨﻑ ﺁﺨﺭ ﻨﺴﻤﻴﻪ ) Parent class (super classﺤﻴﺙ ﻴﻤﻜﻥ ﺃﻥ ﻴﻨﻭﺏ ﺍﻷﺏ ﻋﻥ ﺍﺒﻨﻪ ﻭﻝﻜﻥ ﺍﻝﻌﻜﺱ ﻏﻴﺭ ﺼﺤﻴﺢ. ﻤﺜﺎل :ﻤﻭﻅﻔﻴﻥ ﻓﻲ ﻤﺅﺴﺴﺔ ﻤﺎ )ﻤﺩﻴﺭ ،ﻤﻬﻨﺩﺱ ،ﺴﻜﺭﺘﻴﺭﺓ ،ﺭﺌﻴﺱ ﻗﺴﻡ ،ﻋﺎﻤل ﺒﻭﻓﻴﺔ ،ﻋﺎﻤل ﻨﻅﺎﻓﺔ(... ، Super class Parent Sub Class Child ﻋﻼﻗﺔ Aggregations ﻫﻲ ﻋﻼﻗﺔ ﺒﻴﻥ ﺍﻝﻜل ﻭﺍﻝﺠﺯﺀ ﻭﻴﺘﻡ ﺘﻤﺜﻴﻠﻬﺎ ﻜﻤﺎ ﻴﻠﻲ: *1.. Vehicle parts Vehicle *1.. City Country Rakan. Co ﻤﺨﻁﻁﺎﺕ UML ﺘﻜﻭﻥ ﺩﻭﺭﺓ ﺤﻴﺎﺓ ﺼﻑ ﺍﻝﺠﺯﺀ ﻤﺴﺘﻘﻠﺔ ﻋﻥ ﺩﻭﺭﺓ ﺤﻴﺎﺓ ﺼﻑ ﺍﻝﻜل )ﻴﻤﻜﻥ ﺭﺅﻴﺔ ﺍﻝﺠﺯﺀ ﺒﻌﻴﺩﹰﺍ ﻋﻥ ﺍﻝﻜل(. ﺃﻤﺜﻠﺔ: ﻋﻼﻗﺔ Composition ﻫﻲ ﻋﻼﻗﺔ ﺒﻴﻥ ﺍﻝﻜل ﻭﺍﻝﺠﺯﺀ ﺃﻴﻀﹰﺎ ﻝﻜﻨﻬﺎ ﺃﺸﺩ ﻗﺴﻭﺓ ﺤﻴﺙ ﺃﻥ ﺩﻭﺭﺓ ﺤﻴﺎﺓ ﺼﻑ ﺍﻝﺠﺯﺀ ﺘﻌﺘﻤﺩ ﻋﻠﻰ ﺩﻭﺭﺓ ﺤﻴﺎﺓ ﺼﻑ ﺍﻝﻜل )ﻻ ﻴﻤﻜﻥ ﺭﺅﻴﺔ ﺍﻝﺠﺯﺀ ﺒﻌﻴﺩﹰﺍ ﻋﻥ ﺍﻝﻜل(. ﻴﺘﻡ ﺘﻤﺜﻴل ﻫﺫﻩ ﺍﻝﻌﻼﻗﺔ ﻜﻤﺎ ﻴﻠﻲ: Hotel 1 *1.. Rooms Use Case diagram ﻜل Use Caseﺘﻤﺜل ﻭﻅﻴﻔﺔ ﻤﻥ ﻭﻅﺎﺌﻑ ﺍﻝﻨﻅﺎﻡ ﻭﺒﺎﻝﺘﺎﻝﻲ ﻴﺘﻀﻤﻥ ﻫﺫﺍ ﺍﻝﻤﺨﻁﻁ : -ﺍﻝﻭﻅﺎﺌﻑ ﺍﻝﻤﻁﻠﻭﺒﺔ ﻤﻥ ﺍﻝﻨﻅﺎﻡ. -ﻝﻤﺴﺘﺨﺩﻡ actorﺍﻝﺫﻱ ﻴﻘﻭﻡ ﺒﻁﻠﺏ ﻫﺫﻩ ﺍﻝﻭﻅﻴﻔﺔ )ﻗﺩ ﻴﻜﻭﻥ ﻨﻅﺎﻡ ﺁﺨﺭ(. Rakan. Co ﻤﺨﻁﻁﺎﺕ UML ﻴﺴﺎﻋﺩﻨﺎ ﻋﻠﻰ ﺒﻨﺎﺀ Use case diagramﻓﻬﻡ ﺴـﻴﻨﺎﺭﻴﻭ ﺍﻝﻌﻤـل ﻭﺍﻝـﺫﻱ ﻨﺤـﺼل ﻋﻠﻴـﻪ ﻤـﻥ ﻤـﺴﺘﺨﺩﻡ ﺍﻝﻨﻅﺎﻡ. Association line ﻜل Use Caseﻋﺒﺎﺭﺓ ﻋﻥ ﺴﻴﻨﺎﺭﻴﻭ ﻴﺘﻜﻭﻥ ﻤﻥ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻝﺨﻁﻭﺍﺕ ﻝﺘﻨﻔﻴﺫ ﻭﻅﻴﻔﺔ ﻤﺤﺩﺩﺓ. ا()*+,ت Use Case./ Include ﺘﻤﻜﻨﻨﺎ ﻫﺫﻩ ﺍﻝﻌﻼﻗﺔ ﻤﻥ ﺇﻋﺎﺩﺓ ﺍﺴﺘﺨﺩﺍﻡ ﺍﻝﺨﻁﻭﺍﺕ ﺍﻝﻤﻭﺠﻭﺩﺓ ﺩﺍﺨل Use Case ﻴﺘﻡ ﺘﻤﺜﻴل ﻫﺫﻩ ﺍﻝﻌﻼﻗﺔ ﻜﻤﺎ ﻴﻠﻲ: Rakan. Co ﻤﺨﻁﻁﺎﺕ UML Extension ﺘﺴﻤﺢ ﻝﻨﺎ ﻫﺫﻩ ﺍﻝﻌﻼﻗﺔ ﺒﺈﻨﺸﺎﺀ Use Caseﺠﺩﻴﺩﺓ ﻴﺘﻡ ﺇﻀﺎﻓﺘﻬﺎ ﺇﻝﻰ Use Caseﻤﻭﺠﻭﺩﺓ ﺴﺎﺒﻘﺎ ﺒﻬﺩﻑ: ﻤﻌﺎﻝﺠﺔ ﺤﺎﻝﺔ ﺍﺴﺘﺜﻨﺎﺌﻴﺔ ﻗﺩ ﺘﻭﺍﺠﻬﻨﺎ ﺃﻭ ﻝﻭﻀﻊ ﺸﺭﻁ ﻋﻠﻰ ﺍﻝﺨﻁﻭﺍﺕ ﻀﻤﻥ Use Caseﺍﻝﺤﺎﻝﻴﺔ ﻴﺘﻡ ﺘﻤﺜﻴﻠﻬﺎ ﻜﻤﺎ ﻴﻠﻲ: ﺍﻝﻭﺭﺍﺜﺔ Generalization Rakan. Co ﻤﺨﻁﻁﺎﺕ UML Self service Machine example Rakan. Co UML ﻤﺨﻁﻁﺎﺕ Rakan. Co UML ﻤﺨﻁﻁﺎﺕ Sequence diagram ﻤﺨﻁﻁ ﻴﻬﺩﻑ ﺇﻝﻰ ﺘﻭﺼﻴﻑ ﺍﻻﺘﺼﺎﻻﺕ ﺒﻴﻥ Objectsﻋﺒﺭ ﺍﻝﺯﻤﻥ ﺃﻱ ﻴﺘﻡ ﺇﺩﺨﺎل ﺒﻌﺩ ﺍﻝﺯﻤﻥ Timeﺇﻝﻰ ﺍﻝﻤﺨﻁﻁ ﻭﺒﺎﻝﺘﺎﻝﻲ ﻴﺘﻡ ﺘﻭﻀﻴﺢ ﻜل ﺍﻝﺘﻔﺎﻋﻼﺕ ﻭﺍﻻﺘﺼﺎﻻﺕ ﺒﻴﻥ Objectsﻭﻓﻕ ﺘﺴﻠﺴل ﺯﻤﻨﻲ. ﺘﺴﺘﺨﺩﻡ ﺍﻝﺭﻤﻭﺯ ﺍﻝﺘﺎﻝﻴﺔ ﻓﻲ Sequence diagram: Active time Time line Rakan. Co ﻤﺨﻁﻁﺎﺕ UML : ﻭﻫﻲObjects ﺘﻭﺠﺩ ﻋﺩﺓ ﺃﻨﻭﺍﻉ ﻝﻠﺭﺴﺎﺌل ﺍﻝﻤﺘﺒﺎﺩﻝﺔ ﺒﻴﻥ Message Self message Call message (synchronous) Asynchronous message Self call message Return message Self return message :ﻴﻭﻀﺢ ﺍﻝﺸﻜل ﺍﻝﺘﺎﻝﻲ ﻁﺭﻴﻘﺔ ﺘﻤﺜﻴل ﺍﻝﺭﺴﺎﺌل ﻓﻲ ﺍﻝﻤﺨﻁﻁ Rakan. Co UML ﻤﺨﻁﻁﺎﺕ Rakan. Co UML ﻤﺨﻁﻁﺎﺕ ﺇﺫﺍ ﺃﺭﺩﻨﺎ ﺘﺤﺴﻴﻥ ﺍﻝﻨﻅﺎﻡ ﺒﺤﻴﺙ ﻴﺄﺨﺫ ﺒﻌﻴﻥ ﺍﻻﻋﺘﺒﺎﺭ ﺍﻝﻤﺘﻁﻠﺒﺎﺕ ﺍﻝﻤﺴﺒﻘﺔ ﻝﻜل ﻤﺎﺩﺓ ﻴﻜﻭﻥ ﻝﺩﻴﻨﺎ ﺍﻝﻤﺨﻁﻁ ﺍﻝﺘﺎﻝﻲ: Rakan. Co ﻤﺨﻁﻁﺎﺕ UML ﻤﺜﺎل :٢ﻓﻲ ﻨﻅﺎﻡ self service machineﻴﻘﻭﻡ ﺍﻝﺯﺒﻭﻥ ﺒﺈﺩﺨﺎل ﺍﻝﻨﻘﻭﺩ ﻭﻴﺨﺘﺎﺭ ﻤﻨﺘﺞ ﻓﺘﻘﻭﻡ ﺍﻵﻝﺔ ﺒﺎﻻﺴﺘﺠﺎﺒﺔ ﻝﻁﻠﺒﻪ ﻭﺒﻴﻌﻪ ﺍﻝﻤﻨﺘﺞ ﺍﻝﻤﻁﻠﻭﺏ. Rakan. Co ﻤﺨﻁﻁﺎﺕ UML ﻴﻤﻜﻥ ﺘﻁﻭﻴﺭ ﺍﻝﻨﻅﺎﻡ ﺒﺠﻌﻠﻪ ﻴﺄﺨﺫ ﺒﻌﻴﻥ ﺍﻻﻋﺘﺒﺎﺭ ﻗﻴﻤﺔ ﺍﻝﺩﻓﻌﺔ )ﺍﻜﺒﺭ ﺃﻭ ﺘﺴﺎﻭﻱ ﻗﻴﻤﺔ ﺍﻝﻤﻨﺘﺞ( ﻭﺃﻴﻀﺎ ﻓﻴﻤﺎ ﺇﺫﺍ ﻜﺎﻥ ﺍﻝﻤﻨﺘﺞ ﻤﺘﻭﻓﺭ ﺃﻭ ﻏﻴﺭ ﻤﺘﻭﻓﺭ. ﺘﻡ ﺒﺤﻤﺩ ﺍﷲ Rakan. Co ﻤﺨﻁﻁﺎﺕ UML