четверг, 28 апреля 2022 г.

33 группа. Учебная практика 2022: прикладное программирование, документация на ПО

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

  1. Техническое задание на создание программного обеспечения
  2. Описание программы
  3. Пояснительная записка
  4. Руководство программиста
  5. Руководство оператора

  • Перейти. Рейтинг 2022: Учебная практика ПМ01
  • Перейти. ПОЛОЖЕНИЕ о студенческой научной сессии «Традиции и инновации в педагогическом образовании»

ПМ.01 Разработка программных модулей программного обеспечения для компьютерных систем

Программная документация

  1. Перейти Образец пояснительной записки к программному продукту
  2. Перейти Образец руководства пользователя

Тестирование

  1. Перейти Тестирование программных решений, с.253-276
  2. Изучите методы тестирования, состав и содержание тестовой документации.
  3. Составьте в отчете по теме своего проекта таблицу по образцу на с.274-275
  4. Оформите в отчете тестовую документацию по своему проекту.

Kanban

  1. Перейти Kanban для команд разработчиков ПО
  2. Перейти Зарегистрироваться в сервисе Trello, создать Kanban-доску, записать план на сегодня, добавить в команду участника ifizmat
Папка test
GitBush Here
cd test
(master)
Добавление сразу всех файлов
git add .
Сохранение состояния
git commit -m "test increment v0.1 added"
Загрузка в глобальный репозиторий
синхронизация локальных данных с глобальным репозиторием
git pull
отправка новых файлов
git push
(master)

Коллизия
(master | MERGING)
git commit -m "merge test1.txt"
(master)
git push

Проекты

  1. Перейти Приложение "Роевой интеллект". Проект "Орущие букашки"
  2. Перейти Обучающий алгоритм в приложении "Змейка". Проект "Создаём мозг для "змейки"".
  3. Перейти Генетический алгоритм.
  4. Перейти Создание графического интерфейса PyQt, PyGame для преоктов парсинга сайта.
Проекты

Язык программирования C++, библиотека Qt.

1. Плеер шахматных партий. 
2. Инструмент Pixel Picker. 
3. Цветовой кодировщик RGB to HSB. 
4. Графический редактор для OLED дисплея. 
5. Менеджер конфигурационных файлов.
требования: структуры данных ключ - значение; 
прототип приложения; выбор языка интерфейса. 
7. Фотогалерея. 
требования: метаданные
8. Книжная галерея

API Yandex Maps

9. Плеер маршрута в Яндекс панораме. 
Требования: на основе примеров лекций по прикладному программированию 
и заданий практических занаятий 
собрать список требований к web-приложению, 
придумать свои 5 требований.

API Google Maps

10. Плеер маршрута в Google Street View. 
Требования: создать web-приложение по аналогии примеров API Yandex Maps 
лекций по прикладному программированию.

Информационно-поисковая система.
Язык программирования Lazarus, СУБД MySQL.
https://github.com/ifizmat/lazarus_mysql_simply-01

12. (17.1) Личная библиотека. Картотека домашней библиотеки: 
выходные данные книги (авторы, название, издательство и т.д.), 
раздел библиотеки (специальная литература, хобби, домашнее 
хозяйство, беллетристика и т.д.), происхождение и наличие книги 
в данный момент, субъективная оценка книги. Выбор книг 
по произвольному запросу; инвентаризация библиотеки. 

13. (17.13) Касса автовокзала. Расписание автобусов: номер рейса, 
конечный и промежуточный пункты, время отправления. 
Количество свободных мест на каждом рейсе. Выбор ближайшего 
рейса до заданного пункта (при наличии свободных мест), 
оформление билетов, оформление посадочной ведомости. 
Предварительная продажа, возврат билетов. 

14. (17.14) Справочник меломана. База групп и исполнителей; 
база песен; база дисков с перечнем песен (в виде ссылок). 
Выбор всех песен заданной группы; всех дисков, где встречается 
заданная песня. 

15. (17.24) Сбербанк. Сведения о вкладчиках банка: номер лицевого 
счета, категория вклада, паспортные данные, текущая сумма вклада, 
дата последней операции. Операции приема и выдачи любой суммы, 
автоматическое начисление процентов. 

