บทบาทงาน: วิศวกรซอฟต์แวร์

ผู้เขียน: Laura McKinney
วันที่สร้าง: 2 เมษายน 2021
วันที่อัปเดต: 1 กรกฎาคม 2024
Anonim
เรื่องจริงของวิศวกรรรมซอฟต์แวร์ EP.6 10 Facts for UML Diagrams for Software Engineers ⚙️
วิดีโอ: เรื่องจริงของวิศวกรรรมซอฟต์แวร์ EP.6 10 Facts for UML Diagrams for Software Engineers ⚙️

เนื้อหา


ที่มา: Dragonimages / Dreamstime.com

Takeaway:

วิศวกรซอฟต์แวร์มีส่วนเกี่ยวข้องอย่างลึกซึ้งกับวงจรชีวิตการพัฒนาซอฟต์แวร์และมีบทบาทสำคัญในความสำเร็จของโครงการ

วิศวกรซอฟต์แวร์ทำอะไร คำตอบง่ายๆคือเขาหรือเธอมีส่วนร่วมในวิศวกรรมซอฟต์แวร์ในกระบวนการของการใช้หลักการทางวิศวกรรมกับผลิตภัณฑ์ซอฟต์แวร์

อย่างไรก็ตามมีรายละเอียดและความแตกต่างในการอธิบายสิ่งที่วิศวกรซอฟต์แวร์ทำในโลกซอฟต์แวร์ เราจะทำความเข้าใจกับสิ่งเหล่านี้ขณะที่เรามอง“ หนึ่งวันในชีวิต” ของวิศวกรซอฟต์แวร์ที่ทำงานเพื่อสร้างสิ่งดิจิตอลที่ยอดเยี่ยมทั้งหมดที่เราใช้ทุกวัน (หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับบทบาทจากใครบางคนในสนามให้ดูที่ฉันมาที่นี่ได้อย่างไร: 12 คำถามกับนักเขียนและวิศวกรซอฟต์แวร์ David Auerbach)

วงจรการพัฒนาซอฟต์แวร์

เพื่อให้เข้าใจบทบาทของวิศวกรซอฟต์แวร์การรู้เกี่ยวกับวงจรการพัฒนาซอฟต์แวร์ (SDLC) จะเป็นประโยชน์

วงจรชีวิตการพัฒนาซอฟต์แวร์เกี่ยวข้องกับขั้นตอนที่สำคัญต่างๆซึ่งมักจะอธิบายว่าเป็นการวางแผนความต้องการการออกแบบการเข้ารหัสการทดสอบการใช้งานและการส่งมอบ (ให้หรือดำเนินการตามขั้นตอนตามกระบวนการกรรมสิทธิ์)


“ ซอฟต์แวร์เริ่มต้นด้วยปัญหาที่เราพยายามแก้ไข” จอห์นควิกลีย์ที่ Value Transformation LLC กล่าวอธิบายวงจรชีวิตของการพัฒนาซอฟต์แวร์โดยเริ่มจากสิ่งที่เกิดขึ้นในตอนต้นของกระบวนการ “ สิ่งนี้จะได้รับการพูดชัดแจ้งในรูปแบบของเอกสารและเป็นผลมาจากการสัมภาษณ์กับลูกค้าหรือผู้คนที่มีปัญหาภายใต้ปัญหา…เอกสารจะอธิบายว่าปัญหามีลักษณะอย่างไรซึ่งจะช่วยสร้างความคิดเพื่อเปรียบเทียบกับสิ่งนี้ นี่จะเป็นเป้าหมายสำหรับงานนี้โดยสร้างสิ่งที่เราพยายามทำให้สำเร็จ”

ในขั้นตอนความต้องการเขากล่าวว่าวิศวกรได้กำหนดคำอธิบายทางเทคนิคเฉพาะของผลิตภัณฑ์ทั้งฮาร์ดแวร์ (ถ้ามี) และซอฟต์แวร์

จากนั้นก็มีการเข้ารหัส:“ วิศวกรซอฟต์แวร์จะเขียนคำสั่งเฉพาะในรหัสที่จะสร้างผลิตภัณฑ์ที่ต้องการซึ่งตรงตามข้อกำหนดเฉพาะ” Quigley กล่าวถึงขั้นตอนการเข้ารหัส

