Розробка засобів моделювання програмного продукту
Створення навчальної програми для вирішення системи лінійних рівнянь різними методами. Детальне покрокове рішення та довідкова теоретична інформація. Структура і функціональне призначення модулів програмного продукту, основні елементи його інтерфейсу.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 20.05.2015 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Зміст
- Вступ
- 1. Загальна частина
- 1.1 Аналіз предметної області
- 1.1.1 Аналіз інформаційного забезпечення
- 1.1.2 Постановка задачі
- 1.1.3 Аналіз існуючих програмних продуктів
- 1.1.3.1 Тестувальна програма з інформатики InfTest
- 1.1.3.2 Навчальна програма "Тела вращения" ("Rotation bodies")
- 1.1.3.3 Онлайн - сервіси
- 1.1.4 Визначення основних термінів програмного продукту
- 1.2 Розробка SADT-діаграми
- 1.2.1 Виділення та опис бізнес-процесів програмного продукту
- 1.2.2 Документування бізнес-процесу програмного продукту на основі SADT-діаграм
- 1.3 Технічне завдання на розробку програмного продукту
- 1.3.1 Введення
- 1.3.2 Підстави для розробки
- 1.3.3 Призначення розробки
- 1.3.4 Вимоги до програми або програмного продукту
- 1.3.5 Вимоги до програмної документації
- 1.3.6 Техніко-економічні показники
- 1.3.7 Стадії і етапи розробки
- 1.3.8 Порядок контролю і приймання
- 1.4 Розробка засобів моделювання програмного продукту
- 1.4.1 Розробка логічної моделі
- 1.4.1.1 Діаграма прецедентів
- 1.4.1.2 Діаграма класів
- 1.4.1.3 Діаграма послідовності
- 1.4.1 Опис мови (середовища) програмування
- 1.4.1.1 Загальні відомості мови C#
- 1.4.2.2 Елементи мови C#
- 2. Спеціальна частина
- 2.1 Структура програмного продукту
- 2.2 Структура і функціональне призначення модулів програмного продукту
- 2.3 Елементи інтерфейсу програмного продукту
- 3. Економічний розділ
- 3.1 Розрахунок капітальних витрат на створення програмного продукту
- 3.2 Розрахунок річної економії поточних витрат
- Список використаної літератури
Вступ
Комп'ютери пробралися у всі сфери діяльності, починаючи від початкового освіти і до вивченням технологій, вивчення нових видів матерії, невідомих поки людству. Застосування комп'ютерних технологій полегшує процес освіти у середніх та вищих навчальних закладах як самих учнів, студентів, і робочого персоналу.
Завдяки розмаїттям програмного і апаратного забезпечення сьогодні можливо використання всіх можливих можливостей комп'ютерних технологій. Це дозволяє зберігати дуже багато інформації, займаючи у своїй мінімальне місце. Також комп'ютерні технології дозволяють швидко цю інформацію обробляти і тримати її в захищеному вигляді.
Широке поширення ПК зіграло величезну роль розвитку ринку праці. Автоматизація обробки інформації дозволяє за лічені секунди проробити роботу, яку раніше губилися тижня, інформування керівників про стан підприємств та робочих місць відбувається миттєво. Збільшується економічний потенціал на області страхових і послуг завдяки зрослому обміну послуг. Впровадження комп'ютерних технології запровадження нових форм зайнятості та молодіжні організації праці.
Комп'ютери навколо нас. Вони стали невід'ємною частиною нашого повсякдення. Сьогодні ми можемо не тільки говорити про нові технології, а й про те, як ними користуватися. Банки, магазини, вузли зв'язку, видавництва, школи, офіси - їх зараз просто неможливо уявити без комп'ютерів. В наше життя міцно входять нові терміни: користувач комп'ютера, комп'ютеризовані робочі місця, комп'ютерні ігри.
Інформаційні технології відкривають кожному доступ до практично необмеженого об'єму інформації та її аналітичної розробки, що забезпечує "безпосередню включеність" в інформаційні потоки суспільства.
Дана розробка має за мету допомогти студентам у вивченні математичних методів програмування, надати їм можливість інтерактивного навчання, створити наглядний посібник з прикладами та покроковим вирішенням. Ця програма повинна стати корисним елементом у підготовці студентів, так як наглядно відображає методи вирішення різноманітних задач з численних методів, покрокову стратегію вирішення цих задач, зображує різні ситуації та виключення, що виникають в ході виконання цих операцій.
Темою дипломного проекту є створення навчальної програми, за допомогою якої можна навчитися вирішувати системи лінійних рівнянь різними методами, отримати детальне покрокове рішення та довідкову теоретичну інформацію. Також програма забезпечує додаткові функції роботи з матрицями, такі як знаходження визначника та зворотної матриці. Це буде досягатися за допомогою сучасних різних технологій в галузі ІТ-технологій. Для подальших дій була проаналізована предметна область, що надало повну характеристику вимог до програмного продукту та його реалізації.
При реалізації продукту були виявлені наступні програмні вимоги, такі як:
програмне забезпечення повинною здійснювати автоматизацію процесу вирішення систем лінійних рівнянь;
програма повинна надавати змогу вирішувати системи рівнянь різними методами;
можливість обчислення визначників матриць;
можливість обчислення зворотної матриці;
програма повинна надавати покрокове вирішення рівнянь;
програмне забезпечення повинно містити детальну теоретичну інформацію про методи вирішення систем лінійних рівнянь.
Для реалізації всіх вимог, поставлених до програмного продукту, були проаналізовані різноманітні навчальні програми, що надають знання в різних сферах науки. Так само для реалізації всіх цих вимог, були проаналізовані сервіси, що надають змоги вирішувати системи рівнянь в мережі Інтернет, та принципи реалізації таких сервісів.
1. Загальна частина
1.1 Аналіз предметної області
1.1.1 Аналіз інформаційного забезпечення
Лінійна алгебра - частина алгебри, що вивчає векторні (лінійні) простору і їх підпростори, лінійні відображення (оператори), лінійні, білінійні, і квадратичні функції на векторних просторах.
Лінійна алгебра, математичні методи - розділ обчислювальної математики, присвячений математичному опису та дослідженню процесів чисельного рішення задач лінійної алгебри.
Серед задач лінійної алгебри найбільше значення мають дві: рішення системи лінійних алгебраїчних рівнянь визначення власних значень і власних векторів матриці. Інші часто зустрічаються задачі: звернення матриці, обчислення визначника і т.д.
Будь-який чисельний метод лінійної алгебри можна розглядати як деяку послідовність виконання арифметичних операцій над елементами вхідних даних. Якщо за будь-яких вхідних даних чисельний метод дозволяє знайти рішення завдання за кінцеве число арифметичних операцій, то такий метод називається прямим. В протилежному випадку чисельний метод називається ітераційним. Прямі методи - Це такі, як метод Гауса, метод облямівки, метод поповнення, метод спряжених градієнтів та ін. Ітераційні методи - це метод простої ітерації, метод обертань, метод змінних напрямків, метод релаксації і ін. Тут будуть розглядатися матричний метод, метод Гауса і метод Крамера.
Рівняння виду (1) називається лінійним рівнянням з n невідомими: . Слово лінійне означає, що рівняння 1-го степеня.
Розв'язком такого рівняння буде такий упорядкований набір чисел , який перетворює наше рівняння в числову тотожність.
Рівняння виду (1) можна використати для побудови системи рівнянь:
(2)
Система (2) називається системою m лінійних рівнянь з n невідомими.
Якщо кількість рівнянь даної системи (m) не дорівнює кількості невідомих (n), то таку систему називають прямокутною системою.
Якщо m=n, то система називається квадратною.
Розв'язком системи (2) будемо називати такий набір чисел , який задовольняє кожне рівняння системи (2). Це буде перетин множин розв'язків кожного рівняння даної системи.
Якщо система (2) має принаймні один розв'язок, то така система називається сумісною.
Якщо ж система (2) зовсім не має розв'язків, то система називається несумісною.
Якщо система (2) має точно один розв'язок, то така система називається визначеною. Якщо система (2) має більше, ніж один розв'язок, то вона називається невизначеною.
Класифікація систем лінійних рівнянь зображено на рисунку 1.1.
Рисунок 1.1 - Класифікація систем лінійних рівнянь
Крім того в системі (2) всі вільні члени можуть бути рівні 0. Тоді система має такий вид:
(3)
Системи виду (3) називається однорідними. Однорідна система завжди сумісна, тому що вона завжди має принаймні один розв'язок - нульовий . Нехай задана система лінійних рівнянь з невідомими коефіцієнтами при яких є елементами матриці А, а вільними членами є числа
(4)
Якщо визначник системи (4), тобто визначник, що складається з коефіцієнтів при невідомих
, (5)
то система (4) має єдиний розв'язок.
Системи лінійних алгебраїчних рівнянь відіграють важливу роль у математиці, оскільки до них зводиться велика кількість задач лінійної алгебри, теорії диференціальних рівнянь, математичної фізики тощо, та областей фізики й техніки, де застосовуються ці математичні теорії.
1.1.2 Постановка задачі
Переді мною поставлена задача - створення програми, за допомогою якої можна навчитися вирішувати системи лінійних рівнянь методами Гауса, Крамера та матричним методом, знаходити визначник матриці та зворотню матрицю.
У програмі необхідно реалізувати:
а) зручні способи введення даних;
б) можливість зміни даних - видалення полів;
в) можливість зміни даних - змінення полів;
г) вивід покрокового рішення;
д) вивід довідкової інформації.
Для розробки такої програми необхідно вирішити наступні функціональні завдання:
а) огляд і аналіз існуючих програмних продуктів.
б) розробка моделі програми.
в) розробка алгоритмічної структури програми.
г) розробка ПЗ програми.
1.1.3 Аналіз існуючих програмних продуктів
1.1.3.1 Тестувальна програма з інформатики InfTest
Програма розроблена для тестування, контролю та містить питання по деяким тема предмету "Інформатика". Питання з інших тем та варіанти відповідей можна заносити в програму самостійно. Для входу в програму необхідно зареєструватися. Після кожної відповіді програма вказує правильні і неправильні відповіді, підраховує їх, а в кінці виставляє оцінку за 12-бальною системою. Для контрольної роботи є можливість ховати показ правильних та неправильних відповідей. По завершенню роботи з тестом вчителю залишається лише пройтися біля екранів ПК учнів та записати їхні прізвища та оцінки або скористуватися локальною мережею.
Дана програма була розроблена ще в 2002 році та оновлена в 2004 році.
1.1.3.2 Навчальна програма "Тела вращения" ("Rotation bodies")
Навчальна програма зі стереометрії "Тела Вращения" - це електронний, наглядний посібник зі стереометрії з можливістю переглядати процес побудови тіл обертання, вивчення теоретичної частини, закріплення і контроля знань, який буде сприяти підвищенню рівня знань зі стереометрії і розширенню світогляду в області геометрії.
Основною задачею було створення навчальної програми, за допомогою якої учень, будуючи фігуру на площини, має можливість побачити побудову тіла обертання відносно любої осі координат. Існує можливість самостійно обертати, нахиляти об'ємне тіло. За такої роботи користувач за допомогою наочності краще розуміє принципи побудови тіл обертання. Дана програма має кілька додаткових функцій, за допомогою яких можна змінювати колір відрізків фігури, змінювати крок оберту пласкої фігури.
Дана навчальна програма написана в середовищі програмування Borland Delphi. Дана програма є навчально-дослідницькою роботою учня загальноосвітньої школи № 43 м. Сімферополя Кір'янова Віктора Олеговича і зайняла 1 місто у захисті проектів МАН.
Науковий керівник: директор школи, вчитель інформатики і математики Андрейчук Микола Васильович.
1.1.3.3 Онлайн - сервіси
В мережі Інтернет представлений цілий ряд сервісів, за допомогою яких можна вирішувати системи лінійних рівнянь, знаходити визначник матриці, знаходити обернену матрицю. Серед цих сервісів можна виокремити matematikam.ru, ru. onlinemschool.com, math. semestr.ru, webmath.ru, matrix. reshish.ru. Вони дозволяють у зручній формі вибрати необхідну розмірність матриці, ввести коефіцієнти та отримати детальні результати вирішення системи рівнянь. Головна перевага таких сервісів полягає в тому, що їх засоби доступні в режимі онлайн, тобто немає необхідності завантажувати будь-яке програмне забезпечення. Для вирішення задачі просто необхідно зайти на ресурс, ввести необхідні дані і отримати результат. Тим більше сервіси доступні у будь-який момент часу.
1.1.4 Визначення основних термінів програмного продукту
Матриця - математичний об'єкт, записаний у вигляді прямокутної таблиці чисел (чи елементів кільця), він допускає операції (додавання, віднімання, множення та множення на скаляр). Зазвичай матриці представляються двовимірними (прямокутними) таблицями. Іноді розглядають багатовимірні матриці або матриці непрямокутної форми.
Визначник матриці - вираз складений за певним законом з nІ елементів квадратної матриці. Одна з найважливіших характеристик квадратних матриць.
Розмірність матриці - кількість стовпців та рядків у квадратній матриці.
Квадратна матриця - матриця, що має однакову кількість стовпців і рядків. Одинична матриця - квадратна матриця розміру n з одиницями на головній діагоналі та нулями у всіх інших елементах. Обернена матриця - матриця, що відповідає такому твердженню, що якщо для квадратної матриці A існує така матриця X, що AX=XA=E (одинична матриця), то матрицю X називають оберненою матрицею до матриці A і позначають A?1.
Система лінійних рівнянь - система m рівнянь з n невідомими вигляду
,
де х - невідомі, а - коефіцієнти, b - вільні члени, m - кількість рівнянь, n - кількість невідомих.
Рішення системи лінійних рівнянь - такі значення невідомих, при підстановці яких у рівняння всі рівняння системи перетворюються на тотожність.
1.2 Розробка SADT-діаграми
1.2.1 Виділення та опис бізнес-процесів програмного продукту
Методологія SADT - одна з найвідоміших методологій аналізу та проектування систем. Опис системи за допомогою SADT називається моделлю, при цьому використовуються як природний, так і графічні мови. SADT-модель може бути зосереджена або на функціях системи, або на її об'єктах. Моделі, орієнтовані на функції, прийнято називати функціональними, а на об'єкти системи моделями даних. За допомогою SADT-методології вирішуються такі основні завдання (для систем будь-якої природи): аналіз функцій, виконуваних системою; опис специфікацій вимог і функцій проектованої системи; проектування системи.
На рисунку 1.2 показана SADT-діаграма нульового рівню програми "Есть решение!".
Рисунок 1.2 - SADT-діаграма нульового рівню "Забезпечення автоматичного вирішення задач"
На діаграмі показано, що в якості вхідних даних виступають тип задачі, яка буде вирішуватися, коефіцієнти матриці та вільні члени, що вводяться користувачем програми як вхідні параметри для автоматичного вирішення задач.
Головною функцією програми є автоматичне вирішення систем лінійних рівнянь різними методами та виконання операцій над матрицями та вивід на екран цього рішення з покроковими коментарями.
Механізмом управління в даній програмі виступає користувач, який може обирати тип задачі, вводити параметри для задач, змінювати їх, видаляти, відкривати довідкову інформації щодо кожного типу задач, зберігати рішення в текстовий файл.
В якості управлінської роботи в даній програмі виступають математичні правила, згідно з якими проводиться автоматичне вирішення задач. В залежності від них буде змінюватися хід та деталізація рішення.
На виході програми виконується функція виводу результату рішення в зручній для користувача формі.
1.2.2 Документування бізнес-процесу програмного продукту на основі SADT-діаграм
Методологію IDEF0 можна вважати наступним етапом розвитку добре відомого графічного мови опису функціональних систем SADT (Structured Analysis and Design Teqnique). Історично, IDEF0, як стандарт, був розроблений в 1981 році департаментом Військово-Повітряних Сил США в рамках програми автоматизації промислових підприємств, яка носила позначення ICAM (Integrated Computer Aided Manufacturing).
У методі IDEF0 можна виділити такі складові, як концепція методу, графічна мова, процедура читання діаграми, метод побудови моделі, критерії оцінки якості та ін.
У структуру організаційної підтримки методу IDEFO входять:
процедура збору даних (інтерв'ювання);
метод групової роботи;
форми документування моделі;
процедури узгодження і затвердження моделі.
IDEF0-модель описує: що система робить, що вона виробляє, яка інформація використовується для управління, які ресурси та засоби застосовуються для виконання її функцій.
Одним з достоїнств IDEF0-моделей є те, що вони забезпечують можливість обміну інформацією про даному об'єкті мовою, зрозумілою не тільки аналітику і розробнику системи, а й фахівця-експерта в предметній області, користувачеві, керівнику (Д. Росс назвав техніку структурного аналізу мовою для передачі розуміння). В основі методу IDEF0 лежать такі концептуальні положення:
графічне представлення моделі у вигляді ієрархії діаграм, забезпечує компактність подання інформації;
максимальна виразність, тобто здатність найкращим чином забезпечити "понимаемость" моделі;
строгість і точність представлення;
покрокові процедури розробки моделі, її перегляду та об'єднання;
відділення організації від функції виключення впливу організаційної структури на функціональну модель.
IDEFO-модель складається з ієрархічного ряду діаграм, які поступово відображають рівні все більш докладних описів функцій та їх інтерфейсів в межах системи. Діаграма, що знаходиться на вершині моделі, узагальнює всю розглянуту систему. Діаграми першого рівня представляють найважливіші підсистеми з їх взаємозв'язками, а діаграми самого нижнього рівня представляють деталізовані функції, за допомогою яких, власне, і працює система.
На рисунку 1.3 показана SADT-діаграма першого рівня програми "Есть решение!".
інтерфейс програмний продукт моделювання
На діаграмі показано, що в якості вхідних даних виступають тип задачі, яка буде вирішуватися, коефіцієнти матриці та вільні члени, що вводяться користувачем програми як вхідні параметри для автоматичного вирішення задач.
На виході програми виконується функція виводу результату рішення в зручній для користувача формі.
Рисунок 1.3 - SADT-діаграма першого рівню "Забезпечення автоматичного вирішення задач"
1.3 Технічне завдання на розробку програмного продукту
1.3.1 Введення
Комп'ютери стали незамінними у всіх сферах діяльності, починаючи від початкового освіти і до вивченням технологій, вивчення нових видів матерії, невідомих поки людству. Застосування комп'ютерних технологій полегшує процес освіти у середніх та вищих навчальних закладах як самих учнів, студентів, і робочого персоналу.
Завдяки розмаїттям програмного і апаратного забезпечення сьогодні можливо використання всіх можливостей комп'ютерних технологій. Це дозволяє зберігати дуже багато інформації, займаючи у своїй мінімальне місце. Також комп'ютерні технології дозволяють швидко цю інформацію обробляти і тримати її в захищеному вигляді.
Дана програма має за мету допомогти студентам у вивченні дисципліни "Чисельні методи", надати їм можливість інтерактивного навчання, створити наглядний посібник з прикладами та покроковим вирішеннями тем, що стосуються матриць та операцій над ними. Ця програма повинна стати корисним елементом у підготовці студентів, так як наглядно відображає методи вирішення різноманітних задач з численних методів, покрокову стратегію вирішення цих задач, зображує різні ситуації та виключення, що виникають в ході виконання цих операцій.
1.3.2 Підстави для розробки
Розробка даного проекту ведеться на підставі завдання на дипломне проектування "Технологія програмування та створення програмних продуктів".
Дана ІС реалізується в рамках дипломного проектування по темі "Навчальна програмна система з дисципліни "Чисельні методи".
Керівник проекту Сагай О.В., викладач вищої категорії Машинобудівного коледжу Донбасівської державної машинобудівної академії".
Номер наказу - 103/02-04. Дата видачі завдання - 13.03.2015.
1.3.3 Призначення розробки
Програма "Есть решение!" призначена для спрощення навчання багатьом студентам цієї країни. Дана програма дозволяє швидко, а головне ефективно, навчитися розв'язувати системи лінійних рівнянь різними найпопулярнішими методами та виконувати операції над матрицями. Це досягається завдяки простому та зрозумілому інтерфейсу програми, через який користувач обирає тип задачі, яку йому необхідно вирішити, потім вводить параметри для обчислення та через один клік миші отримує готове покрокове рішення задачі, яке можна потім зберегти на жорсткий диск або змінний носій у вигляді документу. Також користувач може скористатися довідковою інформацією, що міститься у програмі, та більш детально ознайомитися з певним методом вирішення задач.
Головною підставою для розробки програми є створення додатку з можливістю автоматичного вирішення задач з послідуючим виведенням покрокового рішення з коментарями. Користувачу лише треба обрати тип задачі, ввести параметри функції та натиснути на кнопку вирішення задачі, після чого результат буде виведений на екран.
1.3.4 Вимоги до програми або програмного продукту
В програмному продукту повинно бути реалізоване наступне:
програмне забезпечення повинною здійснювати автоматизацію процесу вирішення систем лінійних рівнянь;
програма повинна надавати змогу вирішувати системи рівнянь різними методами;
можливість обчислення визначників матриць;
можливість обчислення зворотної матриці;
програма повинна надавати покрокове вирішення рівнянь;
програмне забезпечення повинно містити детальну теоретичну інформацію про методи вирішення систем лінійних рівнянь;
програма повинна мати простий та зрозумілій інтерфейс.
1.3.5 Вимоги до програмної документації
До програмних відносять документи, що містять відомості, необхідні для розробки, виготовлення, супроводу та експлуатації програм.
Документація, розроблена на програму, може використовуватися для реалізації та передачі програми на носіях даних, а також для виготовлення програмного виробу.
До складу програмної документації (ГОСТ 19.101-77) повинно входити документі в таблиці 1.1:
Таблиця 1.1 - Вимоги до програмної документації
Вид програмного документа |
Зміст програмного документа |
|
Специфікація |
Склад програми та документації на неї |
|
Відомість утримувачів оригіналів |
Перелік підприємств, на яких зберігають оригінали програмних документів |
|
Текст програми |
Запис програми з необхідними коментарями |
|
Опис програми |
Відомості про логічну структуру і функціонуванні програми |
|
Програма та методика випробувань |
Вимоги, що підлягають перевірці при випробуванні програми, а також порядок і методи їх контролю |
|
Технічне завдання |
Призначення і область застосування програми, технічні, техніко-економічні та спеціальні вимоги, які пред'являються до програми, необхідні стадії і терміни розробки, види випробувань |
|
Пояснювальна записка |
Схема алгоритму, загальний опис алгоритму та (або) функціонування програми, а також обґрунтування прийнятих технічних і техніко-економічних рішень |
|
Експлуатаційні документи |
Відомості для забезпечення функціонування та експлуатації програми |
1.3.6 Техніко-економічні показники
Економічний розрахунок показує, що розробка та використання ПК є економічно виправданим і доцільним. Про це свідчать наступні цифри:
а) поточні витрати при впровадженні підсистеми проектування складуть 9081,93 грн.
б) економічний ефект складає 6553,02 грн.
в) термін окупності капіталовкладень в ПК складе 1 рік і 11 місяців.
1.3.7 Стадії і етапи розробки
Основні стадії і етапи розробки представлені в таблиці 1.2.
Таблиця 1.2 - Стадії і етапи розробки
Стадії розробки |
Етапи робіт |
Зміст робіт |
|
1 |
2 |
3 |
|
Технічне завдання 15.03.13 - 30.03.13 |
Обґрунтування необхідності розробки програми |
Програма "Есть решение!" призначена для спрощення навчання багатьом студентам цієї країни. Дана програма дозволяє швидко, а головне ефективно, навчитися розв'язувати системи лінійних рівнянь різними найпопулярнішими методами та виконувати операції над матрицями. Це досягається завдяки простому та зрозумілому інтерфейсу програми, через який користувач обирає тип задачі, яку йому необхідно вирішити, потім вводить параметри для обчислення та через один клік миші отримує готове покрокове рішення задачі, яке можна потім зберегти на жорсткий диск або змінний носій у вигляді документу. Також користувач може скористатися довідковою інформацією, що міститься у програмі, та більш детально ознайомитися з певним методом вирішення задач. |
|
Науково-дослідні роботи |
|||
Розробка і затвердження технічного завдання |
|||
Ескізний проект 31.03.13 - 15.04.13 |
Розробка ескізного проекту |
В якості вхідних даних виступають тип задачі, яка буде вирішуватися, коефіцієнти матриці та вільні члени, що вводяться користувачем програми як вхідні параметри для автоматичного вирішення задач. |
|
Затвердження ескізного проекту |
|||
Технічний проект 16.04.13 - 05.04.13 |
Розробка технічного проекту |
Для форми представлення вхідних і вихідних даних були створені таблиці, в які поміщаються дані. Так само був створений докладний алгоритм на підставі якого проводилася розробка програмного продукту. |
|
Затвердження технічного проекту |
|||
Робочий проект 06.05.13 - 20.05.13 |
Розробка програми |
У ході розробки даного програмного продукту були проведений ряд тестувань, в ході якого були знайдені помилки в роботі системи. Після усунення цих помилок був проведений повторний тест, який не виявив ніяких помилок. Тестування проводилося за методом "білого ящика", на різних платформах і робочих станціях. |
|
Розробка програмної документації |
|||
Випробування програми |
|||
Впровадження 25.04.12 - 24.05.12 |
Підготовка і передача програми |
Для навчання персоналу роботи з програмним продуктом, було створено ряд заходів, такі як, інструкція користувача, повна документації по роботі програмного продукту. |
1.3.8 Порядок контролю і приймання
Контроль здійснюється кінцевими користувачами системи, підключеними на етапі тестування системи.
Прийом комплексу здійснюється після його повної установки і настройки під конкретних користувачів і короткого курсу по навчанню користувачів.
Після закінчення розробки системи повинні бути проведені наступні види випробувань: тестування на захист від некоректного введення; тестування на повноту обміну інформацією між різними додатками.
1.4 Розробка засобів моделювання програмного продукту
1.4.1 Розробка логічної моделі
1.4.1.1 Діаграма прецедентів
Діаграма прецедентів - в UML, діаграма, на якій зображено відношення між акторами та прецедентами в системі. Також, перекладається як діаграма варіантів використання.
Діаграма прецедентів є графом, що складається з множини акторів, прецедентів (варіантів використання) обмежених границею системи (прямокутник), асоціацій між акторами та прецедентами, відношень серед прецедентів, та відношень узагальнення між акторами. Діаграми прецедентів відображають елементи моделі варіантів використання.
Суть даної діаграми полягає в наступному: проектована система представляється у вигляді безлічі сутностей чи акторів, що взаємодіють із системою за допомогою так званих варіантів використання. Варіант використання (англ. use case) використовують для описання послуг, які система надає актору. Іншими словами, кожен варіант використання визначає деякий набір дій, який виконує система при діалозі з актором. При цьому нічого не говориться про те, яким чином буде реалізована взаємодія акторів із системою.
На рисунку 1.4 показана діаграма прецедентів програми "Есть решение!".
На цій діаграмі показані актори та їх можливі дії. Для початку роботи актор повинен просто запустити програму через любий зручний йому спосіб. Після цього актор може обрати потрібний йому тип задач: вирішення систем лінійних рівнянь, виконання операцій над матрицями або отримання довідкової інформації. Якщо актор вибере вирішення систем лінійних рівнянь, то йому предстане вибір між трьома доступними методами рішення - Гауса, Крамера або матричний. Якщо актор вибере операції над матрицями, то йому доведеться обирати між знаходженням визначника та пошуком зворотної матриці. Незалежно від вибору актору для отримання рішення необхідно буде ввести параметри задачі та натиснути на кнопку вирішення. Якщо актор вибере пункт надання довідкової інформації, то отримає доступ до документів, що містять детальний опис методів розв'язання всіх задач, що включені до програми "Есть решение!".
Рисунок 1.4 - Діаграма прецедентів програми "Есть решение!"
1.4.1.2 Діаграма класів
Діаграма класів - статичне представлення структури моделі. Відображає статичні (декларативні) елементи, такі як: класи, типи даних, їх зміст та відношення. Діаграма класів, також, може містити позначення для пакетів та може містити позначення для вкладених пакетів. Також, діаграма класів може містити позначення деяких елементів поведінки, однак їх динаміка розкривається в інших типах діаграм. Діаграма класів (class diagram) служить для представлення статичної структури моделі системи в термінології класів об'єктно-орієнтованого програмування. На цій діаграмі показують класи, інтерфейси, об'єкти й кооперації, а також їхні відносини.
Діаграма класів являє собою деякий граф, вершинами якого є елементи типу "класифікатор", які пов'язані різними типами структурних відносин. Слід зауважити, що діаграма класів може також містити інтерфейси, пакети, відносини і навіть окремі екземпляри, такі як об'єкти та зв'язку. Коли говорять про даній діаграмі, мають на увазі статичну структурну модель проектованої системи. Тому діаграму класів прийнято вважати графічним представленому таких структурних взаємозв'язків логічної моделі системи, які не залежать або інваріантні від часу.
На рисунку 1.5 зображена діаграма класів програми "Есть решение!".
Рисунок 1.5 - Діаграма класів програми "Есть решение!"
На цій діаграмі показані зв'язку інформаційної системи з класами і операціями програми "Есть решение!".
Клас "Метод вирішення СЛР" є методом вирішення СЛР, що включений до програми "Есть решение!". Цей клас має такі атрибути, як "Метод вирішення", "Розмірність матриці", "Коефіціенти", "Вільні члени", "Алгоритм вирішення".
Клас "Операція над матрицею" є операцією над матрицями, що включена до програми "Есть решение!". Цей клас має такі атрибути, як "Тип операції", "Розмірність матриці", "Коефіцієнти", "Алгоритм вирішення".
Класи "Метод вирішення СЛР" та "Операція над матрицею" мають однаковий набір операцій: "Введення даних", "Обробка даних", "Введення результату".
Клас "Довідка" є довідкою, що включена до програми "Есть решение!". Цей клас має такі атрибути, як "Тема довідки", "Кількість сторінок". До операцій даного класу відносяться "Запит довідки" та "Вивід довідки".
1.4.1.3 Діаграма послідовності
Діаграма послідовності - в UML, діаграма послідовності відображає взаємодії об'єктів впорядкованих за часом. Зокрема, такі діаграми відображають задіяні об'єкти та послідовність відправлених повідомлень.
На діаграмі послідовностей показано у вигляді вертикальних ліній різні процеси або об'єкти, що існують водночас. Надіслані повідомлення зображуються у вигляді горизонтальних ліній, в порядку відправлення.
Визначені стандартом UML 2.0 діаграми послідовностей мають ті ж можливості що і визначені стандартом UML 1. x, та підтримують додаткові можливості зміни стандартного порядку повідомлень.
Основними елементами діаграми послідовності є позначення об'єктів (прямокутники), вертикальні лінії (англ. Life line), що відображають протягом часу при діяльності об'єкта, і стрілки, що показують виконання дій об'єктами. На даній діаграмі об'єкти розташовуються зліва направо. Її недоліком є те, що вона займає багато місця.
На рисунку 1.6 показана діаграма послідовності програми "Есть решение!".
Рисунок 1.6 - Діаграма послідовності програми "Есть решение!"
На даній діаграмі показано, що для початку роботи з програмою, користувачеві необхідно запустити програму зручним для нього способом.
Далі користувачеві необхідно обрати, яку операцію необхідно виконати.
Для того, щоб отримати результат вирішення системи лінійних рівнянь, користувачеві необхідно ввести дані для обробки, натиснути на кнопку вирішення, дочекатися, поки дані опрацюються програмою, після чого результат буде повернений у програму в зручному для користувача вигляді.
Для того, щоб отримати результат виконання операції над матрицями, користувачеві необхідно ввести дані для обробки, натиснути на кнопку вирішення, дочекатися, поки дані опрацюються програмою, після чого результат буде повернений у програму в зручному для користувача вигляді.
Для того, щоб отримати довідку, користувачеві необхідно викликати довідку через інтерфейс програми, після чого довідка буде виведена на екран.
1.4.1 Опис мови (середовища) програмування
1.4.1.1 Загальні відомості мови C#
C# (вимовляється Сі-шарп) - об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи.net. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (при фірмі Microsoft).
Синтаксис C# близький до С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML. Перейнявши багато що від своїх попередників - мов С++, Delphi, Модула і Smalltalk - С#, спираючись на практику їхнього використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем, наприклад множинне спадкування класів (на відміну від C++).
C# є дуже близьким родичем мови програмування Java. Мова Java була створена компанією Sun Microsystems, коли глобальний розвиток інтернету поставив задачу роззосереджених обчислень. Взявши за основу популярну мову C++, Java виключила з неї потенційно небезпечні речі (типу вказівників без контролю виходу за межі). Для роззосереджених обчислень була створена концепція віртуальної машини та машинно-незалежного байт-коду, свого роду посередника між вихідним текстом програм і апаратними інструкціями комп'ютера чи іншого інтелектуального пристрою.
Нововведенням C# стала можливість легшої взаємодії, порівняно з мовами-попередниками, з кодом програм, написаних на інших мовах, що є важливим при створенні великих проектів. Якщо програми на різних мовах виконуються на платформі.net,.net бере на себе клопіт щодо сумісності програм (тобто типів даних, за кінцевим рахунком).
Станом на сьогодні C# визначено флагманською мовою корпорації Microsoft, бо вона найповніше використовує нові можливості.net. Решта мов програмування, хоч і підтримуються, але визнані такими, що мають спадкові прогалини щодо використання.net.
C# розроблялась як мова програмування прикладного рівня для CLR і тому вона залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі. (Проте ця закономірність буде порушена з виходом C# 3.0, що є розширеннями мови, що не спираються на розширення платформи.net.) CLR надає C#, як і всім іншим.net-орієнтованим мовам, багато можливостей, яких позбавлені "класичні" мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.net, J# тощо.
Проект C# був початий в грудні 1998 і отримав кодову назву COOL (C-style Object Oriented Language). Версія 1.0 була анонсована разом з платформою.net у червні 2000 року, тоді ж з'явилася і перша загальнодоступна бета-версія; C# 1.0 остаточно вийшов разом з Microsoft Visual Studio.net у лютому 2002 року.
Перша версія C# нагадувала за своїми можливостями Java 1.4, дещо їх розширюючи: так, в C# були властивості (що виглядають у коді як поля об'єкта, але, при зверненні до них, можуть викликати пов'язані методи класу), індексатори (подібні до властивостей, але приймають параметр як індекс масиву), події, делегати, цикли foreach, структури, що передаються за значенням, автоматичне перетворення вбудованих типів в об'єкти при необхідності (boxing), атрибути, вбудовані засоби взаємодії з некерованим кодом (DLL, COM) тощо. Крім того, в C# вирішено було перенести деякі можливості C++, відсутні в Java: беззнакові типи, перевизначення операцій (з деякими обмеженнями, на відміну від C++), передача параметрів у метод за посиланням, методи зі змінним числом параметрів, оператор goto. Також у C# залишили обмежену можливість роботи з вказівниками - в місцях коду, спеціально позначених словом unsafe і при вказівці спеціальної опції компілятору.
Проект специфікації C# 2.0 вперше був викладений Microsoft в жовтні 2003 року; у 2004 році виходили бета-версії (проект з кодовою назвою Whidbey), C# 2.0 остаточно вийшов 7 листопада 2005 року разом з Visual Studio 2005 і.net 2.0.
Нові можливості у версії 2.0:
Часткові типи (розділення реалізації класу більш ніж на один файл).
Узагальнені, або параметризовані типи (generics, "дженерики"). На відміну від шаблонів C++, вони підтримують деякі додаткові можливості і працюють на рівні віртуальної машини. Разом з тим, параметрами узагальненого типу не можуть бути вирази.
Нова форма ітератора, що дозволяє створювати співпрограми за допомогою ключового слова yield, подібно Python і Рубі.
Анонімні методи, що забезпечують функціональність замикання.
Оператор??: return obj1?? obj2; означає (у нотації C# 1.0) return obj1! =null? obj1: obj2;.
Типи-значення, що обнуляються (nullable), (що позначаються знаком питання, наприклад, int? i = null;) є тими ж самими типами-значеннями, що можуть nfrj; приймати також значення null. Такі типи дозволяють поліпшити взаємодію з базами даних через мову SQL.
В червні 2004 року Андерс Гейлсберг вперше розповів на сайті Microsoft про плановані розширення мови в C#3.0. У вересні 2005 року було випущено проект специфікації C# 3.0 і бета-версія C# 3.0, що встановлюється у вигляді доповнення до існуючих Visual Studio 2005 і.net 2.0 [2]. Офіційно версія C# 3.0 побачила світ 19 листопада 2007 року у складі.net Framework 3.5.
В C# 3.0 з'явилися такі радикальні доповнення та зміни:
Ключові слова select, from, where, що дозволяють робити запити з SQL, XML, колекції тощо (запит, інтегрований в мову, англ. Language Integrated Query, або LINQ)
Ініціалізація об'єкта разом з його властивостями:
Лямбда-вирази (анонімні функції):
Автоматичне визначення типів локальних змінних:
Безіменні типи:
Методи-розширення - додавання методу в існуючий клас за допомогою ключового слова this при першому параметрі статичної функції.
C# 3.0 буде сумісний з C# 2.0 за генерованим MSIL-кодом; поліпшення в мові - чисто синтаксичні і реалізуються на етапі компіляції. Наприклад, багато з інтегрованих запитів LINQ можна реалізувати в поточних версіях використовуючи безіменні делегати в поєднанні з предикативними методами над контейнерами, на кшталт List. FindAll і List. RemoveAll.
Нові можливості в версії 4.0:
Динамічна типізація об'єктів:
Динамічний перехід,
Динамічний виклик методу.
C# стандартизований в ECMA та ISO.
1.4.2.2 Елементи мови C#
Алфавіт (або множина літер) мови програмування С# складають символи таблиці кодів ASCII. Алфавіт С# включає:
рядкові й прописні літери латинського алфавіту;
цифри від 0 до 9;
символ "_";
набір спеціальних символів: " { }, 1 [] + - %/ \; ':? < > =! & #
інші символи.
Як і в мовах C++ та Java, C# поділяє типи на два види: вбудовані типи (табл.1.3), які визначені в мові, та типи, що визначає користувач.
Таблиця 1.3 - Вбудовані типи даних C#
Тип даних |
Діапазон |
|
byte |
0.255 |
|
sbyte |
-128.127 |
|
short |
-32,768.32,767 |
|
Ushort |
0.65,535 |
|
int |
-2,147,483,648.2,147,483,647 |
|
uint |
0.4,294,967,295 |
|
long |
-9,223,372,036,854,775,808.9,223,372,036,854,775,807 |
|
ulong |
0.18,446,744,073,709,551,615 |
|
Float |
-3,402823e38. - 3,402823e38 |
|
Double |
-1,79769313486232e308.1,79769313486232e308 |
|
decimal |
-79228162514264337593543950335.79228162514264337593543950335 |
|
char |
Символ Юнікода |
|
string |
Строка символів Юнікода |
|
bool |
true або false |
|
object |
Об'єкт. |
Мова програмування C# є жорстко типізованою. Тобто нам необхідно обов'язково оголошувати змінни, вказавши їх тип даних. Змінні оголошуються за наступною схемою: <Тип> <ім'я змінної> [=<значення>];
Мова програмування С# надає багато гнучких операторів для написання програмного коду. Синтаксис використання операторів мова С# спадкує від мови С/C++, на базі якої вона створювалась.
Оператори в мові програмування С# поділяються на оператори порівняння та привласнення (табл. 1.4), арифметичні та логічні оператори (табл. 1.5), оператори збільшення/зменшення (табл. 1.6), оператори порівняння (табл. 1.7) та умовні оператори (табл. 1.8).
Таблиця 1.4 - Оператори порівняння та привласнення
Оператор |
Призначення |
|
= |
Привласнення значення |
|
== |
Перевірка на рівність |
Таблиця 1.5 - Арифметичні та логічні оператори
Оператор |
Призначення |
|
*, /, % |
Множення, ділення, залишок від ділення |
|
+, - |
складання, віднімання |
|
& |
Побітове AND |
|
^ |
Побітове XOR |
|
| |
Побітове OR |
Таблиця 1.6 - Операції збільшення та зменшення
Оператор |
Повна форма |
Призначення |
|
v ++ v - |
v = v + 1 v = v - 1 |
Постфіксна форма збільшення/зменшення змінної v на 1. При привласненні вираза спочатку повертається значення, а потім збільшується/зменшується. |
|
++v v |
v = v + 1 v = v - 1 |
Префіксна форма збільшення/зменшення змінної v на 1. При привласненні вираза спочатку збільшується/зменшується, а потім повертається значення. |
|
v += n |
v = v + n |
Збільшення змінної v на n. |
|
v *= n |
v = v * n |
Збільшення змінної v в n разів. |
|
v - = n |
v = v - n |
Зменшення змінної v на n. |
|
v/=n |
v = v / n |
Зменшення змінної v в n разів. |
Таблиця 1.7 - Оператори порівняння
Оператор |
Призначення |
|
<, <=, >, >= |
Суворе та не суворе порівняння менше/більше |
|
==,! = |
Порівняння на рівність та нерівність |
Таблиця 1.8 - Умовні оператори
Оператор |
Призначення |
|
! |
Умовне NOT. |
|
|| |
Умовне OR. |
|
&& |
Умовне AND. |
Клас Math містить стандартні математичні функції, без яких важко обійтись при побудові багатьох виразів. Цей клас містить два статичних поля, що задають константи E (число е) та PI (число р), а також 23 статичних метода. Методи задають:
тригонометричні функції - Sin, Cos, Tan;
обратні тригонометричні функции - ASin, ACos, ATan, ATan2 (sinx, cosx);
гіперболічні функції - Tanh, Sinh, Cosh;
експоненту і логарифмічні функції - Exp, Log, Log10;
модуль, корінь, знак - Abs, Sqrt, Sign;
функції округлення - Ceiling, Floor, Round;
мінімум, максимум, ступінь, остаток - Min, Max, Pow, IEEEReminder.
В мові C# немає спеціальних ключових слів - procedure або function, але ці поняття присутні. Синтаксис оголошення метода дозволяє однозначно визначити, чим є метод - процедурою або функції. Процедура C# має власні особливості:
вона повертає формальний результат void, що вказує на відсутність результату;
виклик процедури є оператором мови.
В найпростішому варіанті оголошення методу відбувається так: тип_результату_функції ім'я_методу [список_формальних_аргументів]).
Масиви є колекціями об'єктів одного типу. Оскільки довжина масивів практично не обмежена, вони можуть використовуватись для зберігання тисяч або навіть мільйонів об'єктів, але розмір повинен бути вказаний при його створені. Кожен елемент масиву доступний по його числовому індексу, який вказує позицію або чарунку, в якій об'єкт зберігається в масиві. Індексуються масиви починаючи з 0. Масиви класифікуються наступним чином: одномірні масиви; багатомірні масиви; масиви масивів; колекції.
2. Спеціальна частина
2.1 Структура програмного продукту
"Есть решение!" - це програма, яка була розроблена як посібник для вивчення тем з дисципліни "Чисельні методи", що стосуються розв'язання систем лінійних рівнянь та виконання операцій над матрицями. Програма "Есть решение!" пропонує автоматичне вирішення вищеописаних задач.
Користувач має можливість за допомогою зручного інтерфейсу одним кліком миші вирішувати системи лінійних рівнянь методом Гауса, Крамера та матричним методом, знаходити визначник матриці та знаходити для заданої матриці зворотну. Тип задачі обирається на головній сторінці програми "Есть решение!" (рис. 2.1). Після вибору типу задачі відкривається окрема форма з вибраним модулем. Для кожного з типу задач розроблена можливість обирати розмірність матриці від 2х2 до 5х5. Користувач може заповнювати, змінювати та очищувати поля, що призначені для вводу коефіцієнтів матриці та, у випадку систем лінійних рівнянь, вільних членів рівняння. Якщо користувач допустить помилку при заповненні даних для задачі, або залишить певні поля порожніми, програма сповістить його про це.
Рисунок 2.1 - Головна сторінка програми "Есть решение!"
Після заповнення даних для задачі користувач одним кліком миші отримує рішення у зручній формі, яке виводиться у додаток, але за бажанням користувач для підвищення сприйняття може зберегти рішення в форматі текстового документу.
Для кожного типу задач, що представлені в програмі "Есть решение!", користувач може отримати довідкову інформацію, що викликається у модулі кожного типу задач та надається у формі текстового документу.
При виході з програми та кожного модуля користувач попереджається відповідним повідомленням задля уникнення втрати даних.
Дана розробка є відправною точкою на шляху до полегшення навчання студентів з дисципліни "Чисельні методи" з тем, що стосуються методів вирішення систем лінійних рівнянь та виконання операцій над матрицями.
Основна структура програмного продукту представлена на рисунку 2.2.
Рисунок 2.2 - Структура програмного продукту
Ключові переваги програми "Есть решение!":
- надійність розрахунків;
- простота інтерфейсу користувача;
- висока швидкість виконання розрахунків;
- висока деталізація відображення ходу розв'язання задач.
Загальні обмеження:
- 5 мб вільного місця на диску;
- від 256 Мб оперативної пам'яті;
- відео-карта з підтримкою DirectX 9 і 64 Мб графічної пам'яті;
- монітор, з розширенням не менш 800х600;
- клавіатура, миша;
- операційні система Windows 7 і вище;
- Microsoft.net Framework 4.5;
- Microsoft Visual C++ Redistributable.
2.2 Структура і функціональне призначення модулів програмного продукту
Програма "Есть решение!" складається з декількох модулів, які показані на рисунку 2.3.
Рисунок 2.3 - Модулі програми "Есть решение!"
Головний модуль програми - модуль "MainMenu", що описує головну форму програми. Цей модуль є своєрідним "скелетом" програми, тому що об'єднує всі модулі програми в один налагоджений механізм. В ньому описуються зв'язки між головною та іншими формами програми, описані компоненти, за допомогою яких вони викликаються, та інші елементи інтерфейсу форми. Код форми "MainMenu" показаний на рисунку 2.4.
using System;
using System. Collections. Generic;
using System.componentModel;
using System. Data;
using System. Drawing;
using System. Linq;
using System. Text;
using System. Windows. Forms;
using Word = Microsoft. Office. Interop. Word;
using System. Diagnostics;
namespace Диплом
{public partial class MainMenu: Form
{static public int [] Control = new int [6];
public MainMenu ()
{InitializeComponent (); }
private void button1_Click (object sender, EventArgs e)
{if (Control [0] == 0)
{Gauss f2 = new Gauss ();
f2. Show ();
Control [0] = 1; } }
private void button2_Click (object sender, EventArgs e)
{if (Control [1] == 0)
{Kramer f3 = new Kramer ();
f3. Show ();
Control [1] = 1; }}
private void button3_Click (object sender, EventArgs e)
{if (Control [2] == 0)
{Matrix f4 = new Matrix ();
f4. Show ();
Control [2] = 1; } }
private void button4_Click (object sender, EventArgs e)
{if (Control [3] == 0)
{Determinant f5 = new Determinant ();
f5. Show ();
Control [3] = 1; }}
private void button5_Click (object sender, EventArgs e)
{if (Control [4] == 0)
{InventMatrix f6 = new InventMatrix ();
f6. Show ();
Control [4] = 1; } }
private void MainMenu_FormClosing (object sender, FormClosingEventArgs e)
{DialogResult result = MessageBox. Show ("Вы точно хотите выйти?", "Выход из программы", MessageBoxButtons. YesNo, MessageBoxIcon. Question);
if (result == DialogResult. No)
{e. Cancel = true; } }
private void button6_Click (object sender, EventArgs e)
{Process. Start (@"О программе. docx"); }}}
Рисунок 2.4 - Код форми MainMenu
Інші модулі програми, що призначені для обчислень, мають між собою схожу структуру. Після завантаження кожної форми для вирішення певного типу задачі користувач обирає розмірність матриці. В залежності від обраного розміру, що відповідає певному елементу випадаючого списку, на формі динамічно створюється необхідна кількість полів для вводу даних, що відповідає кількості коефіцієнтів матриці та, у випадку з системами лінійних рівнянь, до цієї кількості додається стовпець вільних членів. В залежності від кількості полів для вводу змінюється розмір поля для виводу рішення. Після вводу даних та кліку на кнопку "Решить" запускається метод з алгоритмом для вирішення цього типу задачі, в ході якого поле для виводу рішення заповнюється даними, що описують безпосередньо процес рішення. Якщо користувач натискає кнопку "Сохранить", то всі дані з поля для виведення рішення копіюються в файл формату". rtf.". Якщо користувач натискає кнопку "Очистить", то викликається метод, що очищає всі текстові елементи на формі. При натисканні на кнопку "Справка" викликається метод, що відкріває довідку через програму "WordPad" або "Microsoft Office Word".
Модуль "Gauss" призначений для вирішення систем лінійних рівнянь методом Гауса. Цей модуль описує окрему форму, що містить алгоритм для вирішення рівнянь різної розмірності. Лістинг форми показаний на рисунку 2.5.
using System;
using System. Collections. Generic;
using System.componentModel;
using System. Data;
using System. Drawing;
using System. Linq;
using System. Text;
using System. Windows. Forms;
using System. Diagnostics;
namespace Диплом
{public partial class Gauss: Form
Подобные документы
Основні завдання синоптичної метеорології. Призначення та область застосування програмного продукту "Статистика метеоспостережень", функціональні вимоги до нього. Інформаційне забезпечення, структура, опис інтерфейсу. Тестування програмного продукту.
курсовая работа [3,6 M], добавлен 30.04.2016Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.
практическая работа [1,8 M], добавлен 05.06.2014Виявлення та усунення помилок при розробці програмно-апаратних засобів. Захист від загроз цілісності та конфіденційності інформації. Розробка програми для визначення складності пароля. Структура і функціональне призначення модулів програмного продукту.
дипломная работа [2,3 M], добавлен 01.10.2013Функції обліку зайнятості аудиторії. Створення програмного модуля, який виконуватиме формування електронного реєстру та презентацію вільних та зайнятих аудиторій. Призначення та область застосування програмного продукту. Опис інтерфейсу, тестування.
курсовая работа [460,5 K], добавлен 21.05.2016Опис методів і алгоритмів вирішення задачі в середовищі розробки Myeclipse. Основні функції програмного продукту, його структура. Розробка алгоритму та програми, інструкція користувачу. Результати тестування, лістинг основних блоків. Вікно головного меню.
курсовая работа [1,8 M], добавлен 24.02.2014Формування електронного реєстру та презентація обліку зайнятості населення. Основні завдання обліку зайнятості (біржі праці). Обґрунтування доцільності створення програмного модуля. Вимоги до програмного продукту. Тестування програмного продукту.
курсовая работа [399,7 K], добавлен 30.04.2016Цілі та головні задачі систем метаданих, їх структура та елементи, опис словників та класифікаторів. Розробка логіко-функціональної схеми надбудови, її функціональне призначення. Економічне обґрунтування доцільності розробки програмного продукту.
дипломная работа [1,7 M], добавлен 26.10.2012Призначення програмного продукту. Основні функціональні можливості. Перелік розв’язуваних за допомогою програмного продукту задач. Вимоги до апаратного та програмного забезпечення. Основні прийоми.
реферат [37,2 K], добавлен 26.10.2004Призначення програмного продукту. Основні функціональні можливості. Перелік розв’язуваних за допомогою програмного продукту задач. Вимоги до апаратного та програмного забезпечення. Основні прийоми. Оновлення антивірусних баз.
реферат [35,8 K], добавлен 26.10.2004Призначення та область застосування програмного продукту "проектор-лектор", функціональні вимоги до нього. Структура інтерактивної системи. Структура програмного продукту, опис інтерфейсу з користувачем. План тестування, інструкція по експлуатації.
курсовая работа [347,7 K], добавлен 21.05.2016