16. (17.28) Справочник владельца видеотеки. База видеофильмов: 
название, студия, жанр, год выпуска, режиссер, исполнители 
главных ролей, краткое содержание, субъективная оценка фильма. 
Факт наличия фильма в видеотеке. Оформеление выдачи 
и возврата кассеты. 

17. (17.37) Автосалон. База новых и подержанных отечественных 
и иностранных автомобилей: марка, год выпуска, технические 
характеристики, особенности исполнения, техническое состояние, 
запрашиваемая цена. База покупателей: контактные координаты, 
требования к марке, техническим характеристикам и техническому 
состоянию, финансовые возможности. Автоматизация подбора 
вариантов для покупателя, формирование заявки для поставщиков 
и перегонщиков. 

18. (17.41) Каталог запчастей автомобиля. В автомобиле 
насчитывается несколько тысяч деталей; некоторые используются 
в разных марках. Таблицы: фирма-изготовитель, марка автомобиля, 
агрегат, узел, деталь. Учет взаимозаменяемости. Пользователи: 
работники автосервиса, магазинов запчастей; поставщики-оптовики. 
 
19. (17.44) Справочник филателиста. Марки: страна, нарицательная 
стоимость, год выпуска, тираж, особенности. Филателисты: страна, 
имя, контактные координаты, наличие редких марок в коллекции. 
Собственная коллекция. 

20. (17.45) Справочник любителя живописи. Художники с анкетными 
данными и стилями. Картины со ссылкой на художников, датой создания, 
жанром. Коллекционеры и музеи: наличие оригиналов картин и копий. 
Аукционы и коммиссионки: дата проведения, список выставленных 
шедевров, лотов и цены на них. Собственная коллекция. 

Юркин А. Г. Задачник по программированию. — СПб.: Питер, 2002. — 192 с.

21. Задачи к олимпиаде.
1. Web-приложение для сервиса доставки ресторана. 
2. Разработка системы тестирования и сертификации.  
3. Web-приложение для библиотеки. 

Задачи учебной практики по модулю

  1. Анализировать проектную и техническую документацию на уровне взаимодействия компонент программного обеспечения.
  2. Проектирование и разработка ПО.
  3. Основы разработки программного обеспечения.
  4. Процесс и методология разработки ПО.
  5. Участники процесса разработки ПО.
  6. Инструментарий технологий разработки ПП.
  7. Модели и технологии разработки ПП.
  8. Использование инструментальных средств при проектировании программного обеспечения методами: индивидуальный, командный, модель зрелости возможностей.
  9. Выполнять отладку программного продукта с использованием специализированных программных средств.
  10. Принципы построения интерфейсов.
  11. Требования, предъявляемые к стандартному графическому интерфейсу пользователя. Разработка графического пользовательского интерфейса (GUI) для редактирования списка записей.
  12. Разработка описания и анализ информационной системы.
  13. Формализация бизнес-процессов предметной области.
  14. Разработка требований к информационной системе.
  15. Управление требованиями ИС.
  16. Моделирование данных ИС.
  17. Осуществлять разработку тестовых наборов и тестовых сценариев.
  18. Проектирование и разработка пользовательского интерфейса ИС.
  19. Тестирование ПО.
  20. Реализация диалога в графическом пользовательском интерфейсе.
  21. Производить инспектирование компонент программного продукта на предмет соответствия стандартам кодирования.
  22. Ручной контроль программы.
  23. Структурное тестирование.
  24. Функциональное тестирование.
  25. Оформление документации на программные средства.
  26. Составление программной документации.
  27. Определение сведений, необходимых для сопровождения и эксплуатации программного продукта.
  28. Разработка пояснительной записки, содержащей информацию о структуре и конкретных компонентах программного обеспечения, в том числе схемы алгоритмов, их общее описание, обоснование принятых технических решений.
  29. Руководство пользователя.

Репозиторий на GitHub

