Ќа головну

У“ехнолог≥¤ впровадженн¤ CASE-засоб≥вФ

 

«м≥ст

“ехнолог≥¤ впровадженн¤ CASE-засоб≥в

1 ¬изначенн¤ потреб у CASE-засобах

1.1 јнал≥з можливостей орган≥зац≥њ

1.2 ¬изначенн¤ орган≥зац≥йних потреб

1.3 јнал≥з ринку CASE-засоб≥в

1.4 ¬изначенн¤ критер≥њв усп≥шного впровадженн¤

1.5 –озробка стратег≥њ впровадженн¤ CASE-засоб≥в

2 ќц≥нка ≥ виб≥р CASE-засоб≥в

2.1 «агальн≥ в≥домост≥

2.2 ѕроцес оц≥нки

2.3 ѕроцес вибору

2.4  ритер≥њ оц≥нки ≥ вибору

—писок л≥тератури

2.4.  ритер≥њ оц≥нки ≥ вибору

 ритер≥њ формують базис дл¤ процес≥в оц≥нки ≥ вибору ≥ можуть приймати р≥зноман≥тн≥ форми, включаючи:
-числов≥ м≥ри в широкому д≥апазон≥ значень, наприклад, обс¤г необх≥дноњ памТ¤т≥;
-числов≥ м≥ри в обмеженому д≥апазон≥ значень, наприклад, простота освоЇнн¤, виражена у балах в≥д 1 до 5;
-дв≥йков≥ м≥ри (≥стина/хибно, так/н≥), наприклад, спроможн≥сть генерац≥њ документац≥њ у формат≥ Postscript;
- м≥ри, що можуть приймати одне або б≥льше з к≥нцевих множин значень, наприклад, платформи, дл¤ ¤ких п≥дтримуЇтьс¤ CASE-зас≥б.

“иповий процес оц≥нки ≥/або вибору може використовувати наб≥р критер≥њв р≥зноман≥тних тип≥в.  ожний критер≥й повинен бути обраний ≥ адаптований експертом з урахуванн¤м особливостей конкретного процесу. ” б≥льшост≥ випадк≥в т≥льки де¤к≥ з множини описаних нижче критер≥њв ви¤вл¤ютьс¤ прийн¤тними дл¤ використанн¤, при цьому також додаютьс¤ додатков≥ критер≥њ. ¬иб≥р ≥ уточненн¤ набору використовуваних критер≥њв Ї критичним кроком у процес≥ оц≥нки ≥/або вибору.

‘ункц≥ональн≥ характеристики

 ритер≥њ першого класу призначен≥ дл¤ визначенн¤ функц≥ональних характеристик CASE-засобу. ¬они у свою чергу п≥дрозд≥л¤ютьс¤ на р¤д груп ≥ п≥дгруп. 

1. —ередовище функц≥онуванн¤:
    a. ѕроектне середовище:
- п≥дтримка процес≥в життЇвого циклу. ¬изначаЇ наб≥р процес≥в ∆÷, ¤к≥ п≥дтримуЇ CASE-зас≥б. ѕрикладами таких процес≥в Ї анал≥з вимог, проектуванн¤, реал≥зац≥¤, тестуванн¤ й оц≥нка, супров≥д, забезпеченн¤ ¤кост≥, керуванн¤ конф≥гурац≥Їю ≥ керуванн¤ проектом, причому вони залежать в≥д прийн¤тоњ користувачем модел≥ ∆÷.
- область застосуванн¤. ѕрикладами Ї системи опрацюванн¤ транзакц≥й, системи реального часу, ≥нформац≥йн≥ системи ≥ т.д.
- розм≥р п≥дтримуваних апл≥кац≥й. ¬изначаЇ обмеженн¤ на так≥ величини, ¤к к≥льк≥сть р¤дк≥в коду, р≥вн≥в вкладеност≥, розм≥р бази даних, к≥льк≥сть елемент≥в даних, к≥льк≥сть обТЇкт≥в конф≥гурац≥йного керуванн¤.

    b. ѕ«/техн≥чн≥ засоби:
