Розробка гнучкої спеціалізованої системи для контролю трафіку мережі Інтернет
Теоретичні дослідження та порівняльний аналіз технологій розробки Windows-додатків. Огляд можливостей мови програмування й середовища розробки Visual Studio .NET. Опис можливостей та програмної реалізації системи для контролю трафіку мережі Інтернет.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 22.10.2012 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Міністерство освіти та науки України
Криворізький інститут
Кременчуцького університету економіки, інформаційних технологій та управління
Кафедра Технічної кібернетики
Дипломна робота
зі спеціальності: Гнучкі комп'ютеризовані системи та робототехніка
тема: Розробка гнучкої спеціалізованої системи для контролю трафіку мережі Інтернет
Кривий Ріг, 2009
Завдання на дипломну роботу студента
Власенка Артема Павловича
(прізвище, ім'я, по-батькові)
1. Тема роботи: Розробка гнучкої спеціалізованої системи для контролю трафіку мережі Інтернет затверджена наказом по інституту від " 29 " жовтня 2008 р. № 62С-01
2. Термін здачі студентом закінченої роботи 01.06.09. _
3. Вхідні дані до роботи: Вимоги до кінцевого програмного продукту, довідкова інформація, матеріали наукових досліджень
4. Зміст розрахунково-пояснювальної записки (перелік питань, що підлягають розробці): Постановка задачі; Теоретичні дослідження та порівняльний аналіз технологій розробки WINDOWS додатків; Огляд можливостей мови програмування й середовища розробки; Опис функціональних можливостей та програмної реалізації системи; Економічне обґрунтування доцільності розробки програмного продукту; Охорона праці
5. Перелік графічного матеріалу (з точними вказівками обов'язкових креслень)
6. Консультанти з роботи, з вказівками розділів роботи, що належать до них
Розділ |
Консультант |
Підпис, дата |
||
Завдання видав |
Завдання прийняв |
|||
Спеціальна частина |
Старіков О.М. |
|||
Програмна частина |
Мурашко А.Г. |
|||
Економічна частина |
Тимко Є.В. |
|||
Охорона праці |
Климович Г.Б. |
7. Дата видачі завдання 31.10.08 р.
Календарний план
№ п/п |
Найменування етапів дипломної роботи |
Термін виконання етапів роботи |
Примітки |
|
1. |
Отримання завдання на дипломну роботу |
31.10.08 |
||
2. |
Огляд існуючих рішень |
20.02.09 |
||
3. |
Теоретичне дослідження технологій створення додатків на базі платформи dotNET |
23.03.09 |
||
4. |
Програмна частина (постановка задачі, створення програмного забезпечення, опис алгоритму рішення задачі, проектування та опис інтерфейсу користувача, опис програми) |
27.04.09 |
||
5. |
Оформлення пояснювальної записки |
13.05.09 |
||
6. |
Оформлення графічної документації |
24.05.09 |
||
7. |
Оформлення електронних додатків до диплому |
26.05.09 |
||
8. |
Представлення дипломної роботи до захисту |
01.06.09 |
Анотація
Метою дипломної роботи є розробка системи, що виконує функцію контролю Інтернет-трафіку. Система була реалізована в середовищі Microsoft Visual Studio 2008 на мові C#. При розробці застосування була використана безкоштовна бібліотека WinPcap.
Аннотация
Целью дипломной работы является разработка системы, выполняющей функцию контроля Интернет-трафика. Система была реализована в среде Microsoft Visual Studio 2008 на языке C#. При разработке приложения была использована бесплатная библиотека WinPcap.
The summary
The purpose of the given degree work is development of the of the system executing the function of Internet traffic control. The system was realized in the environment of Microsoft Visual Studio 2008 in language C#. For development of application the free library of WinPcap was used.
Вступ
Метою дипломної роботи є розробка системи, що виконує функцію контролю Інтернет-трафіку. При розробці застосування була використана безкоштовна бібліотека WinPcap.
Як мова програмування для реалізації поставленого завдання була вибрана мова програмування С#, як середа розробки Microsoft Visual Studio 2008. Варто відзначити, що середа розробки Microsoft Visual Studio 2008 є абсолютно безкоштовною, але не дивлячись на безкоштовність, надає безліч зручних засобів для створення складних програмних продуктів.
Якщо сказати, що мова С# і пов'язана з ним середа .NET Framework є однією з найважливіших технологій для розробників за багато років, це не буде перебільшенням. .NET спроектована як нова середа, в рамках якої можна розробити практично будь-який додаток для Windows, тоді як С# -- нова мова програмування, призначена спеціально для роботи з .NET. За допомогою С# можливо, наприклад, створити динамічну Web-страніцу, Web-службу XML, компонент розподіленого додатку, компонент доступу до бази даних, класичний настільний додаток Windows або навіть інтелектуальне клієнтське програмне забеспечення, що має засоби онлайнової і автономної роботи.
Переваги .NET:
· Об'єктно-орієнтоване програмування -- і середа .NET Framework, і С# спочатку повністю базувалися на об'єктно-орієнтованих принципах.
· Добрий дизайн -- бібліотека базових класів, яка спроектована "з нуля", виключно інтуїтивно зрозумілим чином.
· Незалежність від мови -- з .NET код всіх мов, тобто Visual Basic .NET, С#, J# і керованого C, компілюється в спільну мову проміжного рівня -- Intermediate .Language. Це означає, що всі ці мови володіють можливостями взаємодії, як ніколи раніше.
· Краща підтримка динамічних Web-страніц -- хоча ASP пропонував високий ступінь гнучкості, він також був і неефективним через свої сценарні мови, що інтерпретувалися, а недолік об'єктно-орієнтованого дизайну часто приводив до заплутаного коду ASP. .NET пропонує інтегровану підтримку Web-страніц із застосуванням нової технології -- ASP.NET. У ASP.NET код сторінок компілюється і може бути написаний на мові високого рівня, що підтримує .NET -- такому як С#, J# або Visual Basic 2008.
· Ефективний доступ до даних -- набір компонентів .NET, відомий під спільною назвою ADO.NET, надає ефективний доступ до реляційних баз даних і широкої різноманітності інших джерел даних. Також доступні компоненти, що надають доступ до файлової системи і каталогів. Зокрема, підтримка XML вбудована в .NET, що дозволяє маніпулювати даними, які можуть бути імпортовані з інших, не-Windows платформ, і експортовані в них.
· Розділення коду -- .NET повністю змінила спосіб розділення коду між додатками, ввівши концепцію збірки (assembly), яка замінила традиційні бібліотеки DLL.
· Підвищена безпека -- кожна збірка також може містити вбудовану інформацію безпеки, яка в точності описує, кому і яким категоріям користувачів або процесів, які методи яких класів дозволено викликати.
· Підтримка Web-служб -- .NET пропонує повністю інтегровану підтримку розробки Web-служб.
1. Постановка завдання
1.1 Найменування та галузь застосування
Найменування розробки: гнучка клієнт-серверна система контролю за використанням інформаційних ресурсів мережі Інтернет. Розроблена система може бути використана в будь-якій фірмі чи установі, де впроваджений спільний доступ користувачів до мережі Інтернет і є потреба в обмеженні цього доступу.
1.2 Підстава для створення
Підставою для розробки є наказ № 62С-01 від 29 жовтня 2008 р. по Криворізькому інституту КУЕІТУ.
Початок робіт: 31.10.08. Закінчення робіт: 01.06.09.
1.3 Характеристика розробленого програмного забезпечення
Система була реалізована в середовищі Microsoft Visual Studio 2008 на мові C#. При розробці застосування була використана безкоштовна бібліотека WinPcap, яка дозволяє створювати програми аналізу даних, що поступають на мережеву карту комп'ютера.
Склад розробленої автоматизованої системи:
· apptraffmon.exe - програма, що дозволяє здійснювати контроль;
· apptraffmon.config - файл конфігурації;
· Tamir.IPLib.SharpPcap.dll - бібліотека для зв'язку програми з драйвером WinPcap.
1.4 Мета й призначення
Метою дипломної роботи є розробка системи, що виконує функцію контролю доступу до мережі Інтернет. Система дозволяє повністю автоматизувати процес контролю трафіку в локальній мережі підприємства чи установи.
1.5 Загальні вимоги до розробки
Вимоги до програмного забезпечення:
Вимоги до програмного забезпечення:
· Робота в середовищі операційних систем Windows 95/98/ME/2000/XP;
· Відсутність додаткових вимог до розміщення виконавчих файлів;
· Додаткове програмне забезпечення: установка WinPcap на комп'ютері де буде встановлена програма ;
Мінімальні вимоги до апаратного забезпечення комп'ютера на якому буде встановлене програмне забезпечення:
· IBM-сумісний комп'ютер, не нижче Pentium III RAM-256Mb, SVGA-800*600*16bit;
· Вільний простір на жорсткому диску не менше 100 Мб.
1.6 Джерела розробки
Джерелами розробки дипломної роботи є:
· довідкова література;
· наукова література;
· технічна література;
· програмна документація.
2. Теоретичні дослідження та порівняльний аналіз технологій розробки Windows додатків
2.1. Огляд основних технологій розробки Windows додатків
2.1.1 Програмування з використанням Win32/C
Спочатку під програмуванням під Windows малося на увазі програмування з використанням Windows Application Programming Interface (інтерфейсом прикладного програмування Windows, в 32-разрядних версіях Windows -- Win32 API). З використанням цієї технології було створено безліч цілком гідних додатків, проте навряд чи хто-небудь сперечатиметься з тим, що написання додатка з використанням лише Windows API -- це дуже трудомістке завдання.
Ще одна проблема полягає в тому, що С -- досить сувора по відношенню до програміста мова. Тим, хто створює додатки цією мовою програмування, доводиться уручну займатися управлінням пам'яттю, виконати розрахунки при використанні покажчиків і працювати з абсолютно неприродними з точки зору людської мови синтаксичними конструкціями. Крім того, в С недостатньо можливостей для об'єктно-орієнтованого програмування.
2.1.2 Програмування з використанням C++/MFC
C++ -- це величезний крок вперед відносно нових можливостей в порівнянні з початковою мовою С. Во багатьох ситуаціях C++ цілком допустимо представити як об'єктно-орієнтовану надбудову над С. Така надбудова дозволяє використовувати переваги «стовпів об'єктно-орієнтованого програмування -- інкапсуляції, поліморфізму і спадкоємства. Проте програмісти, використовуючі C++, залишаються незахищеними від багатьох і часто небезпечних особливостей С++ (тими ж самими низькорівневими можливостями роботи з пам'яттю і важкими для сприйняття синтаксичними конструкціями).
Існує безліч бібліотек для C++, основне призначення яких -- полегшити написання додатків під Windows, надавши для цієї мети вже готові класи. Одна з найбільш поширених бібліотек -- це MFC (Microsoft Foundation Classes). MFC -- це додатковий рівень над Win32 API, який значно спрощує роботу програміста за рахунок використання готових класів, макросів і майстрів. Проте MFC -- це лише часткове вирішення проблеми. Навіть при використанні MFC програмістові доводиться працювати з складним для читання кодом, вельми небезпечним з точки зору можливих помилок.
2.1.3 Програмування з використанням Visual Basic
Люди завжди прагнуть зробити своє життя простішим. Підкоряючись цьому прагненню багато програмістів на C++ обернули свої погляди до набагато простішої і доброзичливішої мови, якою є Visual Basic (VB). Visual Basic дозволяє працювати з досить складними елементами інтерфейсу користувача, бібліотеками коду (наприклад, Сом-серверами) і засобами доступу до даних при мінімальних витратах часу і сил. Visual Basic в набагато більшому ступені, чим MFC, ховає від користувача виклики Win32 API і надає великий набір інтегрованих засобів швидкої розробки.
Проте в Visual Basic є і недоліки. Головний з них -- це набагато менші можливості, які надає ця мова, в порівнянні з C++ (це твердження справедливе, принаймні, для версій раніших, ніж VB.NET). Visual Basic -- це мова «для роботи з об'єктами», а не об'єктно-орієнтована мова в звичайному розумінні цього слова. У Visual Basic немає класичного спадкоємства, немає підтримки створення класів, що параметризуються, немає власних засобів створення багатопоточних додатків -- і цей список можна продовжувати ще довго.
2.1.4 Програмування з використанням Java
Мова програмування Java -- це повністю об'єктно-орієнтована мова, яка відносно синтаксису багато що успадкувала від C++ . Звичайно, переваги Java далеко не вичерпуються міжплатформеностю. Мова Java в синтаксичному відношенні простіша і логічніша, ніж C++. Java як платформа надає в розпорядження програмістів велику кількість бібліотек (пакетів), в яких міститься велика кількість описів класів і інтерфейсів на всі випадки життя. З їх допомогою можна створювати стовідсоткові додатки Java з можливістю звернення до баз даних, підтримкою передачі поштових повідомлень, з клієнтською частиною, якою необхідний лише web-браузер, або на зворот, з клієнтською частиною, що володіє витонченим інтерфейсом.
Java -- це дуже елегантна і красива мова. Проте при його використанні проблем також уникнути не вдається. Одна з серйозних проблем полягає в тому, що при створенні складного додатку на Java нам доведеться використовувати лише цю мову для створення всіх частин цього додатку. У Java передбачено не так вже багато засобів для міжмовної взаємодії (що зрозуміло, зважаючи на призначення Java бути єдиною багатоцільовою мовою програмування). Але в реальному світі існують мільйони рядків готового коду, які хотілося б інтегрувати з новими додатками на Java. Проте це зробити дуже важко.
Java -- це далеко не ідеальна мова в багатьох ситуаціях. Простий приклад -- якщо ми спробуємо створити лише Java додаток, що активно працює з 3d-графікой, швидше за все, працювати такий додаток буде не дуже швидко. Для роботи з 3d-графікой краще використовувати код, написаний на мові з розвиненішими низькорівневими можливостями (наприклад, на C++). Проте інтегрувати такий код з кодом на Java буде дуже складно. Оскільки можливості для звернення до API компонентів, створених на інших мовах, в Java дуже обмежені, говорити про реальну міжмовну взаємодію на основі Java не доводиться.
2.1.5 Програмування з використанням СОМ
Сучасний стан справ такий, що якщо програміст не будуєте Java-додатки, то велика вірогідність, що програміст освоює технологію Microsoft Component Object Model (COM). Сом-технологія проголошує: «Якщо ви створюєте класи в точній відповідності з вимогами СОМ, то у вас вийде блок повторно використовуваного програмного коду».
Краса двійкового Сом-сервера полягає в тому, що до нього можна звертатися з будь-якої мови. Наприклад, програмісти, використовуючи C++, можуть створювати класи, які можна буде використовувати з додатка на Vbasic. Програмісти, використовуючи Delphi, можуть використовувати класи, створені на С++ и т.д. Проте в міжмовній взаємодії СОМ є свої обмеження. Наприклад, немає можливості провести нового типа СОМ від того, що існує. Для повторного використання існуючих типів СОМ доведеться використовувати інші, набагато менш надійні і ефективні засоби.
Велика перевага СОМ полягає в тому, що програміст може не піклуватися про фізичне місцезнаходження компонентів. Такі засоби, як Application Identifiers (Appids, ідентифікатори додатків), стаби (stubs), проксі, середа виконання СОМ, дозволяють уникати при зверненні до компонентів по мережі необхідності поміщати в додаток код для роботи з сокетами, викликами RPC і іншими низькорівневими механізмами. Досить поглянути на такий код на Visual Basic 6.0 для клієнта СОМ:
Dim с as New MyCOMClass. Місцезнаходження класу визначається через AppID c.DoSomeWork.
Об'єктна модель СОМ використовується дуже широко. Проте внутрішній устрій компонентів вельми складний. Щоб навчитися знатися на нім доведеться витратити принаймні декілька місяців. Написання додатків з використанням Сом-компонентів можна спростити, використовуючи стандартні бібліотеки, наприклад біблітеку Active Template Library (ATL) зі своїм набором готових класів, шаблонів і макросів.
Деякі мови (наприклад, Visual Basic) також дозволяють приховати складність інфраструктури СОМ. Проте всіх складнощів уникнути все одно не вдається. Наприклад, навіть якщо працювати з відносно простим і підтримуючим COM Visual Basic, доведеться вирішувати не завжди прості питання, пов'язані з реєстрацією компонентів на комп'ютері і розгортанням додатків.
2.1.6 Програмування з використанням Windows DNA
Картина буде неповною, якщо не взяти до уваги як Інтернет. За декілька останніх років Microsoft додала в свої операційні системи велику кількість засобів для роботи з цією середою, у тому числі і засоби, покликані допомогти в створенні Інтернет-додатків. Проте, побудова закінченого web-додатки з використанням технології Windows DNA (Distributed internet Architecture -- розподілена міжмережева архітектура) до цих пір залишається вельми складним завданням.
Значна частина складнощів виникає тому, що Windows DNA вимагає використання різнорідних технологій і мов (ASP, HTML, XML, Javascript, Vbscript, COM ( ), ADO і т. д.). Одна з проблем полягає в тому, що синтаксично всі ці мови і технології дуже мало схожі один на одного. Наприклад, синтаксис JavaScript більше схожий на синтаксис С++, тоді як VbScript є підмножиною Visual Basic. Сом-сервери, призначені для роботи в середі виконання СОМ, створені на основі здійснений інших підходів, ніж Asp-сторінки, які до них звертаються. Кінцевим результатом є лякаюче змішення технологій. Окрім всього іншого, в кожній мові, яка входить до складу Windows DNА, передбачена своя система типів, що також не є джерелом великої радості для програмістів. Наприклад, тип даних іnt у JavaScript -- це не те ж саме, що іnt у С++, який, у свою чергу, відмінний від іnteger у Visual Basic.
2.2 Рішення .NET
Один з головних принципів .NET звучить так: «Змінюйте все, що хочете, звідки вам завгодно». .NET -- це абсолютно нова модель для створення додатків під Windows (а в майбутньому, мабуть, і під іншими операційними системами). Ось коротке перерахування основних можливостей .NET:
· Повні можливості взаємодії з існуючим кодом.
· Повна і абсолютна міжмовна взаємодія. На відміну від класичного СОМ, в .NET підтримуються міжмовне спадкоємство, міжмовна обробка виключень і міжмовна відладка.
· Спільна середа виконання для будь-яких додатків .NET, незалежно від того, на яких мовах вони були створені. Один з важливих моментів при цьому -- те, що для всіх мов використовується один і той же набір вбудованих типів даних.
· Бібліотека базових класів, яка забезпечує приховування всіх складнощів, пов'язаних з безпосереднім використанням викликів API, і пропонує цілісну об'єктну модель для всіх мов програмування, що підтримують .NET,
· Спрощення процесу розгортання додатка. У .NET немає необхідності реєструвати подвійні типи в системному реєстрі. Більш того .NET дозволяє різним версіям одного і того ж модуля DLL мирно співіснувати на одному комп'ютері.
2.2.1 Основи CLS
CLS (Common Language Specification) - загальна специфікація мов програмування. Це набір конструкцій і обмежень, які є керівництвом для творців бібліотек і компіляторів в середовищі .NET Framework. Бібліотеки, побудовані відповідно до CLS, можуть бути використані з будь-якої мови програмування, підтримуючого CLS. Мови, відповідні CLS (до їх числа відносяться мови Visual C# 2.0, Visual Basic, Visual C++), можуть інтегруватися один з одним. CLS - це основа міжмовної взаємодії в рамках платформи Microsoft .NET.
Немає необхідності доводити, що одні і ті ж програмні конструкції в різних мовах виглядають абсолютно по-різному. Наприклад, в С# і Delphi об'єднання рядків (конкатенація) проводиться за допомогою оператора плюс "+", а в Visual Basic для цієї мети використовується амперсант "&". Для середовища виконання .NET така різниця в синтаксисі абсолютно байдужа: все одно відповідні компілятори створять однаковий код IL. Проте мови програмування відрізняються не тільки синтаксисом, але і можливостями. Наприклад, в одних мовах програмування дозволено перевантаження операторів, а в інших -- ні. Одні мови можуть використовувати беззнакові типи даних, в інших такі типи даних не передбачені. Тому потрібні деякі єдині правила для всіх мов .NET. Якщо їм слідувати, то програмні модулі, написані на різних мовах, нормально взаємодіятимуть один з одним. Такий набір правил визначений в універсальній специфікації мови (CLS).
Набір правив CLS не тільки гарантує нормальну взаємодію блоків коду, створених на різних мовах, але і визначає мінімальні вимоги, які пред'являються до будь-якого компілятора .NET. Необхідно пам'ятати, що CLS -- це лише частина тих можливостей, які визначені в CTS. Правилам CLS повинні задовольняти і інструментальні засоби середовища розробки -- якщо ми хочемо забезпечити міжмовну взаємодію, вони повинні генерувати тільки такий код, який відповідає вимогам CLS. У кожного правила CLS є назва (наприклад, CLS Rule 6). Ось приклад один з найважливіших правил -- правило номер 1.
Правило 1. Правила CLS відносяться тільки до частин типу, призначених для взаємодії за межами збірки, в якій вони визначені.
З цього правила виходить, що при реалізації якого-небудь типу можна скільки завгодно порушувати правила CLS -- це ні на що не вплине. Наприклад, можна створити додаток .NET, який взаємодіє із зовнішнім світом за допомогою трьох класів, і в кожному з цих класів тільки одна функція. Правилам CLS в цьому випадку повинні задовольняти тільки три цих функції (область видимості, угоди про іменування, типи параметрів і т.д.). У внутрішній реалізації цих функцій, класів або додатку в цілому може бути скільки завгодно відступів від правил CLS.
2.2.2 Основи CLR
CLR (Common Language Runtime) - Середовище Часу Виконання або Віртуальна Машина. Забезпечує виконання збірки. Основний компонент .NET Framework. Під Віртуальною Машиною розуміють абстракцію інкапсульованої (відособленої) керованої операційної системи високого рівня, яка забезпечує виконання (керованого) програмного коду.
Керований код - програмний код, який при своєму виконанні здатний використовувати служби, що надаються CLR.
Відповідно, некерований код подібною здатністю не володіє. Про особливості керованого коду можна судити по переліку завдань, рішення яких покладається на CLR:
· Управління кодом (завантаження і виконання).
· Управління пам'яттю при розміщенні об'єктів.
· Ізоляція пам'яті додатків.
· Перевірка безпеки коду.
· Перетворення проміжної мови в машинний код.
· Доступ до метаданих (розширена інформація про типи).
· Обробка виключень, включаючи міжмовні виключення.
· Взаємодія між керованим і некерованим кодами (у тому числі і COM-об'єктами).
· Підтримка сервісів для розробки (профілізація, відладка і т.д.).
Коротше, CLR - це набір служб, необхідних для виконання керованого коду
Сама CLR складається з двох головних компонентів: ядра (mscoree.dll) і бібліотеки базових класів (mscorlib.dll). Наявність цих файлів на диску - вірна ознака того, що на комп'ютері, принаймні, була зроблена спроба установки платформи .NET.
Ядро середовища виконання реалізоване у вигляді бібліотеки mscoree.dll. При компоновці збірки в неї вбудовується спеціальна інформація, яка при запуску додатку (EXE) або при завантаженні бібліотеки (звернення до DLL з некерованого модуля - виклик функції LoadLibrary для завантаження керованої збірки) приводить до завантаження і ініціалізації CLR. Після завантаження CLR в адресний простір процесу, ядро середовища виконання проводить наступні дії:
· знаходить розташування збірки;
· завантажує збірку в пам'ять;
· проводить аналіз вмісту збірки (виявляє класи, структури, інтерфейси);
· проводить аналіз метаданих;
· забезпечує компіляцію коду на проміжній мові (IL) в платформозалежні інструкції (асемблерний код);
· виконує перевірки, пов'язані із забезпеченням безпеки;
· використовуючи основний потік додатку, передає управління перетвореному в команди процесора фрагменту коду збірки.
· FCL (.NET Framework Class Library) - відповідна CLS-специфікації об'єктно-орієнтована бібліотека класів,
· інтерфейсів і системи типів (типів-значень), які включаються до складу платформи Microsoft .NET.
Ця бібліотека забезпечує доступ до функціональних можливостей системи і призначена служити основою при розробці .NET- додатків, компонент, елементів управління.
. NET бібліотека класів є другим компонентом CLR.
. NET FCL можуть використовувати ВСЕ .NET-приложения, незалежно від призначення архітектури використовуваного при розробці мови програмування, і зокрема:
· вбудовані (елементарні) типи, представлені у вигляді класів (на платформі .NET все побудовано на структурах або класах);
· класи для розробки графічного призначеного для користувача інтерфейсу (Windows Form);
· класи для розробки web-додатків і web-служб на основі технології ASP.NET (Web Forms);
· класи для розробки XML і Internet-протоколів (FTP, HTTP, SMTP, SOAP);
· класи для розробки додатків, що працюють з базами даних (ADO .NET) і багато що інше.
Рис.2.1 Послідовність виконання програм в середовищі CRL
2.2.3 Стандартна система типів CTS
Стандартна система типів (CTS) -- це всеосяжна специфікація, яка визначає, яким чином який-небудь тип (клас, структура, інтерфейс, вбудований тип даних і т.д.) повинен бути сформований для його правильного сприйняття середовищем виконання .NET. Система CTS описує синтаксичні конструкції (наприклад, перевантаження операторів), які можуть підтримуватися, а можуть і не підтримуватися конкретною мовою програмування .NET. Якщо необхідно створювати сбірки, які повинні використовуватися всіма мовами програмування .NET, то при створенні типів доведеться слідувати правилам стандартної системи типів.
Концепція класів - наріжний камінь будь-якого об'єктно-орієнтованого програмування. Вона підтримується всіма мовами програмування .NET. Клас -- це необмежений набір полий, властивостей, методів і подій, складових єдине ціле. У CTS передбачені абстрактні члени класів, що забезпечує можливість застосування поліморфізму в похідних класах. Множинне спадкоємство в CTS заборонене. Клас відповідає всім вимогам об'єктно-орієнтованого програмування і може бути абстрактним, мати область видимості, використовувати інтерфейси, а також може бути закритим для створення похідних класів.
Крім класів в CTS також представлені і структури. У першому наближенні структури можна розглядати як спрощені різновиди класів. Структури CTS можуть мати будь-яку кількість конструкторів з параметрами (конструктор без параметрів зарезервований). За допомогою конструкторів з параметрами можна встановити значення будь-якого поля структури у момент створення цього об'єкту. Всі структури CTS проведені від єдиного базового класу System.ValueType.
Цей базовий клас визначає структуру як тип даних для роботи тільки із значеннями, але не з посиланнями. У структурі може бути будь-яка кількість інтерфейсів.
Проте структури не можуть бути успадковані від решти типів даних і вони завжди є закритими -- іншими словами, вони не можуть виступати як базові з метою їх спадкоємства.
Члени типів CTS
Раніше було відмічено, що класи і структури можуть мати будь-яку кількість членів. Член -- це або метод, або властивість, або поле, або подія. Для кожного члена в .NET існує набір характеристик. Наприклад, будь-який член в .NET характеризується своєю областю видимості (public, private, protected і т.д.). Член можна оголосити як абстрактний, щоб скористатися можливостями поліморфізму при роботі з похідними класами. Члени можуть бути статичними (такі члени можуть спільно використовуватися всіма об'єктами даного класу) і звичайними -- що належать тільки одному об'єкту даного класу.
Перерахування CTS
Перерахування -- це зручна програмна конструкція, яка дозволяє об'єднувати пари "ім'я-значення" в групи, до яких потім можна звернутися на ім'я груп.
У CTS всі перерахування є похідними від єдиного базового класу System.Enum. Цей базовий клас містить безліч корисних членів, які допоможуть в роботі з парами "ім'я-значення".
Делегати CTS
Делегати в світі .NET -- це безпечні для типів вказівники на функції. Але на відміну від інших мов програмування, делегат .NET це вже не просто адреса в оперативній пам'яті, а клас, похідний від базового класу Multicast-Delegate. Делегати дуже корисні в тих ситуаціях, коли потрібно, щоб одна суть передала виклик іншої суті. Делегати -- це наріжний камінь в технології обробки подій в середовищі.NET.
Вбудовані типи даних CTS
У середовищі .NET передбачений багатий набір вбудованих типів даних, причому цей набір використовується всіма мовами програмування .NET. Назви типів даних в різних мовах .NET можуть виглядати по-різному, але ці назви всього лише псевдоніми для вбудованих системних типів даних .NET, визначених в бібліотеці базових типів.
2.2.4 Простори імен
Після знайомства із загальниймовним виконуючим середовищем .NET звернемося до особливостей бібліотеки базових класів .NET. Важливість бібліотек коду очевидна.
Наприклад, бібліотека MFC визначає набір класів C++ для створення форм, діалогових вікон, меню, панелей управління і т.д. В результаті програмісти можуть не займатися створенням того, що вже давно зроблене, а зосередитися на унікальних аспектах застосування, що розробляється ними. Аналогічні засоби існують в Delphi, Visual Basic, Java і в решті всіх мов програмування.
Проте на відміну від цих мов програмування, в мовах для середовища .NET не існує бібліотеки базових класів тільки для однієї мови. Натомість розробники використовують бібліотеку базових типів для всього середовища .NET, а для організації типів усередині цієї бібліотеки використовується концепція просторів імен.
Ефективність роботи програміста, що використовує .NET, безпосередньо залежить від того, наскільки добре він знайомий з тим безліччю типів, які визначені в просторах імен бібліотеки базових класів. Найважливіший простір імен називається System. У нім визначені класи, які забезпечують найважливіші функції, і жодне застосування не обходиться без використання цього простору імен.
Простір імен -- це спосіб організації типів (класів, перерахувань, інтерфейсів, делегатів і структур) в єдину групу. У одному просторі імен зазвичай об'єднуються взаємозв'язані типи. Наприклад, в просторі імен System.Drawing міститься набір типів, які покликані допомогти в організації виведення зображень на графічний пристрій. У .NET передбачені простори імен для організації типів, розрахованих на роботу з базами даних, мережею, багатопотоковістю, захистом даних і безлічі інших завдань.
2.2.5 Основи MSIL
(Microsoft Intermediate Language) - проміжна мова платформи Microsoft .NET. Початкові тексти програм для .NET-приложений пишуться на мовах програмування, відповідних специфікації CLS. Для таких мов може бути побудований перетворювач в MSIL. Таким чином, програми на цих мовах можуть транслюватися в проміжний код на MSIL.
Завдяки відповідності CLS, в результаті трансляції програмного коду, написаного на різних мовах, виходить сумісний IL-код.
Фактично MSIL є асемблером віртуального процесора.
МЕТАДАНІ - при перетворенні програмного коду в MSIL також формується блок метаданих, який містить інформацію про даних, використовуваних в програмі. Фактично це набори таблиць, які включають інформацію про типи даних, визначуваних в модулі (про типи даних, на які посилається даний модуль). Раніше така інформація зберігалася окремо. Наприклад, додаток міг включати інформацію про інтерфейси, яка описувалася на Interface Definition Language (IDL). Тепер метадані є частиною керованого модуля.
Зокрема, метадані використовуються для:
· збереження інформації про типи. При компіляції тепер не потрібні заголовні і бібліотечні файли. Всю необхідну інформацію компілятор читає безпосередньо з керованих модулів;
· верифікації коду в процесі виконання модуля;
· управління динамічною пам'яттю (звільнення пам'яті) в процесі виконання модуля;
· забезпечення динамічної підказки (IntelliSence) при розробці програми стандартними інструментальними засобами (Microsoft Visual Studio .NET) на основі метаданих.
Мови, для яких реалізований переклад на MSIL:
· Visual Basic,
· Visual C++,
· Visual C# 2.0,
· і ще багато інших мов.
2.2.6 Поняття збірки і виконувані модулі
Виконуваний модуль - незалежно від компілятора (і вхідної мови) результатом трансляції .NET-додатку є керований виконуваний модуль (керований модуль). Це стандартний переносимий виконуваний (PE - Portable Executable) файл Windows.
Однією з особливостей керованого коду є наявність механізмів, які дозволяють працювати з керованими даними. Керовані дані - об'єкти, які в ході виконання коду модуля розміщуються в керованій пам'яті (у керованій купі) і знищуються складальником сміття CLR. Дані C#, Visual Basic і JScript .NET є керованими за замовчанням. Виконуваний модуль - незалежно від компілятора (і вхідної мови) результатом трансляції .NET-додатку є керований виконуваний модуль (керований модуль). Це стандартний переносимий виконуваний (PE - Portable Executable) файл Windows. Однією з особливостей керованого коду є наявність механізмів, які дозволяють працювати з керованими даними.
Керовані дані - об'єкти, які в ході виконання коду модуля розміщуються в керованій пам'яті (у керованій купі) і знищуються прибиральником сміття CLR. Дані C#, Visual Basic і JScript .NET є керованими за замовчанням.
Дані C# також можуть бути помічені як некеровані.
Збірка (Assembly) - базовий будівельний блок додатку в .NET Framework. Керовані модулі об'єднуються в складки. Збірка є логічним угрупуванням одного або декількох керованих модулів або файлів ресурсів. Керовані модулі у складі складок виконуються в Середовищі Часу Виконання (CLR). Збірка може бути або виконуваним застосуванням (при цьому вона розміщується у файлі з розширенням .exe), або бібліотечним модулем (у файлі з розширенням .dll). При цьому нічого спільного із звичайними (старого зразка!) виконуваними застосуваннями і бібліотечними модулями збірка не має.
Декларація збірки (Manifest) - складова частина збірки. Це ще один набір таблиць метаданих, який:
- ідентифікує збірку у вигляді текстового імені, її версію, культуру і цифрову сигнатуру (якщо збірка розподіляється серед додатків);
- визначає вхідні в склад файли (по імені і хешу);
- указує типи і ресурси, що існують в збірці, включаючи опис тих, які експортуються із збірки;
- перераховує залежності від інших складок;
- указує набір має рацію, необхідних збірці для коректної роботи.
Ця інформація використовується в період виконання для підтримки коректної роботи додатку.
3. Огляд можливостей мови програмування й середовища розробки
3.1 Основи роботи з Visual Studio .NET
Існує величезна кількість версій продукту Visual Studio, причому до появи цієї нової версії видавалося, що в Microsoft забули про підтримку ентузіастів, які власне і зробили продукти для розробників найпопулярнішими. Не має сенсу говорити про те, що відчували користувачі, коли Microsoft намагалася зрушити їх від Visual Basic 6.0 до .NET-версії продукту, досить сказати, що деякі просто відмовлялися розуміти, що все змінилося.
У квітні 2003 року Microsoft випустила попередню версію Visual Studio, перероблену Visual Studio .NET 2003. Цей продукт був прив'язаний до випуску Windows 2003 і вважався невеликим оновленням. Випуск Visual Studio .NET 2003 мав на увазі глибоку інтеграцію з широкими новими можливостями Windows Server 2003, наприклад, UDDI, Web-службами і .NET Framework. Windows Server 2003 була першою версією Windows, що поставлялася з інтегрованою середою .NET Framework.
В даний час Visual Studio 2008 є високоефективною середою професійного розробника, яка вільно сполучає декілька технологій, що надають розробникам безпрецедентні можливості для створення додатків Windows, Web-служб, Web-додатків, сайтів і так далі. Звичайно, це зажадало від Microsoft набагато більше часу, чим планувалося для розробки даного комплекту продуктів. На думку фахівців Microsoft, це обумовлено тим, що рівень інтеграції, який вони пропонують у всіх продуктах Visual Studio і SQL Server, має особливий характер. Ось що сказав Девід Кемпбелл, генеральний менеджер SQL Server в Microsoft:
3.1.1 Інтегроване середовище розробки
Microsoft Visual Studio .NET - це інтегроване середовище розробки (Integrated Development Environment (IDE)) для створення, документування, запуску і відладки програм, написаних на мовах .NET. Це могутній інструмент професійної розробки складних додатків. Набір його функцій надзвичайно великий, розглянемо його основні елементи.
Коли ми запускаємо Visual Studio .NET, то бачимо наступне вікно:
Рис. 3.1 Головне вікно середовища розробки
Початкова сторінка (Start Page) містить наступні вкладки: Projects, Online Resources і My Profile. За умовчанням ми знаходимося на вкладці Projects, на якій розташований список недавніх проектів. Ми можемо перейти по гіперпосиланню від назви проекту і відразу продовжити роботу над ним. На цій же вкладці розташовані кнопки New Project і Open Project, по натисненню на які ми запустимо діалогові вікна створення нового або відкриття існуючого документа відповідно.
На вкладці Online Resources відображаються групи новин, заголовки і посилання ресурсів розробників. Ця опція доступна, коли комп'ютер підключений до Інтернету.
Вкладка My Profile дозволяє налаштувати інтерфейс Visual Studio .NET по своєму смаку. Якщо є досвід роботи з іншими пакетам розробки, то можна вибрати звичну розкладку клавіатури, розташування вікон в цій категорії. Тут же можна задати дію при запуску, наприклад, відкриття діалогового вікна створення проекту.
Рис. 3.2 Визначення дії при запуску програми
Панелі, що ховаються, розташовані з боків вікна, -- такі як зображені на рис. 3.1 Server Explorer або Toolbox, -- можна висунути, просто клацнувши на них. Ми можемо закріпити їх на екрані, натиснувши на значок, або зовсім прибрати з екрану, а потім знову відобразити, використовуючи відповідний пункт меню View (або еквівалентне поєднання клавіш).
Головне вікно Visual Studio.NET, подібно до інших додатків Windows, містить рядок меню, що включає наступні категорії (коли ми знаходимося на Start Page, частина категорій не видно - вона з'явиться пізніше, коли буде створений проект).
У цих категоріях розташовані наступні команди:
File -- відкриття, створення, додавання, закривання, друк і інш.
Edit -- стандартні команди правки: копіювання, вставка, вирізування і інш.
View -- команди для утаєння і відображення всіх вікон і панелей інструментів.
Project -- команди для роботи з проектом: додавання елементів, форм, посилань і інш.
Build -- команди компіляції програми.
Debug -- команди для відладки програми.
Data -- команди для роботи з даними.
Format -- команди форматування елементів, що розташовуються (вирівнювання, інтервал і інш.).
Tools -- команди додаткових інструментів і настройки Visual Studio .NET.
Window -- управління розташуванням вікон.
Help -- довідка.
3.1.2 Форми
Всякий раз, коли ми працюємо з якою-небудь програмою, ми бачимо на екрані прямокутне вікно. У цьому вікні і розташовується вся інформація, яка нам потрібна. Форми можуть мати стандартний вигляд, такий, наприклад, як у програми Microsoft Word. Отже, форма -- це екранний об'єкт, що забезпечує функціональність програми.
Запускаємо Visual Studio .NET, вибираємо File/New/Project -- з'являється діалогове вікно (Ctrl+Shift+N приводить до того ж результату), в якому вибираємо Visual C# Project і Windows Application.
Рис. 3.4 Створення нового проекту
У полі Name задаємо ім'я проекту -- FirstForm і зберігаємо його в теку, визначувану полем Location. Одержану теку ви зможете згодом перемістити на інший комп'ютер і продовжити роботу -- в ній знаходитимуться всі створювані нами файли цього проекту. На екрані з'явилася порожня Windows-форма.
Після того, як ми створили новий проект, можна побачити основні частини середовища розробки (рис. 3.5).
Рис. 3.5 Головне вікно програми в режимі розробки
3.3.3 Вікно «Провідник проекту»
Вікно Solution Explorer (провідник проекту, View --> Solution Explorer, або поєднання клавіш Ctrl+Alt +L) містить компоненти, що входять до складу проекту. Пункти контекстного меню цього вікна (що викликається натисненням правої кнопки миші) дозволяють змінювати вміст проекту, а також додавати нові компоненти.
Рис. 3.6 Контекстне меню вікна Solution Explorer
При створенні нового проекту Solution Explorer містить компоненти, створені шаблоном.
Рис. 3.7 Компоненти, що входять до складу нового додатку
Каталог References містить посилання на класи, використовувані в проекті за умовчанням. Подвійне клацання миші на підкаталогах References запускає вікно Object Browser (провідник об'єктів, View --> Object Browser, або поєднання клавіш Ctrl+Alt+J). Вікно Object Browser, у свою чергу, є вичерпним засобом отримання інформації про властивості об'єктів. Так абстрактний клас brush успадковується від класу System.MarshalByRefObject і містить методи Clone, Dispose(bool), Dispose і Finalize.
Рис. 3.8 Вікно Object Browser
Можна одержувати короткий опис будь-якого методу, класу або властивості, просто клацнувши на ньому, -- на інформаційній панелі негайно відобразиться коротка довідка. Для досвідченого розробника Object Browser -- незамінний помічник в роботі, набагато зручніший, ніж довідка.
Файл App.ico містить зображення іконки, яке на формі розташоване у верхньому лівому кутку. Файл AssemblyInfo.cs містить інформацію про наш додаток. При створенні дистрибутива в цей файл поміщається інформація програми, використовувана в технічних цілях, а також цифровий ключ.
3.1.4 Вікно Class View
Вікно Class View -- (огляд класів, View --> Class View, або поєднання клавіш Ctrl+Shift+C), дозволяє переміщатися в коді по вибраному об'єкту; містить методи, класи, дані всього лістингу проекту. Для переходу, наприклад, в метод Main клацаємо на відповідній назві у вікні Class View.
Рис. 3.9 Вікно Class View. Дозволяє швидко переміщатися за кодом всього проекту
3.1.5 Вікно Properties Window
Вікно властивостей Properties -- основний інструмент настройки форми і її компонентів. Вміст цього вікна є всім списком властивостей вибраного в даний момент компоненту або форми. Викликається це вікно декількома способами -- в меню View вибираємо пункт Properties Window (або використовуємо клавішу F4), на вибраному об'єкті клацаємо правою кнопкою миші і в контекстному меню пункт Properties вибираємо об'єкт і натискаємо F4 або просто вибираємо об'єкт і переходимо у вікно Properties. Коли ми тільки створили проект, у вікні Properties відображаються властивості самої форми.
3.1.6 Вікно панелі інструментів
Вікно Toolbox (панель інструментів, View --> Toolbox, або поєднання клавіш Ctrl+Alt+X) містить компоненти Windows-форм, звані також елементами управління, які розміщуються на формі. Воно складається з декількох закладок: My User Controls, Components, Data, Windows Forms і General:
Рис. 3.11 Вікно Toolbox
Закладкою, що найбільш часто вживається, є Windows Forms. Для розміщення потрібного елементу управління досить просто клацнути на ньому у вікні Toolbox або, схопивши, перетягнути його на форму. Перемикання виду значків дозволяє розмістити їх без смуги прокрутки.
Рис. 3.12 Представлення елементів у вигляді списку
Рис. 3.13 Представлення елементів у вигляді значків
У вікні Toolbox доступно відображення всіх закладок.
Рис. 3.14 Встановлюємо галочку "Показати всі закладки"
Рис. 3.15 Повний список закладок
Закладка My User Controls дозволяє зберігати власні списки елементів управління:
Рис. 3.16 Додавання закладки
Рис. 3.17 Власна закладка "Моя закладка для First Form"
Рис. 3.18 Відновлення значень за умовчанням
Створені таким чином закладки можна перейменувати або видалити, вибравши в контекстному меню пункти Rename Tab і Delete Tab відповідно.
Якщо в результаті всіх експериментів ми побачимо, що поточний вид вікна Toolbox сильно відрізняється від первинного, для відновлення значень за умовчанням виберіть в контекстному меню будь-якої закладки пункт Add/Remove Items. . У вікні, що з'явилося, натисніть на кнопку Reset. З'являється вікно попередження -- "Настройки Toolbox будуть відновлені. Всі призначені для користувача закладки будуть видалені. Продовжувати?" Погодившись з попередженням, ви побачите вид Toolbox за умовчанням.
Всі закладки, окрім Clipboard Ring і General, містять компоненти, які можна перетягнути на форму. Закладка Clipboard Ring є аналогом буфера обміну в Microsoft Office 2003, буфера, що відображає вміст, за декілька операцій копіювання або вирізування. Для вставки фрагмента достатньо двічі клацнути по ньому.
Продуктивність розробки додатку багато в чому залежить від зручності настройки призначеного для користувача середовища. Одним з ергономічних варіантів вважається загальне розташування вікон, що ховаються, що не захаращує головну частину проекту.
3.1.7 Режими дизайну і коду
При створенні нового проекту запускається режим дизайну -- форма є основою для розташування елементів управління. Для роботи з програмою слід перейти в режим коду. Це можна зробити декільком способами: клацнути правою кнопкою миші в будь-якій частині форми і в меню, що з'явилося, вибрати View Code, у вікні Solution Explorer зробити те ж саме на компоненті Form 1.cs або просто двічі клацнути на формі -- при цьому згенерується метод Form1_Load. Після хоч би одноразового переходу в режим коду в цьому проекті з'явиться вкладка Form1.cs*, натискаючи на яку, теж можна переходити в режим коду. Для переходу в режим коду також можна використовувати клавішу F7, а для повернення в режим дизайну -- поєднання Shift+F7.
Перемкнемося в режим коду і розглянемо деякі блоки.
Даний блок визначає, які простори імен використовуються в цьому проекті:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
Для проглядання інформації про вміст кожного з цих просторів можна скористатися вікном Object Browser.
Далі визначається власний простір імен, ім'я якого співпадає з назвою проекту:
namespace FirstForm
При необхідності цю назву можна міняти.
Клас форми Form1, успадкований від System.Windows.Forms.Form, містить в собі майже весь код:
public class Form1 : System.Windows.Forms.Form
{
... }
Усередині цього класу знаходиться конструктор форми:
public Form1()
{
// Required for Windows Form Designer support
InitializeComponent();
// TODO: Add any constructor code after InitializeComponent call
}
Подія Initiliaze відбувається у момент запуску додатку; код, що додається після InitializeComponent, може змінювати вміст форми або елементи управління у момент запуску.
Область Windows Form Designer generated code містить код графічного інтерфейсу елементів управління і форми, що автоматично генерується середовищем. Порожня форма містить опис розмірів і заголовка. Клацнемо на знак (+) для перегляду це області:
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support -- do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Size = new System.Drawing.Size(300,300); // розмір форми в пікселях
this.Text = "Form1";// заголовок форми.
}
#endregion
Можна міняти значення параметрів, що створюються середовищем, і тоді зміни негайно відіб'ються на графічному інтерфейсі. Концепція області Windows Form Designer generated code схожа з концепцією WYSIWYG 1) редакторів HTML-коду, де можна розміщувати компоненти перетяганням, а середовище само генерує HTML-код.
Метод Main реалізує головну точку входу в програму -- тобто місце, звідки починається виконання написаного нами коду:
static void Main()
{
Application.Run(new Form1());
}
При відладці великих програм зручно використовувати нумерацію рядків, яку можна включити в пункті меню Tools/Options./Text Editor/C# -- на формі Display -- перемикач Line Numbers.
Рис. 3.20 Відображення нумерації рядків коду
При довгій роботі над кодом контрастні чорні букви на білому фоні викликають втому, тому бажано як фоновий колір встановити інший -- наприклад, сірий. Це можна зробити в Options на вкладці Environments/Font and Colors.
Рис. 3.21 Вкладка Environments/Font and Colors. Тут же можна змінити шрифт коду -- наприклад, встановити Times New Roman
В результаті режим коду приймає наступний вигляд:
Рис. 3.22 Ергономічний вид режиму коду
3.1.8 Властивості проекту
Розглянемо властивості проекту. У вікні Solution Explorer виділяємо назву проекту -- FirstForm, клацаємо правою кнопкою миші і вибираємо в меню пункт Properties. У вікні, що з'явилося, містяться всі властивості поточного проекту.
Рис. 3.23 Вікно Common Properties / General
У вікні властивостей міститься досить багато параметрів. Розглянемо деякі, найбільш вживані.
Вкладка Common Properties / General включає наступні властивості:
Assembly Name -- назва збірки.
Output Type -- тип компільованого додатку. За умовчанням для Windows-додатків стоїть Windows Application.
Default Namespace -- назва простору імен в коді. За умовчанням співпадає з ім'ям проекту.
Startup Object -- назва класу, що містить точку входу в програму - метод Main.
Application Icon -- шлях до файлу з іконкою додатку.
Project File -- ім'я файлу з інформацією про проект. Знаходиться усередині каталогу з проектом;
Project Folder -- шлях до файлу з проектом.
Output File -- назва файлу, що створюється при компіляції, -- вихідного файлу. Співпадає з ім'ям проекту.
На вкладці Configuration Properties / Build розглянемо деякі властивості.
Рис. 3.24 Вікно Configuration Properties / Build
Optimize Code -- оптимізація програми, значення цієї властивості true може значно збільшити продуктивність додатку.
Allow Unsafe Code Blocks -- вирішити використання ключового слова unsafe в коді проекту.
Warning Level -- рівень попереджень, що відображаються при компіляції програми.
Treat Warnings As Errors -- сприймати всі попередження як помилки. Якщо оголосити змінну в коді, але ніде не використовувати її, при значенні цієї властивості False додаток скомпілюється, при значенні True -- ні.
Output Path -- шлях, де формується вихідний файл. Тека bin знаходиться усередині теки проекту.
Generate Debugging Information -- виводити інформацію при відладці. Ця властивість повинна бути включена: саме ці повідомлення допомагають виправляти код.
3.1.9 Компіляція програми
Для перевірки програми використовуються два способи відладки. Перший спосіб -- Build Solution, який перевіряє код і компілює програму, не запускаючи її. Це дуже зручно, коли ви працюєте над окремим модулем великої розробки, і немає можливості перевіряти весь продукт в цілому. Для запуску цього способу вибираємо в головному меню пункт Build --> Build Solution (або поєднання клавіш Ctrl+Shift+B).
Подобные документы
Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Технології розробки Windows-додатків. Опис функціональних можливостей і програмної реалізації системи.
дипломная работа [891,7 K], добавлен 25.10.2012Комплексна обробка просторово-розподілених ресурсів мережі Інтернет. Системи інформаційного моніторингу в мережі. Обґрунтування технологій, розробка системи інтеграції Інтернет-контенту для конкурентного середовища ринку праці. Оцінювання систем аналізу.
дипломная работа [763,8 K], добавлен 14.07.2013Теоретичні основи мови програмування C++ та середовища розробки Microsoft Visual C++, яка дозволяє створювати як маленькі программи і утиліти для персонального використання, так і корпоративні системи, що працюють з базами даних на різних плтаформах.
реферат [26,5 K], добавлен 01.04.2010Аналіз технологій розробки систем моніторингу і управління та різноманітності мов програмування. Створення проекту структури Інтернет-магазину, розробка бази даних, UML-діаграми та алгоритму виконання функцій додатку. Результати тестування програми.
дипломная работа [1,6 M], добавлен 08.06.2015Розробка кросплатформового інструменту електронного тестування учнів молодших та середніх класів по іноземній мові. Вибір середовища розробки та системи контролю версій. Опис мови програмування Java та лістинг програми. Апаратні та програмні вимоги.
дипломная работа [608,3 K], добавлен 26.10.2010Стандарти технології Fast Ethernet. Перелік функцій користувачів та прав доступу. Розставлення робочих станцій та периферійної техніки у приміщенні клубу. Розрахунок трафіку мережі. Вибір й характеристики обладнання для серверів та комутуючих пристроїв.
дипломная работа [997,0 K], добавлен 23.07.2014Аналіз питання розвитку глобальної мережі Інтернет в Херсонській області. Підходи щодо оцінки регіональних диспропорцій у кількості користувачів мережі за обліковими аккаунтами соціальних мереж. Оцінка забезпеченості населення доступом до мережі Інтернет.
статья [116,8 K], добавлен 05.10.2017Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.
курсовая работа [335,3 K], добавлен 11.01.2015Історія виникнення та розвитку мережі Інтернет. Загальні принципи роботи та основні функції всесвітньої мережі. Законодавче та правове регулювання інформаційної діяльності. Дослідження досвіду України у формуванні інформаційно-комунікативного суспільства.
дипломная работа [841,9 K], добавлен 15.03.2014Бібліотека Pcap та її реалізація WinPcap під платформу Windows. Аспекти робот з бібліотекою WinPcap. Штучні нейронні мережі. Застосування бібліотеки Winpcap для захоплення мережевого трафіку. Реалізація нейронної мережі Кохонена для аналізу заголовків.
дипломная работа [2,2 M], добавлен 09.06.2012