Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НПО - ПОИТ (Бахтизин).doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

5) Проектирование программной архитектуры

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

Обращаясь к взятому примеру, можно выделить следующие компоненты программного объекта:

1. Компонент пользовательского интерфейса:

  • Модуль интерактивного взаимодействия с пользователем;

  • Модуль запроса параметров треугольника у пользователя;

  • Модуль внесения вводимых пользователем параметров треугольника в систему;

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

2. Компонент математического расчёта:

  • Модуль расчёта площади треугольника по формуле Герона;

  • Модуль вычисления квадрата числа.

6) Техническое проектирование программного средства

Целью данной работы является уточнение функций компонентов в составе каждого программного объекта. Должны быть спроектированы общий внешний интерфейс системы в целом и интерфейсы компонентов программного объекта. А также должны быть спроектированы интерфейсы взаимодействия компонентов.

Применительно к нашему примеру можно выделить следующие компоненты.

1. Компонент пользовательского интерфейса:

  • Компонент должен осуществлять приём данных от пользователя, путём ввода их с клавиатуры;

  • Компонент должен обеспечивать проверку введённых данных на их корректность, а именно - проверка ввода отрицательных значений, проверка ввода символов;

  • Компонент должен обеспечивать передачу данных, принятых от пользователя, модулю математического расчёта;

2. Компонент математического расчёта:

  • Компонент должен обеспечивать приём данных от модуля пользовательского интерфейса;

  • Компонент должен обеспечивать вычисление площади треугольника по формуле Герона;

  • Компонент должен обеспечивать передачу результирующего значения площади треугольника модулю пользовательского интерфейса для отображения на дисплее;

Таким образом, мы имеем полную спецификацию требований к каждому из компонентов программного объекта.

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

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

  • С помощью реализации модулей, в составе компонента, как отдельных функционально-законченных блоков, мы получаем достаточно простой способ их взаимодействия – передача значений в качестве параметра функции.

7) Программирование и тестирование модулей

Данная работа предполагает непосредственно программирование («кодирование») каждого компонента, модуля, их тестирование, а так же проверку результатов их работы на соответствие требований к ним. В ходе данной работы применяется так называемое модульное тестирование. Т.е. главной целью тестирования является проверка правильности работы каждого функционального требования к программному модулю из спецификации требований к компонентам программного объекта. Для этого применяют методы и средства как структурного, так и функционального тестирования.

Применительно к нашему примеру результатом программирования на языке Си являются коды двух спроектированных нами компонентов: