
- •Загальні положення
- •Мета й завдання курсової роботи, загальні вимоги до її написання
- •Вибір теми й завдань дослідження, складання плану роботи
- •Підбір літератури та матеріалів за темою курсової роботи
- •Структура й зміст курсової роботи
- •1. Інженерно-технологічна постановка задачі
- •2. Архітектурне проектування
- •3. Проектування інтерфейсу користувача
- •4. Проектування компонентів, структур даних та алгоритмів
- •5. Проектування тестування
- •Висновки
- •Список літератури
- •Додатки
- •Критерії оцінювання курсової роботи
- •Розподіл балів, які отримують студенти за виконання курсової роботи
- •Шкала оцінювання: національна та ects
- •Додаток а Теми курсових робіт
- •Додаток б Зразок оформлення титульного аркуша курсової роботи
- •Кафедра „Комп’ютерні і інформаційні технології” курсова робота з дисципліни «Архітектура та проектування програмного забезпечення»
2. Архітектурне проектування
Фаза розробки архітектури системи пов'язана з виділенням модулів, розподілом функцій між модулями і встановленням правил взаємодії модулів з метою організації належного функціонування системи в цілому. Перелік функцій складається на етапі розробки специфікацій, проте він містить тільки коротку характеристику всіх функцій без будь-якого явного об'єднання або того, що мається на увазі їх в групи в рамках конкретних модулів.
При розробці структури необхідно пам'ятати, що її програмна реалізація повинна забезпечити не тільки виконання необхідних функцій і відсутність побічних ефектів, але і такі якості програми, як ефективність, дружність до користувача, надійність і легкість відновлення після збою, мінімальний розмір і вартість.
Структура повинна бути обрана достатньо вдало, щоб забезпечити можливість подальшої підтримки і модифікації програми (модифікація програми може бути пов'язана з переходом на інші апаратні засоби або ОС, виявленням помилок, змінами вхідних даних, додаванням нових функцій і ін.).
Для процедурно-орієнтованого підходу розроблені наступні основні стратегії структурного проектування:
низхідне проектування (функціональна декомпозиція);
висхідне проектування (функціональний синтез);
комбіновані стратегії (наприклад, "зсередини до меж");
стратегії, орієнтовані на структури даних;
стратегії, орієнтовані на потоки даних.
Під стратегією проектування звичайно розуміють початкові умови, загальну спрямованість і основні принципи розробки системної архітектури. Вказані вище стратегії проектування достатньо добре описані в літературі (див., наприклад [41, 44]).
При розбитті програми на модулі необхідно враховувати такі характеристики, як зв'язність (міцність) модуля і зчеплення модулів [35].
Основою методології об‘єктно-орієнтованого проектування є класифікація. Для первинної класифікації найбільш практичними вважаємо методи та поснований на неформальному описі системи [51].
3. Проектування інтерфейсу користувача
Для більшості прикладних програм проектування слід починати з розробки інтерфейсу користувача. Інтерфейс, як відомо, є набором правил і прийомів взаємодії користувача з комп'ютером.
Проектувати інтерфейс необхідно окремо від алгоритмів обробки та обчислення. Предметом ретельного аналізу розробника інтерфейсу повинен стати склад і форма представлення вхідних і вихідних даних програми.
За сучасними поняттями інтерфейс розглядається як один з основних показників якості прикладних систем. У зв'язку з цим до нього пред'являється цілий ряд вимог, які охоплюють, в основному, три аспекти:
простота освоєння і запам'ятовування операцій системи, адаптованість;
швидкість досягнень мети задачі, що вирішується за допомогою системи;
суб'єктивна задоволеність при експлуатації системи.
Під адаптованістю розуміють здатність автоматизованого настроювання інтерфейсу на потреби різних користувачів, а також на одного користувача в різні періоди його роботи.
Швидкість досягнення цілей визначається не швидкодією ЕОМ, а кількістю "сходинок" інтерфейсу, які треба подолати, щоб отримати необхідний результат.
Важливою якістю, що забезпечує суб'єктивну задоволеність, є узгодженість інтерфейсу, коли у користувача формується система очікування однакових реакцій на однакові дії. Слід враховувати як внутрішню (узгодженість усіх складових інтерфейсу системи), так і зовнішню узгодженість (узгодженість з іншими системами, якими користується потенційний користувач, наприклад з ОС Windows).
Узгоджений інтерфейс скорочує число помилок користувача і сприяє тому, що користувач відчуває себе комфортніше при роботі з системою.
Хорошими зразками для наслідування при проектуванні є інтерфейси систем Borland C++, Microsoft Office, ОС Windows та ін.
Складовою інтерфейсу є проект діалогу з користувачем, що є послідовністю запитів користувача і реакцій комп'ютера. В процесі виконання діалогових дій здійснюється навігація у програмному засобі. Уніфікованими діями є:
введення (просунутися на один крок вперед);
відмова (повернутися на один крок);
вихід з функції (повернутися на конкретну точку додатку);
вихід з програмного засобу (повернутися в операційну систему).
Набір унікальних дій надає користувачу вибір з декількох напрямків ходу діалогу. Під час навігації введена або змінена інформація може відображатися або зберігатися. Інформація не зберігається до тих пір, поки користувач не вкаже явно, що дія повинна закінчитися збереженням інформації.
Однією з форм наочного відображення діалогових дій є схема навігації, на якій показуються стани діалогу у вигляді геометричних фігур і переходи між ними залежно від дій користувача (це можуть бути панелі, вікна, окремі питання). Переходи показують лініями, що з‘єднують фігури.
При розробці прикладних систем, орієнтованих на користувача, після проектування інтерфейсу бажано провести макетування, тобто створити прообраз майбутньої системи з використанням реального інтерфейсу і імітацією основних функцій. Це дозволить користувачу безпосередньо побачити результати, до яких приводять його вимоги, і уточнити їх, а розробнику – уникнути проектних рішень, які надалі могли б призвести до необхідності значних переробок в проекті.
Розробка інтерфейсу користувача важлива ще і тому, що принципи організації цього інтерфейсу тісно пов'язані з архітектурою системи в цілому. Це значить, що деякі характеристики інтерфейсу користувача можуть зумовити цілком певні підходи до побудови архітектури системи і навпаки.
Якщо програмний продукт передбачає роботу з декількома користувачами, наприклад, головний бухгалтер, бухгалтер з матеріальної частини, бухгалтер з заробітної платні. то треба проектувати декілька узгоджених інтерфейсів.
Результат проектування інтерфейсу користувача складається з запроектованих екранних форм та схеми навігації.