1. Создайте учетную запись на веб-сервис для хостинга IT-проектов
GitHub, перейдите по ссылке https://github.com
2. Создайте новый репозиторий с названием Вашего проекта
или базы данных, например, parking, bookmarket, delo, autoservice
и т.п.
Пример: https://github.com/ifizmat/lazarus_mysql_simply-01

Оформление документации на программные средства

Изучите по источнику [4stud.info] пример содержания документации на программное обеспечение.
Tребованиям к содержанию документации на программное обеспечение по ГОСТ ЕСПД:

  1. ГОСТ 34.602-89. Техническое задание (разрабатывается студентом самостоятельно на основе описания варианта задания)
  2. ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению
  3. ГОСТ 19.402-78 ЕСПД. Описание программы
  4. ГОСТ 19.404-79 ЕСПД. Пояснительная записка
  5. ГОСТ 19.502-78 ЕСПД. Общее описание. Требования к содержанию и оформлению
  6. ГОСТ 19.301-78 ЕСПД. Программа и методика испытаний
  7. ГОСТ 19.503-79 ЕСПД. Руководство системного программиста (системного администратора)
  8. ГОСТ 19.504-79 ЕСПД. Руководство программиста
  9. ГОСТ 19.505-79 ЕСПД. Руководство оператора (пользователя)

Минимальные требования к содержанию:

  1. Введение (краткое описание предметной области для которой разработана программа)
  2. Цель разработки
  3. Обзор аналогов (3-4 подобных программы, информация о разработчике, описание возможностей, преимущества и недостатки)
  4. Постановка задачи и требования, предъявляемые к программе
  5. Описание алгоритма работы программы (текстовое и графическое (блок-схемы на уровне структурных компонентов — обязательно))
  6. Выбор и обоснование выбора средства разработки, исходный код программы
  7. Тестирование программы (описание методики тестирования, набор тестовых данных и результаты выполнения)
  8. Руководство по установке
  9. Руководство пользователя
  10. Руководство администратора (если требуется)
3. Установите на вашем компьютере систему Git, например,
с помощью программы PortableGit
4. Выполните настройки Git.
Пример настроек
git config --global --list
git config --global user.name "myusername"
git config --global user.email "myusername.com"
git config --global core.autocrlf true
git config --global core.safecrlf true
6. Изучите методы работы с системой Git с помощью одного из источников [1, 2, 3] или других.
7. Выполните экспорт базы данных в формате SQL
Пример команды экспорта в папке сервера MySQL bin:
mysqldump -u root -p > database.sql

Пример команды импорта в папке сервера MySQL bin:
mysql -u root -p 
mysql>source D:/3kurs/database.sql
8. Перенесите в Ваш репозиторий на GitHub
  • 8.1. Минимальный набор файлов исходного кода проекта.
  • 8.2. Файл БД в формате SQL.
  • 8.3. Исполнимый модуль программного проекта.
  • 8.4. Файл с документацией в формате DOC MS Word 2003
  • 8.5. Файл с презентацией в формате PPT MS PowerPoint 2003.
Пример
project1.lpi
project1.lpr
unit1.lfm
unit1.lrs
unit1.pas
project_database.exe
database.sql
Отчет.doc       (в формате MS Word 2003)
Презентация.ppt (в формате MS PowerPoint 2003)
9. В GitHub создайте в разделе Issues 5 сообщений о дефектах собственной программы и 5 сообщений о дефекте проекта одного из однокурсников по ссылке в блоге.
10. Поделитесь ссылкой на Ваш репозиторий в комментариях к блогу
  1. 2019 год: 33 группа. Учебная практика 2019: прикладное программирование, документация на ПО
  2. 2018 год: 33 группа. Учебная практика 2018: прикладное программирование, документация на ПО
  3. 2017 год: Учебная практика 2017: репозиторий GitHub
  4. 2016 год: Учебная практика: репозиторий GitHub
  5. 2015 год: Прикладное программирование: SVN Git
  1. Тест 1: Информационные технологии

Примеры документации

  1. Пример 1: Техническое задание
  2. Пример 2: Техническое задание
  3. Пример 3: Техническое задание
  4. Пример 4: Описание предметной области


