จริง ๆ ถ้าจะบอกว่าไม่ได้เอางานมาถามก็ไม่ถูกซะทีเดียว เพราะมันก็เกี่ยวกับงานที่ผมกำลังตัดสินใจอยู่ว่าจะรับหรือไม่น่ะครับ งานของผมก็คือทำเอกสาร UML โดยจะต้องวาด Usecase Diagram, Class Diagram และ Sequence Diagram ครับ แต่ว่าเค้าให้แค่หน้าจอ User Interface ที่เป็น Web application (ASP.NET MVC, C#) มาดูน่ะครับ แล้วให้คิดว่าต้องมี Usecase, Class อะไรบ้าง และลำดับการเรียก Method ต่าง ๆ ของแต่ละ Class เพื่อเอาไปเขียน Sequence น่ะครับ คำถามก็คือ
- เค้าจะให้ออกแบบระบบโดยใช้หลักการ OOAD ใช่หรือเปล่าครับ
- เป็นไปได้มั้ยที่ดูแต่หน้าจอ User Interface ที่วาดมาใน Visio แล้วจะคิด Class, Field, Method และอื่นๆ ที่ผมกล่าวมาได้น่ะครับ
- ถ้าทำได้จริง เราต้องทำงานร่วมกับ Programmer มั้ยครับ
- พี่ๆ ท่านใดมีอะไรจะถามเพิ่มหรือเสริมให้ ก็ยินดีน้อมรับไว้เป็นอย่างยิ่งครับ
- งานนี้มี 21 หน้าจอ(Page) ส่วนมากจะเป็นการติดต่อ Database คือมี เพิ่ม ลบ แก้ไข เป็นหลัก แต่มันไม่ใช่แค่นั้นนะครับ
- ให้เวลาทำ 6 วันแต่ผมมีเวลาทำแค่วันละ 5 ชั่วโมงครับ เพราะทำงานหลักด้วย
ปล. ผมไม่เคยออกแบบระบบด้วย UML น่ะครับ เคยแต่เขียนโปรแกรมแล้วมาว่า Diagrams ต่าง ๆ ตาม Code น่ะครับ
ปล2. ถ้าคำถามของผมดูอ่อนเกินไปต้องขอโทษด้วยนะครับ เนื่องจากไม่มีประสบการณ์จริง ๆ
ปล3. งานนี้ผมยังไม่ได้ตกลงจะรับมาทำนะครับ อยากให้พี่ๆ ที่มีประสบการณ์ช่วยแนะให้หน่อยว่ามันจะทำได้มั้ย เป็นไปได้มั้ย
ปล.4 ขอโทษที่ ปล. เยอะไปหน่อยนะครับ 5555+
Q1 - ถ้าจำเป็นต้องทำแบบนั้น
maquidkzy Thu, 16/12/2010 - 10:47
Q1 - ถ้าจำเป็นต้องทำแบบนั้น เค้าน่าจะแจ้งแล้วนะครับ จริงๆ แล้วควรถามเจ้าของงานให้ชัวร์ไปเลยครับ
Q2 - เป็นไปได้ครับ ถ้าเป็นงาน web ส่วนใหญ่ที่ทำมา ผมก็ code จาก UI อย่างเดียวนะ
Q3 - ไม่จำเป็นครับ ถ้าคุณตีโจทย์แตกจริงๆ (ตอบในฐานะโปรแกรมเมอร์นะครับ)
Q4-Q5-ปล3 - ผมก็ไม่เคยทำ UML จริงๆ จังๆ แต่ถ้าดูจากตัวงาน ถ้า 2 วันแรก คุณลิสต์ฟังก์ชันทั้งหมดเสร็จ อีก 4 วันก็น่าจะทันนะครับ
VS มีตัวgen Class diagram
susie888 Thu, 16/12/2010 - 11:37
VS มีตัวgen Class diagram แต่โดยทั่วไป ก็แกะจาก db แหละคับ เพราะถ้าวาด class diagram จาก C# มันคงเยอะ+ซับซ้อนเกิน ไม่ค่อยมีใครเค้าทำกัน
สำหรับ class ทั่วไป ทำเฉพาะ public property หรือ protected ที่สำคัญ แล้วก็ event ส่วน method ย่อยๆอืน ข้าม
ส่วน sequence ก็ทำคร่าวๆ อย่าลงลึก แล้วก็ Ctrl+C กับ Ctrl+V แล้วก็ แก้ชื่อนิดๆหน่อยๆ เพระาแค่ 30 ชม ถ้าทำละเอียด ทุกหน้าคงไม่ทัน
ส่วนวิธีทำ seq diagram ให้เลือกเฉพาะ seq ที่สำคัญ เลือกทำจาก เล็กๆ ที่ใช้บ่อยๆ เช่น ขั้นตอนในการ save จากนั้น พอทำ seq ใหญ่ๆ เช่น seq ของหน้า เวลา save ข้อมูล ก็อ้างอิง save seq เป้น subs system
ขอตอบทั้งสองท่านเลยนะครับ 1.
THXiLL Thu, 16/12/2010 - 12:52
ขอตอบทั้งสองท่านเลยนะครับ
ปล.ตอนนี้ผมก็ยังไม่ีได้ตกลงรับงานนี้นะครับ ดูๆ แล้วคิดว่าตัวเองคงไม่สามารถทำได้อย่างแน่นอน งานมันเร่งน่ะครับ
ตอนแรก ผมนึกว่า
susie888 Thu, 16/12/2010 - 19:04
In reply to ขอตอบทั้งสองท่านเลยนะครับ 1. by THXiLL
ตอนแรก ผมนึกว่า มีโปรแกรมมาเสร็จแล้ว แต่ว่า นี่ให้ออกแบบเอง อยากให้ถามตัวเองว่า
เป็น developer อยู่รึเปล่า?
เขียน sql เป็นรึเปล่า?
ได้ฟัง requirement แบบละเอียดรึเปล่า?
มีเวลาว่างพอให้ dev ถาม requirement รึเปล่า?
ออกแบบเสร็จแล้ว แน่ใจว่าจบ(ไม่ต้อง bug designภายหลัง)?
นับดูว่า ใช่กี่ข้อ ไม่กี่ข้อ
เป็นอยู่ครับ
THXiLL Thu, 16/12/2010 - 21:08
In reply to ตอนแรก ผมนึกว่า by susie888
เวลาลง code จริงมันมีเพิ่ม
soginal Thu, 16/12/2010 - 14:01
เพราะงานบางอย่างแค่ดูหน้าเวบแล้วเอามาเขียนไม่ได้ครับ มันมี internal process ที่ต้องได้ requirement จากลูกค้ามาประกอปด้วย (เอ๊ะ หรือมีอยู่แล้ว :) )
ผมก็คิดเหมือนท่านแหละครับ
THXiLL Thu, 16/12/2010 - 15:05
In reply to เวลาลง code จริงมันมีเพิ่ม by soginal
ผมก็คิดเหมือนท่านแหละครับ เพราะผมก็เขียนโปรแกรมเชิง OOP มาเยอะพอสมควร ตอนเขียนไม่ใช่ว่าจะตรงตาม UML เสมอไป ถ้า SA ไม่เก่งจริง ออกแบบยังไงก็ไม่ถูกต้องทั้งหมดหรอกครับ ต้องแก้ Class มั่ง เพิ่ง Class มั่งในตอนเขียน Code
ผมตัดสินใจแล้วครับว่าไม่รับงานนี้ดีกว่า ข้อมูลที่เค้าให้มามีน้อยเกินไป มีแต่หน้าจอ แต่ไม่รู้ Requirement อื่น ๆ เลย ผมคิดว่าออกแบบอย่างไงก็ต้องได้แก้กันอยู่ดี อีกอย่างคือข้อจำกัดเรื่องเวลา เพราะเค้าต้องการเอาเสร็จน่ะครับ ไม่ใช่เอาได้แค่ไหนแค่นั้น ถ้าผมทำให้เค้าไม่เสร็จเค้าก็เสียงาน ผมก็เสียหมา เสียกันทั้ง 2 ฝ่าย ขอบคุณทุก ๆ ท่านมากครับที่เข้ามาชี้แนะมือใหม่อย่างผม
ผมก็จะกล่าวประมาณคุณแหละครับ
duoh Thu, 16/12/2010 - 15:32
In reply to ผมก็คิดเหมือนท่านแหละครับ by THXiLL
ผมก็จะกล่าวประมาณคุณแหละครับ รู้แค่ UI นี้ลำบากมาก มองทั้งระบบไม่ทั่ว
ขอบคุณครับที่เข้ามาสนับสนุน
THXiLL Thu, 16/12/2010 - 15:47
In reply to ผมก็จะกล่าวประมาณคุณแหละครับ by duoh
ขอบคุณครับที่เข้ามาสนับสนุน 5555
อืม
soginal Thu, 16/12/2010 - 16:50
In reply to ผมก็คิดเหมือนท่านแหละครับ by THXiLL
อืม งานเสี่ยงเปลืองตัวจริงๆแหละครับ
แต่ยังไงก็น่าจะดูความคาดหวังของเขาก่อนว่าต้องการผลงานระดับไหน
บอกลิมิตของเราไปก่อน ถ้าเขารับไม่ได้ เราก็ไม่รับงานครับ
ทำได้แต่เหนื่อยครับ ให้ประเมิ
lawender Thu, 16/12/2010 - 18:00
ทำได้แต่เหนื่อยครับ
ให้ประเมินงานว่าเราจะทำอะไรให่บ้าง และคิดเงินตาม Man Power ที่จะใช้
ถ้าจะให้ทำอะไรเพิ่ม เกินกว่าที่ตกลงกันไว้ ถือว่าต้องจ่ายเพิ่ม
ยังไงก็เขียน scope of work ให้รัดกุมครับ แต่ก็อย่าเขี้ยวจนเค้ารับไม่ได้
ที่สำคัญ ขอให้จ่าย Down Payment ก่อนครับ ส่วนมากก็ 30% ก่อนเริ่มงานครับ
แล้วแบ่งงวดจ่ายเงินดีๆ
เอาว่าถ้าต้องเลิกกลางทาง ก็อย่าต้องเสียแรงฟรีครับ
ขอบคุณทุกๆ ท่านมากๆ
THXiLL Thu, 16/12/2010 - 21:11
ขอบคุณทุกๆ ท่านมากๆ เลยนะครับที่เข้ามาให้ข้อคิดและคำแนะนำต่างๆ ยังไงที่นี่ยังอบอุ่นเหมือนเดิมสำหรับผมนะ