หลังจากนั้นเขาพูดว่ากำลังทำการทดสอบจากนั้นอีกขั้นตอนหนึ่งที่จะนำซอฟต์แวร์ไปสู่สภาพแวดล้อมการผลิตอย่างสมบูรณ์ ในตอนท้ายของกระบวนการมีพื้นที่สำหรับแนวคิดที่หลากหลายเกี่ยวกับการนำไปใช้และการนำไปใช้งาน ควิกลีย์ยังเสริมด้วยว่า "agile" รุ่นใหม่สำหรับ SDLC ทำงานแตกต่างกันเล็กน้อย


ไม่มีข้อบกพร่องไม่มีความเครียด - คู่มือแบบเป็นขั้นตอนเพื่อสร้างซอฟต์แวร์ที่เปลี่ยนแปลงชีวิตโดยไม่ทำลายชีวิตของคุณ

คุณไม่สามารถพัฒนาทักษะการเขียนโปรแกรมของคุณเมื่อไม่มีใครใส่ใจคุณภาพของซอฟต์แวร์

“ ในโลกที่มีความคล่องตัวสิ่งต่าง ๆ ดูเยอะ แต่การทำซ้ำนั้นเล็กลงและใกล้กันมากขึ้น” ควิกลีย์กล่าว “ ข้อกำหนดอาจได้รับการจัดการผ่านเรื่องราวของผู้ใช้เทคนิคที่น้อยกว่าในธรรมชาติและเขียนเพิ่มเติมเพื่อทำความเข้าใจแอปพลิเคชันเพื่อให้วิศวกรซอฟต์แวร์สามารถทำการอนุมานและอนุมานคุณสมบัติที่สำคัญตามการใช้งานจริง”

บทบาทที่หลากหลายของวิศวกรซอฟต์แวร์

เนื่องจากวัฏจักรการพัฒนาซอฟต์แวร์มีขั้นตอนและการดำเนินงานที่หลากหลายจึงทำให้รู้สึกว่างานของวิศวกรซอฟต์แวร์แตกต่างกันไป

“ วิศวกรซอฟต์แวร์มีบทบาทที่กว้างกว่าส่วนใหญ่ในการสร้างโซลูชันซอฟต์แวร์” Samuel Malachowsky ศาสตราจารย์แห่งสถาบันเทคโนโลยีโรเชสเตอร์เขียน “ แต่ละองค์ประกอบของ SDLC มีผู้เชี่ยวชาญ: RE และการขายสำหรับขั้นตอนเริ่มต้นสถาปนิกสำหรับขั้นตอนการออกแบบเครื่องเขียน / โปรแกรมเมอร์สำหรับการสร้าง QA สำหรับการตรวจสอบ / การทดสอบไอทีสำหรับการปรับใช้ / บำรุงรักษาและผู้จัดการโครงการสำหรับการเคลื่อนไหวและการจัดการ สมาชิกแต่ละคนในทีม / เฟส แต่วิศวกรซอฟต์แวร์คาดว่าจะนำไปใช้อย่างกว้างขวางกับกระบวนการทั้งหมด จากมุมมองนี้คำถามที่ดีกว่าอาจถามว่าวิศวกรซอฟต์แวร์ไม่ทำอะไร”

จุดที่น่าสนใจอีกจุดหนึ่งของ Malachowsky ทำให้ความแตกต่างระหว่าง IT และวิศวกรรมซอฟต์แวร์ที่เผยให้เห็นมากมายเกี่ยวกับงานของวิศวกรซอฟต์แวร์โดยเฉลี่ย:

“ ไอทีนั้นมีการปฏิบัติงานและซ้ำซากในขณะที่วิศวกรรมหมุนรอบปัญหาใหม่เพื่อแก้ไขเป็นโครงการพิเศษ” เขากล่าว “ บุคลากรไอทีมีแนวโน้มที่จะแสวงหาการรับรองโดยใช้เครื่องมือมากขึ้นเนื่องจากการทำซ้ำนี้ การตัดกันกับบางอย่างเช่นวิศวกรรมคอมพิวเตอร์มีลักษณะตรงตามข้อกำหนดที่กำหนดไว้ - CE มักจะมุ่งเน้นไปที่การแก้ปัญหาด้วยฮาร์ดแวร์พร้อมกับซอฟต์แวร์ที่รองรับ SEs แก้ปัญหาด้วยซอฟต์แวร์พร้อมฮาร์ดแวร์ที่ให้การสนับสนุน”

