Jump to content


Windows Server 2012

- - - - -

ความแตกต่างระหว่าง Software Engineer กับ SA


  • Please log in to reply
13 replies to this topic

#1 maisk

maisk

    Newbie

  • Members
  • Pip
  • 16 posts

Posted 14 May 2004 - 12:10 PM

ไม่ทราบว่าระหว่าง 2 ตำแหน่งนี้เนี่ยะ ในลักษณะของการทำงานแล้วมีความแตกต่างกันอย่างไรครับ  :huh:

#2 Bomber

Bomber

    Topgun

  • Topgun
  • 2321 posts

Posted 14 May 2004 - 01:54 PM

ปัจจุบัน SA อาจหมายถึง System Analyst หรือ System Architect ก็ได้ครับ
แต่ถึงอย่างไรก็ แตกต่าง Software Engineer อยู่ดี

ตามความเข้าใจของผมนะครับ (ซึ่งอาจจะไม่ถูก) Software Engineer จะดูแลเรื่อง Detail Design เช่น การ Design Class Diagram และ Sequence Diagram นอกจากนี้ถ้าเป็น SE ระดับ Senior หน่อยก็เป็นพวก Project Management ครับ ส่วน System Analyst จะดูเรื่องการเก็บ Requirement ทำพวก Input และ Output ที่ User ต้องการ รวมถึง Business Process ต่างๆ ส่วน System Architect จะดูและภาพรวมของระบบ Environment ของระบบ การ Integrate เข้ากับระบบอื่น

ซึ่งถ้าเคยเรียน Software Engineering จะเห็นได้ว่าวิชาจะเน้นหนักไปที่ Software Lifecycle, Project Management , Software Quality และ Design Pattern

ส่วน System Analysis จะเน้นพวกการเก็บ Requirement การกำหนด Input Output การ Design Process Flow

และสุดท้าย System Architect ซึ่งยังไม่ค่อยมีเปิดสอน จะเน้นพวก System Integration และความรู้ด้าน Data Communication ครับผม

อันนี้ตามความเข้าใจและประสบการณ์ของผมนะครับ อาจจะไม่ถูกต้องนัก ใครที่มีความรู้จริงๆจังๆ ช่วยเสริมด้วยครับ

Edited by Bomber, 01 June 2004 - 06:42 AM.


#3 Pink Dragon

Pink Dragon

    Topgun

  • Topgun
  • 3900 posts

Posted 14 May 2004 - 02:16 PM

มันอยู่ที่บริษัทครับ
บางที่ SE ก็คือ programmer น่ะแหละ
แต่ System Analyst ก็จะวิเคราะห์และออกแบบระบบน่ะครับ
แล้วให้ SE, Programmer ไปจัดการ

#4 plynoi

plynoi

    Star

  • Star
  • 1433 posts

Posted 14 May 2004 - 02:31 PM

ที่ผมทำอยู่ ถ้างานไม่ทันจริงๆนี่ SA ลงมาโค๊ดด้วยเลยครับ :D

#5 lsomchai

lsomchai

    Committee

  • Committee
  • 2427 posts

Posted 14 May 2004 - 02:36 PM

ผมมองแบบนี้นะครับ สมมติว่า บริษัทไม่ได้ผลิตซอฟต์แวร์เป็นหลัก
System Analyst อาจจะทำการวิเคราะห์ระบบที่ประกอบไปด้วยฮาร์ดแวร์ด้วยก็ได้ หมายถึงทั้งระบบมีอะไร ไม่ใช่เฉพาะระบบของซอฟต์แวร์ อาจจะเป็นการ integrate ระบบต่างๆเข้าด้วยกัน
System Architect ก็ทำนองเดียวกัน คือไม่ได้เจาะจงว่าจะต้องทำเฉพาะซอฟต์แวร์
ส่วน Software Engineer นี่ เจาะจงชัดเจนว่าทำงานกับซอฟต์แวร์ครับ

ดังนั้น หากบริษัทวางตำแหน่งไว้ถูกต้อง (ย้ำว่าถูกต้อง) ผมคิดว่า เราสามารถเห็นลักษณะงานได้ชัดเจนครับ