- необх≥дн≥ техн≥чн≥ засоби. ”статкуванн¤, необх≥дне дл¤ функц≥онуванн¤ CASE-засобу, включаючи тип процесора, обс¤г оперативноњ ≥ дисковоњ памТ¤т≥.
- п≥дтримуван≥ техн≥чн≥ засоби. ≈лементи устаткуванн¤, котр≥ можуть використовуватис¤ CASE-засобом, наприклад, пристроњ вводу/виводу.
- необх≥дне ѕ«. ѕ«, необх≥дне дл¤ функц≥онуванн¤ CASE-засобу, включаючи операц≥йн≥ системи ≥ граф≥чн≥ оболонки.
- п≥дтримуване ѕ«. ѕрограмн≥ продукти, що можуть використовуватис¤ CASE-засобом.

    с. “ехнолог≥чне середовище:
- в≥дпов≥дн≥сть стандартам технолог≥чного середовища. “ак≥ стандарти стосуютьс¤ мови, бази даних, репозитор≥ю, комун≥кац≥й, граф≥чного ≥нтерфейсу користувача, документац≥њ, розробки, керуванн¤ конф≥гурац≥Їю, безпеки, стандарт≥в обм≥ну ≥нформац≥Їю й ≥нтеграц≥њ за даними, за керуванн¤м ≥ за користувацьким ≥нтерфейсом.
- сум≥сн≥сть з ≥ншими засобами. —проможн≥сть до взаЇмод≥њ з ≥ншими засобами, включаючи безпосередн≥й обм≥н даними (прикладами таких засоб≥в Ї текстов≥ процесори, бази даних ≥ ≥нш≥ CASE-засоби). ћожлив≥сть перетворенн¤ репозитор≥¤ або його частини в стандартний формат дл¤ опрацюванн¤ ≥ншими засобами.
- п≥дтримувана методолог≥¤. Ќаб≥р метод≥в ≥ методик, п≥дтримуваних CASE-засобом. ѕрикладами Ї структурний або обТЇктно-ор≥Їнтований анал≥з ≥ проектуванн¤.
- п≥дтримуван≥ мови. ¬с≥ мови, використовуван≥ CASE-засобом. ѕрикладами таких мов Ї мови програмуванн¤ ( обол, јда, —), мови баз даних ≥ мови запит≥в (DDL, SQL), граф≥чн≥ мови (Postscript, HPGL), мови специф≥кац≥њ проектних вимог ≥ ≥нтерфейси операц≥йних систем (мови керуванн¤ завданн¤ми).

2. ‘ункц≥њ, ор≥Їнтован≥ на фази життЇвого циклу:

    a. ћоделюванн¤:
