- •1 Загальна частина
- •1.1 Аналіз предметної області
- •1.1.1 Аналіз інформаційного забезпечення
- •1.1.2 Постановка задачі
- •1.1.3 Аналіз існуючих програмних продуктів
- •1.1.3.1 Google Форми
- •1.1.3.2 Сервіс VirtualExS
- •1.2.1 Виділення та опис бізнес-процесів програмного продукту
- •1.1.4 Визначення основних термінів програмного продукту
- •1.2 Розробка sadt-діаграми
- •1.2.2 Документування бізнес-процесу програмного продукту на основі sadt-діаграм
- •1.3 Технічне завдання на розробку програмного продукту
- •1.3.1 Введення
- •1.3.2 Підстави для розробки
- •1.3.3 Призначення розробки
- •1.3.5 Вимоги до програмної документації
- •1.3.6 Техніко-економічні показники
- •1.3.7 Стадії і етапи розробки
- •1.3.8 Порядок контролю і приймання
- •1.4 Розробка засобів моделювання програмного продукту
- •1.4.1 Розробка логічної моделі
- •1.4.1.1 Діаграма прецедентів
- •1.4.1.3 Діаграма послідовності
- •1.4.1 Опис мови (середовища) програмування
- •1.4.1.1 Загальні відомості мови c#
- •1.4.2.2 Елементи мови c#
- •2 Спеціальна частина
- •2.1 Структура програмного продукту
- •2.2 Структура і функціональне призначення модулів програмного продукту
- •3 Економічний розділ
- •3.1 Розрахунок капітальних витрат на створення програмного продукту
- •3.2 Розрахунок річної економії поточних витрат
- •4 Розділ з охорони праці
- •4.1 Теоретична частина
- •4.1.1 Вимоги до освітлення
- •4.1.2 Вимоги до магнітних випромінювань
- •4.1.3 Організація робочого простору
- •4.1.4 Вимоги до електробезпеки
- •4.1.5 Вимоги до пожежної безпеки
- •4.1.6 Вимоги до режиму праці і відпочинку
- •4.2 Практична частина
- •4.2.1 Оцінка категорії важкості праці
- •4.2.2 Оздоровлення повітря робочої зони
- •4.2.3 Захист від шуму та вібрації
- •4.2.4 Оцінка ефективності заходів з охорони праці
1.4.1.3 Діаграма послідовності
Діаграма послідовності (Sequence diagram) – діаграма, на якій показані взаємодії об'єктів, впорядковані за часом їх прояву. Використовується в мові UML.
Основними елементами діаграми послідовності є позначення об'єктів (прямокутники), вертикальні лінії (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.