#6 Bomber

Bomber

    Topgun

  • Topgun
  • 2321 posts

Posted 14 May 2004 - 02:38 PM

Quote

ที่ผมทำอยู่ ถ้างานไม่ทันจริงๆนี่ SA ลงมาโค๊ดด้วยเลยครับ 

อา... เวลาปฏิบัติ บริษัทผมก็เป็นครับ โดยเฉพาะ SE นี่โค๊ดกันมันเลย  :D อย่าว่าแต่ SE เลยครับ บ้างที PM ยังต้องมาช่วยเลย  ;)

#7 นายข้าวโพดหวาน

นายข้าวโพดหวาน

    Committee

  • Committee
  • 7138 posts

Posted 14 May 2004 - 10:54 PM

แต่ละองค์กรมีนิยามไม่เหมือนกันครับ แต่ถ้าโดยทั่วๆไป System Analyst จะมองด้านธุรกิจเป็นหลัก ต้องรู้ความต้องการของระบบธุรกิจ workflow ปัจจุบัน แล้วแปลงระบบธุรกิจและความต้องการของระบบมาเป็นกระบวนการที่สามารถ automate ได้โดยคอมพิวเตอร์ คนที่เป็น SA จะต้องเข้าใจศัพท์ธุรกิจได้ดีไม่น้อยกว่าศัพท์ทางคอมพิวเตอร์ และเป็นคนกลางในการติดต่อระหว่างผู้ใช้แต่ละแผนกและฝ่าย IT ได้

ส่วน Software Engineer จะมองในแง่ก็การออกแบบและจัดทำระบบคอมพิวเตอร์ที่ตอบสนองความต้องการทางธุรกิจที่กำห
นดจาก System Analyst โดย SE จะรู้ว่าจะต้องเลือกใช้เทคโนโลยีคอมพิวเตอร์แบบใดที่จะสามารถนำมาใช้แก้ปัญหาธุรกิจไ
ด้เหมาะสม ประหยัดเวลา เงินลงทุน และดูแลรักษาง่าย

#8 rooluck

rooluck

    Topgun

  • Topgun
  • 740 posts

Posted 25 May 2004 - 09:03 AM

จริงๆแล้วผมไม่ค่อยยึดติดกับชื่อตำแหน่งเท่าไหร่ แต่ว่าในการทำงานผมจะดูจาก Job Description ในการทำงานมากกว่าว่าแบ่งหน้าที่รับผิดชอบอะไร เพราะ ชื่อตำแหน่งในแต่ละองค์กรกับหน้าที่อาจจะไม่ค่อยสัมพันธ์กันก็ได้

#9 nancom

nancom

    Junior Member

  • Members
  • Pip
  • 79 posts

Posted 25 May 2004 - 10:02 AM

ถ้ามอง ปัจจัยในการ พัฒนา Software เป็นหลักนะครับ
SA ==> System Analyst จะเป็น ผู้ที่ทำการวิเคราะระบบเป็นหลัก ซึ่งจะ Abstarct มากๆ ก่อน
SE ==> System Engineer นำสิ่งที่ SA วิเคราะห์มา ในเชิง Realize ขึ้น คือเริ่มมองเห็นรูปร่างของ Software นั่นเองครับ
SAt ==> System architecture เป็นคนออกแบบโครงสร้างของระบบทั้งหมดในเชิง Software คือ ระบุได้ว่า ส่วนไหนพัฒนางานโดยอะไร (Framwork ใด) รูปแบบไหน

ครับผม

#10 pok_kap

pok_kap

    Junior Member

  • Members
  • Pip
  • 73 posts

Posted 31 May 2004 - 07:20 PM

ถ้าเท่าที่ผมเคยเรียนมาอะนะ  (ไม่อยากดูจากบริษัทเพราะแต่ละบริษัทมีการใช้งานตำแหน่ง SA แบบต่างๆกันออกไปโดยเฉพาะบริษัทของคุณ plynoi (เพื่อนผมอะนะ))  

