Реферат по предмету "Информатика, программирование"


Контроль структури програми

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
Бердичівський політехнічний коледж
Контрольна робота
з дисципліни “Технологія розробки програмногозабезпечення”
(варіант №20)
Виконав:
студент групи Пзс-503
Михайлус МихайлоГеннадійович
Перевірив:
викладач
Тростянський БорисГеннадійович
м. Бердичів 2009 р.

/>Зміст
1. Контроль структури програми
2. Планування і складання розкладу по розробці програмнихзасобів
3. Інструментальні системи технології програмування
4. Практичне завдання
Список використаної літератури
Рецензія
/>/>1. Контрольструктури програми
Для контролю архітектури програмногозабезпечення використовується суміжний контроль і ручна імітація.
Суміжний контроль архітектури програмногозабезпечення зверху — це її контроль розроблювачами зовнішнього опису,розроблювачами специфікації якості і розроблювачами функціональної специфікації.Суміжний контроль архітектури програмного забезпечення знизу — це її контрольпотенційними розроблювачами програмних підсистем, що входять до складупрограмного забезпечення відповідно до розробленої архітектури.
Ручна імітація архітектури програмногозабезпечення виконується аналогічно ручної імітації функціональноїспецифікації, тільки метою цього контролю є перевірка взаємодії між програмнимипідсистемами. Так само як і у випадку ручної імітації функціональноїспецифікації програмного забезпечення повинні бути спочатку підготовлені тести.Потім група розроблювачів повинна для кожного такого тесту імітувати роботукожної програмної підсистеми, що входить до складу програмного забезпечення. Прицьому роботу кожної підсистеми імітує один який-небудь розроблювач (не авторархітектури), ретельно виконуючи усі взаємодії цієї підсистеми з іншимипідсистемами (точніше, з розроблювачами, що їх імітують) відповідно дорозробленої архітектури програмного забезпечення. Тим самим забезпечуєтьсяімітаційне функціонування програмного забезпечення у цілому в рамкахархітектури, що перевіряється.
/>2. Планування і складання розкладу порозробці програмних засобів
Управління розробкою програмного засобів — цедіяльність, спрямована на забезпечення необхідних умов для роботи колективурозроблювачів програмних засобів, на планування і контроль діяльності цьогоколективу з метою забезпечення необхідної якості програмних засобів, виконаннястроків и бюджету розробки програмних засобів.
Хоча види діяльності по керуванню розробкою програмнихзасобів можуть бути дуже різноманітними в залежності від специфікирозроблювального програмних засобів і організації робіт з його створення, можнавиділити деякі загальні процеси (види діяльності) по керуванню розробкою програмнихзасобів:
складання загального плану по розробці програмнихзасобів;
планування і складання розкладів по розробціпрограмних засобів;
керування витратами по розробці програмнихзасобів;
поточний контроль і документування діяльностіколективу по розробці програмних засобів;
підбор і оцінка персоналу колективу розроблювачівпрограмних засобів.
Планування і складання розкладів по розробціпрограмних засобів — це діяльність, зв'язана з розподілом робіт між виконавцямиі за часом їхнього виконання в рамках намічених термінів і наявних ресурсів
Планування і складання розкладів по розробціпрограмних засобів являє собою ітеративний процес, що закінчується тільки післяприпинення робіт із самого програмного проекту.
На початку цього опису оцінюються загальнийтермін розробки програмних засобів, використовувані штати виконавців, граничнийбюджет і інші обмеження (умови) розробки. З урахуванням цього фіксуютьсяпочаткові параметри проекту (його структура і розподіл функцій). Повинні бутитакож визначені «етапи розвитку проекту» і їхні терміни.
Далі починається ітераційний процес, основуякого складає повторюванні складання розкладів. Складання розкладу полягає уподілі всієї роботи, необхідної для виконання проекту, на окремі самостійновиконувані завдання;
у складанні сіткового графіка виконаннязавдань;
у складанні гістограми виконання завдань;
у розміщенні виконавців завдань.
При виділенні самостійних завдань для кожногоз них оцінюється час його виконання і його залежність від інших завдань зпогляду порядку виконання. Сітковий графік являє собою схему (мережа) шляхіввиконання завдань із указівкою часу виконання кожного завдання і з розміщенняметапів розвитку проекту. У сітковому графіку повинний бути визначений критичнийшлях, що представляє собою такий шлях завдань, сумарний час виконання яких єнайбільшим. Гістограма виконання завдань містить для кожного завдання своютимчасову смугу від моменту, коли виконання цього завдання може бути почато, ідо моменту, коли виконання цього завдання повинне бути закінчено. У такій смузіфіксується як тривалість виконання самого завдання, так і можливий запас часудля завершення його виконання. Це дає можливість модифікувати план розвиткупроекту у визначених рамках без зміни загальних термінів виконання проекту. Прирозміщенні виконавців оцінюється для кожного виконавця відповідність йогокваліфікації і досвіду характеру пропонованої роботи. Особлива увагаприділяється розміщенню виконавців завдань, що знаходяться на критичному шляху.Через деякий час (звичайно 2-3 тижня) після активізації процесів, зазначених урозкладі, виконується огляд (перегляд) ходу розвитку проекту і відзначаютьсявиниклі протиріччя. З урахуванням цього виробляється перегляд (уточнення) параметрівпроекту й оцінюється вплив змінених параметрів на розклад проекту. Якщовиявиться, що ці зміни збільшують час розробки програмних засобів, необхіднообговорити з замовником можливість зміни обмежень проекту і терміну йогозавершення. У тому випадку, коли замовник не може піти на придатні зміни,виробляється технічний перегляд проекту з метою пошуку альтернативних підходівдо розробки програмних засобів./>
3. Інструментальні системи технологіїпрограмування
Швидка розробка додатків (RAD — RapidApplication Development) ґрунтується на візуалізації процесу створенняпрограмного коду. Розглянута технологія є інструментальним програмнимзабезпеченням, що надає програмістам засоби, які прискорюють розробкунеобхідного прикладного процесу, скорочують роботу з модифікації вже готовоїприкладної програми і внесенню в неї необхідних доповнень чи змін. З метоюмаксимального спрощення вказаних дій використовуються графічні інструментальнізасоби.
Не слід зводити RAD тільки до візуальноїгенерації користувальницького інтерфейсу. Можливості цієї технології набагатоширше простого набору процедур, що включають вставку керуючих елементів наформи, з наступною установкою їхніх властивостей. Засоби швидкої розробкидодатків ґрунтуються на компонентній архітектурі. При цьому компоненти єоб'єктами, що поєднують дані і методи, а також властивості. Властивості, зодного боку, дозволяють працювати з даними так само, як із членами класів, а зіншого боку, ховають за операціями читання/запису виклики методів, переводячиоперації над об'єктами на більш високий рівень абстракції.
Компоненти можуть бути як візуальними, так і невізуальними; атомарними і контейнерними (такими, що містять інші компоненти); низькорівневими(системними) і високорівневими.
Візуальне проектування користувальницькогоінтерфейсу надає можливість вибору окремих компонентів з палітри з наступнимрозміщенням їх у потрібному місці. Процедура розробки інтерфейсу засобами RADзводиться до набору послідовних операцій, що включають:
розміщення компонентів інтерфейсу в потрібномумісці;
завдання часу їхньої появи на екрані;
настроювання зв'язаних з ними атрибутів іподій.
В ідеалі середовище візуальної розробкиповинне дозволяти швидко перетаскувати компоненти за допомогою миші і задаватизначення змінюваних параметрів. Ефективність візуального програмуваннявизначається не стільки наявністю візуальних компонентів, скільки їхнімвзаємозв'язком і взаємодією з традиційними засобами.
Інтегроване середовище розробки є засобом, задопомогою якого виконується проектування, налагодження, тестування і подальшепоширення прикладних програм.
В даний час існує велика кількість засобіввізуального програмування, заснованих на різних алгоритмічних мовах. Лідерами врозробці таких засобів є фірми Microsoft і Inprise (колишня Borland). Кожна зних надає кілька середовищ візуального програмування:
Microsoft — Visual Basic, Visual C++ і VisualJ++;
Inprise — C++ Builder, Delphi і JBuilder.
Зробимо короткий огляд достоїнств і недоліківкожної з перерахованих середовищ проектування.
Visual C++ і C++ Builder
Системи Visual C++ і C++ Builder базуються навикористанні мови програмування C++. Вони орієнтовані в основному напрофесійних розроблювачів програмного забезпечення.
Основними перевагами мови C++ є широкапоширеність, присутність практично на всіх платформах і висока ефективністьстворених на її основі програм. З іншого боку, використання мови C++ вимагаєдосить високої професійної підготовки, що знижує швидкість розробки додатків. Задеякими оцінками, швидкість розробки додатків мовою С в кілька разів менше, ніжпри використанні більш простих мов Object Pascal і Visual Basic.
Delphi
Основу середовища проектування Delphi складаємова програмування Object Pascal. Останні версії цієї мови по своїх можливостяхнаближаються до C++. У той же час Pascal має більш простий і ясний синтаксис іна відміну від мови С є строго типізованою мовою. Це дозволяє мінімізуватичисло помилок і підвищити швидкість розробки додатків. Object Pascal — повноціннаоб’єктно — орієнтована мова, що підтримує всі основні концепції ООП: інкапсуляцію,спадкування і поліморфізм. На відміну від C++ у Object Pascal не підтримуєтьсямножинне спадкування. Хоча мову Object Pascal можна вважати більш простою, чимC++, проте для її ефективного використання потрібно відносно високакваліфікація програміста.
Delphi має могутні засоби для розробкидодатків, що керують базами даних як на основі власного процесора баз данихBDE, так і на основі технології ADO, підтримуваної Microsoft, BDE взаємодіє збазами даних через драйвери. Для більшості розповсюджених баз даних розробленістандартні драйвери. Крім того, забезпечується можливість взаємодії з базоюданих через драйвер ODBC, Доступ до SQL-серверів забезпечує система драйверівSQL Links, що дозволяє розробляти додатки для серверів Oracle, Informix,Sybase, DB2 і InterBase.
До недоліків Delphi можна віднести малупоширеність Object Pascal, який у даний час ніхто, крім Inprise, не підтримує.
Visual Basic
Система Visual Basic заснована однойменноюмовою програмування, що мало чим відрізняється від мови Quick Basic. VisualBasic простіше, ніж Pascal, і, імовірно, тому він одержав досить широкепоширення серед непрофесіоналів і починаючих програмістів. Visual Basic неможна вважати повністю об’єктно — орієнтованою мовою, тому що в ньому непідтримується принцип поліморфізму. Однак, незважаючи на усі свої обмеження,Visual Basic цілком придатний для створення досить складних додатків.
Інтерфейс середовища розробки Visual Basic немає принципових відмінностей від Delphi, а мова програмування синтаксичноблизька до Pascal. Тому досить легко перейти від однієї системи до іншої.
Створення додатків для обробки інформації всередовищі Visual Basic базується на використанні наданих їм спеціальнихзасобів, що включають:
об'єкти для доступу до даних — Data AccessObject (DAO);
32-розрядний процесор даних — JET 3.0, щопідтримує усі стандартні операції по створенню, зміні і видаленню таблиць, індексіві запитів. Форматування створюваної їм БД відповідає формату Access. JET 3.0також забезпечує підтримку цілісності і перевірку змінюваних даних на рівніполів і записів. Для зміни даних JET дозволяє використовувати мову SQL:
Великою перевагою Visual Basic є те, що вінпідтримується фірмою Microsoft — безперечним лідером і фактичним монополістом вобласті розробки програмного забезпечення.
Visual J++ і JBuilder
Системи Visual J++ і JBuilder призначені длярозробки додатків мовою Jawa. Дана мова з'явилася недавно (на початку 90-хроків) і поки не дуже розповсюджена. Основне достоїнство Jawa — незалежністьвід платформи. Однак досягається це за рахунок того, що Jawa — інтерпретованамова. Тому швидкість виконання Java-додатку в 10-20 разів повільніше впорівнянні з відкомпільованими програмами.
/>4. Практичне завдання
З використанням засобів візуальногопрограмування розробити програму для автоматичного розрахунку значень складноїфункції:
/>
Приклад файлу форми Delphi6 для табулюванняфункції:
unit Func_tab;
interface
uses
Windows, Messages, SysUtils, Variants,Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, Menus;
type
TForm1 = class (TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
StringGrid1: TStringGrid;
BitBtn1: TBitBtn;
Label4: TLabel;
ListBox1: TListBox;
Memo1: TMemo;
BitBtn2: TBitBtn;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N3: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
BitBtn3: TBitBtn;
procedure BitBtn1Click (Sender: TObject);
procedure Edit1KeyPress (Sender: TObject; varKey: Char);
procedure Edit2KeyPress (Sender: TObject; varKey: Char);
procedure Edit3KeyPress (Sender: TObject; varKey: Char);
procedure Edit1Exit (Sender: TObject);
procedure Edit2Exit (Sender: TObject);
procedure Edit3Exit (Sender: TObject);
procedure BitBtn2Click (Sender: TObject);
procedure N4Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure FormActivate (Sender: TObject);
procedure BitBtn3Click (Sender: TObject);
procedure N5Click (Sender: TObject);
procedure N7Click (Sender: TObject);
procedure N8Click (Sender: TObject);
procedure N9Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
X,Xn,Xk,H: real; // Параметри табулювання
fname: String [25]; //
f: textfile;
implementation
{$R *. dfm}
 // Повідомлення про помилку у завданніінтервалів табулювання
procedure P1;
begin
MessageDlg ('«Xп» не може бутибільшим ніж «Хк». ' +#13
+'Введіть значення правильно. ', mtWarning, [mbCancel],0);
Form1. Edit1. Text: ='';
Form1. Edit2. Text: ='';
end;
 // Повідомлення про помилку у значенні крокутабулювання по відношенню до
 // меж табулювання
procedure P2;
begin
MessageDlg ('Крок табулювання «H» неможе приймати таких значень. ' +#13
+'Введіть значення правильно. ', mtWarning, [mbCancel],0);
Form1. Edit3. Text: ='';
end;
 // Повідомлення про помилку перевищеннядопустимої розмірності даних
procedure P3;
begin
MessageDlg ('Введене значення знаходться замежами допустимого. ' +#13
+'Введіть значення правильно. ', mtWarning, [mbCancel],0);
end;
procedure P4;
begin
MessageDlg ('Треба ввести всі дані. ',mtWarning, [mbCancel], 0);
end;
 // Процедура очищення даних у формі
procedure P5;
begin
Form1. Edit1. Text: ='';
Form1. Edit2. Text: ='';
Form1. Edit3. Text: ='';
Form1. Edit1. SetFocus;
Form1. Height: =167;
Form1. Position: =poScreenCenter;
Form1. Label4. Visible: =False;
Form1. Label5. Visible: =False;
Form1. Label6. Visible: =False;
Form1. Label7. Visible: =False;
Form1. StringGrid1. Visible: =False;
Form1. ListBox1. Items. Clear;
Form1. Memo1. Lines. Clear;
Form1. ListBox1. Visible: =False;
Form1. Memo1. Visible: =False;
end;
 // Контроль введення даних у поля фории
procedure TForm1. Edit1KeyPress (Sender: TObject;var Key: Char);
begin
case Key of
'0'. '9',Chr (8):;
'-': if (pos ('-',Edit1. Text) = 0) and (length(Edit1. Text) = 0)
Then Key: = '-'
else Key: = Chr (0);
',': if pos (',',Edit1. Text) 0
THen Key: = Chr (0);
else Key: = Chr (0);
end;
end;
procedure TForm1. Edit2KeyPress (Sender: TObject;var Key: Char);
begin
case Key of
'0'. '9',Chr (8):;
'-': if (pos ('-',Edit2. Text) = 0) and (length(Edit2. Text) = 0)
Then Key: = '-'
else Key: = Chr (0);
',': if pos (',',Edit2. Text) 0
THen Key: = Chr (0);
else Key: = Chr (0);
end;
end;
procedure TForm1. Edit3KeyPress (Sender: TObject;var Key: Char);
begin
case Key of
'0'. '9',Chr (8):;
',': if pos (',',Edit3. Text) 0
THen Key: = Chr (0);
else Key: = Chr (0);
end;
end;
procedure TForm1. Edit1Exit (Sender: TObject);
begin
If Edit1. Text='' Then Exit;
If (Abs (StrToFloat (Edit1. Text)) >100000)Then
begin
P3;
Edit1. Text: ='';
Edit1. SetFocus;
end;
end;
procedure TForm1. Edit2Exit (Sender: TObject);
begin
If Edit2. Text='' Then Exit;
If (Abs (StrToFloat (Edit2. Text)) >100000)Then
begin
P3;
Edit2. Text: ='';
Edit2. SetFocus;
end;
end;
procedure TForm1. Edit3Exit (Sender: TObject);
begin
If Edit3. Text='' Then Exit;
If (StrToFloat (Edit3. Text) >10000) Then
begin
P3;
Edit3. Text: ='';
Edit3. SetFocus;
end;
end;
 // Основна процедура програми
Procedure TForm1. BitBtn1Click (Sender: TObject);
var
I,K: integer;
Y: array [0. .1000] of Real;
label L1;
begin
 // Перевірка наявності правильних значень вполях введення і їх взаємної
 // коректності, з виведенням відповднихповідомлень і формуванням переходів
IF (Edit1. Text = '') or (Edit2. Text = '') or(Edit3. Text = '') then
begin
P4;
Exit;
end;
IF Edit3. Text = '0' then
begin
MessageDlg ('Треба задати крок табулювання,'
+ #13 +' який має ненульове значення',mtWarning, [mbCancel], 0);
Edit3. Text: = '';
Edit3. SetFocus;
goto l1;
end;
Xn: =StrToFloat (Edit1. Text);
Xk: =StrToFloat (Edit2. Text);
H: =StrToFloat (Edit3. Text);
If Xk
begin
P1;
goto L1;
end;
If (H=Abs (Xk-Xn)) Then
begin
P2;
goto L1;
end;
X: =Xn-H;
K: = Round ( (Abs ( (Xk-Xn)) /H));
If K>1000 Then
begin
MessageDlg ('Переповнення масиву даних. '
+#13 +'Треба зменшити інтервал або'
+#13 +' збільшити крок табулювання',mtWarning, [mbCancel], 0);
Edit1. Text: = '';
Edit2. Text: = '';
Edit3. Text: = '';
goto l1;
end;
 // Фомування компонентів для виведеннярезультатів
StringGrid1. RowCount: = K+2;
Form1. Height: =430;
Form1. Position: =poScreenCenter;
Label4. Visible: =True;
Label5. Visible: =True;
Label6. Visible: =True;
Label7. Visible: =True;
StringGrid1. Visible: =True;
Label7. Caption: ='у полі memo';
ListBox1. Items. Clear;
Memo1. Lines. Clear;
ListBox1. Visible: =True;
Memo1. Visible: =True;
StringGrid1. Cells [0,0]: ='X';
StringGrid1. Cells [1,0]: ='Y';
 // Розрахунок і виведення результатів
For I: =0 to K do
begin
Y [I]: = (1+ln (2-Xn+H*I)) / (1-Xn+H*I+0.1);
 // Наступний рядок забезпечує виведеннярезультату
 // з точністю до тисячних
Y [I]: = Round (Y [I] *1000) /1000;
StringGrid1. Cells [0, I+1]: =FloatToStr (Xn+H*I);// Виведення у таблицю
StringGrid1. Cells [1, I+1]: =FloatToStr (Y [I]);
ListBox1. Items. Add (FloatToStr (Xn+H*I) +' '+FloatToStr(Y [i])); // Виведення у список
Memo1. Lines. Add (FloatToStr (Xn+H*I) +' '+FloatToStr(Y [i])); // Виведення у поле Мемо
end;
l1:;
end;
 // Запис результатів у файл
procedure TForm1. BitBtn2Click (Sender: TObject);
begin
ListBox1. Items. SaveToFile ('result. txt');
end;
 // Збереження у файлі
procedure TForm1. N4Click (Sender: TObject);
begin
ListBox1. Items. SaveToFile (fname);
end;
 // Зчитати з файла і вивести у поле Мемо ізскриттям зайвих компонентів
procedure TForm1. N3Click (Sender: TObject);
begin
If FileExists ('result. txt') = False Then
Begin
MessageDlg ('Файла не існує', mtWarning, [mbCancel],0);
Exit;
end;
Label7. Visible: =True;
Label7. Caption: = 'Результати зчитування зфайлу';
Memo1. Lines. LoadFromFile ('result. txt');
Memo1. Visible: =True;
Label4. Visible: =False;
Label5. Visible: =False;
Label6. Visible: =False;
ListBox1. Visible: =False;
StringGrid1. Visible: =False;
Form1. Height: =430;
Memo1. SetFocus;
Form1. Position: =poScreenCenter;
end;
 // Створення файлу з перевіркою йогоіснування
procedure TForm1. FormActivate (Sender: TObject);
begin
fname: ='result. txt';
AssignFile (f, fname);
If FileExists ('result. txt') = False Then
begin
rewrite (f);
CloseFile (f);
end;
end;
 // Очищення полів введення
procedure TForm1. BitBtn3Click (Sender: TObject);
begin
P5;
end;
procedure TForm1. N5Click (Sender: TObject);
begin
P5;
end;
 // Вихід з програми
procedure TForm1. N7Click (Sender: TObject);
begin
Close;
end;
 // Виведення довідки
procedure TForm1. N8Click (Sender: TObject);
begin
ShowMessage ('Михайлус Михайло Геннадійович' +#13 + ' студент групи Пзс-503');
end;
procedure TForm1. N9Click (Sender: TObject);
begin
ShowMessage ('Навчальна програма табулюванняфункції. ' + #13 +
' Версія 1.0');
end;
end.
/>/>Списоквикористаної літератури
1.  «Требованияи спецификации в разработке программ.» М. Мир, 1984.
2.  В. Турский. «Методологияпрограммирования».
3.   Конспект лекцій з предмету.
4.   Інтернет.
Рецензія


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.