ƒан≥ критер≥њ визначають спроможн≥сть виконанн¤ функц≥й, необх≥дних дл¤ специф≥кац≥њ вимог до ѕ« ≥ перетворенню њх у проект:
- побудова д≥аграм. ћожлив≥сть створенн¤ ≥ редагуванн¤ д≥аграм р≥зноман≥тних тип≥в, що представл¤ють ≥нтерес дл¤ користувача.
- граф≥чний анал≥з. ћожлив≥сть анал≥зу граф≥чних обТЇкт≥в, а також збереженн¤ й представленн¤ проектноњ ≥нформац≥њ в граф≥чному вигл¤д≥. ” б≥льшост≥ випадк≥в граф≥чн≥ анал≥затори ≥нтегрован≥ з засобами побудови д≥аграм.
- вв≥д ≥ редагуванн¤ специф≥кац≥й вимог ≥ проектних специф≥кац≥й. ƒо специф≥кац≥й такого роду в≥днос¤тьс¤ описи функц≥й, даних, ≥нтерфейс≥в, структури, ¤кост≥, продуктивност≥, техн≥чних засоб≥в, середовище, витрат ≥ граф≥к≥в.
- мова специф≥кац≥њ вимог ≥ проектних специф≥кац≥й. ћожлив≥сть ≥мпорту, експорту ≥ редагуванн¤ специф≥кац≥й ≥з використанн¤м формальноњ мови.
- моделюванн¤ даних. ћожлив≥сть вводу ≥ редагуванн¤ ≥нформац≥њ, ¤ка описуЇ елементи даних системи ≥ њх в≥дношенн¤. -моделюванн¤ процес≥в. ћожлив≥сть введенн¤ ≥ редагуванн¤ ≥нформац≥њ, що описуЇ процеси системи ≥ њх в≥дношенн¤.
- проектуванн¤ арх≥тектури ѕ«. ѕроектуванн¤ лог≥чноњ структури ѕ« - структури модул≥в, ≥нтерфейс≥в ≥ ≥н.
- ≥м≥тац≥йне моделюванн¤. ћожлив≥сть динам≥чного моделюванн¤ р≥зноман≥тних аспект≥в функц≥онуванн¤ системи на основ≥ специф≥кац≥й вимог ≥/або проектних специф≥кац≥й, включаючи зовн≥шн≥й ≥нтерфейс ≥ продуктивн≥сть (наприклад, час в≥дгуку, коеф≥ц≥Їнт використанн¤ ресурс≥в ≥ пропускноњ спроможност≥).
- прототипуванн¤. ћожлив≥сть проектуванн¤ ≥ генерац≥њ попереднього вар≥анту вс≥Їњ системи або њњ окремих компонент на основ≥ специф≥кац≥й вимог ≥/або проектних специф≥кац≥й. ѕрототипуванн¤ в основному стосуЇтьс¤ зовн≥шнього користувацьного ≥нтерфейсу ≥ зд≥йснюЇтьс¤ при особист≥й участ≥ користувач≥в. 
- генерац≥¤ екранних форм. ћожлив≥сть генерац≥њ екранних форм на основ≥ специф≥кац≥й вимог ≥/або проектних специф≥кац≥й.
- можлив≥сть трасуванн¤. ћожлив≥сть наскр≥зного анал≥зу функц≥онуванн¤ системи в≥д специф≥кац≥њ вимог до к≥нцевих результат≥в (встановленн¤ й в≥дсл≥дковуванн¤ в≥дпов≥дностей ≥ звТ¤зк≥в м≥ж функц≥ональними й ≥ншими зовн≥шн≥ми вимогами до ≤—, техн≥чними р≥шенн¤ми ≥ результатами проектуванн¤). ѕр¤ме трасуванн¤ (перев≥рка врахуванн¤ ус≥х вимог) ≥ обернене трасуванн¤ (пошук проектних р≥шень, не повТ¤заних н≥ з ¤кими зовн≥шн≥ми вимогами).
- синтаксичний ≥ семантичний контроль проектних специф≥кац≥й.  онтроль синтаксису д≥аграм ≥ тип≥в њх елемент≥в, контроль декомпозиц≥њ функц≥й, перев≥рка специф≥кац≥й на повноту ≥ непротир≥чн≥сть.
-≥нш≥ види анал≥зу.  онкретн≥ додатков≥ види анал≥зу можуть включати алгоритми, потоки даних, нормал≥зац≥ю даних, використанн¤ даних, користувацький ≥нтерфейс.
- автоматизоване проектуванн¤ зв≥т≥в.

    b. –еал≥зац≥¤

–еал≥зац≥¤ стосуЇтьс¤ функц≥й, повТ¤заних з≥ створенн¤м виконуваних елемент≥в системи (програмних код≥в) або модиф≥кац≥Їю ≥снуючоњ системи. Ѕагато з перерахованих нижче критер≥њв залежать в≥д конкретних мов ≥ включають наступн≥:
- синтаксично кероване редагуванн¤. ћожлив≥сть введенн¤ ≥ редагуванн¤ вих≥дних код≥в на одн≥й або дек≥лькох мовах з одночасним синтаксичним контролем.
- генерац≥¤ коду. ћожлив≥сть генерац≥њ код≥в на одн≥й або дек≥лькох мовах на основ≥ проектних специф≥кац≥й. “ипи коду, що генеруЇтьс¤, можуть включати звичайний програмний код, схему бази даних, запити, екрани/меню.
- комп≥л¤ц≥¤ коду.
- конвертуванн¤ вих≥дного коду. ћожлив≥сть перетворенн¤ коду з одн≥Їњ мови в ≥ншу.
- анал≥з над≥йност≥. ћожлив≥сть к≥льк≥сно оц≥нювати параметри над≥йност≥ ѕ«, так≥, ¤к к≥льк≥сть помилок ≥ ≥н.
- реверсний ≥нжин≥ринг. ћожлив≥сть анал≥зу ≥снуючих вих≥дних код≥в ≥ формуванн¤ на њх основ≥ проектних специф≥кац≥й.
- реструктуризац≥¤ вих≥дного коду. ћожлив≥сть модиф≥кац≥њ формату ≥/або структури ≥снуючого вих≥дного коду.
- анал≥з вих≥дного коду. ѕрикладами такого анал≥зу можуть бути визначенн¤ розм≥ру коду, обчисленн¤ показник≥в складност≥, генерац≥¤ перехресних посилань ≥ перев≥рка на в≥дпов≥дн≥сть стандартам.
- налагодженн¤. “ипов≥ функц≥њ налагодженн¤ - трасуванн¤ програм, вид≥ленн¤ вузьких м≥сць ≥ найб≥льш часто використовуваних фрагмент≥в коду ≥ т.д.

     c. “естуванн¤: 

 ритер≥њ тестуванн¤ включають наступн≥:
- опис тест≥в. “ипов≥ можливост≥ включають генерац≥ю тестових даних, алгоритм≥в тестуванн¤, необх≥дних результат≥в ≥ т.д.
- ф≥ксац≥¤ ≥ повторенн¤ д≥й оператора. ћожлив≥сть ф≥ксувати дан≥, ¤к≥ вводить оператор за допомогою клав≥атури, миш≥ ≥ т.д., редагувати њх ≥ в≥дтворювати в тестових прикладах.
- автоматичний запуск тестових приклад≥в.
- регрес≥йн≥ тестуванн¤. ћожлив≥сть повторенн¤ ≥ модиф≥кац≥њ ран≥ше виконаних тест≥в дл¤ визначенн¤ розходжень у систем≥ ≥/або середовищ≥.
- автоматизований анал≥з результат≥в тестуванн¤. “ипов≥ можливост≥ включають пор≥вн¤нн¤ оч≥куваних ≥ реальних результат≥в, пор≥вн¤нн¤ файл≥в, статистичний анал≥з результат≥в ≥ ≥н.
- нал≥з тестового покритт¤. ќснащен≥сть засобами контролю вих≥дного коду й анал≥з тестового покритт¤. ѕерев≥р¤ютьс¤, зокрема, звертанн¤ до оператор≥в, процедур ≥ зм≥нних.
- анал≥з продуктивност≥. ћожлив≥сть анал≥зу продуктивност≥ програм. јнал≥зован≥ параметри продуктивност≥ можуть включати використанн¤ центрального процесора, памТ¤т≥, звертанн¤ до визначених елемент≥в даних ≥/або сегмент≥в коду, часов≥ характеристики ≥ т.д.
- анал≥з вин¤ткових ситуац≥й у процес≥ тестуванн¤.
- динам≥чне моделюванн¤ середовища. «окрема, можлив≥сть автоматично генерувати вх≥дн≥ дан≥ системи. 

3. «агальн≥ функц≥њ: 

ѕриведен≥ нижче критер≥њ визначають функц≥њ CASE-засоб≥в, ¤к≥ охоплюють усю сукупн≥сть фаз ∆÷. ѕ≥дтримка вс≥х цих функц≥й зд≥йснюЇтьс¤ за допомогою репозитор≥¤. 

    a. ƒокументуванн¤:
- редагуванн¤ текст≥в ≥ граф≥ки. ћожлив≥сть вводити ≥ редагувати дан≥ в текстовому ≥ граф≥чному формат≥.
- редагуванн¤ за допомогою форм. ћожлив≥сть п≥дтримувати форми, визначен≥ користувачами, вводити ≥ редагувати дан≥ в≥дпов≥дно до форм.
- можливост≥ видавничих систем.
- п≥дтримка функц≥й ≥ формат≥в г≥пертексту.
- в≥дпов≥дн≥сть стандартам документуванн¤.
- автоматичний вит¤г даних ≥з репозитор≥¤ ≥ генерац≥¤ документац≥њ за специф≥кац≥¤ми користувача.

    b.  еруванн¤ конф≥гурац≥Їю:
