Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко



Скачать 181.35 Kb.
Дата11.07.2014
Размер181.35 Kb.
ТипДиплом
Міністерство освіти і науки України

Харківський нацiональний університет радіоелектроніки
Факультет комп’ютерних наук

Кафедра програмного забезпечення ЕОМ

ДИПЛОМНИЙ ПРОЕКТ
пояснювальна записка

ГЮІК.8080403.<Код студента>ПЗ
Программная реализация

многокомпонентных систем в cреде браузера

(поддерживающего JavaScript)


Студент гр. _____ ПЗАС-03-4_______ Голодницький I. Э.

Керівник проекту, <посада> ___________________ < прізвище, ініціали >

Допускається до захисту
Зав. кафедри, проф. ___________________ <прізвище, ініціали>


2009 р.

Харківський національний університет радіоелектроніки
Факультет заочного обучения Кафедра програмного забезпечення ЕОМ

Спеціальність Програмне забезпечення автоматизованих систем


ЗАТВЕРДЖУЮ:
“____”______20____р __________

Зав. кафедри проф. Дудар З. В.




ЗАВДАННЯ

НА ДИПЛОМНИЙ ПРОЕКТ СТУДЕНТОВІ

Голодницькому Игорю Евгеновичу


  1. Тема проекту “Программная реализация многокопонентных систем в cреде браузера (поддерживающего JavaScript)”

затверджена наказом №___від “____”_____ 200_ р.

  1. Термін здачі студентом закінченого проекту ”___“ _______________ 20__ р.

  2. Вихідні дані до проекту: В моделі АСУ ощадної каси передбачити введення нового клієнта, проведення коштів клієнта (прибуток і витрата), одержання запиту про рахунок клієнта, ведення касового журналу з інкасацією коштів, нарахування відсотків на рахунки клієнтів, створення звітів за всіма рахунками клієнтів і за касовим журналом. Використовувати ОС Windows, СУБД Oracle, середу об'єктно-орієнтованого проектування С++ Builder



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


  2. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень) Мета проекту, обгрунтування доцільності розроблення, постановка задачі, об'єктна модель системи, базові моделі, методи й алгоритми, структура бази даних, структурно-логічна схема взаємодії даних, план захисту інформації, інтерфейс програмної системи, результати тестування програмної системи, застосувань, економічна частина – графік беззбитковості, рекламний плакат



  1. Консультанти з проекту із зазначенням розділів проекту, що їх стосуються

Розділ

Консультант

Підпис, дата

Завдання видав

Завдання прийняв

Спецчастина

доц. Петренко С.І.







Безпека життєдіяльності

доц. Івашко А.П.







Економічна частина

ст. вик.. Сидорчук І. П.







Календарний план



Назва етапів дипломного проекту

Термін виконання етапів проекту

Примітка

1

Об'єктний аналіз поставленої задачі







2

Розробка моделі взаємодії даних







3

Розробка структури зберігання даних







4

Створення коду програми







5

Тестування і налагодження програми







6

Підготовка пояснювальної записки:










Спецчастина










охорона праці, економіка







7

Підготовка презентації та доповіді







8

Попередній захист







9

Нормоконтроль, рецензування







10

Занесення диплома в електронний архів







11

Допуск до захисту у зав. кафедри







Дата видачі завдання “____”__ __20__.

Керівник доц. ______________ Петренко С. І.

Завдання прийняв до виконання_______________ Іванчук П.С.

  1. ВВЕДЕНИЕ


В данной дипломной работе я
  1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ

2.1 Компонентно-ориентированное программирование

2.1.1 В целом


Компонентно-ориентированное программное обеспечение это раздел программной инженерии, устанавливающий акцент на декомпозиции элементов по функциональным или логическим признакам, используя при этом твёрдо-определённые интерфейсы для коммуникаций. Элементом данной инженерии, является компонент - независимый модуль программного кода, предназначенный для повторного использования и развертывания. Как видно из определения, применение компонентного программирования призвано обеспечить более простую, быструю и прямолинейную процедуру первоначальной инсталляции прикладного программного обеспечения, а также увеличить процент повторного использования кода, т.е. усилить основные преимущества ООП.

