Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Анализ осуществимости

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

IHmG

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте
 
Есть WEB-портал, который сопровождает и развивает отдел разработки ПО университета. Каждый месяц составляется отчет о проделанной работе, в который требуется включать некоторые количественные показатели.
 
Архитектура следующая. Есть сервер приложений tomcat, на котором крутится на Java написанная библиотека. Эта библиотека позволяет обращаться к Oracle и реализовывать пользовательский интерфейс приложений (управляющие конструкции и механизм вывода результирующего курсора). Такой интефейс описывается на XML.
 
 
В связи с этим идея сделать нечто для достижения цели
 
Цель: частично автоматизировать составление отчетов отдела разработки о проделанное работе, связанной с изменениями существующих ИС.
Задачи:
1.    Получить информацию об удалении, создании новых файлов или изменении существующих на сервере приложений посредством взаимодействия с Git-репозиторием, файловой системой сервера
2.    Получить информацию об удалении, создании новых таблиц или изменении существующих посредством взаимодействия со словарем СУБД или других её компонентов
3.    Получить информацию об удалении, создании или изменении существующих PL\SQL-пакетов
4.    Реализовать интерфейс для просмотра полученной информации и указания связей обнаруженных модификаций системы с назначенными в СЭД поручениями
 
Может ли быть полезной такая разработка? Существуют ли какие-то API у Git, Oracle 10g ?

Всего записей: 248 | Зарегистр. 07-06-2006 | Отправлено: 12:18 14-04-2015 | Исправлено: IHmG, 11:55 15-04-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Измерять работу программистов количеством строк кода - это несколько странный подход, не считаете ?
 
А вопрос-то в чём ? Чего вы хотели добиться вашим сообщением ? Ну, кроме количества строк...

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 05:55 15-04-2015
IHmG

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за хороший вопрос. Дополнил свой опус вопросами
 
Цель - облегчить составление отчета. Количественные показатели не идеальные, но правила игры определяет руководство. В случае типовых задач подход имеет зерно здравого смысла. Вот, кстати, какие показатели есть в отчете:
 
Регистрация нового пользователя    1
Выдача прав    1
Консультация    4
Исправление ошибки в процедуре (функции)    8
Создание новой процедуры (функции)    10
Доработка, переработка процедуры (функции)    10
Разработка технического задания    10
Проектирование программного обеспечения    10
Создание новой схемы БД    7
Создание, изменение таблиц БД    4
Создание справок, сводов, отчетов    5
Создание интерфейса    8
Тестирование процедуры (функции)    2
Тестирование модуля, всего программного обеспечения    5
Добавление данных в словарь    1
Выполнение регулярных отлаженных операций (резервирование, восстановление, заполнение из внешних данных и т.п.)    4
Документирование разработки    3
 
 

Всего записей: 248 | Зарегистр. 07-06-2006 | Отправлено: 07:15 15-04-2015
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IHmG на вашем месте я бы продавливал начальству другие показатели. А дальше хоть сводки из issue трекера могут служить таким отчётом.
 
А так для взаимодействия с git можно юзать libgit(есть биндинг для java), либо смотреть, как это реализовано в том же tortoisegit. А по поводу отслеживания изменений в БД - метаданные. У oracle, на сколько я помню, есть вьюшки с именами вида ALL_TABLES, ALL_VIEWS,...

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 08:32 15-04-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IHmG,
По примеру вашего отчёта похоже, что начальство считает не количество строк, а некоторые штуки проявления активности. Заявки, кейсы, спринты или ещё что там у него в голове...
 
Может быть, общим местом, с которого надо собирать статистику - это как раз ваша СЭД.
А у начальства, с его постоянной потребностью в иллюзии контроля, гораздо легче пройдёт идея "работаем только после оформления заявки", чем "Эта ваша отчётность - бессмысленная херня"
Отчёты тогда надо снимать прямо с СЭД, и автоматизировать некоторые участки для автоматического порождения цепочек заявок.
 
Например, из вашего отчёта видно, что вы за отчётный период создали десять функций. Исправили десять функций.  
А протестировали только 2.
Т.е. в 18-ти случаях решили "авось и так прокатит."
Непорядок.
 

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 10:40 15-04-2015
IHmG

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не там не количество активности... а баллы за активность
 
Добавлено:

Цитата:
на вашем месте я бы продавливал начальству другие показатели

какие, например?
 

Цитата:
для взаимодействия с git можно юзать libgit(есть биндинг для java)

спасибо
 

Цитата:
либо смотреть, как это реализовано в том же tortoisegit

хм... интересно, не знал что тартила с открытым кодом
 

Цитата:
по поводу отслеживания изменений в БД - метаданные

изменения в структуре легко отслеживаются в словаре, а вот изменения в PL\SQL пакетах без внедренной на сервере системы контроля версий - даже пока не представляю как прикрутить (у нас Oracle 10g)  
 
 

Всего записей: 248 | Зарегистр. 07-06-2006 | Отправлено: 10:56 15-04-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IHmG,

Цитата:
изменения в структуре легко отслеживаются в словаре, а вот изменения в PL\SQL пакетах без внедренной на сервере системы контроля версий - даже пока не представляю как прикрутить (у нас Oracle 10g)  

 
Sys.all_source ...
Повесить триггер на изменение поля text...

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 11:24 15-04-2015
IHmG

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Повесить триггер на изменение поля text

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

Всего записей: 248 | Зарегистр. 07-06-2006 | Отправлено: 11:42 15-04-2015
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
какие, например?  

IHmG всё зависит от того, что именно необходимо. Я не до конца понял по поводу отчётности. Она публикуется на портале? Для кого эта отчётность? Что за баллы?
 
Если отчётность только для начальства, то как сказал KDPoid

Цитата:
Измерять работу программистов количеством строк кода - это несколько странный подход

т.е. если я наплодил десяток функций и ещё десяток модифицировал, но задачу это не решило - я работник года!?
 
Однажды видел схему, когда на сервере непрерывной интеграции для билда генерился change list по коммитам из git репозитория. Это требовало чёткой flow модели и писать комментарии к коммитам нужно было по спец правилам, но это дисциплинировало контрибуторов(сколько я видел репозиториев с бессмысленными ветками и коментами - не счесть) + решало проблему составления списка изменений.
 

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 17:34 15-04-2015
IHmG

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
т.е. если я наплодил десяток функций и ещё десяток модифицировал, но задачу это не решило - я работник года!?  

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

Всего записей: 248 | Зарегистр. 07-06-2006 | Отправлено: 05:04 16-04-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IHmG,

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

Ну, судя по вашему интересу, вам уже приходилось компилировать пакеты...
Нельзя ведь скопмилировать одну процедуру из пакета. В мире оракла пакет - атомарная скомпилированная единица. Соответственно, нет ни какого смысла хранить текст с разбивкой по процедурам. Так что - парсить Или переходить к другим строкам в отчёте. Вместо "Изменено функций" - "Изменено модулей"
 
Ну и если "вспомнить что именно менялось при решении задачи" - это проблема, то, может быть, тексты оракловых пакетов тоже хранить в git-е ?
Тогда репозиторий становится единой точкой снятия статистики и ведения истории изменений.
 

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 06:13 16-04-2015
ptr73

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
автоматизация ради автоматизации
разработка, которая ничего полезного не делает
зачем вам это в рамках ВУЗа? у вас мало других задач?
не нужно писать вилосипеды, используйте готовый проджект менеджер, да и задачи в нём отслеживайте реальные, а не виртуальные

Всего записей: 253 | Зарегистр. 03-07-2007 | Отправлено: 14:58 23-04-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Анализ осуществимости


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru