ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.03.2024
Просмотров: 16
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Таблица 1.2 – Сравнение библиотек для работы с электронными таблицами
Библиотека | Поддерживаемый формат | Скорость | Комментарий |
OpenXML | xmls, xmlb, xlsm | Высокая, благодаря SAX | API интерфейс повторяет структуру документа, что не всегда удобно в использовании |
ExcelDataReader | xmls, xmlb, xlsm | Высокая | Выдаёт ошибку при больших данных |
NPOI | xls, xlsx, xlsb, xmlm | Низкая | Можно было бы использовать как конвертер между форматами, но низкая скорость и высокое потребление ресурсов |
EPPlus | xlsx, xlsm | Высокая | Нет поддержки xls |
При разработке приложения необходимо не только считать данные, но и вывести на экран в понятном для пользователя формате. Для этого нужно учесть огромное количество факторов: стиль ячейки, границы, объединение, формат данных. При ручном способе это означало собрать полноценный офисный пакет для работы с таблицами. Было найдено решение в виде отдельного табличного компонента библиотеки unvell.ReoGridWPF [9]. Пример интерфейса и сравнение его с MS Office Ecxel показан на рисунке 1.6.
В табличном компоненте ReoGridWPF видны сразу несколько различий:
- отображаются скрытые листы;
- отображаются скрытые столбцы;
1) |
|
2) |
|
Рисунок 1.6 – Сравнение вывода на экран электронных таблиц:
1 – Компонент ReoGridWPF; 2 – MS Office Excel
У данного табличного компонента есть ряд ограничений при работе с файлами: формулы, графики, макросы, шрифты. Поэтому перед использованием нужно отформатировать электронную таблицу для правильной работы графического компонента.
1.4 Разработка видения по методике RUP [10] для программного продукта
MergeSpreadsheets – программный продукт, цель которого – получение данных из электронной таблицы Excel, фильтрация и запись в другую электронную таблицу по шаблону.
MergeSpreadsheets позиционируется как решение проблем сопоставлений данных при копировании в таблицах больших форматов.
Основные проблемы при работе с большими таблицами:
- при ручном копировании тратится очень много времени;
- при создании формул теряется универсальность – при каждом новом объединении таблиц или копировании в шаблонный документ нужно заново их создавать.
Владельцем данного ПО будет ВоГУ, а пользователями – бухгалтерия.
Краткий обзор продукта.
Ключевая особенность продукта – пошаговая выборка данных, т.е. простота использования. К преимуществам относятся отсутствие зависимости от офисных приложений, работа без интернета (внешних сервисов), выборка столбцов по клику мыши. К недостаткам – установка дополнительных библиотек .NET.
Возможности продукта:
- пошаговая выборка данных. Список этапов:
а. Главное окно.
б. Выбор документа.
в. Выбор шапки.
г. Сопоставление столбцов.
д. Выбор места сохранения.
- Нет зависимости от офисных приложений – программный продукт работает без установленных офисных пакетов.
- Нет привязки к облачным решениям (GoogleDoc, OfficeOnline) – может работать без подключения к сети Интернет.
Ограничения:
- формат электронных таблиц – xlsx.
- Некоторые несовместимости формата xlsx в зависимости от версии офиса.
- Производительность платформы из-за большого объёма данных.
- Обязательное наличие фреймворка .NET.
Приоритеты и этапы при разработке.
- вывод данных.
- Отображение их в таком же формате как у MS Office Excel для лучшего восприятия пользователем.
- Таблица сопоставлений столбцов.
- Справка – максимальное описание всех действий.
- Работа над более быстрым отображением.
- Добавление конвертера форматов.
Другие требования:
- рабочее место с установленной ОС Windows Vista или выше.
- Рабочая станция с объёмом оперативной памяти не менее 3 Гб.
Требования к документации:
- максимальная справка для пользователей – от общей до пошаговой.
- Для программистов достаточно правильных комментариев в коде.
1.5 Оценка сложности программного продукта методом функциональных точек
Список всех разрабатываемых функций:
- переход по отдельным страницам приложения в едином окне.
- Просмотр содержимого файла.
- Выборка определённого столбца электронной таблицы.
- Выборка определённой строки электронной таблицы.
- Выборка шаблона файла.
- Копирование данных из одной электронной таблицы в шаблон другой.
- Генерация справочной информации.
Границы продукта:
- к внешним данным относится электронная таблица (таблица с данными);
- к внешним данным относится электронная таблица (шаблон документа).
Границы продукта в методе функциональных точек показаны на рисунке 1.7, а функциональные точки в зависимости от связанных данных записаны в таблицу 1.3.
Рисунок 1.7 – Границы продукта в методе функциональных точек
Таблица 1.3 – Подсчёт функциональных точек, связанных с данными
Оцениваемые информационные объекты | Количество RET | Количество DET | Сложность данных | Количество UFP |
Объекты ILFs | ||||
Входная электронная таблица | 0 | 52 | hide | 15 |
Объекты EIFs | ||||
Шаблон электронной таблицы | 0 | 26 | hide | 10 |
Всего: | | | | 25 |
Подсчёт функциональных точек, связанных с транзакциями:
- EI (external inputs) – получение файла с данными или нового шаблона показано на рисунке 1.8.
Рисунок 1.8 – Пример загрузки файла с данными
- EO (external outputs) – вывод содержимого файлов, предпросмотр (рисунок 1.9).
Рисунок 1.9 – Пример предпросмотра файлов
- EQ (external inquiries) – запрос на генерацию нового документа состоит из нескольких пунктов. Пример отображения на макете этапов формирования нового документа можно видеть в таблице 1.4, где показана последовательность действий. После каждого этапа происходят определённые действия по формированию новой таблицы.
В таблице 1.5 отображены результаты внешних входных и выходных транзакций, а также внешние запросы пользователей. По ней делаем общий расчёт по всем транзакциям.
Определение суммарного количества невыравненных функциональных точек равняется сумме всех UFP, т.е. UFP = 25 + 10 = 35.
Таблица 1.4 – Этапы генерации файла
Выбор файла | Выбор заголовка (шапка таблицы) | Сопоставление столбцов | Сохранение нового файла |
| | | |
Таблица 1.5 – Результаты транзакции
Оцениваемые транзакции | Количество FTR | Количество DET | Сложность данных | Количество UFP |
Внешние входные транзакции (EI) | ||||
Получение файла с данными или нового шаблона | 1 | 1 | Low | 3 |
Внешние выходные транзакции (EО) | ||||
Вывод полученных файлов (предпросмотр) | 2 | 1 | Low | 4 |
Внешние запросы (EQ) | ||||
Запрос наличия клиента по ФИО | 1 | 8 | Low | 3 |
Всего: | | | | 10 |
1.6 Оценка проекта по методике СОСОМО II
После расчёта метода функциональных точек UFP составило 35. При анализе средств разработки выбираем язык программирования C#.
Теперь можем рассчитать размер программного продукта по формуле: SIZE = UFP (Nопт + 4Nвер + Nпес) / 6 и он составит SIZE = 35 * (51 + 4 * 59 + 66) / 6 = 2059,17.
По таблице 1.6 рассчитываем множитель трудоёмкости, который составит PMNS = (2,12 + 0,49 + 0,95 + 1 +1,59 +1,43 + 1) / 7 = 1,23.
Затем по таблице 1.7 получим сумму факторов масштаба Σ SFi = 6,2 + 1 + 7,07 + 1 + 7,8 = 23,07.
Трудоёмкость рассчитывается по формуле: и составит РМ = 2,94 * (2) * 1,15 = 2,3 чел.-мес.
Рассчитаем количество потраченного времени = 3,67 * 2,3 (0,28 + 0,2 * 0,01 * 23,07) * 1/100 = 3,67*1,31*0,01 = 0,04 мес. или 1,2 дня.
Теперь получаем среднюю численность персонала программистов:
П = РМ / TDEV = 2,3 / 0,04 = 57,5, т.е. 57,5 чел. за 1,2 дня. Отсюда следует, что на 1 программиста потребуется 69 дней.
Таблица 1.6 – Множители трудоёмкости
| Оценка уровня множителя трудоёмкости | ||||||
Extra Low | Very Low | Low | Nominal | High | Very High | Extra High | |
PERS | 2,12 | 1,62 | 1,26 | 1 | 0,83 | 0,63 | 0,5 |
RCPX | 0,49 | 0,6 | 0,83 | 1 | 1,33 | 1,91 | 2,72 |
RUSE | n/a | n/a | 0,95 | 1 | 1,07 | 1,15 | 1,24 |
PDIF | n/a | n/a | 0,87 | 1 | 1,29 | 1,81 | 2,61 |
PREX | 1,59 | 1,33 | 1,22 | 1 | 0,87 | 0,74 | 0,62 |
FCIL | 1,43 | 1,3 | 1,1 | 1 | 0,87 | 0,73 | 0,62 |
SCED | n/a | 1,43 | 1,14 | 1 | 1 | 1 | n/a |