В отличии от ООП, коммуникация между компонентами должна проходить, на значительно более высоком уровне абстракции, нежели при общении объектов. Компоненты при этом, не должны использовать общее состояние, и единственный способ их взаимодействия – это сообщения несущие информацию. Данный подход важен, и удобен, так как часто компоненты работают в разных процессах и даже компьютерах, создавая распределённую систему. Из чего, реализация переиспользования выходит на глобальную арену информационных систем.


2.1.2 Эволюция


Следует отметить, что суть данного подхода в большей части основано на принципах «от противного», которым выступает ООП. Также в 70ые, например, зарождалось структурное программирование, по сути боровшееся с проявлениями goto-стиля программирования. В целом же компоненты, есть эволюция подходов к программированию. От процедурного программирование, где применялось раздельное хранение данных и функций. При вызове функции ей необходимо было передавать все данные. Далее перемещаясь к большей описательной способности, к объектно-ориентированному программированию, где инкапсуляция, наследование реализации, полиморфизм, уменьшили время на понимание системы, однако в первичном виде не могли реализовать использования между языками программирования, и суть чёрного ящика. И привёдшее к текущему состоянию - компонентному программированию, где и инкапсуляция, наследование интерфейсов, полиморфизм скрестились с бинарным представлением (черный ящик) создав инфраструктуру для распределенных приложений (поиск интерфейсов, транзакции, безопасность и т.п.).

Тем самым подходы двигались вместе с эволюцией архитектуры приложений: одноуровневая система, локальная вычислительная сеть персональных компьютеров, двухзвенная архитектура клиент/сервер, трехзвенная объектная архитектура клиент/сервер, Web сервисы.

Исторически компонентно-ориентированное программирование возникло как своего рода дисциплина, то есть набор определенных ограничений, налагаемых на механизм ООП, когда стало ясно, что бесконтрольное использование ООП приводит к проблемам с надежностью больших программных комплексов.

Это так называемая проблема хрупких базовых типов (fragile base class problem); проблема может проявиться при попытке изменить реализацию типа-предка, когда может оказаться, что изменить реализацию типа-предка даже при неизменных интерфейсах его методов невозможно, не нарушив корректность функционирования типов-потомков.


Компоненты в браузере

История JavaScript


Как известно, большая часть функциональности в браузере производиться за счёт скриптовых динамических языков. Неоднократно были попытки введения в браузеры такие динамические языки как Python, Perl и VBScript. Однако исторически так сложилось, что самым стандартным и используемым языком управления DOM оказался JavaScript.

JavaScript – является самым часто употребляемым названием данного языка, однако нельзя назвать его единым языком или языком одних авторов. Исторически в 90ые была борьба двух его реализаций: JScript и JavaScript. Затем в концы 90х, они всё таки смогли прийти к общей стандартной модели, когда был создан стандарт EcmaScript. В целом этот стандарт представлял собой достаточно общее описание, под которое в дальнейшем был представлен даже ActionScript, язык Flash платформы. И до сих пор существует различия в браузерах, по поддержке JavaScript, однако так как языки эти до сих пор предоставляют обратную совместимость, минимальной и чаще всего используемой, является JavaScript 1.5, JScript 5.5 и EcmaScript 3.


Характеристика языка JavaScript


JavaScript – характеризуется, как язык:

  • динамичный;

  • функциональный;

  • прототип-ориентированный;

По порядку, что это значит касательно качеств языка для строительства компонентных систем.

Динамические программные языки, обычно характеризуются своими богатыми возможностями по изменению практически всех участков программы, во время её выполнения, когда другие языки выполняют это только на этапе компиляции, если вообще выполняют. Эти возможности, обычно включают расширение кода программы, выполнения кодов полученных из вне или сгенерированных, расширение определений объектов, не только в плане данных, но и в плане методов. Подобные возможности часто доступны и другим популярным статически типизированным языкам, однако в динамических это сделано, значительно более удобно и с меньшим количеством конструкций.

Динамичные языки, однозначно выигрывают, когда требуется написание кода для использования в системах каком то роде схожей с архитектурой COM-обьектов. COM-объекты - являются хорошим примером именно распределённого и эффективного выполнения кода. Например, на них построена большая часть функциональности Microsoft Office. Для управления его элементами или встраиванием функциональности при написании макросов используют VBScript, во многом схожий на JavaScript. Он позволяет использовать компоненты, без необходимости создания прокси обьектов, вместо этого используя свою динамичность ему нужно лишь знать интерфейс компонента и вызывать его.

