The Unified Modelling Language (UML) อาจารย์สมเกียรติ ช่อเหมือน (tkorinp@hotmail.com) สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี
The Unified Modelling Language (UML) An introduction to UML UML Class Diagrams UML Syntax UML Package Diagrams UML Object diagrams UML Sequence Diagrams
UML (Unified Modelling Language) การสร้างแบบจำลองซอฟต์แวร์ ในรูปของสัญลักษณ์ เพื่อใช้ในการอธิบายระเบียบวิธีการ เข้าใจลำดับขั้นตอนในการทำงานให้บรรลุผล จัดลำดับของกิจกรรมเพื่อรวบรวมความต้องการของผู้ใช้ กระบวนการเขียน Diagram โดยใช้ สัญลักษณ์ในการออกแบบซอฟต์แวร์ นำเสนอ และตกลงร่วมกัน ใช้แผนภาพประกอบเพื่อช่วยให้เข้าใจได้ง่าย และอธิบายข้อมูลทางเทคนิคให้ ถูกต้องตรงกันและชัดเจนขึ้น นำไปใช้ในกระบวนต่อไปของการพัฒนาซอฟต์แวร์ได้ ไม่ใช้วิธีการ แต่เป็นสิ่งที่นำไปใช้ช่วยให้สามารถออกแบบและนำไปใช้ได้อย่างถูกต้อง ด้วยการสร้างแผนภาพ เพื่อเป็นแนวทางที่เหมาะสมตามความต้องการ
Class diagrams แผนภาพพื้นฐานของแนวคิดเชิงวัตถุ แสดงรายละเอียดของสิ่งต่างๆ แสดงความเกี่ยวข้องของสิ่งต่างๆ แสดงสถาปัตยกรรมของระบบ
Class diagrams Class ชั้นประกอบด้วย ชื่อไม่ซ้ำกัน (*ขึ้นต้นด้วยตัวพิมพ์ใหญ่) รายการแอตทริบิวต์ รายการของวิธีการ การมองเห็นและการเข้าถึงจากภายนอก (visibility modifiers) private Attributes public methods ทราบถึงข้อมูลที่สนใจและสามารถตัดส่วนที่ไม่สนใจออกได้ บาง Class จะเรียกใช้งาน Classอื่น ๆ ความสัมพันธ์เหล่านี้จะแสดงโดยลูกศร
Class diagrams Classes Relationships Generalization / specialization - attributes - operations - visibility Relationships - navigability - multiplicity - dependency - aggregation - composition Generalization / specialization - inheritance - interfaces Keywords Notes and Comments
UML Syntax Visibility Multiplicity is one ‘+’ public ‘-’ private ‘#’ protected ‘~’ package Multiplicity is one ‘n’ exactly n ‘*’ zero or more ‘m..‘n’ between m and n
UML Syntax Visibility Multiplicity is one ‘+’ public ‘-’ private ‘#’ protected ‘~’ package Multiplicity is one ‘n’ exactly n ‘*’ zero or more ‘m..‘n’ between m and n
Examples of attributes visibility name (par1 : type1, par2 : type2): returntype - custRef : int [1] # itemCodes : String [1..*] validCard : boolean
Examples of method + addName (newName : String) : boolean
relationships between classes ‘Association’ ‘source’ class points to the ‘target’ multiplicity
Relationships between classes The diagram below shows this information All class names begin in uppercase attribute and method names begin in lowercase. class ItemForSale describes a single item ‘listOfItems’ list of zero or more individual objects
Types of Association Dependency Simple association Aggregation and Bidirectional association Aggregation and Composition
Inheritance การ คลาส A สืบทอดมาจากคลาส B
Interfaces implemented by Publication required by CashTill <<realizes>> “ball and socket” in UML2
Notes
elements of UML Class Diagram notation
elements of UML Class Diagram notation
Package Diagrams
Package Naming package names are normally in lowercase local individual projects packages Mysystem mysystem.interface mysystem.engine mysystem.engine.util mysystem.database based on URL
Package Diagram Dependency arrows have been drawn to highlight relationships between packages. When more thought has been put into determining these relationships they may turn out to be associations
UML Object Diagrams objectName : ClassName attribute = value
Sequence Diagrams actions taking place
Sequence Diagrams Selection and Iteration The logic of a scenario often depends on selection (‘if’) and iteration (loops). There is a notation (‘interaction frames’) which allow ifs and loops to be represented in sequence diagrams however these tend to make the diagrams cluttered. Sequence diagrams are generally best used for illustrating particular cases, with the full refinement reserved for the implementation code.
UML notation (สัญลักษณ์)
UML
https://www. google. co. th/url https://www.google.co.th/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwi-wsj0kqbLAhXHCo4KHRWzDdcQjRwIBw&url=http%3A%2F%2Fwww.sedris.org%2Fdm_notn.htm&psig=AFQjCNHYZn1cgpz8DvGn-gXSSomANAKAPQ&ust=1457150162826343
สัญลักษณ์ที่ใช้ในการเขียน UML
UML class-object UML Elephant new e2 e1
สรุป UML เป็นภาษาที่ใช้กำหนดรายละเอียดโดยใช้โมเดลด้านซอฟต์แวร์ เพื่อช่วยให้สามารถทำงานร่วมกันได้ โดยยึดรูปแบบที่วิเคราะห์และออกแบบไว้ร่วมกัน แผนภาพแต่ละชนิดใช้สำหรับแสดงรายละเอียดของซอฟต์แวร์แตกต่างกัน ทำให้สามารถเข้าใจโครงสร้างและสถาปัตยกรรมในการพัฒนาซอฟต์แวร์ได้ สัญลักษณ์ที่นำมาใช้เป็นมาตรฐานเดียวกันในการวิเคราะห์และออกแบบเชิงวัตถุ