Застосування UML в життєвому циклі проектів

За словами одного з "батьків" UML і творця методології OOSE (Object Oriented Software Engineering) Айвара Якобсона, що спеціалізується на дослідженні життєвих циклів проектів: «При розробці, з плином часу, безлад (хаос) у системі, що розробляється не зменшується, а тільки залишається незмінним або збільшується. Накопичуючись, він може істотно погіршити якість продукту і навіть зробити програмну систему непрацездатною. Тому одним з найважливіших завдань при розробці стає зменшення кількості помилок, що вносяться до системи. При цьому значно зростає роль стадій проекту, що передують його безпосередньої реалізації ».


У минулих статтях («КИ» / 18-20) ми розповіли про історію створення мови UML і його призначення. У даній статті розглянемо його застосування в життєвому циклі розробки програмних систем.


Реально процес розробки складається з декількох стадій. Причому ці стадії існують в будь-яких моделях життєвого циклу проектів, вони лише відрізняються назвами і угрупуванням дій.


Цілі стадії аналізу вимог полягають у тому, щоб зрозуміти процеси, які керують підприємством або системою, визначити область діяльності системи і вимоги користувача. Система розглядається з точки зору кінцевого користувача як «чорний ящик», складається уявлення, що система буде робити, не розглядаючи, як вона це буде робити.


На даній стадії за допомогою UML створюється модель прецедентів системи. Вона дозволяє виділити зовнішні системи, які контактують з системою, основні процеси та їх взаємозв'язок. Діаграми прецедентів дають можливість виділити функціональну структуру системи, не вдаючись в деталі її реалізації. Крім того, проводиться попереднє виділення об'єктів системи та їх класифікація. На підставі побудованої моделі складається план розробки системи.


Стадія системного проектування включає в себе рішення верхнього рівня щодо розробки системи в цілому. Тут виробляється розробка архітектури системи за допомогою діаграми розгортання. Вона дозволяє виділити обчислювальні ресурси, пристрої, що використовуються ними, і з'єднання між ними, спроектувати розміщення окремих процесів і виконуваних компонент на певних пристроях, що особливо важливо при проектуванні складних систем і інтернет-додатків.


За допомогою діаграми компонент проводиться поділ програмної системи на виконувані компоненти. На підставі побудованих діаграм проводиться вибір технології та засобів розробки.


Протягом стадії детального проектування повинні бути описані способи вирішення завдань, що виконуються системою. Ця стадія повністю описує функції, класи системи і графічний інтерфейс з користувачем.


На даній стадії розробляються діаграми класів, Включаючи відносини між класами та їх атрибутами, що дозволяє провести класифікацію об'єктів, що функціонують в системі. Застосовуючи діаграми поведінки (діаграми послідовності, діаграми взаємодії, діаграми станів і діаграми активності), Розробляється модель поведінки об'єктів в системі. Широкий набір засобів і методів дозволяють виділити ті сторони поведінки об'єктів, які найкращим чином відображають їх властивості.


За допомогою розробленої моделі поведінки встановлюються залежності між класами, проводиться поділ системи на модулі і виділення класів, що реалізуються в даних модулях для того, щоб можна було ефективно організувати розробку системи командою розробників.


При розробці систем, що використовують реляційні бази даних, на підставі діаграми класів створюється фізична модель бази даних для зберігання даних об'єктів постійних класів. Усі рішення, пов'язані з побудовою об'єктно-орієнтованої моделі програмної системи тут повинні бути завершені.


Протягом стадії реалізації, Моделі, створені на стадіях проектування системи, переводяться у вихідний код 3GL або 4GL мов програмування і розробляється база даних системи.


Засоби автоматичного кодогенераціі дозволяють перевести моделі мовою UML у вихідний код вибраної мови програмування. CASE-засоби, що підтримують UML (Rational Rose, Paradigm Plus, Select Enterprise, Microsoft Visual Modeler for Visual Basic та ін), дають можливість працювати з безліччю мов програмування, таких як C + +, Java, Delphi, Power Builder, Visual Basic, Centura, Forte, Ada, Smalltalk та інших, а також здійснювати генерацію бази даних на більшості з існуючих SQL-серверів. Моделі, розроблені в UML, дозволяють значно спростити процес кодування і направити зусилля програмістів безпосередньо на реалізацію системи.


На стадії тестування проводиться перевірка того, що система задовольняє всім вимогам і виробляє очікувані дії. За допомогою моделі легко розробляються сценарії тестування модулів та програми в цілому. Крім того, об'єктна модель системи дозволяє уникнути багатьох проблем несумісності окремих модулів програми, що значно зменшить кількість помилок в програмі і полегшить роботу на даній стадії.


На стадії впровадження завершується розробка поточної версії системи, установка її замовнику, здійснюється технічна підтримка та здійснюється навчання персоналу. Діаграми підвищують сопровождаемость проекту і полегшують розробку документації.


Оскільки реальні системи часто змінюються з плином часу, то і до програмної системі з'являються нові вимоги. У результаті система вимагає модифікації. Об'єктний підхід дозволяє легко включати в систему нові об'єкти і виключати застарілі без істотної зміни життєздатності системи. Використання побудованої моделі, при модифікації системи, дає можливість усунути небажані наслідки змін, оскільки вони не ламають усталеної структури системи, а тільки змінюють поведінку об'єктів.



Численні спостереження за життєдіяльністю систем будь-якого роду дозволяють зробити висновок, що дані системи на порядок більш стабільні ніж процеси, які відбуваються в системі. Тому, на відміну від структурних методологій, орієнтованих на функціональність системи, об'єктні технології, орієнтовані на дані, дозволяють програмним системам бути більш стійкими до змін. Крім того, така система найбільш відповідає загальним концепціям поведінки систем реального світу.


UML підтримує всі стадії життєвого циклу проекту, його застосування досить для повної підтримки розробки програми. Особливість UML в тому, що він оптимізований для застосування при розробці програмних систем, що дає можливість максимально прискорити розробку програмних продуктів і помітно поліпшити якість одержуваної системи.


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*