- контроль доступу ≥ зм≥н. ћожлив≥сть контролю доступу на ф≥зичному р≥вн≥ до елемент≥в даних ≥ контролю зм≥н.  онтроль доступу включаЇ можливост≥ визначенн¤ прав доступу до компонент≥в, а також вит¤гу елемент≥в даних дл¤ модиф≥кац≥њ, блокуванн¤ доступу до них на час модиф≥кац≥њ ≥ пом≥стити назад в репозитор≥й.
- в≥дсл≥дковуванн¤ модиф≥кац≥й. ‘≥ксац≥¤ ≥ веденн¤ журналу вс≥х модиф≥кац≥й, внесених у систему в процес≥ розробки або супроводу.
- управл≥нн¤ верс≥¤ми. ¬еденн¤ ≥ контроль даних про верс≥њ системи ≥ вс≥ њњ колективно використовуван≥ компоненти.
- врахуванн¤ стану обТЇкт≥в конф≥гурац≥йного управл≥нн¤. ћожлив≥сть отриманн¤ зв≥т≥в про вс≥ посл≥довн≥ верс≥њ, вм≥сту ≥ стану р≥зноман≥тних обТЇкт≥в конф≥гурац≥йного управл≥нн¤.
- генерац≥¤ верс≥й ≥ модиф≥кац≥й. ѕ≥дтримка користувацького опису посл≥довност≥ д≥й, необх≥дних дл¤ формуванн¤ верс≥й ≥ модиф≥кац≥й, ≥ автоматичне виконанн¤ цих д≥й.
- арх≥вац≥¤. ћожлив≥сть автоматичного арх≥вуванн¤ елемент≥в даних дл¤ наступного використанн¤. 

    c. ”правл≥нн¤ проектом:
- керуванн¤ роботами ≥ ресурсами.  онтроль ≥ керуванн¤ процесом проектуванн¤ ≤— в терм≥нах структури завдань ≥ призначенн¤ виконавц≥в, посл≥довност≥ њх виконанн¤, завершеност≥ окремих етап≥в проекту ≥ проекту в ц≥лому. ћожлив≥сть п≥дтримки планових даних, фактичних даних ≥ њх анал≥зу. “ипов≥ дан≥ включають граф≥ки (з врахуванн¤м робочих час≥в, вих≥дних ≥ ≥н.), компТютерн≥ ресурси, розпод≥л персоналу, бюджет ≥ ≥н.

- оц≥нка. ћожлив≥сть оц≥нювати витрати, граф≥к та ≥нш≥ проектн≥ параметри, що ввод¤тьс¤ користувачами.
- керуванн¤ процедурою тестуванн¤. ѕ≥дтримка керуванн¤ процедурами ≥ програмою тестуванн¤, наприклад, керуванн¤ розкладом планованих процедур, ф≥ксац≥¤ ≥ запис результат≥в тестуванн¤, генерац≥¤ зв≥т≥в ≥ т.д.
- керуванн¤ ¤к≥стю. ¬в≥д в≥дпов≥дних даних, њх анал≥з ≥ генерац≥¤ зв≥т≥в.
- коригувальн≥ д≥њ. ѕ≥дтримка керуванн¤ коригувальними д≥¤ми, включаючи опрацюванн¤ пов≥домлень про проблемн≥ ситуац≥њ. 

2.4.1. Ќад≥йн≥сть

- адм≥н≥струванн¤ репозитор≥¤.  онтроль ≥ забезпеченн¤ ц≥л≥сност≥ проектних даних.
- автоматичне резервуванн¤ (обумовлене постачальником або плановане користувачем).
- безпека. «ахист в≥д несанкц≥онованого доступу.
- опрацюванн¤ помилок. ¬и¤вленн¤ помилок у робот≥ системи, опов≥щенн¤ користувача, коректне завершенн¤ роботи або збер≥ганн¤ стану до моменту перериванн¤.
- анал≥з в≥дмов у критичних прикладних програмах.

2.4.2. ѕростота використанн¤

