Вътрешномашинно изпълнение на набор от задачи. Описание на процедурите, функциите и модулите Софтуерна блокова схема

В концепцията програмна структуравключва състава и описанието на връзките на всички модули, които реализират независимите функции на програмата и описание на медиите за входни и изходни данни, както и данни, участващи в обмена между отделните подпрограми.

За да разработи големи и сложни програми, програмистът трябва да овладее специални техники за получаване на рационална програмна структура, което осигурява почти двойно намаляване на обема на програмиране и многократно намаляване

Подчинеността на програмните модули се отразява в йерархичната диаграма. Последните обаче не отразяват реда, в който се извикват или функционирането на програмата. Йерархичната диаграма може да изглежда така, както е показано на фиг. 5. Обикновено се допълва от декодиране на функциите, изпълнявани от модулите.

Преди да съставите йерархична диаграма, препоръчително е да съставите външни спецификации на програмата и да напишете функционални описания на програмата заедно с описание на променливите на носителя на данни. Особено внимание трябва да се обърне на йерархията на структурираните типове данни и тяхното коментиране.

Разделянето на програмата на подпрограми се извършва на принципа от общо към специфично, по-подробно. Процесът на конструиране на функционално описание и изготвяне на йерархична диаграма е итеративен и изборът най-добрият варианте многокритериален. Дисекцията трябва да осигури удобен ред за пускане на части в експлоатация.

На йерархичната диаграма може да се даде произволен топологичен дизайн. Фрагменти с вертикални повикваниямогат да бъдат преобразувани в повиквания от едно ниво чрез въвеждане на допълнителен модул, който може да не изпълнява полезни функции от гледна точка на програмния алгоритъм. Функцията на нов модул може да бъде само наблюдение, тоест извикване на други модули в определен ред.

Фрагменти с хоризонтални повикванияна едно ниво могат да бъдат преобразувани във вертикални извиквания към модули на различни нива чрез въвеждане на допълнителни променливи, които не могат да бъдат получени чрез разлагане на функционалното описание на подфункции. Тези допълнителни променливи обикновено са от тип integer или boolean и се наричат ​​флагове, семафори или ключове за събития. Тяхното значение обикновено се характеризира с фразата: в зависимост от следващата история на действията, извършете такива и такива действия.

По време на процеса на проектиране трябва да направите няколко повторения на дизайна, като всеки път генерирате нова йерархична диаграма и да сравните тези йерархии според тези критерии, за да изберете най-добрата опция.

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

Флаг- променлива, чиято стойност показва, че някакъв хардуерен или софтуерен компонент е в определено състояние или че е изпълнено определено условие за него. Флагът се използва за прилагане на условно разклоняване и други процеси за вземане на решения.

семафор -тип данни със специално предназначение, което е средство за контролиране на достъпа до критичен ресурс чрез едновременни последователни процеси.

Само две операции могат да бъдат извършени върху семафор (без да се брои създаването и анулирането): операция изчакване(класове) и работа на алармата(освобождение). Семафорът приема цяло число, което не може да бъде отрицателно. Операцията за изчакване намалява стойността на семафора с единица, когато може да се направи, без да доведе до отрицателна стойност, и това означава, че се използва свободният ресурс. Операцията по сигнализиране увеличава стойността на семафора с единица, което означава, че ресурсът е освободен.

Критичен ресурс- ресурс, който се използва от не повече от един процес в даден момент. Когато се изискват множество асинхронни процеси, за да координират достъпа си до критичен ресурс, се използва контролиран достъп чрез семафор.

КРИТЕРИИ ЗА ОЦЕНКА НА КАЧЕСТВОТО

ПРОГРАМНА БЛОК СХЕМА

Първата версия на структурната диаграма, получена чрез просто разделяне на програмните функции на подфункции, указващи променливите, необходими за приспособяване на данните, най-често не е оптимална и са необходими итерации на дизайна, за да се подобри топологията на диаграмата. Тези стъпки обикновено се извършват чрез проба и грешка. Всяка нова опция се сравнява с предишната според критериите, описани по-долу:

1) пълнота на изпълнение на определени функции;

2) възможност за бързо и евтино добавяне на нови, неуточнени досега функции;

3) видимост (разбираемост) за проектанта на програмните компоненти;

4) максимална самостоятелност на отделните части на програмата;

5) възможност за свързване на подпрограми с помощта на редактора на връзки;

