Редактор mp3 тегів

Курсова робота

З дисципліни «Графічне та геометричне моделювання та інтерактивні системи»

На тему «Редактор mp3 тегів»


Зміст



Вступ	3

Постановка задачі	4

Інформаційне забезпечення	5

Алгоритм розв’язання задачі	6

Діаграми класів	6

Програмне забезпечення	8

Висновки	10

Список використаної літератури	11

Додаток 1. Наочне зображення діаграми прецедентів	12

Додаток 2. діаграма послідовності з показаними на ній операціями.	13

Вступ



З розвитком науково-технічного прогресу практично у всіх сферах діяльності людини відбувається широке застосування інформаційних технологій, заснованих на використанні електронно-обчислювальних машин (ЕОМ). Сьогодення вже важко уявити без комп’ютерів, та іншої електронної техніки. Саме завдяки їм стала можливою швидка переробка величезних обсягів інформації, виконання різних видів робіт, пов’язаних з обробкою текстових та графічних файлів, організація передачі інформації, збереження її значних обсягів електронним способом. Стрімке впровадження комп’ютерів не тільки в сфері управління виробництвом, але також на транспорті, в банківській системі, системі освіти та інших галузях призвели до того, що десятки мільйонів людей у всьому світі виявились втягнутими у взаємодію людини з комп’ютером.

Багато людей у наш час слухають музику у цифрових форматах: мр3,ogg, wma…Але найросповсюдженим форматом є мр3. Файл мр3 містить теги які містять інформацію про пісню. За допомогою програми Tag Reader можливо продивитись, або змінити інформацію про саму пісню, виконавця, або альбом.

Постановка задачі



Програма Tag Reader призначена для створення, або редагування мр3 тегов. Файл мр3 містить теги ID3v1 та ID3v2 (першої, та другої версії). ID3v1 містить таку інформацію: виконавець треку, альбом, назву треку, рік Ії випуску, коментарі що до треку, та стиль музики, до якого належить ця пісня. 

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

Теги другої версії знаходяться на початку файлу, у першому рядку. ID3v2 містять таку інформацію: виконавець треку, альбом, назву треку, рік її випуску, коментарі що до треку (які не мають фіксованої довжини), яким конвертором був конвертований, та стиль музики, до якого належить ця пісня.

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

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

Потім була створена діаграма послідовностей, на основі якої було згенеровано діаграму співпраці.

У діаграмі компонентів класи були розбиті по компонентах. 

Інформаційне забезпечення



Вхідна інформація, тобто дані, що використовуються як вхідні для прийняття рішень системою:

	Звуковий файл в форматі mp3,(оскільки тільки в цьому форматі є підтримка тегів першої та другої версій);

Вихідна інформація, тобто данні що з’являються в результаті роботи системи:

	Теги першої версії (ID3v1);

	Теги другої версії (ID3v2);

	Безпосередньо сам звуковий файл;

Для вирішення поставленої задачі можуть бути використані засоби UML (Unified Modeling Language) – уніфікованої мови моделювання, яка була розроблена для специфікації, конструювання, відображення та документування складних програмних систем. На сьогоднішній день UML знаходить широке застосування в якості неофіційного стандарту при розробках у таких областях, як керування вимогами до інформаційних систем; моделювання бізнес-процесів; аналіз, проектування, кодування і тестування програмного забезпечення. UML може бути використаний не лише для уніфікації представлення даних щодо ІС, але і для їхньої інтеграції, спрямованої на підвищення адекватності багато-модельного дослідження складних систем. Опис інформаційних процесів використовуються для опису технології обробки даних в ІС. На основі описаної технології визначаються загрози інформації в ІС. 

