Главная страница
Навигация по странице:

  • Раздел 1. Ознакомление с предприятием. Ознакомление с рабочим местом.

  • Раздел 2. Формирование алгоритмов разработки программных модулей в соответствии с техническим заданием

  • Раздел 3. Разработка программных модулей в соответствии с техническим заданием.

  • Раздел 4. Выполнение отладки программных модулей с использованием специализированных программных средств.

  • Ошибки в процессе выполнения

  • Раздел 5. Выполнение тестирования программных модулей В ходе прохождения практики я успел опробовать тестирования белым и черным ящиком.Метод "черного ящика"

  • Раздел 6. Анализ программного обеспечения для рефакторинга и оптимизации.

  • Раздел 7. Разработка прототипа программного обеспечения для мобильных платформ.

  • Ознакомление с предприятием. Ознакомление с рабочим местом


    Скачать 0.76 Mb.
    НазваниеОзнакомление с предприятием. Ознакомление с рабочим местом
    Дата18.06.2022
    Размер0.76 Mb.
    Формат файлаdocx
    Имя файлаotchyot (1).docx
    ТипДокументы
    #601385

    Содержание:

    Раздел 1. Ознакомление с предприятием. Ознакомление с рабочим местом.

    Раздел 2. Формирование алгоритмов разработки программных модулей в соответствии с техническим заданием

    Раздел 3. Разработка программных модулей в соответствии с техническим заданием.

    Раздел 4. Выполнение отладки программных модулей с использованием специализированных программных средств.

    Раздел 5. Выполнение тестирования программных модулей

    Раздел 6. Анализ программного обеспечения для рефакторинга и оптимизации.

    Раздел 7. Разрабатка прототипа программного обеспечения для мобильных платформ

    Раздел 1. Ознакомление с предприятием. Ознакомление с рабочим местом.

    Практика проходила в автономном учреждении Ставропольского края «Государственная экспертиза в сфере строительства».

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

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

    Рабочее место для прохождения практики мне было предоставлено в кабинете с администраторами сети, относящимися к отделу приёмки документации и информационного обеспечения.

    График работы: понедельник-четверг – с 9.00 до 18.00 (в пятницу – до 16.45), перерыв – с 13.00 до 13.45.

    Фото рабочего места:



    Раздел 2. Формирование алгоритмов разработки программных модулей в соответствии с техническим заданием

    Реестр программного обеспечения АУ СК «Государственная экспертиза в сфере строительства»:



    Наименование

    Состав ПО

    1

    Основное программное обеспечение компьютеров большинства сотрудников

    Windows 7, 10

    DrWeb

    1С: Предприятие

    1С: Бухгалтерия

    Браузеры:

    - Opera

    - Google Chrome

    - Mozilla

    Office:

    - Word 2016

    - Excell 2016

    - Outlook 2016

    - Skype для бизнеса 2016

    КриптоПРО

    Zoom

    MiChat

    Total Commander

    Adobe Acrobat DC

    Foxit PhantomPDF

    Visual Studio Code

    2

    Дополнительное программное обеспечение компьютеров узких специалистов (экспертов)

    AUTOCAD (версии для конструкторов, архитекторов)

    NanoCAD (просмотрщик)

    Сметные комплексы: Гранд-смета, АВС, РИК


    Документация, сдаваемая для проведения экспертизы, поступает посредством скачивания из личных кабинетов учреждения в сети Интернет – с сайтов учреждения и ФАУ «Главгосэкспертиза России».

    Как правило, это файлы с расширением .pdf, .docx, .xlsx, .xml и файлы цифровых подписей к этим файлам (.sig). Для каждого из подаваемых комплектов документации пакет скачиваемых данных колеблется от 50Mb до 1Tb.
    Специалисты учреждения обмениваются поступившей на рассмотрение документацией и информацией посредством локальной компьютерной сети и сети Интернет, а также установленного в учреждении программного обеспечения: 1С: Предприятие, MiChat, Outlook 2016.

    Для передачи информации с заказчиками специалисты учреждения пользуются набором встроенных инструментов личных кабинетов учреждения в сети Интернет – на сайтах учреждения и ФАУ «Главгосэкспертиза России» (платформа Единой цифровой экспертизы проектов).
    Хранение поступающей, обрабатываемой, законченной экспертизой документации, а также отчётных данных осуществляется на рабочем сервере учреждения.

    В целях сохранения информации специалисты-администраторы сети проводят еженедельное копирование данных на съёмные носители.
    Основным способом управления файлами, находящимися в обработке специалистов учреждения, является программное обеспечение на базе платформы 1С: Предприятие. Это программное обеспечение было индивидуально разработано для нужд учреждения и носит несколько направлений:

    - занесение, накопление, сортировка и обработка информации о поступающих и рассматриваемых документах;

    - подготовка отчётных данных о деятельности учреждения;

    - формирование договорных документов;

    - подготовка локальных и сводных экспертных заключений специалистами,

    - электронный документооборот учреждения.

    Обычно для работы с отдельными файлами на своих рабочих компьютерах специалисты учреждения пользуются специализированными файловыми менеджерами, например, Total Commander.
    У каждого из сотрудников учреждения в зависимости от степени их участия в процессе экспертизы настроены персональные профили их доступа к рассматриваемым и хранимым в учреждении данным и базам данных.

    Естественно, наибольший доступ к данным и настройкам системы имеют специалисты-администраторы сети и руководство учреждения.
    В связи с оптимизацией Правительством Российской Федерации формы подаваемой на экспертизу документации (посредством осуществления так называемого BIM-проектирования и разработки информационной модели проектных решений объектов капстроительства) с 2022 года в учреждении возникла необходимость в установке дополнительного программного обеспечения, с помощью которого будет осуществлена такая возможность.

    Раздел 3. Разработка программных модулей в соответствии с техническим заданием.

    Пример программного кода с использованием простейших математических операций с числовыми величинами.

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;
    namespace Математические_выражения

    {

    class Program

    {

    static void Main(string[] args)

    {

    // Запрашиваем у пользователя входные данные.

    var first = Convert.ToDouble(Console.ReadLine());

    var second = Convert.ToDouble(Console.ReadLine());
    // Сумма.

    var sum = first + second;

    Console.Write("Сумма = ");

    Console.WriteLine(sum);
    // Разность.

    var sub = first - second;

    Console.WriteLine("Разность = ");

    Console.Write(sub);
    // Умножение.

    var mul = first * second;

    Console.WriteLine("Умножение = ");

    Console.Write(mul);
    // Деление на цело.

    var dev = first / second;

    Console.WriteLine("Деление на целое = ");

    Console.Write(dev);
    // Дробное деление.

    var devd = (double)first / second;

    Console.WriteLine("Дробное деление = ");

    Console.Write(devd);
    // Остаток от деления.

    var mod = first % second;

    Console.WriteLine("Остаток от деления = ");

    Console.Write(mod);
    // Ожидаем ввода пользователя.

    Console.ReadLine();

    }


    }

    }
    Пример программного кода, использующего оператор проверки условий.

    using System;

    namespace MyProgram

    {

    class Program

    {

    static void Main(string[] args)

    {

    Console.Write("Введите число = " );

    int value = int.Parse(Console.ReadLine());

    if (value < 0)

    Console.WriteLine("Число меньше нуля");

    else

    Console.WriteLine("Число больше нуля");

    Console.ReadKey();

    }

    }

    }
    Пример программного кода, содержащий циклы.

    using System;

    namespace MyProgram

    {

    class Program

    {

    static void Main(string[] args)

    {

    int n = Convert.ToInt32(Console.ReadLine()); // Пользователь вводит число.

    int factorial = 1;

    int i = 2;

    do // Вычисление факториала.

    {

    factorial *= i;

    i++; // Увеличиваем счетчик.

    } while (i <= n);
    Console.WriteLine(factorial); // Выводим факториал пользователю.

    Console.ReadKey();

    }

    }

    }
    Пример программного кода, использующий оператор выбора.

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;
    namespace ConsoleApplication8

    {

    class Program

    {

    static void Main(string[] args)

    {

    // Вложенный оператор switch

    int year; // номер года

    int month; // месяц в году

    int days; // количество дней в году
    // ввести номер года

    Console.Write("Год = ");

    year = Convert.ToInt32(Console.ReadLine());

    Console.Write("Месяц = ");

    month = Convert.ToInt32(Console.ReadLine());
    // оператор switch, содержащий другой вложенный оператор switch

    switch (month)

    {

    case 4:

    case 6:

    case 9:

    case 11:

    days = 30;

    break;

    case 2:

    bool f; // флажок, определяющий высокосный год
    // вложенный оператор if

    if (year % 400 == 0)

    f = true;

    else

    if (year % 100 == 0)

    f = false;

    else

    if (year % 4 == 0)

    f = true;

    else

    f = false;
    // вложенный оператор switch

    switch (f)

    {

    case true:

    days = 29;

    break;

    default:

    days = 28;

    break;

    }

    break;

    default:

    days = 31;

    break;

    }

    Console.WriteLine("Дней = {0}", days);

    Console.ReadKey();

    }

    }

    }

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

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;
    namespace ConsoleApplication8

    {

    class Program

    {

    static void Main(string[] args)

    {

    // поиск заданного элемента в одномерном массиве

    int[] A = new int[10];

    bool f_is; // результат: если f_is=true, то элемент присутствует в массиве
    // заполнение массива произвольными значениями

    for (int i = 0; i < 10; i++)

    A[i] = i + i * i;
    int num; // num - искомый элемент

    num = 42;
    // поиск

    f_is = false;

    for (int i = 0; i < 10; i++)

    if (num == A[i])

    f_is = true;

    Console.ReadKey();
    }

    }

    }

    Пример программного кода с использованием стеков.

    using System;

    using System.Collections.Generic;

    namespace ConsoleApp7

    {

    internal class Program

    {

    static void Main(string[] args)

    {

    Stack stack = new Stack(3); //создаем стек с начальной емкостью на 3 элемента

    Console.WriteLine($"Количество элементов коллекции {stack.Count}");

    //добавляем новые элементы в стек

    stack.Push(1);

    stack.Push(2);

    stack.Push(3);

    stack.Push(4);//на этом шаге емкость хранилища будет увеличена

    stack.Push(5);

    while (stack.Count > 0)

    {

    if (stack.Peek() == 3)

    {

    Console.WriteLine($"Нашли в стеке значение 3. Всего элементов {stack.Count}");

    }

    Console.WriteLine($"Извлекли из стека значение {stack.Pop()}. Всего элементов {stack.Count}");

    }

    }

    }

    }

    Раздел 4. Выполнение отладки программных модулей с использованием специализированных программных средств.

    При отладке своих программ я столкнулся со следующими ошибками:

    Синтаксические ошибки


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

    Синтаксические ошибки в основном вызваны нарушением ожидаемой формы или структуры языка, на котором пишется программа. Как пример, это может быть отсутствующая закрывающая скобка в уравнении.

    Семантические ошибки


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

    Ошибки в процессе выполнения


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

    Раздел 5. Выполнение тестирования программных модулей
    В ходе прохождения практики я успел опробовать тестирования белым и черным ящиком.

    Метод "черного ящика"

    Тестирование по требованиям или тестирование "черного ящика" подразумевает неиспользование сведений о структуре исходного кода. Все тестовые примеры составляются только на основе требований, т.е. мы не видим, что находится внутри и как оно работает.

    Приведу пример работы метода "черного ящика". Например, следующее требование к функции умножения двух целых чисел.

    Если входное значение хотя бы одного множителя выходит за границы диапазона [15 ... 1500], то функция должна вернуть значение 0, в противном случае функция должна вернуть значение произведения двух множителей.

    Для тестирования этого требования (если быть точнее, то двух требований) необходимо проверить значения множителей как из диапозона [15 ... 1500], так и вне его.

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

    В табл. 1 представлены все комбинации двух входов, каждый из которых принимает по три различных значения (метод трех точек), так как диапазон [15 ... 1500] с точки зрения сложения чисел не имеет критических точек, кроме своих концов.

    Таблица 1.

    Входы

    Действия

    Ожидаемый выход




    Множитель 1

    Множитель 2







    15

    15

    Вызов функции

    225

    15

    700

    Вызов функции

    10500 

    15

    1500

    Вызов функции

    22500 

    700

    15

    Вызов функции

    10500

    700

    700

    Вызов функции

    490000

    700

    1500

    Вызов функции

    1050000 

    1500

    15

    Вызов функции

    22500

    1500

    700

    Вызов функции

    1050000 

    1500

    1500

    Вызов функции

    2250000 

    14

    14

    Вызов функции

    0

    1501

    14

    Вызов функции

    0

    14

    1501

    Вызов функции

    0

    14

    700

    Вызов функции

    0

    700

    14

    Вызов функции

    0

    1501

    700

    Вызов функции

    0

    700

    1501

    Вызов функции

    0

    Для проверки поведения функции за границами диапазона стоит проверить, например, значения 14 и 1501 для каждого входа.

    Метод "белого ящика"

    Тестирование по коду или тестирование "белого ящика" основывается на проверке кода, когда в ходе выполнения проверяется выполнение каждого блока кода. При тестировании "белого ящика" основная задача - это выполнение всего кода для проверки работоспособности всех его ветвей.

    Приведу пример работы метода "белого ящика". Для написанного ниже фрагмента программы, где A, B и C рассматриваются как входные значения:

    X = 0;

    if ((A<=B) || (A>C)) X = 5;

    достаточно одного тестового примера (ТП1: A=1, B=2, C=3). В этом случае выполнятся все операторы. Но если программист допустил ошибку и неверно написал условие, например так:

    if ((A<=B) || (A>B)) X = 5;

    то тогда код будет работать неверно (переменной X всегда будет присваиваться значение 5), хотя показанный выше тестовый пример приведет к выполнению всех операторов и не выявит ошибки.

    Для выявления таких ошибок требуется выполнить другой уровень покрытия - по условиям.

    Покрытие по условиям требует проверок всех условий на TRUE/FALSE, т.е. каждое условие в ходе тестирования должно проверяться на оба возможных значения. Для покрытия по условиям приведенного примера кода необходимо уже два тестовых примера:

    ТП1: A=1, B=2, C=3;

    ТП2: A=3, B=2, C=3.

    Эти тестовые примеры позволяют найти ошибку. 
    Раздел 6. Анализ программного обеспечения для рефакторинга и оптимизации.

    Во время анализа программного обеспечения в своем отделе я выявил что из устаревшего программного обеспечения в организации используется устаревшая версия Visual Studio Code. По словам моего руководителя по производственной практике связанно это с тем что работники моего отдела привыкли к интерфейсу устаревшего программного обеспечения и что бы перейти на новую версию необходимо произвести инструктаж и запросить у начальства средства на приобретения лицензии. Реализовать обновление ПО планируют в ближайшем будущем

    Раздел 7. Разработка прототипа программного обеспечения для мобильных платформ.

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


    написать администратору сайта