Союз-Неон ПК-11/16 АСПЕКТ ТЗ

Материал из Emuverse
Данный материал защищён авторскими правами!

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

Источник: Файл "ASPCTZ.JAD" с дискеты asp0015.dsk

                                        К Договору
                                        N 15 от 12 ноября 1991 г.

       Межотраслевой медико-инженерный центр Минэнерго СССР
                   и Минздрава СССР "Медэнерго"


           УТВЕРЖДАЮ
     Директор ММИЦ "МЕДЭНЕРГО"

     ___________ Талалаев А.А.
     "___"_____________1991 г.






       Ч А С Т Н О Е   Т Е Х Н И Ч Е С К О Е   З А Д А Н И Е
                           на работу
     "Разработка и создание базового программного обеспечения
                   (БПО) для ПЭВМ ПК-11/16к".
                      Шифр работы: "АСПЕКТ".









                              Москва
                               1991


�				- 1 -

                            1. ВВЕДЕНИЕ

     1.1. Наименование работы.

     "Разработка и создание базового программного обеспечения (БПО)
для ПЭВМ ПК-11/16к (ПЭВМ "Союз")".
     Шифр работы: "АСПЕКТ".

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

     В соответствии с приложением N1  договора  N15  от  12  ноября
1991г.

     1.3. Краткое содержание работы.

     Основным содержанием  работы,  выполняемой  в  соответствии  с
настоящим ТЗ, является:
     - разработка внутренней структуры и алгоритмов универсальной
       интегрированной среды;
     - разработка системного ядра;
     - отладка системного ядра;

                   2. ОСНОВАНИЯ ДЛЯ РАЗРАБОТКИ.

     Системное базовое ядро разрабатывается на  основании  договора
коллективного подряда между ММИЦ "Медэнерго" (Заказчик) и временным
подрядным коллективом "АСП" (Исполнитель).

                     3. НАЗНАЧЕНИЕ РАЗРАБОТКИ.

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

�				- 2- 

               4. ТРЕБОВАНИЯ К ПРОГРАММНОМУ ИЗДЕЛИЮ.

	4.1 Требования к структуре системного базового ядра.

    Системное  базовое  ядро  (далее   система   "АСПЕКТ")   должно
доставлять   максимум   удобств   пользователю   и    программисту,
обеспечивать надежную работу на  ПЭВМ  и  гибко  настраиваться  под
определенную сферу деятельности. Система должна позволять создавать
программный продукт достаточной сложности  в  короткие  сроки  и  с
максимальным комфортом как для программиста, так и для пользователя
этого продукта.

    Система   должна   быть   построена   по   принципу    открытой
многоуровневой    модульной    организации     с     функциональной
соподчиненностью модулей различных уровней.
	В состав системы должны входить, следующие модули:

	- файловая структура;
	- дружественный графический интерфейс;
	- система управления внешними устройствами;
	- многозадачный монитор;
	- диспетчер ресурсов;
	- система управления файлами.

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

    Система "АСПЕКТ"  должна  служить  для  полного  удовлетворения
разнообразных задач пользователя ПЭВМ. Система должна  основываться
на современном уровне организации программных сред, что включает  в
себя:
�				- 3 -

 	1. Дружественный диалог с пользователем:

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

	2. Использование методов объектного программирования:

	   -  разбиение программ на две части: код и ресурсы, в
	      которых полностью описывается взаимодействие с
	      пользователем. 
	      Ресурсы позволяют облегчить написание программ и 
	      приводят их к стандартному виду;
	   -  при написании всех прикладных программ, программист
	      должен пользоваться стандартными функциями системы 
	      "АСПЕКТ" (окна, меню, кнопки и т.д.) и  функциями
	      управления внешними устройствами.

	4.2 Требования к функциональным характеристикам.

	4.2.1. Файловая структура.

    Файловая   структура   должна   быть   разработана   с   учетом
передовых подходов в организации хранения информации на  носителях.
Она должна позволять создавать  различные  конфигурации  размещения
�				- 4 -

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

	Основные функции файловой структуры:

	1. Работа с многоуровневым (древовидным) каталогом;
	2. Работа с файлами и устройствами:
	   - создание файла;
	   - удаление файла;
	   - запись в файл N байтов;
	   - чтение из файла N байтов;
	   - заменить блок параметров файла;
	   - заменить блок параметров устройства;
	   - искать первый файл по "дереву";
	   - искать следующий файл по "дереву";
	3. Начальная загрузка системы "АСПЕКТ".

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

	4.2.2. Дружественный графический интерфейс.

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

�				- 5 -

	1. Окна.

    Предназначаются   для   отображения   информации   на    экране
дисплея. На дисплее может распологаться одновременно  до  64  окон,
каждое из них может быть открыто или  закрыто  независимо  друг  от
друга. Кроме того возможжен переход между окнами. Каждое окно имеет
независимые параметры  настройки  (цвет,  масштаб  и  т.д.).  Всего
существует 4 типа окон:

	- "Инструмент";
	- "Работа";
	- "Диалог";
	- "Текст".

    "Инструмент" - используется для  работы  с  данными.  Это  окно
является перемещаемым по дисплею, имеет имя и не имеет  возможности
изменять свой размер.
    "Работа" - используется для работы с  файлами  и  данными.  Это
окно помимо функций окна-"инструмент" имеет  возможность  изменения
своего размера с  использованием  функции  растяжки  и  применением
движков.
    "Диалог"   -   используется   для   размещения   и   управления
функциями  диалога  (меню,  кнопки,  текст  и   т.д.).   Это   окно
статическое и не имеет возможности изменения размеров.
    "Текст"   -   используется   для   отображения   редактируемого
текста, выделения функциональных групп.

	2. Меню.

    Предназначаются для  выбора  нужной  информации  из  связанного
списка параметров. Существует 2 типа меню:

	- подпрограммные;
	- константные.
�				- 6 -

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

	3. Кнопки.

    Предназначаются    для    осуществления    выбора,    установок
параметров и перехода к подпрограммам. Существует 5 типов кнопок:

	- "текст";
	- "бокс";
	- "радио";
	- "движок".
	- "спрайт";

    "Текст" - используются для перехода к подпрограммам.
    "Бокс"  -  используются  для  групповых  установок  параметров,
причем  каждая  кнопка  может  быть  задействована  отдельно,  т.е.
одновременно  может  быть  установленно  неограниченное  количество
переменных из списка.
    "Радио"  -  используется  как  и  в  предыдущем  случае,  но  в
группе  может  быть  задействована   только   одна   кнопка,   т.е.
одновременно может  быть  установлена  только  одна  переменная  из
списка.
    "Движок" - используется для  плавного  изменения  параметров  с
одновременным изменение изображения кнопки на экране, в зависимости
от выбранного шага изменения.
    "Спрайт"  -  может  выполнять   все   из   перечисленных   выше
функций. Отличие этой кнопки от всех остальных в том, что она может
иметь произвольный вид, задаваемый программистом, т.к. все  кнопки,
кроме "спрайт"-кнопок имеют стандартный вид, определенный  системой
"АСПЕКТ".
�				- 7 -

	4. Текст.

    Предназначается   для   ввода-вывода   текстовой   и   числовой
информации. Существует 2 типа текста:

	- строка;
	- абзац.

    Строка -  используется  для  вывода  информации  в  окно.  Этот
текст может быть выведен  любым  существующим  шрифтом  в  окно  по
координатам.
    Абзац   -   используется   для   ввода-вывода   текстовой   или
цифровой  информации.  В  этом  типе   используются   все   функции
редактирования. Абзац выводится в любое место окна по  координатам.

	5. Графика.

    Предназначается для вывода графической информации.
Существует 9 стандартных видов графических функций:

	- точка;
	- линия;
	- прямоугольник;
	- прямоугольник с закругленными краями;
	- круг;
	- эллипс;
	- дуга;
	- спрайт;
	- заливка.

    Все  виды  графики  работают  по  палитре  через  "кисть".  Все
замкнутые фигуры могут быть как полыми, так и закрашенными.

�				- 8 -

	4.2.3. Система управления устройствами.

    Система  управления  устройствами  должна  представлять   собой
набор программ  взаимодействия  ядра  со  штатными  устройствами  и
позволять выполнять стандартные операции  с  ними.  Система  должна
иметь программы взаимодействия со следующими устройствами:

	- накопитель 3.5" и 5.25";
	- винчестер;
	- клавиатура;
	- манипулятор типа "мышь";
	- принтер;
	- генератор звука.
	
    Программы  взаимодействия  со  штатными  устройствами  работают
с пользователем только через систему.  Все  запросы  к  устройствам
осуществляются под контролем многозадачного монитора.

	4.2.4. Многозадачный монитор.

    Многозадачный   монитор    должен    представлять    из    себя
