Автор работы: Пользователь скрыл имя, 12 Января 2011 в 16:29, курсовая работа
При здійсненні постачань на підприємство проводиться обробка і зберігання великої кількості інформації, пов'язаної з постачаннями, яка включає:
своєчасне і правильне оформлення документів і контроль за кожною операцією надходження товарів від постачальників, з переробки і інших джерел, виявлення розбіжності фактичної наявності і кількості, вказаної в супровідних документах;
контроль за своєчасним, повним і правильним оприбутковуванням товарів, що поступили;
своєчасне і правильне оформлення документації і контроль за кожною операцією відпустки, відвантаження або реалізації товару;
контроль за дотриманням нормативів запасу товарів.
Висновок
Література
Додаток 1
Додаток 2
Додаток 3
2.3
Вибір концептуальної
моделі.
Для вибору концептуальної моделі даних розглянемо три їх різновиди:
Семантична модель грунтується на побудові семантичної мережі. Під семантичною мережею розуміють орієнтований граф, що складається з помічених вершин і дуг і задаючий об'єкти і відносини наочної області. Семантичні мережі володіють поряд достоїнств, а саме:
Але не дивлячись на ці переваги, семантична модель даних володіє поряд недоліків, один з яких і найбільш істотний, полягає в тому, що побудова реляційної моделі даних на основі семантичних мереж утруднена.
Фрейми виражаються структурами даних з прив'язаними процедурами обробки цих даних. Фрейми можуть бути наступних видів: подієві, характеристики, логічні предикати. Використання фреймової моделі так само недоцільно, оскільки дана модель не відображає типи зв'язків [14] в реляційній моделі даних.
Модель “суть-зв'язок” описується в термінах суть, зв'язок, значення. Суть – поняття яке може бути ідентифіковане. Зв'язок – з'єднання суті. Для представлення зв'язків і суті введений спеціальний метод: ER-диаграма [27]. Розрізняється суть трьох основних класів: стрижньові, асоціативні і характеристичні. Стрижньова суть – це незалежна суть (їй властиве незалежне існування). Асоціативна суть або асоціація розглядається як зв'язок між двома або більш суттю типу "багато -ко- багатьом" або подібні до них. Характеристична суть (або характеристика) є суттю, єдина мета якої, в рамках даної наочної області, полягає в описі або уточненні деякій іншій суті. ER-диаграма – графічне представлення взаємозв'язків суті. Кожна безліч суті представляється прямокутником, а безліч зв'язків – ромбом. Зв'язки можуть бути трьох типів: “один до одного”, “один до багатьом”, “багато до багатьом”. дані типи зв'язку властиві реляційній моделі, як і суть, якій в реляційній моделі відповідають таблиці.
2.4 Процес моделювання.
2.4.1
Виділення суті
Суть “постачальник” є стрижньовою суттю моделі, що розробляється. З постачальником полягає договір, на підставі якого ведеться решта всієї діяльності підприємстві по постачаннях, відправлення заявки постачальникам, отримання від них рахунку-фактури, відправлення замовлення на постачання, отримання товару, оплата постачання. Як ключ для даної суті вводиться атрибут № Постачальника.
Вся суть, їх атрибути і ключі представлені в табл. 2.1.
Таблиця 2.1
Назва суті | Атрибут | Ключ |
Договір | №Договора, дата договору, сума договору, термін дії. | №Договора |
Постачальник | №Поставщика, найменування постачальника, адреса, телефон. | №Поставщика |
Асортимент товарів | №Товара, найменування товару. | №Товара |
Заявка | №Заявки, асортимент заявки, номер договору, дата заявки. | №Заявки |
Замовлення | №Заказа, №Договора, асортимент замовлення, дата замовлення, номер рахунку. | №Заказа |
Рахунок | №Счета, асортимент рахунку, ціна за одиницю товару, сума рахунку. | №Счета |
3. Проектування алгоритмів довідково-інформаційної системи обліку і контролю постачань на підприємство.
Алгоритмізація в найзагальнішому вигляді може бути визначена як процес направленої дії проектувальника (групи проектувальників), необхідний для вироблення алгоритмів, достатніх для реалізації створюваного об'єкту (системи), що задовольняє заданим вимогам [19]. Завершуючим етапом алгоритмізації є випуск набору алгоритмів, що відображає рішення, прийняті проектувальником, у формі, необхідній для виробництва об'єкту (системи). При проектуванні системи я використовував три класи алгоритмів:
3.1
Вибір методу проектування
АСИС.
Метод — це послідовний процес створення моделей, які описують цілком певними засобами різні сторони програмної системи, що розробляється [18]. Методи важливі з кількох причин. По-перше, вони упорядковують процес створення складних програмних систем. По-друге, вони дозволяють менеджерам в процесі розробки оцінити ступінь просування і ризик.
Обычно методы проектирования делятся на три основные группы;
Для структурного проектування характерна алгоритмічна декомпозиція. Слід зазначити, що більшість програм написана відповідно до цього методу. Проте структурний підхід не дозволяє виділити абстракції і забезпечити обмеження доступу даним; він також не надає достатніх засобів для організації паралелізму. Структурний метод не може забезпечити створення гранично складних систем, і він, як правило, неефективний в об'єктних і об'єктно-орієнтованих мовах програмування. Тому даний метод не використовувався для проектування АСИС “Облік постачань”.
У методі
потоків даних програмна
Об'єктно-орієнтоване проектування (object-oriented design, OOD) — это підхід в основі якого лежить уявлення про те, що програмну систему потрібно проектувати як сукупність об'єктів, що взаємодіють один з одним, розглядаючи кожен об'єкт як екземпляр певного класу, причому класи утворюють ієрархію. Об'єктно-орієнтований підхід відображає топологію новітніх мов високого рівня, таких як Object Pascal, C++, Smalltalk [23] і ін. Моделі, для проектування якої використовується вищеназваний підхід проектування властиві чотири головні елементи:
Абстрагування дозволяє виділити істотні характеристики проектованого об'єкту, що відрізняють його від інших об'єктів;
Інкапсуляція – процес відділення один від одного елементів об'єкту, що визначають його пристрій і поведінку. Вона дозволяє ізолювати контрактні зобов'язання абстракції від їх реалізації.
Модульна – властивість системи, яка була розкладена на внутрішньо зв'язкові, але слабо зв'язані між собою модулі.
Ієрархія – впорядковування абстракцій, розташування їх по рівнях.
Абстракція і інкапсуляція доповнюють один одного. Абстрагування направлене на спостереження поведінки об'єкту ззовні, а інкапсуляція визначає чіткі межі між різними абстракціями, тобто спостереження за поведінкою об'єкту зсередини.
Використання цих елементів проектування і дозволяє значно збільшити продуктивність будь-якої проектованої системи.
Таким
чином, для проектування АСИС використовується
об'єктно-орієнтований підхід.
3.2.
Аналіз алгоритмів
роботи з базою
даних
Система управління розробленою БД використовує реляційний підхід для побудови бази даних [20]. Подібні системи засновані на реляційній моделі даних, які використовуються для моделювання взаємозв'язків між об'єктами реального миру і для зберігання даних про ці об'єкти. Застосування реляційної моделі даних [27] обумовлене використанням реляційної алгебри і відповідних алгоритмів і операцій для виконання дій над даними. Використання алгоритмів реляційної алгебри [20] дозволяє забезпечити високу продуктивність роботи з базою даних.
Основні
операції реляційної алгебри були вперше
запропоновані Коддом [26]. Він довів, що
запити, що формулюються за допомогою
мови числення можуть бути сформульовані
в мовах реляційної алгебри і навпаки
[18], т.е запити представлені за допомогою
мови реляційної алгебри можуть бути використані
для виконання запитів до розробленої
БД. Нижче приведений ряд запитів до БД:
SELECT nomer_dogovora, postav.nomer_postav, dogovor.nomer_postav,
naimen_post
FROM postav, dogovor
WHERE
postav.nomer_postav=dogovor.
SELECT
select nomer_zajavki, zajavka.nomer_dogovora,
dogovor.nomer_dogovora, naimen_post,postav.nomer_
dogovor.nomer_postav
FROM from zajavka,dogovor,postav
WHERE
(zajavka.nomer_dogovora=
AND (postav.nomer_postav=dogovor.
SELECT nomer_zakaza, zakaz.nomer_dogovora, dogovor.nomer_dogovora,
naimen_post,postav.nomer_
FROM zakaz, dogovor, postav
WHERE
(zakaz.nomer_dogovora=dogovor.
AND (postav.nomer_postav=dogovor.
Розглянемо чотири операції над відносинами [20]:
Селекція (selected_on – піддані селекції по) зменшує кількість рядків в таблиці, і її можна представити як результат розрізання таблиці по горизонталі і видалення непотрібних кортежів. Формально селекція записується так:
R selected_on [<предикат>] { синтаксис мови запитів (SQL)}
Тут <предикат> - це логічний вираз, який може містити порівняння значень одних атрибутів із значеннями інших в тому ж кортежі або з константами. В результаті зберігаються тільки рядки, що задовольняють <предикату>.
Операція селекції відповідає програмам, які вибирають записи з файлів і друкують ці записи. Проте умови відбору можуть відноситься тільки до окремо узятих записів. Наприклад, неможливо вибрати запис, виходячи з того, що значення якого-небудь її поля рівно або більше, ніж значення цього поля в записі, що передйде. Насправді майже неможливо змоделювати поведінку автомата з кінцевим числом станів, який змінює свій стан для кожного запису, змінюючи тим самим критерії відбору для наступного запису.
Проекція (projected_to – спроектоване на) зменшує кількість стовпців в таблиці; дану операцію можна уявити собі як розрізання по вертикалі назва операції має своїм джерелом поняття проекції безлічі точок N-мерного простору в простір з меншою кількістю вимірювань. Наприклад, в результаті проекції безлічі точок площини (Х,у) на вісь Х виходить безліч крапок, розташованих на цій осі. На жаль, значення проекцій деяких “крапок” можуть співпадати; це відбудеться у тому випадку, коли проекція видалить стовпець, що входить в ключ, так що частини двох “укорочених” кортежів, що залишилися, можуть бути ідентичними. Тоді доведеться видалити дублікати і тим самим зменшити кількість рядків, тобто розмір БД. Якщо хоч би один з можливих ключів при виконанні проекції залишиться незачепленим, то дублікатів не буде.