Функциональный я

Развитие и инструменты JavaScript


Сам по себе JavaScript имеет внутри своей структуры, всего десяток объектов, таких как типы данных: Number, Boolean, String, DateTime, так же объединяющие группы Array и Object, являющийся также прародителем всех, и единственный класс утилит RegExp. Не много, но на этой основе вполне успешно строятся все объекты DOM и манипуляции с ними.

При том динамичность, также позволяет использовать любые ActiveX, как родные объекты JavaScript. Из самых известных и используемых ActiveX конечно позволяющий браузеру асинхронно обращаться к страницам на сервере и обрабатывать ответ как XML распарсенный в DOM -Microsoft.XMLHTTP. В более новых браузерах он называется XmlHttpRequest, представляющий встроенный объект.

Со временем в новых браузерах, и новых версиях языка JavaScript, добавлялись новые методы в перечисленные объекты. Например, в версии JavaScript 1.6, Array был расширен новыми методами, для поиска и эффективной итерации. Однако использование нового API затруднительно, если приходиться постоянно перед каждым вызовом проверять браузер и версию языка, который выполняет код. Конечно в случае огромных временных ресурсов разработчиков, можно создавать отдельные версии кодов для каждой версии известных браузеров, но есть и более простой путь. Динамичность JavaScript позволяет реализовывать удобно не только обратную совместимость, но и совместимость с новым функционалом. Когда для нового функционала создают прототипные заглушки, чтобы старые браузеры могли выполнять новые функции, как бы в эмуляции, а новые быстрее встроенными возможностями. Так например для Array.indexOf и прочих методов, Mozilla на своём сайте выложила версии эмуляций.

Существует и другой путь развития, из кодов известных библиотек, в основу браузера. Этот подход имеет огромные преимущества, так как снижает нагрузки на сеть, повышает скорость выполнения и позволяет проверенными средствами давать больше возможностей разработчикам сложных веб-приложений. В Firefox 3.1 например, встроили реализованный json.org, безопасный и быстрый преобразователь JSON, чтобы освободить разработчиков от медленного и не совсем приспособленного для этого метода eval.

В 2003-2004 годах начали появляться более сложные RIA AJAX приложения, и в связи с этим должен был появиться более простой механизм применений определённых действий уже не к отдельным объектам, а целым группам. Подобные действия уже производились при помощи языка запросов XPath, но намного более приспособленным к HTML реалиям, был очень простой синтаксис CSS3. Он развивался, настолько органично с первой версии, что позволял новичкам также постепенно осваивать его возможности. Таким образом CSS 3 был взят за основу новых языков запросов написанных на JavaScript. Самой популяризирующей эту идею, первой была библиотека jQuery. В результате были созданы парсеры позволяющие всем известными CSS выражениями выбирать элементы, и присваивать им не только свойства отображения, но и поведение. После нескольких лет использования, в пик популярности в 2008 году, многие браузере в гонке оптимизаций, предложили стандартизировать данный подход, и уже сейчас в Firefox 3.1 и Safari, Chrome (WebKit), можно воспользоваться механизмом встроенного querySelectorAPI. Библиотеки же позволяют эмулировать этот API для старых браузеров, давая ещё один повод переходить на новые технологии пользователям, упрощая жизнь разработчикам.

ООП в JavaScript


Однако до сих пор стандартного подхода для создания компонентов, UI-widgets и тому подобных элементов браузера не было описано. Чаще всего использовался стандартный для этого языка и для многих печатных изданий функциональный подход. Он прост, особенно на ранних стадиях, однако, переиспользование такого кода весьма не тривиальная задача.

JavaScript, однако, является ООП языком


Компоненты и декларативное программирование


Одно из определений декларативного программирования – это указания на то свойство подхода, который позволяет решать задачу не указывая последовательность действий, а только описывая его характеристики. Веб-страницы на HTML декларативны, так как они описывают что должна содержать страница, а не как отображать страницу на экране. И даже если декларация похожа на инструкцию императивного языка, скорее всего будет неопределено время её вызова и где использовано. Так например, в C# элементом декларативности считаются атрибуты, используемые кодом для построения алгоритмов и правильного поведения, при этом момент использования неизвестен. В ASP.NET 2.0 на уровне разметки, тоже были применены подходы декларативности, позволявшие без кода указывать источники данных для контролов отображающих данных, устанавливать для них методы влияния на данные и