программу,  загружаемую  в  начальной   стадии   загрузки   системы
"АСПЕКТ", и иметь наивысший  приоритет.  Монитор  должен  управлять
ходом выполнения задач. При начальной  загрузке  монитор  выполняет
следующие операции:

	- загрузка системных программ;
	- установка наименьших приоритетов всем программам
	  загруженным в данный момент;
	- инициализация системных программ.
	- распределение приоритетов между системой "АСПЕКТ" и
	  программами в соответствии с таблицей приоритетности.

    При  дальнейшей  работе  системы   "АСПЕКТ",   монитор   должен
выполнять следующие функции:
�				- 9 -

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

	4.2.5. Диспетчер ресурсов.

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

�				- 10 -

	- контроль за событиями:
	- передача управления примитивам;
	- реализация кадровой структуры программ;
	- ревизия ресурсов.

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

    Система   управления   файлами   должна   представлять    собой
программу написанную в стандарте  системы  "АСПЕКТ"  используя  все
функции системы  и  загружаемую  также  как  прикладные  программы.
Система должна выполнять следующие функции:

	1. Работа с многоуровневыми каталогами.
	2. Работа с файлами:
	   - копирование;
	   - удаление;
	   - переименование;
	   - установка и снятие защиты от стирания;
	   - запуск;
	   - групповые операции с файлами.
	3. Инициализация носителей информации.

	4.2.6. Структура программы пользователя.

    Программа  пользователя  состоит  из  двух  частей:  ресурсы  и
код. Ресурсы - это набор инструкций системе по  которым  она  будет
осуществлять диалог с пользователем, настраивать внутренние  режимы
и параметры и управлять внешними устройствами.  По  сути  дела  это
�				- 11 -

описание действий программы. Код - это сама программа,  т.е.  набор
подпрограмм (функций) которые она должна выполнять. Такой подход  к
программированию позволяет не задумываться об оформлении  программы
с стороны  пользовательского  интерфейса  и  сконцентрироваться  на
написании алгоритмов обработки данных. 

     4.3. Использование дружественного графического интерфейса.

	1. Окна.

    Перемещение  окон  осуществляется   путем   захвата   окна,   в
области  имени,  "мышью"  и  передвижением  курсора  в   декартовых
координатах, вместе с  передвижением  курсора  будет  передвигаться
окно, для фиксации окна следует отменить захват. Изменение  размера
окон осуществляется путем  захвата  области  "растяжки"  "мышью"  и
предвижением курсора в декартовых координатах,  вместе  с  курсором
будет изменяться размер окна, для фиксации размера следует отменить
захват. "Движки" в окнах используются  для  перемещения  "вида"  по
"плоскости". Захват "мышью",  отмена  захвата  и  работа  "движков"
описаны ниже.
 
	2. Меню.

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

	3. Кнопки.

    Выбор  нужной  кнопки  осуществляется  путем  захвата   "мышью"
нужной  кнопки,  действие  кнопки   наступает   после   отказа   от
захвата. Движок действует аналогично окну "Работа", при перемещении
движка в определенной пользователем переменной происходит изменение
параметра на определенную константу в зависимости  от  передвижения
�				- 12 -

движка в декартовых координатах.

	4. Текст.

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

	5. Графика.

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

    Захват  "мышью"   примитива   осуществляется   путем   указания
курсором области примитива и нажатием кнопки на  "мыши",  отказ  от
захвата осуществляется путем отпускания кнопки.

     4.4. Требования к надежности.

     Надежность функционирования БПО должна обеспечиваться:
     - влючением  в  состав  компонент  БПО  контрольных  примеров,
обеспечивающих проверку основных функций;
     - включенем в состав программ БПО  компонент  самотестирования
(аппаратных и программных средств);
     - сохранением информации о ходе выполнения программ во внешней
памяти ПЭВМ и перезапуском программы с контрольной точки  в  случае
сбоя;
     - защитой программ от неправильных действий пользователей;
�				- 13 -

     - защитой  программ  от  несанкционированного редактирования.

     4.5. Условия зксплуатации.

     4.5.1.   Система   должна   позволять   работать    на    ПЭВМ
неподготовленному пользователю.
     4.5.2. Система должна  позволять  работать  на  ПЭВМ  во  всем
диапазоне условий, предусмотренных ТУ на ПК-11/16к.
     4.5.3. Система должна  загружаться  с  комплекта  установочных
дискет на жесткий диск. Запуск  программ  должен  осуществляться  с
жесткого диска.

     4.6. Требования к составу и параметрам технических средств.

     Для работы программы  необходимы  ПЭВМ  ПК-11/16к  стандартной
