Merge pull request 'Лаб2: додав use-case-файли' (#26) from shmuliar-use-case into master
Reviewed-on: #26 Reviewed-by: IO-23 Andrii Bodnar <bodnarandrew123@gmail.com>
This commit is contained in:
		
						commit
						0f68887e2f
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -102,3 +102,6 @@ dist
 | 
			
		||||
 | 
			
		||||
# TernJS port file
 | 
			
		||||
.tern-port
 | 
			
		||||
 | 
			
		||||
# Generated tables for use-cases
 | 
			
		||||
utils/table-generator/tables/
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
#!/bin/python3
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
import os
 | 
			
		||||
 | 
			
		||||
# magic values
 | 
			
		||||
NO   = 0
 | 
			
		||||
@ -26,7 +27,7 @@ def convert_usecase_v1(filename, data):
 | 
			
		||||
 | 
			
		||||
    merged_lines = []
 | 
			
		||||
    for i in split_raw_lines:
 | 
			
		||||
        if i[0] == "":
 | 
			
		||||
        if i[0].replace(" ", "") == "":
 | 
			
		||||
            merged_lines[-1][1] += "<br>" + i[1]
 | 
			
		||||
        else:
 | 
			
		||||
            merged_lines.append(i)
 | 
			
		||||
@ -68,9 +69,10 @@ if __name__=="__main__":
 | 
			
		||||
    usecase_formatting = AUTO
 | 
			
		||||
    verbose = AUTO
 | 
			
		||||
    process_table_files = AUTO
 | 
			
		||||
    file_output_path = None
 | 
			
		||||
 | 
			
		||||
    # 1 pass (argument harvest)
 | 
			
		||||
    for i in sys.argv[1:]:
 | 
			
		||||
    for n, i in enumerate(sys.argv[1:]):
 | 
			
		||||
        if i.startswith("-"):
 | 
			
		||||
            # записувати таблицю в файл
 | 
			
		||||
            if i in ["-f", "--file"]:
 | 
			
		||||
@ -96,11 +98,17 @@ if __name__=="__main__":
 | 
			
		||||
            elif i in ["-nv", "--no-verbose"]:
 | 
			
		||||
                verbose = NO
 | 
			
		||||
 | 
			
		||||
            # дозволити обробку файлів .table
 | 
			
		||||
            elif i in ["-t", "--process-table"]:
 | 
			
		||||
                process_table_files = YES
 | 
			
		||||
            elif i in ["-nt", "--no-process-table"]:
 | 
			
		||||
                process_table_files = NO
 | 
			
		||||
 | 
			
		||||
            # задає папку, в яку необхідно зберігати конвертовані таблиці
 | 
			
		||||
            elif i in ["-d", "--destination"]:
 | 
			
		||||
                file_output_path = sys.argv[n+2]
 | 
			
		||||
                sys.argv.remove(sys.argv[n+2])
 | 
			
		||||
 | 
			
		||||
    # 2 pass (filename harvest)
 | 
			
		||||
    for i in sys.argv[1:]:
 | 
			
		||||
        if not i.startswith("-"):
 | 
			
		||||
@ -133,12 +141,17 @@ if __name__=="__main__":
 | 
			
		||||
            print(formatted_table_data)
 | 
			
		||||
        
 | 
			
		||||
        if write_to_file > AUTO:
 | 
			
		||||
            open(name + ".table", 'w', encoding = "utf-8").write(formatted_table_data+"\n")
 | 
			
		||||
            if file_output_path:
 | 
			
		||||
                open(os.path.join(file_output_path, os.path.basename(name)) \
 | 
			
		||||
                        + ".table", 'w', encoding = "utf-8") \
 | 
			
		||||
                        .write(formatted_table_data+"\n")
 | 
			
		||||
            else:
 | 
			
		||||
                open(name + ".table", 'w', encoding = "utf-8").write(formatted_table_data+"\n")
 | 
			
		||||
 | 
			
		||||
        exit(0)
 | 
			
		||||
 | 
			
		||||
    for no, name in enumerate(files):
 | 
			
		||||
        print(f"Converting {no+1}/{len(files)}")
 | 
			
		||||
        print(f"Converting {no+1:02d}/{len(files)}: {name}")
 | 
			
		||||
 | 
			
		||||
        data = open(name, encoding = "utf-8").read()
 | 
			
		||||
 | 
			
		||||
@ -157,4 +170,9 @@ if __name__=="__main__":
 | 
			
		||||
            print(formatted_table_data)
 | 
			
		||||
        
 | 
			
		||||
        if write_to_file >= AUTO:
 | 
			
		||||
            open(name + ".table", 'w', encoding = "utf-8").write(formatted_table_data+"\n")
 | 
			
		||||
            if file_output_path:
 | 
			
		||||
                open(os.path.join(file_output_path, os.path.basename(name)) \
 | 
			
		||||
                        + ".table", 'w', encoding = "utf-8") \
 | 
			
		||||
                        .write(formatted_table_data+"\n")
 | 
			
		||||
            else:
 | 
			
		||||
                open(name + ".table", 'w', encoding = "utf-8").write(formatted_table_data+"\n")
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										5
									
								
								utils/table-generator/list-exceptions.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								utils/table-generator/list-exceptions.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
grep -E '\|\ [0-9]{3}\.[0-9]{3}' use-cases/*.uc \
 | 
			
		||||
    | cut -d '|' -f 2 \
 | 
			
		||||
    | sort | uniq -c
 | 
			
		||||
							
								
								
									
										4
									
								
								utils/table-generator/update-tables.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								utils/table-generator/update-tables.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
mkdir -p tables/
 | 
			
		||||
./convert.py use-cases/* -nv -d tables/
 | 
			
		||||
							
								
								
									
										10
									
								
								utils/table-generator/use-cases/account.create.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								utils/table-generator/use-cases/account.create.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
Назва | Створити обліковий запис
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Відсутні
 | 
			
		||||
Результат | Обліковий запис користувача
 | 
			
		||||
Виключні ситуації | 001.001 Користувач ввів заборонені символи в поле псевдоніму
 | 
			
		||||
                  | 001.002 Ідентичний псевдонім вже існує
 | 
			
		||||
Основний сценарій | 1. Користувач вводить бажаний псевдонім у поле вводу псевдоніму
 | 
			
		||||
                  | 2. Користувач вводить пароль у поле вводу паролю
 | 
			
		||||
                  | 3. Користувач натискає на кнопку створення облікового запису
 | 
			
		||||
                  | 4. Система створює обліковий запис користувача (можливі 001.001, 001.002)
 | 
			
		||||
							
								
								
									
										9
									
								
								utils/table-generator/use-cases/account.delete.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								utils/table-generator/use-cases/account.delete.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
Назва | Видалити обліковий запис
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі
 | 
			
		||||
Результат | Відсутність облікового запису користувача
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
Основний сценарій | 1. Користувач натискає на кнопку видалення облікового запису
 | 
			
		||||
                  | 2. Система виводить кнопку-запит на підтвердження видалення облікового запису
 | 
			
		||||
                  | 3. Користувач натискає на кнопку підтвердження видалення облікового запису
 | 
			
		||||
                  | 4. Система видаляє обліковий запис (можлива 001.005)
 | 
			
		||||
							
								
								
									
										10
									
								
								utils/table-generator/use-cases/account.modify.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								utils/table-generator/use-cases/account.modify.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
Назва | Змінити властивості облікового запису
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі
 | 
			
		||||
Результат | Зміна властивостей облікового запису
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
Основний сценарій | 1. Користувач натискає на кнопку редагування облікового запису
 | 
			
		||||
                  | 2. Система виводить інтерфейс для редагування облікового запису (можлива 001.005)
 | 
			
		||||
                  | 3. Користувач вказує бажані зміни властивостей облікового запису
 | 
			
		||||
                  | 4. Користувач натискає на кнопку внесення змін до властивостей облікового запису
 | 
			
		||||
                  | 5. Система змінює властивості облікового запису
 | 
			
		||||
							
								
								
									
										12
									
								
								utils/table-generator/use-cases/user.create_survey.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								utils/table-generator/use-cases/user.create_survey.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
Назва | Створити опитування
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі
 | 
			
		||||
Результат | Створене опитування
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
                  | 001.007 Користувач ввів неприпустимі символи в назві опитування
 | 
			
		||||
Основний сценарій | 1. Користувач переходить на сторінку створення опитування (можлива 001.005)
 | 
			
		||||
                  | 2. Система виводить інтерфейс створення опитування
 | 
			
		||||
                  | 3. Користувач задає інформацію про запитання та тип опитування
 | 
			
		||||
                  | 4. Користувач натискає кнопку збереження опитування
 | 
			
		||||
                  | 5. Система створює опитування (можлива 001.007)
 | 
			
		||||
                  | 6. Система виводить посилання на проходження опитування
 | 
			
		||||
							
								
								
									
										11
									
								
								utils/table-generator/use-cases/user.delete_survey.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								utils/table-generator/use-cases/user.delete_survey.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
Назва | Видалити опитування
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі, користувач є власником опитування
 | 
			
		||||
Результат | Відсутність опитування
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
                  | 001.006 Запитане опитування не існує
 | 
			
		||||
                  | 001.008 Користувач не є власником опитування
 | 
			
		||||
Основний сценарій | 1. Користувач натискає на кнопку видалення опитування
 | 
			
		||||
                  | 2. Система виводить запит на підтвердження видалення опитування
 | 
			
		||||
                  | 3. Користувач натискає на кнопку підтвердження видалення опитування
 | 
			
		||||
                  | 4. Система видаляє опитування (можливі 001.005, 001.006, 001.008)
 | 
			
		||||
@ -0,0 +1,9 @@
 | 
			
		||||
Назва | Переглянути відповіді на опитування
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі, користувач є власником опитування
 | 
			
		||||
Результат | Інформація про відповіді на опитування
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
                  | 001.006 Запитане опитування не існує
 | 
			
		||||
                  | 001.008 Користувач не є власником опитування
 | 
			
		||||
Основний сценарій | 1. Користувач натискає на кнопку перегляду відповідей на опитування
 | 
			
		||||
                  | 2. Система виводить інформацію про відповіді на опитування (можливі 001.005, 001.006, 001.008)
 | 
			
		||||
							
								
								
									
										12
									
								
								utils/table-generator/use-cases/user.login.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								utils/table-generator/use-cases/user.login.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
Назва | Пройти ідентифікацію в системі
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач має обліковий запис
 | 
			
		||||
Результат | Користувач ідентифікований в системі
 | 
			
		||||
Виключні ситуації | 001.001 Користувач ввів заборонені символи в поле псевдоніму
 | 
			
		||||
                  | 001.003 Користувач ввів псевдонім, якого не існує в системі
 | 
			
		||||
                  | 001.004 Користувач ввів неправильний пароль до облікового запису
 | 
			
		||||
Основний сценарій | 1. Користувач вводить псевдонім у поле вводу псевдоніму
 | 
			
		||||
                  | 2. Користувач вводить пароль у поле вводу паролю
 | 
			
		||||
                  | 3. Користувач натискає кнопку ідентифікації
 | 
			
		||||
                  | 4. Система ідентифікує користувача (можливі 001.001, 001.003, 001.004)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7
									
								
								utils/table-generator/use-cases/user.logout.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								utils/table-generator/use-cases/user.logout.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
Назва | Скинути дані про ідентифікацію в системі
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі
 | 
			
		||||
Результат | Користувач не ідентифікований в системі
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
Основний сценарій | 1. Користувач натискає на кнопку виходу з облікового запису
 | 
			
		||||
                  | 2. Система скидає інформацію про ідентифікацію користувача (можлива 001.005)
 | 
			
		||||
							
								
								
									
										12
									
								
								utils/table-generator/use-cases/user.modify_survey.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								utils/table-generator/use-cases/user.modify_survey.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
Назва | Редагувати опитування
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі, користувач є власником опитування
 | 
			
		||||
Результат | Змінене опитування
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
                  | 001.006 Запитане опитування не існує
 | 
			
		||||
                  | 001.008 Користувач не є власником опитування
 | 
			
		||||
Основний сценарій | 1. Користувач переходить на сторінку редагування опитування
 | 
			
		||||
                  | 2. Система виводить інтерфейс редагування опитування (можливі 001.005, 001.006, 001.008)
 | 
			
		||||
                  | 3. Користувач задає інформацію про зміни в опитуванні
 | 
			
		||||
                  | 4. Користувач натискає кнопку збереження змін в опитуванні
 | 
			
		||||
                  | 5. Система змінює опитування
 | 
			
		||||
							
								
								
									
										9
									
								
								utils/table-generator/use-cases/user.stat_survey.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								utils/table-generator/use-cases/user.stat_survey.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
Назва | Переглянути властивості опитування
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі, користувач є власником опитування
 | 
			
		||||
Результат | Інформація про властивості опитування
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
                  | 001.006 Запитане опитування не існує
 | 
			
		||||
                  | 001.008 Користувач не є власником опитування
 | 
			
		||||
Основний сценарій | 1. Користувач натискає на кнопку перегляду інформації про опитування
 | 
			
		||||
                  | 2. Система виводить інформацію про опитування (можливі 001.005, 001.006, 001.008)
 | 
			
		||||
							
								
								
									
										11
									
								
								utils/table-generator/use-cases/user.take_anon_survey.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								utils/table-generator/use-cases/user.take_anon_survey.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
Назва | Пройти анонімне опитування
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Відсутні
 | 
			
		||||
Результат | Запис відповідей на опитування
 | 
			
		||||
Виключні ситуації | 001.006 Запитане опитування не існує
 | 
			
		||||
Основний сценарій | 1. Користувач переходить на сторінку проходження опитування
 | 
			
		||||
                  | 2. Система виводить перелік запитань опитування (можлива 001.006)
 | 
			
		||||
                  | 3. Користувач вводить відповіді на запитання
 | 
			
		||||
                  | 4. Користувач натискає кнопку надсилання відповідей
 | 
			
		||||
                  | 5. Система записує відповіді на опитування (можлива 001.006)
 | 
			
		||||
                  | 6. Система виводить прощальне повідомлення
 | 
			
		||||
							
								
								
									
										12
									
								
								utils/table-generator/use-cases/user.take_named_survey.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								utils/table-generator/use-cases/user.take_named_survey.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
Назва | Пройти поіменне опитування
 | 
			
		||||
Учасники | Користувач, система
 | 
			
		||||
Передумови | Користувач ідентифікований в системі
 | 
			
		||||
Результат | Запис відповідей на опитування та відомості про користувача
 | 
			
		||||
Виключні ситуації | 001.005 Користувач не ідентифікований
 | 
			
		||||
                  | 001.006 Запитане опитування не існує
 | 
			
		||||
Основний сценарій | 1. Користувач переходить на сторінку проходження опитування
 | 
			
		||||
                  | 2. Система виводить перелік запитань опитування (можливі 001.005, 001.006)
 | 
			
		||||
                  | 3. Користувач вводить відповіді на запитання
 | 
			
		||||
                  | 4. Користувач натискає кнопку надсилання відповідей
 | 
			
		||||
                  | 5. Система записує відповіді на опитування та відомості про користувача (можлива 001.006)
 | 
			
		||||
                  | 6. Система виводить прощальне повідомлення
 | 
			
		||||
		Reference in New Issue
	
	Block a user