- •Введение
- •1.Теоретическая часть
- •1.1 Защитное программирование
- •1.1.1 Правила написания программ с блоками защиты от несанкционированного ввода данных
- •1.1.2 Приемы надежного программирования
- •1.1.3 Причины ошибок программного обеспечения
- •1.1.4 Источники ошибок программного обеспечения
- •1.1.5 Классификация ошибок программного обеспечения
- •1.1.6 Основные пути борьбы с ошибками
- •1.2 Методы структурирования
- •1.2.1 Метод дублирования блоков
- •1.2.2 Метод булева признака
- •1.2.3 Метод введения переменной состояния
- •1.2.4 Концептуальное программирование
- •2. Практическая часть
- •2.1 Delphi. Основные понятия и определения
- •2.2 Процесс написания программы
- •Заключение
- •Приложение. Листинг программы
Заключение
При выполнении курсовой работы были решены следующие задачи:
Изучены теоретические основы защитного программирования,
Проанализированы методы структурирования программ и программных модулей,
Изучена среды программирования Borland Delphi 7,
Создано приложения в среде программирования Borland Delphi 7 для работы с базами данных,
Разработанное приложение отлажено.
В первой главе было рассмотрено, что в общем случае произвольная программа не может быть преобразована в структурированную программу, которая реализует тот же алгоритм, построена с применением тех же конструкций и не использует дополнительных переменных. Такое преобразование возможно при использовании трех известных методов:
- дублирование кодов программы,
- введение переменной состояния,
- метод булевых признаков.
При разработке программного продукта большое внимание было уделено именно структуре программы.
Разработанное программное средство отвечает всем поставленным перед ним требованиям и может быть использовано по своему прямому назначению – хранению и систематизации информации о товарах.
Список литературы
Ахо А., Ульман Дж. «Теория синтаксического анализа, перевода и компиляции» в 2 тт., том 1., М., Мир, 1978.
Братчиков И.Л. «Синтаксис языков программирования» Наука, М.:Инси, 2005. – 344 с.
Гулидов А.И., Наберухин Ю.И. Диалектика необходимого – случайного в свете концепции динамического хаоса. 2001. – № 1(9). – С.33–46.
Дейкстра Э. Заметки по структурному программированию.- М.:Дрофа, 2006, - 455 с.
Ершов А.П. Введение в теоретическое программирование.- М.:РОСТО, 2008, - 288 с.
Захарова И.Г. Информационные технологии в образовании: Учеб. пособие для студ. высш. пед. учеб. заведений. – М.: Издательский центр «Академия», 2003. – 192 с.
Кнут Д. Искусство программирования для ЭВМ, т.1. М.: 2006, 735 с.
Коган Д.И., Бабкина Т.С. «Основы теории конечных автоматов и регулярных языков. Учебное пособие» Издательство ННГУ, 2002. - 97 с.
Майерс Г. Надежность программного обеспечения.- М.:Дрофа, 2008, - 360 с.
Мендельсон Э. Введение в математическую логику, М.:Инси, 2001, - 320 с.
Рудаков А. В. Технология разработки программных продуктов. М.:Издательский центр "Академия", 2006. – 306 с.
Свешникова Е.Ю. Анализ режимов детерминированного хаоса в переходных процессах электроэнергетических систем. М.:Издательство «Агат», 2008. - 181 с.
Тыугу, Э.Х. Концептуальное программирование. - М.: Наука, 2001, - 256 с.
Хопкрофт Дж., Мотвани Р., Ульман Дж. «Введение в теорию автоматов, языков и вычислений» - М.: Издательство ВИЛЬЯМС, 2002. - 527с.
Хьюз Дж., Мичтом Дж. Структурный подход к программированию.-М.:Мир, 2000, - 278 с.
Приложение. Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOTable1.Connection := ADOConnection1;
ADOTable1.TableName := ‘goods’;
ADOTable1.Active := ‘true’;
DataSource1.DataSet := ADOTable1;
DBGrid1.DataSource := DataSource1;
DBNavigator1. DataSource := DataSource1;
ADOTable1.Connection := ADOConnection1;
ADOTable1.TableName := ‘goods’;
ADOTable1.Active := ‘true’;
DataSource1.DataSet := ADOTable1;
DBGrid1.DataSource := DataSource1;
DBNavigator1. DataSource := DataSource1;
end;
end.
Размещено на Allbest.ru