конфигурации.

     4.7.  Требовараммами  математической  и  логической  обработки
данных, написанными под ОС типа "RT-11" версий до 5.04.
     4.7.2.    Система    должна     обеспечивать     совместимость
текстовых файлов с ОС типа "RT-11" и "MS-DOS".
     4.7.3.   Система    должна    быть    написана    на    языках
"C", "Assembler" и в машинных кодах (при необходимости) с использо-
ванием трансляторов,  работающих под ОС типа "RT-11" версий не ниже
5.04.

     4.8. Требования к маркировке и упаковке.

     4.8.1.  Система  должна  размещаться   на   комплекте   гибких
магнитных дисков 5.25" DS/DD (2S/2D), имеющем установочную  дискету
(мастер-дискету) и дискеты с модулями и описаниями.
     4.8.2. Все дискеты должны находиться в стандартных  конвертах,
уложенных в общую упаковку из плотной бумаги или картона,  запаяную
в полимерную плнку, и иметь маркировку,  выполненную  на  наклейках
дискет.
�				- 14 -

     4.8.3. Маркировка должна содержать название предприятия-разра-
ботчика, фирменный знак и обобщнное имя группы компонент  программ-
ного комплекса.
     4.8.4. Маркировка должна быть раскрыта  в  упаковочном  листе,
вложенном в общую упаковку и содержать  перечень  компонент  каждой
дискеты.
     4.8.5. Вместе с комплектом дискет в общей упаковке должны  на-
ходиться инструкция пользователя по установке  системы  на  ПЭВМ  и
гарантийный  сертификат   с   указанием   реквизитов   предприятия-
разработчика и авторов разработки.

     4.9. Требования к транспортированию и хранению.

     4.9.1. При транспортировании  магнитные  носители  с  системой
должны   размещаться   в   транспортной    таре,    рекомендованной
предприятием - изготовителем дискет.
     4.9.2.    Хранение    магнитных    носителей    с     системой
должно осуществляться в прохладном месте, исключающем  прямые  сол-
нечные лучи, электромагнитные поля, механические деформации и сдав-
ления дискет.
     4.9.3. При соблюдении этих условий гарантийный  срок  хранения
системы    на    магнитном    носителе    должен    соответствовать
гарантиям предприятия - изготовителя дискет.

             5. ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ.

     5.1. Документация к  БПО  должна  соответствовать  требованиям
стандартов ЕСПД и содержать:
     - описание внутреннего языка системы;
     - исходные тексты программ;
     - описание применения;
     - руководство системного программиста;
     - руководство программиста;
     - руководство оператора.
�				- 15 -

     5.2. Все программы БПО  должны  разрабатываться  по  отдельным
ЧТЗ, разрабатываемым Исполнителями на первом этапе работ и согласо-
ванным с Заказчиком.
     5.3. Исходные тексты всех компонент системы,  вне  зависимости
от   языка   программирования,   должны   содержать    комментарии,
достаточные  для  последующей  работы  по  модификации  программ  и
исправлению ошибок.

                   6. СТАДИИ И ЭТАПЫ РАЗРАБОТКИ.

     Стадии и этапы разработки определяются календарным планом, яв-
ляющимся неотемлемой частью договора коллективного подряда на  про-
ведение работ между ММИЦ "Медэнерго" (Заказчик) и временным подряд-
ным коллективом "АСП" (Исполнитель).

                  7. ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ.

     7.1. Программа испытаний должна быть разработана  Исполнителем
и согласовывана с Заказчиком не позже, чем за две недели до оконча-
ния работ по договору.
     7.2.  Состав  комиссии   по   приемке   системы   утверждается
Заказчиком с учетом предложений Исполнителя не позже,  чем  за  две
недели до окончания работ по договору.
     7.3. Приемка работы должна осуществляться на территории заказ-
чика   путем    установки    системы    на    ПЭВМ,    демонстрации
контрольного примера или ряда контрольных примеров,  подтверждающих
наличие и работоспособность функций, заданных настоящим ТЗ и ЧТЗ на
компоненты системы с  проверкой  по  разработанной  документации  и
соответствия ее функциональной полноте.


      От Исполнителя:                          От Заказчика:

  Руководитель ВПК "АСП"                    Заместитель директора
                                              ММИЦ "МЕДЭНЕРГО"

 ___________ А.В.Гречишкин              _____________ В.Ф.Федоров
 "___"____________1991 г.               "___"____________1991 г.