Гарчиг[Нуух][Үзүүлэх]
Хэрэв та програм хангамжийн инженерээр мэргэжлээрээ цаашид хөгжихийг хүсч байвал системийн дизайныг ойлгох ёстой. Код бичиж эхэлж байгаа ч системийн дизайныг судалж эхлэх нь зүйтэй.
Та карьерынхаа эхэн үед код бичих чадвараа голчлон шалгах болно. Системийн дизайны тухай ойлголт, яагаад үүнийг судлах ёстой, системийн дизайны үйл явцын туршид гүйцэтгэсэн үндсэн үүрэг, системийн дизайны стратеги гэж юу вэ гэх мэт олон зүйлийг энэ нийтлэлээс авч үзэх болно.
Эхлээд үзье.
Системийн дизайн гэж юу вэ?
Системийн бүтэц, модулиуд, бүрэлдэхүүн хэсгүүд, тэдгээрийн төрөл бүрийн интерфейсүүд болон түүгээр дамждаг өгөгдлийг тодорхойлох үйл явцыг системийн дизайн гэж нэрлэдэг.
Энэ нь логик, үр ашигтай системийг бий болгосноор компани эсвэл байгууллагын тодорхой зорилго, шаардлагыг хангахад зориулагдсан болно. Зөв дизайны санаа, арга барил нь хөтөлбөрийн нарийн төвөгтэй байдал, өргөтгөх чадварыг даван туулах замын зураглалыг бий болгодог.
Системийн дизайны стратегичид болон туршлагатай програм хангамжийн инженерүүд энэхүү платформыг бүтээх үүрэг хүлээсэнn тохиромжтой удирдамжтай.
Энэ нь кодчилол гэхээсээ илүү системийн шинжилгээ, архитектурын загвар, API, дизайны хэв маяг, бүгдийг нь хамтад нь наах тухай юм. Таны аппликейшн архитектурын ачааллыг даах чадвартай тул өөрийн програмын шаардлагад нийцүүлэн системээ төлөвлөх нь шаардлагагүй зардал, засвар үйлчилгээний хүчин чармайлтыг арилгахаас гадна эцсийн хэрэглэгчдэдээ илүү сайн туршлага өгөх болно.
Системийн дизайны үндсэн хоёр стратеги юу вэ?
Системийн дизайны хамгийн сайн стратеги нь системийн шаардлагаар үргэлж тодорхойлогддог. Сайн системийн тактикууд нь одоо байгаа системүүдтэй ажиллаж байгаа эсэх, эсвэл эхнээс нь эхэлж байгаа эсэхээс хамаарч өөрчлөгддөг.
Үндсэндээ хоёр тактикийг багтаасан эрлийз аргаас бусад нь системийн дизайны хоёр үндсэн стратеги байдаг. Системийн дизайны эдгээр хоёр аргыг авч үзье.
1. Доороос дээш чиглэсэн стратеги
Дэд системүүд болон доод түвшний бүрэлдэхүүн хэсгүүдийг (дэд бүрэлдэхүүн хэсгүүдийг ч гэсэн) энэ системийн дизайны техникт хамгийн түрүүнд зохион бүтээсэн. Хэрэв эдгээр бүрэлдэхүүн хэсгүүдийг урьдчилан боловсруулсан бол илүү өндөр түвшний дэд системүүд болон том бүрэлдэхүүн хэсгүүдийг илүү хялбар, үр дүнтэй хөгжүүлэх боломжтой. Энэ нь хайлт хийх, алдааг олж засварлахад цагийг хэмнэдэг.
Доод түвшний бүрэлдэхүүн хэсгүүдийг илүү том багц болгон нэгтгэх үйл явц нь бүхэл бүтэн систем нь нэг бүрэлдэхүүн хэсгээс бүрдэх хүртэл давтагдана. Энэ арга нь ерөнхий шийдэл болон доод түвшний хэрэгжилтийг дахин ашиглах боломжтой болгодог. Хийсвэрлэлийн түвшин өндөр байх төлөвтэй байгаа бол энэ арга нь хамгийн тохиромжтой.
Гэсэн хэдий ч энэ арга нь асуудлын бүтэцтэй нэгдмэл байдаггүй тул өндөр чанартай шийдлийг үүнтэй хамт боловсруулахад хэцүү байдаг. Хийсвэрлэлийн өндөр зэрэгтэй тул хамгийн үр дүнтэй байдаг илүүдэл функцуудыг ашиглах боломжтой.
2. Дээрээс доош чиглэсэн стратеги
Энэхүү дизайны хэв маяг нь системийг дэд систем болон бүрэлдэхүүн хэсгүүдэд хуваахыг чухалчилдаг. Доороос дээшлэх техниктэй адил доороос дээшээ бүтээхийн оронд дээрээс доош чиглэсэн стратеги нь эхлээд бүхэл системийг дэд систем болгон хуваахаас өмнө үзэл баримтлалыг бий болгодог.
Дараа нь эдгээр дэд системүүдийг үүсгэж, илүү том системийн хэрэгцээг хангах жижиг дэд системүүд болон бүрэлдэхүүн хэсгүүдэд хуваадаг. Эдгээр дэд системүүдийг тусдаа зүйл гэж үзэхийн оронд энэ арга нь системийг бүхэлд нь нэг объект гэж үздэг.
Системийг эцсийн байдлаар зохион бүтээж, шинж чанараараа тусгаарласан тохиолдолд дэд системүүдийг бие даасан нэгж гэж үздэг. Бүрэлдэхүүн хэсгүүдийг дараа нь системийн хамгийн доод түвшинг төлөвлөх хүртэл шаталсан тогтолцоонд зохион байгуулдаг. Энэ арга нь нарийн тодорхойлогдсон бөгөөд хийсвэрлэхийг дэмждэггүй.
Дизайн үйл явц нь дэд систем, бүрэлдэхүүн хэсгүүдийг системд тохирсон байдлаар нь тодорхойлж, өндөр үр ашигтай, хариу үйлдэл үзүүлэх, үр дүнтэй системийг бий болгодог тул дээрээс доош чиглэсэн техник нь өндөр чанарын онцлог шинж юм.
Нөгөө талаас, шийдлүүд нь нийтлэг биш бөгөөд өргөнөөр ашиглах боломжгүй юм. Эдгээр системүүд нь илүү төвөгтэй дизайнтай бөгөөд засвар үйлчилгээ хийхэд илүү төвөгтэй байдаг.
Харин эрлийз загварчлалын техникүүд нь дээрээс доош чиглэсэн аргын өндөр чанартай шинж чанаруудыг доороос дээш чиглэсэн аргын дахин ашиглах боломжтой, зохион байгуулалт сайтай бүтэцтэй хослуулсан байдаг. Үүний үр дүнд ихэнх системүүд нь системийн дизайны хамгийн амжилттай арга юм.
Системийн дизайны янз бүрийн дэд багцууд юу вэ?
Системийн дизайны дэд хэсгүүд нь дараах байдалтай байна.
1. Логик дизайн
Энэ нь системийн өгөгдлийн урсгал, оролт, гаралтын хийсвэрлэл юм. Энэ нь хэрэглэгчийн шаардлагад нийцсэн эх сурвалж, очих газар, өгөгдлийн агуулах, өгөгдлийн урсгалыг тодорхойлдог. Системийн логик дизайн нь системээс мэдээлэл хэрхэн урсаж, гарч байгааг бодитоор тайлбарлах нарийн нарийвчлалтайгаар бүтээгдсэн. ER болон өгөгдлийн урсгалын диаграммыг ашигладаг.
2. Физик дизайн
Физик дизайн нь системийн бодит оролт, гаралтын процессуудтай холбоотой байдаг. Физик дизайны гол зорилго нь өгөгдлийг хэрхэн шалгаж, боловсруулж, үр дүнд нь харуулахыг хянах явдал юм. Энэ нь юуны түрүүнд хэрэглэгчийн интерфэйсийн дизайн, процессын дизайн, өгөгдлийн загварт анхаарлаа хандуулдаг.
3. Архитектур дизайн
Энэ нь системийн архитектурын дизайныг чухалчилдаг тул дизайны өндөр түвшин гэж нэрлэгддэг. Энэ нь системийн мөн чанар, гарал үүслийг авч үздэг.
4. Нарийвчилсан дизайн
Энэ нь Архитектурын дизайн дээр суурилж, сэдэв бүрийн өсөлтийг онцолдог.
Системийг боловсруулах явцад ямар гол ажлуудыг гүйцэтгэдэг вэ?
1. Загварын тодорхойлолтыг бий болгох
- Системийн бүрэлдэхүүн хэсгүүд болон физик интерфэйсүүдийг бүтээх, хэрэгжүүлэхэд ашиглах технологийг төлөвлөж, тодорхойлох.
- Системийн үйл ажиллагааны үе шатанд ямар технологи, системийн бүрэлдэхүүн хэсэг хоцрогдсон эсвэл хувьсан өөрчлөгдөж байгааг тодорхойлох. Тэднийг эцсийн байдлаар солих бэлтгэлийг хий.
- Дизайныг дуусгахад шаардлагатай аливаа идэвхжүүлэх систем, бараа, үйлчилгээг багтаасан дизайныг тодорхойлох арга барилыг баримтжуулах.
2. Загварын шинж чанаруудыг тодорхойлох
- Архитектурын онцлогтой холбоотой дизайны шалгуурыг тодорхойлж, тэдгээрийг хэрэгжүүлэх боломжтой эсэхийг шалгаарай.
- Системийн архитектурын үе шатанд тогтоогдоогүй эсвэл дизайны нарийвчилсан мэдээлэл илүү нарийвчилсан болохын хэрээр тодорхойлох шаардлагатай интерфейсүүдийг тодорхойл.
- Системийн элемент бүрийн дизайны шинж чанарыг тодорхойлж, бүртгэх.
3. Бүрэлдэхүүн хэсгүүдийг авах сонголтоо анхаарч үзээрэй
- Өөрийнхөө дизайны хувилбаруудыг судалж үзээрэй.
- Хамгийн сайн сонголтуудыг сонго.
- Хэрэв системийн элементийг боловсруулахаар шийдсэн бол дизайны тодорхойлолт, хэрэгжүүлэх үйл явцын үлдсэн хэсгийг ашиглана. Хэрэв системийн элементийг худалдаж авах эсвэл дахин ашиглах гэж байгаа бол түүнийг авахын тулд олж авах аргыг ашиглаж болно.
4. Зураг төслийг зохион байгуулах
- Загвар, архитектурын шийдвэр бүрийн цаад учир шалтгааныг авч, хянаж байгаарай.
- Загварын шинж чанаруудын ахиц дэвшлийг үнэлэх, хянах.
Та яагаад системийн дизайныг сурах ёстой вэ?
Томоохон хэмжээний хэд хэдэн нээлт хийсэн вэб програмууд өмнөх хорин жилийн хугацаанд. Эдгээр шинэчлэлүүд нь програм хангамжийг хөгжүүлэх бидний хэтийн төлөвийг өөрчилсөн.
Facebook, Instagram, Twitter зэрэг бидний өдөр тутам ашигладаг бусад аппликейшн, үйлчилгээнүүд нь өргөтгөх боломжтой системүүд юм. Эдгээр системийг дэлхийн өнцөг булан бүрт хэдэн тэрбум хүн нэгэн зэрэг ашигладаг тул асар их хэмжээний траффик болон өгөгдлийг удирдахын тулд бүтээгдсэн байх ёстой. Системийн дизайн энд чухал үүрэг гүйцэтгэдэг.
Та системийн дизайны санаа, тэдгээрийг програм хангамжийн инженерийн хувьд хэрхэн хэрэгжүүлэх талаар ойлгох шаардлагатай болно. Карьерынхаа эхэн үед системийн дизайныг сурах нь програм хангамжийн дизайны бэрхшээлийг илүү итгэлтэйгээр даван туулах, дизайны санаагаа өдөр тутмын ажилдаа хэрэгжүүлэхэд тусална.
Та карьераа ахиулж, дээд түвшний албан тушаалын төлөө ярилцлага өгч эхлэх үед системийн дизайн таны ярилцлагын үйл явцын илүү чухал элемент болно. Тиймээс таны ур чадварын түвшингээс үл хамааран системийн дизайн чухал юм.
Системийн дизайны ашиг тус
- Энэ нь процедурыг хурдасгадаг.
- Энэ нь дизайны үнийг бууруулдаг.
- Үл нийцэх байдал арилдаг.
- Энэ нь хэд хэдэн нөөцтэй.
- Энэ нь үйлчлүүлэгчийн амьдралыг илүү хялбар, хялбар болгодог.
Дүгнэлт
Энэ нь компанийн чанарыг сайжруулахын зэрэгцээ ашигт ажиллагааг нэмэгдүүлэх давуу талтай.
Функциональ систем нь чанарын оновчтой хяналтыг хангахаас гадна бүтээгдэхүүн, өгөгдөл боловсруулалтын улмаас үйлдвэрлэлийн зардлыг бууруулдаг. Энэ нь аль ч салбар, салбарт тавигдах шаардлага юм.
хариу үлдээх