Источники

Основные
  1. 4stud.info: Пример содержания документации на программное обеспечение
  2. habrahabr.ru: Как начать работать с GitHub: быстрый старт
  3. htmlstudio.ru: Git для начинающих. Краткое руководство
  4. habrahabr.ru: Ежедневная работа с Git
Дополнительные
  1. Git How To: курс обучения Git на русском
  2. delphi-devs.ru: Уменьшение размера исполняемого файла в Lazarus
  3. delphi-devs.ru: Lazarus - работа с базами данных
  4. freepascal.ru: MySQL+Lazarus: Работа и базой данной на Web сервере из Lazarus
  5. freepascal.ru: Использование SQLdb в Lazarus: основы работы с базами данных
  6. wiki.freepascal.org: MySQLDatabases - Free Pascal wiki
  7. wiki.freepascal.org: Подключение к MySQL из приложения Lazarus.
  8. freepascal.ru: Инструменты Lazarus IDE. Часть I. Codetools - инструменты редактора исходного кода среды Lazarus.
  9. freepascal.ru: Инструменты Lazarus IDE. Часть II. Рефакторинг.
  10. sourceforge.net: XAMPP - Browse /XAMPP Windows at SourceForge.net
  11. apachefriends.org: Download XAMPP
  12. apachefriends.org: Установка XAMPP. Пошагово: скачивание, установка, запуск.
  13. ifizmat.000webhostapp.com: Графический стек фреймворка Qt: QGraphicsScene, QGraphicsView, QGraphicsItem
  14. books.google.ru: Класс QGraphicsScene. Шлее М.Е. Qt 5.3: Профессиональное программирование на C++
  15. doc.crossplatform.ru/qt: Каркас графического представления: QGraphicsScene, QGraphicsItem, QGraphicsView.
  16. evileg.com: Qt/C++ - Урок 018. QGraphicsItem - наследование и СЛОТы.
  17. cxem.net: OLED i2c дисплей 128х64 пикселя
  18. cxem.net: Цветной OLED дисплей 96х64 пикселя
  19. codeproject.com: ExifLib - A Fast Exif Data Extractor for .NET 2.0+

