Читать «Вступ до інженерії програмного забезпечення» онлайн - страница 3

М. О. Сидоров

- техніка програмування і процеси, що були ефективні в 50-х і ранніх 60-х pp. XX ст. («програмування в малому») для розробки невеликих програм малими колективами, стали неефективними при розробці великого за обсягом, складного програмного забезпечення, що складається з мільйонів рядків коду, та вимагає декількох років роботи сотень фахівців різних спеціальностей. Були потрібні нові технології, що почали вважати «програмуванням у великому».

Почали з'являтися нові процеси, що потребували певної організації (табл.1.1). Таким чином, склалася ситуація, яка призвела до кризи в програмному забезпеченні і необхідності пошуку шляхів виходу з неї, так званої «срібної кулі». Виходом з цієї ситуації стало обговорення на конференції NATO в 1968 р. нової дисципліни, яку назвали «інженерія програмного забезпечення» (software engineering). До того ж, уперше акценти в методах, засобах і процесах розробки програмного забезпечення були зміщені: по-перше, з кодування програм на інші процеси їх розробки, а по-друге, з якісних аспектів у бік кількісних, інженерних. Окрім цього, додатковий стимул отримали ті, хто виконував наукові і практичні роботи з економічного напряму і менеджменту проектів програмного забезпечення.

Таблиця 1.1

1.2. Інженерія програмного забезпечення - інженерна галузь

Інженерна галузь характеризується діяльністю, що ґрунтується на таких принципах:

- ефективність - результати отримують за допомогою заданих ресурсів, які відповідають висунутим вимогам і стандартам;

- практичність - результати мають конкретних замовників;

- фундаментальність - результати отримують на основі знань фундаментальних наук;

- успадкованість - результати отримують на основі нагромад­женого досвіду, виключаючи діяльність «з нуля»;

- відчутність - результати є відчутними продуктами, які мож­на застосовувати, руйнувати, а також досліджувати за допомогою емпіричних методів пізнання;

- супроводження - результати, знаходячись в експлуатації, обов'язково супроводжуються (обслуговуються),

У процесі розвитку людства з'явилося багато інженерних галу­зей, але їх становлення проходило один і той же шлях, у якому роз­різняють три фази (рис. 1.1),

Рис. 1.1. Фази розвитку інженерної галузі

У кожній фазі мають місце виконавці, ресурси, методи реаліза­ції і використання продуктів галузі. Для фаз характерне:

- фаза І: виконавці - віртуози і талановиті одинаки; ресурси - інтуїція і груба сила; методи - випадкова передача досвіду, екстра­вагантне застосування матеріалі»; використання - виробництво для себе;