- •Вп нуБіП україни
- •Тема 1. Життєвий цикл програмних продуктів та архітектура, теорія і методи програмування. 7
- •Тема 7. Corba - технологія . 70
- •Тема 12. Тестування та налагодження програмних застосувань. 120
- •Поняття життєвого циклу програмного продукту.
- •Основні процеси життєвого циклу програмного продукту.
- •1.3. Допоміжні основні процеси (що підтримують) процеси життєвого циклу програмного продукту
- •1.4. Організаційні процеси життєвого циклу програмного продукту
- •1.5. Взаємозв'язок між процесами життєвого циклу програмного продукту
- •Лекція № 2
- •2.2. Визначення вимог до програмних продуктів.
- •2.3. Функціональні вимоги. Експлуатаційні вимоги.
- •2.3. Функціональна специфікація програмного засобу.
- •2.4. Вибір архітектури програмного забезпечення. Структура і формат даних.
- •2.5. Вертифікація -статичні, напівстатичні і динамічні структури. Класифікація структур даних.
- •2.6. Прості структури даних.
- •2.7. Статичні структури даних. Напівстатичні структури даних.
- •2.8. Динамічні структури даних
- •Лекція № 3
- •3.1. Загальна характеристика і компоненти проектування.
- •3.2. Еволюція розробки програмного продукту.
- •3.3. Структурне програмування. Об'єктно-орієнтоване проектування.
- •3.4. Збирані метрики, використовувані методи, стандарти і шаблони.
- •Лекція № 4
- •Зародження об' єктної моделі.
- •4.2. Об' єктно - орієнтований аналіз, дизайн і проектування.
- •4.3. Парадигми програмування.
- •4.4. Нові концепції програмування.
- •4.5. Об'єктно-орієнтоване програмування.
- •4.6. Уніфікована мова моделювання. Мови і платформи розробки.
- •4.7. Засоби розробки програмного забезпечення. Оптимальний порядок вивчення топ.
- •4.8. Об'єктно-орієнтований підхід. Характеристики об'єктно-орієнтованих мов
- •Лекція № 5
- •5.1. Особливості моделі клієнт сервер в sql Server.
- •5.2. Архітектура sql Server. Огляд компонентів і можливостей sql Server 7.0
- •5.3. Transact - sql. Додатки командного рядка. Додатки з графічним інтерфейсом
- •5.4. Архітектура баз даних. Реляційні особливості sql Server
- •Лекція № 6
- •План лекції
- •Самостійна робота
- •Зміст лекції
- •6.1. Вступ до компонентного програмування.
- •6.2. Основні поняття com технологій.
- •6.3. Інтерфейс com - об' єктів.
- •6.4. Ідентифікатори, використовувані в сом технології
- •Лекція № 7
- •7.1. Технологія corba.
- •7.2. Середовище Delphi. (смирнов 67)
- •7.3. Corba технології при програмуванні в середовищі Delphi.
- •7.4. Елементи ActiveX, що управляють.
- •Лекція № 8
- •8.1. Деякі теоретичні відомості про uml - уніфіковану мову моделювання.
- •8.2. Призначення мови uml.
- •8.3. Загальна структура мови uml.
- •8.4. Загальні відомості про пакети в мові uml. Основні пакети метамоделі мови uml.
- •8.5. Специфіка опису метамоделі мови uml.
- •8.6. Особливості зображення діаграм мови uml
- •Лекція № 9
- •9.1. Саsе - технології та саsе -засоби проектування.
- •9.2.Класифікація case -засобів.
- •9.3.Етапи створення інформаційних систем.
- •9.4.Моделі життєвого циклу програмного забезпечення іс
- •9.5.Особливості проектування інформаційних систем
- •Лекція № 10
- •10.1.Основні поняття про надійність програмних продуктів і методи її забезпечення.
- •10.2. Методи забезпечення надійності на різних етапах життєвого циклу розробки програмного продукту.
- •10.3. Інструменти, що забезпечують надійність програмних продуктів. План забезпечення надійності.
- •10.4. Основні поняття і показники надійності програмних засобів.
- •10.5. Дестабілізуючі чинники і методи забезпечення надійності функціонування програмних засобів.
- •Лекція № 11
- •11.1. Нормативні документи по стандартизації і відіа стандартів.
- •11.2. Стандарти в області програмного забезпечення.
- •11.3. Загальна характеристика стану в області документування програмних засобів.
- •11.4. Єдина система програмної документації гост 19.101-77 еспд.
- •11.5. Види програм і програмних документів.
- •11.6.Стадії розробки. Загальні вимоги до програмних документів. Технічне завдання.
- •11.7.Опис програми. Записка пояснення.
- •11.8.Керівництво системного програміста. Вимоги до змісту і оформлення.
- •11.9.Керівництво програміста. Керівництво оператора. Опис мови.
- •Лекція № 12
- •12.1. Основні визначення. Економіка тестування.
- •12.2. Тестування програми як "чорного ящика". Тестування програми як "білого ящика".
- •12.3. Аксіоми (принципи) тестування.
- •12.4. Філософія тестування.
- •12.5. Тестування модулів.
- •12.6.Покрокове тестування. Висхідне тестування. Низхідне тестування.
- •12.7.Метод "великого стрибка". Метод сандвіча. Модифікований метод сандвіча.
- •12.8.Комплексне тестування. Проектування комплексного тіста. Виконання комплексного тіста.
- •Лекція № 13
- •13.2. Серия стандартов isо 9000
- •13.4. Процес сертифікації програм на базі інформації про їх використання.
- •13.5. Супровід програм.
- •13.6.Види програмних документів. Записка пояснення.
- •13.7.Посібник користувача.
- •13.8.Керівництво системного програміста.
- •13.9. Атестація програмних засобів.
2.3. Функціональні вимоги. Експлуатаційні вимоги.
Для забезпечення взаємодії між підсистемами у ряді випадків не вимагається створювати які-небудь додаткові програмні компоненти (окрім реалізації зовнішніх функцій) - для цього може бути досить заздалегідь фіксованих угод і стандартних можливостей базового програмного забезпечення (операційної системи). Так в комплексі автономно виконуваних програм для забезпечення взаємодії досить опису (специфікації) загального зовнішнього інформаційного середовища і можливостей операційної системи для запуску програм. У шаруватій програмній системі може виявитися достатнім специфікації виділених програмних шарів і звичайний апарат звернення до процедур. У програмному конвеєрі взаємодія між програмами також може забезпечувати операційна система (як це має місце в операційній системі UNIX).
Проте у ряді випадків для забезпечення взаємодії між програмними підсистемами може потрібно створення додаткових програмних компонент. Так для управління роботою комплексу автономно виконуваних програм часто створюють спеціалізований командний інтерпретатор, зручніший в цій предметній області для підготовки необхідного зовнішнього інформаційного середовища і запуску необхідної програми, чим базовий командний інтерпретатор використовуваної операційної системи. У шаруватих програмних системах може бути створений особливий апарат звернення до процедур шару (наприклад, що забезпечує паралельне виконання цих процедур). У колективі паралельно діючих програм для управління портами повідомлень потрібно спеціальну програмну підсистему. Такі програмні компоненти ніяких зовнішніх функцій не виконують - вони реалізують функції, що виникли в результаті розробки архітектури програмного засобу. У зв'язку з цим такі функції ми називатимемо архітектурними.
Специфікація якості програмного засобу.
Розробка специфікації якості зводиться, по-существу, до побудови своєрідної моделі якості ПС. У цій моделі має бути перелік усіх тих досить елементарних властивостей, які вимагається забезпечити в ПС, що розробляється, і які в сукупності утворюють прийнятну для користувача якість ПС. При цьому кожна з цих властивостей має бути достатньою мірою конкретизована з урахуванням визначення вимог до ПС, що розробляється, і можливості оцінки його наявності у розробленого ПС або необхідної міри володіння ним цим ПС.
Для конкретизації якості ПС по кожному з критеріїв використовується стандартизованный набір досить простих властивостей ПС, що однозначно інтерпретуються розробниками. Такі властивості ми називатимемо примітивами якості ПС. Деякі з примітивів можуть використовуватися за декількома критеріями. Нижче наводиться залежність критеріїв якості від примітивів якості ПС.
Функціональність: завершеність.
Надійність: завершеність, точність, автономність, стійкість, захищеність.
Легкість застосування : П-документированность, інформативність (тільки стосовно документації по застосуванню), комунікабельність, стійкість, захищеність.
Ефективність: временнaя ефективність, ефективність по пам'яті, ефективність по пристроях.
Сопровождаемость. З цим критерієм пов'язано багато різних примітивів якості. Проте їх можна розподілити по двох групах, виділивши два підкритерії якості : изучаемость і модифікується. Изучаемость - це характеристики ПС, які дозволяють мінімізувати зусилля із вивчення і розуміння програм і документації ПС. Та, що модифікується - це характеристики ПС, які спрощують внесення в нього необхідних змін і доопрацювань.
Изучаемость: С-документированность, інформативність (тут застосовно і до документації по супроводу), зрозумілість, структурованість, легкість для читання.
Модифікується: розширюваність, структурованість, модульність.
Мобільність: незалежність від пристроїв, автономність, структурованість, модульність.
Нижче даються визначення використовуваних примітивів якості ПС.
Завершеність - властивість, що характеризує міру володіння ПС усіма необхідними частинами і рисами, що вимагаються для виконання своїх явних і неявних функцій.
Точність - міра, що характеризує прийнятність величини погрішності у видаваних програмами ПС результатах з точки зору передбачуваного їх використання.
Автономність - властивість, що характеризує здатність ПС виконувати наказані функції без допомоги або підтримки інших компонент програмного забезпечення.
Стійкість - властивість, що характеризує здатність ПС продовжувати коректне функціонування, незважаючи на завдання неправильних (помилкових) вхідних даних.
Захищеність - властивість, що характеризує здатність ПС протистояти умисним або ненавмисним деструктивним (що руйнує) діям користувача.
П-документированность - властивість, що характеризує наявність, повноту, зрозумілість, доступність і наочність учбової, інструктивної і довідкової документації, необхідної для застосування ПС.
Інформативність - властивість, що характеризує наявність у складі ПС інформації, необхідної і достатньої для розуміння призначення ПС, прийнятих припущень, існуючих обмежень, вхідних даних і результатів роботи окремих компонент, а також поточного стану програм в процесі їх функціонування.
Комунікабельність - властивість, що характеризує міру, в якій ПС полегшує завдання або опис вхідних даних, а також забезпечує видачу корисних відомостей у формі і із змістом, простими для розуміння.
Временнaя ефективність - міра, що характеризує здатність ПС виконувати покладені на нього функції за певний відрізок часу.
Ефективність по пам'яті - міра, що характеризує здатність ПС виконувати покладені на нього функції при певних обмеженнях на використовувану пам'ять.
Ефективність по пристроях - міра, що характеризує економічність використання пристроїв машини для вирішення поставленого завдання.
С-документировапнность - властивість, що характеризує з точки зору наявності документації, що відбиває вимоги до ПС і результати різних етапів розробки цієї ПС, включаючі можливості, обмеження і інші риси ПС, а також їх обгрунтування.
Зрозумілість - властивість, що характеризує міру в якій ПС дозволяє особі, що вивчає його, зрозуміти його призначення, зроблені допущення і обмеження, вхідні дані і результати роботи його програм, тексти цих програм і стан їх реалізації. Цей примітив якості синтезований нами з таких примітивів ИСО, як узгодженість, самодокументированность, чіткість і, власне, зрозумілість.
Структурованість - властивість, що характеризує програми ПС з точки зору організації взаємозв'язаних їх частин в єдине ціле певним чином (наприклад, відповідно до принципів структурного програмування).
Легкість для читання - властивість, що характеризує легкість сприйняття тексту програм ПС (відступи, фрагментація, форматив-ность).
Розширюваність - властивість, що характеризує здатність ПС до використання більшого об'єму пам'яті для зберігання даних або розширення функціональних можливостей окремих компонент.
Модульність - властивість, характеризуюче ПС з точки зору організації його програм з таких дискретних компонент, що зміна однієї з них чинить мінімальну дію на інші компоненти.
Незалежність від пристроїв - властивість, що характеризує здатність ПС працювати на різноманітному апаратному забезпеченні (різних типах, марках, моделях ЕОМ).