3
Курсова робота
З дисципліни «Графічне та геометричне моделювання та інтерактивні системи»
На тему «Редактор mp3 тегів»
Зміст
Багато людей у наш час слухають музику у цифрових форматах: мр3,ogg, wma…Але найросповсюдженим форматом є мр3. Файл мр3 містить теги які містять інформацію про пісню. За допомогою програми Tag Reader можливо продивитись, або змінити інформацію про саму пісню, виконавця, або альбом.
Теги другої версії знаходяться на початку файлу, у першому рядку. 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.
Діаграми класів
Діаграма класів (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 використовуються відповідні діаграми взаємодії. Говорячи про ці діаграми, мають на увазі два аспекти взаємодії. По-перше, взаємодії обєктів можна розглядати у часі, і тоді для представлення тимчасових особливостей передачі і прийому повідомлень між обєктами використовується діаграма послідовності.
· 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. Орієнтований на розроблювачів архітектури інформаційних систем (ІС), менеджерів ІС і програмістів.
· призначення „гарячих клавіш”;
· можливість більш детальної настройки елементів програми;
· відтворення файлу, який був завантажений для редагування;
Мову UML було обрано тому, що уже зараз вона знаходить широке застосування як офіційний стандарт у процесі розробки програмних систем, звязаних з такими областями, як моделювання бізнесу, керування вимогами, аналіз і проектування, програмування і тестування. Стосовно до цих процесів у мові UML уніфіковані стандартні позначення основних елементів відповідних предметних областей.
Слід також зазначити, що розвиток мови UML на основі включення в його нотацію додаткових елементів і стереотипів стимулює розробку відповідних інструментальних CASE-засобів. Можна з упевненістю припустити, що ця область розвитку інформаційних технологій має найширші перспективи і стратегічне значення не тільки як мову спілкування між замовниками і розроблювачами програмних систем, але і для документування проектів у цілому. При цьому досягається необхідний рівень стандартизації й уніфікації усіх використовуваних для цієї мети позначень.
Розробивши модель і специфікувававши її мовою UML, розробник має всі підстави бути зрозумілим і по достоїнству оціненим своїми колегами. При цьому можуть бути виключені ситуації, коли той чи інший розробник застосовує свою власну графічну нотацію для представлення тих чи інших аспектів моделі, що практично виключає її розуміння іншими фахівцями у випадку нетривіальності вихідної моделі.
Наступна розробка моделі системи, спрямована на рішення визначених проблем, може зажадати залучення знань з різних дисциплін. З цього погляду мова UML може бути використаний не тільки для уніфікації представлень цих знань, але що не менш важливо - для їхньої інтеграції, спрямованої на підвищення адекватності багато-модельних представлень складних систем.
Над курсовим проектом працювали:
Гончаров Олександр (П-01-51) та Дорошенко Сергій (П-01-51)- розробили алгоритм та діаграми проекту, тестували програму, оформляли пояснювальну записку.
Головатий О.О. Методичні вказівки до оформлення пояснювальних записок із дипломних робіт, літньої практики, курсових робіт та рефератів для студентів спеціальностей “Програмне забезпечення автоматизованих систем” та “Економічна кібернетика”. Жовті Води, ІП “Стратегія”, 2005.
Язык UML. Руководство пользователю / Грейди Буч, Джеймс Рамбо, Айвар Джекобсон. 2-е изд., Питер 2004.
http://www.rational.com.
Додаток 2. Діаграма послідовності з показаними на ній операціями.
! | Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ. |
! | Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу. |
! | Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться. |
! | План курсовой работы Нумерованным списком описывается порядок и структура будующей работы. |
! | Введение курсовой работы Что пишется в введении, какой объем вводной части? |
! | Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать. |
! | Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа. |
! | Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема. |
! | Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом. |
! | Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ. |
→ | Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия. |
→ | Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта. |
→ | Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты. |
→ | Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести. |
→ | Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя. |
→ | Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика. |
Курсовая работа | Деятельность Движения Харе Кришна в свете трансформационных процессов современности |
Курсовая работа | Маркетинговая деятельность предприятия (на примере ООО СФ "Контакт Плюс") |
Курсовая работа | Политический маркетинг |
Курсовая работа | Создание и внедрение мембранного аппарата |
Курсовая работа | Социальные услуги |
Курсовая работа | Педагогические условия нравственного воспитания младших школьников |
Курсовая работа | Деятельность социального педагога по решению проблемы злоупотребления алкоголем среди школьников |
Курсовая работа | Карибский кризис |
Курсовая работа | Сахарный диабет |
Курсовая работа | Разработка оптимизированных систем аспирации процессов переработки и дробления руд в цехе среднего и мелкого дробления Стойленского ГОКа |