- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ - М. Сидоров
Шрифт:
Интервал:
Закладка:
Український стандарт визначає програмне забезпечення (software) як програмний засіб, тобто взаємозв'язану сукупність програм, процедур, правил, документації і даних, що стосуються функціонування обчислювальної системи.
3.3. Системи програмного забезпечення
Поняття системи програмного забезпечення, або програмної системи (software system) є дуже важливим в інженерії програмного забезпечення. Але чіткого визначення цього поняття не існує. У цьому розділі для того, щоб виявити, що таке програмна система, застосовується системний підхід. Тому, перш ніж визначити поняття програмної системи розглянемо властивості комп'ютерних програм з позицій системного аналізу.
3.3.1. Комп'ютерні програми як системиІз системотехніки відомо, що об'єкт повинен володіти щонайменше чотирма властивостями, аби його можна було вважати системою, тому комп'ютерну програму можна розглядати як систему, якщо вона має такі властивості: цілісність і подрібненість, наявність зв'язків, наявність організації, наявність інтегральної якості,
Властивості цілісності і подрібненості виражаються в тому, що, з одного боку, програма - це цілісна конструкція, а з другого, - в її складі можна розрізняти елементи.
Елементи - це такі частини програми, які в даній програмі на певному рівні її розгляду не підлягають подальшому поділу на частини. Поза програмою елементи мають властивості, що є загальними і називаються системнозначимими. Увійшовши в програму, елемент набуває властивостей, що мас значення лише в цій програмі і яке називається системовизначеним. Наприклад, підпрограма обчислювальна tg(x) (системовнзначена властивість), увійшовши до складу програми управління польотом певного об'єкта, може обчислювати значення деформації (зрушення) шарів плоскої о тіла (системовизначена властивість).
Завдяки властивостям цілісності і подрібненості програма може розглядатися як єдине ціле, але таке, що складається з частин, що взаємодіють.
Властивість - наявність зв'язків (couple); виражається в наявності стійких зв'язків між елементами програми, що перевершують по силі зв'язки цих елементів з елементами, що не входять в дану програму. Зв'язки можуть бути такими, що сполучають і передають інформацію. Наявність сильних зв'язків дає змогу говорити про межу програми (там, де вони стають слабкими), а наявність межі веде до поняття зовнішнього середовища програми, яка є сукупністю елементів, що не належать програмі, але пов'язаних з нею і, що виливають на неї. Зазвичай цей вплив інтерпретується як надходження в програму вхідних значень і отримання з програми значень (результату).
Частіша межі, через яку здійснюється передавання вхідних значень і отримання результату, називається Інтерфейсом програми. Звичайна взаємодія програми і середовища має двонапрямлений характер (рис. 3.2).
Рис. 3.2. Програма і середовище
Властивість - наявність організації; виражається у взаємозалежній поведінці частин програми завдяки їх упорядкованості в часі і просторі. У результаті складається внутрішня структура програми, а завдяки процесам, що відбуваються в програмі, функції частин програми трансформуються у функції (функцію) цілої програми. Функції можуть бути корисні, даремні і шкідливі.
Корисність програми є однією з її властивостей і визначається відповідністю функції І конструкції програми вимогам, що висуваються до неї.
Властивість - наявність інтегральної якості; виражається в тому, що має місце якість, що властива програмі в цілому, але не властива жодній з її частин окремо. Тому програма не зводиться до простої сукупності її частин. Розчленувавши програму на частини і вивчивши їх окремо, не можна зрозуміти інтегральну якість програми.
3.3.2. Програмні системиПрограмною системою називається продукт інженерії програмного забезпечення, що має системні властивості та створений для застосування в певній наочній галузі.
Як правило, програмні системи є частиною складного апаратно-програмного комплексу, що включає крім комп'ютера різноманітні пристрої, робота яких заснована на різних принципах дії.
3.3.3. Класифікація програмних системЗастосування обчислювальної техніки, що постійно розширюється, призвело до появи великої різноманітності в програмних системах. Відомо багато класифікацій програмних систем. На рис. 3.3 показано одну з класифікацій, що не «претендує» на повноту. Як видно, всі програми системи поділяються на дві групи - автоматичні і автоматизовані.
Рис. 3.3. Типи програмних систем
У першій групі розрізняють автоматичні вбудовані системи (АВСТС) і автоматизовані системи управління технологічними процесами (АСУТП). До другої групи належать:
- автоматизовані інформаційні системи (АІС), що поділяються на документальні (повнотекстові) - АІДС і фактографічні - АІФС;
- автоматизовані моделюючі системи (АМС);
- автоматизовані системи управління (АС), що поділяються на системи організаційного управління - АСОУ і управління експериментами - АСУЕ;
- системи автоматизованого проектування (САПР), що поділяються на системи проектування об'єктів різною призначення -САD і системи проектування програмного забезпечення - CASE, системи зворотної інженерії (CARE).
Розділ 4. ЖИТТЄВИЙ ЦИКЛ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ. СКЛАДОВІ
Життєвий цикл програмного забезпечення - це фундаментальне поняття інженерії програмного забезпечення.
Уведення цього поняття дало змогу деталізувати розроблення програмного забезпечення і зробити його керованим.
У цьому розділі розглядаються складові життєвого циклу програмного забезпечення - процеси, продукти і ресурси.
4.1. Життєвий цикл програмного забезпечення
Життєвий цикл програмного забезпечення, як і будь-якого іншого виробу, відображає його відповідність у часі і просторі, процеси, які пов'язані з виробом і засоби здійснення процесів,
У період загострення кризи програмного забезпечення велися спори щодо ефективності (необхідності) використання життєвого циклу. Характер суперечок відображає гасло, типове для того часу -«Зупиніть життєвий цикл, я кочу вийти!». Як тепер зрозуміло - спори вирішилися на користь використання поняття життєвого циклу і, більше того, це поняття є фундаментальним в інженерії програмного забезпечення.
Життєвий цикл програмного забезпечення складається з фаз, Суть фаз - виконання процесів за допомогою ресурсів (методи, засоби, інструменти, персонал) і отримання продуктів. Тому основ ними складовими життєвого циклу програмного забезпечення є процеси , ресурси, продукти (рис. 4.1).
Рис. 4.1. Основні складові життєвого циклу програмного забезпечення
4.2. Процеси
Розробка програмного забезпечення - складне і трудомістке завдання та існує безліч альтернативних способів його вирішення. Визначення поняття процесу взагалі і процесу розробки програмного забезпечення зокрема може допомогти вирішити проблему вибору способу виконання процесу. Завдяки визначенню процесу можна краще розуміти, що слід робити і чекати, що потрібно забезпечити в першу чергу. Процес - це ряд взаємозв'язаних видів діяльності (дій).
4.2.1. Основні визначенняДія, зазвичай, має очікувану тривалість, прогнозовану вартість і очікувані вимоги до ресурсів. Розрізняють стандартний і визначуваний процеси. Стандартний процес - це безліч фундаментальних елементів процесу, які будуть включені в кожен визначуваний процес. Визначуваний процес - це покрокове виконання ряду певних видів тривалості, спрямоване на досягнення певної мети, Розробка програмного забезпечення часто не схожа на звичайний вид діяльності, який може бути побудований і впорядкований як виробництво, що повторюється, або «конторська» процедура. Тому процес повинен розглядатися, як інтелектуальна діяльність, що адаптується до творчих потреб професіоналів і їх завдань. При цьому потрібне досягнення компромісу між індивідуальною потребою в гнучкості і організаційною потребою в стандартах. Деякі з чинників, які слід при цьому враховувати, такі:
- процеси, що реалізуються в ході здійснення того чи іншого програмного проекту (розрізнятимуться, оскільки програмні продукти мають різний характер);
- здійснення стандартного процесу розробки програмного забезпечення (потребує від організації і проекту визначення процесів, які задовольняють їх власні унікальні потреби);