Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_Etapy_razrabotki_PO.doc
Скачиваний:
9
Добавлен:
23.09.2019
Размер:
564.22 Кб
Скачать

21. Чего не хватает в umi.

коммерческая система управления сайтом (CMS), написанная на языке программирования PHP. Создаётся с 2004 года командой российских разработчиков «Юмисофт». В массовую продажу поступила в 2007 году. Существует в бесплатной и коммерческой версиях.

Главная идеологическая особенность UMI.CMS — user-friendly интерфейс [2]. Например, поддерживается изменение структуры сайта с использованием drag & drop. В последних версиях используется способ редактирования содержания страницы и компонентов страниц на самом сайте без перехода в административный интерфейс и диалоговых окон.

Быстродействие

Давайте откроем рекламный проспект UMI.CMS и пробежимся по нему глазами. У вас его, наверное, нет, но я постараюсь по памяти сформулировать один из пунктов: “UMI.CMS выдерживает несколько миллионов посетителей в день”.

Предположим, что если день - 12 часов, а “несколько миллионов” - минимум 2 миллиона (для сравнения - у ЖЖ примерно 2-4 млн). То есть в час у нас примерно 166 667 посетителей или 2778 посетителей в минуту. Выглядит круто, правда?  На практике это не так: получив в течение 1 минуты 2000 запросов сайт UMI.CMS умирает.

Скорость загрузки

Что касается удобства использования, то проблемы начинаются сразу как только пользователь входит в админку. Интерфейс в UMI.CMS тяжеловесный, как и в любой системе подобного рода. При загрузке на сервер отправляется аж 99 (!) HTTP-запросов и время порой больше 30 секунд.

При входе пользователь видит перед собой дерево сайта, которое подгружается по частям аяксом. Если у вас (не дай Бог) в каком-нибудь разделе накопилось свыше сотни подразделов, то подгрузка и отображение списка займет секунд 10-20.

Управление файлами

Пожалуй, особого внимания заслуживает просто чудовищный способ работы с файлами (точнее, способы). У вас есть минимум 3 способа добавить файл в текст и столько же их загрузить на сервер. Для эстетов есть файловый менеджер (модуль Файловая система), который позволяет загружать файлы на сервер поодиночке. При этом файлы можно рассовывать в папки, но просматривать их превью или скачивать их нельзя.

Программирование в UMI.CMS

Каждый модуль в UMI.CMS - класс. Правда, этот класс разбит на несколько файлов (как - не спрашивайте) и может содержать только public методы ;). Последний факт в корне меняет стандартные представления об объектно-ориентированном программировании, заставляя придумывать все большие ухищрения для работы. Отладка функций, которые вы добавляете в класс крайне затруднена: сообщения об ошибках не выводятся (а если и выводятся, то в совсем уж критических случаях). Жуть!

22. Как структурировать программу?

Структу́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом. В соответствии с данной методологией

  1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

    • последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

    • ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;

    • цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

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

  1. Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.

  2. Разработка программы ведётся пошагово, методом «сверху вниз».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]