Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Інститут комп’ютерних наук та інформаційних технологій
Лабораторна робота №4
на тему:
Аналіз інформаційних систем і процесів з використанням
системного підходу
Мета: навчитися аналізувати інформаційні системи і процеси з використанням системного підходу
Завдання:
Провести загальний опис та обґрунтування вибору СУБД та засобів розробки;
Освоїти розбиття завдання на під задачі;
освоїти процеси моделювання процесів.
Загальний опис програми та обґрунтування вибору СУБД та засобів розробки
В даній роботі планується описати програмний продукт, призначений для автоматизації роботи бібліотеки. Описана система повинна спрощувати роботу працівників бібліотеки та надаватиме можливість звичайним читачам переглядати наявні бібліотечні фонди у віддаленому режимі.
Розроблена програма буде віконним продуктом, написаним мовою програмування високого рівня C# у середовищі розробки MicroSoft Visual Studio 2012. В якості бази даних вибрано Microsoft SQL Server 2008 R2. Зв’язок програми з БД реалізовано за допомогою технології LINQ. Значна частина бізнес-логіки написана за допомогою засобів SQL Server та за допомогою середовища розробки. Моделювання, конфігурування, управління базою даних виконувалось у MS SQL Management Studio.
У програмі планується розробити:
Авторизацію користувачів;
Додавання літератури;
Додавання користувачів;
Конкретний пошук літератури;
Пошук за маскою;
Редагувати користувацькі записи;
Реєстрація користувачів;
Замовлення користувачем літератури;
Переміщення даних користувача в архів;
Переміщення даних про книги, після завершення терміну експлуатації, в архів.
Розбиття завдання на під задачі:
Технологія створення інформаційних систем (ІС) ставить особливі вимоги до методик реалізації, програмних та інструментальних засобів, а саме:
Реалізацію проектів зі створення інформаційних систем (ІС) прийнято розбивати на складові частини, тобто спершу потрібно описати логіку функціонування системи.
Необхідно визначити модулі, з яких складатиметься система та архітектуру системи. Оскільки виправлення дуже грошозатратне, потрібно правильно розбити складні «місця» системи на «дрібніші», тобто більш прості.
Проектування та розробка складної ІС неможливо повноцінно реалізувати через складність та багатогранність роботи. Гарною практикою вважається розділяти проект на дрібніші частини та виконувати лише частину роботи, за принципом «Розділяй та володарюй».
Виходячи із вище зазначених пунктів, розробку даної ІС потрібно розбити на більш прості складові частини.
Побудова моделі процесів
Діаграма IDEF0
Для розбиття основного завдання на простіші підзадачі зручно використовувати спеціальну модель процесів IDEF0 (Function Modeling). Особливістю IDEF0 є її акцент на ієрархічне представлення об'єктів, що значно полегшує розуміння предметної області. В IDEF0 розглядаються логічні зв'язки між роботами, а не послідовність їх виконання в часі (WorkFlow).
Так само відображаються всі сигнали управління. Така модель є однією з найпрогресивніших моделей і використовується в організації бізнес проектів і проектів, що базуються на моделюванні всіх процесів як адміністративних, так і організаційних [16].
На вході системи є користувач. Для запуску додатку необхідно мати комп’ютер власне самого користувача (бібліотекаря). Якщо усі умови виконані, то користувач отримує відповідну інформацію.
Рис 2. 1 IDEF0 декомпозиція 0 рівня
Декомпозиція 1-го рівня відображає усі основні процеси, які відбуваються в системі від відкриття додатку до отримання інформації та виходу з додатку.
Рис 2. 2 Декомпозиція 1-го рівня
Декомпозиція 2-го рвіня компоненту Information демонструє, які процеси відбуваються всередині цього компоненту. А також, які можливості даного компоненту. Взаємодія з іншими компонентами.
Рис 2. 3 Декомпозиція 2-го рівня компоненту Information
Під час запуску додатку відкривається початкова форма. З цієї початкової сторінки користувач проводить подальші дії з маніпулювання даними в даній БД.
З даної сторінки користувач може виконувати такі дії:
Data manipulation – маніпулювання даними, цей пункт включає в себе додавання користувачів, літератури в бібліотечні фонди, видачу літератури та повернення літератури. Після цих дій можна виконати інші дії для перегляду результатів маніпулювання даними.
Review – перегляд сукупності даних, що знаходяться в БД та результати маніпулювання даними. Дана дія включає перегляд користувачів, літератури, видачі та повернення літератури, замовленої літератури. Після виконання даної дії можна перейти на інші дії.
Information – інформація, дана дія надає додаткову інформацію про програму та розробника. В майбутньому планується розширення можливостей даної дії.
Діаграма потоків даних
Дана діаграма демонструє взаємодію системи із зовнішніми модулями. Ця діаграма в подальшому підлягає уточненню шляхом деталізації процесів та потоків даних з метою показати розлого розроблювану систему.
Діаграми потоків даних містять чотири типи графічних елементів:
процеси – представляють собою трансформацію даних в рамках описуваної системи;
сховища даних (репозиторії);
зовнішні по відношенню до системи сутності;
потоки даних між елементами трьох попередніх типів.
Рис 2. 4 DFD діаграма
Діаграма IDEF3
IDEF3 діаграма описує сценарій виконання певного процесу. Тобто описує мету та рамки моделі, на якій відображені процеси, які будуть виконуватися в розробленій системі [16].
Рис 2. 5 Діаграма IDEF3
Технології та програмні засоби
ADO.NET Entity Framework та LINQ
ADO.NET Entity Framework (EF) – об'єктно-орієнтована технологія доступу до даних,яка є object-relational mapping (ORM) рішенням для.NET Framework від Microsoft [10]. Надає можливість взаємодії з об'єктами як за допомогою LINQ у вигляді LINQ to Entities, так і з використанням Entity SQL. Для полегшення побудови застосувань використовується як ADO.NET Data Services, так і зв'язка з Windows Communication Foundation і Windows Presentation Foundation, що дозволяє будувати багаторівневі застосування, реалізовуючи один з шаблонів проектування MVC, MVP або MVVM. Платформа ADO.NET Entity Framework дозволяє розробникам створювати застосування для доступу до даних, працюючі з концептуальною моделлю застосування, а не безпосередньо з реляційною схемою зберігання. Її метою є зменшення об'єму коду і зусиль по обслуговуванню застосувань, орієнтованих на обробку даних. Застосування Entity Framework дають наступні переваги :
застосування можуть працювати з концептуальною моделлю в термінах наочної області – зокрема з успадкованими типами, складними елементами і зв'язками;
застосування звільняються від жорстких залежностей від конкретного ядра СУБД або схеми зберігання;
зіставлення між концептуальною моделлю і схемою, специфічною для конкретного сховища, можуть мінятися без зміни коду застосування;
розробники мають можливість працювати з узгодженою моделлю об'єктів застосування, яка може бути зіставлена з різними схемами зберігання, які, можливо, реалізовані в різних системах управління даними;
декілька концептуальних моделей можуть бути зіставлені з єдиною схемою зберігання;
підтримка інтегрованих в мову запитів (LINQ) забезпечує під час компіляції перевірку синтаксису запиту щодо концептуальної моделі.
Платформа Entity Framework є набір технологій ADO.NET, які забезпечують розробку застосувань, пов'язаних з обробкою даних.
Архітекторам і розробникам застосувань, орієнтованих на обробку даних, доводиться враховувати необхідність досягнення двох абсолютно різних цілей. Вони повинні моделювати сутності, зв'язок і логіку вирішення бізнес-завдань, а також працювати з ядрами СУБД, які використовуються для збереження і отримання даних.
Дані можуть розподілятися по декількох системах зберігання даних, в кожній з яких застосовуються свої протоколи, але навіть в застосуваннях, що працюють з однією системою зберігання даних, необхідно підтримувати баланс між вимогами системи зберігання даних і вимогами написання ефективного і зручного для обслуговування коду застосування.
У Entity Framework розробники дістають можливість працювати з даними, представленими у формі об'єктів, що відносяться до конкретних доменів, і властивостей, таких як клієнти і їх адреси, не будучи вимушеними звертатися до базових таблиць і стовпців бази даних, де зберігаються ці дані. Така можливість з'являється завдяки переходу на вищий рівень абстракції, на якому розробники можуть працювати з даними, застосовуючи менший об'єм коду для створення і супроводу застосувань, орієнтованих на роботу з даними.
Платформа Entity Framework є компонентом.NET Framework, тому застосування Entity Framework можна запускати на будь-якому комп'ютері, на якому встановлений.NET Framework 3.5 з пакетом оновлення SP1.
Наступні функції і компоненти платформи Entity Framework працюють спільно для забезпечення середовища програмування.
Компонент LINQ to Entities забезпечує підтримку LINQ при запитах до суттевостей. Цей компонент дозволяє розробникам писати запити до бази даних на одній з підтримуваних мов програмування.NET Framework, наприклад Visual Basic або Visual C#.
Мова Entity SQL подібна мові SQL і не залежить від типу сховища. Вона призначена для створення запитів до складних об'єктів, заснованих на моделі EDM, а також для управління ними.
Постачальник EntityClient розширює модель постачальника ADO.NET шляхом доступу до даних в термінах суттевостей і зв'язків концептуальної моделі. Він виконує запити, які використовують мову Entity SQL. Entity SQL надає базову мову запитів, яка дозволяє постачальнику EntityClient зв'язуватися з базою даних.
Разом з середовищем виконання Entity Framework.NET Framework 3.5 з пакетом оновлення 1 включає генератор моделей EDM (EdmGen.exe). Програма командного рядка з'єднується з джерелом даних і формує модель EDM на основі зіставлення типу "один до одного" між суттевостю і таблицями. У цій програмі використовується також файл концептуальної моделі (з розширенням CSDL) для формування файлу рівня об'єктів, що містить класи, які представляють типи суті і контекст ObjectContext.
Visual Studio 2010 включає обширний набір інструментів для створення і обслуговування моделі EDM в застосуванні. Конструктор Entity Data Model підтримує створення вдосконалених сценаріїв зіставлення (таких як спадкоємство типу "одна таблиця на тип" і "одна таблиця на ієрархію"), а також розділення суттевості, яка зіставлена з декількома таблицями.
Створення сутнісної моделі даних можна виконувати з допомогою майстра EDM, що надає список об'єктів, які можливо змоделювати. При цьому допускається додавання всіх таблиць в модель, тим самим провівши взаємно-однозначне зіставлення таблиць суттевостям [3]. Крім створення файлів CSDL, SSDL і MSL для всіх таблиць бази даних, майстер також створить набір класів, грунтуючись на CSDL, що представляє модель.
Доступ до концептуальної моделі Entity Framework може бути організований трьома способами:
з допомогою EntityClient;
з допомогою Object Services;
з допомогою LINQ to Entities.
Головні достоїнства ADO.NET:
дозволяє працювати з різними джерелами даних, розробник застосування може і не знати, яке СУБД буде у бази даних, з яким працюватиме його застосування, йому досить буде поміняти постачальника даних;
наявності автономних об'єктів дозволяють підвищити продуктивність і понизити навантаження на СУБД.
Головні недоліки ADO.NET:
обмежені можливості для роботи із запитами одного з найбільш широко використовуваних компонентів – DataSet.
Головні достоїнства LINQ:
за певних умов дозволяє провести глибоку інтеграцію бази даних і застосування;
значно прискорює процес написання запитів до бази даних, за рахунок, розширення синтаксису мов C# і Visual Basic;
надає компоненти для зручної роботи не тільки з базами даних, але і з об'єктами, XML-документами і т.д.
Головні недоліки LINQ:
багато функціональних можливостей, які обмежуються тільки СУБД SQL Server.
Обидві технології відмінно поєднуються, і таким чином практично закривають недоліки один одного. Таким чином, можно зробити висновок, що у разі, коли застосування працюватиме тільки з СУБД SQL Server і надалі не планується мігрувати на іншу СУБД, то доцільно буде використовувати LINQ to SQL, з повним mapping бази даних. Це при не великих тимчасових витратах дозволить використовувати не реляційну, а об'єктну модель даних, яка знайома багатьом програмістам. А так само, якщо застосування розробляється в середовищі Microsoft Visual Studio, то ще і скористатися повною мірою перевагами написання коду з технологією IntelliSense, яка дописує назву функції при введенні початкових букв, використовується для доступу до документації і для усунення неоднозначності в іменах змінних, функцій і методів, використовуя рефлексію.
У сукупності це дозволить значно прискорити процес написання застосування. Якщо розробнику не відомо наперед, яка СУБД використовуватиметься або надалі можлива зміна СУБД, то кращим варіантом буде використання технології ADO.NET для доступу до джерела даних, і зберігання даних в DataSet. А маніпуляції з даними проводити за допомогою технології LINQ to DataSet.
Мова програмування
C# – об'єктно-орієнтована мова програмування. Розроблена в 2001-х роках групою інженерів під керівництвом Андерса Хейлсберг в компанії Microsoft, як мова розробки додатків для платформи Microsoft. NET Framework і згодом був стандартизований як ECMA -334 і ISO / IEC 23270.
C# відноситься до сім'ї мов з C-подібним синтаксисом, з них його синтаксис найбільш близький до C++ і Java. Мова має статичну типізацію, підтримує поліморфізм, перевантаження операторів (у тому числі операторів явного і неявного приведення типу), делегати, атрибути, події, властивості, узагальнені типи і методи, ітератори, анонімні функції з підтримкою замикань, LINQ, винятки, коментарі у форматі XML.
Перейнявши багато що від своїх попередників – мов C++, Pascal, Модула, Smalltalk і особливо Java – С#, спираючись на практику їх використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем, наприклад, C# на відміну від C++ не підтримує множинне спадкування класів (між тим допускається множинне спадкування інтерфейсів ).
C# розроблявся як мова програмування прикладного рівня для CLR і, як такий, залежить насамперед, від можливостей самої CLR. Це стосується перш за все, системи типів C#, яка відображає BCL. Присутність або відсутність тих чи інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі (проте, ця закономірність була порушена з виходом C# 3.0, що представляє собою розширення мови, що не спираються на розширення платформи. NET). CLR надає C#, як і всім іншим. NET -орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так само, як це робиться для програм на VB.NET, J # та ін.
Вибів СУБД
Служба SQL Server Master Data Services забезпечує узгодженість даних в неоднорідних системах, технологія SQL Server StreamInsight ефективно обробляє складні потоки подій. Платформа підтримує можливість вертикального масштабування на потужних сучасних серверах архітектури x64 і Itanium до 256 логічних процесорів.
Бізнес-додатки - це критично важлива сполучна ланка між ІТ - відділом і бізнесом. До невід'ємним функціям бізнес-додатків відносяться безпечне і надійне зберігання і централізація даних, управління цими даними та їх поширення. Високопродуктивна платформа баз даних SQL Server 2008 відрізняється надійністю, масштабованість і зручністю управління. Нова версія SQL Server 2008 R2 розроблена на основі SQL Server 2008 і дозволяє ІТ- відділу ефективніше нарощувати розмір сховищ даних на найсучаснішому обладнанні, використовуючи знайомі засоби адміністрування SQL Server.
SQL Server 2008 R2 дає змогу використовувати останні досягнення в області апаратних технологій та забезпечує високий рівень масштабування на основі стандартного обладнання з невеликою загальною вартістю володіння. ОС Microsoft Windows Server 2008 R2 в комбінації з SQL Server 2008 R2 підтримує до 256 логічних процесорів.
Крім того, технологія Hyper-V у складі Windows Server 2008 краще використовує обчислювальну потужність нових багатоядерних систем. Підтримка більшої кількості віртуальних машин на одному фізичному вузлі веде до зниження витрат і поліпшення масштабованості і гнучкості віртуальної інфраструктури. Нова функція динамічної міграції дозволяє без переривання роботи переміщати віртуальну машину з одного сервера на інший. Все це забезпечує максимальну віддачу від інвестицій в устаткування і більш повну реалізацію можливостей для консолідації
За допомогою SQL Server StreamInsight можна швидко аналізувати потокову інформацію Ця технологія зменшує витрати на видобування, аналіз і кореляцію потокових даних, дозволяючи виявляти можливості і виключення в режимі реального часу.
Оптимізований модуль на основі полегшеної потокової архітектури забезпечує швидке виконання запитів до високошвидкісних даних. Розробники можуть створювати додатки StreamInsight на будь-якій мові за допомогою технології. NET. Наявність великої кількості розробників, які використовують знайомі засоби, гарантує компаніям швидке отримання віддачі від рішень StreamInsight, а також зниження пов'язаних з їх створенням витрат часу і праці.
Гнучкі сценарії розгортання і центральний інтерфейс управління дозволяють ІТ- відділу ефективно розгортати і контролювати рішення StreamInsight, а також точно відслідковувати споживання ресурсів.
Регулятор ресурсів SQL Server 2008 допомагає забезпечувати прогнозовану продуктивність на однаковому рівні. З його допомогою можна управляти робочими навантаженнями SQL Server і споживанням системних ресурсів, задаючи ліміти використання пам'яті і ЦП для окремих додатків, а також підтримувати рівномірну швидкість виконання паралельних навантажень.
Цінну інформацію можна захистити за допомогою гнучкого й прозорого механізму шифрування баз даних, файлів даних і файлів журналів. Функція шифрування даних в SQL Server 2008 дозволяє захищати інформацію від несанкціонованого використання, не залишаючи інтерфейсу вихідного додатка.
Підсистема аудиту SQL Server забезпечує дотримання нормативних вимог і створює журнал аудиту, який дає відповіді на всі питання типу "хто отримував доступ до даних ".
Висновок: ЛІТЕРАТУРА
http://lib.if.ua/spec/n_depoz.html [Інтернет ресурс]: Положення про систему зберігання бібліотечних фондів України.
http://msdn.microsoft.com/ru-ru/library/bb397926.aspx [Інтернет ресурс]: сайт, що описує технологію LINQ
Проектування інформаційних систем[Конспект лекцій]: курс лекцій по використанню технологій та розробці ІС.
Закон України «Про бібліотеки і бібліотечну справу»( Відомості Верховної Ради України (ВВР), 1995, N 7, ст.45 )
http://www.info-works.com.ua/referats/literatura/1586.html [Інтернет ресурс]: стаття – Поняття бібліотечної системи України, функції бібліотеки як документної системи.
http://library.kr.ua/zakon/zakbibsprv2.html [Інтернет ресурс]: інформаційний сайт – Закон України “Про бібліотеку та бібліотечну справу”
С# 3.0 Полное руководство. / Шилдт Г. 2010.
Visual С# на примерах. / Абрамян М.Э. 2008р.
C# 4.0 и платформа.NET4 для профессионалов. / Нейгел К., Ивьен Б., Глинн Дж., Уотсон К. - 2011.
Язык программирования C# 2010 и платформа.NET 4/ Троелсен Э. – 2010р.
Особенности объектно-ориентированного программирования на C++ - CLI, C# и Java / В. И. Медведев. 2-е издание. – 2010
Джесс Либерти - Программирование на C# (2-е издание) – 2003.
Microsoft SQL Server 2008. Основи T-SQL. / Ицик Бен-Ган. “БВХ-Петербург” 2009р. – 420ст.
http://msdn.microsoft.com/ru-ru/library/bb397926.aspx [Інтернет ресурс]: сайт, що описує технологію LINQ
Проектування інформаційних систем [Конспект лекцій]: курс лекцій по використанню технологій та розробці ІС.