Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Метод низпадаючої розробки структури програми

Тип Реферат
Предмет Информатика и программирование
Просмотров
1485
Размер файла
33 б
Поделиться

Ознакомительный фрагмент работы:

Метод низпадаючої розробки структури програми

Бердичівський політехнічний коледж

Контрольна робота

з дисципліни “Технологія розробки програмного забезпечення”

(варіант №17)

Виконав: студент групи Пзс-504

Шпак Р.В.

Перевірив: викладач

Тростянський Б.Г.

Бердичів

2007


Зміст

1. Метод “згори – вниз” розробки структури програми

2. Документація по супроводженню програмних засобів

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

4. Практичне завдання

Список використаної літератури

1. Метод “згори – вниз” розробки структури програми

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

Особливістю розглянутих методів висхідної і низпадаючої розробок (які називаються класичними) є вимога, щоб модульна структура програми була розроблена до початку програмування (кодування) модулів. Ця вимога знаходиться в повній відповідності з водоспадним підходом до розробки ПЗ, тому що розробка модульної структури програми і її кодування виконуються на різних етапах розробки ПЗ: перша завершує етап конструювання ПЗ, а друга - відкриває етап кодування.

2. Документація по супроводженню програмних засобів

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

Документацію по супроводу ПЗ можна розбити на дві групи:

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

- документацію, що допомагає вносити зміни в ПЗ.

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

Зовнішній опис ПЗ.

Опис архітектури ПЗ.

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

Тексти модулів обраною мовою програмування.

Документація другої групи містить

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

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

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

Зовнішній опис ПЗ відіграє роль точної постановки задачі, рішення якої повинен забезпечити розроблювальний ПЗ. Більш того, він повинен містити всю інформацію, яку необхідно знати користувачу для застосування ПЗ. Зовнішній опис є вихідним документом для трьох взаємопов’язаних процесів: розробки текстів (для конструювання і кодування) програм, що входять у ПЗ, розробки документації по застосуванню ПЗ і розробки комплекту тестів для тестування ПЗ. Помилки і неточності в зовнішньому описі, у кінцевому рахунку, трансформуються в помилки самого ПЗ і обходяться особливо дорого, по-перше, тому, що вони допускаються на самому ранньому етапі розробки ПЗ, і, по-друге, тому, що вони поширюються на три рівнобіжних процеси. Це вимагає прийняття особливо серйозних заходів для їх попередження. Вихідним документом для розробки зовнішнього опису є технічне завдання на розробку ПЗ, яке узгоджується зацікавленими сторонами і затверджується відповідним чином. Через цей документ передається від замовника (користувача) до розроблювача основна інформація щодо необхідного ПЗ, тому формування цього документа представляє собою досить тривалий і складний ітераційний процес взаємодії між замовником і розроблювачем, з якого і починається етап розробки вимог до ПЗ. Труднощі, що виникають у цьому процесі, зв'язані з тим, що користувачі часто погано представляють, що їм насправді потрібно. Крім того, проблеми, які необхідно відобразити у вимогах, можуть не мати визначеного формулювання, що приводить до поступової зміни розуміння розроблювачами цих проблем. У зв'язку з цим визначенню вимог часто передує процес системного аналізу, у якому з'ясовується, наскільки доцільне замовлене ПЗ, як уплине таке ПЗ на діяльність користувачів і які особливості діяльності користувачів воно повинне враховувати. Іноді буває корисним розробка спрощеної версії необхідного ПЗ, яка називається прототипом ПЗ. Аналіз "пробного" застосування прототипу дозволяє виявити дійсні потреби користувачів і істотно уточнити вимоги до ПЗ.

Зовнішній опис ПЗ поділяють на дві самостійні частини функціональну специфікацію і специфікацію якості ПЗ. У даному випадку під терміном “специфікація” розуміється перелік властивостей та їх значень, які необхідно забезпечити в результаті розробки програмного продукту. Опис поводження ПЗ визначає функції, які повинне виконувати ПЗ, і тому його називають функціональною специфікацієюПЗ. Вимоги до якості ПЗ повинні бути сформульовані так, щоб розроблювачу були зрозумілі якісні показники та їх значення, які йому необхідно досягнути при розробці цього ПЗ. Ця частина зовнішнього опису називається специфікацією якості ПЗ. Звичайно розробка специфікації якості передує розробці функціональної специфікації ПЗ, тому що деякі вимоги до якості ПЗ можуть визначати включення у функціональну специфікацію спеціальних функцій, наприклад, функції захисту від несанкціонованого доступу до деяких об'єктів інформаційного середовища. Таким чином, структуру зовнішнього опису ПЗ можна виразити формулою:

Зовнішній опис ПЗ = визначення вимог

+ специфікація якості ПЗ

+ функціональна специфікація ПЗ

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

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; var Key: Char);

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure Edit3KeyPress(Sender: TObject; var Key: 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<Xn Then

begin

P1;

goto L1;

end;

If (H<=0) Or (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 + ' студентгрупиПзс-504');

end;

procedure TForm1.N9Click(Sender: TObject);

begin

ShowMessage('Навчальнапрограматабулюванняфункції.' + #13 +

' Версія 1.0');

end;

end.

Список використаної літератури

1. В. Турский. «Методология программирования».

2. Б.Іванов “Дискретная математика. Алгоритмы и программы”.

3. Конспект лекцій з предмету «Технології автоматизованої обробки економічної інформації».


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

Архитектура и организация конфигурации памяти вычислительной системы

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно