Смекни!
smekni.com

Разработка программного продукта "ПК инфо" (стр. 7 из 10)

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

- определяется необходимость распределения данных;

- производится анализ использования данных;

- производится физическое проектирование базы данных;

- определяются требования к аппаратным ресурсам;

- определяются способы увеличения производительности;

- завершается разработка документации проекта.

Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.

На фазе внедрения производится обучение пользователей, организационные изменения и параллельно с внедрением новой системы осуществляется работа с существующей системой (до полного внедрения новой). Так как фаза построения достаточно непродолжительна, планирование и подготовка к внедрению должны начинаться заранее, как правило, на этапе проектирования системы. Приведенная схема разработки ИС не является абсолютной. Возможны различные варианты, зависящие, например, от начальных условий, в которых ведется разработка: разрабатывается совершенно новая система; уже было проведено обследование предприятия и существует модель его деятельности; на предприятии уже существует некоторая ИС, которая может быть использована в качестве начального прототипа или должна быть интегрирована с разрабатываемой.

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

Методология RAD неприменима для построения сложных расчетных программ, операционных систем или программ управления космическими кораблями, т.е. программ, требующих написания большого объема (сотни тысяч строк) уникального кода.

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

Оценка размера приложений производится на основе так называемых функциональных элементов (экраны, сообщения, отчеты, файлы и т.п.) Подобная метрика не зависит от языка программирования, на котором ведется разработка. Размер приложения, которое может быть выполнено по методологии RAD, для хорошо отлаженной среды разработки ИС с максимальным повторным использованием программных компонентов, показано в таблице 3.1.

Таблица 3.1.

< 1000 функциональных элементов один человек
1000-4000 функциональных элементов одна команда разработчиков
> 4000 функциональных элементов 4000 функциональных элементов на одну команду разработчиков

В качестве итога перечислим основные принципы методологии RAD:

- разработка приложений итерациями;

- необязательность полного завершения работ на каждом из этапов жизненного цикла;

- обязательное вовлечение пользователей в процесс разработки ИС;

- необходимое применение CASE-средств, обеспечивающих целостность проекта;

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

- необходимое использование генераторов кода;

- использование прототипирования, позволяющее полнее выяснить и удовлетворить потребности конечного пользователя;

- тестирование и развитие проекта, осуществляемые одновременно с разработкой;

- ведение разработки немногочисленной хорошо управляемой командой профессионалов;

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

3.2.3. Методология функционального моделирования SADT. Методология SADT разработана Дугласом Россом и получила дальнейшее развитие в работе. На ее основе разработана, в частности, известная методология IDEF0 (Icam DEFinition), которая является основной частью программы ICAM (Интеграция компьютерных и промышленных технологий), проводимой по инициативе ВВС США.

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

- графическое представление блочного моделирования. Графика блоков и дуг SADT-диаграммы отображает функцию в виде блока, а интерфейсы входа/выхода представляются дугами, соответственно входящими в блок и выходящими из него. Взаимодействие блоков друг с другом описываются посредством интерфейсных дуг, выражающих "ограничения", которые в свою очередь определяют, когда и каким образом функции выполняются и управляются;

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

- ограничение количества блоков на каждом уровне декомпозиции (правило 3-6 блоков);

- связность диаграмм (номера блоков);

- уникальность меток и наименований (отсутствие повторяющихся имен);

- синтаксические правила для графики (блоков и дуг);

- разделение входов и управлений (правило определения роли данных).

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

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


4. Описание программного продукта «ПК инфо»

4.1. Алгоритм программного продукта

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

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

- Работа модуля «Память». При отображении на экране главного окна программы, Вы щелкаете левой клавишей мыши на кнопку «Память» во фрейме информационных модулей, после нажатия на кнопку, главное окно становится неактивным и передает работу окну свойств памяти компьютера, которое загружается и отображается на экране поверх главного окна программы. Отображение свойств физической и виртуальной памяти компьютера осуществляется при помощи специализированной API-функции – GlobalMemoryStatus, которая имеет ряд свойств. Поскольку свойства памяти могут меняться с течением достаточно небольших промежутков времени, то при помощи специального элемента управления «таймер», который повторяет обработку своей процедуры по истечении определенного промежутка времени, производится динамическое обновление API-функции – GlobalMemoryStatus и в связи с этим информация о памяти постоянно обновляется (приложение 2).

- Работа модуля «Логические диски». При щелчке левой клавиши мыши на кнопке информационного модуля «Локальные диски», главная форма передает дочерней форме свойств дисковых устройств тип устройства и становится неактивной. Далее дочерняя форма свойств дисковых устройств загружается в память, отображается на экране и обрабатывает тип устройства (в данном случае это локальные диски). При выдаче информации о дисковых устройствах задействуется очень сложный программный код, который задействует семь API-функции (FindFirstFile FindNextFile lstrlen GetLogicalDrives GetDriveType GetVolumeInformation GetDiskFreeSpace) и цикл в результате которого выдается информация о полном объеме диска (сделано это потому что не существует специальных функций для отображения полного объема диска).

Алгоритм работы информационных модулей «Съемные диски» и «CD и DVD» аналогичен работе алгоритма информационного модуля логических дисков (приложение 3).

- Работа модуля «Дисплей». При щелчке на кнопку данного информационного модуля так же загружается дочернее окно свойств видео системы и монитора компьютера. Здесь задействованы две API-функции - GetDeviceCaps и EnumDisplaySettings содержащие много параметров. При их вызове необходимые параметры заносятся в надписи на форме и список (допустимые режимы монитора). Программный код данного модуля описан в приложении 4.