Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kr_cherevatov_2pi-12.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.8 Mб
Скачать

Міністерство освіти і науки, молоді та спорту України

Вінницький національний технічний університет

Інститут інформаційних технологій та комп’ютерної інженерії

ЗАТВЕРДЖУЮ

Зав. кафедри ПЗ, проф., д.т.н.

______________ А.М. Пєтух

(підпис)

”14” січня   2013 р.

ІНДИВІДУАЛЬНЕ ЗАВДАННЯ

на курсову роботу з дисципліни ”Об'єктно орієнтоване програмування”

студенту групи 1ПІ-12б Череватову В.В.

РОЗРОБКА ПРОГРАМНОЇ СИСТЕМИ ДЛЯ МОДЕЛЮВАННЯ ОБ’ЄКТІВ ” ДЕПУТАТИ, ВЕРХОВНА РАДА, МІТИНГ” З ВИКОРИСТАННЯМ UML ТА МОВИ ПРОГРАМУВАННЯ С++

Вихідні дані:

- MS Visual Studio 2010, довідники з мов С++ та WinAPI.

Вимоги до курсової роботи:

Потрібно створити Windows API-додаток, який реалізує: класи мікро та двох макрооб’єктів різних класів згідно варіанту курсової. Клас мікрооб’єкту повинен містити не менше 4 елементів змінних і не менше 4 методів. Як мінімум одна змінна повинна бути типу int, одна – типу double і як мінімум одна – рядок (будь якої реалізації); В класі повинен бути присутній конструктор та деструктор; В класі повинен бути також присутній як мінімум один елемент, що створений динамічно. Це може бути массив, структура, інший об’єкт або навіть одна змінна. Повинен бути присутній код, що створює цей елемент – наприклад у конструкторі, та код, який знищує цей елемент – найкраще всього у деструкторі. Повинно бути реалізоване глибинне копіювання шляхом перевантаження копіюючого конструктора та оператора =; три випадки виклику копіюючого конструктора; використання перевантаженого оператора =. Продемонструвати перевантаження та використання унарного та бінарного операторів (окрім = та <<). Продемонструвати перевантаження і використання оператора <<. Повинно також бути продемонстровано створення об’єкту статично та динамічно; додано у клас одну статичну змінну та одну статичну функцію – та продемонстровано їх використання. Повинно також бути продемонстровано використання наступних механізмів мови С++: friend-функцій, ініціалізатор конструктора, оператор ::, this, типів доступу public, private, protected. Зображення мікрооб’єкту повинно складатись не менше чим з трьох графічних примітивів, при цьому один з них повинен бути текст. Повинно також бути продемонстровано створення динамічного масиву мікрооб'єктів та відображення його у вікні програми. При натискуванні правої кнопки миші на мікрооб’єкті він повинен ставати активним/неактивним. При натискувань клавіш-стрілок активні об’єкти повинні рухатись у вікні програми. Повина бути реалізована можливість додавати мікрооб’єкти шляхом натискування клавіши Insert. При цьому повинне з’являтись діалогове вікно, яке повинно визначати параметри створюваного мікрооб’єкта, зокрема до якого з класів нащадків у ієрархії наслідування він належить. Крім керуючого елемента Button у діалоговому вікні також повинні бути використані як мінімум два з наступного списку: TextBox, CheckBox, ListBox, RadioButton. При натискувань клавіши Delete активні об’єкти повинні знищуватись. Якщо активного об’єкта нема – клавіша Delete ігнорується. Клавіша Esc повинна відміняти активацію обєкта. Повинно бути реалізовано наслідування мікрооб’єктів – як мінімум три рівня наслідування. Зображення об'єктів класів нащадків повинно відрізнятись від зображень об’єктів базових класів. Функцію Draw слід зробити віртуальною. Крім функції Draw в класах мікрооб'єктв повинна бути присутня ще як мінімум одна віртуальна функція. Зображення кожного з макрооб’єктів може складатись з графічних примітивів: точка, лінія, прямокутник, коло, арка, полігон, текст, графічний образ. Зображення кожного макрооб’єкту повинно складатись не менше чим з трьох елементів, при цьому один з елементів повинен бути текст. Додати класи макрооб’єктів і команди створення самих макрооб’єктів і команди їх рисування в програму. В програмі повинен бути як мінімум один макрооб’єкт кожного з двох класів макрооб'єктів. При цьому мікрооб'єкти повинні чітко розділитись на тих, які належать до макрооб’єктів і тих, які їм не належать (найбільш наглядно цен зобразити геометрично – ті що належать знаходяться всередині макрооб’єкта, ті що не належать - ззовні). Рух мікрооб’єкта всередині макрооб’єкта – не обов’язковий. Повинна бути реалізована можливість рухати якимись чином макрооб’єкт (разом з всіма мікрооб'єктами, які йому належать). Повинна бути реалізована можливість включати виділені/виділений мікрооб’єкти/мікрооб’єкт в макроб’єкт та – навпаки – виключати виділені/виділений мікрооб’єкти/мікрооб’єкт з макроб’єкту. Можливість виділення декількох мікроб’єктів не є обов’язковою. В програмі повинно бути продеморнстровано використання поліморфізму; віртуального деструктора; динамічного приведення типу dynamic_cast<>. Мікроб’єкти повинні бути як мінімум у трьох станах: А) Належать макрооб’єкту першого типу; Б) Належать макрооб’єкту другого типу; В) Не належать жодному макрооб’єкту. Не забороняється мікроооб’єкту одночасно належати декільком макрооб’єктам одночасно. Повинен бути реалізований автоматичний рух деяких мікрооб’єктів зі зміною стану (див. А) Б) В) ). По натискуванню клавіши миші/клавіши на клавіатурі/команді меню характер руху повинен змінюватись. Повинна бути запрограмована серіалізація/де-серіалізація всіх об’єктів у файл, яка обов’язково повинна зберігати не тільки власне інформацію про стан макро- та мікро-об’єктів, але й про їх позицію на екрані. При серіалізації/де-серіалізації обов’язково повинні використовуватись діалогові вікна, щоб запитати у користувача ім’я файлу (функції GetOpenFileName та GetSaveFileName). У проекті повинні запрограмовані такі відносини між класами та об'єктами, які можуть бути наглядно проілюстровані на діаграмах агрегації, композиції, асоціації, використання, взаємодії, послідовності та стану.

