Розробка програмного забезпечення є визначальним елементом курсового проектування і може вестися з використанням водоспадної (мал.1 а) чи ітеративної (мал.1 б) моделей розробки [3,4,5]. Модель "водоспаду" [5] може бути використана для розробки ПЗ невеликого розміру (до 10000 операторів вихідної мови) з добре визначеною алгоритмічною базою.
а) водоспадна модель б) ітеративна модель
Мал.1. Етапи життєвого циклу програмного забезпечення
Метою етапу аналізу є опис задачі, що повинен бути повним, послідовним, доступним для читання й огляду різними зацікавленими сторонами, що дозволяє робити порівняння з реальними умовами.
У ході цього етапу зважуються задачі:
- уточнення вимог, приведених у завданні на проектування;
- розробка специфікацій на ПЗ.
Підсумком виконання цього етапу є експлуатаційні і функціональні специфікації, що містять конкретний опис ПЗ.
Експлуатаційні специфікації повинні містити зведення про швидкодію ПЗ, витратах пам'яті, необхідних технічних засобах, надійності і т.д. Функціональні специфікації визначають функції, що повинне виконувати ПЗ. Специфікації повинні бути повними, точними і ясними.
Ціль етапу проектування - ієрархічна розбивка складної задачі створення ПЗ на підзадачі меншої складності.
На етапі проектування зважуються наступні задачі:
- формування структури ПЗ і розробка алгоритмів, що задаються специфікаціями;
- визначення складу модулів з поділом їх на ієрархічні рівні;
- вибір структури інформації в базі даних;
- фіксація між модульних інтерфейсів.
Результатом роботи на цьому етапі є специфікації на окремі модулі, подальша декомпозиція яких недоцільна.
Ціль етапу тестування і налагодження - виявлення в ПЗ помилок, перевірка працездатності ПЗ, його відповідність специфікаціям.
У ході цього етапу зважуються наступні задачі:
- підготовка даних для налагодження;
- планування налагодження;
- розробка тестів;
- іспит ПЗ.
Результатом роботи повинне бути відтестоване і налагоджене ПЗ.
Зразкові тимчасові співвідношення між окремими видами робіт при водоспадної моделі можна представити мережним графіком розробки ПЗ (мал.2), цифри на який означають час у відсотках від повної тривалості курсового проектування.
Мал.2
Розподіл тимчасових витрат по етапах розробки представлене в табл.1.
Таблиця 1. Розподіл часу по етапах розробки ПО для водоспадної моделі у відсотках до загального часу розробки.
Види робіт | Етапи розробки | ||||
Аналіз | Проекту-вання | Програму-вання | Тестування і налагодження | Усього | |
Аналіз вимог і розробка специфікацій | |||||
Підготування даних для налагодження | |||||
Планування налагодження | |||||
Проектування | |||||
Розробка тестів | |||||
Програмування | |||||
Іспит програм-ного виробу | |||||
Документування | |||||
Усього |
Об’єктно - орієнтований підхід руйнує монотонність окремих етапів водоспадної моделі розробки ПО і їхню строгу послідовність. Об’єктно - орієнтована розробка ПЗ базується
не тільки на ітеративністі етапів, але і на їхньому довільному чергуванні.
Мета і задачі етапу об’єктно-орієнтованого аналізу ті ж, що і для водоспадної моделі. Підсумком виконання цього етапу є ідентифікація і моделювання основних класів і об'єктів, логічних відносин і взаємодій між ними.
На етапі об’єктно-орієнтованого проектування результати аналізу модифікуються шляхом уведення нових абстракцій і механізмів, що дозволяють більш ефективно використовувати вже ідентифіковані класи й об'єкти. Ознака завершення процесу об’єктно-орієнтованого проектування полягає в тому, що отримані ключові абстракції стають досить простими і не вимагають подальшої декомпозиції.
Еволюція в життєвому циклі розробки об’єктно- орієнтованого ПЗ сполучає традиційні етапи, що включають складання програм, їхнє тестування й інтеграцію (комплексування). Таким чином, процес розробки перетворюється в поступове складання ряду прототипів, що потім входять у кінцеву реалізацію. Складання прототипів, що розвиваються, у свою чергу стимулює розробку й оцінку альтернативних рішень, що дозволяє одержати розумний компроміс, що задовольняє ряду обмежень, які відповідають функціональним вимогам, вимогам на терміни розробки і займаний обсяг.
У процесі еволюції ПЗ в ньому можуть відбутися наступні зміни:
- додавання нового класу;
- зміна реалізації класу;
- зміна представлення класу;
- реорганізація структури класу;
- зміна інтерфейсу класу.
Розгляд етапу модифікації для ітеративної моделі розробки ПЗ не проводиться, так само як і для етапу супроводу в водоспадної моделі в зв'язку з тим, що це етапи життєвого циклу для довгочасно експлуатованих програмних виробів.
6. Приклад курсової роботи*
Вступ
У наші дні продукція фірми Microsoft набирає усе більш великі обороти. По суті її програми визнані в усьому світі, яскраве цьому підтвердження рівні її продажів. Одним із самих удалих її рішень стала серія операційних систем (ОС) Windows. Найбільш могутніми і правильно зробленими можна вважати ОС серії Windows 2000,XP та 7, які увібрали всі найкращі рішення цієї компанії. Однією з основних відмінностей цієї серії Windows від інших є наявність підсистеми безпеки, яка включає захист даних від несанкціонованого доступу (файлова системи NTFS), захист пам'яті (організується за допомогою апаратних можливостей процесора), система керування користувачами і т.д.
Темою цього приклада курсової роботи є розробка прототипу програми адміністрування користувачами в ОС Windows NT/2000.