Äèàãðàììû êîìïîíåíòîâ ïîêàçûâàþò, êàê âûãëÿäèò ìîäåëü ñèñòåìû íà ôèçè÷åñêîì óðîâíå. Íà äèàãðàììå èçîáðàæåíû êîìïîíåíòû ïðîãðàììíîãî îáåñïå÷åíèÿ è ñâÿçè ìåæäó íèìè. Ïðè ýòîì âûäåëÿþò äâà òèïà êîìïîíåíòîâ: èñïîëíÿåìûå êîìïîíåíòû è áèáëèîòåêè êîäà.
Êàæäûé êëàññ ìîäåëè ïðåîáðàçóåòñÿ â êîìïîíåíò èñõîäíîãî êîäà. Ïîñëå ñîçäàíèÿ îíè ñðàçó äîáàâëÿþòñÿ ê äèàãðàììå êîìïîíåíòîâ. Ìåæäó îòäåëüíûìè êîìïîíåíòàìè èçîáðàæàþò çàâèñèìîñòè, ñîîòâåòñòâóþùèå çàâèñèìîñòÿì íà ýòàïå êîìïèëÿöèè èëè âûïîëíåíèÿ ïðîãðàììû.
Íà ðèñóíêå èçîáðàæåíà îäíà èç äèàãðàìì êîìïîíåíòîâ äëÿ íåêîòîðîé ñèñòåìû îáñëóæèâàíèÿ áàíêîìàòîâ àðõèòåêòóðû êëèåíò-ñåðâåð.
Íà ýòîé äèàãðàììå ïîêàçàíû êîìïîíåíòû êëèåíòà ñèñòåìû.  äàííîì ñëó÷àå ñèñòåìà ñòðîèòñÿ ñ ïîìîùüþ ÿçûêà C++. Ó êàæäîãî êëàññà èìååòñÿ ñâîé ñîáñòâåííûé çàãîëîâî÷íûé ôàéë è ôàéë ñ ðàñøèðåíèåì .ÑÐÐ, òàê ÷òî êàæäûé êëàññ ïðåîáðàçóåòñÿ â ñâîè ñîáñòâåííûå êîìïîíåíòû íà äèàãðàììå. Íàïðèìåð, íåêîòîðûé êëàññ Screen ïðåîáðàçóåòñÿ â äâà êîìïîíåíòà, ïðåäñòàâëÿþùèå òåëî è çàãîëîâîê êëàññà Screen. Âûäåëåííûé òåìíûì êîìïîíåíò íàçûâàåòñÿ ñïåöèôèêàöèåé ïàêåòà (package specification) è ñîîòâåòñòâóåò ôàéëó òåëà êëàññà Screen íà ÿçûêå C++ (ôàéë ñ ðàñøèðåíèåì .ÑÐÐ). Íåâûäåëåííûé êîìïîíåíò òàêæå íàçûâàåòñÿ ñïåöèôèêàöèåé ïàêåòà, íî ñîîòâåòñòâóåò çàãîëîâî÷íîìó ôàéëó êëàññà ÿçûêà C++ (ôàéë ñ ðàñøèðåíèåì .Í). Êîìïîíåíò Client.exe ÿâëÿåòñÿ èñïîëíÿåìîé ïðîãðàììîé.
Êîìïîíåíòû ñîåäèíåíû øòðèõîâîé ëèíèåé, ÷òî ñîîòâåòñòâóåò çàâèñèìîñòÿì ìåæäó íèìè. Íàïðèìåð, êëàññ CardReader çàâèñèò îò êëàññà Screen. Ýòî îçíà÷àåò, ÷òî, äëÿ òîãî ÷òîáû êëàññ CardReader ìîã áûòü ñêîìïèëèðîâàí, êëàññ Screen äîëæåí óæå ñóùåñòâîâàòü. Ïîñëå êîìïèëÿöèè âñåõ êëàññîâ ìîæåò áûòü ñîçäàí èñïîëíÿåìûé ôàéë Client.exe.
 äàííîì ïðèìåðå ñèñòåìà âêëþ÷àåò äâà èñïîëíÿåìûõ ôàéëà. Îäèí èç íèõ – ýòî êëèåíò Client.exe, îí ñîäåðæèò êîìïîíåíòû CashDispenser, CardReader è Screen. Âòîðîé ôàéë – ýòî ñåðâåð, âêëþ÷àþùèé â ñåáÿ êîìïîíåíò Account.
Äèàãðàììû êîìïîíåíòîâ ïðèìåíÿþòñÿ òåìè ó÷àñòíèêàìè ïðîåêòà, êòî îòâå÷àåò çà êîìïèëÿöèþ ñèñòåìû. Èç íåå âèäíî, â êàêîì ïîðÿäêå íàäî êîìïèëèðîâàòü êîìïîíåíòû, à òàêæå êàêèå èñïîëíÿåìûå êîìïîíåíòû áóäóò ñîçäàíû ñèñòåìîé. Íà òàêîé äèàãðàììå ïîêàçàíî ñîîòâåòñòâèå êëàññîâ ðåàëèçîâàííûì êîìïîíåíòàì. Îíà íóæíà òàì, ãäå íà÷èíàåòñÿ ãåíåðàöèÿ êîäà.
|