Зміст ПЗ до курсової роботи

Індивідуальне завдання

АНОТАЦІЯ

ВСТУП

1 АНАЛІЗ СУЧАСНОГО СТАНУ ПИТАННЯ ТА ОБҐРУНТУВАННЯ ЗАВДАННЯ НА РОБОТУ

2 РОЗРОБКА ІНТЕРФЕЙСУ ПРОГРАМИ ТА ПРИКЛАДІВ ВИКОРИСТАННЯ

3 РОЗРОБКА ДІАГРАМ КЛАСІВ, ОБ’ЄКТІВ ТА СТАНУ

4 РОЗРОБКА ПІДСИСТЕМИ ГРАФІЧНОГО ВІДОБРАЖЕННЯ

5 ВИКОРИСТАННЯ ЗАСОБІВ ПРОГРАМУВАННЯ WINAPI

6 РОЗРОБКА ПІДСИСТЕМИ СЕРІАЛІЗАЦІЇ/ДЕСЕРІАЛІЗАЦІЇ ДАНИХ

7 КЕРІВНИЦТВО КОРИСТУВАЧА

ВИСНОВКИ

ПЕРЕЛІК ПОСИЛАНЬ

Додатки (за необхідністю)

Дата видачі ”14” січня 2013 р. Керівник _________________

(підпис)

Завдання отримав _________

(підпис)

АНОТАЦІЯ

Дана курсова робота присвячена розробці програмної системи для моделювання об’єктів ”депутати, Верховна Рада та мітинг ” з використанням UML та мови програмування C++ та об’єктно-орієнтованих принципів. Програма включає в себе роботу з файлами, класами, обробку числової інформації і роботу з графікою. В ході роботи було створено програмну оболонку поставленої задачі і розроблено методи симуляції поведінки тарганів. В результаті виконання курсової роботи отримано програмний засіб, працездатність і правильність роботи якого перевірено, підготовлена інструкція користувача.

