เหตุใดอุตสาหกรรมซอฟต์แวร์จึงมีความสัมพันธ์แบบรักและเกลียดกับไดอะแกรม UML
เผยแพร่แล้ว: 2017-05-19UML เป็นภาษาภาพอเนกประสงค์ที่ใช้ในการสร้างแบบจำลองระบบซอฟต์แวร์ อุตสาหกรรมซอฟต์แวร์ถูกแบ่งแยกตามความเห็นเกี่ยวกับการใช้ไดอะแกรม UML แม้ว่าบางคนมองว่าเป็นส่วนสำคัญของระบบซอฟต์แวร์และการพัฒนา แต่ก็มีคนจำนวนมากที่เห็นว่าไม่จำเป็นโดยสิ้นเชิง
ในโพสต์นี้ เราจะสำรวจทั้งสองด้านของอาร์กิวเมนต์นี้ (ทั้งข้อดีและข้อเสียของ UML) และพยายามทำความเข้าใจความสัมพันธ์ระหว่างความรักและความเกลียดชังของอุตสาหกรรมซอฟต์แวร์กับไดอะแกรมการออกแบบ UML
ข้อดีของUML
ใช้มากที่สุดและมีความยืดหยุ่น
UML เป็นแพลตฟอร์มที่เป็นที่รู้จักและเข้าใจอย่างสูงสำหรับการออกแบบซอฟต์แวร์ เป็นสัญกรณ์มาตรฐานในหมู่นักพัฒนาซอฟต์แวร์ คุณสามารถสรุปได้อย่างปลอดภัยว่าผู้เชี่ยวชาญด้านซอฟต์แวร์ส่วนใหญ่จะคุ้นเคยกับไดอะแกรม UML อย่างน้อย หากไม่เชี่ยวชาญ ดังนั้นจึงเป็นทางเลือกอื่นในการอธิบายรูปแบบการออกแบบซอฟต์แวร์
สิ่งที่ทำให้ UML เหมาะสมและจำเป็นอย่างมากสำหรับการพัฒนาซอฟต์แวร์คือความยืดหยุ่น คุณสามารถปรับแต่งองค์ประกอบการสร้างแบบจำลองและการโต้ตอบในไดอะแกรม UML โดยเฉพาะเพื่อให้เหมาะกับโดเมนหรือเทคโนโลยีที่คุณใช้
สถาปัตยกรรมซอฟต์แวร์ต้องได้รับการสื่อสารอย่างมีประสิทธิภาพ
สถาปัตยกรรมซอฟต์แวร์เป็นพิมพ์เขียวของระบบ เป็นกรอบการทำงานที่ประสิทธิภาพของระบบและกระบวนการขึ้นอยู่กับ แต่เฟรมเวิร์กนี้จะมีผลก็ต่อเมื่อมีการสื่อสารอย่างถูกต้องกับทุกคนที่ใช้เฟรมเวิร์กและกำลังทำงานอยู่ นี่คือที่มาของ Unified Modeling Language (UML)
UML เป็นภาษาที่สมบูรณ์และครอบคลุมซึ่งสามารถใช้ในการสร้างแบบจำลอง ไม่ใช่แค่วิศวกรรมซอฟต์แวร์เชิงวัตถุเท่านั้น แต่ยังรวมถึงโครงสร้างและการทำงานของแอปพลิเคชัน และกระบวนการทางธุรกิจด้วย ผู้เล่นซอฟต์แวร์ตกลงกันว่าเราไม่สามารถยกเลิกเอกสารเกี่ยวกับสถาปัตยกรรมได้ มันเป็นสิ่งสำคัญ ช่วยในการประเมินประสิทธิภาพ ความปลอดภัย การติดตาม และให้แนวทางที่สำคัญสำหรับการมอบหมายภายใต้การดำเนินงาน
เนื่องจากมีการเข้าถึงอย่างกว้างขวาง UML จึงเป็นภาษาภาพที่สมบูรณ์แบบในการสื่อสารข้อมูลโดยละเอียดเกี่ยวกับสถาปัตยกรรมไปยังผู้ใช้จำนวนมากที่สุด
คุณจำเป็นต้องรู้เพียงเศษเสี้ยวของภาษาเพื่อใช้มัน
แม้ว่าจะมีไดอะแกรม UML ที่แตกต่างกัน 14 ประเภทสำหรับแอปพลิเคชันการสร้างแบบจำลอง นักพัฒนาใช้เพียงสามหรือสี่ประเภทในการจัดทำเอกสารเกี่ยวกับระบบซอฟต์แวร์ คลาสไดอะแกรม ไดอะแกรมลำดับ และไดอะแกรมกรณีใช้งานยังคงเป็นรูปแบบที่ทันสมัยที่สุด
สิ่งนี้หมายความว่าคุณจำเป็นต้องรู้เพียง 20% ของภาษา UML เพื่ออธิบาย 80% ของความต้องการในการสร้างแบบจำลองของคุณ คุณไม่จำเป็นต้องรู้หรือเข้าใจสัญกรณ์ทั้งหมด เพื่อสื่อสารอย่างมีประสิทธิภาพโดยใช้ไดอะแกรม UML การรู้ชุดย่อยของสัญกรณ์จะช่วยให้คุณสบายดี
เครื่องมือ UML มากมาย
เครื่องมือ UML เป็นหนึ่งในสาเหตุที่สำคัญที่สุดที่ทำให้ UML ถูกใช้อย่างกว้างขวาง เครื่องมือ UML มีตั้งแต่ซอฟต์แวร์โอเพ่นซอร์สฟรีไปจนถึงซอฟต์แวร์ที่มีมูลค่าหลายล้านดอลลาร์ เครื่องมือเหล่านี้ครอบคลุมอาณาเขตมากมายนอกเหนือจากการวาดไดอะแกรม พวกเขาสามารถสร้างโค้ดจากการออกแบบ ใช้รูปแบบการออกแบบ ความต้องการของเหมือง รหัสวิศวกรรมย้อนกลับ และดำเนินการวิเคราะห์ผลกระทบและความซับซ้อน
ข้อดีเหล่านี้และเครื่องมือ UML ที่มีอยู่มากมายทำให้ UML เป็นภาษาที่ใช้ในการสร้างแบบจำลองและการพัฒนาในด้านวิศวกรรมซอฟต์แวร์
แม้จะมีการใช้และประโยชน์มากมาย แต่ทุกคนก็ไม่ต้องการ UML อันที่จริง ส่วนสำคัญของนักพัฒนาซอฟต์แวร์ อย่าใช้ UML และวิจารณ์อย่างหนักในเรื่องเดียวกัน ลองดูข้อโต้แย้งที่ต่อต้านการใช้ UML
ข้อเสียของ UML: การใช้เหตุผลกับ UML
ไม่จำเป็นต้องใช้สัญกรณ์อย่างเป็นทางการ
อาร์กิวเมนต์ที่รัดกุมที่สุดสำหรับ UML คือคุณไม่จำเป็นต้องมีไดอะแกรม UML เพื่อสื่อสารการออกแบบของคุณ คุณสามารถมีผลกระทบและผลกระทบเช่นเดียวกันกับไดอะแกรมแบบกล่องและบรรทัดที่สร้างใน PowerPoint, Visio หรือไวท์บอร์ด เนื่องจากการเขียนโค้ดเป็นภาษาที่เป็นทางการ นักพัฒนาจำนวนมากจึงไม่ชอบความซับซ้อนและความเป็นทางการในระดับสถาปัตยกรรม ซึ่งขัดขวางการใช้ UML และกลายเป็นข้อเสียอย่างหนึ่ง
ระดับความซับซ้อนจากน้อยไปมาก
ตั้งแต่เริ่มดำเนินการมาจนถึงปัจจุบัน UML ได้เติบโตขึ้นในความซับซ้อนและขนาด ขนาดที่แท้จริงของ UML ทำให้หลายคนประหม่าตั้งแต่เริ่มมีอาการ และพวกเขารู้สึกว่าพวกเขาไม่สามารถเรียนรู้มันได้ และจะดีกว่าถ้าไม่มีมัน
ไม่จำเป็นใน 'สถาปัตยกรรม-การออกแบบที่ไม่แยแส'
คำประกาศเกียรติคุณของจอร์จ แฟร์แบงค์ 'การออกแบบที่ไม่แยแสสถาปัตยกรรม' เป็นสถานการณ์ที่ถือว่า UML ไม่จำเป็น
แก่นแท้ของการออกแบบ สถาปัตยกรรม-ไม่แยแสหมายถึงสถาปัตยกรรมซอฟต์แวร์ที่เรียบง่ายและเป็นพื้นฐาน และไม่ต้องการไดอะแกรมที่ซับซ้อนใดๆ เพื่อเป็นตัวแทนหรืออธิบายการออกแบบ หากบริษัทให้ความสำคัญกับการเขียนโค้ดแบบเป็นทางการมากขึ้น และมีวัฒนธรรมที่แพร่หลายของเอกสารการออกแบบขั้นต่ำ UML ก็ถือว่าไม่จำเป็น
ถอดรหัสความสัมพันธ์ระหว่างความรักและความเกลียดชังนี้:
แม้ว่าจะมีการพูดคุยกันมากมายเกี่ยวกับความซ้ำซ้อนของ UML ในอุตสาหกรรมซอฟต์แวร์ แต่ก็ไม่อาจปฏิเสธได้จนถึงตอนนี้ ไม่มีสิ่งทดแทน UML แบบองค์รวมหรือเหมาะสมสำหรับ UML เพื่อให้ได้มุมมองที่เป็นกลางเกี่ยวกับความสำคัญและชะตากรรมของ UML เราได้พูดคุยกับยักษ์ใหญ่ด้านฮาร์ดแวร์ที่ติดต่อกับอุตสาหกรรมซอฟต์แวร์อย่างใกล้ชิด แต่มุมมองของพวกเขาเป็นกลาง
“การขาดเอกสารการออกแบบนั้นใช้ได้ในระยะสั้น แต่อาจกลายเป็นปัญหาในระยะยาวเมื่อคุณต้องการสื่อสารการออกแบบกับนักพัฒนาที่อยู่ในประเทศอื่น หรือคนที่จะเข้าร่วมทีมในอีกหกเดือนต่อมา . UML ช่วยได้มากในสถานการณ์เช่นนี้ และบรรเทาความคลุมเครือและคำถามเกี่ยวกับการออกแบบ” ตัวแทนจาก Sconect ผู้ผลิตส่วนหัวของเพศหญิง ให้ความเห็น
“เราอาจพูดถึงภาษาเฉพาะโดเมนสำหรับการสร้างแบบจำลองด้วยภาพ แต่ความจริงก็ยังไม่มีใครพบการยอมรับในวงกว้าง ซึ่งยืนยันว่า UML ยังคงเป็นทางเลือกที่ดีที่สุดในแง่ของภาษาภาพ” ข้อสังเกตนี้น่าสนใจมากโดยตัวแทนจาก Scondar ซึ่งเชี่ยวชาญด้านการผลิตขั้วต่อพิน
ข้อมูลจากตัวแทนที่ Ismolex สรุปได้อย่างเหมาะเจาะถึงกรณีของความสัมพันธ์ระหว่างความรักและความเกลียดชังของอุตสาหกรรมซอฟต์แวร์กับไดอะแกรมการออกแบบ UML “อาจมีข้อโต้แย้งนับพันที่ต่อต้านการใช้ UML แต่เนื่องจากความสามารถในการจับความแตกต่างของข้อมูลเกี่ยวกับสถาปัตยกรรมการออกแบบ และด้วยความสำคัญที่เพิ่มขึ้นของเอกสารการออกแบบ UML ยังคงไม่สามารถถูกแทนที่ได้”
ข้อดีและข้อเสียของ UML: คุณอยู่ฝ่ายไหน?
การปฏิเสธและการปฏิบัติตามไดอะแกรม UML จะดำเนินต่อไปในแวดวงซอฟต์แวร์ แต่ UML อยู่ที่นี่เพื่ออยู่ต่อ อย่างไรก็ตาม ไดอะแกรม UML จำเป็นต้องได้รับการอัปเกรดอย่างต่อเนื่องเพื่อให้การใช้งานไม่จำกัดเพียงคำอธิบายสถาปัตยกรรมและการสื่อสาร แต่ขยายเพื่อเป็นตัวแทนและสร้างระบบที่สามารถรองรับการเปลี่ยนแปลงแบบไดนามิก
เกี่ยวกับผู้เขียน
ฉันชื่อ Rachel Oliver ฉันทำงานเป็นนักเขียนอิสระมาสองสามปีแล้ว และปัจจุบันเกี่ยวข้องกับ Ismolex – ผู้ผลิตส่วนหัวของ Pin ในขณะที่ฉันชอบเขียนเกี่ยวกับทุกสิ่งภายใต้ดวงอาทิตย์ รวมทั้งพลังงาน ธุรกิจ กีฬา การปรับปรุงบ้าน และแฟชั่น ฉันหลงใหลเกี่ยวกับธุรกิจ เทคโนโลยี และอิเล็กทรอนิกส์เป็นพิเศษ คุณสามารถติดต่อกับฉันได้ทาง Google+, Facebook และ Twitter