Файл: Применение объектно-ориентированного подхода при проектировании информационной системы.pdf
Добавлен: 30.06.2023
Просмотров: 76
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Объектно-ориентированный подход при проектировании информационных систем
1.1. Характеристика объектно-ориентированного подхода
Глава 2. Объектно-ориентированные языки программирования
2.1. Основные сведения о языке программирования С# и C++
2.2. Отличия языков программирования C# и Java
2.3. Язык программирования Delphi
Delphi (Делфи, произносится /ˈdɛlˌfi:/) - императивный, структурированный, объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования - написание прикладного программного обеспечения.
Первоначально носил название Object Pascal и исторически восходит к одноимённому диалекту языка, разработанному в фирме Apple в 1986 году группой Ларри Теслера [20]. Однако в настоящее время термин Object Pascal чаще всего употребляется в значении языка среды программирования Delphi. Начиная с Delphi 7, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.
Delphi 7 представляет собой среду, предназначенную для визуального проектирования приложений для Windows с развитыми механизмами повторного использования программного кода. У Delphi, как и у многих других крупных компаний, есть конкуренты. Им является всем знакомая среда разработки Microsoft Visual C++, которая имеет свои преимущества и недостатки, но являющаяся более популярной, в основном, из-за того, что была разработана именно фирмой Microsoft.
Отличительной чертой Delphi является модель компонентной разработки программных продуктов. Суть модели заключается в поддержке системного постоянно расширяемого набора объектных компонентов, из которых строится сама программа. В Delphi Компоненты очень просты для развития и использования. Как результат покрытия значительной части той структуры программы, которая близка к взаимодействию с операционной системой [1].
Интегрированная среда разработки Turbо Dеlphi была разработана компанией CоdeGеar, которая ориентирована на студентов, частных пользователей и начинающих программистов. Данная среда разработки основана на языке программирования Dеlphi. Основным отличием данного программного продукта является бесплатная версия компилятора Turbо Dеlphi Explоrer.
Среда разработки Dеlphi – одна из первых систем, которая занялась быстрой разработкой приложений (RАD) и технологию визуального конструирования. Технология Visuаl Dеsign содержит готовые компоненты, из которых будет строится интерфейс будущей программы.
Меню представляет из себя быстрый и гибкий интерфейс для среды разработки Delphi, может управляться по набору горячих клавиш. Это удобно потому, что здесь используются слова или короткие фразы, которые более точные и понятные, чем иконки или пиктограммы. Также можно использовать меню для выполнения широкого круга задач; наиболее общих задач вроде управления отладчиком, открытия и закрытия файлов или настройкой среды программирования [16].
Среда разработки Delphi является средой программирования, в которой сочетаются простота и удобство с мощью и гибкостью объектно-ориентированного программирования. Она обеспечивает визуальное проектирование пользовательского интерфейса и уникальные по своей простоте и мощи средства доступа к базам данных, например, с легкостью можно организовать доступ к базе данных Access, Paradox.
Pаrаdох – является одной из редчайших программ, которые в одинаковой степени обращены как к квалифицированным, так и к начинающим пользователям. Своими успехами Paradox отчасти обязан способу представления задач работы с базами данных. Вместо традиционного изображения отдельных полей и записей на экране видно таблицу – в виде строк и столбцов.
Несмотря на относительно невысокую общую оценку пользовательских свойств Pаrаdох, средства помощи в этом пакете выполнены отлично. Новые эксперты облегчают создание БД. Эксперт по базам данных создаёт все приложения. Включая таблицы, отчеты и формы. Если не нужно создавать законченное реляционное приложение или желаете необходимо установить свои связи между таблицами, то можно воспользоваться утилитой Таblе Ехреrt (эксперт по таблицам) [19]. Эта программа предлагает большой набор шаблонов для использования не только в личных, но и в деловых целях. В ряду других новых полезных средств – Эксперт диаграмм (Сhаrt Еxреrt), Эксперт почтовых отправлений (Маil Меrgе Ехреrt), работающий с редакторами Wоrd и Wоrd Pеrfесt, и Эксперт импортирования текстовых файлов (Теxt Imроrt Ехреrt) [2].
Система управления базами данных Microsoft Access (СУБД) включает все необходимые инструментальные средства для создания локальной базы данных, общей БД в локальной сети с файловым сервером или создания приложения пользователя, работающего с БД на SQL- сервере. Access входит в состав Microsoft Office, что делает его интерфейс знакомым и привычным, а следовательно облегчает работу.
Заключение
В процессе выполнения данной работы были получены следующие результаты. Объектно-ориентированное программирование – методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
Были описаны конструктор и деструктор являются специальными функциями класса, автоматически вызываемые при создании, уничтожении определенного объекта. В большинстве случаев программы используют конструктор для выполнения инициализации элементов класса. Конструктор является специальной функцией, автоматически вызываемой при создании объекта. У конструктора идентичное имя с классом. Деструктор является специальной функцией, автоматически вызываемой при уничтожении объекта. У деструктора идентичное имя с классом, но его имя предваряется символом тильды (~).
Возможности современных объектно-ориентированных языков программирования высокого уровня позволяют реализовать практически любую задачу. Языки программирования используют все новые и новые функции и проведенный анализ в данной работе позволит определить, в сравнении, особенности следующих языков программирования: C#; Java; C++; Delphi.
C# был разработан как язык программирования прикладного уровня для CLR и, как таковой, зависящий от возможностей самой CLR. Это касается системы типов C#, которая отражает BCL. Существует несколько реализаций объектно-ориентированного языка программирования C#: проект Mono включает в себя реализацию языка программирования C# с открытым исходным кодом; проект DotGNU также включает компилятор языка программирования C# с открытым кодом; реализация языка программирования C# в виде компилятора csc.exe была включена в состав платформы .NET Framework.
Анализируя отличия языка программирования C# от Java было установлено, что в языке программирования C# в дополнение к примитивным типам передаются по значению структуры (struct), остальные типы передаются по ссылке. В обоих языках программирования методы определяются через функции класса. Тело метода располагается внутри описания класса.
Delphi является императивным, структурированным, объектно-ориентированным языком программирования со строгой статической типизацией переменных. Основная область использования - написание прикладного программного обеспечения.
К основным особенностям среды разработки Тurbо Dеlрhi можно отнести следующее: поддержка сразу нескольких языков программирования высокого уровня, визуальное создание прикладных программ, использование уже готовых компонентов для будущих программ, введение множества технологий, ускоряющих и облегчающих написание программ возможность создания программ под разные платформы.
Список использованной литературы
- Архангельский А.Я. Программирование в С++ Builder. 2-е изд. – М.: ООО «Бином-Пресса», 2009. – 1259 с.
/*
Администратор отеля. Список номеров: класс, число мест. Список гостей:
паспортные данные, даты приезда и отъезда, номер. Во поселок гостей: выбор
соответствующего номера (при наличии свободных мест), регистрация, оформление
квитанции. Отъезд: выбор всех посто - Яльцев, отъезжающих сегодня,
освобождения места или оформление задержки с выпиской дополнительной квитанции.
Возможность досроч -ного выезда с пересчетом. Поиск гостя по произвольной
признаку.
переменные класса gotel
klas - класс номера
kilkist_mest - количество мест
cena - цена
data_viseleniya - дата выселения
informaciya_o_julce - информация о жильце
В начале присходит объявление используемых библиотек,
для работы с векторами, библиотка ввода-вывода, библиотка
работы со строками, библиотека для работы с visual C++.
*/
//#include <vcl.h>
#include <stdafx.h>
#include <iostream>
#include <string>
#include <typeinfo>
#include <iomanip>
#include <vector>
#pragma warning (disable:4996)
using namespace std;
//-------------------------------------------------------------
/*
Определение класса gotel
Определение типа доступа публичный.
Переменная типа инт и переменные типа строка string.
Определение метода вывода данных, определение метода
автоматического ввода информации void in_gotel и определение
метода получения доступа к приватным переменным класса gotel
string _data_viseleniya().
*/
class gotel
{
public:
string klas;
string kilkist_mest;
string cena;
string data_viseleniya;
string informaciya_o_julce;
public:
void gotel_data() const
{
cout << "\n Klass:" << klas;
cout << "\n Kilkist mest:" << kilkist_mest;
cout << "\n Cena:" << cena;
cout << "\n Data viseleniya:" << data_viseleniya;
cout << "\n Informaciya o julce:" << informaciya_o_julce;
}
void in_gotel(string klass, string kilkist_mests,
string cenas, string data_viseleniyas, string informaciya_o_julces)
{
klas = klass;
kilkist_mest = kilkist_mests;
cena = cenas;
data_viseleniya = data_viseleniyas;
informaciya_o_julce = informaciya_o_julces;
}
string _data_viseleniya()
{
return(data_viseleniya);
};
};
//---------------------------------------------------------------
/*
меню программы, int vubor служит для выбора варианта меню,
после отчистка экрана перед выводом, выравние по левому краю
setiosflags(ios::left), выделение символов для записи 22 символа
setw(22), считывание переменной с клавиатуры cin >> vubor,
возвращение переменной из функции return vubor
*/
// вводим матрицу для вычисления кратчайшего пути и его длины
int m[P][P];
// вводим матрицу для нахождения всех возможных путей между данными
// вершинами в графе не пеpесекающиеся по pебpам
int v[P][P];
int D[P], G[P][P], W[P][P],Z[P];
int N,M,S,F;
int a,b,c;
int i,j,k,l,h,f;
// тело функции для нахождения кратчайшего пути между вершинами в графе
void GRAF (int m[P][P]) {
// в том случае, если путь существует
if (D[F]<MAX) {
printf("\ndlinna puti ot %d uzla do %d uzla = ",S,F);
// выводим полученную длину пути
printf("%d \n",D[F]);
printf("put' megdu %d u %d vershinami : ",S,F);
i=1;
Z[0]=F;
// в массив Z записываем вершины, через которые проходит путь,
// в обратном порядке (от конечной к начальной вершине)
while ( G[F][2] !=0 ) {
Z[i]=G[F][2];
i++;
G[F][2]=G[G[F][2]][2];
}
Z[i]=S;
// выводим вершины, через которые проходит путь, в правильном порядке
for (j=i ; j>=0 ;j--)
printf(" %d",Z[j]);
}
// если пути нет, тогда
else {
printf("\nputi net\n\n\n");
return;
}
for (i=1 ; i<=N ; i++ )
// массив, содержащий расстояния от заданной вершины до всех остальных
D[i] = m[S][i];
D[S] = 0 ;
for (j=1; j<=2 ; j++) {
// матрица, для хранения пути из заданной вершины до всех остальных
G[j][1]=S;
G[S][j]=0;
}
// реализация алгоритма Форда-Беллмана
for (h=1 ; h<=N ;h++) {
i=0;
for (j=2 ; j<=N ; j++) {
for (k=1 ; k<=N ; k++) {
if (D[k] > D[j]+m[j][k])
D[k]=D[j]+m[j][k] ;
i++;
// преобразуем массив расстояний в матрицу
for (l=2 ; l<=N ; l++) {
// (i-ая строка матрицы - массив расстояний на i-ом шаге)
W[i][l]=D[l];
// отслеживаем улучшение пути
if (W[i][l]<W[i-1][l])
// запоминаем вершину через которую проходит данный путь
G[k][2]=j ;
}
}
}
}
// вывод новой строки
printf("\n");
// в том случае, если путь существует
if (D[F]<MAX) {
printf("\ndlinna puti ot %d uzla do %d uzla = ",S,F);
// выводим полученную длину пути
printf("%d \n",D[F]);
printf("put' megdu %d u %d vershinami : ",S,F);
i=1;
Z[0]=F;
// в массив Z записываем вершины, через которые проходит путь,
// в обратном порядке (от конечной к начальной вершине)
while ( G[F][2] !=0 ) {
Z[i]=G[F][2];
i++;
G[F][2]=G[G[F][2]][2];
}
Z[i]=S;
// выводим вершины, через которые проходит путь, в правильном порядке
for (j=i ; j>=0 ;j--)
printf(" %d",Z[j]);
}
// если пути нет, тогда
else {
printf("\nputi net\n\n\n");
return;
}
return;
}
// функция нахождения всех возможных путей между данными вершинами
// в графе не пеpесекающиеся по pебpам
void PYTU () {
// пока путь существует ...
while (D[F]<MAX) {
// вызываем функцию нахождения кратчайшего расстояния для нашего графа
// без учета весов рёбер (все ребра имеют вес = 1)
GRAF(v);
for (j=0 ; j<M ; j++)
// пройденные ребра удаляем (ставим вес = бесконечности)
v[Z[j+1]][Z[j]]=MAX;
}
return;
}
// тело главной функции программы
int main () {
// выполняем очистку экрана
//clrscr();
char fileName[256];
FILE *inp;
printf("Vvedite imya faila : ");
scanf("%s", fileName);
printf("\n");
// открываем файл на чтение
inp=fopen(fileName, "r");
// читаем из файла первую строку, которая содержит
// число вершин N и число ребер M
fscanf (inp,"%d %d",&N,&M);
// присваиваем элементам обоих матриц максимальные значения
for ( i=1 ; i<=N ; i++)
for ( j=1 ; j<=N ; j++) {
m[i][j]=MAX;
v[i][j]=MAX;
}
// читаем из файла остальные M строк,
for (i=1 ;i<=M ;i++ ) {
// содержащие описание ребер (Пример строки файла :" 1 3 6 ":