ЗМІСТ

ВСТУП 5

1 АНАЛІЗ СУЧАСНОГО СТАНУ ПИТАННЯ ТА ОБҐРУНТУВАННЯ ЗАВДАННЯ НА РОБОТУ 8

1.1 Предметна область 8

1.2 Існуючи реалізації 9

1.3 Розробка технічного завдання на роботу 10

1.4 Обґрунтування вибору мови програмування 11

1.5 Висновки 12

2 РОЗРОБКА ІНТЕРФЕЙСУ ПРОГРАМИ ТА ПРИКЛАДІВ ВИКОРИСТАННЯ 13

2.1 Розробка інтерфейсу програми 13

2.2 Приклади використання 14

3 РОЗРОБКА ДІАГРАМ КЛАСІВ, ОБ’ЄКТІВ ТА СТАНУ 17

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

3.1.1 Діаграми наслідування 17

3.1.2 Діаграми агрегації 18

3.1.3 Діаграми композиції 18

3.1.4 Діаграми асоціації 19

3.2 Діаграми кооперації 19

3.3. Діаграми послідовності 20

3.4 Діаграми стану 20

4 РОЗРОБКА ПІДСИСТЕМИ ГРАФІЧНОГО ВІДОБРАЖЕННЯ 21

4.1 Модель графічного відображення 21

4.2 Графічні процедури - підсистеми графічного відображення 22

5 ВИКОРИСТАННЯ ЗАСОБІВ ПРОГРАМУВАННЯ WINAPI 23

6 РОЗРОБКА ПІДСИСТЕМИ СЕРІАЛІЗАЦІЇ/ДЕСЕРІАЛІЗАЦІЇ ДАНИХ 25

6.1 Розробка формату файлу 25

6.2 Механізми введення виведення мови С++/Сі 26

7 КЕРІВНИЦТВО КОРИСТУВАЧА 27

7.1 Функціональні клавіші 27

ВИСНОВКИ 30

ПЕРЕЛІК ПОСИЛАНЬ 31

ВСТУП

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

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

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

Традиції українського парламентаризму сягають давньоруського віча — всенародних зборів середньовічної громади чи міста. У 15 столітті, у литовсько-польську добу, на українських землях з'явилася практика проведення зібрань шляхти — сеймів. Сейми мали декілька рівнів — від земського до загальнонаціонального Вального сейму. У 16 столітті, під впливом традицій шляхетського сейму та елементів староруського віча, в Україні оформилася традиція проведення козацьких рад. До початку 17 століття у Війську Запорозькому загальновійськова рада була головним органом влади серед козаків. Поряд з нею існували старшинська рада, в проведенні якої брала лише козацька верхівка, а також чорна рада, до участі якої окрім козаків залучали чернь — простолюдинів. Після розколу Війська Запорозького на городове і низове, загальновійськова рада продовжувала бути головною в останньому. Натомість городові козаки, зазвичай, вирішували основні питання на старшинській або чорній радах. У 18 столітті чорні ради не проводилися. Традиції шляхетського і козацького парламентаризму знайшли своє продовження у дворянських зборах різних рівнів в Російській імперії, а також козацьких радах на Кубані.

Першим попередником Верховної Ради України була Центральна Рада Української Народної Республіки, утворена 17 березня 1917 року. Вона розпочала розбудову української державності шляхом видання Універсалів. Найвагомішим став IV Універсал, ухвалений 22 січня 1918 року, який проголосив одним із важливих завдань створення Конституції України. На останньому засіданні Центральної Ради 29 квітня 1918 року було ухвалено проект Конституції Української Народної Республіки — «Статут про державний устрій, права і вольності УНР».