6) достатъчно RAM;

7) влиянието на топологията на йерархичната диаграма върху скоростта на изпълнение на програмата при използване на динамично зареждане на програмата и механизма за пейджинг;

8) липса на различни модули с подобни функции. Същият модул трябва да бъде извикан различни нивайерархични диаграми;

9) постигане на работен график на екипа от програмисти по време на изпълнението на програмата, който осигурява равномерно натоварване на екипа;

10) всяко възможно намаляване на разходите за тестване на програмата.
Добрата йерархична схема намалява разходите за тестване 2-5 пъти в сравнение с оригиналната версия;

11) използване в този проект на възможно най-голям брой модули и библиотеки, разработени в предишни проекти с минимален обем новопроизведени части.

Генерирането на опции спира, ако по-нататъшните подобрения са невъзможни. Рационалната структура на програмата осигурява намаляване на общия обем на текстовете в 2-3 пъти, което съответно намалява разходите за създаване на програма и тестването й, които обикновено съставляват поне 60% от общите разходи. В същото време разходите за поддръжка на програмата са опростени и намалени.

МОДУЛНО ПРОГРАМИРАНЕ

Принципът на структурното програмиране се реализира с помощта на макрокоманди и механизми за извикване на подпрограми. Същите механизми са подходящи и за внедряване на модулно програмиране, което може да се разглежда като част от структуриран подход.

Необходимо е да се диференцира използването на думата модул,когато имаме предвид единица за разбиване на голяма програма на отделни блокове (които могат да бъдат реализирани като процедури и функции) и когато имаме предвид синтактичната конструкция на езиците за програмиране (мерна единица V Object Pascal).

Модулно програмиране -Това е организацията на програма като колекция от независими блокове, наречени модули, чиято структура и поведение се подчиняват на определени правила.

Концепцията за модулно програмиране може да бъде формулирана под формата на няколко концепции и разпоредби:

1) големите задачи се разделят на няколко по-малки, функционално независими подзадачи - модули, които са свързани помежду си само чрез входни и изходни данни;

2) модулът е “черна кутия” с един вход и един изход. Това ви позволява безболезнено да надграждате програмата по време на нейната работа, което я улеснява
поддръжка, а също така ви позволява да разработвате части от софтуерен проект на различни езици за програмиране;

3) всеки модул трябва да има ясни цели. Ако предназначението на модула не е ясно, това означава, че разлагането на модули не е извършено с достатъчно качество. Процесът на декомпозиция трябва да продължи, докато има ясно разбиране за предназначението на всички модули и тяхната оптимална комбинация;

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

5) по време на разработването на програмни модули трябва да се предвидят специални блокове от операции, които отчитат отговора на възможни грешкив данни или потребителски действия.

В концепцията за модулно програмиране голямо значение се отдава на организирането на контролни и информационни връзки между програмните модули, които съвместно решават един или няколко големи задачи.

Когато работите с модули, трябва да запомните основната им разлика от процедурите и функциите. Традиционните правила за обхвата на глобалните и локалните променливи за модулите не работят. Тази езикова конструкция е предназначена да гарантира, че глобалните променливи, декларирани в основната програма, не влияят върху вътрешните декларации на модула. Следователно, ако е необходимо да въведете глобални описания, налични за всички програмни блокове, тогава трябва да създадете модул за глобални декларации и да го включите в списъка за импортиране на всички модули, където са необходими неговите описания.

3.7. СТРУКТУРА НА МОДУЛ Б ОБЕКТ ПАСКАЛ

Object Pascalразполага с различни средства за структуриране на програми. На долното ниво на разделяне (за елементарни подзадачи) най-често се използват процедури и функции, а на горното ниво (за големи задачи) се използват модули.

В околната среда ДелфиВсяка форма задължително има свой собствен модул, който ви позволява да локализирате всички свойства на прозореца в отделна програмна единица. В допълнение, невизуалните алгоритмични действия също са проектирани под формата на отделни модули. Първият ред на модула започва с ключовата дума:

мерна единица<идентификатор_модуля>;

За правилна работасреда за програмиране, това име трябва да съвпада с името на дисковия файл, в който е поставен изходният код на модула. Следван от

(Интерфейсна секция)интерфейс

където е описано взаимодействието на този модул с други потребителски и стандартни модули, както и с основната програма.

Връзката на модула с други модули се осъществява чрез специална оферта:

(Списък за импортиране на интерфейсна секция)използва<список_модулей>

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

(Списък на експортирания раздел на интерфейса) const тип var

функция на процедурата

Списъкът за експортиране се състои от подсекции, описващи константи, типове, променливи, заглавки на процедури и функции, които са дефинирани в този модул, но които могат да се използват във всички други модули и програми, които включват името на този модул в своя ред за използване. За процедури и функции тук са описани само заглавки, но със задължителните пълно описаниеформални параметри.

(Раздел за внедряване)изпълнение

Този раздел посочва имплементационната (лична) част от описанията на този модул, която не е достъпна за други модули и програми.

(Списък за импортиране на раздел за внедряване)използва

Този списък съдържа разделени със запетаи идентификатори на модули, чиято информация за частите на интерфейса трябва да бъде налична в този модул. Тук е препоръчително да се опишат идентификаторите на всички необходими модули, информацията от които не се използва в описанията на раздела за интерфейс на този модул.

(Подраздели на вътрешни описания за модула) label const type var

функция на процедурата

Тези подраздели описват етикети, константи, типове, променливи, процедури и функции, които описват алгоритмичните действия, извършвани от даден модул, и които са „лична собственост“ само на този модул. Тези описания не са достъпни за никой друг модул.

Изпълнимата част съдържа описания на подпрограми, декларирани в интерфейсната част. Описанието на подпрограмата трябва да бъде предшествано от заглавие, в което списъкът с формални параметри и типът на резултата за функцията могат да бъдат пропуснати. Ако заглавките са посочени с параметри, тогава техният списък трябва да бъде идентичен със същия списък за съответната процедура или функция в раздела за интерфейс.

(Секция за инициализация)инициализация

В този раздел, между ключовите думи за инициализация и финализиране, има оператори на първоначалните настройки, необходими за стартиране на правилната работа на модула. Тези оператори се изпълняват преди управлението да бъде прехвърлено към основната програма и обикновено се използват за подготовка на нейната работа. Инициализиращите раздели на модули, използвани в програма, се изпълняват, когато програмата се изпълнява първоначално в същия ред, както идентификаторите на модулите са описани в клаузите за използване на файла на проекта. Ако операторите за инициализация не са необходими, запазената дума инициализация може да бъде пропусната.

(Раздел за завършване)финализиране

Разделът за финализиране не е задължителен и може да присъства само във връзка с раздела за инициализация. Секцията за завършване съдържа списък с оператори, които ще бъдат изпълнени, когато модулът приключи, което обикновено се случва, когато приложението приключи. Секциите за финализиране на модулите на приложението се изпълняват в обратния ред на секциите за инициализация на тези модули.

Секцията за прекратяване обикновено се използва за освобождаване на ресурси, които са разпределени за приложението в секцията за инициализация. Това гарантира, че приложението се прекратява грациозно, което е особено важно, когато приложението се прекратява поради изключителни ситуации.

След въвеждане на данните е необходимо да се даде възможност на потребителя да разпечата формуляра на сертификата и копие на клиента. Тази операция трябва да се извърши безпроблемно. Печатът може да се извърши на два вида принтери: ударни (матрични) и мастилено-струйни. Отпечатайте помощ на лазерни принтериневъзможно поради повишените изисквания към качеството на хартията. Когато отпечатвате сертификат на матричен принтер, можете да отпечатате две копия (сертификат + копие) с едно минаване с копирна хартия. На мастиленоструен принтер трябва да отпечатате всяко копие отделно. Следователно е необходимо да се осигури сменяем от потребителя брояч на копия или специална функция за настройка за типа принтер.

Фиг.2 Схема на взаимодействие и комуникации на данни

Разработване на функционална схема на програмата.

Функционалният състав на програмата трябва максимално да осигурява необходимия набор от възможности за касиера да изпълнява своята ОП служебни задължениясвързани с въвеждане на данни, регистриране на сделки и изготвяне на отчетни документи. За да направим това, ще съставим приблизителен списък с функции, които трябва да бъдат внедрени в нашата система.

Приблизителен списък на системните функции.

1) Регистрация на борсова сделка

· Въвеждане на данни за покупки на валута

· Въвеждане на данни за продажби на валута

· Въвеждане на данни за превалутиране

· Отпечатайте помощ за клиента

2) Преглед на документи

· Вижте списъка с документи за деня

· Преглед на списък с архивирани документи