Prototype


После детального рассмотрения текущей ситуации с подходами ООП в чистом JavaScript, хотелось бы оценить возможности, которые добавляются в случае использования сторонних библиотек.

Одной из первых библиотек, задачей которой стала реализация статичности в динамичной среде JavaScript стала библиотека Prototype. Это очень серьозная проблема,

Библиотека Prototype была широко популярна в 2006-2007 годах. { Class }

jQuery


{ Extend }

Asp.Net Ajax

GWT и Script#

Silverlight ?

VWG

Aptana

Анализ примеров компонентов и их конкурентов

Scaffold

Asp.net Dynamic Data

Subsonic Scaffold

Постановка задачи

Подход одинарно-ориентированных компонентов с Prototype


Первой задачей данного диплома выступает создание такого подхода к описанию и управлению компонентов в браузере, основа которого есть один объект. Это один из стандартных подходов, реализуемый после перехода от структурного программирования.

Свойства. Подход должен описать алгоритм инкапсуляции одного логического обьекта, часто это группа DOM обьектов которыми он управляет и создаёт для них понятный интерфейс, приводя его из физического DOM понимания, к логическому. В результате группа действий, становиться осознанными шагами компонента.


Подход множественно-ориентированные компоненты с jQuery

Постановка задачи для примеров

Old 1.1 Компоненты в JavaScript


Как известно, большая часть функциональности в браузере производиться за счёт скриптовых динамических языков. Исторически так сложилось, что самым стандартным и используемым языком управления DOM оказался JavaScript. Однако до сих пор стандартного подхода для создания компонентов, UI-widgets и тому подобных элементов браузера не было описано. Чаще всего использовался стандартный для этого языка и для многих печатных изданий функциональный подход. Он прост, особенно на ранних стадиях, однако, переиспользование такого кода весьма не тривиальная задача.

Идеально компонент-widget, должен выглядеть как некий способ структуризации и описания класса объектов, созданное с инициализированными параметрами, с установленным функционалом и возможностью должного расширения делегатами. Для компонента устанавливается позиция на экране и выбирается форма отображения. И конечно, самое важное – это интеграция с другими компонентами, возможно через делегаты, а возможно через более декларативные представления, интерфейсы и стандартизацию всех подходов.

Один из способов визуального представления компонентов при помощи реализации объектов JavaScript. Объекты JavaScript – это специальные хеш массивы, часто используемые в динамических языках, наподобие таких как Python и Ruby. В отличии от статически типизированных языков, здесь все свойства текущего объекта заносяться в любое момент его использования. Этот динамизм создаёт и полную невероятную свободу, когда можно генерировать целые сборки экономя код, но и приводят к сложности отслеживания возникновения изменений, так как в динамических языках можно лишь увидеть текущую структуру, поэтому в больших сложных расчётных системах больше используют статически типизированные языки, а при использовании динамических – обычно заводят специальные правила кодирования.

Объекты JavaScript, создают

var list = new ListComment();

var add = new AddComment({ })

Затем возникли вспомогательные фреймворки, позволяющие создавать подобие классов ООП языков. Однако сам класс это ещё не признак развития компонентной архитектуры. Да, такие платформы как Prototype, позволяли нарастить функции существующих прототипов объектов. Такие стандартные прототипы, как Array позволяющие удобней работать с коллекциями, Element инкапсулирует DOM элемент. В целом скачёк удобства заметен, например, при создании элементов:

Стандартный способ:


var a = document.createElement(‘a’)
a.setAttribute(‘class’, ‘foo’);
a.setAttribute(‘href’, ‘/foo.html’);
a.appendChild(document.createTextNode(‘Next Page’));

Способ Prototype:


var a = new Element(‘a’, { ‘class’: ‘foo’, ‘href’: ‘/foo.html’ }).update(‘Next Page’);

Тоесть, главное отличие в данном случае, это дополнительные функции в уже знакомых JavaScript объектах и более удобное и лаконичное написание. Однако компонент это ещё не совсем то.

