Тестирование веб-приложения на языках PHP и SQL
PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом. Язык программирования, специально разработанный для написания веб-приложений (сценариев), исполняющихся на веб-сервере. Средства системного уровня и приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 11.12.2017 |
Размер файла | 666,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования Республики Беларусь
Учреждение образования
"Гомельский государственный университет имени Франциска Скорины"
Заочный факультет
Кафедра вычислительной математики и программирования
Отчет по преддипломной практике
Тестирование веб-приложения на языках PHP и SQL
Исполнитель: Н.И. Кравченко
Научный руководитель: Т.М. Дёмова
Гомель 2017
Содержание
1. Постановка и обоснование задач, решаемых во время практики
2. Методы реализации и иллюстративные примеры
Заключение
Список использованных источников
Приложение
1. Постановка и обоснование задач, решаемых во время практики
В ходе производственной технологической практики было создано веб-приложение на языках PHP и SQL.
PHP - это широко используемый язык сценариев общего назначения с открытым исходным кодом. Говоря проще, PHP это язык программирования, специально разработанный для написания веб-приложений (сценариев), исполняющихся на веб-сервере. Аббревиатура PHP означает "Hypertext Preprocessor (Препроцессор Гипертекста)". PHP достаточно прост для изучения. Преимуществом PHP является предоставление веб-разработчикам возможности быстрого создания динамически генерируемых веб-страниц. Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. PHP позволяет создавать качественные веб-приложения за очень короткие сроки, получая продукты, легко модифицируемые и поддерживаемые в будущем.
Главным фактором языка РНР является практичность. Практический характер РНР обусловлен пятью важными характеристиками:
· традиционностью;
· простотой;
· эффективностью;
· безопасностью;
· гибкостью.
Традиционность - язык РНР будет казаться знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Си, Perl.
Код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР. PHP - язык, сочетающий достоинства Perl и Си и специально нацеленный на работу в Интернете, язык с универсальным и ясным синтаксисом.
Простота - Сценарий РНР может состоять из 10 000 строк или из одной строки - все зависит от специфики вашей задачи. Вам не придется подгружать библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?>). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист.
PHP - язык, который может быть встроен непосредственно в html -код страниц, которые, в свою очередь будут корректно обрабатываться PHP -интерпретатором. Мы можем использовать PHP для написания CGI-сценариев и избавиться от множества неудобных операторов вывода текста. Мы можем привлекать PHP для формирования HTML-документов, избавившись от множества вызовов внешних сценариев.
Большое разнообразие функций PHP избавят вас от написания многострочных пользовательских функций на C или Pascal .
Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и web .
Очень важное преимущество PHP заключается в его "движке". "Движок" PHP не является ни компилятором, ни интерпретатором. Он является транслирующим интерпретатором. Такое устройство "движка" PHP позволяет обрабатывать сценарии с достаточно высокой скоростью.
По некоторым оценкам, большинство PHP-сценариев (особенно не очень больших размеров) обрабатываются быстрее аналогичных им программ, написанных на Perl. Однако, чтобы не делали разработчики PHP, откомпилированные исполняемые файлы будут работать значительно быстрее - в десятки, а иногда и в сотни раз. Но производительность PHP вполне достаточна для создания вполне серьезных web-приложений.
Безопасность - РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения. программирование приложение сервер
Средства безопасности системного уровня - в РНР реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке РНР это обеспечивает максимальную свободу действий и безопасность. РНР может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения РНР пользователями по ряду важных показателей. Например, можно ограничить максимальное время выполнения и использование памяти (неконтролируемый расход памяти отрицательно влияет на быстродействие сервера). По аналогии с cgi-bin администратор также может устанавливать ограничения на каталоги, в которых пользователь может просматривать и исполнять сценарии РНР, а также использовать сценарии РНР для просмотра конфиденциальной информации на сервере (например, файла passwd).
Средства безопасности уровня приложения - в стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (e-commerce). Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает хотя бы для выполнения команды View Source.
Гибкость - поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).
Нет проблем и с зависимостью от браузеров, поскольку перед отправкой клиенту сценарии РНР полностью компилируются на стороне сервера. В сущности, сценарии РНР могут передаваться любым устройствам с браузерами, включая сотовые телефоны, электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о традиционных ПК. Программисты, занимающиеся вспомогательными утилитами, могут запускать РНР в режиме командной строки.
Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus - РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-независимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003.
Наконец, средства РНР позволяют программисту работать с внешними компонентами, такими как Enterprise Java Beans или СОМ-объекты Win32. Благодаря этим новым возможностям РНР занимает достойное место среди современных технологий и обеспечивает масштабирование проектов до необходимых пределов.
SQL (Структурированный Язык Запросов). Это - язык, который дает возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах. Информационное пространство становится более унифицированным. Это привело к необходимости создания стандартного языка, который мог бы использоваться в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям, знающим один набор команд, использовать их для создания, нахождения, изменения и передачи информации - независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ. В нашем все более и более взаимосвязанном компьютерном мире, пользователь снабжённый таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов. Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя различные особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезности своих качеств.
2. Методы реализации и иллюстративные примеры
В ходе преддипломной практики был разработано веб-приложение для оказания услуг дизайна интерьера на языках PHP и SQL. Данное приложение состоит из пользовательской и административной части.
Все разработанные страницы пользовательской части имеют схожую структуру. Все страницы сайта взаимосвязаны. Структура базы данных SQL представлена в приложении А.
На главной странице пользовательского сайта для удобства перемещения расположены ссылки на все ключевые разделы сайта (рис 1).
Рисунок 1
Также, на главной странице есть раздел новинок, где показаны последние добавленные услуги и товары (рис 2).
Рисунок 2
В разделе "Категории" находятся предоставляемые услуги и товары, перейдя по ссылкам которых, можно увидеть ассортимент и заказать подходящий товар или услугу (рис 3).
Рисунок 3
В разделе "Контакты" реализована обратная форма для оперативной связи с менеджером. Отправка сообщения защищена антиспамом (рис 4).
Рисунок 4
На каждой странице расположены значки (рис 5), кликнув по которым можно попасть на главную страницу (рис 1), перейти к карте сайта (рис 6) или зайти в корзину (рис 7).
Рисунок 5
Рисунок 6
Рисунок 7
Для успешного оформления заказа клиенту необходимо заполнить форму (рис 8), которая содержит поля обязательные для заполнения, отправка защищена антиспамом. После того, как заказ принят, появляется уведомление об этом (рис 9).
Рисунок 8
Рисунок 9
В административную часть вход осуществляется через логин и пароль (рис 10).
Рисунок 10
Здесь можно добавлять и редактировать информационные страницы пользовательского сайта (рис 11), редактировать каталог товаров добавлять, изменять или удалять категории и наименования товаров и услуг (рис 12).
Рисунок 11
Рисунок 12
В административной части находятся все новые заказы, над которыми осуществляется работа (рис 13).
Рисунок 13
После обработки заказы переносятся и хранятся в архиве (рис 14).
Рисунок 14
В разделе "Профиль" можно изменить логин и пароль для входа в административную часть (рис 15).
Рисунок 15
Заключение
В ходе прохождения преддипломной практики были изучены основы языка PHP и SQL. В результате было создано веб-приложение, включающее в себя административную и пользовательскую часть, а также базу данных.
Список использованных источников
1. Гаевский, А.Ю. 100% самоучитель по созданию Web-страниц и Web-сайтов: HTML и JavaScript / А.Ю. Гаевский, В.А. Романовский. - Москва: Технолоджи - 3000 : Триумф, 2008. - 457 с.
2. Фролов А.В., Фролов Г.В. Создание Web-приложений: Практическое руководство. - М.: Издательско-торговый дом "Русская редакция", 2001. - 1040 с.
3. Дубаков М.А. Создание Web-страниц: искусство верстки. - Мн.: Новое знание, 2004. - 287 с
4. Робин Никсон, Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5: Питер, 2015. - 688 с
Приложение А
package com.vk.vktestapp;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.vk.sdk.api.VKApi;
import com.vk.sdk.api.VKApiConst;
import com.vk.sdk.api.VKBatchRequest;
import com.vk.sdk.api.VKBatchRequest.VKBatchRequestListener;
import com.vk.sdk.api.VKError;
import com.vk.sdk.api.VKParameters;
import com.vk.sdk.api.VKRequest;
import com.vk.sdk.api.VKRequest.VKRequestListener;
import com.vk.sdk.api.VKResponse;
import com.vk.sdk.api.methods.VKApiCaptcha;
import com.vk.sdk.api.model.VKApiPhoto;
import com.vk.sdk.api.model.VKApiUser;
import com.vk.sdk.api.model.VKAttachments;
import com.vk.sdk.api.model.VKPhotoArray;
import com.vk.sdk.api.model.VKWallPostResult;
import com.vk.sdk.api.photo.VKImageParameters;
import com.vk.sdk.api.photo.VKUploadImage;
import com.vk.sdk.dialogs.VKShareDialog;
import com.vk.sdk.dialogs.VKShareDialogBuilder;
import org.json.JSONArray;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class TestActivity extends ActionBarActivity {
private static final int[] IDS = {R.id.users_get, R.id.friends_get, R.id.messages_get, R.id.dialogs_get,
R.id.captcha_force, R.id.upload_photo, R.id.wall_post, R.id.wall_getById, R.id.test_validation,
R.id.test_share, R.id.upload_photo_to_wall, R.id.upload_doc, R.id.upload_several_photos_to_wall,
R.id.test_send_request};
public static final int TARGET_GROUP = 60479154;
public static final int TARGET_ALBUM = 181808365;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment implements View.OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_test, container, false);
for (int id : IDS) {
view.findViewById(id).setOnClickListener(this);
}
return view;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.test_send_request: {
makeRequest();
}
break;
case R.id.users_get: {
VKRequest request = VKApi.users().get(VKParameters.from(VKApiConst.FIELDS,
"id,first_name,last_name,sex,bdate,city,country,photo_50,photo_100," +
"photo_200_orig,photo_200,photo_400_orig,photo_max,photo_max_orig,online," +
"online_mobile,lists,domain,has_mobile,contacts,connections,site,education," +
"universities,schools,can_post,can_see_all_posts,can_see_audio,can_write_private_message," +
"status,last_seen,common_count,relation,relatives,counters"));
request.secure = false;
request.useSystemLanguage = false;
startApiCall(request);
}
break;
case R.id.friends_get:
startApiCall(VKApi.friends().get(VKParameters.from(VKApiConst.FIELDS, "id,first_name,last_name,sex,bdate,city")));
break;
case R.id.messages_get:
startApiCall(VKApi.messages().get());
break;
case R.id.dialogs_get:
startApiCall(VKApi.messages().getDialogs());
break;
case R.id.captcha_force:
startApiCall(new VKApiCaptcha().force());
break;
case R.id.upload_photo: {
final Bitmap photo = getPhoto();
VKRequest request = VKApi.uploadAlbumPhotoRequest(new VKUploadImage(photo, VKImageParameters.pngImage()), TARGET_ALBUM, TARGET_GROUP);
request.executeWithListener(new VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
recycleBitmap(photo);
VKPhotoArray photoArray = (VKPhotoArray) response.parsedModel;
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("https://vk.com/photo-%d_%s", TARGET_GROUP, photoArray.get(0).id)));
startActivity(i);
}
@Override
public void onError(VKError error) {
showError(error);
}
});
}
break;
case R.id.wall_post:
makePost(null, "Hello, friends!");
break;
case R.id.wall_getById:
startApiCall(VKApi.wall().getById(VKParameters.from(VKApiConst.POSTS, "1_45558")));
break;
case R.id.test_validation:
startApiCall(new VKRequest("account.testValidation"));
break;
case R.id.test_share: {
final Bitmap b = getPhoto();
VKPhotoArray photos = new VKPhotoArray();
photos.add(new VKApiPhoto("photo-47200925_314622346"));
new VKShareDialogBuilder()
.setText("I created this post with VK Android SDK\nSee additional information below\n#vksdk")
.setUploadedPhotos(photos)
.setAttachmentImages(new VKUploadImage[]{
new VKUploadImage(b, VKImageParameters.pngImage())
})
.setAttachmentLink("VK Android SDK information", "https://vk.com/dev/android_sdk")
.setShareDialogListener(new VKShareDialog.VKShareDialogListener() {
@Override
public void onVkShareComplete(int postId) {
recycleBitmap(b);
}
@Override
public void onVkShareCancel() {
recycleBitmap(b);
}
@Override
public void onVkShareError(VKError error) {
recycleBitmap(b);
}
})
.show(getFragmentManager(), "VK_SHARE_DIALOG");
}
break;
case R.id.upload_photo_to_wall: {
final Bitmap photo = getPhoto();
VKRequest request = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.9f)), 0, TARGET_GROUP);
request.executeWithListener(new VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
recycleBitmap(photo);
VKApiPhoto photoModel = ((VKPhotoArray) response.parsedModel).get(0);
makePost(new VKAttachments(photoModel));
}
@Override
public void onError(VKError error) {
showError(error);
}
});
}
break;
case R.id.upload_doc:
startApiCall(VKApi.docs().uploadDocRequest(getFile()));
break;
case R.id.upload_several_photos_to_wall: {
final Bitmap photo = getPhoto();
VKRequest request1 = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.9f)), 0, TARGET_GROUP);
VKRequest request2 = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.5f)), 0, TARGET_GROUP);
VKRequest request3 = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.1f)), 0, TARGET_GROUP);
VKRequest request4 = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.pngImage()), 0, TARGET_GROUP);
VKBatchRequest batch = new VKBatchRequest(request1, request2, request3, request4);
batch.executeWithListener(new VKBatchRequestListener() {
@Override
public void onComplete(VKResponse[] responses) {
super.onComplete(responses);
recycleBitmap(photo);
VKAttachments attachments = new VKAttachments();
for (VKResponse response : responses) {
VKApiPhoto photoModel = ((VKPhotoArray) response.parsedModel).get(0);
attachments.add(photoModel);
}
makePost(attachments);
}
@Override
public void onError(VKError error) {
showError(error);
}
});
}
break;
}
}
private void startApiCall(VKRequest request) {
Intent i = new Intent(getActivity(), ApiCallActivity.class);
i.putExtra("request", request.registerObject());
startActivity(i);
}
private void showError(VKError error) {
new AlertDialog.Builder(getActivity())
.setMessage(error.toString())
.setPositiveButton("OK", null)
.show();
if (error.httpError != null) {
Log.w("Test", "Error in request or upload", error.httpError);
}
}
private Bitmap getPhoto() {
try {
return BitmapFactory.decodeStream(getActivity().getAssets().open("android.jpg"));
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
private static void recycleBitmap(@Nullable final Bitmap bitmap) {
if (bitmap != null) {
bitmap.recycle();
}
}
private File getFile() {
try {
InputStream inputStream = getActivity().getAssets().open("android.jpg");
File file = new File(getActivity().getCacheDir(), "android.jpg");
OutputStream output = new FileOutputStream(file);
byte[] buffer = new byte[4 * 1024]; // or other buffer size
int read;
while ((read = inputStream.read(buffer)) != -1) {
output.write(buffer, 0, read);
}
output.flush();
output.close();
return file;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
private void makePost(VKAttachments attachments) {
makePost(attachments, null);
}
private void makeRequest() {
VKRequest request = new VKRequest("apps.getFriendsList", VKParameters.from("extended", 1, "type", "request"));
request.executeWithListener(new VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
final Context context = getContext();
if (context == null || !isAdded()) {
return;
}
try {
JSONArray jsonArray = response.json.getJSONObject("response").getJSONArray("items");
int length = jsonArray.length();
final VKApiUser[] vkApiUsers = new VKApiUser[length];
CharSequence[] vkApiUsersNames = new CharSequence[length];
for (int i = 0; i < length; i++) {
VKApiUser user = new VKApiUser(jsonArray.getJSONObject(i));
vkApiUsers[i] = user;
vkApiUsersNames[i] = user.first_name + " " + user.last_name;
}
new AlertDialog.Builder(context)
.setTitle(R.string.send_request_title)
.setItems(vkApiUsersNames, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
startApiCall(new VKRequest("apps.sendRequest",
VKParameters.from("user_id", vkApiUsers[which].id, "type", "request")));
}
}).create().show();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private void makePost(VKAttachments attachments, String message) {
VKRequest post = VKApi.wall().post(VKParameters.from(VKApiConst.OWNER_ID, "-" + TARGET_GROUP, VKApiConst.ATTACHMENTS, attachments, VKApiConst.MESSAGE, message));
post.setModelClass(VKWallPostResult.class);
post.executeWithListener(new VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
if (isAdded()) {
VKWallPostResult result = (VKWallPostResult) response.parsedModel;
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("https://vk.com/wall-%d_%s", TARGET_GROUP, result.post_id)));
startActivity(i);
}
}
@Override
public void onError(VKError error) {
showError(error.apiError != null ? error.apiError : error);
}
});
}
}
}
Размещено на Allbest.ru
...Подобные документы
Основные инструменты построения Web-приложения. Язык сценариев PHP. Системный анализ предметной области базы данных. Коды SQL запросов на создание таблиц. Разработка Web-приложения. Описание функциональности модулей. Система управления содержимым статей.
курсовая работа [4,8 M], добавлен 28.04.2014Этапы развития, особенности и возможности языка программирования Java; происхождение названия. Приложения Sun Microsystems: идеи, примитивные типы. Python - высокоуровневый язык программирования общего назначения: структуры данных, синтаксис и семантика.
реферат [79,0 K], добавлен 23.06.2012Основы Web-программирования. Сервер баз данных MySQL. Язык сценариев PHP. Язык гипертекстовой разметки HTML. Назначение и цели разработки сайта. Форма входа и регистрации, обратная связь интернет–магазина. Требования к структуре сайта, описание контента.
курсовая работа [754,5 K], добавлен 02.06.2014Обзор различных способов реализации много поточности в языках программирования и операционных системах, а также разработка прототипа приложения реализующего многопоточность. Создание приложения в Delphi, реализующего потоки выполнения уровня пользователя.
курсовая работа [86,7 K], добавлен 27.05.2012Реализация выбора в языках высокого уровня, использование сложных типов. Формат оператора выбора в языке Pascal. Изображение оператора варианта на блок-схеме. Понятие массива и способы их вводов. Описание компонентов приложения и программного кода.
курсовая работа [585,6 K], добавлен 17.08.2013Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.
контрольная работа [25,1 K], добавлен 14.03.2015Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.
курсовая работа [167,8 K], добавлен 18.01.2017Задачи, которые решают интернет-ресурсы. Классификация интернет-рекламы. Обзор существующих Web-технологий. Язык разработки сценариев PHP. Технология построения интерактивных документов DHTML. Средства и технологии для разработки интернет-ресурса.
дипломная работа [1,5 M], добавлен 22.11.2015Характеристика системы программирования. Главные составные части Delphi. Интерфейс программного приложения. Результаты работы программы. Руководство системного программиста и оператора. Язык программирования Delphi, среда компилятора Borland 7.0.
курсовая работа [1,6 M], добавлен 29.05.2013Назначение и возможности разработанного приложения для контроля активности сетевых и периферийных устройств предприятия. Язык программирования Java. Распределенные многоуровневые приложения. Структура базы данных, интерфейс разработанного приложения.
курсовая работа [1,0 M], добавлен 16.12.2012Этапы написания программы на четырех языках программирования (Turbo Pascal 7.0, Borland C++ 3.11, Delphi 7, Builder C++ 6.0), которая выводит на экран имя и фамилию студента, используя стандартные средства графики и простейшие геометрические фигуры.
контрольная работа [1,4 M], добавлен 05.06.2010Изучение языка низкого уровня ассемблер для написания примера программы для 16 битного приложения. Разработка и реализация алгоритма поднесения чисел к степени чисел над полем за основанием 2 (mod 2). Иллюстрация техники создания DOS приложения.
курсовая работа [33,3 K], добавлен 08.11.2011Описание языков программирования высокого уровня. Стандартные структуры данных, обзор принципов структурного программирования. Построение математической модели и выбор структуры данных для решения задачи. Тестирование и отладка программного кода.
курсовая работа [1,3 M], добавлен 05.12.2020Рассмотрение и ознакомление с одним из наиболее используемых языков программирования - С++. Его применение в процессе работы со строковыми типами данных и символами. Исследование кодов написания программ в режиме разработки консольного приложения.
курсовая работа [6,1 M], добавлен 20.01.2016Средства, используемые при разработке интернет-приложения. Язык обработки сценариев на стороне web-сервера. Система управления базами данных MySQL. Проектирование front-offiсe. Проектирование ER модели данных с использованием модели "сущность-связь".
курсовая работа [3,5 M], добавлен 15.01.2014Концепция Web 2.0. Язык разметки HTML5. Инструментальные средства для создания веб-приложений. Язык объектного анализа и проектирования UML. Осуществление наполнения и тестирования разработанного интернет-магазина. Форматирование содержимого Web-страниц.
дипломная работа [3,9 M], добавлен 05.06.2016Базовый синтаксис языка сценариев JavaScript. Создание страниц, включающих в себя программы, которые взаимодействуют с пользователем, управляют браузером и динамически создают HTML-содержимое. Работа с объектами, которые инкапсулируют данные и поведение.
лабораторная работа [58,6 K], добавлен 25.05.2016Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.
курсовая работа [867,9 K], добавлен 16.07.2013Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".
практическая работа [26,0 K], добавлен 04.02.2015Понятие и специфические особенности языка программирования Си, история его создания. Интегрированная система Borland C. Процесс программирования с помощью данного языка. Графические примитивы в языках программирования. Преобразования на плоскости.
курс лекций [782,2 K], добавлен 04.10.2011