3) Поддържане на директории

· Въвеждане на данни по стойностни кодове

· Въвеждане на данни по видове документи

· Въвеждане на данни по кодове на валути

· Въвеждане на валутни курсове по дата

4) Генериране на отчетни документи

· Отпечатване на регистър на чуждестранна валута, закупена за рубли в брой;

· Отпечатване на регистъра на наличността на чуждестранна валута, продадена за налични рубли;

· Отпечатване на регистър за обмяна (конвертиране) на налична чуждестранна валута;

5) Други функции

· Въвеждане на данни в полето за въвеждане от указателя

· Преобразуване на число от цифрово в малки букви (сума в думи)

· Промяна на външния вид на курсора

· Записване на данни в архивни файлове

Горният списък обхваща всички процедури, описани в раздела за технологичния процес на ОП и е допълнен с някои функции, които ще бъдат необходими в процеса на въвеждане и коригиране на данни.

Разработване на структурна схема на програмата.

Блоковата схема на софтуерния пакет определя основните характеристики и външен видпроектираната система и принципите на взаимодействие с потребителя. Диаграмата на проектираната система ще представлява йерархична дървовидна структура, която описва процедурите за въвеждане, обработка и извеждане на данни. Конструирането на информационни и референтни класови програми според този принцип улеснява модифицирането на системата като цяло и улеснява възприемането и разбирането на принципа на работа на програмата. За изграждането на структурна диаграма е необходимо да се определи йерархията и връзката на горните процедури за обработка на данни. Естествено е да се установи йерархия на процедурите във формата, в която са описани в предишната глава, тъй като такава схема съответства на схемата на „важността“ и „използваемостта“ на процедурите. Блоковата схема на програмата, като се вземе предвид всичко по-горе, е представена на фиг. 2.

Разработка на екранния интерфейс на програмата

Съществуващи подходи към дизайна на интерфейса на екрана

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

Най-практичните и лесни за използване системи могат да се считат за тези, които имат екранен интерфейс, изграден на базата на система от изскачащи менюта. Най-често срещаните в момента са две идеологии (което означава DOS приложения), които включват определена форма на прозорците на екрана и цветова схема и вида на изскачащите списъци. Това са инструменталните среди на Borland и операционната обвивка Norton от Symantec. И двете идеологии предвиждат определено разделяне на екранното пространство на области или зони, предназначени за конкретни информационни обекти и действия. Зоните могат да бъдат преконфигурирани до известна степен по желание на потребителя: техните размери и позиция на екрана се променят. Командите за обработка на данни се извикват от система от менюта, която постоянно присъства на екрана (Borland), или се извикват чрез функционален клавиш (Symantec).

И в двата случая всички системни команди са разпределени по функционалност в групи и присъстват в главното меню

действителните имена на командните групи. Избирайки група, потребителят получава достъп до списък с групови команди, който може да включва и команди, групирани в групи от второ ниво и т.н.

Това създава многостепенна система от изскачащи менюта. Използването на такава идеология осигурява лесна навигация в система, която има доста сложно, многостепенно меню с много възможности за избор. Естествено, увеличаването на вложеността и размера на списъците за избор трябва да има разумни граници, които за щастие съществуват под формата на ограничено екранно пространство на монитора. Повечето системи също имат възможност да персонализират цветовата палитра според желанията на потребителя. Операционната обвивка Norton предлага избор на цветове от няколко стандартни опции; в системите Borland можете да създадете своя собствена цветова схема, до най-малкия детайл. Приблизителен изглед на някои обекти на екрана е показан на фиг. 4,5.

Избор на идеология на екранния интерфейс

Тема 3. СОФТУЕР

За адекватно използване на компютъра ( обработка на информация) трябва да знаете предназначението и свойствата на програмите, необходими при работа с него. Набор от програми и придружаваща документация ( използвани при работа с тези програми), Наречен софтуер(BY). Софтуерът е неразделна част от всяка изчислителна система и се разделя на ( по уговорка) в три категории: системен софтуер(необходими за управление на компютъра, за създаване и поддържане на изпълнението на други потребителски програми, за предоставяне на потребителя на набор от различни услуги), системи за програмиранеили инструментални системи (осигуряване на създаването на нови програми за компютри) и приложен софтуер (пряко осигуряване на изпълнението на работата, изисквана от потребителя).


Структура на софтуера