- зручн≥сть користувацького ≥нтерфейсу. «ручн≥сть розташуванн¤ й представленн¤ часто використовуваних елемент≥в екрана, засоб≥в введенн¤ даних ≥ ≥н.
- локал≥зац≥¤
(в≥дпов≥дно до вимог даноњ крањни).
- простота освоЇнн¤. “рудов≥ ≥ часов≥ витрати на освоЇнн¤ засоб≥в.
- адаптуЇм≥сть до конкретних вимог користувача. јдаптуЇм≥сть до р≥зноман≥тних алфав≥т≥в, режим≥в текстового ≥ граф≥чного представленн¤ (зл≥ва-направо, зверху-вниз), р≥зноман≥тних формат≥в дати, засоб≥в вводу/виводу (екранних форм ≥ формат≥в), зм≥н у методолог≥њ (зм≥н граф≥чних нотац≥й, правил, властивостей ≥ складу визначених обТЇкт≥в) ≥ ≥н.
- ¤к≥сть документац≥њ (повнота, зрозум≥л≥сть, читабельн≥сть, корисн≥сть ≥ ≥н.).
- доступн≥сть ≥ ¤к≥сть навчальних матер≥ал≥в. ¬они можуть включати компТютерн≥ навчальн≥ матер≥али, навчальн≥ пос≥бники, курси.
- вимоги до р≥вн¤ знань.  вал≥ф≥кац≥¤ ≥ досв≥д, необх≥дн≥ дл¤ ефективного використанн¤ CASE-засоб≥в. -простота роботи з CASE-засобом (¤к дл¤ починаючих, так ≥ дл¤ досв≥дчених користувач≥в).
- ун≥ф≥кован≥сть користувацького ≥нтерфейсу (стосовно ≥нших засоб≥в, ¤к≥ використовуютьс¤ в дан≥й орган≥зац≥њ).
-on-line п≥дказки (повнота ≥ ¤к≥сть).
-¤к≥сть д≥агностики (зрозум≥л≥сть ≥ корисн≥сть д≥агностичних пов≥домлень дл¤ користувача).
-припустимий час реакц≥њ на д≥њ користувача (в залежност≥ в≥д середовища).

-простота установки ≥ в≥дновленн¤ верс≥й.

2.4.3. ≈фективн≥сть -вимоги до техн≥чних засоб≥в.

- вимоги до оптимального розм≥ру зовн≥шньоњ й оперативноњ памТ¤т≥, типу ≥ продуктивност≥ процесора, що забезпечуЇ прийн¤тний р≥вень продуктивност≥.
 - ефективн≥сть робочого навантаженн¤. ≈фективн≥сть виконанн¤ CASE-засобом своњх функц≥й в залежност≥ в≥д ≥нтенсивност≥ роботи користувача (наприклад, к≥льк≥сть натискань клав≥ш або кнопки миш≥, необх≥дна дл¤ виконанн¤ визначених функц≥й).
- продуктивн≥сть. „ас, що витрачаЇтьс¤ CASE-засобом дл¤ виконанн¤ конкретних задач (наприклад, час в≥дпов≥д≥ на запит, час анал≥зу 100000 р¤дк≥в коду). ” де¤ких випадках дан≥ оц≥нки продуктивност≥ можна отримати з зовн≥шн≥х джерел.

2.4.4. —упроводжуван≥сть

 -р≥вень п≥дтримки з боку постачальника (швидк≥сть вир≥шенн¤ проблем, постачанн¤ нових верс≥й, забезпеченн¤ додаткових можливостей).
-трасувальн≥сть в≥дновлень (простота освоЇнн¤ в≥дм≥нностей нових верс≥й в≥д ≥снуючих).
-сум≥сн≥сть в≥дновлень (сум≥сн≥сть нових верс≥й з ≥снуючими, включаючи, наприклад, сум≥сн≥сть за вх≥дними або вих≥дними даними).
-супроводжувальн≥сть к≥нцевого продукту (простота внесенн¤ зм≥н у ѕ« ≥ документац≥ю).

 2.4.5. ѕереносим≥сть

 -сум≥сн≥сть ≥з верс≥¤ми ќ— (можлив≥сть роботи в середовищ≥ р≥зноман≥тних верс≥й одн≥Їњ ≥ т≥Їњ ж ќ—, простота модиф≥кац≥њ CASE-засобу дл¤ роботи з новими верс≥¤ми ќ—).
-переносим≥сть даних м≥ж р≥зноман≥тними верс≥¤ми CASE-засобу.
-в≥дпов≥дн≥сть стандартам переносимост≥. “ак≥ стандарти включають документац≥ю, комун≥кац≥њ ≥ користувацький ≥нтерфейс, в≥конний ≥нтерфейс, мови програмуванн¤, мови запит≥в ≥ ≥н.

—писок л≥тератури.

  1. ј. ¬.  атренко —труктурн≥ методи проектуванн¤ ≥нформац≥йних систем, Ћьв≥в ƒ”Ћѕ-1998
  2. www.citforum.ru
  3. www.osp.ru
Hosted by uCoz