37 комментариев:

  1. Ссылки на:

    1. GitHub: https://github.com/Ynesti/Pixel-Picker
    2. Google Drive: https://drive.google.com/drive/folders/1eczu8uadfKLhJpkY3CQYdZM9eYKoSgc5?

    ОтветитьУдалить
  2. Муханов Н.А
    1.https://github.com/Nixon939

    2.https://drive.google.com/drive/folders/190J-H6LOgxj3MLcwXyiq5Zygn7sZ9OFS?usp=sharing

    ОтветитьУдалить
  3. 1.https://github.com/Fronsomi
    2.https://drive.google.com/drive/folders/1e7tMC0I6J6oNW35g7cCbGvz4bn9-4aOK

    ОтветитьУдалить
  4. 1 / https://github.com/Sanjest/Project-uch-pr-1.git
    2 / https://drive.google.com/drive/folders/1wHDB-tG3G9u31RepN4VKV5uhkhRnPbCU?usp=sharing
    Чирков.А | Баженов.Д | Никитин.И

    ОтветитьУдалить
  5. Google drive:
    https://drive.google.com/drive/folders/1TXxL31yNJGzawguufNXkoYphnwGaRW4y
    GitHub:
    https://github.com/dkasimov/-

    ОтветитьУдалить
  6. Этот комментарий был удален автором.

    ОтветитьУдалить
    Ответы
    1. Этот комментарий был удален автором.

      Удалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. GitHub - https://github.com/Sh1ndo/-
    Google Drive https://drive.google.com/drive/folders/1GNuQgUxz_2MouXmisBYAsaQ31tRxDobx?usp=sharing
    Злобин Кирилл 32 группа / Корепанова Арина 33 группа

    ОтветитьУдалить
  9. 1. https://github.com/ZhoraKentavr/Praktika
    2. https://drive.google.com/drive/folders/1qt8RwstUyZzV71_7uejPMP4AzPBnRkkQ

    ОтветитьУдалить
  10. Этот комментарий был удален автором.

    ОтветитьУдалить
  11. ГИТХАБ: https://github.com/garrybaby/Praktika-Ychebnay.git
    ГУГЛ ДИСК: https://drive.google.com/drive/folders/1cGjrDeVYYRNmjtZGJojYlVYEPvEqAH0h?usp=sharing

    ОтветитьУдалить
    Ответы
    1. Касимов Павел:
      https://github.com/hgllm/praktika

      Удалить
    2. Касимов Павел
      https://drive.google.com/drive/folders/1SueMAEnM68PTktqvK2Mx2zBlAUg4ii9z?usp=sharing

      Удалить
  12. Googl:
    https://drive.google.com/drive/folders/1eczu8uadfKLhJpkY3CQYdZM9eYKoSgc5?usp=sharing

    GitHub:
    https://github.com/hvfxjvhby/Pixel-Picker.git

    ОтветитьУдалить
    Ответы
    1. https://docs.google.com/document/d/1xkagFjQ45rIff7FEa85uEVdnWRuMP3j3R6PWlBG0J7A/edit?usp=sharing

      Удалить
    2. https://drive.google.com/drive/folders/1gi8wPGSSRSgnTVIFlcqUa2kOlPvFn2Ya?usp=sharing

      Удалить
    3. https://github.com/hvfxjvhby/Pixel-Picker.git

      Удалить
  13. https://github.com/Salabrat/shooter - this is game code
    https://drive.google.com/drive/folders/1deBiNIkMlqZFPsk83aws2BzKu6fN4duK?usp=sharing - this is documentation

    ОтветитьУдалить
  14. Ульянов
    GitHub:
    https://github.com/iwWh1te/pyGame/tree/main

    Drive: https://drive.google.com/drive/folders/1c1gwrCoG7zhRvqKLxcp5jNLtDgHTFVkv?usp=sharing

    ОтветитьУдалить
  15. https://github.com/Yurchinskii/troleybus.git
    Сущев Александр Набоков Юрий
    https://drive.google.com/drive/folders/1gEA9IIy7SLmMF4tBpM3udn3IJE7wxBM_?usp=sharing

    ОтветитьУдалить
  16. https://drive.google.com/drive/folders/1wHDB-tG3G9u31RepN4VKV5uhkhRnPbCU?usp=sharing

    ОтветитьУдалить
  17. 1)https://github.com/SAR41k/my-sketch/tree/main
    2)https://drive.google.com/drive/folders/1ctjyRYxicqvXohfqZDqvf6ob5J2bZTLn?usp=sharing

    ОтветитьУдалить
  18. https://drive.google.com/drive/folders/1O3ivFYp5GtDDp_owlw36lR3h1bUlV5Bq
    Голубчиков Иван
    https://github.com/Poogal0/Y.Maps-panorama

    ОтветитьУдалить
  19. https://drive.google.com/drive/folders/1hBIRyYIfGo-DqX5xh9qiICO51biA9cRg?usp=sharing

    ОтветитьУдалить
  20. https://drive.google.com/drive/folders/1s1ezHPIxks1d-dymYaEH0bau_QwyXixj?usp=sharing
    - Системное программирование

    ОтветитьУдалить
    Ответы
    1. https://drive.google.com/drive/folders/1OY7EJbXycVOCqyUm4ITB4QboxzYH7x5e?usp=sharing– Прикладное программирование

      Удалить
  21. https://drive.google.com/drive/folders/18eR6E0tzr5SSeTsvPmaqMT612xikxVZR?usp=sharing

    https://github.com/logas123/praktika.git

    ОтветитьУдалить
  22. Этот комментарий был удален автором.

    ОтветитьУдалить
  23. https://docs.google.com/document/d/1vj9XBTsGcSbhWKK60UZarYwOd15OyC-S/edit#
    Отчет shooter

    ОтветитьУдалить
  24. http://q9043121.beget.tech/UPPM01.html ОТЧЕТ ДНЕВНИК

    ОтветитьУдалить