Системен софтуервключва набор от програми, които контролират работата на компютърния хардуер и компютърните мрежи ( По правило тези програми не решават конкретни потребителски проблеми, а създават условия за тяхното решаване). Системният софтуер е насочен към:

· да осигури стабилна работа на компютъра и компютърната мрежа;

· да създава условия за нормална работа на приложните програми;

· за извършване на спомагателни операции;

· диагностика на компютърен хардуер и компютърни мрежи;

Целият набор от системни програми може да бъде разделен на две големи групи: основен софтуерИ сервизни системи. Основният софтуер е минималният набор от софтуер, който позволява на компютъра да работи.

Базов подкласСофтуерът включва:

· ОПЕРАЦИОННА СИСТЕМА (ОПЕРАЦИОННА СИСТЕМА) -набор от програми, които контролират процеса на изпълнение на приложни програми, планиране и управление на изчислителните ресурси на компютъра ( ОС се грижи за такива операции като наблюдение на производителността на компютърния хардуер; извършване на процедурата за стартиране; контролира работата на всички компютърни устройства; управление на файловата система; взаимодействие на потребителя с компютър; зареждане и изпълнение на приложни програми; разпределение на ресурсите на компютъра - RAM, процесорно време и периферни устройства между приложните програми).

· операционни обвивки - специални програми, предназначени да улеснят комуникацията на потребителя с командите на операционната система, имащи текстови и графични опции за крайния потребителски интерфейс ( Програмите Shell осигуряват удобен и визуален начин за комуникация с компютър, позволяват ви ясно да показвате съдържанието на директории на дискове, удобно копиране, преименуване, изпращане и изтриване на файлове и т.н.).



· мрежови операционни системи - набор от програми, които осигуряват обработка, предаване и съхранение на данни в мрежата.

Доскоро повечето компютри имаха инсталирана операционна система MS DOS, който е създаден през 1981 г. от Microsoft ( имайте предвид, че това не е оригинална разработка на самата Microsoft - компанията на Бил Гейтс само модифицира „операционната система“, наречена QDOS, създадена от друга компания). Преди появата на Windows, дисковата операционна система MS DOS беше най-популярната и широко използвана. В неговата среда е създадено цяло поколение софтуерни продукти. Въз основа на MS DOS Windows се появи в процеса на развитие на компютърните технологии ( От 1996 г. MS DOS е включен в операционната среда на Windows 95). Основните компоненти на ОС, разработени в средата на MS DOS, са класически и са органично включени в Windows на нов етап от развитието на софтуера като цяло и неговото ядро ​​- операционни системи.

MS DOS е 16-битова еднозадачна операционна система, която има „интерфейс на командния ред“, компактна е, има скромни хардуерни изисквания и изпълнява необходимия минимум функции за потребители и програми. Основните недостатъци на DOS:

· основната му слаба страна е работата с ограничена RAM ( в ерата на MS-DOS RAM паметта на повечето компютри не надвишава 256 килобайта. DOS може да работи с 640 килобайта RAM и Бил Гейтс твърди, че никой никога няма да има нужда от по-голям обем, но времето минава и се появяват програми, които изискват по-голямо количество RAM за работа и трябва да използват специални програми - мениджъри на паметта, но те не реши проблема);

· вторият недостатък на DOS беше невъзможността да работи в пълен графичен режим ( въпреки че компютрите от онова време вече можеха да го поддържат);

· Третият недостатък на MS-DOS беше еднозадачността.

Операционните системи от семейството DOS, въпреки тяхната простота и ефективност, са остарели и са заменени от операционни системи от ново поколение. Тези операционни системи включват операционни системи от семейството Windows, семейство операционни системи Unixи т.н.

Сервизни системи- предназначени за компютърна поддръжка ( разширяване на възможностите на основния софтуер). Въз основа на функционалността може да се разграничи следният сервизен софтуер:

програми за поддръжка на дискове ( осигуряване на проверка на качеството на повърхността на диска, наблюдение на безопасността на файловете, компресиране на дискове, създаване на застрахователни копия, архивиране на данни на външен носител и др.);

· антивирусни програми ( осигуряване на компютърна защита, откриване и възстановяване на заразени файлове);

програми за архивиране на данни ( осигуряват процеса на компресиране на информация във файлове, за да се намали обемът на паметта за нейното съхранение);

· програми за поддръжка на мрежата.

· диагностични програми за компютърна производителност;

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

