Category Software Development

[IBM] TSA และ TSM มันคือ อะไร

บันทึกไว้ก่อนครับ เนื่องจากได้ข้ามงานดูจากสายซอฟต์แวร์เพียวๆ ขยับมาทางด้านโซลูชัน มีทั้งด้านฮาร์ดแวร์ และ ซอฟต์แวร์ ครับ Tivoli System Automation (Tivoli SA-MP) เป็นซอฟต์แวร์ของ IBM เปลี่ยนชื่อจาก TSM ครับ โดยซอฟต์แวร์นี้รองรับการทำ Failover หรือการ Down บางส่วนของระบบเพื่อทำการซ่อมบำรุง (Maintenance) ตัวอย่างที่ใช้จริง เช่น การทำให้ฐานข้อมูล DB2 ใช้ Feature HA ทำการ Auto Take เช่น ในกรณีที่มีเครื่องที่ DC 2 เครื่อง ถ้าเครื่อง DC-A…

[EAA] อะไรหละ ที่เรียกว่า Enterprise Application

Ref https://pixabay.com/th/การวิเคราะห์-ข้อมูล-นวัตกรรม-3088958/

เห็นหลายคนมักจะบอกว่าระบบที่ตัวเองดูแล หรือ ที่เห็นมัน มันมีความ Enterprise Application เรามาดูกันว่าจริงๆแล้ว ถ้าเอาตามนิยามของคุณ Martin Fowler อะไรถึงเรียกว่าเป็น Enterprise Application ครับ Involve persistent data A lot of data Access data concurrently A lot of UI screens Integrate with other enterprise applications Complex business rules and keep changing ต่อมา เรามาดูกันครับ…

[Analysis] ลองมาดูตัวอย่างจริง ของการนำ Analysis Pattern ของ Peter Coad กัน

จาก Blog ตอนก่อนที่ได้เขียนเกี่ยวกับ Analysis Pattern ของ Peter Coad ไปเมื่อนานมากแล้ว คราวนี้ลองมาดูกันว่า ถ้ามีโจทย์จริงๆ แล้วเราสามารถเอา Pattern มาประยุกต์ใช้งานได้เร็วแต่ไหนกันครับ เอาหละมาดูโจทย์กันได้เลย โดยโจทย์มีอยู่ว่า ร้านสะดวกซื้อแห่งหนึ่ง 8/12 มีสาขากระจายไปทั่วกรุงเทพ แต่ละสาขามีสินค้าที่เหมือนกัน เมื่อผู้ใช้ซื้อสินค้าเสร็จ พนักงานของร้านใบเสร็จมาให้ โดยที่การชำระเงินสามารถเลือกได้ว่า จ่ายครั้งเดียว หรือแบ่งจ่ายเป็นงวดๆได้ เมื่อสั่งของเสร็จสามารถทางร้านส่งสินค้า(Shipping) ในกรณีที่สินค้าที่สั่งซื้อมีปัญหาสามารถก็สามารถคืนสินค้าได้ ลองเอา Pattern ของ Peter Coad มาปรับใช้หละ ภาพที่ได้เป็นอย่างไร เอ้าลอง 1..2..3 แล้วมันมาจากไหนหละ มาดูคำตอบกันครับ มีแต่ Pattern ของ…

[Design Pattern] Command Pattern in Depth

อันนี้น่าจะเป็น Pattern ที่ 4 ที่เขียนกันครับ ทำไมต้องใช้ Command Pattern ต้องการเชื่อมของหลายๆสิ่งเข้าด้วยกันได้ เช่น Remote กับเครื่องใช้ไฟฟ้า แต่ละอย่างในบ้าน เช่น หลอดไฟ, พัดลม หรือ ทีวี ที่มีลักษณะการทำงานคล้ายๆกัน เช่น เปิด(ON) หรือป ปิด(OFF) เป็นต้น แต่ไม่อยากให้มันผูกแน่นกันจนเกินไป มาดูโจทย์ของเราดึงกว่า โดยผมรับ Requirement มาว่าให้ได้ออกแบบ Application ETradeStock อันนึงที่สามารถส่งคำสั่งไปที่ตลาดหุ้น SAT ซึ่งสำหรับ SAT มี API อยู่ 2 เจ้าครับ…

[Design Pattern] Decorator Pattern in Depth

ทำไมต้องใช้ Decorator Pattern อยากเพิ่มความสามารถของ Object (Object ทำงานเหมือนเดิมนะ แต่ถูกเพิ่มความสามารถ) เมื่อไหร่ควรจะใช้ ไม่อยากใช้คุณสมบัตินึงของ OOP-Inheritance มากเกินไป เพราะใช้ไปแล้ว ก็ต้อง Override ไปแก้ความสามารถที่ได้มาจาก Class แม่อีก หรือมี Class ลูก (Sub Class) ที่มากจนเกินไปครับ ซึ่งเจ้า Decorator มันมาช่วยตรงนี้ครับ ไม่ต้องแก้ แต่เราเพิ่ม (Wrap) ความสามารถใหม่ลงไป โดยที่ความสามารถเดิม ยังคงอยู่ ลดจำนวน Sub Class ลงได้ สนับสนุนแนวคิด Open-Close Principle ด้วย…

