ВВЕДЕНИЕ
Целью расчётно-графической работы является закрепление и расширение знаний, полученных на аудиторных занятиях по курсу «Технология программирования», практическое усвоение приёмов и технологий программирования на языке программирования СИ.
Задачами расчётно-графической работы является формирование навыков применения технологических подходов к разработке программных продуктов.
Для достижения поставленной выше цели, предлагается по предложенной предметной области выполнить полный процесс проектирования и разработки программного средства.
Результат выполнения расчётно-графической работы оформляется в виде пояснительной записки, содержащей постановку задачи и описание этапов разработки всего цикла разработки, а также обоснование принятых решений.
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ «АДВОКАТСКАЯ КОНТОРА»
Общественная информация включает в себя все виды информации, циркулирующей в обществе и используемой людьми во всех сферах их жизнедеятельности. Сегодняшнее развитие информационно-коммуникационных технологий является доминирующим фактором как в ускорении процессов социальной трансформации общества, так и в развитии целого ряда информационных наук. Социально-информационные теории и метатеории придают «общественной информации» статус социально-философской категории. Но при этом сам термин «информация» не имеет однозначного толкования; в различных учениях, как правило, не считают нужным пояснять его, полагаясь на обыденное понимание в качестве «известия», «новости», «сведения» о чем-либо. Исследование понятия информации вообще и общественной информации в частности является насущной задачей социальной философии.
Центр общественной информации необходим для того, чтобы пользователи смогли манипулировать информацией.
2 СОСТАВЛЕНИЕ ТЕХНИЧЕСКОГО ЗАДАНИЯ
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
«Центр общественной информации»
СОДЕРЖАНИЕ
1. Наименование и область применения |
|
2. Основание для разработки |
|
3. Назначение разработки |
|
4. Технические требования |
|
4.1. Требования к функциональным характеристикам |
|
4.2. Требования к надежности |
|
4.3. Условия эксплуатации |
|
4.4. Требования к составу и параметрам технических средств |
|
4.5. Требования к информационной и программной совместимости |
|
4.6 Требования к маркировке и упаковке |
|
4.7 Требования к транспортированию и хранению |
|
4.8. Специальные требования |
|
5. Технико-экономические показатели |
|
6. Стадии и этапы разработки |
|
7. Порядок контроля и приёмки |
1 НАИМЕНОВАНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ
В настоящем документе приводится набор требований к системе, необходимых для реализации.
2 ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ
Основанием для разработки является курсовая работа по дисциплине «Технология программирования».
3 НАЗНАЧЕНИЕ РАЗРАБОТКИ
Назначение программного продукта: просмотр новостей, добавление новых новостей и удаление уже имеющихся.
Подпись Заказчика и Исполнителя на настоящем документе подтверждает их согласие с нижеследующими фактами и условиями:
3.1 При реализации необходимо выполнить работы в объёме, указанном в настоящем Техническом Задании.
3.2 Все неоднозначности, выявленные в настоящем Техническом Задании после его подписания, подлежат двухстороннему согласованию между Сторонами.
4 ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ
4.1 Требования к функциональным характеристикам
Программа должна выводить на экран список новостей присутствующих в программе и их дату публикации. При нажатии на новость на экран должно выводиться содержание новости. Входные данные: файл с новостями. Выходные данные: данные из файла, которые выводятся на экран в виде списка в читаемой форме.
Программа должна позволить администратору добавлять новые новости в программу. Входные данные: информация о названии новости, содержание новости и дата публикации. Выходные данные: файл с обновленными новостями.
Программа должна позволять администратору удалять присутствующие новости в программе. Входные данные: номер новости в списке, которую необходимо удалить. Выходные данные: файл с обновленным новостями.
4.2 Требования к надежности
Надежное функционирование программы должно быть обеспечено выполнением совокупности организационно-технических мероприятий, перечень которых приведен ниже:
Организацией бесперебойного питания технических средств;
Выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. «Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;
Выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов.
4.3 Условия эксплуатации
Программа должная быть рассчитана на непрофессионального пользователя.
4.4 Требования к составу и параметрам технических средств
Необходимо наличие ПК – совместимого ПК с частотой не менее 500МГц, графическим адаптером VGA. Необходимое свободное дисковое пространство – не менее 25 Гб, объем свободной оперативной памяти - не менее 2 Гб.
4.5 Требования к информационной и программной совместимости
Программа должна работать автономно под управлением ОС Windows версии не ниже XP. Базовый язык программирования – С++.
4.6 Требования к маркировке и упаковке
Требования не предоставляются.
4.7 Требования к транспортированию и хранению
Требования не предоставляются.
4.8 Специальные требования
Программа должна иметь простой интерфейс со следующей структурой:
4.8.1 Начальное меню
4.8.1.1 Новости
4.8.1.1.1 Список новостей
4.8.1.2 Редактировать
4.8.1.2.1 Добавить новость
4.8.1.2.2 Удалить новость
4.8.1.3 Выход
Необходимо учитывать правильность ввода даты.
5 ТЕХНИКО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ
Ориентировочная экономическая эффективность не рассчитываются. Предполагаемое число использования программы в год – 365 сеансов работы на одном рабочем месте.
6 СТАДИИ И ЭТАПЫ РАЗРАБОТКИ
Таблица 1 – этапы разработки
Содержание |
Сроки |
Исполнители |
Отчёт |
Готовая программа |
1 день |
Студент группы ИФСТ-21 |
Предоставление программы |
7 ПОРЯДОК КОНТРОЛЯ И ПРИЁМКИ
Исполнитель должен предоставить следующий комплект поставки при сдаче проекта:
7.1. Техническое задание;
7.2. Исходный код программы;
7.3. Исполняемые модули программы.
3 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА
Задача: автоматизировать работу центра общественной информации.
Исходное описание Системы Центра общественной информации Схема Оглавление Номер: 0.0 |
Оглавление альбома документов и условные обозначения |
Лист: 1 Автор: Сахабутдинов А.И. Дата: 16.12.2018 |
Обозначение |
Наименование |
Лист |
Примечание |
0.0 |
Оглавление альбома документации и условные обозначения |
1 |
|
0.1 |
Схема состава разложения |
2 |
|
1.1 |
Автоматизировать центр общественной информации |
3 |
Исходное описание Системы Центра общественной информации Схема Состава Разложения Номер: 0.1 |
Схема состава разложения |
Лист: 2 Автор: Сахабутдинов А.И. Дата: 16.12.2018 |
3.5
3.4
2.4
Добавление новости
Удаление новостей
Автоматизировать редактирование новостей
Автоматизировать обработку данных
2.1
Чтение данных
\
3.1
Запись данных
3.2
Автоматизировать генерацию списка новостей
2.2
Просмотр новостей
3.3
2.3
Реализовать удобную навигацию в программе
1.1
Автоматизировать работу центра общественной информации
Исходное описание Системы Автоматизированной библиотеки Номер: 1.1 |
Автоматизировать библиотечную систему |
Лист: 3 Автор: Сахабутдинов А.И. Дата: 16.12.2018 |
Вход |
Обработка |
Выход |
Автоматизировать обработку данных 2.1 |
||
Выбрать режим работы Если режим=1 то |
||
Автоматизировать генерацию списка новостей 2.2 |
||
иначе Если режим=2 то |
||
Реализовать удобную навигацию в программе 2.3 |
||
иначе Если режим=3 то |
||
Автоматизировать редактирование новостей 2.4 |
2.1 Автоматизация обработки данных позволяет программе автоматически производить действия с файлом, который хранит данные.
Для хранения данных из файла используется вектор структур.
name[100] – массив char в структуре предназначенный для хранения названия новости в программе.
text[2000] – массив char в структуре предназначенный для хранения контента новости в программе.
date[11] – массив char в структуре предназначенный для хранения даты публикации новости в программе.
2.2 Автоматизация генерации списка позволяет представить список данных из файла в читаемой для пользователя форме.
2.3 Удобная навигация в программе осуществляется путем использования стрелки вверх, стрелки вниз, клавиши ESC и клавиши ENTER.
menu – переменная типа данных int, которая предназначена для перемещения из одного меню в другое при помощи оператора switch, где в каждом case указывается номер меню. Теоретический диапазон: -2^32..2^32-1. Фактический диапазон: от 0 до количества меню в программе.
numarrow – переменная типа данных int, которая предназначена для перемещения указателя в программе по строкам меню. Теоретический диапазон: -2^32..2^32-1. Фактический диапазон: от 0 до количества строк в меню.
Исходное описание Системы Автоматизированной библиотеки Номер: 2.1 |
Автоматизировать работу центра общественной информации |
Лист: 4 Автор: Сахабутдинов А.И. Дата: 16.12.2018 |
Вход |
Обработка |
Выход |
Чтение данных 3.1 |
||
Запись данных 3.2 |
3.1 Чтение данных позволяет читать данные из файла в вектор структур.
f – переменная, которая имеет тип данных FILE*. Предназначена для чтения данных из файла «novosti».
3.2 Запись данных позволяет записывать данные в файл, при чем в дальнейшем с этим файлом можно будет так же работать.
g – переменная, которая имеет тип данных FILE*. Предназначена для записи данных в файл «novosti».
Исходное описание Системы Автоматизированной библиотеки Номер: 2.2 |
Автоматизировать работу центра общественной информации |
Лист: 5 Автор: Сахабутдинов А.И. Дата: 16.12.2018 |
Вход |
Обработка |
Выход |
Просмотр новостей 3.3 |
3.3 Просмотр новостей позволяет представить пользователю данные из файла в читаемой форме.
Выбор нужной новости осуществляется путем нажатия стрелки вверх или вниз. После нажатия на нужной новости клавиши ENTER будет представлен полный текст новости.
Исходное описание Системы Автоматизированной библиотеки Номер: 2.4 |
Автоматизировать работу центра общественной информации |
Лист: 6 Автор: Сахабутдинов А.И. Дата: 16.12.2018 |
Вход |
Обработка |
Выход |
Добавление новости 3.4 |
||
Удаление новости 3.5 |
3.4 Добавление новости осуществляется путем увеличения вектора на единицу и заполнения созданной части данными.
Выбор даты публикации доступен в двух режимах: текущая дата или указать дату вручную.
vr[11] – массив char в котором временно хранится текущая дата в формате dd.mm.yyyy.
ti – переменная типа данных time_t, которая предназначена для получения текущей даты.
vrday[2] – массив char в котором хранится введенный пользователем день.
vrmon[2] – массив char в котором хранится введенный пользователем месяц.
vryear[4] – массив char в котором хранится введенный пользователем год.
4 РЕАЛИЗАЦИЯ ПРОГРАММЫ
Код файла main.cpp:
#include <stdio.h>
#include <Windows.h>
#include <conio.h>
#include <locale.h>
#include <vector>
#include <ctime>
using namespace std;
//Прототипы
void nowlist(char* text, int *arrow);
void arrow(int *updo, int num);
void arrowlist(int *updo, int num);
struct a{
char name[100];
char text[2000];
char date[11];
};
vector <a> novosti;
int main(){
setlocale(LC_ALL, "rus");
FILE* f = fopen("novosti", "r");
char ch;
if (f != NULL){
while ((ch = getc(f)) != EOF){
if (ch == '\n'){
novosti.resize(novosti.size() + 1);
}
}
fseek(f, 0, 0);
for (int i = 0; i < novosti.size(); i++){
while ((ch = getc(f)) != 0)
novosti[i].name[strlen(novosti[i].name)] = ch;
while ((ch = getc(f)) != 0)
novosti[i].text[strlen(novosti[i].text)] = ch;
fgets(novosti[i].date, sizeof(novosti[i].date), f);
getc(f);
}
fclose(f);
}
int menu = 0;
int numarrow = 0;
while (true){
switch (menu){
case 0:{
system("cls");
nowlist("> Новости\n Редактировать\n Выход\n", &numarrow);
printf("%s", novosti[novosti.size()-1].name);
while (true){
ch = getch();
if (ch == 80 && numarrow != 4) arrow(&numarrow, 80);
if (ch == 72 && numarrow != 0) arrow(&numarrow, 72);
if (ch == 13 && numarrow == 0){ menu = 1; break; }
if (ch == 13 && numarrow == 1){ menu = 2; break; }
if (ch == 13 && numarrow == 2){ exit(0); }
}
break;
}
case 1:{
system("cls");
if (novosti.size() == 0){
printf("В данный момент новостей нет!");
menu = 0;
getch();
break;
}
for (int i = 0; i < novosti.size(); i++){
if (i == 0){
printf("> %i. %s\n %s\n\n", i + 1, novosti[i].name, novosti[i].date);
continue;
}
printf(" %i. %s\n %s\n\n", i + 1, novosti[i].name, novosti[i].date);
}
while (true){
ch = getch();
(ch == 80 && numarrow + 3 != novosti.size() * 3) arrowlist(&numarrow, 80);
if (ch == 72 && numarrow-3 != -3) arrowlist(&numarrow, 72);
if (ch == 27){ menu = 0; break; }
if (ch == 13){
system("cls");
printf(" %s\n\n%s\n\n%s", novosti[numarrow/3].name, novosti[numarrow/3].text, novosti[numarrow/3].date);
getch();
numarrow = 0;
break;
}
}
break;
}
case 2:{
nowlist("> Добавить новость\n Удалить новость\n", &numarrow);
while (true){
ch = getch();
if (ch == 80 && numarrow != 1) arrow(&numarrow, 80);
if (ch == 72 && numarrow != 0) arrow(&numarrow, 72);
if (ch == 27){ menu = 0; break; }
if (ch == 13 && numarrow == 1){
system("cls");
if (novosti.size() == 0){
printf("В данный момент новостей нет!");
menu = 0;
getch();
break;
}
for (int i = 0; i < novosti.size(); i++){
if (i == 0){
printf("> %i. %s\n %s\n\n", i + 1, novosti[i].name, novosti[i].date);
continue;
}
printf(" %i. %s\n %s\n\n", i + 1, novosti[i].name, novosti[i].date);
}
numarrow = 0;
while (true){
ch = getch();
if (ch == 80 && numarrow + 3 != novosti.size() * 3) arrowlist(&numarrow, 80);
if (ch == 72 && numarrow - 3 != -3) arrowlist(&numarrow, 72);
if (ch == 27){ menu = 0; break; }
if (ch == 13){
novosti.erase(novosti.begin() + numarrow / 3);
system("cls");
FILE* g = fopen("novosti", "w");
if (g != NULL){
for (int i = 0; i < novosti.size(); i++){
fwrite(novosti[i].name, 1, sizeof(novosti[i].name) - 1, g);
fputc(NULL, g); fwrite(novosti[i].text, 1, sizeof(novosti[i].text) - 1, g);
fputc(NULL, g); fwrite(novosti[i].date, 1, sizeof(novosti[i].date) - 1, g);
fwrite("\n", 1, 1, g);
}
fclose(g);
printf("Новость успешно удалена!");
getch();
}
else{
printf("Произошла ошибка во время удаления новости!");
getch();
}
break;
}
}
break;
}
if (ch == 13 && numarrow == 0){
system("cls");
novosti.resize(novosti.size() + 1);
printf("Введите название новости: ");
fflush(stdin);
gets(novosti[novosti.size() - 1].name);
for (int i = strlen(novosti[novosti.size() - 1].name); i < sizeof(novosti[novosti.size() - 1].name)-1; i++){
if (novosti[novosti.size() - 1].name[i] == NULL){
novosti[novosti.size() - 1].name[i] = ' ';
}
}
system("cls");
printf("Введите контент новости: ");
fflush(stdin);
gets(novosti[novosti.size() - 1].text);
for (int i = strlen(novosti[novosti.size() - 1].text); i < sizeof(novosti[novosti.size() - 1].text)-1; i++){
if (novosti[novosti.size() - 1].text[i] == NULL){
novosti[novosti.size() - 1].text[i] = ' ';
}
}
system("cls");
printf("Выберите источник даты для новости\n> Сегодняшняя дата\n Указать дату вручную\n");
numarrow = 1;
while (true){
ch = getch();
if (ch == 80 && numarrow != 2) arrow(&numarrow, 80);
if (ch == 72 && numarrow != 1) arrow(&numarrow, 72);
if (ch == 13 && numarrow == 1){
time_t ti = time(NULL);
char vr[11] = { 0 };
itoa(localtime(&ti)->tm_mday, vr, 10);
strcpy(novosti[novosti.size() - 1].date, vr);
strcat(novosti[novosti.size() - 1].date, ".");
itoa(localtime(&ti)->tm_mon, vr, 10);
strcat(novosti[novosti.size() - 1].date, vr);
strcat(novosti[novosti.size() - 1].date, ".");
itoa(localtime(&ti)->tm_year + 1900, vr, 10);
strcat(novosti[novosti.size() - 1].date, vr);
break;
}
if (ch == 13 && numarrow == 2){
system("cls");
printf("Введитедень(dd): ");
char vrday[2] = { 0 };
while (true){
fflush(stdin);
gets(vrday);
if (vrday[0] >= '0' && vrday[0] <= '9' && vrday[1] >= '0' && vrday[1] <= '9' && atoi(vrday) > 0 && atoi(vrday) <= 31 && strlen(vrday) == 2)
break;
else printf("Ошибкаввода! Введите еще раз: ");
}
system("cls");
printf("Введите месяц(mm): ");
char vrmon[2] = { 0 };
while (true){
fflush(stdin);
gets(vrmon);
if (vrmon[0] >= '0' && vrmon[0] <= '9' && vrmon[1] >= '0' && vrmon[1] <= '9' && atoi(vrmon) > 0 && atoi(vrmon) <= 12 && strlen(vrmon) == 2)
break;
else printf("Ошибкаввода! Введите еще раз: ");
}
system("cls");
printf("Введите год(yyyy): ");
char vryear[4] = { 0 };
while (true){
fflush(stdin);
gets(vryear);
if (vryear[0] >= '0' && vryear[0] <= '9' && vryear[1] >= '0' && vryear[1] <= '9' && vryear[3] >= '0' && vryear[3] <= '9' && vryear[2] >= '0' && vryear[2] <= '9' && strlen(vryear) == 4)
break;
else printf("Ошибкаввода! Введитеещераз: ");
}
strcpy(novosti[novosti.size() - 1].date, vrday);
strcat(novosti[novosti.size() - 1].date, ".");
strcat(novosti[novosti.size() - 1].date, vrmon);
strcat(novosti[novosti.size() - 1].date, ".");
strcat(novosti[novosti.size() - 1].date, vryear);
break;
}
}
system("cls");
FILE* g = fopen("novosti", "w");
if (g != NULL){
for (int i = 0; i < novosti.size(); i++){
fwrite(novosti[i].name, 1, sizeof(novosti[i].name)-1, g);
fputc(NULL, g);
fwrite(novosti[i].text, 1, sizeof(novosti[i].text)-1, g);
fputc(NULL, g);
fwrite(novosti[i].date, 1, sizeof(novosti[i].date)-1, g);
fwrite("\n", 1, 1, g);
}
fclose(g);
printf("Новость успешно добавлена!");
getch();
}
else{
printf("Произошла ошибка во время добавления новости!");
getch();
}
break;
}
}
break;
}
}
}
}
//Функции
void nowlist(char* text, int *arrow){
system("cls");
*arrow = 0;
printf(text);
}
void arrow(int *updo, int num){
if (num == 80){ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0, *updo }); printf(" "); SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0, ++*updo }); printf(">"); }
else if (num == 72){ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0, *updo }); printf(" "); SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0, --*updo }); printf(">"); }
}
void arrowlist(int *updo, int num){
if (num == 80){ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0, *updo }); printf(" "); SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0, *updo+=3 }); printf(">"); }
else if (num == 72){ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0, *updo }); printf(" "); SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), { 0, *updo-=3 }); printf(">"); }
}
5 СОСТАВЛЕНИЕ ПРОГРАММНОЙ ДОКУМЕНТАЦИИ
УТВЕРЖДАЮ
Начальник тех. отдела
__________ Хххххххх Х. Х.
“___”____________2018
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Спецификация
A.B.00001-01 01-ЛУ
Руководитель разработки
Начальник ХХХХ
___________Хххххххх Х.Х.
“_____”_____________2018
2018
УТВЕРЖДЕНО
А.В.00001-01 01-ЛУ
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Спецификация
A.B.00001-01 01
Листов 4
2018
Обозначение |
Наименование |
Примечание |
Документация |
||
А.В.00001-01 01-ЛУ |
Программа центр общественной информации |
|
Спецификация |
||
Лист утверждения |
||
А.В.00001-01 12 01 |
Программа центр общественной информации |
|
Текст программы |
||
А.В.00001-01 12 01-ЛУ |
Программа центр общественной информации |
|
Текст программы |
||
Лист утверждения |
||
А.В.00001-01 13 01 |
Программа центр общественной информации |
|
Описание программы |
||
А.В.00001-01 13 01-ЛУ |
Программа центр общественной информации |
|
Описание программы |
||
Лист утверждения |
||
А.В.00001-01 14 01 |
Программа центр общественной информации |
|
Руководство пользователя |
||
А.В.00001-01 14 01-ЛУ |
Программа центр общественной информации |
|
Руководство пользователя |
||
Лист утверждения |
||
А.В.00001-01 15 01 |
Программа центр общественной информации |
|
Руководство администратора |
||
А.В.00001-01 15 01-ЛУ |
Программа центр общественной информации |
|
Руководство администратора |
||
Лист утверждения |
Лист регистрации изменений |
|||||||||
Номера листов (страниц) |
Всего листов (страниц) в документе |
№ документа |
Входящий № сопрово дительного документа и дата |
Подп. |
Дата |
||||
Изм. |
изменённых |
заменённых |
новых |
аннулированных |
|||||
УТВЕРЖДАЮ
Начальник тех. отдела
__________ Хххххххх Х. Х.
“___”____________2018
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Текст программы
A.B.00001-01 12-ЛУ
Руководитель разработки
Начальник ХХХХ
___________Хххххххх Х.Х.
“_____”_____________2018
2018
УТВЕРЖДЕНО
А.В.00001-01 12-ЛУ
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Текст программы
A.B.00001-01 12
Листов 7
2018
ТЕКСТ ПРОГРАММЫ
Текст программы представлен в 4 главе РГР.
УТВЕРЖДАЮ
Начальник тех. отдела
__________ Хххххххх Х. Х.
“___”____________2018
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Описание программы
A.B.00001-01 13-ЛУ
Руководитель разработки
Начальник ХХХХ
___________Хххххххх Х.Х.
“_____”_____________2018
2018
УТВЕРЖДЕНО
А.В.00001-01 13-ЛУ
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Описание программы
A.B.00001-01 13
Листов 7
2018
ОПИСАНИЕ ПРОГРАММЫ
Описание программы представлено в 3 главе РГР.
УТВЕРЖДАЮ
Начальник тех. отдела
__________ Хххххххх Х. Х.
“___”____________2018
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Руководство пользователя
A.B.00001-01 14-ЛУ
Руководитель разработки
Начальник ХХХХ
___________Хххххххх Х.Х.
“_____”_____________2018
2018
УТВЕРЖДЕНО
А.В.00001-01 14-ЛУ
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Руководство пользователя
A.B.00001-01 14
Листов 2
2018
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
1 НАЗНАЧЕНИЕ РАЗРАБОТКИ
Назначение программного продукта: просмотр новостей, добавление новых новостей и удаление уже имеющихся.
2 УСЛОВИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ
Необходимо наличие ПК – совместимого ПК с частотой не менее 500МГц, графическим адаптером VGA. Необходимое свободное дисковое пространство – не менее 20 Гб, объем свободной оперативной памяти - не менее 2 Гб.
3 ВЫПОЛНЕНИЕ ПРОГРАММЫ
Запуск программы производится при помощи двойного нажатия курсором мыши по файлу программы. Закрытие программы осуществляется нажатием крестика на окне программы или выбором пункта «Выход» в главном меню программы.
Навигация в программе осуществляется при помощи стрелок верх и вниз, клавиш ENTER и ESC.
Стрелки верх и вниз перемещают указатель программы вверх и вниз соответственно. При помощи клавиши ENTER можно перейти в меню на против которого находится указатель. При помощи клавиши ESC можно вернуться в предыдущее меню программы.
Основные функции программы для пользователей:
1. Новости – позволяет просмотреть новости в программе и дату их публикации. При нажатии ENTER на нужную новость можно просмотреть новость полностью.
2. Выход –закрывает программу.
УТВЕРЖДАЮ
Начальник тех. отдела
__________ Хххххххх Х. Х.
“___”____________2018
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Руководство администратора
A.B.00001-01 15-ЛУ
Руководитель разработки
Начальник ХХХХ
___________Хххххххх Х.Х.
“_____”_____________2018
2018
УТВЕРЖДЕНО
А.В.00001-01 15-ЛУ
ПРОГРАММА ЦЕНТР ОБЩЕСТВЕННОЙ ИНФОРМАЦИИ
Руководство администратора
A.B.00001-01 15
Листов 2
2018
РУКОВОДСТВО АДМИНИСТРАТОРА
1 НАЗНАЧЕНИЕ РАЗРАБОТКИ
Назначение программного продукта: просмотр новостей, добавление новых новостей и удаление уже имеющихся.
2 УСЛОВИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ
Необходимо наличие ПК – совместимого ПК с частотой не менее 500МГц, графическим адаптером VGA. Необходимое свободное дисковое пространство – не менее 20 Гб, объем свободной оперативной памяти - не менее 2 Гб.
3 ВЫПОЛНЕНИЕ ПРОГРАММЫ
Запуск программы производится при помощи двойного нажатия курсором мыши по файлу программы. Закрытие программы осуществляется нажатием крестика на окне программы или выбором пункта «Выход» в главном меню программы.
Навигация в программе осуществляется при помощи стрелок верх и вниз, клавиш ENTER и ESC.
Стрелки верх и вниз перемещают указатель программы вверх и вниз соответственно. При помощи клавиши ENTER можно перейти в меню на против которого находится указатель. При помощи клавиши ESC можно вернуться в предыдущее меню программы.
Основные функции программы для пользователей:
1. Новости – позволяет просмотреть новости в программе и дату их публикации. При нажатии ENTER на нужную новость можно просмотреть новость полностью.
2. Редактировать – позволяет администратору добавлять и удалять новости в программе.
3. Выход –закрывает программу.
6 ТЕСТИРОВАНИЕ
N |
Тестируемая функция |
Входные данные |
Выходные данные |
Комментарий |
1 |
Указатель вниз |
numarrow == количество строк - 1 |
Ожидание |
Неуспешно |
2 |
Указатель вверх |
numarrow == 0 |
Ожидание |
Неуспешно |
3 |
Ввод дня |
49 |
Ошибка ввода |
Неуспешно |
4 |
Ввод месяца |
13 |
Ошибка ввода |
Неуспешно |
5 |
Ввод года |
18 |
Ошибка ввода |
Неуспешно |
7 ОПИСАНИЕ ПРОЦЕССА ВНЕДРЕНИЯ ПРОГРАММЫ
Этапы внедрения программы:
Составление технического задания.
Заключение контракта для производства ПО
Назначение ответственных за внедрение
Демонстрация достигнутых возможностей
Установка ПО
ЗАКЛЮЧЕНИЕ
В данной расчетно-графической работе были выполнены все поставленные задачи: разработано и написано техническое задание к программе, спроектировано ПО, написана документация к ПО, а также проведены тесты написанной программы.
СПИСОК ЛИТЕРАТУРЫ
Информация // Википедия URL: https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F (дата обращения: 22.12.18).
Информация // Академик URL: https://dic.academic.ru/dic.nsf/enc3p/140202 (дата обращения: 22.12.18).
Общественная информация // disserCat URL: http://www.dissercat.com/content/obshchestvennaya-informatsiya-v-sisteme-sotsialnogo-razvitiya (дата обращения: 22.12.18).