У рамках розробленої методики при специфікації ІС використовуються наступні графічні діаграми UML: 

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

	Діаграма станів – дозволяє відобразити зміни станів окремого об'єкта чи суб’єкта ІС представляючи його у вигляді спеціального орієнтованого графа;

	Діаграма діяльності - використовуються для опису інформаційних процесів;

	Діаграма послідовності – служить для моделювання характеристик взаємодії передачі і прийому повідомлень між об'єктами ІС;

	Діаграма кооперації - призначена для специфікації структурних аспектів взаємодії;

	Діаграма компонентів – дозволяє відобразити залежності між суб’єктами програмного середовища ІС;

	Діаграма розгортання – містить інформацію щодо структури програмно-апаратних засобів ІС.

Сукупність вказаних діаграм відображає ієрархічну структуру ІС (вертикальні зв'язки). 

Для моделювання правил доступу пропонується використовувати діаграми діяльностей (activity diagram) і діаграми класів (class diagram). Діаграми діяльностей можуть забезпечити моделювання алгоритмів роботи компонентів ІС, діаграми класів - моделювання структури системи. 

На сьогодні для UML-моделювання існує широкий вибір програмних засобів. Найбільше розповсюдженими пакетами програм є Rational Rose, Visual UML, BPwin, Silverrun, Process Analyst, Together, System Architect, Objecteering та інші. Для побудови UML-діаграм можна використовувати Microsoft Visio. Оскільки UML призначений для об’єктно-орієнтованого проектування систем, окремі програмні продукти забезпечують розробку структури програми включаючи засоби захисту інформації. Зокрема Rational Rose забезпечує комплексність підходу і інтеграцію з MS Visual Studio на рівні прямої й оберненої генерації кодів, інжиніринг і реінжиніринг модулів і бібліотек форматів EXE, DLL, TLB, OCX, підтримку CORBA, IDL, ADO, Java.

Алгоритм розв’язання задачі



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

Наглядне зображення подано у головній діаграмі прецедентів в додатку 1.

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

Кожна така діаграма, як її звичайно називають - Use case - це опис сценарію поводження, у якому впливають діючі обличчя (Actors).

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

Додаткові прецеденти уточнюють окремі частини з метою опису послідовності дій у разі різних варіантів вибору операцій користувачем або ж виникненні тих чи інших помилок. Опис цих прецедентів надано в додатковій документації моделі проекту, створеної засобами Rational Rose. 



Діаграми класів

Діаграма класів (class diagram) Служить для представлення статичної структури моделі системи в термінології класів об’єктно-орієнтованого програмування. Діаграма класів може відбивати, зокрема, різні взаємозв’язки між окремими сутностями предметної області, такими, як об’єкти і підсистеми, а також описує їхню внутрішню структуру і типи відносин. На даній діаграмі не вказується інформація про тимчасові аспекти функціонування системи. З цьої точки зору діаграма класів є подальшим розвитком концептуальної моделі проектованої системи.

Цей тип діаграм дозволяє створювати логічне представлення системи, на основі якого створюється вихідний код описаних класів.

До діаграми класів типу entities увійшли два класи – це FileInfo та TagContent, в яких чітко описані операції та атрибути класів.

Клас FileInfo містить такі атрибути

	ID3v1 : String

	ID3v2 : String

Над цими атрибутами можна виконувати такі операції

	Copy to ID3 v1

	Copy from ID3 v1

	Create New Tag

	Enable/Disable ID3 v1 tag

	Enable/Disable ID3 v2 tag

До діаграми класів типу controls увійшов клас ControlButtons. Він містить такі атрибути:

	Play

	Pause

	Stop

	Open

Значки діаграми дозволяють відображати складну ієрархію систем, взаємозв'язку класів (Classes) і інтерфейсів (Іnterfaces). Ratіonal Rose дозволяє створювати класи за допомогою даного типу діаграм у різних нотаціях. схожого на хмару. І звичайно ж, Ratіonal Rose дозволяє створювати діаграму класів в уніфікованій нотації. 

Систему можна розділити на два логічних блоки, кожен з яких буде реалізовано певним набором класів. 

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

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

В додатку 2 приведена діаграма послідовності з показаними на ній операціями.

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

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

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

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

Програмне забезпечення



Моделювання даних є найважливішим процесом при проектуванні програмного забезпечення (ПО). Будучи визнаним лідером в області об'єктних методологій, фірма Ratіonal Software Corporatіon, орієнтувалась на мову Unіfіed Modelіng Language (UML), як на універсальний інструмент моделювання. UML цілком покриває потреби моделювання даних. Сформована протягом  десятиліть технологія моделювання даних, традиції, система понять і колосальний досвід розроблювачів не могли далі ігноруватися. Немаловажну роль тут зіграла і необхідність формального контролю моделей даних, що є абсолютно необхідним при проектуванні великих схем баз даних  що UML не забезпечує в достатньому ступені. І, нарешті, останньою причиною, що спонукала фахівців Ratіonal Software Corporatіon до створення власного засобу моделювання даних, є вимога побудови ефективних фізичних моделей, насамперед  для конкретних СУБД - лідерів ринку. 

Важливими особливостями Ratіonal Rose являються:

Підтримка генерації коду і зворотне проектування (тобто побудова моделі по програмному коду) відразу для декількох мов, включаючи:

	Vіsual Basіc,

	C++,

	Java,

	PowerBuіlder,

	CORBA Іnterface Defіnіtіon Language(ІDL),

	Data Defіnіtіon Language для більшості СУБД,

	ERwіn моделі. 

2. Підтримка візуального об’єктно-орієнтованого моделювання, цілком сумісне з UML (Unіfіed Modelіng Language), що з 1997 року визначений як стандарт мови для цієї швидко розвивається області інструментальних засобів.

3. Має широкі перспективи розвитку, у тому числі за рахунок появи додаткових продуктів-"переходников" (Lіnks), тісно інтегрованих з Ratіonal Rose і створюваних численними незалежними розроблювачами інструментальних засобів у рамках програми Ratіonal Rose Lіnk Partner Program.

4. Орієнтований на розроблювачів архітектури інформаційних систем (ІС), менеджерів ІС і програмістів.

Висновки



У ході курсової роботи були вивчені деякі аспекти структури мр3 файлу, структура розміщення тегів ID3v1 та ID3v2 (першої, та другої версії).

При оформленні курсової роботи були отримані навички оформлення програмної документації відповідно до Єдиної Системи Програмної Документації, а також практичний досвід роботи з мультимедією в Windows.

З точки зору розробників в майбутньому найдоцільніше вдосконалити програму таким чином:

	призначення „гарячих клавіш”;

	можливість більш детальної настройки елементів програми;

	відтворення файлу, який був завантажений для редагування;

Мову UML було обрано тому, що уже зараз вона знаходить широке застосування як офіційний стандарт у процесі розробки програмних систем, зв'язаних з такими областями, як моделювання бізнесу, керування вимогами, аналіз і проектування, програмування і тестування. Стосовно до цих процесів у мові UML уніфіковані стандартні позначення основних елементів відповідних предметних областей. 

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

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

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

Над курсовим проектом працювали:

Гончаров Олександр (П-01-51) та Дорошенко Сергій (П-01-51)– розробили алгоритм та діаграми проекту, тестували програму, оформляли пояснювальну записку.

Список використаної літератури



			Головатий О.О. Методичні вказівки до оформлення пояснювальних записок із дипломних робіт, літньої практики, курсових робіт та рефератів для студентів спеціальностей “Програмне забезпечення автоматизованих систем” та “Економічна кібернетика”. Жовті Води, ІП “Стратегія”, 2005.

			Язык UML. Руководство пользователю / Грейди Буч, Джеймс Рамбо, Айвар Джекобсон. 2-е изд., Питер 2004.

			http://www.rational.com.

Додаток 1. Наочне зображення діаграми прецедентів




Додаток 2. Діаграма послідовності з показаними на ній операціями. 



2