Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Описание структур данных
Абстрактные структуры данных. – элементы не связаны между собой (множества, кортежи); – структуры с неявными связями элементов: векторы, матрицы, строки. – структуры с явной связью элементов: графы. Иерархические модели. – диаграммы Джексона; – скобочные диаграммы Ора. Сетевые модели (почти реляционные). Нотация Баркера. Проектирование архитектуры Архитектура программного обеспечения – это представление, которое даёт информацию о компонентах составляющих систему, о взаимосвязях между этими компонентами и правилах, регламентирующих эти взаимосвязи. Архитектура показывает, как система выглядит «со стороны». Требуется только для больших проектов. Примеры: автономная программа (вырожденная архитектура), комплекс параллельно выполняющихся программ, слоистая (вертикальное взаимодействие) и т.д. Проектирование модульной структуры. Модуль Под модулем понимают любой фрагмент программы обладающей внутренней целостностью и одной или несколькими известными точками входа. Как правило, под модулем понимают: В структурном программировании: – одна функция; – набор функций, объединённых общими данными и/или назначением и собранные (как правило) в один файл; В объектно-ориентированном программировании: – класс; – метод класса; – несколько классов, объединённых общими данными и/или назначением и собранные (как правило) в один файл; Хороший модуль снаружи проще, чем внутри. Хороший модуль проще использовать, чем построить. Свойства. 1. Прочность – мера внутренних связей. Исторически сложились различные уровни прочности: - по совпадению – между его элементами нет осмысленных связей, может возникать при «модулизации» программы; - по логике – содержит набор независимо вызываемых связанных функций; - по классу – последовательное выполнение набора несвязанных функций (инициализация, завершение); - процедурно прочный – выполняет последовательность действий, обусловленную задачей; - коммуникационно-прочный – процедурная прочность + связи по данным; - функционально прочный – выполняет одну «элементарную» (с функциональной ТЗ) функцию; - информационно прочный – выполняет несколько функций (со своими точками входа), работающих на единой структуре данных). Для функции или метода рекомендуется функциональная прочность, для класса – информационная. 2. Сцепление – мера связи по данным. - по содержимому – один модуль ссылается на данные другого; - по общей памяти – ссылаются на единую структуру данных; - по внешним данным – совместно используют глобальные простые типы данных; - по управлению – один модуль запускает фрагменты другого; - по формату – передача структуры данных; - по данным – передача неструктурированных данных. Другие свойства: - предсказуемость – независимость от предыстории; - структура принятия решений – влияние только на подчинённые модули;
|