Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
45
Добавлен:
01.06.2015
Размер:
3.14 Mб
Скачать

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

(Software engineering)

Учебный курс

очного обучения по специальностям 220400 «Программное обеспечение вычислительной техники и автоматизированных систем»

351500 «Математическое обеспечение и администрирование информационных систем» кафедры

МОП ЭВМ

Л Е К Ц И Я 8 семестр

4.2

Основы

проектирования

программных систем.

Архитектурное,

проектирование.

Структурирование

системы.

В.В.Хашковский, к.т.н., доц. каф. МОП ЭВМ ТРТУ

Д.П.Калачев, доц., к.т.н., доц. каф. МОП ЭВМ

ТРТУ

Этап архитектурного проектирование Структурирование системы

Четких различий между подсистемами и модулями нет, но, будут полезными следующие определения.

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

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

© 2005, В.В.Хашковский, Д.П.Калачев.

12

Этап архитектурного проектирование Структурирование системы

Выделяют следующие основные модели системного структурирования:

хранилища данных (репозитария) – подсистемы разделяют данные, хранящиеся в общей памяти;

клиент-сервер (в т.ч. трехуровневая или трехзвенная модель) – для распределенных систем где данные и процессы распределены между несколькими процессорами;

абстрактной машины – набор уровней (слоев) существенно независимых друг от друга.

© 2005, В.В.Хашковский, Д.П.Калачев.

13

Структурирование системы Модель хранилища данных

Например, интегрированная среда разработки ПО (CASE).

Design

 

Code

editor

 

generator

 

 

 

Design

Project

Program

translator

repository

editor

Design

 

Report

analyser

 

generator

 

 

 

© 2005, В.В.Хашковский, Д.П.Калачев.

14

Структурирование системы Модель хранилища данных

 

Design

Code

 

editor

generator

Design

Project

Program

translator

repository

editor

Есть как преимущества так и недостатки:

analyser

 

generator

 

Design

 

Report

 

 

 

 

1.+ Не нужно передавать данные между подсистемами.

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

3.+ Подсистемы не обязательно должны знать как используются данные в других системах.

4.- Большие объемы накапливаются – модернизация требует больших затрат.

5.+ Средства обеспечения безопасности (сохранности) данных централизованы – проще организовать.

6.- К разным подсистемам могут предъявляться разные требования по безопасности, а здесь они едины.

7.+ Прозрачность – если новые подсистемы согласованы с хранилищем, то их просто интегрировать в систему.

8.- Есть проблемы в создании распределенного хранилища.

© 2005, В.В.Хашковский, Д.П.Калачев.

15

Структурирование системы Модель хранилища данных

 

Design

Code

 

editor

generator

Design

Project

Program

translator

repository

editor

Есть как преимущества так и недостатки:

Design

 

Report

 

 

 

analyser

 

generator

 

 

 

 

Advantages

Efficient way to share large amounts of data

Sub-systems need not be concerned with how data is produced Centralised management e.g. backup, security, etc.

Sharing model is published as the repository schema

Disadvantages

Sub-systems must agree on a repository data model. Inevitably a compromise

Data evolution is difficult and expensive

No scope for specific management policies

Difficult to distribute efficiently

© 2005, В.В.Хашковский, Д.П.Калачев.

16

Структурирование системы Модель клиент-сервер

Например, Film and picture library

Client 1

Client 2

Client 3

Client 4

Wide­bandwidth network

Catalogue

Video

Picture

Hypertext

server

server

server

server

Catalogue

Film clip

Digitized

Hypertext

files

photographs

web

 

© 2005, В.В.Хашковский, Д.П.Калачев.

17

 

Client 1

Client 2

Client 3

Client 4

Структурирование системы

 

Wide­bandwidth network

 

Модель клиент-сервер

Catalogue

Video

Picture

Hypertext

 

server

server

server

server

 

Catalogue

Film clip

Digitiz ed

Hypertext

 

files

photographs

web

 

 

Три основных компонента:

1.Набор серверов, предоставляющих сервисы.

2.Набор клиентов, потребляющих сервисы.

3.Сеть, посредством которой клиенты получаю доступ к сервисам.

Клиенты должны уметь обращаться (знать имена) к серверам, последние же не обязаны этого знать.

© 2005, В.В.Хашковский, Д.П.Калачев.

18

 

Client 1

Client 2

Client 3

Client 4

Структурирование системы

 

Wide­bandwidth network

 

Модель клиент-сервер

Catalogue

Video

Picture

Hypertext

 

server

server

server

server

 

Catalogue

Film clip

Digitiz ed

Hypertext

 

files

photographs

web

Advantages

Distribution of data is straightforward

Makes effective use of networked systems. May require cheaper hardware

Easy to add new servers or upgrade existing servers

Disadvantages

No shared data model so sub-systems use different data organisation. data interchange may be inefficient

Redundant management in each server

No central register of names and services - it may be hard to find out what servers and services are available

© 2005, В.В.Хашковский, Д.П.Калачев.

19

Структурирование системы Модель абстрактной машины

Например, Version management system

Version management

Object management

Database system

Operating

system

© 2005, В.В.Хашковский, Д.П.Калачев.

20

Соседние файлы в папке Материал Курса