Системи за програмиране или системи от инструменти- Това са софтуерни продукти, които поддържат технологията за програмиране. В тази област има инструменти за създаване на приложения, включително:

· местни инструменти, които гарантират изпълнението индивидуални произведенияза създаване на програми;

· интегрирани среди за разработчици на програми, осигуряващи изпълнението на набор от взаимосвързани работи за създаване на програми.

Местните инструменти за разработка на програми включват езици и системи за програмиране, както и средата на инструмента на потребителя. Има езици за машинно програмиране ( машинни кодове, възприети от компютърния хардуер), машинно ориентирани езици ( езици за програмиране, които отразяват структурата на конкретен тип компютър - асемблери), алгоритмичен ( универсален) езици, независими от компютърната архитектура, например Fortran ( Fortran), Кобол ( Кобол), Алгол ( Алгол), Паскал ( Паскал), ОСНОВЕН ( Основен), ° С ( ° С), C++ ( C++) и т.н.; процедурно ориентирани езици ( където е възможно да се опише програма като набор от процедури – подпрограми), проблемно-ориентирани езици ( предназначени за решаване на проблеми от определен клас), интегрирани системи за програмиране. Имайте предвид, че класификацията на езиците за програмиране не е фиксирана от GOST ( за образователни цели те обикновено се класифицират по различни критерии). Програма, изготвена на език за програмиране, преминава през етапа на превод, отстраняване на грешки и тестване.

Основната цел на инструментите на интегрираните софтуерни среди е да повишат производителността на програмистите, да автоматизират създаването на програми, които осигуряват графичен потребителски интерфейс и др.

Освен това има инструменти за създаване на сложни информационни системи ( СЛУЧАЙ - технология). Дизайн информационни системие трудоемка и времеемка работа, която изисква участието на висококвалифицирани специалисти. В близкото минало проектирането често се извършваше на интуитивно ниво с помощта на неформални методи, включващи елементи на изкуството, практически опит, експертни оценки и скъпи експериментални тестове за качеството на работа. В началото на 70-те години. Имаше програмна криза в САЩ ( софтуерна криза). Това се изрази във факта, че големите проекти започнаха да се изпълняват зад график или над разчетите за разходи, разработеният продукт нямаше необходимата функционалност, производителността му беше ниска и качеството на получения софтуер не удовлетворяваше потребителите. Необходимостта от контрол на процеса на разработка на софтуер, прогнозиране и гарантиране на разходите за разработка, времето и качеството на резултатите доведе до необходимостта от преминаване от занаятчийски към индустриални методи за създаване на софтуер и появата на набор от инженерни методи и инструменти за създаване на софтуер , обединени под общото наименование "софтуерно инженерство" ( софтуерно инженерство). Идеята зад софтуерното инженерство е, че дизайнът на софтуера е формален процес, който може да бъде научен и подобрен. До края на 80-те години. много изследвания са направени в областта на програмирането ( разработване и внедряване на езици на високо ниво, методи за структурирано и модулно програмиране, езици за проектиране и средства за тяхната поддръжка, формални и неформални езици за описание на системни изисквания и спецификации и др.). Терминът CASE ( Компютърно подпомагано софтуерно инженерство) има много широко тълкуване. Първоначално значението на термина CASE беше ограничено само до проблемите на автоматизацията на разработката на софтуер, но сега придоби ново значение и обхваща процеса на разработване на сложни информационни системи като цяло. CASE технологията е набор от методи за проектиране на информационни системи, както и набор от инструменти, които ви позволяват визуално да моделирате предметна област, да анализирате този модел на всички етапи на разработка и поддръжка и да разработвате приложения в съответствие с информационните нужди на потребители. Повечето съществуващи CASE инструменти се основават на структурен или обектно-ориентиран анализ и методи за проектиране, като се използват спецификации под формата на диаграми или текстове за описание на външни изисквания, връзки между системни модели, динамика на поведението на системата и софтуерна архитектура.

Приложни програми - предназначени за решаване на проблеми с потребителските приложения ( гарантира, че задачите, изисквани от потребителя, се изпълняват на компютъра). Условно ( според предназначението им) могат да се разграничат следните подкласове:

· програми за текстообработка;

· графичен редактор;

· програми за обработка на фото и видео изображения;

· програми за подготовка на презентации;

· електронни таблици;

· системи за управление на бази данни;

· програми за икономически и статистически анализи;