Способ jQuery:
var a = $(‘’).attr(‘href’, ‘/foo.html’).html(‘Next Page’);

Old 1.2.1 Система управления данными (Scaffold)


Часто в ходе создания web-систем, появляется острая необходимость иметь прямой доступ к данным БД. Однако из-за ограничений БД или политики безопасности администраторов, порты доступа к базе данных полностью отключены. Вместо этого хостинговая платформа предлагает использовать достаточно неудобные механизмы в виде предустановленных приложений схожих с десктопными студиями управления БД. Однако в них часто появляется множество недостатков не позволяющих управлять базой данных:

1. База данных может не соответствовать той мета-модели, с которой работает приложение, тобиш используются механизмы маппинга.

2. Не достаточно удобно учитываются связи один-ко-многим и многие-ко-многим, особенно если ключём связи есть guid. В большинстве случаев указывая связи, удобно видеть ключом не сам идентификатор, а первую символьную строку или объединённую строку.

3. Нет удобств работы с аудитными полями, часто используемыми в таблицах (такие как DateCreated, UserCreated, IsDeleted). При создании эти поля должны автоматически заполняться, и иметь возможность визуально убираться при просмотре и добавлении.

Чтобы избежать данных недостатков, часто создают или используют чужие разработки в сфере Scaffold. Можно выделить несколько подходов в зависимости от возможностей кастомизации. Самые гибкие возможности кастомизации в системах которые генерируют страницы доступа. Это общеизвестный подход для таких mvc фреймворков, как Ruby On Rails или CakePHP. Основа подхода состоит в генерации автоматических страниц, и дальнейшем их изменении под конкретные нужды. Что в принципе близко к реалиям большинства сайтов.

Old 1.2.2 Asp.net Dynamic Data


ASP.NET Dynamic Data это scaffold для asp.net приложений от Microsoft. Он был первично выпущен как расширение к asp.net (ASP.NET 3.5 Extensions) в 2007. И финально он вышел в составе SP1 к .NET Framework 3.5 в августе 2008.

Созданный, как полностью UI решение, он представлял во многом собой некий шаблон для разработчиков Data applications.

Сервис позволял выводить таблицы из базы данных, в виде url asp.net web service, а также автоматически создавал страницы HTML. Процесс рендеринга страниц, можно было весьма глубоко детализировать. Центром данных выступала модель Linq-to-Sql или Entity Framework. Пользуясь метаданными, сервис определял типы, связи и прочее, позволяя при этом для каждого типа создавать свои версии в режимах просмотра и редактирования. В asp.net dynamic data 4.0, были даже созданы дополнительные атрибуты, как например для показа картинок хранящихся в базе или списка из Enum.

В целом страницы выглядят как обычные GridView, DetailView и используется встроенный Asp.Net Ajax Update Panel.

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

Old 1.2.3 Subsonic Scaffold


SubSonic – открытый проект Роба Коннери, первоначально задумывался как удобный Build Provider, для создания простого динамического ORM в ASP.NET. В нём было реализовано множество идей сложно представляемых при помощи стандартных TableAdapters. Простота доступа к данным порожала. Не было предусмотрено даже транзакций. Получение объекта выглядело как:

Product candy = new Product(25);

Однако, к сожалению, за простотой стояло целая группа безалаберных наколенных решений, вроде 2 попыток создания простых Query объектов.

Query объект – это структура сохраняющая в себе параметры запроса (Order By, Where, Group и т.д.). Одно из главных удобств в сравнении с обычным Sql запросом, это возможность дополнять любые из параметров в любой момент, создавая тем самым цепочки из заполняющих Query объект функций. И хотя их реализация была однозначно лучше той стандартной реализацией с параметрами и строками (позволяющими хотя бы теоретически sql-инъекции), но их не логичность структуры срывало и часто не позволяло производить простейшие действия, которые приходилось описывать обычным Sql и Stored Procedures.

Но часто среди community оказывалось, что в целом SubSonic побеждал более тяжёловесные ORM, такие как LBLGen или NHibernate, из-за встроенной поддержки простого Scaffold. Он был реализован под Asp.Net Forms как обычный PostBack контрол. Позволял выбирать таблицу, просматривать элементы.

Old 1.2.4 Asp.net Mvc



  1. АЛГОРИТМЫ И МОДЕЛИ

Prototype-классы

jQuery множественный подход

2.1 Инициализация

JSON и SEO

2.2 Шаблоны

2.3 Подкомпоненты

2.4 Оптимизация

2.5 Серверный взгляд

2.6 Пример: Комментарии

Компонент добавления

2.7 Пример: Scaffold

Шаблоны

Сервис метаданных

Фильтры колонок

Фильтры записей

Специальные типы

Расширяемые страницы

2.8 Пример: Добавление завязанного элемента

2.9 Пример: Поэтапная система поиска

2.10 Пример: Динамическая система описаний объектов


ПЕРЕЛІК ПОСИЛАНЬ
Официальный сайт стандарта EcmaScript [Электронный ресурс] / - Режим доступа : www/ URL: http://www.ecmascript.org/ - 10.12.2004 г. - Загл. с экрана.

Component-based software engineering [Электронный ресурс] / - Режим доступа : www/ URL: http://en.wikipedia.org/wiki/Software_componentry - 10.12.2004 г. - Загл. с экрана.

Введение в теорию программирования. Объектно-ориентированный подход Автор: С.В. Зыков [Электронный ресурс] / - Режим доступа : www/ URL: http://www.intuit.ru/department/se/tppobj/17/ - 10.12.2008 г. - Загл. с экрана.

http://ru.wikipedia.org/wiki/JavaScript

http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(ECMAScript)

http://en.wikipedia.org/wiki/ECMAScript

http://ru.wikipedia.org/wiki/Прототипное_программирование

http://en.wikipedia.org/wiki/Dynamic_programming_language

http://ru.wikipedia.org/wiki/Функциональное_программирование

http://blog.tech-cats.com/2008/03/object-oriented-programming-with.html

http://mckoss.com/jscript/object.htm

http://www.prototypejs.org/api/

http://wanderingken.com/2006/04/01/extending-prototype-classextend/

https://developer.mozilla.org/en/New_in_JavaScript_1.6

https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/indexOf

https://developer.mozilla.org/web-tech/2009/02/17/native-json-in-firefox-31/

http://www.json.org/

http://ejohn.org/blog/queryselectorall-in-firefox-31/

http://www.w3.org/TR/selectors-api/

http://en.wikipedia.org/wiki/Declarative_programming



http://zope3.ru/stati/vvedenie-v-componentnuu-arhitekturu

Похожие:

Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconПрограммная реализация алгоритма Дейкстры (построение цепей минимальной длины)
Записка объяснительная к курсовой работе: 23с., 5 рис., 1 табл., 5 разделов, 3 приложения
Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconЧисленный метод решения специальных задач транспортной логистики и его программная реализация

Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconДвумерная конечно-разностная модель формирования наносов в прибрежной зоне водоема и ее программная реализация

Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconВ. Б. Лила ргсу, Ростов-на-Дону Задача
Алгоритм и программная реализация адаптивного метода обучения искусственных нейронных сетей
Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconПрограма для загальноосвітніх навчальних закладів з навчанням українською (російською) мовою пояснювальна записка
Отатарського народу. Вона є бага­тою, мелодійною, довершеною, гідною того, щоб нею пиша­тись. Рідна мова єднає сучасні покоління...
Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconТемы курсовых работ по дисциплине Визуальное программирование
Проектирование иерархической структуры объектов в заданной предметной области и их программная реализация среде ооп
Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconТеоретико-графовые модели структуры фольклорных текстов, алгоритмы поиска закономерностей и их программная реализация
Специальность 05. 13. 18 – математическое моделирование, численные методы и комплексы программ
Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconЛабораторная работа №2 по дисциплине «Теория оптимального управления»
Программная реализация метода локальных вариаций и решение задачи о брахистохроне при кусочно-линейных ограничениях на допустимые...
Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconДипломами отмечены работы следующих учащихся: № п/п Ф. И. учащегося Название работы
Программная реализация алгоритма криптографического преобразования данных, определенного стандартом гост 28147-89
Дипломний проект пояснювальна записка гюік. 8080403. Пз программная реализация многоко iconЛабораторная работа №2 Интеграционное тестирование Цель работы: Изучение назначения и задач интеграционного тестирования
Программная реализация тестов, производящих интеграционное тестирование алгоритма пирамидальной сортировки из курса лабораторных...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org