วิศวกรซอฟต์แวร์และทีมงานโครงการ

ในหลาย ๆ บริษัท วิศวกรซอฟต์แวร์จะถูกจัดกลุ่มและมอบหมายบทบาทตามส่วนของพวกเขาในกระบวนการที่ซับซ้อน

Brennan Meagher อธิบายตัวอย่างจาก TeleTracking ซึ่งเป็น บริษัท ที่ทำข่าวเกี่ยวกับนวัตกรรมการดูแลสุขภาพที่ Fierce Healthcare วิทยาลัยแพทย์ฉุกเฉินของอเมริกาการจัดการข้อมูลสุขภาพข่าวไอทีด้านสุขภาพและที่อื่น ๆ

“ ที่ TeleTracking วิศวกรซอฟต์แวร์มีหน้าที่รับผิดชอบในการเข้ารหัสและทดสอบโมดูลและแอปพลิเคชันทั้งหมดที่เป็นส่วนหนึ่งของแพลตฟอร์ม TeleTracking” Meagher กล่าว “ พวกเขายังช่วยในการพัฒนาโซลูชันซอฟต์แวร์และการผลิต ซึ่งรวมถึงการวิจัยการออกแบบการจัดทำเอกสารและการพัฒนาซอฟต์แวร์ใหม่ กล่าวโดยสรุปวิศวกรซอฟต์แวร์ของเราสร้างโซลูชันซอฟต์แวร์ที่สอดคล้องกับวิสัยทัศน์ทางเทคนิคของ TeleTrackings เพื่อปรับปรุงการเข้าถึงผู้ป่วย”

คุณสามารถนึกภาพมืออาชีพเหล่านี้ได้ที่วิทยาเขตขององค์กรจัดทำร่างแรกจากนั้นปรับแต่งโมเดลจากนั้นทำการทดสอบในทีมต่างๆ

“ ตัวอย่างของสิ่งที่วิศวกรซอฟต์แวร์รับผิดชอบเป็นประจำ ได้แก่ : การเขียนการดีบักการทดสอบหน่วยและรหัสการทดสอบประสิทธิภาพในทุกเลเยอร์ของแอปพลิเคชัน” Meaghan กล่าว “ ซึ่งรวมถึงส่วนหน้า (เว็บ), เลเยอร์กลาง (บริการบนเว็บ) และเลเยอร์การเข้าถึงข้อมูล”

บรรทัดล่างคือวิศวกรซอฟต์แวร์มีงานที่หลากหลายและแตกต่างกัน พวกเขาทุกคนต้องเข้าใจพื้นฐานของการเขียนโค้ด แต่บางคนก็จำเป็นต้องเจาะลึกข้อมูลเฉพาะของการทดสอบหรือความโปร่งใสของข้อกำหนดการออกแบบหรือในบางกรณีโลกแห่งการพัฒนาที่คล่องตัว

จากนั้นโมเดล DevOps ก็เข้ามาและผสานกระบวนการวนซ้ำจำนวนมากซึ่งมีการระบุไว้อย่างชัดเจนและจัดหมวดหมู่ในแบบจำลองทั่วไป ดังนั้นบทบาทของวิศวกรซอฟต์แวร์จึงเปลี่ยนไป (หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ DevOps ให้ดูผู้จัดการ DevOps อธิบายสิ่งที่พวกเขาทำ)

สิ่งนี้จะช่วยให้คุณดำเนินการต่อได้เมื่อคุณเริ่มเรียนรู้เพิ่มเติมเกี่ยวกับการทำงานของมืออาชีพที่เป็นศูนย์กลางในการผลิตซอฟต์แวร์ วิศวกรซอฟต์แวร์ได้รับการอธิบายว่าเป็น "มีด Swiss Army" ของการออกแบบและการสร้างซอฟต์แวร์ - และสามารถสวมหมวกหลายใบใน บริษัท ที่วุ่นวาย