[Design Pattern] Observer Pattern in Depth

คราวนี้มาเป็น Pattern ที่ 2 แล้วที่ผมเขียนในเรื่อง Design Pattern in Depth โดยตอนนี้ขอเขียนเกี่ยวกับ BNK48 แล้วกันครับ น้องเณอปราง ^___^ ทำไมต้องใช้ Observer Pattern ถ้า Design ด้านแนวคิดที่ว่า อยากรู้ให้มาถาม (Server) สิ่งที่เกิดขึ้น คือ Client ต้องคอยวิ่งมาถาม (Request) ตรวจสอบว่าข้อมูลที่ Server มัน Update ยัง … Update ยังงง ถ้าเกิดข้อมูลที่ต้องกระจายเป็นข้อมูลของวง Girl Group อย่าง BNK48…

[Design Pattern] Strategy Pattern in Depth

ภาพจาก https://commons.wikimedia.org/wiki/File:John_Lavery_-_IWM_War_Room.jpg

วันนี้ Blog นี้มาเน้นทางสาย Pattern กันเยอะ เชื่อว่าหลายๆคน Copy & Paste Development มาใช้งาน แต่ก็ไม่รู้ว่า มัน คือ อะไรครับ โดย Pattern ที่ผมมาเขียนลง Blog ในวันนี้ คือ Strategy Pattern ซึ่งข้อมูลส่วนใหญ่ผมเอามาจากของ Head First นะครับ ตัวอย่างมันอธิบายได้ง่ายดีครับ ทำไมต้องใช้ Strategy ทุกปัญหามันไม่สามารถแก้ไขด้วยกับใช้เทคนิคเดิมของ OOP – Inheritance ได้ไง ? ตัวอย่าง เช่น นายเจมส์ได้รับหน้าที่ในการสร้าง Class ของ Duck…

[SE] ปัญหาที่พบ เมื่อขอให้ User ทดสอบ/ทวนสอบบางอย่างให้

เวลาที่เราปั๊น Software ที่ได้มาจาก Requirement ที่เป็นน้ำๆ ออกมาเป็นกลุ่มก้อน เป็น Prototype แล้ว สิ่งที่เราควรทำมีอะไรบ้าง เพื่อให้ User ช่วย Confirm ว่าไอ้ที่เราปั๊นน้ำเป็นตัวขึ้นมาเนื่ย มันเป็นสิ่งที่ใช้นะ แต่เวลาเอาไปให้ User ใช้งานจริง มักจะเกิดปัญหา งานยุ่งอ่า ไม่ตรวจนะ เพราะ User เชื่อมั่นทีมพัฒนามากๆ (แต่มันจะ Fail มากๆ ถ้าระบบออกมาไม่ต้องกับความต้องการของ User) ทำตามเอกสาร CRS (Custormer Requirement Spec) แล้ว – แต่จริงๆ User ยังไม่ได้อ่าน…

นิทานเรื่องไก่กับหมู ไม่ได้เอามาใช้กับ Agile-Scrum ได้อย่างเดียว

บังเอิญได้คุยกับคนรู้จัก แล้วเค้าเล่านิทานเรื่อง ไก่กับหมู โดยเนื้อเรื่องประมาณว่า ไก่กับหมู เป็นเพื่อนกัน พอมาวันหนึ่งทั้งคู่เริ่มเบื่อกับงานประจำและ เลยอยากออกมาเป็นนายตัวเอง เป็นเจ้าของกิจการ ทั้งสองได้คุยกันแล้วคิดว่าอะไรที่เรามีต้นทุนอยู่แล้ว พร้อมสำหรับการเปิดร้าน ซึ่งไก่เสนอว่าเปิดร้าน Ham & Egg สิ นายก็มี Ham ส่วนฉันก็ไม่ไข่ไก่ ส่วนหมูพอได้ฟัง ดังนั้นแล้วคิดหนักเลย และก็ตอบไปว่าไม่เอาดีกว่า ทำไมหมูถึงไม่เอาหละ ลองมาคิดกันครับ หมู กว่าจะได้ Ham ออกมา ต้องเฉียดเนื้อตัวเองขาย ไก่ ไม่ต้องควักเนื้ออะไร แค่เบ่งไข่ออกมา มามองในมุมอื่นๆบ้าง เช่น Project Management หรือ Startup (ตามเทรนช่วงนี้) ถ้า Stakeholder…

Streamlined Object Modeling

Streamlined Object Modeling ถ้าถามผมนะ ผมมองว่าเป็น Analysis Pattern นะ โดยในขั้นตอนนี้เป็นการปรับ Enity Class ที่ได้จากการ Use Case Realization มาใช้ Pattern ที่คุณ Peter Coad ได้คิดเอาไว้ครับ (คนนี้คิดได้หลายอย่างเลย โดยส่วนใหญ่เป็นการขยายภาพของ OO ใช้ชัดเจนมากขึ้น และเค้ายังคิดเรื่อง Feature Driven Development ด้วย) สำหรับในเรื่องนี้คุณ Peter Coad ได้แบ่งกลุ่มของ Object ไว้เป็น 4 ประเภท ครับ ได้แก่ Person…