У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


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

Альтернативою С та С++ виступає мова Паскаль, яка має багато реалізацій (в тому числі сучасна програмна система Delphi), кожна з яких завдяки чіткому синтаксису мови гарантує не лише синтаксичний, але і семантичний контроль.

Крім них до групи універсальних мов програмування відносяться, наприклад, Basic, Visual Basic, Ada, Modula, кожна з яких має свої особливості, а отже, і свою область застосування.

Спеціалізовані мови розробника програмного забезпечення використовуються для створення лише спеціалізованого програмного забезпечення. Такими є: мови баз даних (Fox-Pro, SQL та програмні системи Access, Oracle, Paradox), мови програмування прикладних програм для мереж (Java-Script, VBScript) та інші.

Мови програмування низького рівня, до яких відноситься асемблер, дозволяють здійснювати програмування практично на рівні машинних кодів. При цьому можна досягти оптимальних критеріїв як з точки зору часу виконання програми, так і з точки зору ресурсів пам’яті. Але ці мови не придатні для створення великих програм та програмних систем, принаймні тому, що не підтримують принципів структурного програмування. Вони використовуються для невеликих програм або у вигляді вставок в програми, написані мовами високого рівня.

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

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

Створення універсальних програм.

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

Приклад:

(* гірший варіант *)

for i := 1 to 25 do

a[i] := 0.0; | (* кращий варіант *)

const n = 25;

for i := 1 to n do

a[i] := 0.0;

Універсальність програми економить час подальшої роботи над нею, спрощує внесення змін і забезпечує широкі можливості використання. Тому:

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

Використання бібліотечних підпрограм.

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

Не слід переписувати функцію обчислення квадратного кореня!

В нагоді також можуть стати відкриті розробки колег, якщо вони ретельно відтестовані, а також підпрограми, наведені у літературних джерелах (ці останні обов’язково слід перевіряти перед використанням).

Використання бібліотечних підпрограм збільшує надійність і зменшує складність програмування.

Встановлення мети проекту.

При створенні програмного проекту неможливо досягти найкращих критеріїв якості

одночасно по всіх показниках. Тому слід визначити головну мету проекту. Можливі варіанти:

високий рівень надійності; певний обмежений термін виконання; мінімізація часу або вартості; зручність і простота використання; ефективність (по об’єму пам’яті або швидкодії); відкритість розробки (можливість введення модифікацій); зменшення складності (принцип KISS – keep it simple, stupid!(англ.) – зроби це простіше, дурнику!)

і так далі.

Мету проекту слід встановлювати заздалегідь і точно.

Забезпечення правильності програми.

Сформульовані вище вимоги є практично вимогами до якості програми. Для забезпечення останнього використовуються в основному 2 підходи:

ретельне тестування (повноти тестування практично неможливо досягти в загальному випадку); створення проекту, в якому помилки одразу зведені до мінімуму (використовується метод захисного програмування – див. розділ 8.1.1). Документування.

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

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

ЛІТЕРАТУРА

Н. Вирт. Систематическое программирование. – М.: Мир, 1977. – 183 с.

Ален И. Голуб. С и С++. Правила программирования. – М.: БИНОМ, 1996. – 272 с.

У. Дал, Э. Дейкстра, К. Хоор. Структурное программирование. – М.: Мир, 1973. – 247 с.

Э. Дейкстра. Дисциплина программирования. – М.: Мир, 1978. – 275 с.

Д. Ван Тассел. Стиль, разработка, эффективность, отладка и испытание программ. – М.: Мир, 1985. – 332 с.

М. Зелковиц, А. Шоу, Дж. Гэннон. Принципы разработки программного обеспечения. – М.: Мир, 1982. – 368 с.

Г. С. Иванова. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. – 416 с.

Г. С. Иванова. Технология программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. – 320 с.


Сторінки: 1 2