Другим попередником Верховної Ради України можна вважати З'їзд хліборобів-землевласників за участю 8000 делегатів, який відбувся в Києві 29 квітня 1918 і проголосив гетьманом України Павла Скоропадського. Цього ж дня було оголошено «Закони про тимчасовий державний устрій України», що мали слугувати за Конституцію держави до скликання Сойму. Однак Сойм так і не було скликано. За цією тимчасовою Конституцією влада в Україні належала Гетьману, який призначав Отамана Ради Міністрів, а той подавав Гетьману свій Кабінет на затвердження.

Безпосереднім конституційним попередником Верховної Ради України була Верховна Рада Української радянської соціалістичної республіки. Перший український радянський парламент було скликано 1938 року. Він заступив Всеукраїнський центральний виконавчий комітет — найвищий законодавчий орган Радянської України 1917 року, що виступав головним опонентом Української Центральної Ради в українсько-радянській війні 1917—1921 років.

Верховна Рада УРСР обралася громадянами республіки на основі загального, рівного і прямого права. Проте самі вибори жорстко контролювалися Комуністичною партією України. За всю історію Рада скликалася 11 разів. Кількість депутатів становила 650 осіб, а після 1989 року була скорочена до 450. Термін повноважень був 4 роки. Від 60% до 70% складу парламенту становили комуністи.

Останні вибори до Верховної Ради УРСР в умовах існування Радянського Союзу відбулися 1990 року. Після прийняття Акту проголошення незалежності України перетворилася на Верховну Раду України.

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

  1. Аналіз сучасного стану питання та обґрунтування завдання на роботу

1.1 Предметна область

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

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

Об'єктивна сторона зловживання владою або службовим становищем (ч. 1 ст. 364 КК) має три обов'язкові ознаки: 1) діяння - використання службовою особою влади чи службового становища всупереч інтересам служби, яке полягає у певних діях чи бездіяльності суб'єкта; 2) наслідки у вигляді істотної шкоди охоронюваним законом правам, свободам та інтересам окремих громадян або державним чи громадським інтересам, або інтересам юридичних осіб; 3) причиновий зв'язок між діянням і наслідками

Суб'єкт злочину - спеціальний (службова особа). Згідно з п. 1 примітки до ст. 364 КК службовими особами є особи, які постійно чи тимчасово здійснюють функції представників влади, а також обіймають постійно чи тимчасово на підприємствах, в установах чи організаціях незалежно від форми власності посади, пов'язані з виконанням організаційно-розпорядчих чи адміністративно-господарських обов'язків, або виконують такі обов'язки за спеціальним повноваженням.

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

Обвинувачення у перевищенні влади або службових повноважень було висунуто ряду політичних або громадських діячів: Юрій Луценко, Леонід Кучма, Євген Корнійчук, Юлія Тимошенко.

Після засудження Юлії Тимошенко почалися розмови про можливу декриміналізацію вказаної статті кримінального кодексу. У багатьох публікаціях ЗМІ 365 статтю стали навіть називати «статтею Тимошенко». Але в листопаді 2011 Верховна Рада відмовилася це зробити. В грудні 2011 це питання навіть не внесли до порядку денного. В січні 2012 ПАРЄ у резолюції закликала Україну внести зміни до статтей 364, 365 Кримінального кодексу та привести їх у відповідність до стандартів Ради Європи. Але 8 лютого Верховна Рада проігнорувала резолюцію і відмовилася внести відповідні зміни до Кримінального кодексу України, що викликало розчарування Європейського союзу.

1.2 Існуючи реалізації

На сьогодні існує безліч програм розрахунку заробітної плати. Одна з них Iceb ˗ програма, яка виконує всі види розрахунків необхідні для формування нарахувань і утримань кожного працівника.

За результатами розрахунку можна одержати:

    1. відомість отримання зарплати;

    2. роздруківку нарахувань і утримань за категоріями працівників;

    3. список працівників;

    4. довідки про зарплату будь-якого період;

    5. реєстр поштових переказів для аліментів;

    6. відомість виробничих витрат;

    7. звіт нарахувань і утримань за рахунками;

    8. звіт відпрацьованого часу за категоріями;

    9. звіт нарахувань і утримань за прізвищем;

Дана програма не реалізує порівняння коштів заробітної плати з витраченими на купівлю майна.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]