Програм хангамжийн инженерчлэл ба Системийн инженерчлэл
Инженерчлэл нь шинжлэх ухаан, математик болон бусад төрлийн мэдлэгийг амьдралын чанарыг сайжруулах бүтээгдэхүүн, үйлчилгээг зохион бүтээх, хөгжүүлэхэд ашигладаг салбар юм. Инженерчлэлийг олон төрлийн технологи ашиглан олон салбарт мэргэшсэн олон дэд салбаруудад хувааж болно. Програм хангамжийн инженерчлэл ба системийн инженерчлэл нь ийм хоёр дэд салбар юм. Програм хангамжийн инженерчлэл нь хамгийн өндөр чанартай програм хангамжийг зохион бүтээх, хөгжүүлэх чиглэлээр ажилладаг бол Системийн инженерчлэл нь инженерчлэлийн дэд салбар бөгөөд инженерийн төслүүдийн амьдралын мөчлөгийн ерөнхий менежментийг авч үздэг.
Програм хангамжийн инженерчлэл гэж юу вэ?
Програм хангамжийн инженерчлэл нь дээд зэргийн чанартай программ хангамжийг зохион бүтээх, хөгжүүлэх чиглэлээр ажилладаг. Програм хангамжийн инженер нь програм хангамжийг шинжлэх, зохион бүтээх, боловсруулах, турших ажлыг хийдэг. Програм хангамжийн инженерүүд ихэвчлэн стандарт програм хангамжийн амьдралын мөчлөгтэй байдаг програм хангамжийн инженерийн төслүүдийг хэрэгжүүлдэг. Жишээлбэл, Усны уналтын програм хангамжийн амьдралын мөчлөг нь шинжилгээний үе шат, дизайны үе шат, боловсруулах үе шат, туршилт, баталгаажуулалтын үе шат, эцэст нь хэрэгжүүлэх үе шатыг багтаана. Шинжилгээний үе шат нь шийдэх ёстой асуудал эсвэл програм хангамжийг хөгжүүлэх замаар ашиглах боломжуудыг хардаг. Заримдаа энэ үе шатыг тусдаа бизнесийн шинжээч хийдэг. Гэсэн хэдий ч жижиг компаниудад програм хангамжийн инженерүүд энэ ажлыг хийж болно. Дизайн үе шат нь боловсруулж буй програм хангамжийн ерөнхий бүтэц, түүний бүрэлдэхүүн хэсгүүдийг харуулсан UML диаграмм болон ER диаграмм зэрэг дизайны баримт бичгүүдийг боловсруулах явдал юм. Хөгжүүлэлтийн үе шат нь тодорхой програмчлалын орчныг ашиглан програмчлал эсвэл кодчиллыг агуулдаг. Туршилтын үе шат нь програм хангамжийг алдаагүй, мөн хэрэглэгчийн бүх шаардлагыг хангаж байгаа эсэхийг шалгах явдал юм. Эцэст нь, дууссан программ хангамжийг хэрэглэгчийн сайт дээр (заримдаа тусад нь хэрэгжүүлэх инженер) хэрэгжүүлдэг. Сүүлийн жилүүдэд програм хангамжийн инженерчлэлийн үйл явцын үр ашгийг дээшлүүлэхийн тулд бусад програм хангамж хөгжүүлэх аргачлалууд хурдацтай хөгжиж байна. Жишээлбэл, Agile аргууд нь маш богино хөгжлийн мөчлөгтэй өсөлттэй хөгжилд төвлөрдөг. Програм хангамжийн инженер мэргэжил нь маш өндөр цалинтай учраас өндөр үнэлгээтэй ажил юм.
Системийн инженер гэж юу вэ?
Системийн инженерчлэл нь инженерийн төслүүдийн амьдралын мөчлөгийн туршид (биет тал дээр илүү анхаардаг) ерөнхий менежментийг авч үздэг инженерийн дэд салбар юм. Энэ нь логистик, багийн зохицуулалт, машин механизмын автомат удирдлага, ажлын процесс болон ижил төстэй хэрэгслүүдтэй холбоотой. Ихэнх тохиолдолд Системийн инженерчлэл нь үйлдвэрлэлийн инженерчлэл, хяналтын инженерчлэл, зохион байгуулалт, төслийн менежмент, тэр ч байтугай програм хангамжийн инженерчлэлтэй давхцдаг. Энэ шалтгааны улмаас системийн инженерчлэл нь салбар дундын инженерийн салбар гэж тодорхойлогддог. Системийн инженер нь системийн дизайн хийх, шаардлага боловсруулах, шаардлагыг баталгаажуулах, системийн туршилт болон бусад инженерийн судалгааг хийж болно.
Програм хангамжийн инженерчлэл, системийн инженерчлэл хоёр юугаараа ялгаатай вэ?
Системийн инженерчлэл ба Програм хангамжийн инженерийн ялгаа тийм ч тодорхой биш байна. Гэсэн хэдий ч Системийн инженерүүд хэрэглэгчид болон домэйнд илүү анхаардаг бол Програм хангамжийн инженерүүд чанартай програм хангамжийг хэрэгжүүлэхэд илүү анхаардаг гэж хэлж болно. Системийн инженер нь ихээхэн хэмжээний техник хангамжийн инженерчлэлтэй байж болох ч ихэвчлэн програм хангамжийн инженерүүд зөвхөн програм хангамжийн бүрэлдэхүүн хэсгүүдэд анхаарлаа төвлөрүүлдэг. Системийн инженерүүд илүү өргөн боловсролтой (Инженер, Математик, Компьютерийн шинжлэх ухаан зэрэг) байж болох бөгөөд Програм хангамжийн инженерүүд Компьютерийн Шинжлэх Ухаан эсвэл Компьютерийн Инженерийн мэргэжилтэй байх болно.