Програмування – це частина процесу проектування

ЕйнарЛандре

Крістен Нігаард (Kristen Nygaard), батько обєктно-орієнтованого програмування та мови програмування Simula, говорив, що програмування – це вивчення Усвідомлення того факту, що програмування, а точніше розробка програмного забезпечення, є процесом вивчення і творчого пошуку, а не процесом виробництва та конструювання, має фундаментальне значення для вдосконалення прийомів розробки Ідеї ​​з традиційних інженерних дисциплін у галузі розробки ПЗ не працюють Виникаючі при цьому проблеми документувалися і аналізувалися провідними мислителями нашої області протягом більш ніж 30 років Наприклад, в 1987 році Фредерік Брукс (Frederick Brooks, Jr) В «Звіті оперативної групи Наукової ради Міністерства оборони по військовому програмному забезпеченню» стверджував, що документно-орієнтований підхід за принципом «спочатку специфікація, потім розробка» лежить в основі багатьох проблем програмного забезпечення

Звідки ж індустрія розробки програмного забезпечення може черпати практичні ідеї для вдосконалення своїх методик Як щодо галузей виробництва складних товарів масового виробництва: автомобілів, ліків, напівпровідників

Візьмемо автомобілебудування Планування нової моделі починається з вибору концепції або прототипу Це в першу чергу механізм архітектурного позиціонування BMW Х6 – приклад нової концепції, що поєднує властивості позашляховика і купе, яку BMW називає sports activity coupe Перш ніж ви отримали можливість придбати новий Х6, BMW витратила тисячі годин і мільйони доларів на проектування машини та процесу її виробництва Коли BMW отримує ваше замовлення, одна з складальних ліній перемикається і видає версію Х6, виконану на вашу особисте замовлення

Чому можна навчитися на прикладі цього сценарію Тут важливо те, що виробництво нової машини складається з двох процесів Перший з них – процес творчого проектування, що включає в себе установку необхідних складальних ліній Другий – процес виробництва машин у відповідності зі специфікаціями замовника Подібні у багатьох відношеннях процеси присутні і в галузі розробки програмного забезпечення Питання в тому, який зміст ми вкладаємо в терміни

У своїй статті «Як проектувати ПО»1 Джек Рівз (Jack Reeves) висловлює думку, що єдиним артефактом розробки ПЗ, дійсно описує дизайн (в тому сенсі, як розуміється і використовується це поняття в класичних інженерних дисциплінах), є вихідний код Власне виробництво ПО автоматизовано і забезпечується сценаріями компіляції, збірки і тестування

Погоджуючись з тим, що створення вихідного коду є частиною проектування, а не виробництва, ми отримуємо можливість застосувати корисні методи управління, працездатність яких була перевірена часом Це методи управління творчою і непрогнозованою роботою, такий як розробка нової машини, нового лікарського препарату або нової компютерної гри Йдеться про методи гнучкого (agile) управління і бережливого (lean) виробництва (наприклад, SCRUM) Ці методи спрямовані на те, щоб максимізувати ефективність вкладень з позицій цінності для споживача

Щоб з вигодою використовувати ці методи в області розробки ПЗ, необхідно запамятати: програмування є частиною процесу проектування, а не виробництва

Біографія автора наведена на стор 27

Журнал «Компьютерра», що опублікував російський переклад цієї статті та авторське післямова до неї, зробив її темою номера («Компьютерра», № 17 (589), 5 травня 2005 р, http://offlinecomputerraru t/ 2005/589 /) – Прімечред

Джерело: Форд Н, Найгард М, де Ора Б, 97 етюдів для архітекторів програмних систем – Пер з англ – СПб: Сим-вол-Плюс, 2010 – 224 с, Мул

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*