Автор работы: Пользователь скрыл имя, 03 Мая 2015 в 20:54, курсовая работа
Целью курсовой работы является разработка программного продукта, позволяющего автоматизировать документооборот в магазине. Для разработки будет использоваться язык UML и программный пакет Rational Rose.
UML включает набор графических элементов, используемых на диаграммах, и правила для объединения этих элементов. Диаграммы используются для отображения различных представлений системы. Этот набор представлений называется моделью.
ВВЕДЕНИЕ 3
1 Описание информационной системы для организации товарооборота и обработки платежей в магазине видеопроката 4
1.1 Характеристика существующей организации обработки информации в магазине видеопроката 4
1.2 Информационные данные, обеспечивающие вариантность решения задачи 4
1.3 Словарь специальных терминов, характеризующих объект 5
2 Разработка автоматизированной системы для организации товарооборота и обработки платежей в магазине видеопроката 6
2.1 Техническое задание на разработку ПП 6
2.2 Разработка модели использования для системы «Видеопрокат» 13
2.3 Построение концептуальной модели «Товарооборот и обработка платежей в магазине видеопроката» 14
2.3.1 Описание поведения системы 14
2.3.1.1 Диаграмма последовательностей системы 15
2.3.1.2 Диаграммы кооперации 16
2.3.1.3 Диаграммы действий 17
2.3.2 Разработка структуры программного обеспечения 19
2.3.2.1 Определение отношений между объектами 19
2.3.2.2 Проектирование классов 21
2.3.2.3 Диаграммы состояний объектов 22
2.4 Обоснования проектных решений по программному решению задачи 23
2.4.1 Компоновка программных компонентов 23
2.4.2 Проектирование размещения программных компонентов для распределённых программных систем 24
2.5 Обоснование выбора средств моделирования и языка программирования 25
3 Разработка интерфейса пользователя 26
3.1 Стандарт интерфейса пользователя проекта 26
3.2 Руководство пользователя 27
4 Тестирование разработанного ПП 29
5 Результаты исследований 31
5.1 Анализ экономической эффективности 31
5.2. Характеристика разработанного ПП 31
Список литературы 32
Прецеденты и сценарии применяются для описания поведения системы, то есть взаимодействия объектов в ней. Иногда требуется рассмотреть поведение внутри самого объекта. Диаграмма состояний (statechart diagram) показывает положение одиночного объекта, события или сообщения, которые вызывают переход из одного состояния в другое, и действия, являющиеся результатом смены состояния.
Состояние (state) - это некое положение в жизни объекта, при котором он удовлетворяет определенному условию, выполняет некоторое действие или ожидает события. Состояние объекта можно описать с помощью значений одного или нескольких атрибутов класса. В языке UML состояние изображается в виде прямоугольника с закругленными углами.
Диаграмма состояний включает все сообщения, которые объект получает и отправляет. Интервал между двумя сообщениями, отправляемыми объектом, обычно представляет состояние. Таким образом, для определения состояний объекта нужно изучить диаграмму последовательности действий. Если для каждой функции в системе учет товара в магазине были созданы диаграммы последовательности действий, то с помощью них можно обнаружить, что объекты класса организация товарооборота могут находиться в одном из следующих состояний: прокат, клиент, конец (получение карты, видео и чека).
Рисунок 7 – Диаграмма состояний «Прокат»
В представлении компонентов модели, компоненты исходного кода – это программные файлы, содержащиеся внутри пакетов. Тип файлов зависит от языка программирования. Каждый компонент связан с каким-либо языком. Классы в логическом представлении отображаются на компоненты в представлении компонентов. Однако иногда на один компонент может быть отображено больше одного класса. Также существуют классы, которые используются как шаблон взаимодействия, отображаемый на один физический файл.
Для разрабатываемой автоматизированной системы «Товарооборот и обработка платежей в магазине видеопроката» диаграмма программных компонентов приведена на рисунке 8.
Рисунок 8 – Компоновка программных компонентов
После изучения для данной задачи компонентов, существующих аппаратных средств и оценки загруженности системы разработчики архитектуры решили выделить три вычислительных систем: одну – для запуска исполняемого модуля, одну – для работы с базой данных и одну для покупателей.
Рисунок 9 – Проектирование размещения программных компонентов для ИС
Реализация поставленной задачи будет проводиться с использованием средства моделирования Rational Rose и языка UML, а также среды разработки Delphi 7, в которой использован язык программирования высокого уровня Object Pascal. Данный язык программирования ориентирован на разработку приложений для баз данных. Delphi 7 позволяет программисту быстро и качественно создавать приложения любой сложности для работы с базами данных.
Типы пользовательских интерфейсов – представляют собой совокупность ПО обеспечивающее взаимодействие пользователя с компьютером. Основу этих взаимодействий составляют диалоги, регламентирующие обмен информации между человеком и компьютером осуществленных в реальном масштабе времени и направленные на совместные решения конкретной задачи.
Рисунок 10 – Организация взаимодействия пользователя с компьютером
Рисунок 11 – Организация интерфейса ИС «Видеопрокат»
Типы пользовательских интерфейсов – представляют собой совокупность ПО обеспечивающее взаимодействие пользователя с компьютером.
Рисунок 12 – Интерфейс «Меню»
Рассмотрим каждый режим формы «меню».
При нажатии на кнопку «Клиенты», открывается форма «Клиенты» (рис. 13).
Рисунок 13 – Интерфейс «Клиенты»
При нажатии на кнопку «Выход» происходит закрытие формы.
Поиск по номеру карточки осуществляется вводом нужного номера в поле, при этом указатель перемещается на строку с искомым номером.
При нажатии на кнопку «Регистрация» появляется форма «Регистрация нового клиента» (рис. 14)
Рисунок 14 - Интерфейс «Регистрация нового клиента»
При нажатии на кнопку «Сохранить» происходит сохранение введенных данных в таблицу «Клиенты».
При нажатии на кнопку «Видео» на форме «меню», открывается форма «Видео» (рис. 15).
Рисунок 15 - Интерфейс «Видео»
При нажатии на кнопку «Выход» происходит закрытие формы.
Поиск по номеру видео осуществляется вводом нужного номера в поле, при этом указатель перемещается на строку с искомым номером.
При нажатии кнопки «Выход» на форме «Меню» происходит закрытие формы.
Тестирование - это процесс выполнения программы, целью которого является выявление ошибок.
Для обнаружения всех ошибок в программе, используя управление по данным, необходимо выполнить исчерпывающее тестирование, т.е. тестирование на всех возможных наборах данных. Для тех же программ, где исполнение команды зависит от предшествующих ей событий, необходимо проверить и все возможные последовательности. Очевидно, что проведение исчерпывающего тестирования для подавляющего большинства случаев невозможно. Поэтому обычно выполняют «разумное» или «приемлемое» тестирование, которое ограничивается прогонами программы на небольшом подмножестве всех возможных входных данных. Этот вариант не дает гарантии отсутствия отклонений от спецификаций.
При функциональном тестировании различают следующие методы формирования тестовых наборов:
Эквивалентное разбиение. Метод эквивалентного разбиения заключается в следующем. Область всех возможных наборов входных данных программы по каждому параметру разбивают на конечное число групп - классов эквивалентности. Наборы данных такого класса объединяют по принципу обнаружения одних и тех же ошибок: если набор какого-либо класса обнаруживает некоторую ошибку, то предполагается, что все другие тесты этого класса эквивалентности тоже обнаружат эту ошибку и наоборот.
Анализ граничных значений. Граничные значения - это значения на границах классов эквивалентности входных значений или около них. Анализ показывает, что в этих местах резко увеличивается возможность обнаружения ошибок.
Анализ причинно-следственных связей. Анализ причинно-следственных связей позволяет системно выбирать высокорезультативные тесты. Метод использует алгебру логики и оперирует понятиями «причина» и «следствие». Идея метода заключается в отнесении всех следствий к причинам, т. е. в уточнении причинно-следственных связей. Данный метод дает полезный побочный эффект, позволяя обнаруживать неполноту и неоднозначность исходных спецификаций.
Предположение об ошибке. Процедура метода предположения об ошибке в значительной степени основана на интуиции. Основная его идея заключается в том, чтобы перечислить в некотором списке возможные ошибки или ситуации, в которых они могут появиться, а затем на основе этого списка составить тесты. Другими словами, требуется перечислить те особые случаи, которые могут быть не учтены при проектировании.
В общем случае при тестировании программы, правильно выбранный тест должен уменьшать, причем более чем на единицу, число других тестов, которые должны быть разработаны для обеспечения требуемого качества программного обеспечения.
Рисунок 16 - Диаграмма тестирования
После внедрения разработанного программного продукта работникам магазина понадобится гораздо меньше времени для организации документооборота. Представленный алгоритм работы взятие видео на прокат максимально снижает время обработки информации.
Данная система имеет такие характеристики как:
1. Норенков И.П. Основы автоматизированного проектирования: Учеб. для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2000. : ил. (Сер. «Информатика в техническом университете»).
2. Бобров «Объектно-ориентированное программирование» - М.: 2000г.
3. Липаев В.В., Филинов Е.Н. Мобильность программ и данных в открытых информационных системах. – М.: Научная книга, 1997.
4. Вендор А.М. Проектирование программного обеспечения экономических информационных систем: Учебник. – М.: Финансы и статистика, 2000.
5. Системы автоматизированного проектирования: Учеб. Пособие для вузов / Под ред. И.П. Норенкова. М.: Высш. Шк., 1986.
6. Мацяшек, Лешек А. анализ требований
и проектирование систем. Разработка
информационных систем с
Программный код формы «Меню»
unit Ras;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, jpeg, ExtCtrls, ImgList;
type
TFormRas = class(TForm)
DataSource1: TDataSource;
RasTable: TADOTable;
DBGrid1: TDBGrid;
Button1: TButton;
RasTableDSDesigner: TWideStringField;
RasTableDSDesigner2: TWideStringField;
Button2: TButton;
ADOConnection1: TADOConnection;
Image1: TImage;
Image2: TImage;
procedure Button1Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormRas: TFormRas;
Fmess:TForm;
implementation
uses newnapr,pass;
{$R *.dfm}
procedure TFormRas.Button1Click(Sender: TObject);
begin
formpokupatel.ShowModal;
end;
procedure TFormRas.Button2Click(Sender: TObject);
begin
FormPass.ShowModal;
end.
Программный код формы «Видео»
unit Pass;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, ExtCtrls, Buttons, DBCtrls,
ComCtrls, jpeg;
type
TFormKonsultant = class(TForm)
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOTable1DSDesigner: TWideStringField;
ADOTable1DSDesigner2: TWideStringField;
ADOTable1DSDesigner3: TWideStringField;
ADOTable1DSDesigner4: TWideStringField;
ADOTable1DSDesigner5: TWideStringField;
ADOTable1DSDesigner6: TWideStringField;
Button1: TButton;
Label1: TLabel;
Button2: TButton;
Edit1: TEdit;
Label2: TLabel;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
BitBtn1: TBitBtn;
RadioGroup1: TRadioGroup;
Button7: TButton;
Edit2: TEdit;
Edit3: TEdit;
CheckBox1: TCheckBox;
Label4: TLabel;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Label5: TLabel;
RadioGroup2: TRadioGroup;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ADOTable1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure RadioGroup2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormKonsultant: TFormKonsultant;
po:string;
implementation
uses ras, newnapr, report, NewKonsultant, Unit3;
{$R *.dfm}
procedure TFormPass.Button1Click(Sender: TObject);
begin
Adotable1.Insert;
FormNewKonsultant.ShowModal;
end;
procedure TFormKonsultant.
begin
adotable1.Edit;
formnewpokupat.ShowModal;
end;
procedure TFormKonsultant.Button2Click(
begin
Adotable1.Edit;
Adotable1.Delete;
end;
procedure TFormKonsultant.Button3Click(
begin
with adotable1 do
begin
first;
while not eof do
begin
if (ADOTable1DSDesigner.Text=
showmessage('фамилия: '+ADOTable1DSDesigner.Text+'
next;
end;
end;
end;
procedure TFormKonsultant.Button4Click(
begin
form1.QRLabel12.Caption:=
form1.QRLabel13.Caption:=
form1.QRLabel14.Caption:=
form1.QRLabel15.Caption:=
form1.QRLabel21.Caption:=
form1.QRLabel16.Caption:=
form1.QuickRep1.Preview;
end;
procedure TFormKonsultant.Button5Click(
begin
label2.Visible:=false;
edit1.Visible:=false;
edit1.Text:='';
button3.Visible:=false;
ADOtable1.Filtered:=false;
button5.Visible:=false;
button10.Visible:=true;
end;
procedure TFormKonsultant.Button6Click(
begin
FormKonsultant.close;
end;
procedure TFormKonsultant.Button7Click(
var Pole : Shortstring;
begin
case RadioGroup1.ItemIndex of
0 : Pole := 'Жанр';
1 : Pole := 'Название';
2 : Pole := 'Режисер';
end;
ADOtable1.Locate(Pole,(Edit2.
end;
procedure TFormKonsultant.
begin
ADOTable1.Filtered:=CheckBox1.
end;
procedure TFormKonsultant.