SA ที่หมายถึง  System Analyst ยังสามารถแบ่งออกเป็น 2 ประเภทอะครับ (อ้างอิงจากที่เคยเรียนอะนะ)

1.)  System Analyst
2.)  Bussiness Analyst

ถ้าเป็นลักษณะที่ 1. ก็รู้ Business และเข้าใจ Requirement ในระดับที่สามารถออกแบบระบบ หรือ ส่วนใหญ่กระบวนทางธุรกิจก็มักจะหมายถึง Table ใน Database รวมไปถึงสามารถอธิบาย Business Flow ให้พวก Developer ทำโปรแกรมออกมาให้ตาม Requirement ของลูกค้า
เข้าใจว่างานหลักๆคือเน้นการสร้างระบบจึงต้องมีความรู้ด้าน Program ด้วย ไม่อย่างนั้นจะคุยกะโปรแกรมเมอร์ไม่ค่อยรู้เรื่องเหมือนพูดกันคนละภาษา
แต่คนพวกนี้จึงอาจโดนเกณฑ์ไป coding ถ้าโปรเจคไม่เสร็จ

ถ้าเป็นลักษณะที่ 2.   เข้าใจว่าต้องเป็นพวกที่มีประสบการณ์ด้าน Business สูง   สามารถวิเคราะห์ข้อมูลหรือ Requirement จากลูกค้าได้  พวกนี้อาจจะต้องหนักด้านการติดต่อกับลูกค้าเป็นหลัก , design table , หน้าจอ เข้าใจ flow งานทั้งหมดแต่อาจจะไม่ต้อง Programming เป็นเลยก็ได้

แต่ในโลกตวามจริง  โปรเจคอาจจะไม่จำเป็นต้องจ้าง SA ที่เป็น 2 แบบนี้พร้อมกันเพราะทำให้ต้นทุนสูงก็เลยจ้างมาคนเดียวแล้วก็รับหน้าที่ทั้ง 2 เรื่องนี้ไปพร้อมๆกัน  เพราะ Phase Design มันไม่ได้ต้องทำกันตลอดทั้ง Project และเมื่อ SA วางระบบเสร็จแล้ว  ขั้นตอนในการ implement หรือ tuning ระบบให้เข้ากับความต้องการ  SA ก็ไม่ต้องทำงานหนักแล้วดังนั้นความรับผิดชอบก็จะตกอยู่ที่การไปคุยกับลูกค้าว่าระบบโ
อเคไม๊มมากกว่า

อีกอย่างนึงที่มักจะเห็น SA ชอบทำตกไปคือ การให้ความเข้าใจกับลูกค้า  SA ควรจะ minimize scope ของงานให้ได้ตาม requirement แต่ไม่ได้ทำให้งานไปตกอยู่ที่ Programmer ทั้งหมด ดังนั้นในขั้นตอนการ design จึงเป็นเรื่องสำคัญว่าจะทำอย่างไรให้ระบบทำงานได้ครบตามความต้องการ และ งานไม่ใหญ่มากนักเพื่อให้ส่งมอบงานได้ตรงเวลาอะครับ  (ไม่งั้นอาจเห็น Programmer กับ SA ทะเลาะกันแน่ๆจริงไหมครับ คุณ plynoi)  


ส่วน SA ที่เป็น Software/System Architect

เน้นหนักไปที่การ design software / system ให้มี Quality หรือ Best Performance มากกว่าอะครับ   แช่นทำอย่างไรโปรแกรมจะทำงานได้เร็ว  , โปรแกรมไม่ Error บ่อย , ปรับระบบให้รองรับต่อการเปลี่ยนแปลง   ต้องเข้าใจก่อนนะครับว่าในส่วนของ Architect นี้ไม่ได้เกี่ยวข้องกับ Requirement เพราะ Analyst เป็นคน  design ให้ตรงกับ Requirement
ดังนั้นคิดว่าคนเป็น Architect ควรจะมีความรู้ด้าน Design Pattern , Framework เป็นอย่างดี และสามารถประยุกต์เข้ากับระบบที่ Analyst design มา

Requirement แบ่งออกเป็น 2 ส่วน คือ

functional requirement  : Analyst ต้องรับตรงนี้ไปหละว่าจะ design กันยังไง

non-function requirement : ตรงนี้ Architect ต้องดูแล

หากความรู้อันน้อยนิดที่ผมกล่าวนั้นบกพร่องก็ขออภัยด้วยนะครับ และก็ขอให้ผู้รู้วานช่วยแก้ไขด้วยละกันครับ

#11 veza

veza

    Newbie

  • Members
  • Pip
  • 34 posts

Posted 10 July 2006 - 04:30 PM

ผมก็เพิ่งเปลี่ยนงานมาเป้น SA ครับ

เป็น Programmer มา 3 ปี

ตอนนี้งานไม่ทัน ผมก็ต้องลงมาช่วย Coding เหมือนกันฮับ

#12 Yawd Saivaew

Yawd Saivaew

    Junior Member

  • Members
  • Pip
  • 96 posts

Posted 11 July 2006 - 12:06 AM

ผมว่านะ ในเมืองไทยเรา ชื่อตำแหน่ง อาจเป็นงานหลักที่ต้องทำ ถ้าสมัครงาน ก่อนเข้าไปทำ
ต้องถาม role ของตัวเอง ที่ชัดเจนดีกว่า บอง บ. ชอบมั่ว

#13 Newbies

Newbies

    Member

  • Members
  • PipPip
  • 108 posts

Posted 11 July 2006 - 10:08 AM

ในเมืองไทยผมว่ามันปน ๆ กันนะครับ
ส่วนใหญ่ที่เห็นก็ โปรแกรมเมอร์ แต่ทำทุกอย่างเลย บางที่ยัน admin database ด้วยก็มี
บางที่ตำแหน่งชื่ออาจต่างกันไป Software Engineer บางที่ก็คือโปรแกรมเมอร์ดี ๆ เนี่ยแหละครับ
Software Engineer เป็น เซลล์ก็มีครับ เคยเห็น ยังงง ๆ อยู่อ่ะคับ

SA บางที่ก็ Coding นะครับ

หรือเคยเห็น SA บางที่ก็โปรแกรมเมอร์เนี่ยแหละ แต่เป็นพวก Senior อะไรทำนองนี้
คือตั้งให้มีตำแหน่งเป็นเงินเดือนคนละ rate เท่านั้นเอง บางที่ก็ตั้งไว้เป็นหัวหน้าโปรแกรมเมอร์ไรอย่างงี้
เหอ ๆ  :(

#14 software engineering

software engineering

    Newbie

  • Members
  • Pip
  • 46 posts

Posted 06 August 2008 - 07:41 PM

ตรงนี้จะเปรียบเทียบให้ดูคราวๆ นะครับ
เอาแบบพื้นๆ เลย  เวลาจะสร้างบ้าน  ต้องมีอะไรก่อนครับ
ที่แน่ๆ ก็ คือ พิมพ์ เขียว ครับ ใครเป็นคนออกแบบพิมพ์เขียว ก็ วิศวกร(Software engineering) นั่นเอง
จากนั้น โฟร์แมน ก็ เอา พิมพ์เขียวนี้ไป .ให้ กรรมกร  ทำต่อ โดยควบคุมให้ได้ตามพิมพ์เขียว

สำหรับหลักสูตร เรียนอะไรบ้าง ก็ หาดูตามมหาวิทยาลัยที่เปิด สอนหลักสูตรได้

และในคำว่า software engineering ในมุมมอง ของประเทศไทย
ยังสับสนกันมาก ครับ เพราะว่ายังขาดความรู้ในศาสตร์ วิศวกรรมซอฟต์แวร์ จึงทำให้มองเหมารวม ทางสังคมว่า software engineering จะออกไปแนว Programmer ซึ่งจริงๆ แล้วไม่ใช่ครับ SE จะเป็น Software Architech and SA ไป ในตัวครับ
ซึ่งถ้าอยู่ในองค์กรที่ได้ มาตรฐาน CMM/CMMI จะทราบดีครับ




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users