· системи за компютърно проектиране (CAD);

· системи за търсене на информация;

мрежов софтуер ( програми за работа с чрез имейл, достъп до видеоконференции, интернет браузъри и др.);

· игрови програми.

Приложният софтуер се състои от пакети с приложения(PPP) и потребителски приложни програми.

Понастоящем значително място в приложния софтуер заемат пакетите от приложен софтуер, които според обхвата си на приложение се делят на проблемно ориентирани пакети (насочени към решаване на тесен кръг от проблеми), пакети с общо предназначение (предназначени за решаване на типични проблеми с обработката на данни) И интегрирани пакети (тяхната област на приложение е предимно икономическата сфера; обикновено съдържат: процесор за електронни таблици, текстов редактор, система за управление на база данни, графичен редактор, средства за комуникация). Приложни програмиса създадени като част от специфична компютърна среда ( тяхното разработване обикновено се извършва индивидуално в съответствие със споразумението на ПЧП или ОС, в рамките на които се прилагат).

Структурнинаречена диаграма, която отразява съединениеИ управленско взаимодействиечасти от разработвания софтуер.

Структурните диаграми на софтуерните пакети не са информативни, тъй като организирането на програмите в пакети не осигурява прехвърляне на контрол между тях. Поради това за всяка програма в пакета се разработват блокови диаграми, а списъкът с програми в пакета се определя чрез анализиране на функциите, посочени в техническите спецификации.

Най-простият тип софтуер е програма, която може да включва само подпрограми и библиотеки с ресурси като структурни компоненти. Разработването на блокова диаграма на програмата обикновено се извършва с помощта на метод на детайлизиране стъпка по стъпка. Структурните компоненти на софтуерната система или софтуерния комплекс могат да бъдат програми, подсистеми, бази данни, библиотеки с ресурси и т.н. Блоковата диаграма на софтуера. пакет демонстрира прехвърлянето на управление от програмата на диспечера към съответната програма (фиг. 5.1).

Ориз. 5.1. Пример за блокова схема на софтуерен пакет

Блокова диаграма на софтуерна система обикновено показва наличието на подсистеми или други структурни компоненти. За разлика от софтуерния комплекс, отделните части (подсистеми) на софтуерната система интензивно обменят данни помежду си и, вероятно, с основната програма. Блоковата схема на софтуерна система обикновено не показва това (фиг. 5.2).

Ориз. 5.2. Пример за блокова диаграма на софтуерна система

По-пълна картина на проектирания софтуер по отношение на взаимодействието на неговите компоненти помежду си и с външната среда се предоставя от функционална диаграма.

Функционална схема.Функционална диаграма или диаграма на данни (GOST 19.701-90) - диаграма на взаимодействието на софтуерните компоненти с описание на информационните потоци, състава на данните в потоците и индикация за използваните файлове и устройства. За изобразяване на функционални диаграми се използват специални символи, установени от стандарта. Основните обозначения на диаграмите на данни съгласно GOST 19.701-90 са дадени в таблица. 5.1.

Таблица 5.1

Име на блок Обозначаване Предназначение на блока
Запаметени данни За посочване на таблици и други структури от данни, които трябва да се съхраняват, без да се посочва типа на устройството
Оперативна памет За справка с таблици и други структури от данни, съхранявани в RAM
Памет с последователен достъп За справка с таблици и други структури от данни, съхранявани на устройства за последователен достъп (магнитна лента и др.)
Устройство за съхранение с директен достъп За справка с таблици и други структури от данни, съхранявани на устройства с директен достъп (дискове)
Документ За обозначаване на таблици и други структури от данни, извеждани към печатащо устройство
Ръчно въвеждане За указване на ръчно въвеждане на данни от клавиатурата
Карта За маркиране на данни върху магнитни или перфокарти
Дисплей За показване на данни, показани на компютърен дисплей


Функционалните диаграми са по-информативни от структурните диаграми. На фиг. 5.3 показва функционални диаграми за сравнение софтуерни системии системи.

Всички компоненти на структурните и функционални диаграми трябва да бъдат описани. При структурния подход е особено необходимо да се разработят спецификациите на междупрограмните интерфейси, тъй като броят на най-скъпите грешки зависи от качеството на тяхното описание. Най-скъпите грешки са тези, открити по време на цялостно тестване, тъй като тяхното отстраняване може да изисква големи промени във вече дебъгвани текстове.

Ориз. 5.3. Примери за функционални диаграми: А -комплекс от програми; б -софтуерна система


Алгоритъм диаграми

КУРСОВИ ПРОЕКТ

по дисциплината "Програмиране на език от високо ниво"

Разработване на софтуерен инструмент за дългосрочно съхранение и обработка на информация по примера на играта „Коне“

Обяснителна бележка

OSU 27.03.03.0316.000PZ

Ръководител

учител

В. В. Чекригина “___”_____ 2016 г

Студент от група 14SAU(ba)SAUIT _______ _________I.O. Фамилия

"___"_____________ 2016 г

Оренбург 2016 г


анотация

Курсовата работа съдържа 18 страници, включително 4 фигури, 5 източника и списък с програми.

В това курсова работаПодробно е разгледана технологията за създаване на софтуерен продукт с помощта на системата за обектно-ориентирано програмиране Delphi. Съществуващите обектно-ориентирани езици за програмиране са прегледани накратко. Направено е описание на техническите спецификации и самата алгоритъмна програма. В края на работата е представено тестване на софтуерния продукт и неговото листване.


Въведение. 5

1 Технически спецификации. 6

2 Описание на програмата.. 7

3 Ръководство на потребителя... 9

4 Тестване на програмата.. 10

Заключение. единадесет

Списък на използваните източници. 12

Приложение A... 13


Въведение

Понастоящем обектно-ориентираната система за програмиране Delphi е популярна сред широк кръг потребители, чиято основа е езикът Object Pascal, който първоначално е разработен от N. Wirth в началото на 60-те години на миналия век специално като език за преподаване програмиране. Delphi ви позволява бързо да създавате приложения с различна степен на сложност, базирани на технологията за визуално програмиране.



Системата Delphi олицетворява най-добрите постижения на съвременната теория на програмирането. Тази интегрирана среда съчетава много полезни инструменти и готови компоненти, от които се сглобяват потребителски програми - проекти. Delphi е визуална среда за разработка на софтуер. Това означава, че външният вид на всяка програма (интерфейс) се създава чрез просто преместване на компоненти.

Основен езикезик за програмиране е Object Pascal - обектно-ориентиран Паскал. Основната разлика между системите за програмиране Delphi и Turbo Pascal (Turbo е търговска марка на системния разработчик Borland International, Inc. (САЩ)) е използването на режима на екрана на монитора: Turbo Pascal е фокусиран върху текстовия режим на DOS система, а Delphi, подобно на Windows, е фокусиран върху графиката. Следователно една от най-новите версии на Delphi 7 вече може да създава приложения за най-новата .NET среда. освен това най-новите версиипозволява програмиране за операционна система Linux.

Системата Delphi реализира технология за обектно-ориентирано виртуално програмиране (OOP). Той се отличава от всички други езици за програмиране със своята строгост при дефинирането на всички променливи и константи, модулност на програмирането, широки възможностив създаването на собствени структури от данни, използване на обектно-ориентирано програмиране, липса на машинно-ориентирани дизайни. Borland Corporation, която е основателят на Delphi, от самото начало залага на визуално обектно-ориентирано програмиране с възможност за работа с всякакви бази данни. В момента системата за програмиране Delphi по никакъв начин не отстъпва по своите възможности на такива езици за програмиране като C++, C#, Visual C++, C–Builder, Visual Basic и др.


1 Техническо задание

Поставена е задачата: да се разработи игра на тема конни надбягвания на хиподрум в среда на Делфи с организирана система за залагане.

В процеса на решаване на този проблем получихме следното приложение:

Има 5 коня, които трябва да тичат в права линия, с организирана анимация на движение, състояща се от 2 картинки, както и трябва да има машина за залагане. Конете трябва да печелят в различни редове.

Задачата на играча е да спечели възможно най-много „пари“ от залагането.

Минимални изисквания за използване на програмата: IBM-съвместим 486dx или по-висок, 5 MB. свободно място на твърдия диск, OS Win9x/Me, Win2000/XP/Vista/Seven.

Програмата осигурява:

Възможност при нулево салдо да теглите дълг;

Конете се движат с различна скорост и е невъзможно да се знае победителят предварително.


2 Описание на програмата

Блокова схема на програмата

Фигура 1 показва местоположението на основните програмни елементи, така изглежда основният прозорец на софтуерния продукт.

Фигура 1 – Главен прозорец на програмата