Як спроектувати систему

Як спроектувати систему

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

Вам знадобиться

  • - технічне завдання на проектування.

Інструкція

1. Зробіть первинну декомпозицію, виділивши підсистеми. Досліджуйте технічне завдання. Виявіть і проаналізуйте перелік завдань, які повинна вирішувати система. Згрупуйте завдання за функціональною ознакою. Проаналізуйте типи та характеристики даних, які повинні оброблятися системою. Сформуйте перелік підсистем, виділяючи їх згідно з функціональним призначенням і типами оброблюваної інформації (підсистема зберігання даних, підсистема друку документів, тощо).

2. Специфікуйте функціонал і характеристики виділених підсистем. Опишіть їх призначення, складіть переліки проведених ними дій. У процесі проектування на даному етапі має сенс провести ретельне дослідження ринку готових рішень. Наприклад, підсистему зберігання інформації в ряді випадків зручно реалізувати на основі потужних СУБД, а підсистему обробки даних, що відповідає за реалізацію бізнес-логіки, на базі існуючих серверів додатків. Використання готових продуктів зазвичай більш вигідно, ніж реалізація необхідного функціоналу власними силами.

3. Зробіть декомпозицію кожної з підсистем, яку буде необхідно реалізувати. Розділіть підсистеми на компоненти. Ними можуть бути як додатки, так і різні бібліотеки, сервіси. Виділяйте компоненти на основі аналізу функціоналу підсистеми та об 'єктів даних, що обробляються нею. Основний принцип, якого варто слідувати на даному етапі проектування, полягає в тому, що компоненти повинні бути досить універсальні (допускати максимальне спільне і повторне використання), але і володіти чіткою спеціалізацією (не варто робити компоненти-комбайни, які "вміють" все).

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

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

6. Складіть перелік компонентів, які необхідно реалізувати. Розробте відповідні специфікації. Підготуйте технічні завдання.

7. Виберіть засоби реалізації підсистем та окремих компонентів. Визначте технології та мови програмування, які будуть використовуватися. Внесіть відповідні пункти до технічних завдань.