ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 339
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
ГЛАВА I. ОСНОВНЫЕ СВЕДЕНИЯ О ПРЕДПРИЯТИИ ООО «САХ.КОМ»
1.2 Организационная структура ООО «Сах.ком»
1.3 Описание аппаратного и программного обеспечения рабочего места
Мероприятия по технике безопасности и охране труда
4. Технические требования к программе
4.1 Требования к функциональным характеристикам.
4.4 Требования к составу и параметрам технических средств.
4.5 Требования к информационной и программной совместимости.
4.6 Требования к транспортировке и хранению
5. Требования к программной документации
.
GoogleChrome - браузер, разрабатываемый компанией Google на основе свободного браузера Chromium и движка Blink
ГЛАВА II. ОСНОВНАЯ ЧАСТЬ
2.1 Описание индивидуальных заданий по каждой теме программы практики в обобщенном видеФормирование у обучающихся практического опыта: — разработки алгоритма поставленной задачи и реализации его средствами автоматизированного проектирования; — разработки кода программного продукта на основе готовой спецификации на уровне модуля; — использования инструментальных средств на этапе отладки программного продукта; проведения тестирования программного модуля по определенному сценарию.Формирование первичных практических умений: — осуществлять разработку кода программного модуля на современных языках программирования; — создавать программу по разработанному алгоритму как отдельный модуль; — выполнять отладку и тестирование программы на уровне модуля; — оформлять документацию на программные средства; — использовать инструментальные средства для автоматизации оформления документации.Формирование профессиональных компетенций (ПК) профессиональных компетенций (ПК): ПК 3.1. Анализировать проектную и техническую документацию на уровне взаимодействия компонент программного обеспечения. ПК 3.2. Выполнять интеграцию модулей в программную систему. ПК 3.3. Выполнять отладку программного продукта с использованием специализированных программных средств. ПК 3.4. Осуществлять разработку тестовых наборов и тестовых сценариев. ПК 3.5. Производить инспектирование компонент программного продукта на предмет соответствия стандартам кодирования. ПК 3.6. Разрабатывать технологическую документацию.Наименование общей компетенции:ОК 1. Понимать сущность и социальную значимость своей будущей профессии, обладать высокой мотивацией к выполнению профессиональной деятельности. ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество.ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность. ОК 4. Осуществлять поиск и использование информации, необходимой для эффективного выполнения профессиональных задач, профессионального и личностного развития.ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности ОК 6 Работать в коллективе и команде, эффективно общаться с коллегами, руководством, потребителями. ОК 6. Брать на себя ответственность за работу членов команды (подчиненных), результат выполнения заданий.ОК 7. Самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации.ОК 8. Ориентироваться в условиях частой смены технологий в профессиональной деятельности.2.2 Разработка технического задания на клиент-серверное приложениеТехническое задание
-
Общие сведения.
-
Область применения продукта.
-
Требования к продукту разработки
-
Частота процессора: 1 ГГц;
-
Количество ядер: 1;
-
Разрешение экрана (минимальный размер окна): 400x300;
-
Объем оперативной памяти: 128 Мб.
-
Объём графической памяти 128 Мб
-
Соединение с интернетом.
-
Частота процессора: 1 ГГц;
-
Количество ядер: 2;
-
Разрешение экрана (минимальный размер окна): 300х400 пикселей;
-
Объем оперативной памяти: 512 Мб (можно и ниже, но кол-во пользователей, которых можно будет подключить к серверу, будет ограниченным).
-
Обьем графической памяти 128 Мб.
-
Соединение с интернетом.
-
Требования к пользовательскому интерфейсу
2.3 Разработка клиент-серверного приложения 2.3.1 Проектирование клиент-серверного приложения Структурная модель строилась так что даже после релиза можно относительно легко добавлять новый функционал.Рис. 4 . Структурная модель многопользовательского приложения «Chat»Взаимодействие серверного интерфейса и клиентов происходит через потокозащищённый HashMap содержащий всю информацию о клиентах.Наиболее значимыми являются код взаимодействия клиента и сервера. private void Handling() {while (true) {try {Socket client = server.accept();new ClientHandler(client,KeyAES).start();//Если клиент успешно установил соединение передаем его обработчику //клиентов, а также ключ которым шифруются данные.} catch (IOException e1) {e1.printStackTrace();}try {//после проверки данных в потоке засыпаем на 10 миллисекунд.Thread.sleep(10);} catch (InterruptedException e) { e.printStackTrace();}}}import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.Socket;import java.security.Key;import java.security.KeyFactory;import java.security.spec.X509EncodedKeySpec; import javax.crypto.Cipher;class ClientHandler extends Thread { //на сервере private final Socket client;private String name = "Неизвестный";private String value;private Cipher decrypter_AES;private Cipher encrypter_AES;private Cipher encrypter_RSA;private Key KeyAES;public ClientHandler(Socket client, Key KeyAES) { this.client = client;this.KeyAES = KeyAES;try {//создаем фабрики шифрования/расшифровки //алгоритмовdecrypter_AES = Cipher.getInstance("AES");encrypter_AES = Cipher.getInstance("AES");encrypter_RSA = Cipher.getInstance("RSA");encrypter_AES.init(Cipher.ENCRYPT_MODE, KeyAES);decrypter_AES.init(Cipher.DECRYPT_MODE, KeyAES);} catch (Exception e) {System.err.println("Ошибка шифрования");}}@Overridepublic void run() {try {DataInputStream in = new DataInputStream(client.getInputStream()); while (true) {if (in.available() > 0) { //Если в потоке есть данные читаем их.short id = in.readShort(); //id пакетаswitch (id) { // в зависимости он полученного id создаем класс с реализацией чтения и записи данных данного пакета.case 1: {MesPacket M;int size = in.readInt();int lenByte = in.readInt();byte[] b = new byte[lenByte];in.read(b);String message = new String (decrypter_AES.doFinal(b)); message = name + " : " + message;if (size > 0) {int[][] arrSmil = new int[size][2];for (int i = 0; i < size; i++) {arrSmil[i][0] = in.readInt()+3+name.length();arrSmil[i][1] = in.readInt();}M = new MesPacket(encrypter_AES.doFinal(message.getBytes()), arrSmil); } else
-
= new MesPacket(encrypter_AES.doFinal(message.getBytes())); M.readAll();