- •1 Аналіз проблемної галузі та постановка задачі
- •1.1 Дискретна математика та її історія
- •1.2 Комбінаторика
- •1.3 Програмні засоби для розрахунків
- •2 Перелік вимог до програмної системи
- •3 Опис прийнятих проектних рішень
- •3.1 Середовище та мова програмування
- •3.2 Прийняті проектні рішення
- •4.1 Опис інтерфейсу
- •4.2 Правила експлуатації
- •4 Опис розробленої програмної сисеми
- •Висновки
2 Перелік вимог до програмної системи
Виходячи з поставлених завдань, проаналізувавши попередні програми та літературу стосовно даної теми курсової проекту, можна сформувати вимоги до програмного проекту.
В наш час всі програми повинні не тільки безпомилково й ефективно вести розрахунки та виконувати різні операції, але й має бути зручний та красивий інтерфейс. Порівняно з минулим, коли у програмах були квадратні кнопки, сьогодні ж для найпростішої програми вже висуваються деякі вимоги до графічної системи комп’ютера. Тому при створенні програми повинна приділятися деяка увага і до її інтерфейсу.
Створювана програмна система має виконувати ряд функціональних, системних та програмних вимог.
Функціональні вимоги:
Програма повинна вміти працювати з комбінаторними задачами:
вираховування математичних виразів – це найголовніша функція, яку повинна виконувати програма. Повинна виконуватися сукупність арифметичних операцій з вхідними даними, які в результаті зводяться до однієї відповіді;
функція вибору формули – має бути можливість обрати необхідний математичний вираз, по якому будуть йти розрахунки;
функція відображення обраної формули – на екрані має відображатись обрана повна математична формула, по якій ведуться обрахунки. Дана можливість необхідна для зручності, та запобігає невірному вибору формули;
функція введення вхідних даних – повинна бути можливість для занесення у програму початкових даних;
функція виведення результату розрахунків – результат розрахунків повинен відображатися у зрозумілому текстовому вигляді;
Оскільки програма виконує нескладні розрахунки то для її роботи знадобиться відповідно мало ресурсів, а тому вона зможе без проблем працювати практично на будь-якій системі. Але обов’язково потрібна наявність встановленого середовища Microsoft .Net Framework версії 3.5 або вище, без нього програма працювати не буде. Системні вимоги до програми наведені в таблиці 2.1.
Таблиця 2.1 – Системні вимоги до створюваної програми
Параметр |
Характеристика |
Процесор |
233 МГц |
Оперативна пам'ять |
64 Мб |
Жорсткий диск |
1 Мб вільного місця |
Відеоадаптер |
Super VGA (800х600) |
Пристрої взаємодії з користувачем |
Клавіатура та миша |
Операційна система |
Microsoft Windows XP, Vista, 7 |
Додаткове програмне забезпечення |
Microsoft .Net Framework 3.5 |
Головними програмними вимогами є виконання всіх висунутих до неї функціональних вимог. А також зручність в користуванні та зрозумілість інтерфейсу. Програма не повинна містити зайвих, непотрібних елементів чи функцій які будуть заважати користуватися нею. Для максимальної зручності користування вона повинна мати невеликі, оптимальні розміри та зручне розміщення її елементів.
3 Опис прийнятих проектних рішень
3.1 Середовище та мова програмування
Програма для розв’язання задач з комбінаторики повинна створюватись на мові програмування C#. Середовище програмування – Microsoft Visual Studio.
Microsoft Visual Studio – серія продуктів фірми Майкрософт, які включають інтегроване середовище розробки програмного забезпечення та ряд інших інструментальних засобів. Ці продукти дозволяють розробляти як консольні програми, так і програми з графічним інтерфейсом, в тому числі з підтримкою технології Windows Forms, а також веб-сайти, веб-додатки, веб-служби як в рідному, так і в керованому кодах для всіх платформ, що підтримуються Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework та Microsoft Silverlight(табл. 3.1).
Таблиця 3.1 – Характеристики середовища програмування Visual Studio
Параметр |
Характеристика |
||
1 |
2 |
||
Розробник |
|
||
Стабільний випуск |
2012 (11.0.507.1) |
||
Написано на мові |
C++ |
||
Операційна система |
Microsoft Windows |
||
Доступні мови |
англійська, китайська, іспанська, італійська, корейська, німецька, російська, французька |
||
Тип |
інтегроване середовище розробки |
Продовження таблиці 3.1
1 |
2 |
||
Сайт виробника |
|
||
Ліцензія |
|
Visual Studio включає в себе редактор вихідного коду з підтримкою технології IntelliSense та можливістю простого рефакторингу коду. Вбудований відладчик може працювати як відладчик рівня вихідного коду, так само як і відладчик машинного рівня. Інші вбудовані інструменти включають в себе редактор форм для спрощення створення графічного інтерфейсу програми, веб-редактор, дизайнер класів та дизайнер схеми бази даних. Visual Studio дозволяє створювати та підключати сторонні доповнення (плагіни) для розширення функціональності практично на кожному рівні, включаючи додавання підтримки систем контролю версій вихідного коду (як наприклад, Subversion та Visual Source Safe), додавання нових наборів інструментів (наприклад, для редагування та візуального проектування коду на об’єктно орієнтованих мовах програмування або інструментів для інших аспектів процесу розробки програмного забезпечення)(рис. 3.1)[6].
Системні вимоги до середовища наведені в таблиці 3.2.
Рисунок 3.1 – Вікно середовища програмування Visual Studio
Таблиця 3.2 – Системні вимоги до Visual Studio
Параметр |
Характеристика |
Процесор |
1,6 ГГц |
ОЗП |
512 Мб |
Дисплей |
1024х768 |
Жорсткий диск |
900 Мб |
Операційна система |
Windows XP, Server 2003, Vista, Seven |
Visual Studio включає один або декілька з наступних компонентів:
Visual Basic .NET, а до його появи – Visual Basic;
Visual C++;
Visual C#;
Visual J#;
Visual F# (входить до складу Visual Studio 2010);
Visual Studio Debugger;
Багато варіантів постачання також включають:
Microsoft SQL Server;
MSDE Visual Source Safe – файл-серверна система управління версіями.
У минулому, до складу Visual Studio також входили продукти:
Visual InterDev;
Visual J++;
Visual J#;
Visual FoxPro;
Visual Source Safe – файл-серверна система управління версіями.
Visual Studio побудована в архітектурі, що підтримує можливість використання доповнень (Add-Ins), – плагінів від сторонніх розробників, що дозволяє розширювати можливості середовища розробки.
Деякі з найпопулярніших доповнень:
DevPartner Studio;
Visual Assist;
ReSharper;
IncrediBuild;
Viva64.
Середовище дозволяє створювати програми на таких мовах програмування як Basic, C++, C#, F#, J++, J#[6].
C# – об’єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. Розроблена в 1998–2001 роках групою інженерів під керівництвом Андерса Хейлсберга в компанії Microsoft як мова розробки додатків для платформи Microsoft .Net Framework та згодом була стандартизована як ECMA-334 та ISO/IEC 23270.
Об'єктно-орієнтоване програмування (ООП) – одна з парадигм програмування, яка розглядає програму як множину «об'єктів», що взаємодіють між собою. Одною з переваг ООП є краща модульність програмного забезпечення (тисячу функцій процедурної мови, в ООП можна замінити кількома десятками класів із своїми методами).
C# відноситься до родини мов з С-подібним синтаксисом, з них її синтаксис найбільш близький до С++ та Java. Мова має статичну типізацію, підтримує поліморфізм, перегрузку операторів, делегати, атрибути, події, властивості, узагальнені типи та методи, ітератори, анонімні функції з підтримкою замкнень, LINQ, винятки, коментарі в форматі XML.
Перейнявши багато від своїх попередників – мов С++, Delphi, Модула, Smalltalk та в особливості Java – C#, опираючись на практику їх використання, виключає деякі моделі, відрекомендувавши себе як проблемні при розробці програмних систем, наприклад, C# на відміну від С++ не підтримує множинне наслідування класів (але допускається множинне наслідування інтерфейсів).
C# є дуже близьким родичем мови програмування Java. Мова Java була створена компанією Sun Microsystems, коли глобальний розвиток інтернету поставив задачу роззосереджених обчислень. Java набула чималої популярності, і була ліцензована також і компанією Microsoft. Але з плином часу Sun почала винуватити Microsoft, що та при створенні свого клону Java робить її сумісною виключно з платформою Windows, чим суперечить самій концепції машинно-незалежного середовища виконання і порушує ліцензійну угоду. Microsoft відмовилася піти назустріч вимогам Sun, і тому з'ясування стосунків набуло статусу судового процесу. Суд визнав позицію Sun справедливою, і зобов'язав Microsoft відмовитися від позаліцензійного використання Java.
У цій ситуації в Microsoft вирішили, користуючись своєю вагою на ринку, створити свій власний аналог Java, мови, в якій корпорація стане повновладним господарем. Ця новостворена мова отримала назву C#. Вона успадкувала від Java концепції віртуальної машини, байт-коду і більшої безпеки вихідного коду програм, плюс врахувала досвід використання програм на Java.
Нововведенням C# стала можливість легшої взаємодії, порівняно з мовами-попередниками, з кодом програм, написаних на інших мовах, що є важливим при створенні великих проектів. Якщо програми на різних мовах виконуються на платформі .NET, .NET бере на себе клопіт щодо сумісності програм (тобто типів даних, за кінцевим рахунком).
Станом на сьогодні C# визначено флагманською мовою корпорації Microsoft, бо вона найповніше використовує нові можливості .NET. Решта мов програмування, хоч і підтримуються, але визнані такими, що мають спадкові прогалини щодо використання .NET.
Як говорилося вище, програми написані на мові C# працюють на платформі .Net Framework. Платформа .Net Framework – це інтегрований компонент Windows, котрий підтримує створення та виконання нового покоління додатків і веб-служб XML.
Як і технологія Java, середовище розробки .NET створює байт-код, призначений для виконання віртуальною машиною. Вхідна мова цієї машини в .NET називається CIL (Common Intermediate Language), також відома як MSIL (Microsoft Intermediate Language), або просто IL. Застосування байт-кода дозволяє отримати крос-платформовість на рівні скомпільованого проекту, а не на рівні сирцевого тексту, як, наприклад, в С. Перед запуском збірки в середовищі виконання (CLR) байт-код перетворюється вбудованим в середовище JIT-компілятором (just in time, компіляція на льоту) в машинні коди цільового процесора.
Двома основними компонентами платформи .Net Framework являється спільно мовне середовище виконання (CLR) та бібліотека класів .Net Framework.
Основою платформи .Net Framework є середовище виконання CLR. Середовище CLR (Common Language Runtime) можна вважати агентом, котрий керує кодом під час виконання та надає основні служби, такі як керування пам’яттю, керування потоками та віддалена взаємодія. При цьому накладаються умови суворої типізації та інші види перевірки точності коду, які забезпечують безпеку та надійність. Фактично основною задачею середовища виконання являється керування кодом. Код, який звертається до середовища виконання, називають керованим кодом, а код, котрий не звертається до середовища виконання, називають некерованим кодом. Середовище виконання може розміщуватися у високопродуктивних серверних додатках, таких як Microsoft SQL Server та Internet Information Services(IIS).
Другим компонентом платформи .Net Framework є бібліотека класів. Вона надає повну об’єктно орієнтовану колекцію типів, які використовуються для розробки додатків, починаючи от звичайних, які запускаються з командної строки або з графічним інтерфейсом користувача, і закінчуючи додатками, які використовують останні технологічні можливості ASP.NET, такі як Web Forms та веб-служби XML. Це не тільки спрощує роботу з типами .Net Framework, але також зменшує час, витрачуваний на вивчення нових засобів платформи .Net Framework. Крім того, компоненти незалежних виробників можна легко з’єднати з класами платформи .Net Framework. Типи .Net Framework дозволяють вирішувати типові задачі програмування, включаючи роботу із строками, збір даних, підключення до баз даних та доступ до файлів. В додаток до цих звичайних задач бібліотека класів має типи, які підтримують багато спеціалізованих сценаріїв розробки.
Програма створена у вигляді вікон, або Windows Forms. Windows Forms – інтерфейс програмування додатків (API), який відповідає за графічний інтерфейс користувача і який є частиною Microsoft .Net Framework. Цей інтерфейс спрощує доступ до елементів інтерфейсу Microsoft Windows за рахунок створення обгортки існуючого Win32 API в керуючому коді. Причому керуючий код – класи, які реалізують API для Windows Forms, не залежать від мови розробки. Тобто програміст однаково може використовувати Windows Forms як при написанні C#, C++, так і на VB.Net, J# та інші.
Тобто, за допомогою вікна користувач та операційна система можуть спілкуватися один з одним.
