💙💛 Класика💙💛 Зарубіжна література💙💛 Дитячі книги💙💛 Сучасна проза💙💛 Фантастика💙💛 Детективи💙💛 Поезія💙💛 Наука, Освіта💙💛 Бойовики💙💛 Публіцистика💙💛 Шкільні підручники💙💛 Фентезі💙💛 Блог💙💛 Любовні романи💙💛 Пригодницькі книги💙💛 Біографії💙💛 Драматургія💙💛 Бізнес-книги💙💛 Еротика💙💛 Романтична еротика💙💛 Легке чтиво💙💛 Бойовик💙💛 Бойове фентезі💙💛 Детектив💙💛 Гумор💙💛 Езотерика💙💛 Саморозвиток, Самовдосконалення💙💛 Психологія💙💛 Дім, Сім'я💙💛 Еротичне фентезі💙💛 Жіночий роман💙💛 Сучасний любовний роман💙💛 Любовна фантастика💙💛 Історичний роман💙💛 Короткий любовний роман💙💛 Детектив/Трилер💙💛 Підліткова проза💙💛 Історичний любовний роман💙💛 Молодіжна проза💙💛 Бойова фантастика💙💛 Любовні романи💙💛 Любовне фентезі💙💛 Інше💙💛 Містика/Жахи💙💛 Різне
всі жанри
Свіжі відгуки
Гість Тетяна
9 листопада 2024 18:08
Інтригуючий детектив. Дуже сподобалася книга
Червона Офелія - Лариса Підгірна
Олена
31 жовтня 2024 19:00
Cучасне українське любовне фентезі - обожнюю 👍 дякую авторці
Неідеальна потраплянка - Ліра Куміра
Таміла
29 вересня 2024 17:14
Любовна фантастика - це топ!
Моя всупереч - Алекса Адлер
Василь
23 вересня 2024 12:17
Батько наш Бандера, Україна Мати…
...коли один скаже: Слава Україні! - Степан Бандера
Сайт україномовних книжок » 💙💛 Інше » Вступ до інженерії програмного забезпечення - Микола Олександрович Сидоров

Вступ до інженерії програмного забезпечення - Микола Олександрович Сидоров

Читаємо онлайн Вступ до інженерії програмного забезпечення - Микола Олександрович Сидоров

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

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

Таблиця 1.1

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

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

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

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

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

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

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

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

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

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

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

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

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

- фаза III: виконавці - досвідчені професіонали; ресурси - машини і комплекси, що використовуються в технологіях; методи - теоретичні і емпіричні, передавання знані, шляхом диференційова­ного навчання, супровід; використання - сегментація ринку.

Для інженерії програмного забезпечення характеристика зазначених фаз наводиться в табл. 1.2.

Інженерна діяльність реалізується інженерами в Контексті технологій. Технологія - це організована сукупність процесів, спрямованих на отримання з початкових матеріалів кінцевих продуктів за допомогою методів і засобів технологій. Інженери - це професіонали, чия освіта дозволяє їм, використовуючи знання фундаментальних наук і конкретних технологій, реалізовувати процеси, застосовуючи методи і засоби технологій для створення надійних, широко використовуваних продуктів.

Таблиця 1.2

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

Технічні вимоги обов'язково відображають відповідність процесів і продуктів життєвого циклу вимогам, специфікованим замовником.

Економічні вимоги обов'язково містять вимоги щодо виконання проекту в рамках заданого фінансового бюджету.

Соціальні вимоги обов'язково відображають те, що створювані Програмні продукти повинні мати властивості корисності.

Правові вимоги обов'язково відображають те, що виконання програмного проекту повинне здійснюватися законними методами. Особливо це важливо, коли під час розробки застосовується успадковане програмне забезпечення або компоненти багаторазового використання.

Як і інші інженерні дисципліни, інженерія програмного забезпечення характеризується такими аспектами:

- творчість - інженерія концентрується на проблемах аналізу і проектування;

- інструментальність ключові проблеми в інженерії - це ви­ бір і використання інструментів;

- стандартизація - кращі практичні досягнення інженерії у вигляді інженерних принципів є основою створення стандартів;

- успадкованість (повторне використання) - в інженерії повтор­ не використання знань і продуктів фаз життєвого циклу с найважливішим чинником підвищення продуктивності і якості;

- професіоналізм - інженерія програмного забезпечення - це професія.

Остання властивість характеризує інженерію програмного забезпечення не як академічну, а швидше як практичну дисципліну. Професійний інженер з програмного забезпечення мас такі риси:

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

- вимірює, калібрує і оцінює вимірювальні інструменти;

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

- результати праці інженера можуть бути різні, від пристроїв і систем, до процесів і структур;

- застосовує знання з інших дисциплін (на додаток до своїх власних), наприклад, з математики, базових наук і економіки. При цьому; основними дисциплінами є «Комп'ютерні науки», «Дискретна математика» і «Групова динаміка». Дисципліни «Фізика» і «Без­ перервна математика» використовуються в деяких застосуваннях, але вони менш важливі, ніж вказані;

- створює: інструменти;

- працює дисциплінованим і систематичним чином;

- працює в колективах разом з іншими фахівцями, розвиваючи навички взаємин колективної роботи;

- дотримується стичних і професійних принципів, захищаючи суспільство, замовників і себе;

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

- спирається на специфічні знання і досвід, працюючи всередині специфічних доменів, враховуючи особливість доменних

Відгуки про книгу Вступ до інженерії програмного забезпечення - Микола Олександрович Сидоров (0)
Ваше ім'я:
Ваш E-Mail: