Кредиттер саны: Курс: Семестр: О?ыту технологиясы: О?ыту формасы: О?ытылу тілі: Студенттерді? білімін Аудиториялы? саба?тарда?ы ?имылды? ережелері Саба?тар уа?ытысында ?зге істермен айналысу?а


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
РАН»
УНИВЕРСИТЕТ
МЕКЕМЕСІ
Ақпараттық технологиялар
кафедрасы


БЕКІТІЛДІ
Мамандық:
5B070300 «
Ақпараттық жүйелер
» (бакалавриат)
Автор (
оқытушы
Ахм
етжанова Жанар Бисолтановна
магистр, «Т
ран»
университет
інің аға
қытушысы
Курс:
күндізгі
Семестр:
күндізгі
Оқыту технологиясы:
Оқыту формасы:
күндізгі
Оқытылу тілі:
Қазақша
Студенттердің білімін
бағалау жүйесі:
рейтингтік
Алматы, 201
1 Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Жүйелердің программалық жабдықтарын құру
» пәнінен ПОӘК
5В070300
«Ақпараттық жүйелер
(бакалавр)
мамандығының оқу жоспары және жұмыс бағдарламасы
негізінде құрылған.
ПОӘК «
Ақпараттық жүйеле
» кафедра отырысында қарастырылған
«______» ____________ 201___ жыл. № ______ хаттама
Ақпараттық жүйелер
» кафедрасының меңгерушісі:
т.ғ.д., профессор
Түсіпова С.А.
2014 оқу жылына арналған пә
н бойынша оқу жұмысын үлестірудің кестесі
Оқыту формасы
Күндізгі
(4 о.ж.; 3 о.ж.)
Сыртқы
(2г
Сыртқы
(3,2о
Сыртқы
(5 о
Курс, оқу жылы
Семестр
Барлығы, кредит
Жалпы еңбек жүктемесі, сағ.
Дәрістер, сағ.
Тәжірибелік, семинарлық
сабақтары, сағ.
Зертханалық сабақтар
СОӨЖ, сағ.
СӨЖ, сағ.
Аралық бақылау, саны
Қорытынды бақылау түрі
емтихан
емтихан
емтихан
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
п/п
Мазмұны
ПОӘК тіркеу мәліметтері
Пәннің типтік оқу бағдарламасы
Пәннің жұмыстық оқу бағдарламасы
Силлабус (Syllabus)
студентке арналған пәннің жұмыстық оқу
бағдарламасы
Пән бойынша тапсырманы орындау графигі мен тапсыру мерзімі
Дәрістің кешенді
контенті
дәріс тезисі
иллюстратив
ті және
таратылатын
материал,
ұсынылған әдебиеттер тізімі
Семинарлық (тәжірибелік) сабақ жоспары
Семинарлық (тәжірибелік) сабақтарға арналған пәнді оқу бойынша
әдістемелік нұсқаулық
Зертханалық сабақ жоспары
Зертханалық сабақта
рға арналған пәнді оқу бойынша әдістемелік
нұсқаулық
СОӨЖ арналған әдістемелік нұсқаулық
Білімгердің өзіндік жұмысына арналған м
атериал
үй
тапсырмалары мәтінін теру, әр тақырып бойынша өзін тексеру
материал
дары
берілген жұмыс бойынша тапсырманы
орындау
еңбек
сыйымдылығы мен әдебиеттерді ұсына отырып
реферат
тар мен басқа
c�lZikujfZeZjug�hjug^Zm
I%g^�hm�[hcugrZ�%^kl_f_ed�kuguklZj
;ef]_j^�hm�`_lkl]g�[ZZeZm�f_g�[ZueZm�f
Zl_jbZe
^Zju
жазбаша бақылау тапсырмалары, тест тапсыр
малары, өзіндік
дайындыққа сұрақтар тізімі, емтихан билеттері және т.б
Сабақты бағдарламалық және мультимедиялық қолдау
пәннің
мазмұнына байланысты
Арнайы бейімделген аудиториялар, кабинеттер, лабор
ториялар
Пәннің оқу және оқу
әдістемелікпен
қамтамасыз етілу картасы
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
РАН»
УНИВЕРСИТЕТ
МЕКЕМЕСІ
Ақпараттық технологиялар
кафедрасы

БЕКІТІЛДІ
ОӘК отырысында
ран
университеті мекемесінің
оқу
әдістемелік жұмысы жөніндегі
проректоры_________ А.А.Арупов
хаттама «

«АКПАРАТТЫҚ ТЕХНОЛОГИЯЛАР»
КАФЕДРА
ЖҮЙЕЛЕРДІҢ ПРОГРАММАЛАЫҚ ЖАБДЫҚТАРЫН
ҚҰРУ
ПӘНІ БОЙЫНША
ЖҰМЫС БАҒДАРЛАМАСЫ
Мамандық
5В070300
Ақпараттық жүйелер
(бакалавриат)
Мамандық:
5B070300 «
Ақпараттық жүйелер
» (бакалавриат)
Авто
оқытушы
Ахметжанова Жанар Бисолтановна
магистр, «Т
ран»
университет
інің аға оқытушысы
Оқу нысаны:
үндізгі
/сырттай
Кредит саны
Курс:
4 күндізгі
/5 сырттай
Семестр:
7 күндізгі
/9сырттай
Жалпы еңбек жүктемесі
/135
сағат
Дәріс, са
ғ.
/18
сағат
Тәжірибелік, семинарлық
сабақтары, сағ.
Зертханалық саак, сағ.
сағат
СОӨЖ, сағ.
/32
сағат
СӨЖ, сағ.
/76
сағат
Аралық бақылау, саны
Қорытынды бақылау түрі
Емтихан
АЛМАТЫ, 2013
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Жүйелердің п
рограммалық жабдықтарын құру
» пәнінен ПОӘК
5В070300
«Ақпараттық жүйелер
(бакалавр)
мамандығының оқу жоспары және жұмыс бағдарламасы
негізінде құрылған.
ПОӘК «
Ақпараттық жүйелер
» кафедра отырысында қарастырылған
«______» ____________ 201___ жыл.
№ ______ хаттама
Ақпараттық жүйелер
» кафедрасының меңгерушісі:
т.ғ.д., профессор
Түсіпова С.А.
2014 оқу жылына арналған пән бойынша оқу жұмысын үлестірудің кестесі
Оқыту формасы
Күндізгі
(4 о.ж.
; 3 о.ж.)
Сыртқы
(2г
Сыртқы
(3,2о
.

Сыртқы
(5 о
Курс, оқу жылы
Семестр
Барлығы, кредит
Жалпы еңбек жүктемесі, сағ.
Дәрістер, сағ.
Тәжірибелік, семинарлық
сабақтары, сағ.
Зертханалық сабақтар
СОӨЖ, сағ.
СӨЖ, сағ.
Аралық бақылау, саны
Қорытынды бақылау түрі
емтихан
емтихан
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
ТҮСIНIКТЕМЕ
ЖАЗБА
«Жүйе
лерд
ің программалық жабдықтарын құру»
пәні бойынша жасалған оқу
әдістемелік кешені
Ақпараттық жүйелер»
амандығы студенттері үшін бейінді пән болып
табылады. Аталған курста прграммалық жүйелерді жобалау, құру және сынақтан өткізу
мәселелері құрастырушының талабының бойынша қарастырылады. Б
л курс студенттердің
алған білімдерін толықтырады және
программалық ж
абдықтарын құрастырудың
қазіргі
заманғы технологияларын оқып зерттеуді қамтамасыз етеді.
Курстың мақсатты аудиториясы
«Ақпаратты технологиялар» мамандығының
студенттері.
Курс, ең алдымен көрcетiлген пәннiң зерттелуі үшiн (күндізгі бөлімде) оқытушының
сшылығымен үйренуге арналған, сонымен бiрге бұл пәнді өзінше (дербес) үйренуде
қосымша оқу, оқу
әдiстемелiк және тексеру материалы ретінде қолданыла алады.
ЖҰМЫС БАҒДАРЛАМАСЫ БОЙЫНША ЖАЛПЫ ДЕРЕКТЕР
кесте
ОҚЫЛАТЫН ПӘННIҢ СИПАТТАМАСЫ
Жүйе
лерд
ің программалық жабдықтарын құру
пәні
«Ақпараттық жүйелер»
мамандығы студенттері үшін бейімдік пәндер циклының элективті компоненті болып
табылады.
Жүйе
лерд
ің программалық жабдықтарын құру
пәні
оқу барысында студен
ттер
жүйелерді құрастыру әдістері мен процестерін, жүйелерді құрастыруды жобалауды басқару
әдістерін және құрастырушылар ұжымын ұйымдастыру
тәсілдерін үйреніп біледі.
Программалық жүйелер құру
көп еңбектенуді қажет етеді, ол үшін маманның талдау әдісте
рі
туралы түсініктері болуы керек.
Программалық өнімдерді жобалау, қандай да бір күрделі жүйелердегідей, блоктық
иерархиялық ұстанымды қолдана отырып өзіне сай кезеңдермен орындалады. Әр кезеңнің
өзінің жобалау әрекеттері болады. ЖПЖҚ (
РПОС
қолданушы м
ен тапсырушының
талатарын қанағаттандыра отырып, программалық жүйелерді тиімді құру жолында
теориялық
білім
мен тәжірибені біріктіре отыра қарастыратын пән.
Аталған пәнді оқып үйрену ақпараттық жүйелер бакалаврларын әзірлеу
бағдарламасының кәсіби бөл
імінен күтілетін нәтижелерге қажетті деңгейде өз үлесін қосады.
Оқу бөлімі
Семестлер саны
Кредиттер саны
ғаттар саны
Дәрістер
Зертханалық
сабақтар
Семинарлық немесе тәжірбиел
сабақтар
Бақылау түрі ме
формасы
1


күндізгі
тест
тест
емт
сырттай
тест
тест
емт
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Жүйе
лерд
ің программалық жабдықтарын құру
пәнін толық оқып меңгеру студентке еңдек
нарығында бәсекелес мамандық болып шығуына мүмкіндік береді.
Пәнді оқыту мақсаты.
Жүйе
лерд
ің программалық
жабдықтарын құру
курсын
оқудағы
мақсат
программалаудың қазіргі заманғы технологиясын оқып зерттеуде
студенттердің теориялық және тәжірибелік дағдыларын қалыптастыру.
Пәнді зерттеудегі мақсаттар:
Пәнді зерттеудегі мақсаттар болып табылады:
Студент
тердің программалаық жабдықтардың сенімділігін арттыру және сапасын
бағалау мәселелері туралы білімдері мен дағдыларын қалыптастыру
ПЖ (
) процестерін зерттеу
жобалау, құрастыру және бағалау
сияқты
талаптардын бастап оарды модернизациялауға дейін
Delphi
программалу тілімен танысу.
Аталған п
әнді оқып бітіргенде
студенттің алған, уйренген білім, дағды
және
компетенцияларының
деңгейі
Пәнді оқып
уйрену нәтижесінде студент
білуі тиіс:
Программалық құрылғыларды құрудың қазіргі заманғы техно
логиялары мен
ереркшеліктерін
ПЖ жобалауды ұйымдастыру және жобалау процестерінің әртүрлі кезеңдерінің
мазмұнын білу

Программалық құрылғыларды тестілеу және ретке келтіру әдістерін, программалық
қателердің классификациялық схемасын білу;

енімді п
рогра
ммалық құрылғыларды құрудың құралдары мен әдістерін білу
CASE
жүйелер, тілдердің 4
буыны, ашық жүйелер стандарттары мен концепциялары
негізінде күрделі программалық жабдықтарды құру принциптері мен әдістерін білу
стей алуы керек

Программалық құрылғыла
рды берілген стандарттар мен сапа критерийлеріне сәйкес
жобалауды, құруды және ретке келтіруді


Программалық жабдықтардың сапасы мен сенімділігін
анықтайтын негізі факторларды
айқындауды


Программалық жабдықтарды сапасы мен сенімділігін арттыру мақсатында
тестілеуді

Программалық жабдықтарға құжаттарды рәсімдеуді.
Модульді игерген кезінде студентте келесі құзырлар дамиды
Бітіруші келесі жалпы мәдениеттік құзырларға ие болуы керек
Жалпы бiлiмдарлық
Күнделікті к
әсiби қызметі саласында және магистратурада б
ілімін жалғастыруға
қажетті жаңа білімдер
алуға дағдылану
Бітіруші келесі кәсіби құзырларға ие болуы керек (ПК):
ғылыми
зерттеу қызметі
қолданылатын зерттеу әдістеріне қойылатын шектеулерді ескере отырып, өз пәні
саласында формализацияға қабiлеттiлiгi
әсіби қызметіндегі объектілерді зертеу барысында қолданған тәсілдер мен аспа
пттық
құралдарды пайдалана білу;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Аналити
калық қызметі
программалық жобаның пәндік саласын формалдауға және программалық өнімнің
компоненттері үшін спецификациялар құрастыруға қабі
леттілігі
Қиындықтар, тәуелділіктер мен шығындар дәрежесінің бастапқы бағалауларын
орындай білу және жұмыс кестесін жасай білу
Коммерциялық ұсыныстарды шешiмнiң нұсқалар
ын көрсете отырып дайындай білу
жобалық қызмет
ЭЕМ және жүйелердің архитектурасымен
таныс болу;
информатика мен программалау негіздерін программалық өнімдерді жобалау,
құрастыру және тестілеу үшін қолдана білу
оқылып шыққан құжаттардың, берілген кодтардың басқы идеяларын белгілеу, оқу және
түсіну дағдыларына ие болу
программалық жабдықт
амаларды құрастырудың формалды әдістерін қолдануға, талдау
жасауға және модельдеуге дағдыл
ану
программалық жабдықтамалардың уақытша және көлемдік күрделілігін бағалай білуге
дағдылану;
программалық инт
ерфейстер құра білуге дағдылану
Технологиялық қызмет
операциялық жүйелерді, желілік технологияларды, программалық интерфейстерді
құрастыру құралдарын, формальдық спецификациялау тілдері мен әдістерін, берілгендер
базасын басқару ж
үйесін қолдана білу дағдылары
әртүрлі программалық жабдықтамаларды құрастыру
технологияларын пайдалана білу
өндірістік қызмет
программалық жабдықтамаларды құрастыру құралдары мен негізгі әдістерін қолдана
білу;
программалық жабдықтамалардың сапасының атрибуттары мен тұжырымдамаларын,
соның ішінде осы сапаны қамтамасыз ететін адамд
ардың, үдерістердің, тәсілдердің, құралдар
мен технологиялардың рөлін түсіне білу
өмір сүру циклының үл
гілері мен стандарттарын түсіну
сервис
тік
эксплуатация
лық қызмет
программалық жабдықтамалардың эволюциясы мен алып жүрудің негізгі үлгіл
ері мен
тұжыры
мдамаларын түсіну
эволюциялық қызметтің ерекшеліктерін техникалық көзқараспен бірге бизнес жағынан
да түсіну (мұрагерленген жүйелермен жұмыс, қайтарымды жобалау, реинженир
инг, миграция
және рефакторинг)
Бітіруші келесі арнайы құзырларға ие болуы керек
СК):
Есептеуіш техника мен программалаудың дамуының негізгі тенденцияларын түсіне
білу
программалық жүйелерді жобалау әдістерін білу және олардың өміс сүру циклының
лық кезеңдерін іске асыра білу
теретикалық информатиканың негізгі түсініктері
н, заңда
рын және әдістерін білу
программалық алгоритмдерді инженерлік жобалау мен алгоритмдерді құрастыру
тәсілдерін білу
Пәннің п
ререквизит
тар
Программ
алау т
ехнология
Жүйелік
анализ
және
дизайн.
Пәннің
остреквизит
тар
Параллельное программ
алау
комм
ерция
және
коммерциялық мәліметтерді өңдеу
1 бөлім
коммерция
және коммерциялық мәліметтерді
өңдеу
Өндірістік
практика; Диплом
дық жоба
; Магистер
лік
программ
алар
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
НЕГІЗГІ БӨЛІМ
ДӘРІС ТАҚЫРЫПТАРЫНЫҢ ЖІКТЕЛІМІ
Тақырып
Жүйелерді құрудың үрдістері
мен әдістері
Берілгендерді өңдеу жүйесі. Жүйелік және қолдбалы программалық жабдықтар.
Тақырып
Жүйе
лерд
і құрудың өмір сүру циклы.
Өмір сүру циклы кезеңдері. Өмір
сүрудің жалпы үлгілері. Каскадтық үлгі. Құрастырудың инкрементальды (үдемелі) үлгісі.
пиральдық үлгі.
Фазы жизненного цикла
Общие модели жизненного цикла.
Водопадная
(каскадная) модель.
Инкрементальная (инкрементная, поступательная) модель разработки.
Спиральная модель.
Прототип
теу
Құжаттау
Тақырып
Жүйелерді құрудың аспаптық құрылғы
лары
CASE
құрылғыларды
жіктеу және пайдалану мақсаттары. Өмір сүру циклынің әр кезеңіндегі
CASE
құрылғылар.
CASE
құрылғылар
мәселелері.
Тақырып
Жүйені енгізу және тестілеу.
Тестілеу түсінігі. Тестілеу ма
қсаты.
Программалық жабдықтау жүйесін енгізу.
Техникалық басқару және пайдалану туралы
ережелер.
Тақырып
Жүйелерді басқару және қауіпсіздік.
Жүйені құру ортасы.
Конфигурацияны басқару. Берілгендерді қорғау. Рисктер. Жүйенің қауіпсіздігінің кепілі.
Тақырып
Жүйелерді құрудың даму қырлары.
Сапа
стандартары және басқару.
ISO
9000. SEI/CMMI.
Икемді әдістер.
архитектура.
Көпқабатты
архитектура. Сервис
тік
ориентир
лік
архитектура.
Жүйелер күрделіліг.
Тақырып
Деректер
базасы
және
берілгендерді басқару.
Берілгендер және
транзакци
ялар
Берілген
дер базасы. Берілгендерді сақтау. Берілгендердің келісілмегендіктері
және а
ртықтығы.
Берілгендердің икемдігі, біруақытылы қол жеткізу және қауіпсіздік.
Тақырып
Деректер
базасы құрылымы.
қарудың файлдық жүйелері мен деректер
басзасын басқару жүйе
лерінің айырмашылықтары
. Деректер базасы жүйесінің компоненттері.
Деректер базасы жүйесін пайдаланатын қосымшалар. Деректер базасын қолданушының,
құрастырушының, программистің және администратордың рөлі.
Тақырып
Берілгендерді модельдеу.
Берілгендер
абстракциясы және ұсыну
деңгейлері. Берілгендер моделдері тобы.
Берілгендердің иерархиялық және желілік
модельдер жазбасына негізделген сипаттамалар.
Объектілерге негізделген логикалық модель.
Тақырып
Реляци
модель
Модельдердің икемділі
арт
ықшылығы жоқтығы
және масштабтығы. Реляциялық модельдің түйінді терминдері. Берілгендер нормалдау
мысалдары.
Тақырып
Сұраныстар тілдері.
Процедуралық және процедуралық емес сұраныс
тілдерінің айырмашылықтары. Реляциялық алгебраның негізгі операциялар
ы. Берілгендерді
анықтау тілдері
(DDL)
және берілгендерді манипуляциялау тілдері
(DML).
Берілгендерді
анықтау тілдерінің анағұрлым ерекше бұйрықтары.
Тақырып
SQL
сұраныстар
ерілгендерді
манипуляциялау тілдері
SQL (DML).
ерілгендерді
манипуляциялау
тілдері
SQL (DML) командалары. Көмекші құралдарды
пайдалану. Транзакцияларды ұсыну және басқару.
Тақырып
ДБ а
дминистр
леу және қауіпсіздік.
Деректер базасы және
администрлеудің негізгі есептері.
CIA аббревиатур
контекстіндегі қауіпсіздік мәселел
ері.
Қауіпсіздік саясаты мысалдары. Қателіктерге сәйкес қалпына келтіру схемалары
Тақырып
Тест
ілеу
ілеу деңгейлері
Негізгі түсініктер
Әртүрлі тестерді
орындау және мақсаттары. Тестілеу әдістемелігі. Тестілеуді автоматтандыру құралдары.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Тақырып
Құжаттау және басқару
(администр
леу
ұжаттар типтері. Жақсы
құрылымдалған және құжатталған кодтардың маңыздылығы. Құжаттарды өзгерту.
Программалауды администрлеуді қысқарту құралдары.
ТӘЖІРИБЕЛІК (СЕМИНАРЛЫҚ) САБАҚТАРДЫҢ ТАҚЫРЫБЫ
Тақырып
Delphi
қарапайым
қосымшасын құру
Тақырып
Delphi
ерекше жағдайларды өңдеу
Қолданушының енгізуін қабылдау.
Тақырып
3. Меню құру және өңдеу
Тақырып
Клас
тар және
и модул
ьдер
Тақырып
Тышқан көмегімен енгізу. Формада сурет салу.

Тақырып
Delphi
ортасында файлдарды өңдеу.
Тақырып
Delphi
де деректер базасы.
Database
Desktop
утилитасымен танысу
Тақырып
Деректер базасына қол жеткізу мен басқарудың негізгі компоненттері.
Тақырып
Деректер базасында сұрыптау

Тақырып
Деректер базасында
сүзгілеу

Тақырып
Байланыс орнату

Тақырып
Есеп құру.
СОӨЖ ТАҚЫРЫПТАРЫ
Тақырып
идеопрокат жұмысын автоматтандыру
Тақырып
ГИБДД
жұмысын автоматтандыру
Тақырып
Библиотек
жұмысын автоматтандыру
Тақырып
Аэропорт
жұмысын автоматтанды
Тақырып
Магазин
жұмысын автоматтандыру
Тақырып
Поликлиник
жұмысын автоматтандыру
Тақырып
нтивирус
тік программалық жүйе құру
Тақырып
втомобил
дерді техникалық қамтамасыз ету орталығы
жұмысын
автоматтандыру
Тақырып
Файл
дық жүйе
жұмыс
ын автоматтандыру
Тақырып
Графикалық примитивтерден күрдеоі схемалар тұрғызатын г
рафи
калық
редактор
құру
Тақырып
нтернет
блог
жүйесін жүргізетін жүйе құру
СӨЖ ТАҚЫРЫПТАРЫ
Тақырып
күйге келтіру.
Тақырып
Database Desktop
көмегімен к
естелер құру.
Тақырып
SQL
сұраныстар
көмегімен кестелер құру
Тақырып
изуаль
компонент
терге шолу
Деректер базасымен жұмыс істеу
компоненттері.
Тақырып
TTable
омпонент
тері
. TTable
омпонент
тері арқылы кестелер құру.
Тақырып
TQuery
омпонен
тері.
Тақырып
Тақырып
ранзакцияларды басқару.
Тақырып
SQL
тілінің негізі.
Тақырып
Отчеттарды г
енераци
ялау.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
ҰСЫНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
Негізгі әдебиеттер
Орл
ов С.А, Технологии разработки программного обеспечения.
СПб.: Питер, 2002.
Вендров А.М. CASE
технологии. Современные методы и средства проектирования
информационных систем.
М.: Финансы и статистика, 1998.
Калянов Г.Н. CASE структурный системный анализ
(автоматизация и применение).
М.: Издательство «ЛОРИ», 1996.
Чеппел Д. Технологии ActiveX и OLE: Пер. с англ.
М.: Издательский отдел «Русская
редакция» ТОО «Channel Trading Ltd.», 1997.
Липаев В.В. Проектирование программных средств: Учебное пособие дл
я вузов.
М.:
Высшая школа, 1990.
Буч Г. Объектно
ориентирование проектирование с примерами применения: Пер. с
англ.
М.: Конкорд, 1992.
Фаулер М., Скотт К. UML в кратком изложении. Применение стандартного языка
объектного моделирования: Пер. с англ.
: Мир.: 1999.
Благодатских В.А., Енгибарян М.А., Ковалевская Е.В. и др. Экономика, разработка и
использование программного обеспечения ЭВМ. Учебник.
М.: Финансы и статистика, 1995.
Спецвыпуск «Технологии программирования» / КомпьютерПресс. № 9
манова Н.З., Трепалин С.В. Delphi 4: технология СОМ.
OLE, ActiveX,
автоматизация
MIDAS, Microsoft Transaction Server.
.:
Диалог
МИФИ
Дунаев С. INTRANET
технологии. WebDBC.
CGI. CORBA 2.0. Netscape. Suit. Borland.
IntraBuilder. Java. JavaScript Liv
eWire
М.: Диалог
МИФИ, 1997.
Воронцов С.И., Храмов И.А. Microsoft Visual Basic 5.0: ActiveX, DLL, Internet и другие.
М.: СОЛОН, 1998.
Палмер С. VBScript и ActiveX: библиотека программиста.
СПб.: Питер, 1999.
Армстронг Т. ActiveX: создание Web
приложен
ий: Пер. с англ.
М.: BHV, 1998.
Пьюполо Дж. OLE: создание элементов управления: Пер. с англ.
М.: BHV, 1997.
Маклаков С. В. BPwin и ERwin. CASE
средства разработки информационных систем
М.: Диалог
МИФИ, 1999.
Қосымша
Delphi 5: учебный курс, С. Бобро
вский, Питер 2002 г.
Аладьев В.З., Хунт Ю.Я., Шишаков М.Л., Основы информатики. Учебное пособие, М.,
Филин, 1998, 496с.
Информатика. Учебник под ред. Проф. Н.В. Макаровой, Финансы и статистика, 2001,
768с.
Балафанов Е.К., Бурибаев Б., Даулеткулов А.. 30
уроков по информатике, Алматы,
Джагамбек, 1999г, 442с (на русском и казахском языках)
Фигурнов В.З. IBM PC для пользователя, 7 изд., Москва, ИНФРА, 1998, 328с.
Каймин В.А., Питеркин В.М., Уртминцев А.Г. Информатика. Учебное пособие, 1998,
208с.
Кенин А.М.,
Печенкин Н. Окно в мир компьютеров, Екатеринбург, Деловая книга, 1996
При подготовке рекомендуется использовать следующие электронные ресурсы:
www.software
engin.com
Сайт Ian Sommerville, который
содержит как работы этого
автора, так и ссылки на различные полезные ресурсы.
www.sei.cmu.edu
сайт Software Engineering Institute Carnegie Mellon University
Pittsburgh, содержащий огромное количество полез
ных материалов.
www.rspa.com/spi/
сайт Software Engineering Resources, содержащий более 1000 ссылок
на различные полезные ресурсы по технологии программирования.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
РАН»
УНИВЕРСИТЕТ
МЕКЕМЕСІ
Ақпара
ттық технологиялар
кафедрасы

БЕКІТІЛДІ
ОӘК отырысында
ран
университеті мекемесі
нің
әдістемелік жұмысы жөніндегі
проректор
_________ А.А.Арупов

хаттама


2013
«АКПАРАТТЫҚ ТЕХНОЛОГИЯЛАР»
КАФЕДРА
ЖҮЙЕЛЕРДІ
Ң ПРОГРАММАЛАЫҚ ЖАБДЫҚТАРЫН
ҚҰРУ
ПӘНІ БОЙЫНША
ЖҰМЫС БАҒДАРЛАМАСЫ
Мамандық
5В070300
Ақпараттық жүйелер
(бакалавриат)
Мамандық:
5B070300 «
Ақпараттық жүйелер
» (бакалавриат)
Автор (
оқытушы
Ахметжанова Жанар Бисолтановна
магистр, «Т
ран»
университет
інің аға
қытушысы
Оқу нысаны:
Күндізгі/сырттай
Кредит саны
3/3

Курс:
4 күндізгі/5 сырттай

Семестр:
7 күндізгі/9сырттай

Жалпы еңбек жүктемесі
135/135 сағат
Дәріс
, с
30/18
сағат

Тәжірибелік
, семинар
лық
сабақтары
, с
Зертханалық са
, с
ағ.

5/9
сағат


ОӨЖ
, с
/32
сағат

СӨЖ
, с
/76
сағат

Аралық бақылау
,
саны
Қорытынды бақылау түрі
Емтихан
АЛМАТЫ, 2013
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Жүйелердің программалық жабдықтарын құру
» пәнінен ПОӘК
5В070300
«Ақпараттық жүйел
(бакалавр)
мамандығының оқу жоспары және жұмыс бағдарламасы
негізінде құрылған.
ПОӘК «
Ақпараттық жүйелер
» кафедра отырысында қарастырылған
«______» ____________ 201___ жыл. № ______ хаттама
Ақпараттық жүйелер
» кафедрасының меңгерушіс
т.ғ.д., профессор
Түсіпова С.А.
2014 оқу жылына арналған пән бойынша оқу жұмысын үлестірудің кестесі
Оқыту формасы
Күндізгі
(4 о.ж.; 3 о.ж.)
Сыртқы
(2г
Сыртқы
(3,2о
Сыртқы
(5 о
Курс, оқ
у жылы
Семестр
Барлығы, кредит
Жалпы еңбек жүктемесі, сағ.
Дәрістер, сағ.
Тәжірибелік, семинарлық
сабақтары, сағ.
Зертханалық сабақтар
СОӨЖ, сағ.
СӨЖ, сағ.
Аралық бақылау, саны
Қорытынды бақылау түрі
емтихан
емтихан
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
ТҮСIНIКТЕМЕ
ЖАЗБА
«Жүйе
лерд
ің программалық жабдықтарын құру»
пәні бойынша жасалған оқу
әдістемелік кешені
Ақпараттық жүйелер»
мамандығы студенттері үшін бейінді пән болып
табылады. Аталған курста пр
граммалық жүйелерді жобалау, құру және сынақтан өткізу
мәселелері құрастырушының талабының бойынша қарастырылады. Бұл курс студенттердің
алған білімдерін толықтырады және программалық жабдықтарын құрастырудың қазіргі
заманғы технологияларын оқып зерттеуді
қамтамасыз етеді.
Курстың мақсатты аудиториясы
«Ақпаратты технологиялар» мамандығының
студенттері.
Курс, ең алдымен көрcетiлген пәннiң зерттелуі үшiн (күндізгі бөлімде) оқытушының
басшылығымен үйренуге арналған, сонымен бiрге бұл пәнді өзінше (дербес)
үйренуде
қосымша оқу, оқу
әдiстемелiк және тексеру материалы ретінде қолданыла алады.
ЖҰМЫС БАҒДАРЛАМАСЫ БОЙЫНША ЖАЛПЫ ДЕРЕКТЕР
кесте
ОҚЫЛАТЫН ПӘННIҢ СИПАТТАМАСЫ
Жүйе
лерд
ің программалық жабдықтарын құру
пәні
«Ақпараттық жүйелер»
мамандығы студенттері үшін бейімдік пәндер циклының элективті компоненті болып
табылады.
Жүйе
лерд
ің программалық жабдықтарын құру
пәні
оқу барысында студенттер
жүйелерді құрастыру әдістері мен процестерін, жүйелерді құрастыруды
жобалауды басқару
әдістерін және құрастырушылар ұжымын ұйымдастыру тәсілдерін үйреніп біледі.
Программалық жүйелер құру
көп еңбектенуді қажет етеді, ол үшін маманның талдау әдістері
туралы түсініктері болуы керек.
Программалық өнімдерді жобалау, қанд
ай да бір күрделі жүйелердегідей, блоктық
иерархиялық ұстанымды қолдана отырып өзіне сай кезеңдермен орындалады. Әр кезеңнің
өзінің жобалау әрекеттері болады. ЖПЖҚ (
РПОС
қолданушы мен тапсырушының
талатарын қанағаттандыра отырып, программалық жүйелерді
тиімді құру жолында теориялық
білім мен тәжірибені біріктіре отыра қарастыратын пән.
Аталған пәнді оқып үйрену ақпараттық жүйелер бакалаврларын әзірлеу
бағдарламасының кәсіби бөлімінен күтілетін нәтижелерге қажетті деңгейде өз үлесін қосады.
Жүйе
ің программалық жабдықтарын құру
пәнін толық оқып меңгеру студентке еңдек
нарығында бәсекелес мамандық болып шығуына мүмкіндік береді.
Оқу бөлімі
Семестлер саны
Кредиттер саны
Сағаттар саны
Дәрістер
Зертханалық
сабақтар
Семинарлық немесе тәжірб
иел
сабақтар


Бақылау түрі ме
формасы
1


күндізгі
тест
тест
емт
сырттай
тест
тест
емт
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Пәнді оқыту мақсаты.
Жүйе
лерд
ің программалық жабдықтарын құру
курсын
оқудағы
мақсат
программалаудың қазіргі зама
нғы технологиясын оқып зерттеуде
студенттердің теориялық және тәжірибелік дағдыларын қалыптастыру.
Пәнді зерттеудегі мақсаттар:
Пәнді зерттеудегі мақсаттар болып табылады:
Студенттердің программалаық жабдықтардың сенімділігін арттыру және сапасын
баға
лау мәселелері туралы білімдері мен дағдыларын қалыптастыру;
ПЖ (
) процестерін зерттеу
ға жобалау, құрастыру және бағалау сияқты
талаптардын бастап оарды модернизациялауға дейін
Delphi
программалу тілімен танысу.
Аталған п
әнді оқып бітіргенде
студенттің алған, уйренген білім, дағды
және
компетенцияларының
деңгейі
Пәнді оқып
уйрену нәтижесінде студент
білуі тиіс:
Программалық құрылғыларды құрудың қазіргі заманғы технологиялары мен
ереркшеліктерін
ПЖ жобалауды ұйымдастыру және жобалау про
цестерінің әртүрлі кезеңдерінің
мазмұнын білу
Программалық құрылғыларды тестілеу және ретке келтіру әдістерін, программалық
қателердің классификациялық схемасын білу;
енімді п
рограммалық құрылғыларды құрудың құралдары мен әдістерін білу
CASE
жүйелер,
тілдердің 4
буыны, ашық жүйелер стандарттары мен концепциялары
негізінде күрделі программалық жабдықтарды құру принциптері мен әдістерін білу
стей алуы керек

Программалық құрылғыларды берілген стандарттар мен сапа критерийлеріне сәйкес
жобалауды, құруд
ы және ретке келтіруді


Программалық жабдықтардың сапасы мен сенімділігін анықтайтын негізі факторларды
айқындауды


Программалық жабдықтарды сапасы мен сенімділігін арттыру мақсатында тестілеуді

Программалық жабдықтарға құжаттарды рәсімдеуді.
Модульді и
герген кезінде студентте келесі құзырлар дамиды
Бітіруші келесі жалпы мәдениеттік құзырларға ие болуы керек
Жалпы бiлiмдарлық
Күнделікті к
әсiби қызметі саласында және магистратурада білімін жалғастыруға
қажетті жаңа білімдер
алуға дағдылану
Бітіруші келес
і кәсіби құзырларға ие болуы керек (ПК):
ғылыми
зерттеу қызметі
қолданылатын зерттеу әдістеріне қойылатын шектеулерді ескере отырып, өз пәні
саласында формализацияға қабiлеттiлiгi
кәсіби қызметіндегі объектілерді зертеу барысында қолданған тәсілдер мен
аспа
пттық
құралдарды пайдалана білу;
Аналити
калық қызметі
программалық жобаның пәндік саласын формалдауға және программалық өнімнің
компоненттері үшін спецификациялар құрастыруға қабілеттілігі
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Қиындықтар, тәуелділіктер мен шығындар дәрежесінің бастапқы б
ағалауларын
орындай білу және жұмыс кестесін жасай білу
Коммерциялық ұсыныстарды шешiмнiң нұсқалар
ын көрсете отырып дайындай білу
жобалық қызмет
ЭЕМ және жүйелердің архитектурасымен таныс болу;
информатика мен программалау негіздерін программалық өнімдер
ді жобалау,
құрастыру және тестілеу үшін қолдана білу
оқылып шыққан құжаттардың, берілген кодтардың басқы идеяларын белгілеу, оқу және
түсіну дағдыларына ие болу
программалық жабдықтамаларды құрастырудың формалды әдістерін қолдануға, талдау
жасауға және
модельдеуге дағдыл
ану
программалық жабдықтамалардың уақытша және көлемдік күрделілігін бағалай білуге
дағдылану;
программалық инт
ерфейстер құра білуге дағдылану
Технологиялық қызмет
операциялық жүйелерді, желілік технологияларды, программалық интерфейст
ерді
құрастыру құралдарын, формальдық спецификациялау тілдері мен әдістерін, берілгендер
базасын басқару ж
үйесін қолдана білу дағдылары
әртүрлі программалық жабдықтамаларды құрастыру
технологияларын пайдалана білу
өндірістік қызмет
программалық жабдықтам
аларды құрастыру құралдары мен негізгі әдістерін қолдана
білу;
программалық жабдықтамалардың сапасының атрибуттары мен тұжырымдамаларын,
соның ішінде осы сапаны қамтамасыз ететін адамдардың, үдерістердің, тәсілдердің, құралдар
мен технологиялардың рөлін тү
сіне білу
өмір сүру циклының үл
гілері мен стандарттарын түсіну
сервис
тік
эксплуатация
лық қызмет
программалық жабдықтамалардың эволюциясы мен алып жүрудің негізгі үлгіл
ері мен
тұжырымдамаларын түсіну
эволюциялық қызметтің ерекшеліктерін техникалық көзқа
распен бірге бизнес жағынан
да түсіну (мұрагерленген жүйелермен жұмыс, қайтарымды жобалау, реинженир
инг, миграция
және рефакторинг)
Бітіруші келесі арнайы құзырларға ие болуы керек
(СК):
Есептеуіш техника мен программалаудың дамуының негізгі тенденцияла
рын түсіне
білу
программалық жүйелерді жобалау әдістерін білу және олардың өміс сүру циклының
лық кезеңдерін іске асыра білу
теретикалық информатиканың негізгі түсініктері
н, заңдарын және әдістерін білу
программалық алгоритмдерді инженерлік жобалау м
ен алгоритмдерді құрастыру
тәсілдерін білу
Пәннің п
ререквизит
тар
Программ
алау т
ехнология
Жүйелік
анализ
және
дизайн.
Пәннің
остреквизит
тар
Параллельное программ
алау
коммерция
және
коммерциялық мәліметтерді өңдеу
1 бөлім
коммерция
және ком
мерциялық мәліметтерді
өңдеу
Өндірістік
практика; Диплом
дық жоба
; Магистер
лік
программ
алар
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
НЕГІЗГІ БӨЛІМ
ДӘРІС ТАҚЫРЫПТАРЫНЫҢ ЖІКТЕЛІМІ
Тақырып
Жүйелерді құрудың үрдістері мен әдістері
Берілгендерді өңдеу жүйесі. Жүйелік және қолдбалы програм
малық жабдықтар.
Тақырып
Жүйелерді құрудың өмір сүру циклы.
Өмір сүру циклы кезеңдері. Өмір
сүрудің жалпы үлгілері. Каскадтық үлгі. Құрастырудың инкрементальды (үдемелі) үлгісі.
Спиральдық үлгі.
Фазы жизненного цикла
Общие модели жизненного цикла.
Водопадная
(каскадная) модель.
Инкрементальная (инкрементная, поступательная) модель разработки.
Спиральная модель.
Прототип
теу
Құжаттау
Тақырып
Жүйелерді құрудың аспаптық құрылғылары
CASE
құрылғыларды
жіктеу және пайдалану мақсаттары. Өмір сүру цик
лынің әр кезеңіндегі
CASE
құрылғылар.
CASE
құрылғылар
мәселелері.
Тақырып
Жүйені енгізу және тестілеу.
Тестілеу түсінігі. Тестілеу мақсаты.
Программалық жабдықтау жүйесін енгізу. Техникалық басқару және пайдалану туралы
ережелер.
Тақырып
Жүйелерді
басқару және қауіпсіздік.
Жүйені құру ортасы.
Конфигурацияны басқару. Берілгендерді қорғау. Рисктер. Жүйенің қауіпсіздігінің кепілі.
Тақырып
Жүйелерді құрудың даму қырлары.
Сапа стандартары және басқару.
ISO
9000. SEI/CMMI.
Икемді әдістер.
архитек
тура.
Көпқабатты
архитектура. Сервис
тік
ориентир
лік
архитектура.
Жүйелер күрделіліг.
Тақырып
Деректер
базасы
және
берілгендерді басқару.
Берілгендер және
транзакци
ялар
Берілгендер базасы. Берілгендерді сақтау. Берілгендердің келісілмегендіктері
жән
е а
ртықтығы.
Берілгендердің икемдігі, біруақытылы қол жеткізу және қауіпсіздік.
Тақырып
Деректер базасы құрылымы.
Басқарудың файлдық жүйелері мен деректер
басзасын басқару жүйелерінің айырмашылықтары
. Деректер базасы жүйесінің компоненттері.
Дере
ктер базасы жүйесін пайдаланатын қосымшалар. Деректер базасын қолданушының,
құрастырушының, программистің және администратордың рөлі.
Тақырып
Берілгендерді модельдеу.
Берілгендер абстракциясы және ұсыну
деңгейлері. Берілгендер моделдері тобы.
Беріл
гендердің иерархиялық және желілік
модельдер жазбасына негізделген сипаттамалар. Объектілерге негізделген логикалық модель.
Тақырып
Реляци
модель
Модельдердің икемділі
артықшылығы жоқтығы
және масштабтығы. Реляциялық модельдің түйінді терминд
ері. Берілгендер нормалдау
мысалдары.
Тақырып
Сұраныстар тілдері.
Процедуралық және процедуралық емес сұраныс
тілдерінің айырмашылықтары. Реляциялық алгебраның негізгі операциялары. Берілгендерді
анықтау тілдері
(DDL)
және берілгендерді манипуляциялау
тілдері
(DML).
Берілгендерді
анықтау тілдерінің анағұрлым ерекше бұйрықтары.
Тақырып
SQL
сұраныстар
ерілгендерді
манипуляциялау тілдері
SQL (DML).
ерілгендерді
манипуляциялау тілдері
SQL (DML) командалары. Көмекші құралдарды
пайдалану. Транзакция
ларды ұсыну және басқару.
Тақырып
ДБ а
дминистр
леу және қауіпсіздік.
Деректер базасы және
администрлеудің негізгі есептері.
CIA аббревиатур
контекстіндегі қауіпсіздік мәселелері.
Қауіпсіздік саясаты мысалдары. Қателіктерге сәйкес қалпына келтіру
схемалары
Тақырып
Тест
ілеу
ілеу деңгейлері
Негізгі түсініктер
Әртүрлі тестерді
орындау және мақсаттары. Тестілеу әдістемелігі. Тестілеуді автоматтандыру құралдары.
Тақырып
Құжаттау және басқару
(администр
леу
).
ұжаттар типтері. Жақсы
құрылы
мдалған және құжатталған кодтардың маңыздылығы. Құжаттарды өзгерту.
Программалауды администрлеуді қысқарту құралдары.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
ТӘЖІРИБЕЛІК (СЕМИНАРЛЫҚ) САБАҚТАРДЫҢ ТАҚЫРЫБЫ
Тақырып
Delphi
қарапайым
қосымшасын құру
Тақырып 2.
Delphi
ерекше жағдайларды өңде
Қолданушының енгізуін қабылдау.
Тақырып
3. Меню құру және өңдеу
Тақырып
Кластар және и модульдер
Тақырып
Тышқан көмегімен енгізу. Формада сурет салу.
Тақырып
Delphi
ортасында файлдарды өңдеу.
Тақырып
Delphi
де деректер базасы.
Data
base
Desktop
утилитасымен танысу
Тақырып
Деректер базасына қол жеткізу мен басқарудың негізгі компоненттері.
Тақырып
Деректер базасында сұрыптау

Тақырып
Деректер базасында сүзгілеу

Тақырып
Байланыс орнату

Тақырып
Есеп құру.
СОӨЖ ТАҚ
ЫРЫПТАРЫ
Тақырып
идеопрокат жұмысын автоматтандыру
Тақырып
2. ГИБДД
жұмысын автоматтандыру.
Тақырып
3. Библиотек
жұмысын автоматтандыру.
Тақырып
4. Аэропорт
жұмысын автоматтандыру.
Тақырып
5. Магазин
жұмысын автоматтандыру.
Тақырып
6. Поликлиник
мысын автоматтандыру.
Тақырып
нтивирус
тік программалық жүйе құру
Тақырып
втомобил
дерді техникалық қамтамасыз ету орталығы
жұмысын
автоматтандыру.
Тақырып
9. Файл
дық жүйе
жұмысын автоматтандыру.
Тақырып
Графикалық примитивтерден күрдеоі схемала
р тұрғызатын г
рафи
калық
редактор
құру
Тақырып
нтернет
блог
жүйесін жүргізетін жүйе құру
СӨЖ ТАҚЫРЫПТАРЫ
Тақырып
күйге келтіру.
Тақырып
2. Database Desktop
көмегімен кестелер құру.
Тақырып
3. SQL
сұраныстар
көмегімен кестелер құру
Тақырып
изуаль
компонент
терге шолу
Деректер базасымен жұмыс істеу
компоненттері.
Тақырып
5. TTable компонент
тері
. TTable компонент
тері арқылы кестелер құру.
Тақырып
6. TQuery компонент
тері.
Тақырып
7. DataSet редактор
есептелетін өрістер,
Тақырып
8. TDa
tabase
омпонент
ттері.
Тақырып
ранзакцияларды басқару.
Тақырып
10. SQL
тілінің негізі.
Тақырып
Отчеттарды г
енераци
ялау.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
ҰСЫНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
Негізгі әдебиеттер
Орлов С.А, Технологии разработки программного обеспечения.
СПб.: Пит
ер, 2002.
Вендров А.М. CASE
технологии. Современные методы и средства проектирования
информационных систем.
М.: Финансы и статистика, 1998.
Калянов Г.Н. CASE структурный системный анализ (автоматизация и применение).
М.: Издательство «ЛОРИ», 1996.
Чепп
ел Д. Технологии ActiveX и OLE: Пер. с англ.
М.: Издательский отдел «Русская
редакция» ТОО «Channel Trading Ltd.», 1997.
Липаев В.В. Проектирование программных средств: Учебное пособие для вузов.
М.:
Высшая школа, 1990.
Буч Г. Объектно
ориентирование п
роектирование с примерами применения: Пер. с
англ.
М.: Конкорд, 1992.
Фаулер М., Скотт К. UML в кратком изложении. Применение стандартного языка
объектного моделирования: Пер. с англ.
М: Мир.: 1999.
Благодатских В.А., Енгибарян М.А., Ковалевская Е.В. и
др. Экономика, разработка и
использование программного обеспечения ЭВМ. Учебник.
М.: Финансы и статистика, 1995.
Спецвыпуск «Технологии программирования» / КомпьютерПресс. № 9
Елманова Н.З., Трепалин С.В. Delphi 4: технология СОМ.
OLE, ActiveX,
автоматизация
MIDAS, Microsoft Transaction Server.
.:
Диалог
МИФИ
Дунаев С. INTRANET
технологии. WebDBC.
CGI. CORBA 2.0. Netscape. Suit. Borland.
IntraBuilder. Java. JavaScript LiveWire
М.: Диалог
МИФИ, 1997.
Воронцов С.И., Храмов И.А. Microsoft
Visual Basic 5.0: ActiveX, DLL, Internet и другие.
М.: СОЛОН, 1998.
Палмер С. VBScript и ActiveX: библиотека программиста.
СПб.: Питер, 1999.
Армстронг Т. ActiveX: создание Web
приложений: Пер. с англ.
М.: BHV, 1998.
Пьюполо Дж. OLE: создание элемент
ов управления: Пер. с англ.
М.: BHV, 1997.
Маклаков С. В. BPwin и ERwin. CASE
средства разработки информационных систем
М.: Диалог
МИФИ, 1999.
Қосымша
Delphi 5: учебный курс, С. Бобровский, Питер 2002 г.
Аладьев В.З., Хунт Ю.Я., Шишаков М.Л., Основы
информатики. Учебное пособие, М.,
Филин, 1998, 496с.
Информатика. Учебник под ред. Проф. Н.В. Макаровой, Финансы и статистика, 2001,
768с.
Балафанов Е.К., Бурибаев Б., Даулеткулов А.. 30 уроков по информатике, Алматы,
Джагамбек, 1999г, 442с (на русском и
казахском языках)
Фигурнов В.З. IBM PC для пользователя, 7 изд., Москва, ИНФРА, 1998, 328с.
Каймин В.А., Питеркин В.М., Уртминцев А.Г. Информатика. Учебное пособие, 1998,
208с.
Кенин А.М., Печенкин Н. Окно в мир компьютеров, Екатеринбург, Деловая книга, 1
При подготовке рекомендуется использовать следующие электронные ресурсы:
www.software
engin.com
Сайт Ian Sommerville, который содержит как работы этого
автора, так и ссылки на различные полезны
е ресурсы.
www.sei.cmu.edu
сайт Software Engineering Institute Carnegie Mellon University
Pittsburgh, содержащий огромное количество полезных материалов.
www.rspa.com/spi/
сайт Software Engineering Resources, содержащий более 1000 ссылок
на различные полезные ресурсы по технологии программирования.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
ТАҚЫРЫПТАР ЖӘНЕ ОЛАРДЫ ОҚЫТУ МЕРЗІМІ
күндізгі бөлім үшін
кесте
%jk�
kZ[ZlZjugu�
lZujuilZju
Апт
семи
нар
зертх
анал
H&
@


Жүйелерді құрудың үрдістері мен
әдістері
Берілгендерді өңдеу жүйесі. Жүйелік
және қолдбалы программалық
жабдықтар.
2
1

1
5
Жүйелерді құрудың өмір сүру
циклы.
Өмір сүру циклы кезеңдері.
Өмір сүрудің жалпы үлгілер
і.
Каскадтық үлгі. Құрастырудың
инкрементальды (үдемелі) үлгісі.
Спиральдық үлгі.
Фазы жизненного
цикла
Общие модели жизненного
цикла.
Водопадная (каскадная)
модель.
Инкрементальная
(инкрементная, поступательная)
модель разработки.
Спиральная
модель.
hlhlbi
l_m
`ZllZm
2
1

Жүйелерді құрудың аспаптық
құрылғылары
CASE
құрылғыларды жіктеу және
пайдалану мақсаттары. Өмір сүру
циклынің әр кезеңіндегі
CASE
құрылғылар.
CASE
құрылғылар
мәселелері.
Жүйені енгізу және тестілеу.
Тесті
леу түсінігі. Тестілеу мақсаты.
Программалық жабдықтау жүйесін
енгізу. Техникалық басқару және
пайдалану туралы ережелер.
2
1

Жүйелерді басқару және
қауіпсіздік.
Жүйені құру ортасы.
Конфигурацияны басқару.
Берілгендерді қорғау. Рисктер.
Жүйенің
қауіпсіздігінің кепілі.
2
1

Жүйелерді құрудың даму
қырлары.
Сапа стандартары және
басқару.
ISO 9000. SEI/CMMI.
Bd_f^�%^kl_j��
архитектура.
Көпқабатты
архитектура. Сервис
тік
ориентир
лік
архитектура.
Жүйелер
күрделіліг.
2
1

Деректер б
азасы және
берілгендерді басқару.
Берілгендер
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
және
транзакци
ялар
Берілгендер
базасы. Берілгендерді сақтау.
Берілгендердің келісілмегендіктері
және а
ртықтығы.
Берілгендердің
икемдігі, біруақытылы қол жеткізу
және қауіпсіздік.
Деректер
базасы құрылымы.
Басқарудың файлдық жүйелері мен
деректер басзасын басқару
жүйелерінің айырмашылықтары
Деректер базасы жүйесінің
компоненттері.
Деректер базасы
жүйесін пайдаланатын қосымшалар.
Деректер базасын қолданушының,
құрастырушының, программистің
және администратордың рөлі.
Берілгендерді модельдеу.
Берілгендер абстракциясы және
ұсыну деңгейлері. Берілгендер
моделдері тобы.
Берілгендердің
иерархиялық және желілік модельдер
жазбасына негізделген сипаттамалар.
Объектілерге негіздел
ген логикалық
модель.
2
1

Реляци
ялық
модель
Модельдердің икемділі
артықшылығы жоқтығы және
масштабтығы. Реляциялық
модельдің түйінді терминдері.
Берілгендер нормалдау мысалдары.
Тақырып
Сұраныстар
Сұраныстар тілдері.
Про
цедуралық
және процедуралық емес сұраныс
тілдерінің айырмашылықтары.
Реляциялық алгебраның негізгі
операциялары. Берілгендерді
анықтау тілдері
(DDL)
және
берілгендерді манипуляциялау
тілдері
(DML).
Берілгендерді
анықтау тілдерінің анағұрлым
ерекше бұйрықта
ры.
2
1

SQL
сұраныстар
ерілгендерді
манипуляциялау тілдері
SQL (DML).
ерілгендерді
манипуляциялау
тілдері
SQL (DML) командалары.
Көмекші құралдарды пайдалану.
Транзакцияларды ұсыну және
басқару.
ДБ а
дминистр
леу және қауіпсі
здік.
Деректер базасы және
администрлеудің негізгі есептері.
2
1

Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
CIA аббревиатур
контекстіндегі
қауіпсіздік мәселелері. Қауіпсіздік
саясаты мысалдары. Қателіктерге
сәйкес қалпына келтіру схемалары
Тест
ілеу
ілеу деңгейлері
Негізгі түсін
іктер
Әртүрлі тестерді
орындау және мақсаттары. Тестілеу
әдістемелігі.
Тестілеуді
автоматтандыру құралдары.
Құжаттау және басқару
(администр
леу
ұжаттар типтері.
Жақсы құрылымдалған және
құжатталған
кодтардың
маңыздылығы. Құжаттарды өзгер
ту.
Программалауды администрлеуді
қысқарту құралдары.
ВСЕГО:
ТАҚЫРЫПТАР ЖӘНЕ ОЛАРДЫ ОҚЫТУ МЕРЗІМІ
сыртқы
бөлім үшін
кесте
%jk�
kZ[ZlZjugu�
lZujuilZju
дәрі
семи
нар
зертх
анал
H&
@


Жүйелерді құрудың үрдісте
рі мен
әдістері
Берілгендерді өңдеу жүйесі. Жүйелік
және қолдбалы программалық
жабдықтар.


2
5
Жүйелерді құрудың өмір сүру
циклы.
Өмір сүру циклы кезеңдері.
Өмір сүрудің жалпы үлгілері.
Каскадтық үлгі. Құрастырудың
инкрементальды (үдемелі) үлгісі.
Спиральдық үлгі.
Прототип
теу
Құжаттау
Жүйелерді құрудың аспаптық
құрылғылары
CASE
құрылғыларды жіктеу және
пайдалану мақсаттары. Өмір сүру
циклынің әр кезеңіндегі
CASE
құрылғылар.
CASE
құрылғылар
мәселелері.
Жүйені енгізу жә
не тестілеу.
Тестілеу түсінігі. Тестілеу мақсаты.
Программалық жабдықтау жүйесін


Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
енгізу. Техникалық басқару және
пайдалану туралы ережелер.
Жүйелерді басқару және
қауіпсіздік.
Жүйені құру ортасы.
Конфигурацияны басқару.
Берілгендерді қорғау. Ри
сктер.
Жүйенің қауіпсіздігінің кепілі.


Жүйелерді құрудың даму
қырлары.
Сапа стандартары және
басқару.
ISO 9000. SEI/CMMI.
Bd_f^�%^kl_j��
архитектура.
Көпқабатты
архитектура. Сервис
тік
ориентир
лік
архитектура.
Жүйелер
күрделіліг.
1

Деректер базасы және
берілгендерді басқару.
Берілгендер
және
транзакци
ялар
Берілгендер
базасы. Берілгендерді сақтау.
Берілгендердің келісілмегендіктері
және а
ртықтығы.
Берілгендердің
икемдігі, біруақытылы қол жеткізу
және қауіпсіздік.
1

еректер базасы құрылымы.
Басқарудың файлдық жүйелері мен
деректер басзасын басқару
жүйелерінің айырмашылықтары
Деректер базасы жүйесінің
компоненттері.
Деректер базасы
жүйесін пайдаланатын қосымшалар.
Деректер базасын қолданушының,
құрастырушының, прогр
аммистің
және администратордың рөлі.
1

Берілгендерді модельдеу.
Берілгендер абстракциясы және
ұсыну деңгейлері. Берілгендер
моделдері тобы.
Берілгендердің
иерархиялық және желілік модельдер
жазбасына негізделген сипаттамалар.
Объектілерге не
гізделген логикалық
модель.
1

Реляци
ялық
модель
Модельдердің икемділі
артықшылығы жоқтығы және
масштабтығы. Реляциялық
модельдің түйінді терминдері.
Берілгендер нормалдау мысалдары.
1

Сұраныстар тілдері.
Процедуралық
және проце
дуралық емес сұраныс
тілдерінің айырмашылықтары.
Реляциялық алгебраның негізгі
0,5

Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
операциялары. Берілгендерді
анықтау тілдері
(DDL)
және
берілгендерді манипуляциялау
тілдері
(DML).
Берілгендерді
анықтау тілдерінің анағұрлым
ерекше бұйрықтары.
сұраныстар
ерілгендерді
манипуляциялау тілдері
SQL (DML).
ерілгендерді
манипуляциялау
тілдері
SQL (DML) командалары.
Көмекші құралдарды пайдалану.
Транзакцияларды ұсыну және
басқару.
ДБ а
дминистр
леу және қауіпсіздік.
Деректер база
сы және
администрлеудің негізгі есептері.
CIA аббревиатур
контекстіндегі
қауіпсіздік мәселелері. Қауіпсіздік
саясаты мысалдары. Қателіктерге
сәйкес қалпына келтіру схемалары
1

Тест
ілеу
ілеу деңгейлері
Негізгі түсініктер
Әртүрлі тестерд
орындау және мақсаттары. Тестілеу
әдістемелігі.
Тестілеуді
автоматтандыру құралдары.
Құжаттау және басқару
(администр
леу
ұжаттар типтері.
Жақсы құрылымдалған және
құжатталған
кодтардың
маңыздылығы. Құжаттарды өзгерту.
Программалауды админи
стрлеуді
қысқарту құралдары.
Барлығы
ӨЗІНДІК ЖҰМЫС ТАПСЫРМАСЫ
Өзіндік жұмыс үшін студенттер эссе, рефераттар, презентациялар, блок
схемалар, жазба
конспектілер, мәселе бойынша докладтар, жағдайдың мәселесін талдауды қарастырады.
СОӨЖ АТАУЛАРЫ ЖӘНЕ БЕРІЛУ ГРАФИГІ
күндізгі
бөлім үшін
п/п
Тақырыптары
Апта
Жұмыс түрі
Еңбексы
Берілу
формасы
Берілу
мерзімі
идеопрокат жұмысын
автоматтандыру
орындау
Жазбаша
апта
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
ГИБДД
жұмысын
автоматтандыру.
рындау
Жазбаша
апта
Библиотек
жұмысын
автоматтандыру.
орындау
Жазбаша
апта
Аэропорт
жұмысын
автоматтандыру.
2
орындау
Жазбаша
апта
Магазин
жұмысын
автоматтандыру.
орындау
Жазбаша
апта
Поликлиник
жұмысын
автоматтандыру.
орындау
Жазбаша
апта
нтивирус
тік
программалық жүйе құру
орындау
Жазбаша
апта
втомобил
дерді
техникалық қамтамасыз ету
орталығы
жұмысын
автоматтандыру.
орындау
Жазбаша
апта
Файл
дық жүйе
жұмысын
автоматтандыру.
4
орындау
Жазбаша
апта
Графикалық
примитивтерден күрдеоі
схемалар тұрғызатын
рафи
калық
j_^Zdlhj
jm
орындау
Жазбаша
апта
нтернет
блог
жүйесін
жүргізетін жүйе қ
ұру
орындау
Жазбаша
апта
БАРЛЫҒЫ
Әдістемелік нұсқауды қара
СОӨЖ АТАУЛАРЫ ЖӘНЕ БЕРІЛУ ГРАФИГІ
сыртқы
бөлім үшін
п/п
Тақырыптары
Жұмыс түрі
Еңбексы
;_jem�
nhjfZku
Берілу
мерзімі
идеопрокат жұмысын
автоматтандыру
hjug^Zm
Жазбаша
апта
ГИБДД
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Библиотек
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Аэропорт
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
газин
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Поликлиник
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
нтивирус
тік
программалық жүйе құру
орындау
Жазбаша
апта
втомобил
дерді
техникалық қамтамас
ыз ету
орталығы
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Файл
дық жүйе
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Графикалық
примитивтерден күрдеоі
схемалар тұрғызатын
рафи
калық
j_^Zdlhj
jm
hjug^Zm
Жазбаша
апта
нтернет
блог
жүйесін
жүргізетін жүйе құру
hjug^Zm
Жазбаша
апта
БАРЛЫҒЫ
Әдістемелік нұсқауды қара
СӨЖ БЕРІЛУ
ГІ ЖӘНЕ КОНСУЛЬТАЦИЯ УАҚЫТЫ.
Студенттің өздік жұмысы оқу кестесінен тыс өткізіледі ж
әне дәріс материалын бекіту
және кеңес берілген әдебиетпен танысу үшін арналған. Әр кредиттен берілген тақырыптардан
біреуі таңдалады және жоба дайындалады.
Студентке әр өздік жұмыстың орындалуына 4 апта
беріледі. Семестрдің әр 5 аптасында СӨЖ
ден бақылау
өткізіледі. Студенттер өзінің
орындаған жұмыстарын қорғайды. Бақылау түрі
жобаны қорғау.
СӨЖ
ӨТКІЗУ ГРАФИГІ
күндізгі
бөлімге
п/п
Тақырыптары
Апта
Жұмыс түрі
Еңбексы
Берілу
формасы
Берілу
мерзімі
күйге келтіру
Реферат
Баяндама
апт
Database Desktop
көмегімен кестелер құру.
Реферат
Баяндама
апта
匀兌
сұраныстар
көмегімен кестелер құру
Реферат
Баяндама
апта
изуаль
компонент
терге шолу
Деректер базасымен
жұмыс
істеу
компоненттері.
Реферат
Баяндама
апта
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
TTable компонент
тері
TTable компонент
тері
арқылы кестелер құру.
Реферат
Баяндама
апта
TQuery компонент
тері.
Реферат
Баяндама
апта
DataSet редактор
есептелетін өрістер
Реферат
Баяндама
апта
吀䐀慴慢慳攠
омпонент
ттері.
Реферат
Баяндама
апта
Транзакцияларды
басқару.
Реферат
Баяндама
апта
匀兌
тілінің негізі.
Реферат
Баяндама
апта
Отчеттарды
енераци
ялау.
Реферат
Баяндама
апта
БАРЛЫҒЫ
Әдістемелік нұсқаны қара
СӨЖ
ӨТКІЗУ ГРАФИГІ
сыртқы бөлі
мге
п/п
Тақырыптары
Жұмыс түрі
Еңбексы
Берілу
формасы
Берілу
мерзімі
күйге келтіру
Реферат
Баяндама
апта
Database Desktop
көмегімен кестелер құру.
Реферат
Баяндама
апта
匀兌
сұраныстар
көмегімен кестелер құру
Реферат
Баянда
апта
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
изуаль
компонент
терге шолу
Деректер базасымен
жұмыс
істеу
компоненттері.
J_n_jZl
Баяндама
апта
TTable компонент
тері
TTable компонент
тері
арқылы кестелер құру.
Реферат
Баяндама
апта
TQuery компонент
тері.
Реферат
Баяндама
апта
DataSet редактор
есептелетін өрістер
Реферат
Баяндама
апта
吀䐀慴慢慳攠
омпонент
ттері.
Реферат
Баяндама
апта
Транзакцияларды
басқару.
Реферат
Баяндама
апта
匀兌
тілінің негізі.
Реферат
Баяндама
апта
Отчеттарды
ене
раци
ялау.
Реферат
Баяндама
апта
БАРЛЫҒЫ
Әдістемелік нұсқауды қара
Кеңес уақыты
Группа
3_ИС_
каз
.отд.
Время
Аудитория
День недели
Жұма
БАҚЫЛАУҒА АРНАЛҒАН СҰРАҚТАР

Кесте
п/п
Семестр
жұмыс
бағдарламас
ы бойынша
оқу циклі
;ZueZm�lje_j
;ZueZm�'ldam]_�ZjgZeZg�kjZlZj�laf
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
тақырыптар
бойынша сұрақтар.
тақырыптар
бойынша сұрақтар.
тақырыптар
бойынша сұрақтар.
Берілгендерді
өңдеу жүйес
і.
Жүйелік және
қолдбалы
программалық
жабдықтар.
Өмір
сүру циклы
кезеңдері. Өмір
сүрудің жалпы
үлгілері. Каскадтық
үлгі. Құрастырудың
инкрементальды
(үдемелі) үлгісі.
Спиральдық үлгі.
Фазы жизненного
цикла
Общие
модели жизненного
цикла.
Водопадная
(кас
кадная) модель.
Инкрементальная
(инкрементная,
поступательная)
модель разработки.
Спиральная
модель.
Прототип
теу
Құжаттау
CASE
құрылғыларды
жіктеу және
пайдалану
мақсаттары. Өмір
сүру циклынің әр
кезеңіндегі
CASE
құрылғылар.
CASE
құрылғылар
мәселелері.
Тестілеу түсінігі.
Тестілеу мақсаты.
Программалық
жабдықтау жүйесін
енгізу. Техникалық
басқару және
пайдалану туралы
ережелер. Жүйені
құру ортасы.
Конфигурацияны
басқару.
Берілгендерді
қорғау. Рисктер.
Берілгендер
абстракциясы және
ұсыну деңгейлері.
Берілгендер
моделдері тобы.
;_je]_g^_j^�
b_jZjobyeu�`%g_�
`_eed�fh^_ev^_j�
`Za[ZkugZ�
g_]a^_e]_g�
kbiZllZfZeZj
Объектілерге
негізделген
логикалық модель.
Модельдердің
икемділі
артықшылығы
жоқтығы және
масштабтығы.
Реляциялық
модельдің түйінді
терминдері.
Берілгендер
нормалдау
мысалдары.
Процедуралық және
процедуралық емес
сұраныс тілдерінің
айырмашылықтары.
еляциялық
алгебраның негізгі
операциялары.
Берілгендерді
анықтау тілдері
(DDL)
және
берілгендерді
манипуляциялау
тілдері
(DML).
Берілгендерді
анықтау тілдерінің
анағұрлым ерекше
бұйрықтары.
ерілгендерді
манипуляциялау
тілдері
SQL (DML).
ерілгендерді
ман
ипуляциялау
тілдері
SQL (DML)
командалары.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Жүйенің
қауіпсіздігінің
кепілі. Сапа
стандартары жән
басқару.
ISO 9000.
SEI/CMMI.
Икемді
әдістер.
архитектура.
Көпқабатты
архитектура.
Сервис
тік
ориентир
лік
архитектура.
Жүйелер
күрделілігі.
Берілгендер және
транзакци
ялар
Берілгендер базасы.
Берілгендерді
сақтау.
Берілгендердің
келісілмегендіктері
және
ртықтығы.
Берілгендердің
икемдігі,
біруақытылы қол
жеткізу және
қауіпсіздік.
Басқарудың
файлдық жүйелері
мен деректер
басзасын басқару
жүйелерінің
айырмашылықтары
Деректер базасы
жүйесінің
компоненттері.
Деректер базасы
жүйесін
пайдаланатын
қосымшал
ар.
Деректер базасын
қолданушының,
құрастырушының,
программистің
және
администратордың
рөлі
Көмекші құралдарды
пайдалану.
Транзакцияларды
ұсыну және басқару.
Деректер базасы
және
администрлеудің
негізгі есептері.
CIA
аббревиатур
контекстіндегі
қауіпсіздік
мәселелері.
Қауіпсіздік саясаты
мысалдары.
ателіктерге сәйкес
қалпына келтіру
схемалары.
ілеу
деңгейлері
Негізгі
түсініктер
Әртүрлі
тестерді орындау
және мақсаттары.
Тестілеу
әдістемелігі.
Тестілеуді
автоматтандыру
құралдары.
ұжаттар типтері.
Жақсы
құрылымдалған
және құжатталған
кодтардың
ңыздылығы.
Құжаттарды өзгерту.
Программалауды
администрлеуді
қысқарту құралдары.
Аралық бақылау жазбаша түрде өтіледі. Студентке сұрақтарға жауап беру керек.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
аралық бақылауға СОӨЖ тапысрмасын орындаған студент жіберіледі.
аралық
бақылауға СОӨЖ
, СӨЖ тапсырмаларын орындаған студенттер жіберіледі.
Тәжірибелік, тренингтік тапсырмалар, өзіндік тапсырмалар, аралық бақылау және
емтихан курстың формалары болып табылады. Емтихан тест түрінде өтіледі.
Студенттердің білімін бағалау туралы ақпараттар
удент курс кезеңінде екі аралық бақылауды және өзіндік жұмысты тапсыру керек.
Сонымен қатар курсқа толық қатысып, оқытушы берген бақылау есеп сұрақтарын
уақытысында орындауға міндетті.
Аралық бақылау
Аралық бақылау келесі формуламен бағаланып, есептеледі:
+ 0,5*
Мұнда,
СӨЖ сабағының орташа балы (от 0 до 100);
жіберілген сағаттар саны
аралық бақылауда алған балы (от 0 до 100).
Аралық бақылау өткен дәрістер мен өзіндік жұмыс, бақылау сұрақтарын қамтиды.
БІЛІМГЕРДІҢ
БІЛІМІН БАҒАЛАУ
КРИТЕРИ
жалпыланған
100 балды
(A) оқу бағдарламалық материалы терең, жүйелі және жан
жақты қамтыған,
бағдарламалық тапсырмада барлық қарастырылғандарды дербес орындаған, бағдарламада
ұсынылған негізгі және қосымша әдебиетті терең иге
рген, тәжірибелік сабақтарда белсенді
жұмыс жасаған, оқылатын пән бойынша негізгі ғылыми тұжырымдаманы алдай алатын, оқу
бағдарламалық материалды түсіну және түсіндіруде ғылыми ыңғай және шығармашылық
қабілетін танытқан, жауабы пайдаланылған терминдердің н
ақтылығы және жауабының
байлығымен ерекшеленетін, материалы логикалық және сатылы түрде түсіндіретін білімгер ие
болады.
94 балды
) оқу бағдарламалық материалы терең, жүйелі және жан
жақты қамтыған,
бағдарламалық тапсырмада барлық қарастырылғандард
ы дербес орындаған, бағдарламада
ұсынылған негізгі және қосымша әдебиетті терең игерген, тәжірибелік сабақтарда белсенді
жұмыс жасаған, пән бойынша білімінің жүйелі түрде сипаттайтын, сонымен қатар оқуын
жалғастыру үшін қабілетінің жеткіліктілігі, жауабы п
айдаланылған терминдердің нақтылығы
және жауабының байлығымен ерекшеленетін, материалы логикалық және сатылы түрде
түсіндіретін білімгер ие болады.
89 балды
(B+) оқыту
бағдарламалық материалдарды толық білетін, жауабында аса
нақтылықты танытпайтын, бағ
дарламалық тапсырмада барлық қарастырылғандарды дербес
орындаған, бағдарламада ұсынылған негізгі әдебиетті игерген, тәжірибелік сабақтарда
белсенді жұмыс жасаған, пән бойынша білімінің жүйелі түрде сипаттайтын, сонымен қатар
олардың дербес түрде толықтыр
уына қабілетті білімгер ие болады.
84 балды
(B) оқыту
бағдарламалық материалдарды жеткілікті толық білетін, жауабында
аса нақтылықты танытпайтын, бағдарламалық тапсырмада барлық қарастырылғандарды
дербес орындаған, бағдарламада ұсынылған негізгі әдебие
тті игерген, тәжірибелік сабақтарда
белсенді жұмыс жасаған, пән бойынша білімінің жүйелі түрде сипаттайтын, сонымен қатар
олардың дербес түрде толықтыруына қабілетті білімгер ие болады.
79 балды
) оқыту
бағдарламалық материалдарды жеткілікті толық
білетін, жауабында
аса нақтылықты танытпайтын, бағдарламалық тапсырмада барлық қарастырылғандарды
дербес орындаған, бағдарламада ұсынылған негізгі әдебиетті игерген, тәжірибелік сабақтарда
жұмысымен ерекшеленетін, пән бойынша білімінің жүйелі түрде сипа
ттайтын білімгер ие
болады.
(C) мамандығы бойынша алдағы жұмысы және ары қарайғы оқуға қажетті негізгі оқыту
бағдарламалық материалдар көлемінін білетін, тәжірибелік сабақтарда жұмысымен
белсенділік танытпайтын, бағдарламалық тапсырмалардың негізгіл
ерін дербес түрде
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
қарастырған, бағдарламада ұсынылған негізгі әдебиетті игерген, сондай ақ осыларды
орындау барысында жіберілген қателіктері және емтихандағы жауаптарында жіберілген
кейбір қателіктері бар, бірақта оларды жою үшін қажетті білімі бар білі
мгер ие болады.
64 балды
) негізгі оқыту
бағдарламалық материалдарды білетін, тәжірибелік сабақтарда
жұмысымен белсенділік танытпайтын, бағдарламалық тапсырмалардың негізгілерін дербес
түрде қарастырған, бағдарламада ұсынылған негізгі әдебиетті иг
ерген, сондай ақ осыларды
орындау барысында жіберілген қателіктері және емтихандағы жауаптарында жіберілген
кейбір қателіктері бар, бірақта оларды жою үшін оқытушының жетекшілігі қажет ететін
білімгер ие болады.
59 балды
(D) негізгі оқыту
бағдарламалық
материалдарды білетін, тәжірибелік сабақтарда
жұмысымен белсенділік танытпайтын, бағдарламалық тапсырмалардың негізгілерін дербес
түрде қарастырған, бағдарламада ұсынылған негізгі әдебиетті игерген, сондай ақ осыларды
орындау барысында жіберілген қателі
ктері және емтихандағы жауаптарында жіберілген тым
аса қателіктері бар, бірақта оларды жою үшін оқытушының жетекшілігі аса қажет ететін
білімгер ие болады.
49 балла
(F) негізгі оқыту
бағдарламалық материалдардың едәуір бөлігі бойынша білімінің
жоқтығы
немесе біліміндегі табылған ағаттық табылған, бағдарламалық тапсырмалардың
негізгілерін дербес орындамайтын, бағдарламалық тапсырмаларды орындау барысында
қағидалық қателіктерді жіберген, негізгі тәжірибелік, семинарлық, лабораториялық
сабақтарды орындамағ
ан және оқуын жалғастыра алайтын немесе сәйкес ән бойынша
қосымша сабақтарсыз кәсіби қызметіне кірісуіне боатын білімгерге қойылады.
ВСК бойынша қорытындыны анықтау
Оқыту пәні бойынша ВСК бойынша қорытынды бағалау келесі бақылау түрлерін енгі
зуі
тиіс:
Бақылау түрі
Баллдары
Қатысуы
1/3 балл
Аудиториядағы жұмысы (дәріс және семинардағы
белсенділігі):
тақырып бойынша шолу
қысқаша эссе
глоссарийдің жазылуы (қазақ немесе орыс тілдерінде
және олардың ағ
ылшын тілдеріндегі аудармасымен)
кез келген тақырыптың презентациясы
іскери ойындарға қатысу (
Business
Game
нақты оқыту жағдайын шешу
Case
Study
жеке жобаны қорғау
және т.б.
24/54 балл
СӨЖ орындау:
үй жұмыстары
тесттер
аралық
тапсырмалар
10/13 балл

Рубеждік бақылау
балл
Оқытушы оқыту пәнін бұзғаны үшін семестр
ағымында
максимум
0 балға дейін төмендетуге
құқылы, яғни
балағат;
оқытушы және басқа да білімгерлерді жәбірлеу;
оқу үрдісіне қасысты оқытушының
талаптарын
ашық түрде елемеу
сабақ уақытында мобильдік телефон арқылы сөйлесу
аудитория тазалығы бойынша ОӘБ белгілеген
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
талаптарын орындамау.
ВСК бойынша максималды балы
Қорытынды емтиханға өтуінің минималды балы
100 балл
балл
Ескерту: сабаққа қатысуды бағалаудың критерииі
тең, сонда апта бойына сабаққа
қатысуының бағалау балы
құрайды.
Қорытынды баға
Қорытынды бағада студенттің екі аралық бақылауда алған балдар ескеріліп қорытынды
баға шығады. Екі аралық бақы
лаудың балдары 0,6 коэффициентіне көбейтіледі, ал емтиханда
алған бал 0,4 көбейтіледі.
Қорытынды баға келесі формуламен есептеледі:
= 0.6*[(
)/2] + 0.4*
Мұнда,
1 аралық бақылау бағасы;
аралық бақылау бағасы;
емтиханда алған баға
100).
Қорытынды бақылау барысында студенттердің білімін бағалаудың кестесі төменде берілген:
Баға
Сандық б
эквивалент
Пайыздық мазмұны
Дәстүрлі түрде бағалау
Өте жақсы
Жақсы
Қанағаттанарлық
Қанағаттанарлықсыз
Курсты түсінудің негізгі талаптары
курс келесілерді кіргізеді: дәрістік сабақтарды, семинарлық сабақтарды,
оқытушылармен
бірге студенттердің өзіндік жұмыстарын (ОБСӨЖ); студенттердің өзіндік
жұмыстарын (СӨЖ) жазу;
аудиториялық сабақтарға қатысу
міндетті турде;
сабақтарға кешігіп келуге болмайды
екі кешігу бір келмегендікке теңестіріледі.
Кешігушілерді сабаққа қатыстырудың
құқығын оқытушы өзі шешеді, өйткені олар, басқа
студентерді және оқытушының назарын бөліп, оқу үрдісіне бөгет жасайды;
семинарлық сабақтар, оқытудың әр турлі активті әдістерін қолданумен ауысша
нысанында жүргізіледі;
өзіндік түрде орындау үшін оқытылып
жатқан тақырыптар бойынша оқытушы
тәжірбелік тапсырмаларды береді, оларды міндетті түрде жасау керек;
әр студент семестр арасында берілген тақырып бойынша (рефераттардың тақырыптары
қосылған) бір рефератты дайындауы және топта баяндама жасауы қажет;
тап
сырмаларды студенттер күрделі турде белгіленген уақытта жасауы тиіс.
Аудиториялық сабақтардағы қимылдық ережелері
Сабақтар уақытысында өзге істермен айналысуға БОЛМАЙДЫ, атап айтқанда:
мобильдік телефондармен қолдануға болмайды;
музыканы тыңдауға болмайд
тамақ ішуге, сағызды шайнауға болмайды;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
газеттер мен журналдарды оқуға және тағы солармен байланысты істерді жасауға;
өзге тақырыптарға студенттердің бір бірімен сөйлесуіне болмайды;
ойнауға болмайды.
Аудиториялық сабақтардағы қимылдық ережелерді б
ұзған кездерде студент сабақтан
босатылады.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
БЕКІТІЛДІ
«Тұран» университеті мекемесі»
«Ақпараттық
технологиялар
кафедрасы мәжілісінің отырысында
Хаттама № __ «____»________ 2013 ж.
Кафедра меңгерушісі
___________________С.А.Түсіпова
ПӘН БОЙЫНША ТАПСЫ
РМАЛАРДЫ ОРЫНДАУ ЖӘНЕ ТАПСЫРУ ГРАФИГІ
Студенттердің өзіндік жұмысы ретінде қарастырылатындар
: эссе, реферат
тар
презентаци
ялар
жазбаша түрде конспектілер дайындау, мәселелер бойынша баяндамалар,
ақпараттарды талдау, мәселелі ситуацияларды талдау және т.с
.с.
ӨЗІНДІК ЖҰМЫС ТАПСЫРМАСЫ
Өзіндік жұмыс үшін студенттер эссе, рефераттар, презентациялар, блок
схемалар, жазба
конспектілер, мәселе бойынша докладтар, жағдайдың мәселесін талдауды қарастырады.
СОӨЖ АТАУЛАРЫ ЖӘНЕ БЕРІЛУ ГРАФИГІ
күндізгі
бөлім үшін
п/п
Тақырыптары
Апта
Жұмыс түрі
Еңбексы
Берілу
формасы
Берілу
мерзімі
идеопрокат жұмысын
автоматтандыру
орындау
Жазбаша
апта
ГИБДД
жұмысын
автоматтандыру.
орындау
Жазбаша
апта
Библиотек
жұмысын
автом
аттандыру.
орындау
Жазбаша
апта
Аэропорт
жұмысын
автоматтандыру.
2
орындау
Жазбаша
апта
Магазин
жұмысын
автоматтандыру.
орындау
Жазбаша
апта
Поликлиник
жұмысын
автоматтандыру.
орындау
азбаша
апта
нтивирус
тік
программалық жүйе құру
орындау
Жазбаша
апта
втомобил
дерді
техникалық қамтамасыз ету
орталығы
жұмысын
автоматтандыру.
орындау
Жазбаша
апта
Файл
дық жүйе
жұмысын
орындау
Жазбаша
апта
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
автоматтандыру.
Графикалық
примитивтерден күрдеоі
схемалар тұрғызатын
рафи
калық
j_^Zdlhj
jm
орындау
Жазбаша
апта
нтернет
блог
жүйесін
жүргізетін жүйе құру
орындау
Жазбаша
апта
БАРЛЫҒЫ
Әдістемелік нұсқауды қара
СОӨЖ АТАУЛАРЫ ЖӘНЕ БЕРІЛУ ГРАФИГІ
сыртқы
бөлім үшін
п/п
Тақырыптары
Жұмыс түрі
Еңбексы
;_jem�
nhjfZku
Берілу
мерзімі
идеопрокат жұмысын
автоматтандыру
hjug^Zm
Жазбаша
апта
ГИБДД
жұмысын
авт
оматтандыру.
hjug^Zm
Жазбаша
апта
Библиотек
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Аэропорт
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Магазин
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Поликлиник
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
нтивирус
тік
программалық жүйе құру
орындау
Жазбаша
апта
втомобил
дерді
техникалық қамтамасыз ету
орталығы
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Файл
дық жүйе
жұмысын
автоматтандыру.
hjug^Zm
Жазбаша
апта
Графикалық
примитивтерден күрдеоі
схемалар тұрғызатын
рафи
калық
j_^Zdlhj
jm
hjug^Zm
Жазбаша
апта
нтернет
блог
жүйесін
жүрг
ізетін жүйе құру
hjug^Zm
Жазбаша
апта
БАРЛЫҒЫ
Әдістемелік нұсқауды қара
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
СӨЖ БЕРІЛУ
ГІ ЖӘНЕ КОНСУЛЬТАЦИЯ УАҚЫТЫ.
Студенттің өздік жұмысы оқу кестесінен тыс өткізіледі және дәріс материалын бекіту
және кеңес берілген әдебиетп
ен танысу үшін арналған. Әр кредиттен берілген тақырыптардан
біреуі таңдалады және жоба дайындалады.
Студентке әр өздік жұмыстың орындалуына 4 апта
беріледі. Семестрдің әр 5 аптасында СӨЖ
ден бақылау өткізіледі. Студенттер өзінің
орындаған жұмыстарын қорға
йды. Бақылау түрі
жобаны қорғау.
СӨЖ
ӨТКІЗУ ГРАФИГІ
күндізгі бөлімге
п/п
Тақырыптары
Апта
Жұмыс түрі
Еңбексы
Берілу
формасы
Берілу
мерзімі
күйге келтіру
Реферат
Баяндама
апта
Database Desktop
көмегімен кестелер құру.
Реферат
Баяндама
апта
匀兌
сұраныстар
көмегімен кестелер құру
Реферат
Баяндама
апта
изуаль
компонент
терге шолу
Деректер базасымен
жұмыс
істеу
компоненттері.
Реферат
Баяндама
апта
TTable компонент
тері
TTable компонент
тері
арқылы кестел
ер құру.
Реферат
Баяндама
апта
TQuery компонент
тері.
Реферат
Баяндама
2 апта
DataSet редактор
есептелетін өрістер
Реферат
Баяндама
апта
吀䐀慴慢慳攠
омпонент
ттері.
Реферат
Баяндама
апта
Транзакцияларды
басқару.
Реферат
Баяндама
апта
匀兌
тілінің негізі.
Реферат
Баяндама
4апта
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Отчеттарды
енераци
ялау.
Реферат
Баяндама
апта
БАРЛЫҒЫ
Әдістемелік нұсқаны қара
СӨЖ
ӨТКІЗУ ГРАФИГІ
сыртқы бөлімге
п/п
Тақырыптары
Жұмыс түрі
Еңбексы
Берілу
формасы
Берілу
мерзімі
күйге келтіру
Реферат
Баяндама
апта
Database Desktop
көмегімен кестелер құру.
Реферат
Баяндама
апта
匀兌
сұраныстар
көмегімен кестелер құру
Реферат
Баяндама
апта
изуаль
компонент
терге шолу
Деректер баз
асымен
жұмыс
істеу
компоненттері.
J_n_jZl
Баяндама
апта
TTable компонент
тері
TTable компонент
тері
арқылы кестелер құру.
Реферат
Баяндама
апта
TQuery компонент
тері.
Реферат
Баяндама
апта
DataSet редактор
есептелетін өрістер
Реферат
Баяндама
апта
吀䐀慴慢慳攠
омпонент
ттері.
Реферат
Баяндама
апта
Транзакцияларды
басқару.
Реферат
Баяндама
апта
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
SQL
тілінің негізі.
Реферат
Баяндама
апта
Отчеттарды
енераци
ялау.
Реферат
Баяндама
апта
БАРЛЫҒЫ
дістемелік нұсқауды қара
Оқытушы
: ________________________
_ Ахметжанова Ж.Б.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
РАН»
УНИВЕРСИТЕТІ МЕКЕМЕС
Кафедра отырысында
БЕК

«Ақпараттық технологиялар» кафедрасы
«Тұран» Университет» мекемесі
Хаттама №12
ж.
федра меңгерушісі
Түсіпова С.А.
ДӘРІСТІК КЕШЕН
КОНТЕНТ
(ДӘРІСТЕР ТЕЗИСЫ, ИЛЛЮСТРАТИВТІ ЖӘНЕ ҮЛЕСТІРМЕЛІ МАТЕРИАЛ,
ҰСЫНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ)
ЖҮЙЕЛЕРДІҢ ПРОГРАММАЛАЫҚ ЖАБДЫҚТАРЫН ҚҰРУ
Мамандығы
5В070300
Ақпараттық жүйелер
ні бойынша
үйелердің программалаық жабдықтарын құру
Автор
Ахметжанова Ж.Б.,
«Туран»
университет
інің
аға оқытушысы
Білім алу технологиясы
кредит
Білім алу формасы
күндізгі
сырттай
Тілдік бөлім
орыс тілі
Студенттің білімін бағалау жүйесі
рейтин
Алматы, 201
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Лекция 1.
Процесс и методы разработки систем
Проработав материалы данной темы, вы получите сведения о типах, работе, развитии,
тестировании и управлении программных систем.
ПО систем обработки данных
Проработав материалы данной подт
емы, вы получите сведения о типах, областях
применения и специфике программных систем.
Система обработки данных
Обработка данных
(andmetöötlus, data processing)
это манипуляция данными при
помощи компьютера. Это действие включает в себя преобразование и
сходных данных в
машиночитаемую форму, их движение через процессор (CPU) и память в устройства вывода,
а также формирование и преобразование выходных результатов в желаемую форму. В
общем, обработкой данных всегда называют происходящие в компьютере процесс
ы, если
они содержат названные действия. Обработку данных можно также рассматривать более
узко, как обработку необходимых данных для некоторой организации или бизнеса
(например, статистические данные).
Система обработки
данных (andmetöötlussüsteem, data pr
ocessing system), как правило,
слагается из аппаратного, программного обеспечения и персонала. Система обработки
данных
это система, которая производит над входными данными различные
математические операции с целью сделать их информационными, преобразуя
необходимый пользователю формат выходных данных. Последний может быть представлен
как в виде звука, видео, графики, числовой информации, так и в текстовом виде.
Аппаратное обеспечение
(riistvara, hardware)
это общее понятие для обозначения
всех видов т
ехнологического оборудования (продукции). В данном контексте имеется в
виду, прежде всего компьютерное оборудование. Последнее формируют все физические
компоненты компьютера: монитор, процессор, память, жесткие диски, модем, принтер,
клавиатура, мышь и т.
д. (см. e
курс
Эксплуатация
поддержка
информационной
системы
).
Компьютерная техника необходима как при вводе, обработке, сохранении данных, так и при
представлении резул
ьтатов обработки.
Программное обеспечение для обработки данных, в свою очередь, содержит
следующие типы компонентов:
Микропрограммное (аппаратно
программное) обеспечение
(püsivara, firmware)
функционально
независимая от оперативной памяти, сохраненная в
постоянной памяти ПЗУ
(ROM), совокупность инструкций и данных (программа и соответствующий набор данных).
Аппаратно
программное обеспечение, как правило, связано с некоторым компонентом
аппаратного обеспечения, поэтому часто невозможно изменить его без зам
ены самого
аппаратного компонента или, по крайней мере, этого не может сделать каждый пользователь
устройства. BIOS (Basic Input / Output System) является одним из примеров аппаратно
программного обеспечения. BIOS записана в ROM компьютера и содержит инстр
укции для
ввода с клавиатуры и вывода на экран.
Операционная система
(operatsioonisüsteem, operating system software)
это самая
важная принадлежащая к системному программному обеспечению программа, которая
управляет работой компьютера, администрирует апп
аратные ресурсы, взаимодействует с
периферийным оборудованием и гарантирует работу прикладных программ. Пользователи
могут напрямую взаимодействовать с операционной системы при помощи командного языка
или, используя графический интерфейс. К числу задач опе
рационной системы относятся
распределение ресурсов между различными приложениями, управление пулингом памяти,
взаимодействие с входными и выходными устройствами, управление пользователями и так
Самые известные операционные системы подразделяются на
три основные группы:
различные версии Windows, Mac OS и UNIX
подобных операционные системы.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Прикладное программное обеспечение
(rakendustarkvara, application software)
программное обеспечение, создаваемое и устанавливаемое в компьютер для выполнения
непо
средственно целей пользователя. Надо иметь в виду, что наиболее существенным
различием является то, что в отличие от системного программного обеспечения прикладное
программное обеспечение направлено именно на выполнение задач пользователя.
Системные конфиг
урационные файлы
(süsteemi konfiguratsioonifailid, system
configuration data) содержат различные данные, которые необходимы для работы самой
компьютерной системы. Такие данные есть как у операционной системы, так и у
прикладного программного обеспечения .
Определяемые пользователем данные
(kasutaja andmed, user
defined data) являются
специфическими для приложения и сохраняются для данного пользователя в компьютерной
системе.
1.1.2. Системное и прикладное программное обеспечение
Программное обеспечение подр
азделяется на две большие группы:
системное программное обеспечение (süsteemitarkvara, system software)
прикладное программное обеспечение (rakendustarkvara, application software)
Программы, принадлежащие к системному программному обеспечению, поддерживают
работу приложений без учета специфики приложения. Образно представляя себе устройство
компьютера, состоящее из слоев или составленное по уровням, относящиеся к системному
программному обеспечению программы расположим на «нижних» слоях, около физического
ровня (слоя)
оборудования, где и прогоняются программы. Системное программное
обеспечение поддерживает работоспособность всей системы компьютера.
Приведем примеры функций системного программного обеспечения:
управление взаимодействием с оборудованием
син
хронизация процессов
управление памятью
общие функции и работа пользовательского интерфейса, если ни одно из приложений
не активно.
Приведенные выше примеры относятся, прежде всего, к службам операционной системы
и можно утверждать, что операционная систем
а является одним из наиболее типичных
примеров системного программного обеспечения. Кроме того, системным программным
обеспечением является BIOS компьютера, встроенное (микропрограммное) обеспечение и
различные утилиты, которые помогают управлять компьютер
ом.
Кроме того можно считать системным программным обеспечением, например, и
различные драйверы устройств, процессоры (движки) базы данных, средства создания такого
программного обеспечения, как интерпретаторы
компиляторы, отладчики и т.п. Однако это
мнени
е не стоит считать единственно верным.
Прикладное программное обеспечение
(rakendustarkvara) на послойной модели
располагается на более «высоком» слое
«подальше» от аппаратного слоя и ближе к
пользователю, взаимодействующему с компьютером. Задачей прикла
дного программного
обеспечения является выполнение желаний пользователя, « поддержка пользователя» во имя
достижения его целей. Прикладное программное обеспечение опирается на системное
программное обеспечение. Прикладное программное обеспечение может расп
ространяться
отдельно, но может также поставляться и с операционной системой. В любом случае,
наиболее важным является его направленность на оказание помощи пользователю.
В качестве аналогии можно представить себе электрический свет, как необходимую
пользо
вателю функцию, и электростанцию и линии электропередачи и т.д. как механизмы
поддержки функции.
Различия системного программного обеспечения и прикладного программного
обеспечения не является абсолютным и четким
например, в тяжбе между Microsoft и
Соеди
ненными Штатами Америки одним из основных вопросов был вопрос, считать ли веб
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
браузер MS Explorer, входящим в состав операционной системы (в связи с этим
системным
обеспечением), или считать самостоятельным приложением (следовательно, признать
прикладным
программным обеспечением). С другой стороны можем спросить иначе: все ли
программное обеспечение, которое устанавливается (инсталлируется) вместе с операционной
системой, является системным программным обеспечением или мы обнаружим там и
прикладное програ
ммное обеспечение? Исходя из определения прикладного программного
обеспечения, что его можно использовать для достижения некоторых целей, приложениями в
дополнение к IE являются также Notepad, Paint, Calculator, Wordpad, Solitaire, Minesweeper и
т.д.
3. Примеры программного обеспечения
Приведем примеры обоих подкатегорий программного обеспечения
1. системное программное обеспечение:
a) операционные системы, например, Linux, Windows Vista, Symbian OS
операционная
система, используемая в мобильных устр
ойствах, Unix
b) драйверы, например, драйвер принтера
c) программы управления файлами
2. прикладное программное обеспечение:
a) так называемые конторские офисные пакеты:
программы обработки текстов
программы табличных вычислений
программы для создания пре
зентаций
и т.д.
b) инструментальные средства разработки:
ассемблеры
компиляторы
интерпретаторы
программы управления версиями
и т.д.
c) приложения по управлению версиями:
пакеты прикладных программ по планированию ресурсов предприятия (ERP)
пакеты бухгалтер
ских прикладных программ
пакеты по управлению взаимоотношениями с клиентами (CRM)
системы поддержки принятия решений (DSS)
пакеты по управлению проектами
и т.д.
d) инженерные инструментальные средства:
программы
программы статистического анализа
геоинф
ормационные системы
и т.д.
e) издательство и мультимедиа:
программы оформления печатных изданий
программы обработки видеоданных
программы подготовки и распространения учебных материалов
и т.д.
f) программное обеспечение, используемое для провождения свобод
ного времени:
программы воспроизведения звука и видеоизображения
и т.д.
g) коммуникационное программное обеспечение:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
клиентские программы электронной почты (e
mail)
программы управления блогами (веб
дневниками, blog)
программы управления wiki.
Лекция
Жизненный цикл разработки системы
Фазы жизненного цикла
Жизненный цикл разработки системы
(süsteemiarenduse elutsükkel, Systems
Development Life Cycle) (также жизненный цикл разработки программного обеспечения)
это
процесс, в ходе которого создае
тся новая или изменяется старая система программного
обеспечения, а также модели и методы, которые разработчики используют при разработке
систем. Программное обеспечение является конечным продуктом процесса разработки
системы. Процесс разработки системы со
стоит как из проектирования продукта (дизайна), так
и из изготовления продукта. Цель процесса разработки системы
изготовить
высококачественной продукт, то есть программное обеспечение, который отвечает
потребностям и ожиданиям пользователей, может быть и
зготовлен к установленному сроку и
быть в пределах оговоренной стоимости, работает эффективно и результативно в текущей и
планируемой ИТ
инфраструктуре и не является дорогим в сопровождении и развертывании.
Что касается программного обеспечения, ровно, ка
к и любого другого продукта, его
жизненный цикл (процесс разработки) можно разделить на фазы. Наименования фаз и
детализация разделения на фазы меняется в зависимости от автора. Однако это не означает,
что перечень основных действий по разработке как
то от
личается. Типичными частями
жизненного цикла можно считать: анализ (analüüs, analysis), проектирование / планирование
(projekteerimine / kavandamine, design), реализация (teostus, implementation) и сопровождение
(hooldus, maintenance).
Исходя из этого, рас
смотрим, какие виды деятельности содержат перечисленные фазы
разработки.
На этапе
анализа
, так и в ходе всей разработки, составление спецификации требований,
предъявляемых к программному обеспечению, является одной из самых важных целей. Без
этого невозмож
но переходить на следующие шаги. Из
за своей важности работа с
требованиями часто рассматривается как отдельная фаза. Требования дают представление о
том, что хочет пользователь с помощью программного обеспечения сделать какое
программное, какие цели ему н
ужно достигнуть. Другими словами, здесь имеем дело с
определением функциональности программного обеспечения (
функциональные
требования
). Кроме того, также важны
нефункциональные требования
. Это часто
дополнительные ограничения или условия, с которыми необх
одимо считаться при работе
системы.
Пример
функциональных требований: ученик желает посмотреть свои оценки в
привычной на текущий момент учебной информационной системе (õpiinfosüsteem ÕIS).
Учителю нужно просматривать, добавлять, редактировать и удалять оц
енки обучаемых
учеников (конечно, своего предмета). На этом перечень требований ÕIS не исчерпывается.
Здесь появляется еще один факт, состоящий в том, что требования обычно связаны с ролями
у разных пользователей системы имеются различные предпочтения и
права.
Нефункциональные требования могут, например, включать в себя условие, такое, что система
должна работать непрерывно, и максимально допустимая длина перерыва может равняться
получасу.
Проектирование (планирование
, projekteerimine / kavandamine
в соо
тветствии с
определением стандарта IEEE
это «определение характеристик архитектуры системы или
компонентов, составляющих, интерфейсов и других частей». Англоязычное слово «дизайн»
обозначает как действие, так и продукт, полученный в результате этого дейс
твия, на
эстонском языке можно результат наименовать «kavand» или «projekt». Планирование
является частью процесса разработки, в течение которой анализируются требования,
необходимые для создания внутренней структуры программного обеспечения. Созданное
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
сание, в свою очередь, является фундаментом для реализации. Проект программного
обеспечения должен описывать архитектуру системы, т.е. как система подразделяется на
части (компоненты), и каковы их интерфейсы (возможности сопряжения с другими
компонентами).
Компоненты должны быть описаны с такой точностью, которая позволила бы
начать их реализацию.
В классическом жизненном цикле программного обеспечения в соответствии со
стандартом ISO / IEC 12207 Software life cycle processes, часть проектирования состоит и
з двух
этапов:
архитектурное проектирование, в течение которого оговариваются так называемые
компоненты высокого уровня, связи между наиболее крупными и общими частями
программного обеспечения;
детальная разработка компонентов, в течение которого определяе
тся их структура
(процедуры, объекты, алгоритмы и т.д.).
На фазе
реализации (исполнения,
realisatsioon / teostus
составляется программное
обеспечение, исходя из созданного на этапе проектирования программного проекта.
Разделение на компоненты создает пред
посылки по разделению труда, т.е. когда для
кодирования маломальской большой системы привлекают к работе команду программистов.
На фазе реализации проводится также тестирование запрограммированных частей, т.е. поиск
ошибок. Первоначально поиск ошибок прово
дится в логике компонентов.
На самом деле развитие не происходит так прямолинейно, когда сначала делается
доскональный проект для всей систем и только затем приступают к программированию.
Скорее эти фазы переплетаются, и по мере становления проекта часть с
истемы создается и
также реализуется. В то же время, однако, продолжается проектирование и остальных частей
системы.
Последней частью фазы реализации является проверка достоверности (valideerimine)
системы. Это также по существу тестирование, где, однако,
главной целью является
выяснение того, отвечает ли созданная система требованиям пользователей, проще говоря
делает ли система то, что хочет пользователь.
Сопровождением программного обеспечения
называют изменение программного
обеспечения после его перед
ачи клиенту, которое необходимо для исправления ошибок,
чтобы повысить производительность или улучшить другие свойства. Целями сопровождения
являются подгонка системы с учетом изменившейся среды (условий) и в соответствии с
изменившимися желаниями пользова
теля, а также поддержка работоспособности системы
программного обеспечения как можно дольше. Важным аспектом сопровождения является
обеспечение функционирования программного обеспечения, написанного сторонними
программистами (исправление, дополнение, преоб
разование), из этого, в свою очередь,
вытекают зависимости с проведенной на предыдущих фазах работой по качеству. Хорошо
продуманное, закодированное и задокументированное программное обеспечение гораздо
проще, быстрее и, следовательно, дешевле поддерживать
Разработка программного обеспечения заканчивается с передачей программного
обеспечения клиенту. Готовая программа должна быть такой, какую хотел иметь клиент.
Однако программное обеспечение должно развиваться далее. В ходе работы обнаруживаются
аномалии,
изменяется рабочая среда, возникают новые требования. Необходимость изменений
регистрируется, определяется влияние изменений, код изменяется, делаются тесты, выдается
новая версия программного обеспечения и при необходимости также организуется обучение.
ля сравнения, Ян Соммервилль (Ian Sommerville) в своей книге «Software Engineering»
(«Разработка программного обеспечения»), обыгрывает следующие виды деятельности
процесса создания и эксплуатации программного обеспечения. Размышляя над тем, что их
сущност
ь покрывает описания вышеприведенных фаз.
Описание программного обеспечения
, в ходе которого клиенты и разработчики
программного обеспечения (инженеры
программисты) определяют в результате совместной
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
работы функциональность создаваемого программного обе
спечения и налагаемые
ограничения.
Разработка программного обеспечения
, в ходе которого проектируется и
программируется программное обеспечение
Проверка достоверности (соответствия)
программного обеспечения
, в ходе
которого контролируется программное
обеспечение с целью, чтобы убедиться, что оно такое,
какое, как хотел клиент.
Дальнейшая разработка программного обеспечения
, в ходе которого программное
обеспечение изменяется, чтобы удовлетворять меняющимся требованиям клиента,
требованиям рынка и ме
няющимся условиям бизнеса.
В жизненный цикл разработки системы должны относиться все вышеописанные
действия, но эти этапы не должны, безусловно, быть описаны как линейное множество строк.
2.2. Общие модели жизненного цикла
Модель жизненного цикла разработ
ки системы
это обобщенное (абстрактное) описание
процесса развития. Это описание процесса, исходя из какой
то определенной точки зрения.
Описывая модели процессов, как правило, говорят о таких действиях, как планирование
модели данных, дизайн пользовател
ьского интерфейса и т.д., однако они могут также
включать документацию и описание ролей.
В моделях процесса можно встретить два принципиально разных подхода.
Интенсивное планирование (tugev planeerimine). Этот более старый подход состоит в
детализированном
планировании видов деятельности и программного обеспечения и точном
следовании плана на следующем витке разработки. Прогресс деятельности разработки
измеряется с помощью той же схемы.
Ускоренная (agile), т.е. гибкая разработка, при которой планирование пр
оисходит по
частям (постепенно), и благодаря чему возможно изменить ход процесса, идя навстречу
изменяющимся требованиям пользователей. Внедрение ускоренного процесса явилось
результатом быстро меняющихся потребностей клиентов. Процесс должен быть гибким и
способным реагировать на изменение, расширение и адаптацию к новым требованиям
продукта.
Если прежде происходило отнесение моделей разработки системы строго к той или иной
категории, то теперь как считает Ян Соммервилль, на этом уровне жесткое деление
нец
елесообразно, так согласно довольно многим моделям можно запустить как ускоренный
(гибкий), так и планируемый метод разработки.
На протяжении всей истории было предложены несколько общих моделей разработки
систем и наиболее важные из них следующие:
водо
падная модель
(каскадная, koskmudel, waterfall model)
спиральная
модель
(spiraalmudel, spiral model)
инкрементная
модель
(inkrementaalmudel, incremental model)
прототипирование
(prototüüpimine, prototyping).
Ниже мы рассмотрим подробнее вышеупомя
нутые модели разработки систем.
2.2.1. Водопадная (каскадная) модель
Водопадная (каскадная) модель (или классическая модель) является первой описанной
моделью жизненного цикла программной системы, которая проистекала из обычных
процессов производства, име
вших место в строительстве и механике и пр. Модель описал
Уинстон В. Ройс (Winston W. Royce) в 1970 году. Водопадная модель
наиболее старая и
наиболее подвергнувшаяся критике модель процессов.
Согласно основной идее виды деятельности распределяют таким о
бразом, чтобы каждое
действие проходило последовательно отдельным этапом. Ройс разделил процесс на
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
следующие основные этапы (стоит отметить, что перечень этапов варьируется в изложении
различных авторов):
Определение требований
. Этот этап можно разделит
ь на две категории
системный
анализ (все то, что окружает конкретное программное обеспечение), и анализ требований.
Документируют поведение системы, производительность, интерфейс и т.д.
Планирование системного и
программного обеспечения
. Фокусируется
на
основных свойствах программы, таких как структуры данных, архитектура программного
обеспечения, функции интерфейса, алгоритмические и процедурные детали. Качество проекта
возможно оценить. Результат документируется.
Реализация и
тестирование модулей
В проекте Описанная система в проекте
программируется в виде модулей и комплектом программ, которые тестируются отдельно.
Чем детальнее проект, тем проще и более механическим может быть этап реализации.
Интеграция и
тестирование системы
. Объединяют про
граммы и модули, тестируют
всю систему, после тестирования продукт передается заказчику. Во время тестирования
сосредотачиваются как на логических деталях, так и на том, отвечает ли система требованиям
в отношении функциональности (проверка достоверности).
Эксплуатация и сопровождение
это обычно самая длинная фаза. Систему
изменяют, если пользователи находят ошибки, либо окружение и рабочая среда изменяются
или клиент нуждается в новой функциональности. Фаза повторяет все предыдущие этапы в
рамках изме
нения существующей системы.
Результатом каждой фазы является один или несколько документов, которые
утверждаются. Следующая фаза не должна начинаться до того, пока предыдущая не
завершена. У фаз имеются определенные совпадения, и информация передается от о
дной фазы
к другой. См. также рисунок 1
Рисунок 1
1. Водопадная модель
Комментарий к рисунку 1
логика водопадной (каскадной) модели часто изображается
таким образом, что стрелки направлены только сверху вниз (от предыдущей фазы к
следующей). К пр
едыдущим шагам не возвратиться, так же, как и в жилищном строительстве
жилого дома нельзя вернуться к фундаменту после установки крыши. В этом случае по
модели было бы невозможно вообще ничего позже изменить в системе. Ройс тоже признал
этот вариант в свое
й статье невозможным. Фактически Ройс добавил уже вначале для каждого
этапа изображающую обратную связь стрелку. Тем не менее, возвращение из каждого этапа на
предыдущий
невозможно. Если во время тестирования была обнаружена ошибка, чьи корни
лежат в арх
итектуре, то согласно модели можно вернуться к изменениям в архитектуре только
тогда, когда программное обеспечение уже используется (см. направления стрелок на
рисунке).
Заключение:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Решения в отношении системы принимаются на ранней стадии и, в конечном с
чете,
система не может быть такой, как этого хочет пользователь (требования рано
замораживаются). К тому же заказчик сам не знает вначале, что он хочет и его
неопределенность вполне естественна.
Водопадная модель подходит для больших систем, которые разраб
атываются в
нескольких местах сразу. В этом случае предварительное и корректное планирование
позволит лучше координировать работы.
2.2.2. Инкрементальная (инкрементная, поступательная) модель разработки
Один из ключевых вопросов разработки программного об
еспечения
как справиться с
изменениями, поскольку в случае крупномасштабных программных проектов наличие
изменений неизбежно. Предпринимательство изменяется, что ведет к изменению требований,
создаются новые технологии, которые целесообразно применять дл
я усовершенствования
программных систем, и изменяются сами платформы, для которых создавались системы.
Указанные изменения требуют переделки и стоят, как повторного анализа требований вместе
с внедрением, так и с реализацией новых функциональных возможност
ей. Стоимость
изменений должна быть настолько низкой, насколько это возможно. Таким образом, в процесс
разработки необходимо внести те виды деятельности, которые помогут предвидеть изменения
до того момента, когда их внесение потребует уже существенный объ
ем работ. Например,
создание прототипа поможет заранее показать клиенту основные характеристики системы.
Изменения лучше всего делать тогда, когда их внесение по возможности дешево. На
основании этого, имеют резон постепенные (инкрементальные) разработка и
передача
продукта. Таким образом, изменения можно вносить и в тех частях, которые еще не начали
разрабатывать.
Смысловую путаницу вызывают понятия итеративной и инкрементальной разработки.
Согласно Алистеру Кокбернц (Alistair Cockburn) здесь имеем дело с
двумя разными моделями
разработки:
Инкрементальная разработка
это поэтапная и следующая временным графикам
стратегия, в которой разные части системы разрабатываются в разное время и разными
темпами, и если одна часть готова, тогда ее интегрируют в систем
Альтернативной стратегией было бы решение кодировать все части системы, а затем
интегрировать весь код сразу.
Итеративная разработка
это так называемая стратегия изменений, где
предусматриваются переделка и исправление существующих компонентов системы
Альтернативная стратегия заключалась бы в планировании деятельности таким образом,
чтобы всё делалось бы с первой попытки.
Согласно Яну Соммервиллю (Ian Sommerville) «итеративная модель разработки» скорее
общее название для ряда так называемых гибридных
моделей (в том числе, и инкрементальная
и спиральная модели). Слово «итеративный» подчеркивает то, что действия в этой модели
повторяются.
Независимо от того смысла, который стоит за итеративной разработкой,
инкрементальная (поэтапная) разработка довольно
однозначно описана в различных
источниках.
Инкрементальная разработка может быть как плановая, так и гибкая. Модель
обеспечивает построение вначале небольшой части системы с дальнейшим ее расширением в
несколько этапов. Поэтапный подход позволяет разработч
икам и будущим пользователям
системы учиться, начиная с ранних итераций, получать обратную связь еще тогда, когда
возможно сделать изменения, например, в архитектуре системы, без переписи всего кода.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Рисунок 1
2. Инкрементальная разработка
Спецификация
программного обеспечения, проект и реализация делятся на части
(increment), которые разрабатываются одна за другой. Таким образом, уменьшается
количество нуждающихся в переделке частей системы, и клиенты получают возможность в
течение более длительного вре
мени обдумать свои желания. К типичным действиям надо
отнести еще то, что компоненты (части) изготавливаемой системы находятся в использовании,
что помогает клиенту получить большую ясность в своих дальнейших требованиях,
предъявляемых к продукту.
Ход дейс
твий заключается в следующем: прежде всего, определяются требования в
более общей форме и подразделяются на более и менее важные. Затем определяются части
поставки, то есть, в каком количестве и из чего состоящие поставки начнет получать клиент в
качестве
своего программного обеспечения. Под поставкой понимаются части системы, то
есть инкремент (increment). Каждая поставка должна добавлять к системе определенную
функциональность. При этом выпуск начинают с компонентов (частей) с наивысшим
приоритетом. Когда
части системы определены, берут первую часть и начинают ее
детализировать, используя для этого наиболее подходящий процесс (и почему бы не
водопадную модель). В то же время можно уточнять требования и для других частей, которые
в текущей совокупности треб
ований данной работы были заморожены. Если очень
необходимо, можно позже возвратиться к этой части. Если часть готова, то она поставляется
клиенту (заказчику), который может использовать ее в работе (или, по крайней мере, серьезно
испытать). Это позволит к
лиенту уточнить требования для следующих компонентов (частей)
(или для последующих версий того же самого компонента). Затем занимаются со следующей
частью системы. Новые части состыковываются с существующей системой. Все части не
должны разрабатываться с и
спользованием одного и того же процесса.
Преимущества инкрементальной (поэтапной) разработки:
1. Затраты, которые получаются в связи с изменением требований пользователей,
уменьшаются, повторный анализ и совокупность документации значительно сокращаются по
сравнению с водопадной (каскадной) моделью.
2. Легче получить отзывы от клиента о проделанной работе
клиенты могут озвучить
свои комментарии в отношении готовых частей и тоже могут видеть, как много сделано.
Таким образом, первые части системы являются
как бы прототипом всей системы в целом.
3. У клиента имеется возможность быстро получить и освоить созданное программное
обеспечение
клиенты могут получить реальные преимущества от системы раньше, чем это
было бы возможно с водопадной моделью.
Проблемы и
нкрементальной (поэтапной) разработки:
1. Прогресс не очень хорошо прослеживаемый
менеджеры должны постоянно измерять
прогресс процесса. В случае быстрой разработки не стоит создавать документы для каждого
маленького изменения версии.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
2. Структура систем
ы имеет тенденцию к ухудшению при добавлении новых
компонентов (частей)
постоянные изменения нарушают структуру системы. Чтобы избежать
этого и повысить качество программного обеспечения требуется дополнительное время и
деньги на рефакторинг. Плохая стру
ктура делает программное обеспечение сложным и
дорогостоящим для последующих изменений.
Гибкие (ускоренные,
agile) методы разработки
Для гибких методов разработки пригодно использование инкрементальной модели.
Начало распространения гибкого метода разработ
ки программного обеспечения уходит в 2001
год, когда те, кто отвечали за тогдашнее перепланирование методов разработки, подписали
«Манифест гибкой разработки» (или просто «Гибкий манифест», «The Agile Manifesto»), в
котором в наиболее важные пунктах вниман
ие акцентируется на человеке и на
взаимодействии между людьми:
люди, и общение важнее, чем процессы и рабочие инструменты.
Работающая программа важнее, чем документация.
Сотрудничество с клиентами является более важным, чем переговоры по контракту.
Идти на
встречу пожеланиям об изменениях более важно, чем следование плану.
Больше считаются с информацией, полученной в процессе обратной связи (нагрузочное
тестирование, мнение пользователей и т.д.), чем полагаются на предварительное тщательное
планирование техн
ологии. Основное внимание уделяется людям, в том числе пользователям и
постоянному тестированию. Говорят, что с гибким методом достигается лучший результат за
те же деньги, однако при использовании гибкого метода труднее заранее запланировать, когда
какая
то функция программного обеспечения будет готова
«Agile process will provide the most
bang for the buck, but won't say exactly when that bang will be». («Agile
процесс обеспечит
максимальную отдачу, но не скажет точно, когда это произойдет».)
Наиболее из
вестными и наиболее распространенными гибкими методами являются
экстремальное программирование (XP), Scrum, Feature Driven Development (FDD), Open
Unified Process (OpenUP) и др.
Экстремальное программирование, или XP, является наиболее известным гибким
мет
одом. В XP шаги делаются крайне (экстремально
отсюда и наименование метода)
недолгими по сравнению с традиционными моделями разработки
первый законченный этап
шагов может быть длительностью в несколько дней или неделю, тогда, как в классических
моделях
он продолжается месяцы и годы. Перед кодированием пишутся автоматизированные
тесты, которые должно пройти программное обеспечение, затем программируют парами (то
есть, два программиста за одним компьютером кодируют один программный отрывок
так
называемо
е «парное программирование»). Если готовый код проходит тесты (испытания), то
шаг программирования в данной итерации закончен.
2.2.3. Спиральная модель
Спиральная модель также является одной из итеративных моделей разработки.
Впервые спиральную модель опи
сал Барри Боэм (Barry Boehm) в своей статье 1986 года.
Течение процесс изображает спираль. Первый виток (повторение) может быть, например,
связан с исследованиями осуществимости системы, второй
с описанием требований,
следующий
с планированием и т.д. Н
есколько витков в основном связаны с реализацией
программного обеспечения, причем его создание происходит поэтапно (инкрементально).
Однако, конечно, не следует уравнивать витки спирали с обычными фазами процесса
разработки. Каждый виток разделен от 3 до 6
секторов (разные авторы делят по
разному).
Каждый виток начинается планированием ближайших задач и оценкой рисков и заканчивается
так называемым клиентом, то есть задача должна быть выполнена и протестирована.
Трудоемкость секторов не должна быть одинаков
ой. По Боэму имеется 4 сектора (см. также
рисунок 1
3):
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
1. Постановка задач (Objective setting)
определяются цели этой фазы, то есть витка,
ограничения процесса, результаты, план управления, потенциальные риски и альтернативные
стратегии, исходя из риско
2. Оценивание и сокращение рисков (Risk assessment and reduction)
для каждого
найденного риска делается анализ, предпринимаются некоторые действия для сокращения
рисков (например, риск, чьи требования не являются адекватными: изготавливается
прототип)
3. Разработка и проверка достоверности (Development and validation)
выбирается
модель разработки, исходящая из оцененных рисков (модель должна быть такой, чтобы
помочь снизить риски). Например, если в пользовательском интерфейсе имеется самый
большой р
иск, то тогда может помочь прототипирование.
4. Планирования (Planning)
проект рассматривается и делается решение о том,
переходить ли на следующий виток, если решают продолжить, делается план для следующей
фазы.
Пример спиральной модели изображен на рис
унке 1
3. Реальный процесс разработки
может видоизменяться в числе вариаций, так и в части расположения видов деятельностей.
Рисунок 1
3. Спиральная модель (Boehm 1988) (Источник: слайды I. Sommerville
"Software Engineering")
Наиболее важным отличием
этой модели от других является учет рисков. Риск
это
вероятность того, что что
то может пойти не так. Из
за материализации рисков превышаются
сроки, и происходит перерасход средств, поэтому необходимо учитывать риски и принимать
меры по их смягчению. По
Соммервиллю точно такую модель используют редко, но она
помогла понять природу итеративной разработки, и направила внимание на необходимость
учета рисков.
2.2.4. Прототипирование
Прототип
это первоначальная версия системы, которая используются для
апроб
ирования возможностей дизайна и демонстрирования идей. Прототипы можно
использовать на различных фазах разработки. Например, на этапе анализа требований при их
нахождении и проверке; на этапе дизайна при исследовании выбора возможностей и
планировании поль
зовательского интерфейса.
Преимущества прототипов: лучшее удобство при использовании системы, более точная
совместимость с реальными потребностями пользователей; более высокое качество и более
лучшее удобство сопровождения и меньше трудностей при разработк
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Рисунок 1
4 Процесс создания прототипа
Этапы прототипирования являются следующими:
Накопление требований
это делают на более общем уровне и там же фиксируют то,
что в дальнейшем необходимо начать обязательно уточнять.
Интенсивное планирование
сос
редоточение внимания на видимой части (ввод, вывод,
формы и т.д.), в результате чего и создается прототип. Клиент имеет возможность оценить
прототип и на этой основе уточнить свои желания.
Затем следует итерация улучшения прототипа до тех пор, пока это не
удовлетворит
пользователя. В то же время разработчик получает новые идеи исходя из пожеланий клиента.
При разработке прототипа важно, чтобы он мог бы быть быстро создан, используя
вспомогательные инструменты (средства) (язык быстрого прототипирования и раб
очие
инструменты). Прототип не должен содержать в себе всей функциональности. Он должен
сосредотачиваться на том, что не очень хорошо понятно. В прототипе не должно быть
контроля ошибок, и прототип направлен на функциональные требования (например, на
пробл
емы, связанные с безопасностью)
Прототипирование можно делать на различной основе
например,
быстрое
прототипирование
(ühekordne prototüüpimine, Throwaway prototyping),
эволюционное
прототипирование
(evolutsiooniline prototüüpimine, Evolutionary prototypi
ng),
инкрементное
прототипирование
(lisanduv prototüüpimine, Incremental prototyping).
Принципы быстрого прототипирования заключаются в следующем:
Такие прототипы должны быть уничтожены после создания, поскольку они не могут
служить хорошей базой для реаль
ной системы
например, не стоит на их основе выполнять
нефункциональные требования, структура прототипа не подходит для дальнейшей разработки
и также не отвечает требованиям качества модели.
Вкратце, в отличие от водопадной модели согласно итеративной мод
ели разработки
документ всестороннего анализа, который содержит неизменные требования пользователей и
«подписывается на крови» между заказчиком системы и исполнителем, не составляется с
самого начала. Итеративные модели позволяют проще вносить изменения в
систему, получать
от пользователей ранние отзывы, тестировать на ранней фазе пригодность проекта разработки
архитектурного решения системы и т.п.
Не существует единственной и наилучшей модели разработки системы. Решение, какую
модель выбрать, необходимо вы
нести исходя из конкретного программного проекта:
результата, навыков и знаний команды, временных графиков, выяснения и стабильности
потребностей клиентов.
2.3. Документирование
В дополнение к вышерассмотренному, рассмотрим теперь результаты деятельности
исполнителей действий.
Документ системных требований
является выходом сбора требований и анализа
деятельности и содержит потребности пользователей и заинтересованных сторон, исходя из
свойств системы и совокупности ограничений. Приведем примеры требовани
й:
функциональное требование состоит в том, что пользователь может при помощи системы
администрировать данные и счета клиентов, пример требования безопасности состоит в том,
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
что данные системы должны быть доступны только уполномоченному лицу. Технологическ
ое
ограничение состоит в том, что пользователь должен иметь возможность взаимодействовать с
системой через веб
браузер (обозреватель).
Документ системных требований
должен охватывать следующие темы:
введение: задача документа, масштабность проекта, пояснен
ия используемых терминов
и сокращений (т.н. словарь системы), ссылки на другие документы, описание структуры
документа;
описание продукта;
профили пользователей и заинтересованных сторон, задачи, потребности, опыт.
Описание пользователей помогает лучше пон
ять потребности и навыки пользователей при
обработке создаваемого продукта;
ограничения: ограничения такие, как связь с существующими системами, средства
разработки, инструменты, исходят от пользователей и из окружающей среды;
предпосылки и зависимости: со
здание продукта может предполагать выполнения
определенных условий, таких как соблюдение законодательства; третья сторона создает
систему интерфейсов;
система управления (käitluskeskkond) описывает платформы, на которых продукт
должен работать, в том числе
операционные системы, аппаратные платформы, процессоры баз
данных, веб
серверы, серверы приложений, мониторинговые интерфейсы и т.д.;
детальное описание функциональных и технических (безопасность, удобство
использования и т.д.) требований, включая пользов
ательские истории и систему управления
UML.
Документ требований составляется аналитиком совместно с будущими пользователями.
Документ
архитектурного дизайна
описывает структуру системы, системных
компонентов и модулей, интерфейсов между компонентами и инте
рфейсы с другими
системами. Описывается также физическая архитектура
аппаратные средства, и
показывается, какой программный компонент на какую аппаратуру устанавливается.
Документ архитектурного дизайна должен охватывать следующие темы:
введение: задачи
документа, ссылки на другие документы, описание структуры
документа;
выбор и настройка средств разработки, сред разработки;
кодирование, в том числе комментирование и стандарты наименования;
интерфейсы с другими системами, форматы и методы обмена данными;
внутренняя структура и строение продукта: покомпонентное деление системы,
обязанности и роли компонентов, обмена данными между компонентами;
предпосылки архитектурных решений, альтернативы, критерии выбора;
требования к производительности. Изображаются так
им образом, чтобы их можно
было бы проверить в ходе тестирования;
методы взаимодействия с пользователями, методы отображения ошибок;
потребность в ресурсах, то есть, как много памяти и вычислительной мощности
требует продукт и т.д.;
гарантирование мер безо
пасности;
мобильность (переносимость), т.н. возможность запуска программного обеспечения на
различных платформах.
Системные требования и архитектурные решения должны иметь между собой
перекрестные ссылки, то есть в случае необходимости возможно при изменен
ии некоторого
требования изменить и связанные с ним архитектурные решения и, наоборот, при изменении
некоторого архитектурного решения, например, финансовых причин, найти какие требования
затрагивает это решение об изменении.
Документ архитектурного дизай
на составляет архитектор (разработчик структуры
системы программного обеспечения), исходя из требований, приведенных в документе
требований.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Руководство пользователя
является документом, по которому пользователь получает
обзор системы
для чего пользовате
ль может использовать данный продукт, как использовать
продукт, какие могут ошибочные ситуации и пути их разрешения. Руководство пользователя
не дает обзор системы "изнутри", но только то, что доступно пользователю.
Проектная документация
рассматривает свя
занные с управлением проекта материалы.
Руководство по установке
рассматривает инсталлирование (установку, развертывание)
продукта, передачу (пересылку) данных, сопровождение и администрирование,
конфигурацию, порядок ведения изменений продукта.
Лекция 3.
Инструментальные средства разработки системы
Проработав материалы данной подтемы, вы получите сведения об инструментальных
средствах, связанных с анализом создания и реализацией программного обеспечения.
Цели использования и классификации CASE
средст
Процесс разработки программного обеспечения состоит из многогранной деятельности,
это творческий процесс, нацеленный на интенсивный обмен информацией, создания карт
размещения информации, анализа, визуализации. Создаваемые в процессе разработки
едини
цы информации должны быть взаимосвязаны между собой. Такой подход позволяет при
изменении т.н. функционального требования легко найти требующие изменения части кода и
при их изменениях, в свою очередь, искать требующие перетестирования модули. Для
облегчен
ия этой работы используются специальные средства, которые известны под общим
наименованием CASE
средств (Computer
Aided Software Engineering Tools). CASE
средства
это программные средства, которые поддерживают процесс разработки и управления
программного
обеспечения. CASE
инструментарий помогает внедрять как рабочие средства,
так и методы для создания высококачественных систем. Итак, средства могут быть построены
таким образом, что поддерживать и содействовать использованию конкретных методов
разработки.
allaste.ee предлагает «
tarkvara
raaltehnoloogia
» (компьютерная технология
программного обеспечения) в качестве эстонского термина для CASE. Это среда разработки,
которая позволяет автоматизировать, управлять и упростить процесс разработки системы.
Сюда отн
осятся, например, средства анализа исходных условий, составления блок
схем и
временн
го графика работ разработки, написание документации, программы управления
версиями, для написания программного кода и т.д. В более узком смысле под CASE
подразумеваются си
стемы, поддерживающие объектно
ориентированное программирование,
однако в целом под это понятие попадают все среды разработки программного обеспечения.
CASE
средства помогают автоматизировать деятельность на различных фазах
жизненного цикла разработки сист
емы. Например, в случае необходимости использовать
прототипирование в наличии имеются специальные программные средства, при помощи
которых удобно и быстро создавать графические модели скриншотов (копии экрана)
приложения.
CASE
средства можно классифицирова
ть в соответствии с их целевым назначением по
нескольким направлениям.
Поддерживающие жизненный цикл систем разработки CASE
средства подразделяются,
например, на две категории:
CASE
средства
«верхнего уровня»
(высокоуровневые) (upper CASE tools)
поддержива
ют анализ и проектирование. В основном они используются при анализе и
документировании требований пользователей. Они, прежде всего, подходят для визуализации,
для создания различных схем и генерирования документации. Они поддерживают
использование традицио
нных языков диаграмм (диаграммы сущность
связь, моделей данных,
UML
схемы и т.д.).
CASE
средства «низкого уровня»
(низкоуровневые) (lower CASE tools)
сосредотачиваются на тех реализациях, в которых из моделей может быть создан реальный
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
программный продукт.
Они поддерживают генерирование структуры базы данных,
генерирование кода, проведение тестирования, управление версиями кода, управление
конфигурацией, реверсивное проектирование и тому подобное.
CASE
средства могут использоваться для поддержки некоторого
узкого направления,
однако наиболее передовое направление заключается в соединении средств так образом,
чтобы создаваемая документация, модели, код, тесты и т.д. на различных этапах разработки
системы были бы лучше взаимосвязаны. Посему, в одно программное
обеспечение
объединяют низко
и высокоуровневые CASE
средства.
Различные CASE
средства поддерживают процесс разработки программного
обеспечения в разных масштабах
от нескольких шагов разработки до интегрированных
решений, т. е. начиная со сбора требован
ий до управления программным обеспечением.
Специальный сорт CASE
средств формируют программы, которые позволяют проводить
процесс разработки программного обеспечения в «обратном направлении», т.е. делать
реверсивное проектирование (reverse engineering), на
пример, сгенерировать из кода
описательную архитектурную схему структуры системы или из скомпилированного кода в
исходный код. Такие средства часто используют при отсутствующей, неполной или
устаревшей документации программного обеспечения.
3.2. CASE
сред
ства на разных этапах жизненного цикла
Этапы процесса разработки программного обеспечения требуют различной поддержки
средств разработки систем:
управление проектами:
составление и текущий контроль (мониторинг) проектного плана
управление ресурсами
сбор и
анализ требований:
сбор информации: анализ анкет
моделирование функциональных процессов (бизнес
процессов)
прототипирование, т.н. создание решения с ограниченной функциональностью и
на основе этого получения откликов (обратной связи) от пользователей
управ
ление требованиями: документирование требований, ссылки, оснащение
требований атрибутами (ясность требований, источники требований и т.д.), приоритетность
требований, управление версиями требований (связь с заявителем изменения и причины
изменения) и т.д.
инструментальные средства, поддерживающие анализ и сбор требований,
должны допускать коллективную работу, в том числе позволять нескольким пользователям
изменять требования одновременно, предоставлять возможность определять различные права
для разных ролей
пользователей (менеджер (руководитель) проекта, аналитик, архитектор,
пользователь)
составление модели данных и словаря, избегая таким образования
неоднозначности и проблемы качества данных (включая дублирование)
автоматическое генерирование документации
из существующего,
недокументированного кода
разработка архитектурного дизайна (архитектурное проектирование):
позволяет визуализировать архитектурное решение, поддерживать выбранную
методику и систему обозначений, то есть «язык» составления схем, например,
UML
позволяет описать программные компоненты и их взаимосвязи, интерфейсы
управление версиями, связь архитектурных решений с требованиями и с
запросами на изменения
создание программного кода, тестирование:
автоматическое генерирование кода на основе архи
тектурного проектирования,
в том числе экранных форм, отчетов
отладчик (debugger) кода для пошагового запуска и тестирования
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
проведение тестов, в том числе, описание, запуск тестов, анализ и
документирование результатов
комментирование и документирование к
ода
управление версиями кода
управление конфигурациями продукта:
управление версиями кода.
3.3. Проблемы CASE
средств
CASE
средства помогают более удобно пройти различные этапы разработки системы,
но с их использованием могут быть связаны проблемы и риски
Неудовлетворительная стандартизация
средства от разных производителей могут
быть не совместимы и не иметь возможности для обмена информацией, например,
различные классификации данных, неэкономичные преобразования форматов файлов. Это
заставляет использ
овать средства одного и того же производителя.
Нереалистичные ожидания
компании решают использовать CASE
средства, чтобы
снизить затраты на разработку. Однако стоимость вначале очень высока, так как более
мощные CASE
средства, как правило, дорогие. Следу
ет учитывать довольно длительный
период окупаемости. Кроме того, используя CASE
средства, необходимо подумать и о
новых стратегиях.
Медленное внедрение
применение CASE технологии может существенно изменить
привычную среду разработки. Как правило, не реко
мендуется впервые использовать CASE
средство для критических проектов и в случае сжатых сроках, поскольку использование
средств требует изучения. Возможно, стоит начать с малых проектов.
Рисунок 1
5. Скриншот низкоуровневого CASE
средства
Простейшие
коуровневые
CASE
средства можно
применять при составлении
небольших программ (и при изучении программирования). Они помогают реализовать
жизненный цикл создания программы и обычно включают в себя редактор кода для
написания текста программы, компилятор для
компиляции кода и дальнейшего запуска.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Инструментальные средства для тестирования, прежде всего, связаны с отладкой.
Отладочные средства разрешают запуск программного кода оператор за оператором,
одновременно следя за изменением значений переменных. Отобр
ажаются также сообщения
об ошибках, как при компиляции, так и во время исполнения. Все эти действия проводятся в
одной и той же среде. Часто добавляется еще и возможность получения помощи по
средствам языка
(Help), раскраска кода для более удобного слеже
ния, автоматическое
соблюдение отступов, добавление закрывающих скобок и тому подобное.
На рисунке 1
5 изображен скриншот низкоуровневый CASE
средство Bloodshed
DevC++. Находящаяся в окне редактора программа откомпилирована, в нижней части экрана
расположе
но окно с синтаксическими ошибками. Из названий меню можно сделать вывод,
какая функциональность имеется у данного средства.
Лекция 4.
Тестирование и внедрение системы
Проработав материалы данной подтемы, вы получите сведения о типах тестирования, а
также
о других необходимых этапах, имеющих место при введении в использование и
обеспечения надежности программного обеспечения.
4.1. Понятие тестирования
Качество продукта зависит, прежде всего, от качества процесса производства данного
продукта (в случае про
граммного обеспечения, процесса разработки программного
обеспечения) и от знаний, навыков и мотивации разработчиков
производителей (аналитиков,
архитекторов, программистов, менеджеров проектов и т.д.) продукта. Таким образом, пути
повышения качества прогр
аммного обеспечения
улучшение процессов, обучение людей и
т.д. Программное обеспечение также необходимо проверять, т.е. тестировать.
Тестирование используется во многих областях человеческой деятельности: в науке
тестируют гипотезы и теории при помощи на
блюдений и экспериментов, в ходе обучения
тестируются студенты, в производстве тестируется продукция.
Цели тестирования
продемонстрировать то, что программное обеспечение делает то,
что нужно, и обнаружить ошибки до того момента, когда оно будет передано
в использование.
При тестировании обычно запускают программу, используя при этом тестовые данные. Далее
проверяются результаты тестирования на нахождение ошибок и аномалий или также на
контроль нефункциональных свойств. С помощью тестирования можно найти
ошибки, но не
доказать их отсутствие. Тестирование является частью более широкого процесса валидации
(проверка достоверности) и верификации.
Типичный процесс тестирования изображен на следующем рисунке:
Рисунок 1
6. Процесс тестирования
В соответствии с
тестовыми случаями выбираются тестовые данные (вход) и
дополнительно фиксируется, какое в случае этих данных должно быть поведение системы или
какой должен быть выход. Систему запускают с выбранными тестовыми данными, и результат
сравнивают с ожидаемым ре
зультатом / поведением. Если система вела себя, как и ожидалось,
тест считают пройденным. Если нет, то ошибка обнаружена. Для регистрирования результатов
теста составляется отчет. В чем точно заключается ошибка, должны выяснить разработчики и
затем ее испр
авить.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Тестирование программного обеспечения и системы, т.е. продукта, напрямую связано с
качеством продукта. Продукт является качественным, если он удовлетворяет потребностям
работы, тому, что мотивировало создание данного продукта. Итак, необходимо прове
дение
соответствующих тестов с целью установления, соответствует ли полностью продукт
требованиям заказчика. Тем не менее, достижение абсолютной уверенности, что продукт не
содержит ошибок, в реальности невозможно.
4.2 Цели тестирования
В заключение вышеу
помянутого можно сказать, что тестирование имеет две основные
цели:
Показать разработчику и клиенту, что программное обеспечение отвечает
заявленным требованиям. С точки зрения клиента это означает, что для каждой
функциональности, желаемой с его с
тороны и записанной в документе требований,

проведен
как минимум в один тест (как правило, конечно, больше). В случае общедоступного
программного обеспечения то, что в программном обеспечении протестированы
все заданные
основные свойства. Соответс
твующий данной цели тест называют
валидацией
(проверкой
достоверности). Успешное валидация указывает, что система работает как надо.
Найти ситуации, когда программное обеспечение ведет себя ошибочно,
нежелательно или не соответствует спецификации.
Следовательно, поиск ошибок
в этом
смысле предназначен для того, чтобы ликвидировать нежелательное поведение системы, как,
например, крах системы,
нежелательное взаимодействие с другими системами, неправильные
расчеты, поврежденные данные. Выполняющее
эту задачу тестирование именуется
тестированием дефектов (defect testing). Здесь являющийся успешным тест показывает
действие ошибки
системы, или, другими словами, находит в
системе ошибку (к дальнейшему
исправлению которой, и приступают).
4.3. Типы тес
тирования
Прагматически от программного продукта ожидается надежность, т.е. что программное
обеспечение функционирует желаемым образом при заданных условиях. Способ
функционирования и условия работы необходимо задавать на начальных этапах разработки
продук
та, а также уточнять в ходе всего цикл разработки. На практике невозможно
протестировать все возможные комбинации входных параметров и сравнивать выход
программы с ожидаемым результатом. Следовательно, очень важно выбрать эффективный
набор тестовых данных
в сочетании с типом тестирования. На настоящий момент
используются также и автоматизированные тесты. Все тесты, например, как тесты
эксплуатационной пригодности, нельзя автоматизировать.
Сущностью тестирования являются проверочные действия, которые демонст
рируют
выполнение всех представленных требований к программному обеспечению. При
тестировании также надо удостовериться, что все представленные для исправления дефекты
могут быть исправлены, и исправления, в свою очередь, не станут основой новых ошибок.
оскольку качество программного продукта во многом зависит от типа проводимых
испытаний, необходимо их тщательно выбирать и согласовывать с заказчиком продукта.
Часть тестирования делает программист, часть тестирования проводят тестировщики, и
напоследок, п
ривлекают клиентов
заказчиков. Дальше приводится краткий обзор различных
видов тестирования.
В случае
модульного тестирования
тестируют конкретные программные модули
одну
подсистему из всей системы. Тестирование проводит в общем случае разработчик,
заним
ающийся реализацией модуля. Модуль должен быть протестирован прежде, чем его
проинтегрируют в остальную систему. Тестируя модуль, необходимо следить, чтобы он
отвечал при анализе поставленным требованиям. Целью тестирования модуля является все же
нахождени
е ошибок, а не установление соответствия требованиям пользователя. Например,
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
работают ли корректно добавленные в модуль функции и возвращают ли правильные ответы.
Модули тестируют на основе данных: верных, неполных и ошибочных. Обычно производится
так назы
ваемое тестированием типа «белый ящик», то есть тестировщик знает внутреннее
строение и логику работы тестируемого программного обеспечения.
В случае
интеграционного
тестирования
тестируют совместную работу между
модулями
проверяют, работают ли объединен
ные друг с другом модули, и не генерируют ли
самостоятельно работающие без ошибок модули совместные ошибки. В качестве
тестировщика обычно используют независимого тестировщика, то есть тестировщика,
который сам не разрабатывал проверяемые модули. Примером
интеграционного теста
является еженощная компиляция, чтобы проконтролировать поведение разрабатываемого
продукта.
В случае
системного тестирования
тестируют работу системы как единое целое. При
тестировании системы методом «черного ящика» рассматривают час
ти системы,
непосредственно доступные пользователю (пользовательский интерфейс), без углубления в
код (отсюда и наименование «черный ящик»). Тестовые случаи составляет тестировщик (в
основном на основе пользовательских историй), который проводит также тест
ы.
Тестировщиком может быть как заказчик, так и быть со стороны исполнителя. Этот тип
тестирования также называют функциональным тестированием.
Регрессионное тестирование
это тестирование любых типов программного
обеспечения, которое используют после вве
денных изменений кода / системы. Например, при
добавлении новой функциональности, изменении конфигурации, обновлении. Цель
регрессионного тестирования
убедиться, что изменения и исправления ошибок не
порождают в системе новые ошибки. Тестируют измененные
модули (модульное
тестирование), связанные с ними модули и функциональность всей системы (функциональное
тестирование). Основным методом является повторный запуск уже используемых тестов с
тем, чтобы убедиться, что система работает, старые ошибки не повто
ряются, и не возникают
новые. В случае регрессионного тестирования полезно автоматизировать работу для
уменьшения общей рабочей нагрузки.
Тестирование
производительности
нагрузочные тесты
предназначены для проверки
соответствия данной системы техническим
требованиям. Тестирование производительности
можно проводить несколькими способами
путем измерения производительности каждого
компонента, либо экспериментируя с большой совокупностью тестовых данных при обычном
использовании системы. Цель тестов произво
дительности
распознать критические места, где
может возникнуть перегрузка и потратить время на оптимизацию этих мест.
Если обычно тестовые данные продумываются тщательно и исходные данные
выбираются исходя из задач, то в случае такого тестирования можно
тестировать также с
помощью случайной, сгенерированной компьютером большой совокупности данных.
Цель
проверки
достоверности (валидация)
подтвердить, что выход работы
программного обеспечения в обработанном виде годится для заданного использования.
«Делае
м ли мы корректную программную систему?»
Цель
верификации
подтвердить, что каждый выход процесса или проекта отвечает
специфицированным требованиям. «Делаем ли мы программное обеспечение правильно?»
Юзабилити
тесты
(удобство использования) оценивают удоб
ство использования
системы с точки зрения пользователя: цель юзабилити
тестирования
выявление ошибок и
мест, которые можно было бы улучшить, для этого наблюдают за использованием продукта
пользователями. Конечно, к юзабилити
тестированию не относится то,
когда пользователю
показывают прототип / изображение (скриншот) будущего продукта и спрашивают, понятно
ли. При тестировании человек должен выполнять конкретные задания, и, таким образом,
выясняются плохо понимаемые места в программной системе или также н
а веб
странице. Для
юзабилити
тестирования подходят так называемые «люди с улицы», те, которые видят
систему впервые. Но также и эксперты, которые смогут, исходя из своего опыта и пользуясь
теорией, найти слабые места в удобстве использования.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Приемочный т
, или
тест
акцептования
тест, проводимый заказчиком для
оценивания и принятия продукта. Тестовые случаи при приемочном тестировании описывают
общими словами критерии передачи и приемки проекта, тестовые случаи, о которых заказчик
и исполнитель договар
иваются до реализации проекта, должны быть конкретными и
измеримыми;
Исследование (проверка) кода
в отличие от рассмотренных выше типов тестов, в
случае исследования кода код не выполняется, однако инспектируется тестировщиком.
Исследование кода предпола
гает наличие опросных листов, на основе которых оценивают код
и ищут в нем ошибки, что в тестах при обычных условиях не делают. Исследователи кода
должны быть очень компетентными, например, в части используемого языка. Что ищут?
Например, неинициализирован
ные переменные, неподобающе выбранные типы данных
переменных, выход переменных или индекса массива за разрешенный предел, порядок
действий, совместимость различных типов переменных и т.п.
Следует комбинировать вышеупомянутые техники. Имеется целое множеств
тестируемых свойств, следует учитывать то, что на этапе установления требований к продукту
для соответствующего свойства требования уже установлены и установлены так, чтобы
позволить контролировать, то есть измерить, соответствие продукта. Перечислим ниж
наиболее важные
требования к характеристикам программного обеспечения
функциональность
атрибут продукта, выражающий его соответствие поставленным
задачам, это значит, что программное обеспечение может делать то, в чем нуждается клиент;
защищенность
свойство продукта ограничивать доступ неавторизованным лицам к
бизнес
логике / данным;
отказоустойчивость
атрибут продукта, выражающий способность обеспечить
определенную работоспособность и в случае возникновения ошибочного состояния
функционального уро
вня или неправильного использования интерфейса;
самовосстанавливаемость
атрибут продукта, выражающий способность
восстанавливать нормальный режим работы и работоспособность после возникновения
ошибочного состояния;
восстанавливаемость
атрибут продукта,
выражающий сложность и необходимый
объем работ, и время, необходимое для восстановления основной функциональности системы
в случае аварийной ситуации;
эффективность, производительность
атрибут продукта, выражающий время
реагирования и затрачиваемое на о
бработку данных под нагрузкой;
применяемость
понятность
атрибут продукта, выражающий необходимый объем времени, в
течение которого пользователи поймут логическую концепцию и применимость;
обучаемость
атрибут продукта, выражающий необходимый объем време
ни, в
течение которого пользователи смогут научиться использовать систему (например, ввод /
вывод данных и т.д.);
простота использования
атрибут продукта, выражающий гибкость системы и
сложность изменения системы конечными пользователями, чтобы сделать с
истему удобной
для себя;
привлекательность
атрибут продукта, выражающий удовлетворение конечных
пользователей от услуг, представления и поведения, предлагаемых продуктом;
стабильность
атрибут продукта, выражающий величину риска возникновения
неожиданно
го поведения, последующего за внесением изменений продукта;
повторная используемость
атрибут продукта, выражающий возможность
повторного использования компонентов продукта в других программных проектах
мобильность
атрибут продукта, выражающий затраты в
ремени и рабочие затраты
при внедрении продукта в другие среды, платформы.
Различные типы тестов и соответствие этапов разработки иллюстрирует
нижеприведенный рисунок. Непрерывные стрелки указывают шаги процесса разработки
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
программного продукта во временно
м порядке, пунктирные линии указывают на связи между
типами тестов и этапами разработки: например, модульный тест контролирует соответствие
готового модуля спецификации, которая рождается на шаге детального проектирования;
системный тест соответствует ша
гу установления требований к программному
обеспечению и отвечает на вопрос о том, соответствует ли целиком готовая система
установленным требованиям. Приемочный тест отвечает на вопрос, удовлетворяет ли
программный продукт потребностям клиента, или созрел
ли продукт для внедрения и / или
продажи.
Рисунок 1
модель тестирования программных продуктов. Модель частично
вдохновлена водопадной моделью
Найденные в ходе тестирования ошибки следует документировать. Документирование,
безусловно, не означает оф
ормление бумажных документов, наоборот, используют
специальные CASE
средства, например, Mantis и Bugzilla, которые также помогают в передаче
отчетов об ошибках программистам.
Дополнительно к тестированию с качеством продукта связаны и исследования.
Исследо
вания
это деятельность, которая обычно осуществляется в виде групповой работы. В
ходе исследования обсуждается и оценивается статус проекта программного обеспечения,
риски, делаются решения по управлению ресурсами и из сферы требований
решений
продукта.
Решения должны протоколироваться с указанием лиц, ответственных за
своевременное внедрение решений.
Специальными
типами исследований
являются:
технические совещания, в котором участвуют архитекторы, аналитики,
проектировщики продукта, клиенты. Анализируют
и делают решения, затрагивающие
структуру продукта;
исследования кода;
аудиты, которые обычно проводятся независимо представителями внешних
организаций. Оценивают, среди прочего, соответствие продукта и / или процесса разработки
требованиям, стандартам, фо
рмальным процедурам, договорам и т.д. Самая известная в мире
аудиторов организация
ISACA (
http://www.isaca.org
), сертифицированные ее аудиторы
носят титул CISA (Certified Information System Auditor
сертифицирова
нный аудитор
информационных систем).
4.4. Внедрение системы программного обеспечения
Протестированный программный продукт должен быть внедрен. Внедрение системы
охватывает весь процесс внедрения программного обеспечения, перенос данных из старой
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
системы,
обучение пользователей и системных администраторов, поддержка пользователей
системы и внесение исправлений для устранения ошибок, обнаруженных после
развертывания.
Внедрение программного продукта содержит ряд различных шагов. Точный процесс
отсутствует, п
оскольку обстановка, в которой программное обеспечение внедряется,
существенно варьируется у различных клиентов. Однако, как правило, необходимы
следующие виды деятельности:
развертывание программного продукта
, т. е. инсталлирование (установка) на
«железо»
. Для более сложных, распределенных систем полезны UML
схемы развертывания,
которые описывают локализацию программного обеспечения на различные аппаратные узлы,
в том числе:
Выпуск
(release). Выпуск следует за процессом разработки. Он включает в себя все
иды деятельности, подготавливающие систему для ассемблирования (перевод в машинный
код) и передачу клиенту. В ходе этой деятельности определяют также ресурсы, необходимые
для работы у клиента.
Установка (инсталлирование) и активизация
программного обеспече
запущенные компоненты устанавливают на компьютеры
серверы, где они должны впредь
работать. Более сложные системы также нуждаются в инсталлировании прочего
поддерживающего программного обеспечения (например, новая версия процессора баз
данных, и т.д.)
. Часто большую систему устанавливают в нескольких средах
например, в
дополнение к тестовому серверу, который может быть впоследствии использован для
обучения пользователей и для других целей.
Адаптация
и обновление
в процессе обновления устанавливают
новую версию
системы, адаптации
это также изменение системы, но ее основанием является, главным
образом, изменение в клиентской среде.
перенос данных из старой системы
в используемой ранее системе имеются, как
правило, данные, которые следует использ
овать и в дальнейшем. Желательно создание
инструмента автоматического переноса данных, который запускают однократно при переносе
данных из старой системы к новую. Механизм переноса может быть довольно сложным,
особенно если структуры данных старой системы
и новой системы существенно различаются.
Если совокупность данных
небольшая и / или выработка алгоритма автоматического
преобразования чрезмерно сложна, можно данные переносить вручную. В этом случае может
понадобиться создать рапорты для извлечения данн
ых из старой системы и формы (средства)
для ввода данных вручную во внедряемую систему;
внесение изменений
в другие приложения
, которые должны работать совместно и /
или которых используют вместе развертываемым с программным продуктом;
подготовка
и проведе
ние обучения людей
, соприкасающихся с программным
продуктом, согласно следующим ролям:
обычные пользователи
администраторы
поставщики услуг сопровождения
Обучение должно охватывать как теоретическую, так и практическую части.
Практическую часть желательно
проводить в созданной среде (как программное обеспечение,
так и данные), созданной для тестирования и / или обучения, прежде всего для
предотвращения рисков в интересах конфиденциальности, доступности и целостности
реальных данных;
создание
состояния готов
ности
при управлении кризисной ситуацией и для
поведения в кризисных ситуациях. Возможные кризисы при внедрении программного
продукта:
отказ программы в рабочей среде
обнаружение в программе ошибок
потери данных.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Ошибка в программном продукте может привест
и к приостановке бизнес
процессов,
значительный экономический ущерб и ущерб репутации предприятия или учреждения
государственного сектора. В ходе подготовки к кризисной ситуации согласовываются роли,
процессы и управление: как поступать в кризисной ситуаци
и, как общаться с пользователями
и теми, кто занимается регулированием кризисной ситуации, как и когда, информировать
общественность, как при необходимости и возможности использовать старое программное
обеспечение и прочее.
Люди также являются риском при в
недрении программного обеспечения. Особо это
может проявиться при внедрении программного обеспечения впервые, когда может произойти
сильное противостояние внедрению. Часть из этих рисков можно преодолеть при помощи
вышеупомянутого обучения. Вдобавок, необх
одимо продумать ежедневные процедуры. Могут
ли используемые до сих пор процедуры функционировать теперь таким же образом, если
будет использоваться программная система? Часто нет. Это может обусловить большую
человеческую путаницу и добавить противостояние
к обновлениям. Таким образом, в
дополнение к техническому обучению, как использовать программное обеспечение, следует
обучать работников обдуманно, научить их думать по
новому.
Например, как после введения цифровой (дигитальной) системы управления
докумен
тами поступить со счетом, чтобы его смог бы перечислить бухгалтер? Или как может
ученик после внедрения новой учебной информационной системы узнать о переэкзаменовках,
если больше такую информацию не вывешивают на стене? Говоря в общем, при внедрении
аммного обеспечения может понадобиться перепланирование необходимых бизнес
процессов, у которого есть две стороны
согласование бизнес
процессов, которое
представляет организационную точку зрения, приемка и одобрение, которое представляет
точку зрения инд
ивидуума.
Кейперс Джонс (Capers Jones) делится следующими рекомендациями (best practices) в
своей книге « Software Engineering Best Practices», которыми можно воспользоваться во время
этапа внедрения:
Объединяйтесь с сетью пользователей того же самого прил
ожения (если эта сеть
существует)
Просите совета и рекомендации по внедрению программного обеспечения у нынешних
пользователей программного обеспечения
Находите консультантов, у которых есть опыт по внедрению.
Побеспокойтесь о создании подходящих специализ
ированных курсов и находите
соответствующие курсы.
Приспосабливайте программное обеспечение для местных нужд.
Создавайте интерфейс между новым разработанным программным обеспечением и
заменяемым программным обеспечением.
Регистрируйте и сообщайте об ошибка
х и дефектах, которые возникают во время
внедрения.
Устанавливайте патчи и обновления производителя программного обеспечения.
Оценивайте успешность нового приложения.
Согласно этому же автору этап внедрения может быть очень длинным, даже 12 месяцев,
и потр
ебовать работу нескольких десятков людей и около 1 миллиона долларов наличными.
Программное обеспечение, которое не создается непосредственно для данной фирмы,
может потребовать также довольно долгой и тщательной настройки прежде, чем его вообще
можно буде
т использовать.
Ранее описанное внедрение программного продукта скорее является однократным
действием. В соответствии с моделью жизненного цикла программного обеспечения затем
следует
фаза сопровождения
(поддержки), которая по существу продолжается до тех,
пока
программное обеспечение остается в эксплуатации.
В связи с изменениями в бизнес
среде, законодательстве, ведении бизнеса необходимо
приводить программное обеспечение в соответствие со временем (обновлять), также
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
требуется, чтобы выявленные ошибки прог
раммного продукта были бы исправлены. Это
помогает осуществлять управление изменениями программного продукта в согласованном
порядке, в этом также помогают специальные CASE
средства, которые позволяют сообщать
об ошибках в продуктах или о необходимости исп
равлений; задавать приоритеты требованиям
об изменениях на основе важности, критичности и пр., направлять на выполнение
исправлений, управлять версиями программного обеспечения и т.д.
Кроме того, вышеописанные этапы внедрения присутствуют, по крайней мере,
частично,
при проведении значительных изменений в программном обеспечении (например, добавляя
новую функциональность)
4.5. Руководство по эксплуатации и технические руководства
Руководство пользователя
(user guide) является техническим документом, которы
предназначен для оказания поддержки пользователям конкретной системы. В этом смысле
используется и слово «мануал» (manual). Даже от самого лучшего программного обеспечения
не будет пользы, если пользователь не умеет его использовать. Вдобавок к руководст
ву
пользователя к совокупности пользовательской документации принадлежат инструкции по
сопровождению, руководства по эксплуатации (поддержки работоспособности), учебные
материалы и прочие материалы
руководства исходя из специфики системы.
Разработчик систе
мы должен давать вместе с системой и руководство пользователя.
Хорошо, если руководство пишет
технический
специалист
(technical writer), у которого есть
опыт в написании таких материалов, но не программист. В маленьких компаниях обычно
такой специалист отс
утствует, и эту работу должен делать администратор (менеджер) или
любой другой член технического персонала.
В руководство пользователя для облегчения понимания обычно добавляют скриншоты.
Используемый язык должен быть по возможности простым и подходить цел
евой группе. Не
желательно использовать жаргон, специфические термины должны быть объяснены.
Руководство пользователя состоит из следующих составляющих:
содержит название и пояснения авторских прав
предисловие, которое дает рекомендации по использованию ру
ководства, и содержание
руководство по использованию (наиболее важных) функциональных возможностей
системы
раздел пояснения ошибок (troubleshooting), который должен охватывать основные
проблемы и возможности их преодоления
Часто добавляется и раздел часто
задаваемых вопросов (FAQ), который в цифровой
форме легко хранить и при необходимости дополнять, контактная информация, ссылки на
дополнительные материалы, терминологию и индекс.
Посмотрите, например, руководство пользователя Google Earthi:
http://earth.google.com/support/bin/static.py?page=guide_toc.cs
Само руководство должно служить ориентиром в работе конечного пользователя и
включать:
описание входной информации: какую инфор
мацию система ожидает от пользователя,
каким должен быть входной формат данных и допустимые пределы значений, как вводить
данные (с клавиатуры, файлы данных и т.п.) и др.
описание выходной информации: какой вывод, как его интерпретировать, также в
руководс
тве следует описывать нестандартный вывод, например, сообщения об ошибках и их
значения и т.д.
описание функциональности: как систему на самом деле ввести в эксплуатацию, как
поступать для достижения той или иной цели.
Руководство пользователя может быть о
рганизовано тремя различными способами,
которые подходят для различных целевых групп и пользователей с разным уровнем:
Учебные материалы
(tutorial)
пошаговое описание типичных свойств (функций). Этот
вариант подходит для начинающих для первичного ознаком
ления с программной системой.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Тематический материал
каждая глава посвящена своей собственной теме, содержит,
как правило, более подробное описание функциональности по сравнению с учебным
материалом и посему подходит продвинутым пользователям системы для
открытия новых
возможностей системы.
Информация, представленная в алфавитном порядке
, необходима опытным
пользователям как справочный материал, чтобы освежить знания, что
то вспомнить.
Так как руководства в основном создаются в цифровой форме, то это помог
ает
предоставить возможность поиска.
Одним из важнейших условий руководства пользователя является, однако, то, чтобы оно
отражало реальное состояние системы. Часто возникает ситуация, когда для первой версии
системы создано руководство, но при дальнейшей м
одернизации системы руководство
остается без изменения (по забывчивости?). Такое неадекватное руководство служит
источником для достаточной путаницы.
Техническая документация
(technical reference document) представляет собой
совокупность документов, исполь
зуемых при конструировании или проектировании,
производстве (изготовлении) и использовании технических объектов.
Техническая документация содержит техническое описание программной системы, в том
числе, документы, которые создаются в процессе разработки. По
скольку в ходе разработки
различные методы рассматривают созданную документацию несколько по
разному, то трудно
дать однозначное перечисление документов.
В узком смысле под технической документацией имеются в виду документы, которые
помогают в обслуживании
и эксплуатации системы и быть в ногу со временем (например, как
устанавливать обновления). Документ описывает структуру программной системы (код и
список прочих файлов). Возможно наличие и комментированного исходного кода. Таким
образом, часть технической
документации может располагаться внутри самого программного
обеспечения. Кроме того, еще описания структур данных и наиболее сложные алгоритмы.
Документация может включать в себя много рисунков, которые могут, например, быть
представлены при помощи языка
моделирования UML. При составлении технической
документации могут помочь специальные генераторы документации. Например, такой
генератор способен собрать прототипы (заголовки) всех находящихся в модуле функций,
следующие за прототипами комментарии и сформир
овать из этого отдельный документ. И вот
имеется документированный обзор того, что содержит модуль, и что умеют делать
имеющиеся функции.
Описание структуры системы будет полезно и тем, кто ищет ошибки в системе или
должны добавить изменения и новую функци
ональность.
Лекция 5
. Управление и безопасность системы
Цели обучения
Проработав материалы данной подтемы, вы получите сведения, в каких средах какие
действия разумно предпринять и вас ознакомят, какие процедуры требуется применять для
обеспечения безопа
сности системы.
Среда создания системы
Среда разработки
(development environment)
это среда, в которой
используется
совокупность программ с необходимой функциональностью для разработки системы. Понятие
«среда разработки» можно понимать в разных пло
скостях. Например, основным рабочим
инструментом программиста является
интегрированная среда разработки (т.н. IDE), которая
имеет все инструменты для удобства создания кода, компилирования и т.д. (см. также B1.3).
На более высоком
уровне среда разработки
это
налаженная среда вместе с сервером
разработки, данными, процессором базы данных и прочим необходимым, чтобы исследовать и
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
тестировать работу частей разрабатываемой системы. У этих сред имеется еще английское
название «sandbox».
Тестовая среда
(tes
t environment) является важным связующим звеном между средой
разработки
и реальным рабочей средой. Она состоит из оборудования (серверы, рабочий (е)
компьютер (ы) и т.д.) и компонентов логического уровня (серверная операционная система,
клиентская операци
онная система, сервер баз данных, клиентский пользовательский
интерфейса, веб
браузер (обозреватель) и другое программное обеспечение, необходимое для
работы всей ). Важно то, что среда охватывает как клиентские, так
и серверные компоненты,
и использует т
очно такие же версии программного обеспечения, которые находится на
клиента, т.е.
по возможности аналогичные рабочей среде.
В противном случае может
выясниться в процессе внедрения, что система не работает и нуждается в переделке. В
тестовой среде
делаю
т функциональные тесты
и тесты производительности, тестируют
обновления системы и исправления ошибок. Вместе с тем, могут производиться и
пользовательские приемочные испытания (тесты). Существует эмпирическое правило, что
вся
тестовая среда отделена от р
абочей среды, и все обновления и исправления
прежде
контролируют
тестируют в тестовой среде и только затем инсталлируют их в рабочую среду.
Тестовая среда
подходит также для обучения клиентов, это гарантирует, что в ходе этого
процесса не будут поврежден
ы, например, данные.
Рабочая среда
(production environment)
это среда, в которой производится фактическая
работа, то есть то, что компания (фирма) делает в своей
повседневной бизнес
деятельности.
Рабочая среда
аналогично тестовой среде состоит из полн
ой установки совокупности
необходимых аппаратных и программных средств.
В рабочей среде опробовать обновления
системы неправильно, поскольку
это может парализовать бизнес
деятельность. Для
испытаний служит тестовая среда. Возможность обучения
зависит ск
орее от того, что
конкретно собираются делать и может ли ученик из
за неопытности причинить ущерб.
5.2. Управление конфигурациями
Над созданием программной системы и последующим ее исправлением и изменением
работают многие разработчики.
Эта деятельность
продолжается годами и в течение этого
времени
создается много вариантов программного обеспечения, т.н. версий.
Чтобы
внедрение обновления программного обеспечения и
при необходимости возврат
к старым версиям прошли бы гладко, надлежит соблюдать некоторы
е процедурные правила,
систематизировать весь созданный код и соответствующую документацию: требования
обновлений, отчеты (рапорты) об ошибках и т. д.
Каждое программное обеспечение изменяется и имеет множество различных версий.
Новые версии реализуют пред
ложения об изменениях, исправления ошибок, адаптируют
программное обеспечение
к прочим аппаратным средствам
и операционными системам.
Во
всем этом хаосе изменений нужен порядок и система.
Управление конфигурациями
(configuration management)
управлен
ие кодовой базой
и документацией программной системы, находящейся под разработкой, следуя процедурам и
используя подходящее программное обеспечение. Управление конфигурациями необходимо
для того, чтобы не потерять последствия изменений и версий компонентов
в различных
версиях системы. Управлением конфигурациями может заниматься целая отдельная команда,
заданием
которой является слежение и обеспечение того, чтобы обновления программного
обеспечения добавлялись бы системой
управляемым образом, и информация
об изменениях
вводилась бы и сохранялась с достаточной детализацией.
Поскольку все
таки
разработчики
вносят изменения, то для систематизирования их работы имеются
ясные процедурные
правила ввода.
Например, при каких условиях можно добавлять новый код
к существующей
системе, когда все вместе компилировать, где и как регистрировать изменения и так далее.
Процесс управления конфигурациями разделяют
на управление изменениями,
управление версиями, управление сборками (build) и релизами (версия, release) си
стемы.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Задача
управления версиями
контроля
версий
это сохранение последовательности
версий всех компонентов программного обеспечения и
сделанных в них изменений. Этим
также гарантируется, что сделанные различными разработчиками изменения не будут меш
ать
друг другу.
Для успешного
управления версиями
стоит использовать соответствующее
программное обеспечение (например, CVS, Git, Subversion и др.). Хорошее программное
обеспечение разрешает даже одновременную работу с одним и тем же файлом.
С управлением
версиями
тесно связано
управление релизами.
Релиз системы
это версия программного обеспечения, которая поставляется
пользователю. Для программных средств общего назначения (офисное программное
обеспечение и т.д.) различает два типа релизов:
основная вер
сия
(главный релиз, major
release) приносит некоторую важную новую функциональность
неосновная версия
(minor
release) исправляет проблемы,
которые появились из
некоторой ошибки и которые
выявил
пользователь. В случае специализированного программно
обеспечения для разных
клиентов могут быть
различные релизы / версии,
и каждый (ая) из них может
разрабатываться по
своему. Так, на основе одной система можно
разработать несколько
различных версий одновременно. В случае возникновения проблемы при и
спользовании
программного обеспечения необходимо, чтобы было возможно восстановить именно такой
вариант программного обеспечения как тот, что был передан этому клиенту. Посему должна
быть сохранена достаточно детализированная информация релиза, т.е. каждый
релиз следует
документировать таким образом, чтобы его позже можно было воспроизвести.
5.3. Защита данных
Любая информация, хранящая или передающая данные, включая код программного
продукта, имеет ценность для потребителя (человека или технической систем
ы). Таким
образом, нужна защита данных, которая должна обеспечить сохранение значений данных, т.е.
безопасность данных. Традиционно, прежде всего, для безопасности данных соблюдается их
конфиденциальность, т.е. секретность. На сегодняшний момент часто скло
нны отождествить
защиту данных с секретностью, хотя масштабность защиты данных намного шире.
Безопасность данных как общая цель является многомерной и состоит из подцелей.
В основе разнообразных методик могут быть различные модели защиты данных,
которые ох
ватывают 3
6 подцели. Наиболее распространенная модель защиты данных
это
модель, которая основывается на трех подцелях, на трех свойствах данных, а именно
обеспечении доступности, целостности и конфиденциальности.
Доступность
данных
своевременный и про
стой доступ (например, в необходимый/ в
нужный момент времени и в течение необходимого / требуемого периода времени) для этого
авторизованных пользователей (физические или технические средства) к пригодным для
использования данным в предварительно договоре
нное нужное / требуемое рабочее время.
Доступность является основным требованием для всех данных и прочего инфо
достояния
каждой информационной системы данных; при утрате доступности вся информационная
система становится ненужной.
Целостность данных
гара
нтия достоверности / полноты / своевременного обновления,
подлинность происхождения и отсутствие несанкционированных изменений данных. Одна из
предпосылок нормальной работы учреждения такова, что для каждого набора данных (записи
документа, файла, архивиро
вания, реестра и т.д.) можно установить, кто и когда его создал, и
быть уверенным в том, что эта совокупность данных несанкционированно не изменилась
после своего создания под влиянием стихийных факторов или в результате чьей
либо
деятельности. Все данные
должны всегда иметь относящиеся к ним имя создателя, дату
создания, контекст с пр. фактами. Повреждение этих связей, а также потеря и изменение
самих данных являются негативно влияющими на работу последствиями.
Конфиденциальность данных
доступность данны
х только на это авторизованных
пользователей (физических или технических систем) и недоступность для всех прочих.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
В случае защиты открытых данных должны быть обеспечены доступность и
целостность.
5.4. Риски
Риск
это возможность того, что при каком
либо
действии или бездействии
складывается неблагоприятная ситуация, результатом которой являются потери. Следует
предвидеть риски и пытаться смягчить их влияние. О необходимость учета риска можно
судить после соответствующего анализа. В отношении каждого риска
можно определять его
вероятность (низкую, среднюю, высокую) и каким является результат материализации риска
(незначительный, терпимый, серьезный, катастрофический).
Работа каждой системы (в том числе, системы программного обеспечения)
сопровождается риска
ми. Современные системы программного обеспечения сохраняют и
обрабатывают различные данные (медицинские, личную информацию, военные данные и
также секретную информацию). Эти данные представляют интерес для организованной
преступности, террористов и тому по
добное. Данные находятся под ежедневным риском от
возможных атак хакеров, вирусов и программ
шпионов. Риски представляют собой и
нелояльные работники, которые могут украсть данные. Эти риски можно уменьшить, создавая
программное обеспечение безопасным и по
возможности свободным от дыр в безопасности.
Доступ к данным должен быть защищен как программно, так и аппаратно. Одним из
источников риска являются отказы в работе системы. С одной стороны они могут
предоставить возможность доступа к данным, с другой сто
роны крах системы влияет на
повседневную деятельность компании, то есть возникает опасность того, что компания не
сможет выполнять свои основные функции.
Ни в одной практической системе нет полной защиты, то есть полной доступности,
полной целостности и по
лной конфиденциальности. На какие аспекты информационной
защиты следует в случае конкретных данных обратить внимание, зависит от конкретной
информационной системы и ее целей, т. е. от ценности обрабатываемых данных. В
большинстве случаев, следует брать в р
асчет все три компонента безопасности, но с разным
весом. Требуемый в организации уровень информационной безопасности зависит от задач
организации, законодательных актов и предписаний, внутреннего распорядка деятельности
организации, гарантированного или т
ребуемого уровня защиты информационных систем и
поставщиков услуг и партнеров или договорных партнеров и т.д. Итак,
безопасность
данных
означает, что достигнуты три цели: информационная доступность, информационная
целостность, информационная конфиденциальн
ость.
5.5. Гарантирование безопасности систем
Следует считаться с аспектами безопасности систем, начиная с первых шагов процесса
разработки
при установке потребностей пользователя, концепции системы и системных
требований. Эффективнее и экономически выг
однее необходимые меры безопасности
проектировать и реализовывать в системе во время создания, а не рассматривать безопасность
как что
то обременительное и сразу доход не приносящее и добавлять меры безопасности
после внедрения продукта и первого серьезног
о инцидента безопасности. Безопасность
не
«надстройка», безопасность
свойство продукта.
Важно понимать, что безопасность не достижима исключительно техническими
средствами, или еще более узко, при написании безопасного кода. Безопасность значительно
днимается на необходимый уровень при помощи организационных, процедурных мер,
образовательной подготовки пользователей, мотивации и физическими мерами безопасности
Повышение безопасности
состоит в отражении потенциальных уязвимостей и
внутренних и вн
ешних угроз системы. По сочетанию уязвимостей и угроз определяют
вероятность появления и серьезность последствий. При помощи их умножения
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
устанавливаются важнейшие риски и планируются необходимые превентивные или
смягчающие меры.
Далее следуют несколько пр
имеров возможных мер, которые должны помочь защитить
корпоративные данные от несанкционированного доступа:
Физический уровень
безопасность офисных помещений, ноутбуков и домашних
компьютеров. В домашний компьютер могут попасть конфиденциальные данные, ес
ли
разрешается работу дома делать. Ноутбуки могут быть украдены как на улице, так и дома, за
границей их могут конфисковать. Для защиты от этого компания (фирма) может запретить
передвижение с ноутбуками и работу на дому. И на рабочем месте компьютеры долж
ны
находиться «за замком и засовом». Также могут запретить перемещения в контору и из
конторы с различными носителями (CD
и DVD
диски, флешки, внешние жесткие диски),
Работа на дому в любом случае приносит риски даже тогда, когда работник честен. Поскольк
домашняя компьютерная сеть (особенно беспроводная локальная сеть) не может быть в
достаточной степени защищена.
Процедурный уровень
используется при обработке данных по фиксированным
«правилам игры», при обеспечении физического и логического доступа для
разных
работников, при резервном копировании данных и при прочей деятельности. Трудно провести
довольно четкую грань с предыдущим уровнем. Пример о том, что работа с ноутбуком не
разрешается в домашних условиях, может также быть определен и на этот уровень
Программный уровень
ограничивают доступ пользователям и делают данные
системы
доступными только дна это уполномоченным лицам. Для доступа к данным и всему
компьютеру пользователь должен себя аутентифицировать. Для этого имеются пароли, но
более безопас
ными являются считыватели отпечатков пальцев и сетчатки глаза. Все же это не
гарантирует достаточно сильную защиту, поскольку ошибки в программном обеспечении
можно использовать в качестве обходных путей для взлома системы (back door). Разрабатывая
чувстви
тельные системы, следует обращать внимание на вопросы безопасности системы уже
при разработке системы и тщательно контролировать программное обеспечение относительно
конкретной возможности атак. Всевозможное рассмотрение вариантов атак не входит в
текущий
материал.
Наиболее традиционными методами, используемые для понижения риска потери данных
(например, в случае неисправности находящихся в системе аппаратных или программных
средств), является систематическое резервное копирование, сохранение данных
дублиро
ванием, использование RAID
дисков и т.д.
Соответствующим специалистам не нужно хвататься изобретать все действия по защите
с самого начала. Имеются разработанные инфраструктуры, которые планируют процессы,
процедуры, поведение и пр. для обеспечения безопас
ности программных систем и данных.
В Эстонии широко распространена
система
мер по обеспечению безопасности ISKE
ISKE
это сложный комплекс мер по обеспечению безопасности, цель которого
помочь
защитить и сохранить:
данные и базы данных
оборудование
среду по обмену данными
программное обеспечение.
ISKE состоит из общего распорядка требований по безопасности и описания мер
безопасности. В дополнение к техническим мерам ISKE содержит также рекомендации по
организации, инфраструктуре и кадровому обеспече
нию. Система ISKE в первую очередь
предназначена для достижения и поддержки безопасности информационных систем,
используемых при ведении баз данных, которые регулируются законом о базах данных, и
связанного с ними информационного имущества, но также примен
има и в других
государственных учреждениях и самоуправлениях, коммерческих предприятиях и
некоммерческих организациях.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Для достижения необходимой защиты конкретных данных сначала подразделяют
данные на классы безопасности с учетом информационной конфиденци
альности, целостности,
доступности. Затем устанавливают нужный уровень безопасности для защиты данных по
классу безопасности.
Уровни безопасности ISKE
низкий, средний и высокий.
Каждому уровню безопасности отвечает надежный комплект мер безопасности ISKE
, с
помощью которого защищают данные. Задачей пользователя остается их осуществление.
Ежедневными работами по обеспечению безопасности
являются следующие:
Следует
регулярно
делать резервное копирование
всех важных данных. Разработаны,
например, схемы для п
роведения малого резервного копирования один раз в день и полного
один раз в неделю. Какая именно схема точно подходит, можно определить уже на основе
существенности данных (лишнее резервное копирование становится слишком дорогим и
ресурсоемким). Даже то
гда, когда резервное копирование выполняется совершенно
автоматически, следует все же периодически проверять систему, чтобы система продолжала
бы работать. И важно также то, где хранить резервные копии. Если они находятся, например,
рядом с сервером на сто
ле, то в случае пожара не будет от копий большой пользы.
Человеческий фактор
: от политик безопасности есть польза только тогда, когда им
следуют и используют ежедневно. Работников следует обучать соблюдать требования
безопасности каждодневно до тех, пока э
то не станет привычкой. Вместе с тем следует
учитывать то, что даже самая продуманная политика безопасности не может предвидеть все
угрозы и их предотвращать. Следует соблюдать осторожность там, где есть конфиденциальная
информация, и при необходимости уни
чтожать внешние носители данных. При ежедневном
использовании данных целесообразно их шифровать. Возможность корректного шифрования
должна быть встроена в информационную систему.
Контроль доступа
следует использовать тщательно выбранные безопасные пароли.
Плохие пароли с постоянством занимают в рейтинге дыр безопасности высокие места. Также
временно покидая рабочее место, следует затруднить доступ к своему компьютеру
либо
защитить экран паролем, либо выйти из системы.
Ежедневно следует заботиться о том, ч
тобы можно было добавлять в систему различные
обновления программного обеспечения. Если они не затрагивают само программное
обеспечение, то обновления операционной системы, антивирусное программное обеспечение
и т.п. жизненно важны.
Лекция
. Грани развит
ия разработки систем
Цели обучения
Проработав материалы данной подтемы, вы получите сведения о тенденциях разработки
систем.
6.1. Управление и стандарты качества
Роль разработки программного обеспечения на предприятиях с течением времени
изменились. Первон
ачально инновации программного обеспечения и улучшения продуктов /
услуг предприятия были лишь одной из составных частей работы, с течением времени
программное обеспечение стало независимым продуктом.
Процесс разработки и управления программного обеспечени
сделался более
сложным: выросла сложность функций программного обеспечения и в силу этого затраты у
компаний на его создание и сопровождение увеличились. Возросла зависимость от
программного обеспечения, сделались более сложными инструментальные средства
разработки программного обеспечения (CASE
средства), системы имеют интерфейсы для
связи с другими системами программного обеспечения. Понятно, что это привнесло с собой
более пристальное внимание к улучшению качества программного обеспечения и
подтолкнуло
навстречу изменениям для эффективности и продуктивности процесса
разработки программного обеспечения. Если работу делать должным образом, т.н.
«правильно», используя продуманные и проверенные соглашения, то появится большая
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
надежда, что конечный продукт б
удет высокого качества, также имеется надежда, что данный
продукт будет завершен быстрее, что даст компании финансовую экономию. В других видах
человеческой деятельности этот принцип совершенно обычен
при шпаклевании стены,
используя правильные технологи
и и инструменты, можно работу сделать быстрее, и результат
выглядит гораздо лучше.
Исторически улучшением процесса разработки программного обеспечения больше
занимались в таких областях, как военная, космическая отрасли, промышленность и таких
областях, гд
е программному обеспечению доверяли управление критическими процессами, и
в связи с этим его качество было особенно важно. Из этих областей выросли первые
систематические и описанные методики разработки. Поначалу во имя разработки более
эффективного програ
ммного обеспечения уделяли больше внимания использованию наиболее
продвинутых языков. Далее аспекты методологии приобрели все большее значение.
Первоначально в каждой области пытались создать свой метод разработки программного
обеспечения, позже догадались
, что в разных областях было бы разумно ввести одни те же
принципы и инфраструктуры процессов. Так были описаны разные методы разработки, также
созданы стандарты, которые должны помочь управлять процессом в разумном направлении.
Стандарты
главным образом и
меют дело с вопросами упрочения качества и с дачей
оценки руководству и управлению критическими бизнес
процессами. Далее приведены
некоторые примеры стандартов разработки систем.
6.1.1. ISO 9000
ISO 9000 является частью стандартов ISO (International Organ
ization for Standardization),
которая
применяется в занимающихся проектированием и производством
предприятиях.
Последняя версия стандарта является достаточно общей, чтобы подходить предприятиям,
связанным с бизнесом и обслуживанием, и больше направлена н
а достижение
удовлетворенности клиентов. ISO9000 регулирует приобретение, проектирование,
документацию, поставку, разработку, тестирование и сопровождение продуктов. Серия
стандартов качества ISO 9000 установлена и эстонским стандартом. Подход ISO9000 не н
осит
директивного характера, но требует, чтобы компания, применяющая стандарт, определяла бы
свои
ключевые процессы и выбирала бы методы и технологии для эффективного выполнения
этих процессов. Особое внимание уделяется непрерывному совершенствованию проц
ессов и
измерениям, при помощи которых можно контролировать качество продукции и процессов.
SO 12207
ISO
является
стандартом
процесса жизненного цикла программного
обеспечения
Для процессов жизненного цикла программного обеспечения стандарт устанавл
ивает
общую инфраструктуру с четко определенной терминологией, на которую может ссылаться в
области программного обеспечения. Структура содержит процессы, виды деятельности и
работы, которые применяются при приобретении программных продуктов или услуг, при
поставке, выработке, эксплуатации, техническом обслуживании и удалении программных
продуктов. Программное обеспечение включает в себя также программную часть программно
аппаратные средства. Стандарт предлагает процесс, который может быть применен при
делении, управлении и улучшении процессов жизненного цикла программных продуктов.
Процессы, виды деятельности и работы этого стандарта можно, по отдельности или согласно
стандарту ISO / IEC 15288, применить и при приобретении систем, содержащих программное
обеспечение (веб
сайт Эстонского центра стандартизации).
Стандарт описывает процесс всего жизненного цикла, включая виды деятельности и
процедуры для усвоения программного обеспечения и конфигурирования служб системы. У
каждого процесса (их в общей сложно
сти описано 23) есть свои выходы. Основной целью
стандарта является представление общей структура таким образом, что стороны от
разработчика до клиента и менеджера со специалистом по сопровождению говорили бы на
одном языке, то есть использовали бы одну т
ту же базу понятий. Структура стандарта
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
является модульной и благодаря этому её можно скорректировать, чтобы соответствовать
различным ситуациям. Первичные процессы жизненного цикла включают процессы,
посредством которых создается программное обеспечение.
Стандарт обыгрывает 5 основных процессов:
приобретение
(Acquisition)
деятельность, связанная с началом проекта,
предложение
(Supply)
составление плана управления проектом,
разработка
(Development)
создают программное обеспечение, тестируют и в готовы
продукт передают клиенту
использование
(Operation)
поддержка работающих с системой людей
сопровождение
(Maintenance)
сохранение программного продукта в рабочем
состоянии, дополнение расширений и дополнений в соответствии с пожеланиями
пользователя.
тандарт был принят также в качестве стандарта Эстонии (EVS
ISO/IEC 12207).
Просматривая веб
страницы эстонских разработчиков программного обеспечения, можно
найти ссылки, утверждающие, что в своем процессе разработки они придерживаются именно
этого стандар
та. Что, в свою очередь, должно повысить доверие этим предприятиям.
6.1.3. SEI/CMMI
В 1986 году Уоттс Хамфри (Watts Humphrey) описал
модель зрелости
программного
обеспечения
(Software Maturity Framework), при помощи которой возможно оценить уровень
зрелос
ти программного обеспечения компании
разработчика. Из этой первоначальной модели
с течением времени выработался ряд моделей зрелости, из которых в области программного
обеспечения две наиболее известные:
CMM
, которую разработал Software Engineering
Inst
itute (SEI) в1993 году, и Capability Maturity Model Integration (CMMI), (CMMI), которая
опубликована в 2000 году.
Модель CMM
SW содержит требования к качеству разработки программного
обеспечения. При помощи модели можно оценить разработку программного обес
печения и
процессы, связанные с этой разработкой, и через них зрелость всей компании программного
обеспечения. CMM
SW описывает пять уровней зрелости, каждый из которых имеет
требования к определенному процессу. Для достижения желаемого уровня софтверная
омпании должна выполнить все требования, которые требуются на этом уровне. При
наличии недостатков не приступают к оценке процессов следующего уровня, а в первую
очередь исправляют несовершенные процессы. Таким образом, CMM
SW показывает, какие
процессы до
лжны быть у компании в порядке, чтобы достичь желаемого уровня.
CMMI
отличается от CMM
SW модели в части выдвинутых требований ко многим
процессам. Основное отличие состоит в том, что у модели CMMI имеется два
варианта:
модель уровней CMMI
(staged model) и
непрерывная модель CMMI
(continuous
model). Модель уровней аналогична по своей структуре и логике CMM
SW модели.
Непрерывной модель CMMI отличается от них тем, что на её основе не представляется
возможным оценить уровень зрелости всей организации, а оцени
вают уровень зрелости
каждого процесса. Таким образом, непрерывная модель CMMI является более гибкой, что
позволяет софтверной компании оценить, прежде всего, наиболее важные для нее процессы.
SEI / CMMI направлена на совершенствование процесса (разработки
) и предлагает
организациям немаловажные шаги для создания эффективного процесса.
6.2. Гибкие методы
В методологии разработки вместо старых так называемых
твердых методов
(тяжелых
методов) появились
легкие
agile
, или
гибкие методы
(см. B1.2). Одна из при
чин прихода
гибких методов заключалась в том, что тяжелые методы не подходили для проведения многих
программных проектов. В отличие от иной индустрии оказалось, что ведение программного
проекта по первоначально согласованным развернутым планам очень сложно
. Особенно в
случае, если продукт изготавливали в соответствии с пожеланиями заказчика, и эти пожелания
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
не были ясно сформулированы. В составленном в 2001 году Agile Manifesto среди прочего
приведено то, что вместо радикального вклада в планирование следуе
т все же делать «вещь в
себе», однако, в то же самое время это не означает отказ от плановый деятельности. В случае
гибких методов разработки процесс и еженедельные виды деятельности очень четко
регламентированы.
Здесь, как пример можно привести Scrum (скр
ам), который в Эстонии распространен.
«Инфраструктура Scrum помогает командам стать сверхэффективными. Это позволяет
разработчикам осуществлять крупные проекты в долю времени, расходуемого в практике
программной разработки »,
сказал Джим Кандифф (Jim Cun
diff), управляющий директор
Scrum Alliance. «Кроме того, Scrum делает немедленно видимыми дефекты команды»,
добавил Кандифф. «Проще говоря, Scrum повышает эффективность и помогает организации
справиться с заданиями». Растущую популярность методологии Scr
um можно объяснить
способностью поднять производительность и усилить получаемую доходности от
инвестирования, способностью объединять руководство и разработчиков компании (фирмы)
во имя достижения бизнес
целей. Scrum легко понять и применять, имеются и раб
отают
учебные программы. Scrum предоставляет гибкую структуру, которая помогает большим
командам сосредоточиться на цели, чтобы сообща всей командой, достичь каждого спринта
задания. Работа SCRUM основывается на цикличности, чьи этапы именуют спринтами.
ринт обычно длится от двух до четырех недель. Для каждого спринта команды выбирают
задания, упорядоченные на основе важности, и исходя из потребностей клиента. Задания
называют
пользовательскими историями
(user story), так что функции, которые
разрабатывают
, прежде всего, являются для клиента наиболее ценными. В конце каждого
спринта потенциально применимый продукт поставляется клиенту.
Хотя Scrum является наиболее распространенной в сфере разработки программного
обеспечения, эта методика очень подходит для
осуществления разнообразных гибких (условия
и исходные данные меняются часто) проектов разработки.
Scrum включает в себя почти только деятельность, связанную с организационными
работами (управление проектом), планируя ежедневные / еженедельные действия. На
пример,
утром понедельника не начинают с прилежного написания кода, а расходуют значительная
часть дня на планирование действий на неделю (т.н. « planning poker »
деятельность по
разделению требуемых работ на спринты). Проводят утренние короткие т.н. «со
брания на
ногах» («митинг стоя», «летучка», stand
up), где каждый может сказать как то, что он делал в
предыдущий день, так и то, что мешает его работе. Проводятся ретроспективные собрания
(retrospective), где подытоживают происшедшее и высказывают свое мн
ение о членах
команды, если их деятельность, например, мешает работе других. На стене держат график
продвижения работ, на котором всем видно, как далеко на текущий момент продвинулись с
различными функциональностями.
О «гибкой деятельности» в Эстонии смотр
ите agile.ee и scrum.ee.
6.3. ИТ
архитектура
Еще несколько лет назад одним из наиболее распространенных способов
структурирования приложения был способ деления на две составляющие:
клиент
сервер
Такой подход известен под наименованием «
двухслойная
архи
тектура»
. Клиент является
компонентом, который передает информацию между пользователем и сервером. Сервер
оказывает одному
или более клиенту услуги. Как правило, на сервере располагается
центральная база данных и какая
то часть бизнес
логики, а у клиентов
бизнес
логика
пользовательский интерфейс. Недостатком этой архитектуры является то, что изменяя бизнес
логику, нужно обновлять программное обеспечение на десятках и сотнях клиентских
компьютерах, также это требует перемещения большого объема данных м
ежду клиентом и
сервером и высокая вычислительная мощность на стороне клиента.
6.3.1. Многослойная архитектура
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Многослойная архитектура
tier client
server architecture)
клиент
серверная
архитектура, где процессы представления, обработки и управления
данными
являются
логически отделенными друг от друга процессами. Модель многослойной архитектуры
помогает создать гибкое и многократно
используемое программное обеспечение. В случае
изменений надо их делать лишь в отдельных слоях, а не сразу во всем при
ложении. Это сулит
меньше работы, меньших затрат времени и меньше потенциальных ошибок.
Более типичным и более используемым вариантом является
трехслойная
архитектура
(three
tier client server architecture). В случае трехслойного
приложения каждый слой р
асполагается в разных местах в
компьютерной сети и может
располагаться также
на разных платформах.
К пользователю ближе всего
находящееся в его компьютере программное обеспечение
рабочей станции (так называемый
слой логики представления
). Этот слой мо
жет отводиться
формам ввода
и типичному на данной платформе графическому пользовательскому
интерфейсу. Не исключено существование
этого слоя на различных платформах. Слой логики
представления взаимодействует со слоем логики приложения (также слой бизнес
логики,
средний слой).
Задача
бизнес
логики
или
слоя
логики фирмы
(компании)
управлять
функциональностью, обрабатывая для этого полученные с нижнего слоя
данные
соответствии с запросами пользователя, пришедшими
с верхнего слоя.
Этот слой обычно
нах
одится на сервере локальной сети.
Слой данных
это третий слой. Он включает в себя базу данных и необходимое для ее
управления программное обеспечение
и может располагаться на некотором мейнфрейме.
Слой отвечает среди прочего за сохранение данных независ
имо от приложения и логики
представления.
В настоящее время у широкораспространенных веб
приложений, как правило,
аналогичная архитектура. В этом случае слой логики представления связан с веб
браузером
(веб
обозревателем) и
с визуализацией пользовательско
го интерфейса (рендеринг) в окне
браузера.
Часть содержания может быть
статической и
часть
динамической.
Обобщением
является
многослойная архитектура
tier architcture). Здесь различные
слои могут добавляться по мере необходимости (или описанные слои
могут быть разделены, в
свою очередь, на части). В ситуации, когда все большая ценность имеется не у одиночных
приложений или баз данных, а у взаимодействующих информационных систем,
узкое место в
разработке
переместилось в сторону создания интерфейсов
и интеграции систем.
Немаловажно использовать проверенные практики (например, шаблоны для разрешения
аналогичных проблем), сервис
ориентированный подход, семантическое описание
информационных систем.
6.3.2. Сервис
ориентированной архитектура
Сервис
ориент
ированная архитектура
(SOA
Service Oriented Architecture) также по
сути многослойная и ее используют для создания веб
приложений. Архитектура основывается
на взаимодействующих друг с другом (веб
)сервисах, которые не зависят от контекста или
состояния др
угих и работают на модели распределенных систем. Между сервисами
отсутствуют прочные связи и ни одна из служб не осведомлена о технических деталях другой
службы, таких как структуры данных, программная платформа, операционная система,
используемая система
баз данных и т.д. Можно рассматривать SOA как наивысший уровень
разработки приложений, где от пользователей скрыта вся техническая сложность среды.
Преимущества SOA:
При помощи SOA можно интегрировать различные информационные системы.
Разработчики не должн
ы вырабатывать новые решения при использовании различных систем.
Немаловажно использовать стандартизированные протоколы (например, протоколы по обмену
данными). Службы, не следующие стандартам, трудно внедрять.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Интерфейсы могут быть многократно применяемым
и. Интерфейс, который
использовали при разработке конкретной системы, можно также использовать при разработке
всех других аналогичных систем.
Растет продуктивность проектов разработки. Повторное применение помогает строить
аналогичные решения быстрее, инте
грация систем становится более дешевой и быстрой.
SOA незаменима при построении веб
порталов. Портал может получать новости и
прогноз погоды через сторонние веб
сервисы. Интернет
магазины и веб
сайты
производителей могут передавать из баз данных данные тов
аров друг к другу для
перепродажи. Причем, информационные системы взаимодействуют со службами
автоматически. Можно сказать, что наиболее распространенным коммерческим
использованием SOA является состыковка информационных систем заказчиков и
поставщиков. Ан
алогичным образом, различные информационные системы одной и той же
компании при помощи SOA могут взаимодействовать независимо от используемых
технологий и платформ
операционной системы, базы данных и т.д.
Различные технологии SOA вводятся для того, чтобы
облегчить общение между
различными системами (описание на веб
странице компании DT).
6.3.3. Сложность систем
Поддержка в работе и интеграция с новыми системами программного
обеспечения
унаследованного программного обеспечения
(legacy software) является о
дной
из проблем разработки программного обеспечения двадцать первого века. Фирмы,
инвестировавшие средства в мэйнфреймы (mainframe), заинтересованы в своих инвестициях,
т.е. продолжения использования больших ЭВМ. Возникает вопрос, может ли мэйнфрейм быть
астью современной гибко
интегрированной ИТ
системы и можно ли унаследованное
программное обеспечение и унаследованные данные использовать дальше? Ответом является,
что это должно получиться, даже уже оттого, что нет возможности заменить сразу ни весь
парк
компьютеров, ни приложения. Причем мэйнфреймы ввиду их мощности можно спокойно
использовать дальше. Для дальнейшего использования мэйнфреймов и работающих на них
систем и для интеграции с новыми системами нужны специальные
программные
расширения
(legacy ma
inframe extension). Расширения работают так потому, что их возможно
состыковать с SOA
архитектурой. Расширения выпускают и добавляют в свое программное
обеспечение также крупные создатели крупномасштабных систем баз данных и программного
обеспечения (напри
мер, Oracle, IBM).
В связи со своим ростом и развитием компьютерные системы через скорость и
автоматизацию принесли много пользы в различных областях человеческой деятельности, и
теперь пришло время, когда компьютерные системы должны бы сами себя автоматич
ески
поддерживать. В настоящее время затрачивается на их обслуживание много
квалифицированной рабочей силы. Большой проблемой современных распределенных систем
является их собственная сложность и сложность управления ими. Сложность не
ограничивается только
программным обеспечением, в системе делают так, что совместно
используют различные устройства, начиная от серверов и заканчивая мобильными
телефонами. Все это должно быть в состоянии общаться в сети. Растущая сложность вскоре
станет ограничивающим факторо
м дальнейшего развития систем.
В статье «The Vision of Autonomic Computing» Кефарт (Kephart) и Чесс (Chess)
предупреждают, что мечта объединения всех программных систем и устройств превращается
в кошмар сплошной обработки данных, в котором архитекторы уже
не в состоянии
проектировать, обслуживать, а также предвидеть сложность взаимодействия всех систем.
Они отмечают, что суть
автономных вычислений
(саморегулирующиеся вычисления,
autonomic computing)
самообслуживание
(self
management), где благодаря улучше
нной
работе системы администраторы освобождаются от низкоуровневых действий. Идея
автономной обработки данных вдохновлена автономной нервной системой человека. В такой
системе администратор приобретает новую роль
его задание заключается в описании общих
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
направлений и правил управления, на основе которых самообслуживание и должно
действовать. Выработаны четыре основные области использования / свойств, где изначально
имеют дело с автономной обработкой данных:
самоконфигурируемая
автоматическое конфигуриро
вание (настройка) компонентов
самовосстанавливающаяся
автоматическое обнаружение и исправления ошибок
самооптимизируемая
автоматическое слеживание и управление ресурсами в
соответствии с правилами
самозащищающаяся
распрознавание и защита от атак.
До
создания полностью самообслуживаемых систем надо много еще сделать.
Лекция 7.
УПРАВЛЕНИЕ ДАННЫМИ И БАЗЫ ДАННЫХ
Проработав материалы данной темы, вы получите сведения об управлении данными и
базах данных.
.1. Данные и транзакции
Проработав материалы данно
й подтемы, вы получите сведения об общих свойствах
данных, а также сохранности данных, целостности и гибкости использования.
.1.1 Данные и информация
Информация
факты, события, вещи, процессы, идеи, понятия или иные касающиеся
объектов знания, которые и
меет особое значение в определенном контексте.
В организации необходимую информацию в основном сохраняют в документах (в
цифровой форме или на бумажном носителе), а данные, главным образом, в базах данных.
Информация может быть определена как сообщение, ко
торое выступает в виде
документа или коммуникации в аудиовизуальной форме. Как и у каждого сообщения, так и у
информации имеются отправитель и получатель. Задача информации
влиять на суждение и
поведение получателя. В отличие от данных у информации имеют
ся смысл, значимость и
назначение. Данные становятся информацией, если их создатель добавляет к ним смысл.
Важно отметить, что ИТ помогает превращать данные в информацию, а также добавлять им
смысловую ценность. Тем не менее, ИТ не помогает в создании конт
екста (категории,
калькуляции, формы)
все это создают люди.
Данными
(data) называют формализованный способ представления информации в
понятной для человека и / или машины форме (отформатированной специальным образом),
которую можно использовать для общен
ия, трактовки, сохранения или обработки.
Данные являются детальными, объективными фактами событий. Все организации
нуждаются в данных, и большинство сфер деятельности основано на них (данных).
Эффективное управление данными
это одно из важнейших критерие
в успеха, в
противоположность этому, большой объем данных, безусловно, еще не является критерием
успеха.
Нет возможности автоматически вывести правильные решения на основе большого
набора данных объективно по двум причинам.
первых, слишком большой объем
данных делает данные трудными для
идентификации и для осмысления их значения. Во
вторых (это также главная причина), у
данных по своей сути нет значения. Данные характеризуют или описывают только
произошедшее, они не включают ни оценок, ни вдохновения. Дл
я организации данные все же
очень значимы, поскольку на их основе создают информацию.
Элементом
данных
называют в данном контексте (связанным с содержанием)
неделимую единицу данных.
Каждое программное приложение управляет и манипулирует
данными
, которые м
ожно
интерпретировать как внутренние переменные данных обработки, либо как оригинальные и
соответствующие некие объекты(«data» на латинском языке и «données» на французском
языке), эти данные являются элементами информации, которыми обмениваются с
пользова
телями или внешними системами.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Задачи типологии данных сгруппированы в соответствии с происхождением источника /
канала (ввод) и пункта назначения (вывод), и мы можем в идеальном случае каталогизировать
(занести) программные системы приложений в пять катег
(«внутренние» данные) алгоритмическая обработка
автоматизация и управление (ввод / вывод (I/O), с преобразователя / датчика и на
преобразователь / датчик)
интерфейс «человек
машина» (I/O от пользователя к пользователю)
передача / перенос данных (I/O
из сети обработки в сеть обработки)
передающие системы и банки данных (I/O из системы непрерывного хранения
данных в систему непрерывного хранения данных).
База данных
database
совокупность взаимосвязанных и систематизированных
данных. В самом элемента
рном смысле под базой данных понимают набор данных, которые в
дополнение к самим данным содержит в себе также описание структуры данных
вместе с
данными хранится также их описание. Можно сказать по
другому: база данных представляет
собой совокупность дан
ных вместе с описывающими эти данные метаданными (структуры
данных). На самом элементарном уровне описание данных содержит описания таблиц (в
которых хранят данные) и описания межтабличных связей.
Современные системы баз данных хранят в дополнение к описан
ию данных, также и
обрабатывающие процедуры и правила запуска этих процедур (триггеры (triggers) и
планировщики (schedulers)), в базах данных.
В более широком смысле под базами данных не следует понимать только электронные
базы данных, которые реализованы
в компьютерных системах. Базы данных существовали
задолго до того момента, когда их начали реализовывать в компьютерных системах.
Произвольные картотеки являются базами данных независимо от того, какой носитель данных
используется в этой картотеке (карта к
артотеки, каменная доска, перфолента, перфокарта и
пр.).
В пределах одной и той же базы данных находящиеся в базе данных описания данных и
данные должны всегда интерпретироваться одинаково
они должны храниться в физической
структуре с определенным заданн
ым строением.
В электронном смысле база данных является компьютерной программой, которая
позволяет хранить данные и отображать их пользователю (
лям) в желаемом формате. В базах
данных хранят информацию об определенных объектах. Наиболее распространенная
еляционная база данных состоит из нескольких таблиц. В одной таблице обычно хранят
собранные данные объектов одной определенной категории (рабочий станок, автомобиль,
личность, работник) .
Примеры баз данных:
база данных историй болезней в больнице
каталог
книг в библиотеке
база данных регистраций браков и разводов в ведомстве записи актов гражданского
состояния (загсе) и т.д.
Начало развития электронных систем баз данных
Основным стимулом к созданию электронных базы данных (сначала, конечно, картотек)
явил
ись три вещи (в данном порядке)
создание компьютера с современной структурой,
создание постоянной памяти, базирующейся на магнитных свойствах вещества и создание
систем произвольного доступа записи
чтения данных (непоследовательных). Здесь, конечно,
нель
зя оставить без упоминания то, что важным катализатором явилось то, что к этому
времени был создан ряд стратегически важным картотек, чье обслуживание на старых и
структурных платформах начало превосходить имеющиеся силы.
Изрядный объём исследований по соз
данию первого поколения современных
компьютеров (1945
1956) принадлежит периоду Второй мировой войны, когда страны
пытались при помощи компьютеров достичь стратегического превосходства
усилия,
предпринятые во время войны, вылились сразу после войны в соз
дание компьютеров нового
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
поколения. Основные идеи, воплощенные в них, определили тенденции компьютерного
развития на следующие сорок лет (EDVAC
Университет штата Пенсильвания (University of
Pennsylvania) в 1945 году, EDSAC
Кембриджский университет (Cam
bridge University) в 1949
году, UNIVAC I
Remington Rand, 1951). Было введено два основных принципиальных
изменения. Во
первых, в компьютерной архитектуре описали понятие центрального
процессорного устройства (процессора), который позволил компьютеру управ
лять единым
потоком данных. Во
вторых, как исполнимые программы, так и программы для управления и
обработки необходимых данных начали хранить в одной и той же памяти. Все это заложило
основы для коммерческого производства компьютеров.
В 1945 году был созда
н новый носитель данных, магнитная лента, которая понемногу
стала заменять перфокарты и перфоленты. Это был первый носитель данных, который
предоставлял возможность поиска данных. Однако этот механизм поиска еще не был
достаточно совершенным, поскольку воз
можным был только последовательный поиск.
Существенное значение имело, однако, то, что «объем сохраняемых данных на единицу
площади» рос неизмеримо быстро, в результате чего, и для множества лент, параллельно
находящихся в работе с фрагментацией данных, см
огли обеспечить уже достаточную
оперативность при поиске.
До создания первых современных систем баз данных оставалось еще примерно пару лет,
когда Уильям.
C.
Макги
(William. C. McGee)
1959
году
опубликовал
свою
статью
«Generalization: Key to Successful E
lectronic Data Processing»
журнале
Journal of the ACM
(Volume 6, Number 1, January 1959
стр
23, ACM
Association for Computing Machinery).
Хотя, конечно, в статье еще не предлагались положения обобщения конкретных данных, а
ограничились лишь обще
кон
цептуальной философией, это был первый путевой указатель,
показывающий направление в развитии современных принципов моделирования данных.
В том же 1959 году IBM представила свою систему на жестких магнитных дисках Ramac
(Random Access Method of Accounting
and Control) модель 305, которая является первой
системой на жестких магнитных дисках и состоит из 50 дисков с диаметром около 60 см, на
обе стороны которых можно сохранять информацию. С плотностью записи информации
2000 бит на квадратный дюйм с общим об
ъемом 5 МБ. Значительным переворотом здесь были
все же первое применение режимов чтения / записи при произвольном доступе к данным и
немалая скорость записи / чтения данных.
В 1961 году корпорация General Electric разработала систему управления базами данн
ых
IDS (Integrated Data Store), которая считается первой электронной системой управления
базами данных. Руководителем проекта был Чарльз Бахман (Charles Bachman). Здесь, конечно,
еще нельзя говорить о системе управления базами данных в современном понимани
поскольку большинство функций базы данных кодировались вручную, в качестве базы
данных рассматривался один единственный файл, и она работала только на компьютерах
General Electric Co. и разрешала конкретные потребности только этой компании. Это стало
имулом для созыва группы CODASYL (Conference on Data Systems Languages), которая
состояла из добровольцев и чьей целью были эффективный анализ систем баз данных,
проектирование, и внедрения и разработка прикладных средств и методик. Группа была
создана в 1
959 году и работала вплоть до 1985 года. В качестве основной задачи группы было
определено создание стандартного, используемого на разных компьютерах языка
программирования. Этим языком программирования стал COBOL и в этих рамках
сформулировали также основ
ные концепции сетевой модели данных.
В 1968 году корпорация IBM вышла со своей концепцией IMS (Information Management
System), которая сформулировала основы иерархических моделей данных. И сразу следом (в
1969) выпустила усовершенствование той же модели (I
DM DB / DC), в которой описывается
метод построения сетевого представления иерархической модели. Оба решения были
предназначены для использования на мэйнфреймах IBM System/360.
До этого момента все базы данных использовались под управлением одного процесса
. В
конце 70
х годов прошлого столетия IBM вместе с American Airlines создали систему SABRE,
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
в которой через коммуникационную сеть доступ к данным получили одновременно уже много
пользователей.
Несмотря на довольно бурное создание различных баз данных в ко
нце 70
х годов
прошлого столетия, еще не появилась отдельностоящая система баз данных, продаваемая на
коммерческой основе. Положила начало этому опять
таки компания IBM, что явилось ее
немалой заслугой. В 1970 году исследователь IBM Эдгар Ф. Кодд (Edgar F.
Codd) предложил
модель реляционной базы данных, где данные хранятся в таблицах, между которыми строятся
отношения. IMS модели дополнили принципами реляционной модели данных и на этой
основе разработали систему баз данных SYSTEM/R, которую продавали вместе
мейнфреймами IBM вплоть до 1980 года. Опубликованную информацию о системе IBM
SYSTEM/R ученые Калифорнийского университета Майкл Стоунбрейкер (Michael
Stonebraker) и Евген Вонг (Eugene Wong) взяли за основу в своей исследовательской работе и
разработчес
кой деятельности. В результате этих разработок они создали свою систему баз
данных, которой дали название Ingres и у которой были все необходимые для
коммерциализации существенные свойства. В конце концов, этот продукт был
коммерциализирован компаниями Ora
cle Corp. и Ingres Corp.
Стоит отметить также событие 1979 года, которое ознаменовало рождение тенденции и
одного восходящего продукта. Во время 70
х годов были разработаны несколько различных
языки запросов
SQUARE, SEQUEL, QBE, QEL и т.д. В 1979 году ко
мпания Oracle вывела
на
рынок первую коммерческую систему баз данных, которая использовала в качестве языка
манипулирования данными язык SQL (вариант стандарта Oracle Corp. SEQUEL). Восходящим
продуктом стал Oracle DBMS и восходящей тенденцией
язык SQL
В конце 60
х начала развиваться еще одна группа систем, которые в настоящее время
являются компонентами раздельного использования больших баз данных. Первоначально
называли их системами поддержки принятия решений (DSS
Decision Supporting System). Их
новной целью было упрощение обработки данных и более эффективное использование в
поддержке принятия решений. По сути, это была деятельность, связанная с разработкой
инструментальных аналитических средств обработки данных. Такие подсистемы создавались,
коне
чно, в течение всех 70
х годов прошлого столетия, однако первое коммерческое решении
поспело только
только к 1970 году. Таковой стала система EXPRESS.
Базы данных и персональные компьютеры
К началу 80
х годов прошлого века была создана базовая платформа дл
я моделирования
данных и развития систем баз данных, и казалось, что никаких особых подвижек в том или
ином направлении не должно уже произойти. Однако эту ситуацию нарушил выход на рынок
персональных компьютеров. Вскоре создали первую реляционную систему
баз данных DBase,
созданную для персонального компьютера. Вслед за DBase стремительно последовали DBase
II, Paradox, Fox, FoxPro, DBase III, Dbase IV и пр. Это критически изменило ситуацию
базы
данных стали доступны большему количеству пользователей, так
и методики и инструменты
моделирования данных стали доступными для многих. Следом приступили к разработке
новых и более удобных пользовательских интерфейсов.
Через некоторое время добавились средства создания локальных сетей
аппаратное
обеспечение и про
граммное обеспечение. Свой прыжок сделали и системы баз данных
ко
всем жизнеспособным системам баз данных добавили свойства одновременного
использования данных многими пользователями. Это оказалось не так
то просто сделать, как
поначалу казалось
стали
возникать конфликтные ситуации между одновременными
пользователями данных, и это обусловило развитие совместного использования данных и
теории блокировок.
В 1985 году был опубликован первоначальный стандарт языка SQL
языка, который
корпорация Oracle Corp
. ввела в качестве языка манипулирования данными для своей системы
баз данных, который между тем проходил процесс стандартизации и предоставлялся для
использования в большом количестве продуктов. На сегодняшний день утвержденный
стандарт перетерпел многокр
атные изменения.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
1985 год был интересным годом во многих отношениях. В дополнение к представлению
первого стандарта языка SQL в этом же году внедрили также первую систему бизнес
аналитики (business intelligence). Компания Metaphor Computer Systems Inc. изг
отовила для
Procter & Gamble Co. систему, которая сочетает в себе анализ информации о продажах и
информации по надзору за рынком. В этот же самый год Pilot Software Inc. начала продажу
системы Command Center
на рынок вышла первая система с архитектурой к
лиент / сервер. В
связи с этим начали сразу развиваться теории баз данных с распределенной (distributed)
структурой, затем теории, разбирающие репликацию данных, и теории и системы поддержки.
К сожалению, еще до сегодняшнего дня не создано до конца коррект
но действующих систем
репликации данных, которые удовлетворяли бы всем требованиям использования.
В конце 80
х годов произошел значительный переворот в архитектуре систем баз
данных. Созданная тогда архитектура с незначительными изменениями сохранилась и д
сегодняшнего момента. Название этой архитектуры
клиент / сервер (client/server). Если до
сих пор системы управления базами данных обращались к находящейся в компьютерной сети
базе данных или к сетевому диску, то теперь общение с базой данных стало на о
снове
сообщений. В этой архитектуре имеются две стороны
клиент, т.е. прикладная программа и
мотор (движок) сервера базы данных (исполнительная программы сервера базы данных).
Клиент отправляет сообщение запроса на сервер, а сервер, в свою очередь, переда
ет в ответ
свое сообщение или серию сообщений. Таким ответом может быть просто сообщение о том,
закончилось ли выполнение запроса успешно или нет (в последнем случае возвращается
номер и описание сообщения об ошибке) или же заказанные (запрашиваемые) прика
зом
(запросом) данные.
С этого момента стабильное развитие технических средств происходило без
существенных скачков. Совершенствовались технические возможности, аппаратное
обеспечение стало быстрее, алгоритмы обработки данных и методы оптимизировались и
овершенствовались.
Программы
базы
данных
подразделятся
на:
плоские базы данных (иерархические базы данных), где данные выстраиваются в
древовидную структуру, т.е. находящиеся ниже данные связаны с верхними и добраться до
них можно только через верхние данн
реляционные базы данных, где объекты (единицы) данных объединены между собой
отношениями (связями). Эти отношения представляются, в основном, таблицами, причем в
столбцах отображаются поля данных (например, личный идентификационный код, имя,
фамилия, об
разование, семейное положение и т.д.) и в строках
объекты данных, т.e. записи
(например, персональные данные работника).
В дополнение к вышеупомянутым широко распространенным программам используются
в очень большом количестве программное обеспечение, соз
данное для профессионального
применения (для врачей, архитекторов, юристов, бухгалтеров и т.д.), которое можно сразу же
использовать без дополнительной настройки. Это программное обеспечение именуют также
вертикальным
программным обеспечением. Их главное о
тличие от стандартных программ
заключается в том, что они производятся в относительно небольших количествах и их цена
многократно превышает цену широкораспространенных программ. Часто они написаны с
использованием программных средств реляционных баз данных
Если имеются всего 2..3 друга, то мы сможем запомнить их телефонные номера и адреса.
Если же имеются несколько тысяч друзей и знакомых, то для запоминания их имен и
телефонных номеров не хватит памяти и мобильного телефона. Что в таком случае
предпринять
Можно было бы записать все их в какую
нибудь управляемую компьютером программу.
Но какой должна быть такая программа, чтобы дать возможность быстро найти необходимого
человека и сразу же показать номер его телефона?
Здесь на помощь приходит приложение ба
з данных, которое позволяет размещать такой
объем данных, а также проводить быстрый поиск по любому критерию.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
.2 Сохранение данных
Компьютерную программу, которая содержит данные и принимает запросы от
пользователей, выдает на основе запроса необходим
ые данные (если таковые имеются!) в
требуемом виде, называют
системой управления базами данных
(haldussüsteem (ABHS),
database management system (DBMS)).
Данные сохраняются, как правило, в какой
либо базе данных. Базу данных можно
определить как совокупнос
записей
, которые находятся в запоминающем устройстве
компьютера, так, что если пользователь обращается к компьютеру с желанием получить
некоторую информацию с целью принятия решения, то компьютер обращается к базе данных
и если желаемые данные найдены,
то выдает их пользователю. Для лучшего доступа к данным
(поиска) в базе данных записи, как правило, организуются в виде набора элементов данных
(фактов).
Использование баз данных предоставляет:
Высокую скорость доступа к необходимым данным
Сортировка данны
х в соответствие с заданными признаками
Нахождение только необходимых данных без лишнего «информационного шума»
Многопользовательский одновременный доступ к данным
Ввода данных из разных физически отдельно находящихся мест
Доступ к данным только авторизова
нным лицам.
Использование баз данных также поднимает ряд проблем:
Необходимо защищать данные от несанкционированного использования
Необходимо приобрести систему управления базами данных (СУБД), т.е. программу
Необходимо обучать пользователей и менеджеров С
УБД
Необходимо обеспечить целостность данных
Необходимо вводить данные в заданном виде
Базы данных требуют проектирования, что, в свою очередь, требует времени.
Классическим примером полной надежности СУБД является операция проверки
текущего банковского сч
ета. Необходимо гарантировать, что в любом случае (также и в
случае катастрофического состояния) надежность данных не пострадает, и в случае каждой
онлайн
транзакции (сделки, перевода) сумма не должна переводиться на счет получателя без
снятия со счета отп
равителя, и наоборот.
Необходимую безопасность переводов характеризует сокращение «ACID», иногда
используемое также как и «Acid Test», которое происходит от терминов:
атомарность (Atomicity)
перевод должен быть неделимым, прибывая действительно
(юридичес
ки) законченным (совершить транзакцию=commit), а в противном случае
отмененным (откат транзакции=rollback), последнее восстанавливает исходное состояние
данных (состояние до начала транзакции), что в терминах логики означает все или ничего
согласованность
(Consistency)
правила обновления соотвественно выбранным данным
должны исключать ошибки при управлении данными, распознающими возникновения
несоответствий и находящимися в согласованности
изоляция (Isolation)
одновременный доступ (concurrency) различны
х процессов к
данным должен регулироваться в целях предотвращения конфликтов и для того, чтобы
избежать ситуации искажений / зависаний (взаимных блокировок, deadlock) СУБД.
долговечность (Durability)
следует избегать случайной потери данных или свести ее
минимуму, добавив последнее действительное состояние, которое было у системы до
неполадок в функционировании, и возможность восстановления.
Программа СУБД не содержит прямых ссылок на данные, находящиеся в базе данных,
поскольку невозможно предварительн
о определить, какие данные фактически вводятся в базу
данных. Эта проблема решается специально для этой цели добавленного пространства памяти,
где сохраняют «словарь данных» (data dictionary), описывающий действительную
информацию, которую можно вводить в
базу данных.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Систематическое сохранение данных и информации в памяти компьютера имеет ряд
преимуществ, но также несет с собой и риски, которые должны быть рассмотрены и решены.
Этими проблемами являются избыточность данных, целостность, гибкость, безопасно
сть,
которые будут обсуждаться ниже.
.1.3 Избыточность и несогласованность данных
При сборе данных часто встречаются ситуации, проистекающие из реальной жизни,
например, при сохранении данных могут возникнуть ситуации, когда определенные данные
повторяю
тся в базе данных, например, если человек имеет несколько рабочих мест или
несколько профессий, см. рисунок 2 , или, например, когда собирают данные о дате рождения
и возрасте личности. В случае последнего примера сохранение возраста в базе данных
является
, очевидно, излишним, так как возраст может быть получен как разница между
текущей датой и датой рождения. Само собой разумеется, что такие данные будут расходовать
больше компьютерной памяти, чем, безусловно, необходимо, и, следовательно, в конечном
итоге
замедлять работу СУБД.
Ситуация, когда в таблице базы данных имеются неоднократно одни и те же данные,
называют
избыточностью данных
Часто встречаются также ситуации, когда в процессе сбора данных полученные данные
являются противоречивыми либо из
за оши
бки лица, занимающегося данными, либо из
за
ошибок процесса передачи данных или даже злонамеренного вмешательства человека или
вредоносной программы на некотором этапе процесса обработки информации.
Рисунок 2
1. Повторение данных (Андрес (nimi), проживаю
щий по адресу Йые 9
(aadress), имеющий номер работника 34 (töötaja_nr), имеет специальности (ameti_nimetus)
сварщика, водителя и механизатора. Номера этих специальностей (ameti_nr)
2, 5, 6
соответственно.)
Доступность, целостность, конфиденциальность
Дос
тупность (availability) данных
своевременная и удобная досягаемость информации и
удобство работы для авторизированных лиц и субъектов.
Доступность, как правило, наиболее важная характеристика данных
хуже всего, что
может случиться с данными, это то, чт
о они не доступны (авторизированным лицам).
Примеры проблем доступности:
Студентам выдается дублированный диплом (регистр народонаселения не доступен)
Женятся две личности, находящиеся в браке (уполномоченный сотрудник Дворца
бракосочетаний не имеет доступ
а к регистру народонаселения).
Целостность
данных (integrity)
происхождение данных из подлинного источника и
уверенность в том, что они позже не изменились, и / или их позже несанкционированно не
изменяли.
Комплексное понятие, которое охватывает действит
ельность данных, используемость
данных, правильность данных и целостность данных называют
согласованностью данных
Данные, как правило, связаны с создателем, со временем создания, контекстом и пр.,
нарушение этих связей может привести к непредвиденным посл
едствиям.
Примеры нарушения целостности:
Взломавший базу данных Riigi Teataja хакер может самоуправно изменять законы
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
В результате ошибочного изменения в Регистре наказаний заключенные раньше
освободят.
Проблемы целостности могут возникать и в случае физич
еских неполадок компьютера
стали ли данные нечитаемыми по какой
либо причине или будут ли они испорчены из
за
дефектов памяти. Например, нужно сохранить данные, которые включают в себя 3 куска
информации: сумму платежа, налог с оборота и дату оплаты. Есл
и одна из этих частей
отсутствует или искажена, это может обусловить много путаницы. Приведенная последней
проблема может быть решена согласно технологии сделок: если, например, какая
то часть из
х необходимых информационных частей отсутствует, то сделка
будет отменена.
Другая проблема целостности возникает в случае функциональной зависимости между
кусочками информации. Пусть, например, имеется счет, содержанием которого являются
какие
то товары и в чьем заголовке содержится данные клиента (его адрес, ном
ер счета и т.д.).
Эти данные клиента имеют различную важность, нежели содержание счета, поэтому обычно
происходит так, что содержание счета, имеющее наибольшую важность, и данные клиента
находятся в другой имеющейся таблице. Событие, которое отменяет чтени
е заголовка, может
вывести строки данных без данных клиента (orphaned). Чтобы избежать подобных ситуаций,
используются инструментальные средства, которые обеспечивают «ссылочную целостность»
данных (referential integrity).
Конфиденциальность данных (confid
entiality), или секретность
доступность данных
только для этого уполномоченным лицам (и недоступность до всех оставшихся).
Примеры нарушения конфиденциальности:
Данные пациентов клиники Тартуского университета попали в сеть
Государственный служащий Минис
терства обороны потерял карту памяти, отчего
конфиденциальная информация попала в частные руки.
Гибкость данных, одновременный доступ и безопасность
База данных может быть отличным решением для гибкого изменения данных. Известно,
что в организациях потребн
ости в данных развиваются с течением времени, и это
отображается в управляемый тип данных. Если прикладная программа отвечает за логику
доступа к данным, то вводимая новая информация непосредственно затрагивает
соответствующую программу и все другие програ
ммы, которые управляют сопутствующей
(коррелированной) информацией. Например, управление новой группой данных «адрес
электронной почты клиента» влияет не только на управляющую программу, но и на все другие
программы, у которых имеются доступ к данным клиен
та. Лучшим выходом из такой
ситуации является использование реляционной базы данных, что дает большую гибкость в
управлении информацией.
В случае крупных предприятий возникает проблема одновременного доступа к данным.
В небольших компаниях, как правило, им
еется личность или отдел, который отвечают за
обновление данных, у крупных компаний таковых обычно несколько. Например, может
возникнуть ситуация, когда расчетный отдел (бухгалтерия) хочет изменить данные счета
клиента (расчетный счет), а отдел маркетинга
хочет изменить адрес клиента. Поскольку
данные находятся в той же записи, то следует избегать проблемы перекрытия (наложения).
Эта проблема решается технологией
семафоров
(semaphore) или регулирующей доступ
технологией, что позволяет изменять данные одному
пользователю СУБД в тот момент
времени, когда другой просто должен ждать до тех пор, пока первый сделает свои изменения.
Наиболее серьезная ситуация возникает, если два пользователя хотят обновить два блока
данных в обратном порядке. На первом этапе оба п
олучают доступ к этой информации, чтобы
затем ждать неопределенное время того, кто заблокирован (эту патовую ситуацию называют
тупиковой ситуацией (взаимная блокировка, deadlock)). Новые СУБД могут разрешить эту
ситуацию, отслеживая заблокированные операци
и. В таких ситуациях лучшим решением
является делегирование управления процесса обновления данными базе данных.
СУБД, которая работает как непропускающий фильтр, способна также эффективно
управлять безопасностью доступа, поскольку доступ к данным происходи
т только через
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
СУБД. Это означает, что информация и права пользователя также сохраняются (обычно в
зашифрованном виде) в базе данных.
Лекция 8.
Структура базы данных
Проработав материалы данной подтемы, вы получите сведения о принадлежащих базе
данных
компонентах, расположении базы данных на диске, о составных частях базы данных и
частях, связанных с ведением (использованием) базы данных.
.1 Различия файловой системы управления и системы управления базами данных
Каждый раз, когда управляют постоянными
данными, используют запоминающие
устройства, которые, в общем, основаны на магнитных или магнитооптических технологиях.
В общем случае, эти устройства использует
операционная система
(ОС, OS) для сохранения
различных элементов, начиная от программ и их ус
тановок до фактических данных.
Каждая ОС использует собственную
файловую систему
(File Management System
FMS
). FMS использует службы операционной системы для доступа к запоминающим
устройствам, которые видятся как последовательность страниц, в которой со
храняется
информация.
FMS структурирует запоминающие устройства иерархическим образом, распределяя их
в папки или каталоги, которые сами могут содержать другие папки или архивы (
файлы
). Для
использования FMS не нужно знать техническую структуру запоминающи
х устройств. Вместо
этого, достаточно помнить желаемое имя файла и путь (или пути), который описывает
расположение папки, в которой находится файл.
Мощь и ограничения файловой системы управления проистекают из ее способности
содержать любой тип информации,
структурированный и неструктурированный, и даже
программы. Это обобщение является основой для операционной системы, чтобы иметь
возможность управлять любым видом данных, но в конечном итоге это влияет на
производительность, если использовать файловую сист
ему управления для специфических
задач. Это служит обоснованием, почему многие из СУБД позволяют использовать
низкоуровневые службы ОС, переходя от файловой системы управления и непосредственно
администрируя поддержку магнитного накопителя, работая напряму
ю со страницами.
Точнее говоря, ограничение файловой системы проявляются в следующих случаях:
отсутствует функция оптимизирования для распределения данных, которая
осуществляла бы необходимую политику блокировок (
блокировка
) для используемых
пользователем
файловых частей
отсутствует общая функция манипулирования данными, лучшим примером этого
является наличие в некоторых языках программирования такого (обычно объектно
ориентированных языков) расширения, как, например, оператор «cout» языка С++
отсутствует ф
ункции управления целостности. Это преимущественно необходимо для
обеспечения целостности транзакций и отношений, поскольку имеются низкоуровневые
решения, такие как
избыточный массив независимых дисков
RAID
) для гарантирования
общей целостности
отсутству
ет функция для прямого управления отношениями, связями или объектами.
.2 Компоненты системы базы данных
Для управления данными СУБД может использовать предлагаемые операционной
системой функции файловой системы управления или непосредственно самой занима
ться
запоминающими устройствами. Во втором варианте используют
специальную файловую
систему
, которую проектируют сами производители СУБД. Различия между этими двумя
путями могут быть значительными, как в скорости выполнения, так и со стороны цены,
однако,
это различие не оказывает влияния на сохраняемую информацию.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
СУБД не может ограничиваться только сохранением требуемых данных, поскольку
она, прежде всего, должна сохранять где
то структуру данных, причем на обоих, логическом
(имена, отношения) и физическо
м (для запоминания необходимых типов данных) уровнях,
сохраняя при этом необходимую гибкость. Эту информацию сохраняют в словаре данных
(data dictionary
DD). В словаре данных также необходимо сохранять индексы.
На основании административных требований ну
жно сохранять служебные данные
пользователя и их профили: эти данные СУБД использует для того, чтобы убедиться в
приемлемости операции. Всю эту информация вместе иногда называют
системными
каталогами
(system catalogues).
Задача индексов
обеспечить более
быстрый поиск по некоторым признакам. Как по
ключевому слову в индексе книг можно быстро найти расположение страницы без
перелистывания полного текста, так и в электронной базе данных удается по индексу найти
соответствующее место. Хотя разница ощутима осо
бенно в случае больших объемов
данных, где минутный поиск при использовании соответствующего индекса может
замениться миллисекундным. В случае кластерного индекса весь набор данных сортируют
по нужному столбцу, таких для каждой таблицы может быть только од
Статистические данные, сохраненные для запросов, помогают в дальнейшем запросы
оптимизировать
например, рассматривая с этой точки зрения возможность, какие
сравнения и исключения целесообразнее сделать раньше всего.
.3 Приложения, использующие сис
темы управления базами данных
Данными занимается большинство приложений. Если работа приложения
ограничивается вычислением ответа на основе данных пользователя, где расширенная
дополнительная информация не нужна, то можно, по большому счету, ограничиться
аходящимся в приложении кодом. При использовании или сохранение единичных данных,
данные традиционно удобно хранить в файлах. Однако если данных или их типов намного
больше или имеем дело одновременно со многими пользователями, то в этом случае
использован
ие системы управления базами данных как часть приложения, дает
значительную пользу. В противном случае, следует начать писать аналогичные
оптимизирующие и контролирующие части в своих программах, что оказывается весьма
трудоемким процессом.
У приложений, и
спользующих возможности баз данных, прибавляется, конечно,
сложность самого инсталлирования базы данных и объединение ее с приложением, так, что
от сложностей совсем не освободиться. Конечно, в более простых случаях имеются
небольшие системы управления баз
ами данных, работающие в памяти вместе с
программами приложения, т.е. моторы (движки), которые не требуют сложной установки. И
в крупных приложениях, опять же, установка базы данных не создает слишком большой
объем работ. Кроме того, при установке по умолч
анию большинства моторов (движков) баз
данных относительно несложно сделать так, чтобы можно было бы найти соответствующее
решение для умеренного количества данных. Если, однако, хотим из предлагаемой
аппаратуры взять все, что можно, и сделать управление б
олее гибким, то тогда следует
естественно более глубоко вникнуть в работу базы данных.
В большинстве сегодняшних веб
приложений местом хранения данных используют
базу данных и даже тогда, когда совокупность данных и сложность не являются большими.
В Вебе с
ледует почти всегда учитывать возможное число одновременно работающих
пользователей и то, что в базах данных временная блокировка соответствующих мест
происходит проще, чем у файлов. В распределенных приложения, работающих в
«облачных» системах, данные ото
бражаются программисту зачастую также в виде таблицы
базы данных. Хотя могут быть введены некоторые дополнительные ограничения по
использованию, так данные должны быть более удобными для облачной системы.
.4 Компоненты системы управления базами данных
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
мпоненты системы управления базами данных
язык запросов, генератор отчетов,
средства администрирования, одновременный контроль доступа, управление транзакциями,
средства резервного копирования и восстановления
имеются у большинства моторов
(движков) ба
з данных. Некоторые из них могут отсутствовать или быть разрешены
посредством прочих видов деятельности. Также у сложных систем имеется набор
дополнительных средств, при помощи которых стараются быть лучше, чем конкуренты.
При помощи языка запросов внешнее
приложение взаимодействует с базой данных,
давая понять, что хотят получить, фиксируя ответы. Язык запросов позволяет первоначально
тестировать базу данных без приложения, чтобы позднее эти же команды заставить работать
уже с приложением.
Генератор отчето
в помогает из данных получить удобные сводки информации и их
оформить. В более простых системах он отсутствует, и при необходимости следует в
приложении что
то аналогичное запрограммировать.
Средства администрирования могут ограничивать при помощи команд я
зыка запросов
распределение и снятие даваемых прав. Также для этой цели может быть построен
универсальный графический интерфейс администрирования
будь это сделано в рамках
самой программы базы данных, или как отдельное приложение. Одной из задач интерфей
са
администрирования является одновременное управление транзакциями. Если некоторые из
них при каких
либо условиях зависают, то администратор должен иметь возможность
определить, какие из них могут остаться, какие прервать и вернуться в начальное состояние
каким разрешить дальше выполняться.
.5 Роли пользователя базы данных, составителя, программиста и администратора
Пользователь базы данных запрашивает, изменяет
и дополняет
данные так, как
необходимо для его работы, и как позволяют его права. Задача с
оставителя / проектировщика
придумать и приготовить таблицы данных и сопутствующие вспомогательные средства, а
также изменить структуру и систему прав, чтобы сделать ее пригодной для использования.
Программист помогает притом в создании фрагментов кода в
большей части для хранимых
процедур. Задача администратора / менеджера
заботиться, чтобы другие участвующие могли
бы делать свою работу должным образом, у них должно быть достаточно прав и ресурсов.
Лекция 9.
Моделирование данных
Проработав материалы д
анной подтемы, вы получите сведения в достаточно
формализированном и обработанном виде о приспособлении реальных данных для
использования в базе данных.
.1 Абстракции и уровни представления данных
Под
абстрактом
типом данных
понимают определение наборов д
анных и совокупность
операций, выполняемых с этими данными. Тип данных является абстрактным до тех пор, пока
он не связан с каким
либо конкретным приложением, которое эти данные использует.
Проблемы управления данными можно разделить на три категории: хран
ение,
моделирование, а также доступ. Сложность управления можно уменьшить, рассматривая эти
различные аспекты по отдельности. Для достижения этой цели существует трехмерная
модель, которая отделяет физическое представление, логическое представление и
польз
овательское представление, и которая получила всеобщее признание.
Физическое представление
(physical level) занимается методами хранения данных. Это
можно легко достичь путем делегирования этой задачи файловой системе управления
операционной системы или пр
ямым и оптимальным управлением накопителями на дисках
(дисководами).
Логическое представление
(conceptual level) рассматривает, как структурируют
информацию, определяя отношения (связи) между данными.
Пользовательское представление
(view level) рассматрива
ет доступ пользователя к
информации, как и к возможным операциям, так и в контексте инфоструктуры, отображаемой
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
пользователю. В случае более простых приложений, оно может в значительной степени
походить на логическое представление, но в интересах удобства
пользователя может быть
приспособлено к нуждам пользовательского представления.
Эти три представления являются зависимыми друг от друга и могут быть управляемыми
различными лицами и субъектами, делая эту трактовку относительно эффективной.
Физическое предс
тавление, например, находится в ведении СУБД и, следовательно, подпадает
под компетенцию проектировщиков СУБД. Каждая реализация СУБД основывается в каждом
отдельном случае на компромиссе между скоростью реализации, стоимостью и
стабильностью. Реализация л
огического и пользовательского представлений с точки зрения
принятия решений является более стандартной, что позволяет проектировщикам базы данных
структурировать базу данных в соответствии с временными требованиями и требованиями
приложения.
.2 Группы м
оделей данных
Наиболее распространенные группы моделей данных являются основанная на объектах
логическая модель, основанная на записях логическая модель и физическая модель данных.
В управлении данными используются различные модели, которые различаются в
бобщениях (абстракциях), начиная от модели записей физических данных до объектной
модели.
Физические модели ограничены, принимая во внимание физическое представление
данных. Физическая модель данных имеет дело с проектированием данных, которое
учитывает ко
нкретную среду (компьютер программы базы данных), и собственными
возможностями системы управления базами данных.
Основанные на записях модели записей используют обычную практику архивирования,
сохраняя информацию в файлах, которая состоит из записей.
Больш
е связанный с объектами уровень обобщения основывается на отношениях
зависимостей, связанных с различением объектов (единиц) данных.
.3 Описание основанных на записях иерархической модели данных и сетевой модели
Основанная на записях
логическая модель бо
лее похожа на деятельность по
архивированию, которое использовали до эпохи компьютеризации. По сравнению с ER
моделью (модель сущность
связь, entity
relationship model) запись эквивалентна сущности,
которая гарантирует то, что она представляется тем же объ
ектом, связанным с
информационной группой.
Если в ER
моделе эта информационная группа используется в качестве атрибутов
(свойств), то здесь она называется
полем данных
(field). Это философское различие,
поскольку ER
модель делает обобщение, определяя сущно
сть и атрибуты.
Другое отличие имеется в том, как отношения (связи) определяются и управляются.
Первая модель представляет собой
иерархическую модель данных
, в которой
отношения являются иерархическими. Эти отношения реализуются с помощью ссылок.
Например,
в записи, которую определяет работник, имеется ссылка на цепочку записей,
содержащую данные о заработной плате этого работника (или об условиях оплаты труда), в
которых, в свою очередь, имеется ссылка на выплаты.
Этот схематический подход является жестким
, несмотря на свою простоту, так как
внутренние ограничения проистекают из простоты.
Сетевая модель данных, включающая в наборе большинства записей много
перекрестных ссылок, создает фактическую интерсеть, которая похожа на связанные веб
страницы, и являет
ся немного менее жесткой. Ограничением или проблемой сетевой модели
при обновлении данных является
трудности управления требующих обновление перекрестных
ссылок. Очевидно, что это ограничение компенсируется большей гибкостью многих
перекрестных ссылок, что
, в свою очередь, позволяет гораздо быстрее осуществлять
навигацию между записями, чем иерархическая модель.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Существование большинства моделей основывается на использование похожих, но не
идентичных положений с разными названиям
и: поэтому можно встретить СУБД продукты,
которые по
прежнему зовут строки записями, столбцы (или пересечения столбцов и строк)
полями и одно из уникальных признаков первичным ключом (используют те же термины,
которые имеются в модели сущность
связь).
Основанная на объектах логическая модель
Основанные на объектах логические модели: модель сущность
связь, объектно
ориентированной модели
Первая модель, связанная с объектами, получила название модель сущность
связь или
модель объект
отношение (entity/rel
ationship (E/R) model). Модель начинается с определения
объекта (сущность, единица данных). Например, в контексте управления персоналом
объектом или единицей данных является сотрудник. Группу объектов (сотрудники
предприятия) называют
совокупностью объекто
(или совокупностью единиц данных,
множеством сущностей
entity set). Каждый объект характеризуют атрибуты, или свойства
(attributes), которые описывают его. Свойством сотрудника (атрибутом) является, например,
дата приема его на работу.
Для различения в
наборе конкретных объектов или единиц данных используют
ключ
который является одним из атрибутов объекта. Имеются различные ключи, но назначением
всех их является уникальное отличие объекта среди объектов в наборе.
Первый тип ключа
это т.н. суперключ (
superkey). Суперключ состоит из нескольких
атрибутов, которые делают его сверхдостаточным, основываясь на его цели. Суперключом,
например, может быть ключ, состоящий из группы свойств «номер счета», «название бюро» и
«пол». Так как наличие номера лицевого
счета само по себе достаточно, чтобы определить
личность человека, то тогда такой ключ и является сверхдостаточным.
Ключ, который позволяет однозначно определить объект без чрезмерного использования
атрибутов, может отделиться от суперключа и стать
потенци
альный ключом
(candidate
key)
первичного ключа
(primary key). В приведенном выше примере номер счета является
хорошим примером потенциального ключа. Если потенциальных ключей больше, чем один, то
выбирают один из них первичным ключом. На примере сотрудника
конструируют первичный
ключ полностью на атрибуте «номер сотрудника», поскольку внутри предприятия этот
атрибут является, во всяком случае, уникальным и характеризует сотрудника больше, чем
номер счета, который лучше в качестве первичного ключа для проведе
ния различия между
клиентами банка.
Связь
, отношение или зависимость
это ссылка, которая создает логическую связь
между объектами или совокупностями объектов. Например, на предприятии имеется
взаимосвязь между совокупностью сотрудников и их пакетов зараб
отных плат. Каждое
отношение описывается группой свойств. В случае вышеприведенного примера связью между
пакетом заработной платы и сотрудником могут быть номер сотрудника, номер месяца и
номер года. Два связанные связью свойства могут быть разноуровневыми
, например, одно
является доминирующим (dominant) и другое подчиненным (subordinate). В приведенном
примере номер сотрудника
доминирующий, ибо нельзя платить зарплату, если нет
работника. Конечно, и обратное возможно, потому что заработная плата не выпла
чиваются,
как правило, пока работник не отработал месяц времени.
Кардинальность
является важным свойством (атрибутом) связи или отношения, и она
определяет, какое имеется соответствие связанных полей данных. Отношения между
работником и вознаграждением име
ет тип «одного ко многим», который показывает, что
общему сотруднику соответствует несколько пакетов заработной платы. Отношение, которое
связывает вознаграждение с относительной выплатой, находится в связи «один к одному»,
которая указывает, что пакет воз
награждения должен соответствовать одной и только одной
оплате (конкретная сумма заработной платы личности).
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Отдельно стоит рассмотреть «слабые сущности» («weak entities»), или сущности, у
которых отсутствует первичный ключ. Примером таких сущностей можно
привести
банковский депозит, чьим атрибутом является количество (сумма) и дату / время, или
временная метка (timestamp). Невозможно определить первичный ключ, потому что разные
люди могут сделать вклад одной величины в один и тот же момент времени. Вернее,
эта
сущность имеет зависимость многие
одному с сущностью, которая отображает номер
банковского счета, на который был помещен вклад, и который, в свою очередь, является
первичным ключом счета. Первичный ключ вклада составляют из атрибутов временной метки
вклада и сущности «конто» (счет) номера счета.
Модель сущность
связь является первой и наиболее широко используемой моделью, но
это не единственная логическая модель, поскольку с наступлением объектно
ориентированных языков широко распространились и объек
тно
ориентированные базы
данных (object
oriented databases (OODB, русским акронимом может быть OOБД)). Понятие
ООБД проистекает из использования принципов объектно
ориентированного
программирования вместе с возможностью управления и хранения данных. ООБД и
спользуют
в случае управления сложными структурами данных, где недостаточно только управление
перечислением свойств, но где необходимо выполнить действия или
процедуры, связанные с
сохраненными данными
Основные принципы ООБД такие же, как в объектно
ориен
тированном
программировании:
абстракция, или обобщение
свойство описывать аспекты функциональностей
объектов и избегать внимания к деталям внутренней реализации
инкапсуляция (encapsulation) или способность отделить внешние аспекты
(функциональность) от в
нутреннего представления, поскольку оно не является существенным
для верхних слоев приложения, то оно маскируется.
Оба приведенных аспекта позволяют объяснить (использовать) понятие абстрактного
типа данных (abstract data types (ADT)).
Атрибуты характеризу
ют объекты (данные) и действия (как можно манипулировать
объектами). Например, тип «текст» у объекта можно определить путем
прибавления текстов
операции добавления текста, или как поиск некоторого отрывка этого текста. Аналогично
сущностям или множеству су
щностей объект может принадлежать к
классу
объектов. Можно
также определить, что объекты являются единственными
экземплярами
класса (или
представителями класса), которые представляют некоторое известное приложения. У каждого
объекта имеется свой признак (O
object identifier)
, который является уникальным в рамках
всей системы, и представляет собой ссылку на сам объект.
Лекция 10.
Реляционная модель
Проработав материалы данной подтемы, сможете узнать об основных компонентах
наиболее распространенных м
оделей данных,
основных понятиях и об
приведение данных
в соответствующий реляционный формат для обработки базой данных.
.1 Гибкость, отсутствие избыточности и масштабируемость модели
Лучшая модель, или, по крайней мере, наиболее успешная / наиболее р
аспространенная
это
реляционная
, в которой записи заменены на
строки
, сгруппированные в
таблицах
которые между собой связаны частями содержания строк в самих строках. То, что называется
сущностью в ER
модели, является строкой в реляционной модели и табл
ица в реляционной
таблице отвечает совокупности (набору) сущностей (группе) в ER
модели.
Столбцы
реляционной модели соответствуют атрибутам ER
модели.
Термин
связь
(отношение)
используется в обеих моделях для того, чтобы показать, как
сущности / строки и /
или группы сущностей / таблицы связаны между собой. Также путь
создания отношений похож, поскольку используются атрибуты / столбцы как обычно в
таблице.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Идентификаторы
определяются как для однозначной идентификации строки в таблице,
так и для ускорения пои
ска. Индекс похож на ключ ER
модели, так
как
уникальные
идентификаторы (признаки) эквивалентны
потенциальному ключу
. Могут
существовать также неуникальные признаки и у них нет соответствия в ER
модели, где их не
используют (они не существуют). Неуникальные
признаки проистекают не из понимания
содержания, а скорее соображения производительности, которая теоретически должна быть
ограничена уровнем физической реализации, однако их можно эффективно определить, зная
только логическую структуру данных.
Перед иссле
дованием реляционной модели полезно обобщить различные
классификации. Имеются два фундаментальных аспекта (основных положений), связанные с
реляционными базами данных: формальная теория и разнообразные практические
приложения.
Хотя эти два аспекта совпада
ют, они расходятся классификационно, как показано в
следующей таблице:
E/R модель
Формальная
теория
Реальное
приложение
Совокупность
сущностей
Отношение (!)
Таблица
Сущность
Кортеж (
Tuple
Строка
(запись)
Атрибут
Атрибут
Столбец
(поле)
Потенциальный
ключ
Уникальный
индекс
Домен
Domain
Допустимые
значения
Реляционная база данных состоит из таблиц, каждая из которых представляет
информацию, связанную с группой «субъектов», например, клиент компании (покупатель).
Таблица состоит из строк, каждая из
которых содержит информацию, которая находится в
связи с четко определенным субъектом, например, с конкретным покупателем. Таблица
состоит из столбцов, представляющих разную, но однотипную информацию (бизнес
имя,
финансовый код, ...) по субъектам. Уникальн
ый индекс (также известный как первичный
ключ, или первоначальный ключ) используется для различения специфической строки в
таблице. Две таблицы могут быть связаны друг с другом столбцами с одинаковым
содержанием, существующими в обеих таблицах, например, т
аблица «покупатель» и «счет»
могут иметь отношения (взаимодействовать) через столбец, что содержит код для покупателя,
так как эти данные доступны в обеих таблицах.
Хорошо спроектированная реляционная база данных имеет ряд важных и полезных
признаков:
Отсу
тствует избыточность данных. Это означает, что существующие данные в базе
данных не могут быть образованы путем объединения или комбинирования прочих данных
той же базы данных. Примером избыточности являются столбцы или строки с повторными
данными. Существ
уют различные методы и меры по устранению избыточности, и они
рассматриваются более близко в разделе более «нормальной формы». Очевидно, что может
существовать желаемые или необходимые дублирования, но они связаны с резервным
копированием базы данных или с
сохранением в RAID
системе. Такое дублирование не
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
влияет на логический уровень, независимо от того, как это создается, оно связано с
физическим уровнем.
Снижение дублирования. Определенный уровень дублирования необходим при
создании отношений, или связей.
Хорошим примером может служить существование в
таблице столбца кода покупателя, как в вышеприведенном примере: он имеется как в таблице
покупателей для различения одной строки от другой, так и в таблице счетов, показывая для
какого покупателя, каждый счет
выставлен.
Ссылочная целостность. Должно быть невозможно удалить информацию, которая
необходима для квалифицирования другой информации. Используя опять предыдущий
пример, ссылочная целостность избегает удаления покупателя, кому выписан счет, исключая
счет
а недействительных покупателей. Ссылочная целостность может работать и в обратном
направлении, удаляя все счета конкретного покупателя, если покупатель сам себя удалил (как
правило, описанный случай не представляется возможным из
за существующего закона,
оторый запрещается удаление отчетных данных).
Высокая скорость исследования данных
, которую получают путем определения
индексов. Не только уникальный индекс (или уникальный ключ) является полезным для
увеличения скорости поиска, но также и неуникальный инд
екс является полезным для
ускорения поиска. Примером неуникального индекса является индекс, который создан,
например, с использованием фамилии руководителя компании: он не является уникальным,
поскольку различные руководители могут обладать одинаковыми фам
илиями. Несмотря на
это, этот индекс допускает быстрое нахождение данных фирмы, если известна только
фамилия руководителя.
.2 Ключевые термины реляционной модели
Отношение
это совокупность связей, таблица данных. Согласно более формальному
определению
отношение
это совокупность экземпляров сущностей с одинаковыми
атрибутами и их атрибуты. Базовое отношение
это отношение, чьи записи хранятся
физически в базе данных. Представление,
или виртуальное отношение, является результатом
реляционной операции
, примененной на одном или нескольких базовых отношениях, чьим
результатом является также отношение. Записи этого отношения не сохраняются в базе
данных, однако при помощи представления динамически конструируются для пользователя.
Потенциальный ключ
(ключ
кандидата) (candidate key) есть суперключ, чье
подмножество не является корректным суперключом. Это означает, что и из потенциального
ключа нельзя больше удалить ни
одного атрибута без того, чтобы он не потерял
уникальность.
У отношения может быть нескол
ько потенциальных ключей.
Свойства
потенциальных ключей:
уникальность
каждое значение потенциального ключа однозначно идентифицирует
одну запись отношения
полнота
из потенциального ключа нельзя не могут быть удалены атрибуты без потери
свойства
Первич
ный ключ (первоключ) (primary key)
потенциальный ключ, который выбран,
чтобы однозначно идентифицировать записи отношения. Первичный ключ
это ключ,
который однозначно идентифицирует одну запись. Критерии выбора:
домен (область) атрибута (значение долж
но быть как можно короче)
количество атрибутов (атрибуты должны быть как можно меньше)
вероятность будущей уникальности (должна содержать уникальные значения, как
текущие, так и будущие).
Альтернативными ключами
(alternate key) называют потенциальный ключ,
не
выбранный
первичным ключом.
Суперключ
(superkey)
это атрибут или комбинация атрибутов, который однозначно
идентифицирует записи, находящиеся в отношении. Суперключ может содержать атрибуты,
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
которые не нужны для обеспечения уникальности, то есть из н
его можно удалить атрибуты и
он все же гарантирует уникальность.
Интеллектуальный
(«разумный»)
ключ
, или ключ со смысловым значением
(информативный) (intelligent key). Ключ со смысловым значением является, конечно,
уникальным, и его значение имеет смысл дл
я пользователя, например, личный код.
Внешний ключ
(foreign key) указывает другому отношению, помогает в обеспечении
ссылочной целостности (пример и объяснение в предыдущей главе). Позволяет связать
отношения / записи друг с другом.
.3 Пример нормализа
ции данных
Для исключения избыточности данных, можно использовать процесс, который пытается
изменить структуру базы данных, заставляя таблицу пройти последовательность трех
нормальных форм
Первая нормальная форма (1 NF):
говорят, что таблица находится в
первой
нормальной форме, если она описывает одну сущность и не содержит векторов и
повторяющихся
атрибутов. Рассмотрим, например, таблицу, которая содержит данные
занятий одного курса.
Для каждой строки занятия имеются код,
данные учителя и ученика.
аблица не
находится в первой нормальной форме, поскольку данные ученика
это вектор,
соответствующий занятию.
Код
предмета
Предмет
Учитель
Код
ученика
Фамилия
ученика
Имя
ученика
䄰1
Проектирование
Линд
匰1
Роовяли
Марек
匰㈀
Петерсон
Мария
匰3
Мартсон
Элла
䄰㈀
Построение
Сепп
匰㈀
Петерсон
Мария
匰3
Мартсон
Элла
Если быть более точным, каждое занятие связано более чем
с одним учеником, это
можно выразить, сказав, что есть вектор учеников
(группа учеников) для каждого занятия.
Для перевода таблицы в первую нормальную форму нужно разделить данные учеников и
занятия, создавая новую таблицу учеников. В таблице занятий столько рядов, сколько имеется
разных занятий, в таблице учеников, занесенных в список предмета, столько строк, ско
лько
учащихся зарегистрировалось на данный предмет. И каждый ученик должен там быть
представлен больше, чем один раз. В этой таблице также должен быть столбец с кодом
занятия, на которое ученик зарегистрировался.
Занятия
Предмет
Учитель
Проектирование
Построение
Сепп
Зарегистрированные учащиеся
Код
предмета
Код
ученика
Фамилия
ученика
Имя
ученика
䄰1
匰1
Роовяли
Марек
䄰1
匰㈀
Петерсон
Мария
䄰1
匰3
Мартсон
Элла
䄰㈀
匰㈀
Петерсон
Мария
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
A02
S03
Мартсон
Элла
Вторая нормальная форма (2 NF):
таб
лица находится во второй нормальной форме,
если она в первой нормальной форме и все атрибуты зависят только от первичного ключа.
Исходя из вышеприведенной таблицы «Зарегистрированные учащиеся», первичный ключ,
нужный для различения строк одной от другой, с
ледует составить из кода предмета + кода
ученика. Можно заметить, что имя и фамилия ученика
зависят только от
кода ученика, а не
от всего первичного ключа.
Для приведения таблицы во вторую нормальную форму, мы должны вывести
данные,
которые
не зависят
совсем от первичного ключа, и включить эти данные в новую таблицу
«Ученики». Стоит отметить, что потери информации не происходит, поскольку столбец кода
ученика
имеется в обеих таблицах, что допускает
взаимосвязи между
этими таблицами.
Зарегистрированны
учащиеся
Ученики
Код предмета
Код
ученика
Код
ученика
Фамилия
ученика
Имя
ученика
䄰1
匰1
匰1
Роовяли
Марек
䄰1
匰㈀
匰㈀
Петерсон
Мария
䄰1
匰3
匰3
Мартсон
Элла
䄰㈀
匰㈀
䄰㈀
匰3
Третья нормальная форма (3 NF):
таблица наход
ится в третьей нормальной форме,
если она во второй нормальной форме и все атрибуты, не связанные с
первичным ключом,
зависят друг от друга.
Посмотрим на таблицу учеников, в которой содержатся
персональные данные
как,
например, в следующей таблице.
еники
Код
Фамилия
Имя
Дата
рождения
Возраст
Последнее
обновление
匰1
Роовяли
Марек
匰㈀
Петерсон
Мария
匰3
Мартсон
Элла
Находящийся в данной таблице возраст может быть вычислен
на основе даты рождения,
поэтому эта информация является избыточной.
Этот недостаток может быть легко устранен
путем
приведения таблицы учеников в третью нормальную форму.
Занятия
Код
предмета
Предмет
Учитель
Сидячие
места в
помещении
Свободные
места
䄰1
Проектирование
Линд
䄰㈀
Построение
Сепп
Иногда зависимость не так легко обнаружить. Давайте посмотрим на
таблицу
«Занятия», которая фиксирует возможное количество мест для каждого занятия. Количество
свободных
местах может быть рассчита
но путем вычитания числа зарегистрированных
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
студентов из количества доступных мест. Следует исключить из таблицы колонку
«Свободные места». Чтобы привести таблицу в третью нормальную форму.
Лекция 11.
Языки запросов
Проработав материалы данной подтемы, в
ы сможете узнать об архитектуре и
возможностях и
применении различных языков запросов.
.1 Различие процедурных и непроцедурных язык запросов
Развитие языков запросов баз данных началось
с реляционной алгебры и
достигло
структурированного языка запросо
(Structured Query Language
SQL).
Реляционная алгебра
это процедурный язык, связанный с процессами: для достижения
желаемых результатов может потребоваться провести последовательность действия, как
показано в примерах
на следующей паре страниц. SQL в
первую
очередь
непроцедурный
язык: каждый оператор выдает результат, соответствующий
запрашиваемому выходу. Ответственность за то, как
добиться соответствующего выхода,
лежит, в значительной степени, на моторе
(движке)
базы данных. Это особенно верно в
случае
интерпретирования SQL, который используют администраторы баз данных. Однако в
языке есть конструкции, которые можно использовать только в контексте языка
программирования и которые позволяют использовать определенные процедуры. Эти
процедуры имеют
ся только во внутреннем описании стандарта, или спецификации, SQL (в
основном, это запросы, вводимые с
командной строки).
.2 Основные операции реляционной алгебры
Для того чтобы действительно понять поиск данных, полезно начать с понятий
реляционной а
лгебры, исследуя ее потенциальные операции.
Объединение
двух таблиц (union). Это набор строк (совокупность, комплект), который
принадлежит, по крайней мере, одному из двух табличных комплектов. Объединение можно
представлять, как таблицу, которая собрана и
з различных столбцов двух в таблице.
Разница
между двумя таблицами (difference). Предполагая, что в двух таблицах
имеются одинаковые столбцы, определим разницу как набор строк (совокупность, комплект),
которые имеются в первой и отсутствуют во второй табли
це.
Прямым произведением
(декартово (Descartes) произведение, Cartesian product)
является набором строк (совокупность, комплект), который получается путем расположения
каждой строки из первой таблицы по одной рядом со строками второй таблицы. Пример
прямог
о произведения двух приведенных ниже таблиц приведен в следующей ниже второй
таблице. Таким образом, имеем здесь дело со всевозможными комбинациями между строками
двух таблиц.
Пользователи
Учебный предмет
Код студента
Имя
Предмет
Студент
䄰1
Марек
тория
䄰1
䄰㈀
Мария
История
䄰3
䄰3
Элла
География
䄰1
География
䄰㈀
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Прямое произведение: Пользователи и
Учебные предметы
Код студента
Имя
Предмет
Студент
A01
Марек
История
A01
A01
Марек
История
A03
A01
Марек
География
A01
A01
Марек
Геогра
фия
A02
A02
Мария
История
A01
A02
Мария
История
A03
A02
Мария
География
A01
A02
Мария
География
A02
A03
Элла
История
A01
A03
Элла
История
A03
A03
Элла
География
A01
A03
Элла
География
A02
Выборка из таблицы
. Это набор строк (совокупность, комплект
) таблицы,
удовлетворяющий сериям условий, которые видны из самого выбора. В приведенной выше
таблице серым цветом выделены строки, которые удовлетворяют условию «Код студента»
таблицы «Пользователей» соответствует «Студенту» таблицы «Учебные предметы». Эт
строки скопированы в следующую таблицу.
Выборка из прямого произведения
Код студента
Имя
Предмет
Студент
䄰1
Марек
История
䄰1
䄰1
Марек
География
䄰1
䄰㈀
Мария
География
䄰㈀
䄰3
Элла
История
䄰3
Проекция.
Проекция представляет собой подмножество
столбцов, получаемое из
прямого произведения путем удаления многократного вхождения столбцов (или
неопределенных атрибутов), таким образом, исключают многократно представленные
столбцы и удаляют столбцы с нежелательной информацией. В приведенном выше приме
ре
столбец «Студент» представляет ту же информацию, что столбец «Код студента» и, в итоге,
не присутствует в результате операции проекция.
Проекция
Код студента
Имя
Предмет
䄰1
Марек
История
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
A01
Марек
География
A02
Мария
География
A03
Элла
История
нъюнкция
или
соединение
(слияние, объединение
join
). Операция соединения, по
сути, прямое произведение с последующей выборкой. Поскольку выборка содержит только
равные условия, поэтому название операции
«эквивалентная связь, объединение по
эквивалентно
сти
equi
join ». Результат эквивалентной связи
особое промежуточное
соединение двух таблиц. Если этому следует проекция, то такая операция именуется
«естественное соединение
natural join». Две таблицы, сопровождающие последний
вышеприведенный пример
есть примеры эквивалентной связи и естественного соединения.
Переименование.
Используют для переименования столбцов таблицы. Например,
столбец «Код студента» можно переименовать в столбец «Код».
Переименование
Имя
Предмет
䄰1
Марек
История
䄰1
Марек
География
䄰㈀
Мария
География
䄰3
Элла
История
.3 Язык определения данных (DDL) и язык манипулирования данными (DML)
Двигаясь от реляционной алгебры к SQL нужно отметить, что этот язык содержит ряд
внутренних частей (компонентов). Особое значение им
еют:
Язык определения данных
(Data Definition Language
DDL) является частью SQL,
которая предназначена для определения данных. Язык включает в себя приказы
(команды):
create
создать,
drop
удалять, выбрасывать, исключать, и
alter
изменить. Эти
команд
ы позволяют создавать, удалять и изменять таблицы, представления и индексы.
Вскользь познакомимся с этими приказами в следующем разделе.
Язык манипулирования данными (Data Manipulation Language
DML) является частью
SQL, которая предназначен для манипули
рования с данными. Язык включает в себя приказы
(команды) на
insert
вставить, ввести, добавить,
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
not null
если это добавлено, то столбец не может иметь пустое значен
ие, и следует ввести
данные в данный столбец!
Некоторые возможные типы данных перечислены в следующей таблице.
Тип
Значение
椀湴攀来爀
32 битное целое число
猀洀愀汬楮琀
16 битное целое число
晬漀愀琀
64 битное число с плавающей запятой (12 значащих цифр)
猀浦氀漀愀
32 битное число с плавающей запятой (7 значащих цифр)
捨慲⠀渀⤀
String (текст) из n символов
癡爀挀桡爀⠀温
Строки переменной длины (n
максимальное число символов)
摡琀攀
Дата (число дней после 31 декабря 1899 г.) (1 января 1900
1 день)
(известна также ка
к дата юлианского календаря)
Команда создания таблицы должна быть сопровождена именем таблицы и списком
столбцов таблицы. Для каждого столбца нужно показать тип данных и указать, может ли или
не может быть оставлен пустым соответствующий столбец (иметь nu
ll (нуль)
* значение).
В случае SQL
Null value
означает не значение «0» (нулевое значение,
zero value
), а пустое,
без содержания поле! В языке программирования этому аналогичен пустой указатель, в
обычной жизни
отсутствие значения.
Пример:
Create tabl
e tudengid (tkood integer not null,
eesnimi char(10) not null, perenimi char(15) not null,
synnipaev date);
Для очистки таблицы вместе со своей структурой и содержанием (для удаления) может
быть использован приказ (команда):
drop table tname;
Где
tname
имя удаляемой таблицы
Пример:
Drop table tudengid;
Для изменения структуры таблицы можно использовать следующие приказы:
alter table tname modify ( colname coltype [not null], ...);
alter table tname add ( colname coltype [not null], ...);
alter table tn
ame delete ( colname, ...);
где tname, colname, not null значения приведены выше (создание таблиц)
Первый приказ изменяет тип данных столбца / столбцов. Изменение типа данных
всегда возможно, если таблица пуста, но это может оказаться невозможным, если в т
аблице
есть данные. Возможно ли это или нет, зависит от «взаимозаменяемости» данных: например,
всегда возможно преобразовать число в строку, а обратное возможно только тогда, когда
строка (string) представляет число. Некоторые преобразования могут сопровож
даться
потерей данных: например, изменение строки в строку меньшей длины или изменение
данных типа float в данные типа smfloat.
Вторая строка из приведенных выше команд позволяет добавить столбец / столбцы в
таблицу: это может оказаться невозможным, если т
аблица содержит данные и добавляемый
столбец не допускает пустых значений (некоторые версии SQL позволяют для добавления
использовать так называемые «значения по умолчанию» для разрешения этой проблемы).
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
Третья строка команд позволяет очистить столбец (иск
лючить, удалить): если этот
столбец содержит данные, они также будут удалены.
Примеры:
Alter table tudengid add (pikkus smallint);
Alter table tudengid modify (pikkus float);
Следующая команда используется для созд
ания индекса:
create [unique] index idxname on tname (colname, ...);
где используются следующие обозначения
unique
если используется, то означает, что индекс является уникальным;
idxname
имя создаваемого индекса;
tname
имя таблицы;
colname
имя стол
бца.
Полезно знать, что невозможно создать уникальный индекс для таблицы, которая уже
содержит данные, если данные не соответствуют уникальной сути индекса.
Примеры:
Create unique index tudengiid on tudengid (tkood);
Create index tudenginimi on tudengid
(perenimi, eesnimi);
При помощи следующего приказа можно очистить индекс:
drop
index
idxname;
Где idxname
имя удаляемого индекса.
При очистке индекса не имеет значения, является ли индекс уникальным или нет.
Возможности изменения индекса в языке нет: дл
я изменения следует индекс удалить и
создать снова. Очистка индекса не приведет к потере данных, но стоит знать, что очистка
уникального индекса может создать ситуацию, когда добавление промежуточных данных
может обусловить невозможность его воссоздания.
ример:
drop index tudenginimi;
Задания
Создать таблицу koerad для хранения данных собак (код, имя собаки)
Добавить дату рождения собаки synniaeg в таблицу.
Добавить уникальный индекс для кода
Указания
CREATE
TABLE
koerad
INT
koeranimi
VARCHAR
(30))
ALTER TABLE koerad ADD synniaeg DATE;
CREATE UNIQUE INDEX koeraindeks ON koerad(kood)
SQL
92 (номер года) является обычно общим и везде действующим стандартом.
Системы баз данных сделали множество усовершенствований дополнительных
возможностей типов данн
ых и команд, например, таких как создание первичного ключа и
автоматическое создание кода. Но перевод составленных в одной среде сколько
нибудь
сложных приказов в другую мо
жет оказаться довольно трудным.
Лекция 12.
SQL
запросы
Проработав материалы данной
подтемы, вы получите сведения о
SQL
запросах.
.1 Команды языка манипулирования данными SQL (DML)
Обращаясь к языку манипулирования данными (DML), можно отметить, что данные
могут быть добавлены в таблицу
при помощи следующего оператора (запроса):
inse
rt into tname [(colname, ...)] values (colval, ...);
используемые обозначения:
tname
имя таблицы, в которую добавляются данные; colname
имя столбца, куда добавляют
данные;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
colval
конкретные данные, добавляемые в таблицу.
Операция добавления данных м
ожет завершиться неудачей по нескольким причинам:
добавляемые данные дублируют значение уникального индекса или введенные данные
не
совпадают с типом данных столбца.
Пример:
Insert into tudengid (tkood, eesnimi, perenimi)
values (12, "Juhan", "Juurikas")
Операция удаления строк позволяет также добавлять условия удаления путем введения
нового синтаксического предложения
where
delete from tname [where colname condition {colval|colname} [oprel ...]];
используемые обозначения:
tname
имя таблицы, в кото
рую добавляются данные;
colname
имя столбца;
condition
оператор условий;
colval
значение, которое сравнивают с содержанием столбца colname;
oprel
оператор сравнения (реляционный оператор).
Рассматриваемые здесь условия
являются довольно
таки пр
остыми. Возможности
вариантов условий предложения
where
гораздо шире и остаются за рамками настоящего
рассмотрения.
Условие
Значение
Условие истинно, если обе стороны оператора
равны.
Условие истинно, если обе стороны оператора
различны.
Условие истинно, если обе стороны оператора
соответствуют условию
указанного неравенства.
汩欀攀
Условие истинно, если
левая часть термина « like» содержит условия
правой стороны (символы). Можно использовать метасимволы, такие как
символ «%». Сим
вол %
обрабатывается, если
символов в
произвольном
порядке.
洀慴捨敳
Условие истинно, левая часть соответствует условиям (символам) правой
стороны. Можно использовать метасимволы.
Оператор
условия
Значение
愀湤
Выражение истинно, если
предшествующ
ие и последующие
оператору условия истинны.
Выражение истинно, если хотя бы одно из двух условий истинно.
Отрицает следующие за оператором условия (соответствует
противоположному значению).
Следующий пример показывает, как аннулировать записи
студента по фамилии Juurikas,
который родился до 1 января 1983 года. Для очистки (удаления) строки (записи) он
должен
удовлетворять обоим условиям и, следовательно, необходимо использовать оператор
and
Пример:
.01.1983" and perenimi="Juurikas";
В таблице изменения значений могут быть сделаны при помощи следующего оператора:
update tname set colname=valcol, ... [where colname condition {colval|colname} [oprel
...]];
используемые обозначения:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
tname
имя таблицы
, в которой удаляются данные;
colname
имя столбца;
valcol
приписанное столбцу значение;
condition
оператор условий;
colval
значение, которое сравнивают с содержанием столбца colname;
oprel
оператор сравнения (реляционный оператор).
Испо
льзование дополнительных предложений.
Приказ обновления данных позволяет одновременно обновлять несколько строк и
столбцов таблицы. Выбор строки производится при помощи предложения
where
, который
следует четко показать в запросе обновления столбца.
В следу
ющем примере обновляют фамилии, имена всех студентов, чей код равен 2; если
уникальный индекс определен как код (см. определение индекса у соответствующего
примера), то будет обновлена только одна запись (или ни одной, если нет студентов с кодом
2).
Прим
ер:
update tudengid set perenimi="Juurikas" and
eesnimi="Piret" where tkood=2;
До сих пор мы рассматривали приказы изменения данных, теперь станем исследовать,
как необходимую информацию вывести из таблицы. Для этого используют
широкоиспользуемый операто
select
, который является и очень гибким:
select ( colname, ...) from tname [where ...] [group by (colname, ...)] [order by (colname,
...)] [having ...] [into [temp] table tname];
используемые
обозначения
colname
имя
столбца
tname
имя таблицы, из к
оторой выбираются данные;
where
предложение, которое было описано при описании вышеупомянутых приказов delete и
update;
having
несколько похожа на
where
, но оцениваются частичные результаты.
Предложение
order by
позволяет выводить данные, располагая
их в определенном
порядке, в то же время предложение
group by
позволяет группировать данные. В таких
приказах, где используются
все перечисленные предложения
where
применяется
в первую
очередь, затем
order by
group by
и только
тогда
предложение
having
Учитывая сложность и гибкость приказа
select
, рассмотрим
несколько различных
примеров. В первом примере покажем, как выбрать всю информацию из таблицы: звездочка
вместо наименования столбца указывает, что все столбцы таблицы, должны быть выбраны.
Отсут
ствие предложения
where
позволяет выбрать все строки.
Пример:
select * from tudengid;
Во втором примере выбираются имена и фамилии всех студентов, которые были старше
18 лет по состоянию на 31 декабря 2003
го года. Результаты упорядочиваются по фамилии
имени. Обратите внимание: последовательность столбцов
в приказе
необходимо указать
посредством
order by
Пример:
select perenimi, eesnimi from tudengid where
synnipaev ="31.12.1985" order by perenimi, eesnimi;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
100
В третьем примере сгруппированы вс
студенты с
одним и тем же именем; выбирается
имя вместе с числом студентов с тем же именем. Функция
подсчета
count(*)
возвращает
количество сгруппированных строк. В примере не используется предложение
where
, хотя
можно было бы и использовать.
Пример
select eesnimi, count(*) from tudengid group by
eesnimi order by eesnimi;
Четвертый пример показывает, как использовать предложение
having
для выборки редко
встречающихся имен или для выборки
имен, встречающихся только один раз.
Пример:
select ee
snimi, count(*) from tudengid group by
eesnimi order by eesnimi having count(‘)=1;
В пятом примере выбираются фамилии и имена студентов, принимающих участие в
учебном предмете. Это осуществляется путем установления отношений между таблицами
студентов и
учебных предметов. Для того чтобы понять запрос, следует знать, что таблица
учебных предметов содержит столбцы
предмета и студента (студент участвует в учебном
предмете). Исследуя запрос, можно заметить в нем есть два столбца под названием «имя»
эти с
толбцы отличимы друг от друга, поскольку имя таблицы находится до имени столбца, и
их соединяет промежуточная точка. Этот синтаксис также используется для указания условий
в предложении where, но это используется только для ясности (можно без проблем напис
ать
where tudeng = kood). Для понимания, как работает запрос, давайте посмотрим, как СУБД его
выполняет:
Находят прямое произведение между таблицами учебного предмета
и студентов
Выбирает только те строки, где значение столбца «студент»
равно значение
столбца
«код»
Создается проекция, которая стирает
все неподходящие столбцы
Делается запрос на основе выбранных столбцов (oppeained.tudeng, tudengid.eesnimi,
фамилия) полученной таблицы.
Все эти операции соответствуют естественному соединению (естественна
я связь).
Пример:
select oppeained.eesnimi, perenimi,
tudengid.eesnimi from oppeained, order by
oppeained.eesnimi, perenimi, tudengid.eesnimi where
oppeained.tudeng=tudengid.kood;
Шестой и последний пример использует пятый пример и проводит его
усоверш
енствования так, чтобы
также позволить выбрать предметы, где нет
зарегистрировавшихся
студентов. В этом случае, строки содержат данные предмета и те
строки, где данные студента отсутствуют (поскольку студенты не участвуют в предмете). С
точки зрения кома
нды достаточно, если добавить слово outer перед именем таблицы
студентов. Этот тип связности есть внешнее соединение
outer join
или левое соединение
left join
.Синтаксис внешнего соединения может быть гораздо сложнее и может зависеть от
используемого ст
андарта языка SQL.
Пример:
select oppeained.eesnimi, perenimi,
tudengid.eesnimi from oppeained, outer tudengid order
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
101
Пример:
by oppeained.eesnimi, perenimi, tudengid.eesnimi
where oppeained.tudeng=tudengid.kood;
.3 Представления и управления транзакциями
зучив ранее приказ select в достаточном объеме, теперь можно исследовать
пользовательскую команду
create view. Пользовательское представление (user view) с
функциональной точки зрения есть представление такое, как
сама таблица,
но создается
select коман
дой.
Это в основном возможность представлять таблицы по
разному. Синтаксис
команды:
create view vname as select ... ;
Используемые
обозначения:
vname
имя
создаваемого
представления;
select
команда выборки, которая показывает, как получают данные.
ассмотрим в примере представление,
что предоставляет текущие данные по студентам
в списке предметов (список зарегистрировавшихся студентов).
Пример:
create view registreerunud as select
oppeained.eesnimi, perenimi, tudengid.eesnimi from
oppeained, tude
ngid where
oppeained.tudeng=tudengid.kood;
Обратная созданию представления команда есть команда уничтожения, такая же, как
использовалась для
таблиц и индексов, ее синтаксис следующий:
drop view vname;
Где vname
имя удаляемого представления;
Пример: Nä
楴攀搀㨀
drop view registreerunud;
В завершение
этих беглых объяснений покажем команду управления транзакциями
(сделки) данными:
commit work;
rollback work;
Когда автоматическое прекращение транзакций данных отключено (autocommit=off), то
команды изменения
данных (
insert
вставка, добавление,
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
102
Это не означает, что администратор базы данных является владельцем базы данных (так
же, как администратор жилищного товарищества не является владельцем жилья), но вместо
того высококвалифицированный специалист, который может действовать в любой
ситуации в
соответствии с обычным планом, согласованным с организацией, которая производит или
использует данные, директором (правообладатель).
До сих пор мы не говорили о роли DBA с точки зрения физического представления БД.
Прежде всего, эти операции обы
чно не являются стандартным управлением, поскольку с
управлением физическим представлением обычно имеет дело поставщик СУБД. Эти операции
могут быть различными для разных СУБД, но они отражают общие потребности. Эти
потребности связаны в основном с безопас
ностью и производительностью СУБД (скорость
выполнения и работы). Потребности безопасности связаны с
конфиденциальностью
данных
confidentiality
) и
доступностью
(availability). Существуют соответствующие SQL
команды
для управления конфиденциальностью, но о
ни будут описаны ниже.
Требования к доступности, как правило, разрешаются на физическом уровне путем
избыточности или дублирования данных и также политики резервного копирования.
Избыточность может быть как локальной (использование RAID
диска) или удаленно
й (в
соответствии с инициированной политикой отражения базы данных на другой компьютер).
Потребности улучшения производительности разрешаются на физическом уровне путем
настройки физического представления:
Выбирая для рабочей среды новые (
raw devices
) запо
минающие устройства (или
жесткие диски) вместо использования файловой системы (сохранение через FHS). Это такой
вариант, который создает сложности и, следовательно, также дорогостоящий, но может
значительно улучшить производительность СУБД, которая должна
управлять большими
объемами данных.
Решив разделить БД между несколькими машинами в целях достижения большей
вычислительной мощности.
Используя многопоточные СУБД (распределенная обработка), которые в состоянии
использовать больше процессоров или в каждом
случае эффективно использовать команды
(запросы).
Изменяя разделяемую память так, чтобы она была в состоянии адаптироваться к
требуемому расширению растущего количества процессов.
Точно определяя политику логов (журналов транзакций) и политику управления
ранзакциями (это также уместно, хотя это пограничный вопрос физического и логического
представлений).
Также можно управлять конфиденциальностью путем соответствующих команд
(приказов) SQL. Команды grant
предоставлять и revoke
отменять дают различные полном
очия
для доступа к данным. Как пример приведен синтаксис этих двух команд, регулирующих
разрешение на доступ к БД.
grant role to user [identified by pwd] [with grant option];
revoke role from user;
Используемые обозначения:
role
может быть администратор
баз данных (DBA), ресурс, соединение;
user
имя пользователя, кому права предоставляются или аннулируются;
pwd
пароль;
grant option
предоставляет получающему привилегии (права) пользователю также права,
позволяющие ему передавать права другим пользов
ателям (выполнять передачу полученных
привилегий).
Роль DBA более четкая, чем роли других пользователей БД; хотя можно утверждать, что
их роль по сравнению с DBA обладает относительно меньшим правом действия. DBA может
делать все, пользователь с разрешение
м на доступ к ресурсам (
resource
) не может изменять
схему, а те, кто имеет разрешение на соединение (
connect
), не могут изменять данные. Важно
понять, что ключевые слова, описывающие различные роли, могут быть различными в разных
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
103
СУБД. Поэтому следует всег
да внимательно читать руководство пользователя (справочник)
прежде чем давать привилегии или писать команды удаления.
Как мы увидели СУБД
это ИТ
продукт, который используется для управления
данными в организации. Как правило, СУБД состоит из:
программ ад
министрирования для управления физическим представлением
например, изменение конфигурации так, чтобы она могла быть настроена в соответствии с
потребностями и желаниями пользователей, тем самым улучшая производительность
программы (скорость работы) или оп
ределяя политику управления резервным копированием
(backup).
программа
администрирования
схемы (плана) (планировщик),
которая
используется для управления логическими представлением DDL
командами.
программ
администрирования
данных
, которые позволяют опериро
вать
управляющими устройствам и делать экстренные изменениями данных, хранящихся в БД,
используя DML
приказы без необходимости использования других программ. Обычно
используют для управляющих команд простую консоль интерпретации команд, управляющие
команды
были рассмотрены также в предыдущем пункте.
.2 Вопросы безопасности в контексте аббревиатуры CIA
Очевидно, что необходимо планировать ответные меры, чтобы сократить риск.
Разбирая возможные решения согласно продуманным аспектам безопасности, можно
сфо
рмулировать следующие требования:
Что касается конфиденциальности, то первой ответной мерой является
корректное
определение разрешений (прав), ограничивающее
привилегии доступа и возможное
множество операций (действий) в случае каждой единичной таблицы.
Очевидно, что
надлежащее управление
оборудованием и резервное копирование есть ответные меры без
дополнительных расходов, так все, что недоступно через СУБД, также будут физически
недоступно. Эти контрмеры эффективны, поскольку риск конфиденциальности выт
екает,
главным образом, из инцидентов несанкционированного доступа.
Что касается целостности, есть риск случайной потери целостности и согласованности
(соответствия), в основном связанный
с программными сбоями (и ими обусловленный),
вероятной причиной явл
яются аномалии при добавлении данных. Есть несколько способов
реагирования на эти риски:
первых: доступ к данным должен быть контролируемым и ограничен так, что
только официальные пользователи могут изменять данные.
вторых: ограничения должны влиять
на схему БД
(уникальные индексы,
ссылочная целостность).
третьих: основное внимание должно быть направлено на управление
транзакциями.
Требования доступности поднимают два типа
специфических проблем.
первых, следует определить достаточное количество
оборудования СУБД и
соответствующий комплекс настроек (конфигурацию)
для преодоления сложных нагрузок.
Вторая проблема связана с политикой максимизирования доступности,
основанная на использовании дублирующего дискового массива (RAID), дополнительных
цессоров (многопроцессорная система) или на использовании решений резервного
копирования с дистанционным управлением (отражения).
Очевидно, что полных гарантий не существует.
Поэтому как цель
необходимо
налаживать стратегию сокращения ущерба, политики
создания резервных копий, чтобы
предоставить не только быстрое восстановление данных, но также этим ограничить
потенциальную потерю данных. Как средство для уменьшения потерь транзакций и
незаконченных операций
во время неполадок
или отказа СУБД можно ре
комендовать путь
сокращения периода
создания
резервных копий
и использования непрерывного мониторинга
веб
логов (online logging).
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
104
.3 Примеры политик безопасности
Информационная безопасность уже немного обсуждалась в предыдущих разделах
данного материала
. Когда речь идет о базах данных,
безопасность
играет также
существенную роль. Безопасность баз данных представляют три аспекта
безопасности:
конфиденциальность
(только авторизованные пользователи иметь доступ к
информации),
целостность
(предотвращаются н
ежелательные изменения информации)
доступность
(информация всегда доступна, когда
в ней нуждаются).
Риски могут возникнуть в результате:
Человеческого фактора
, такого как халатность, попытки несанкционированного
доступа или повреждения фактических данн
ых. Угрозы часто приходят изнутри организации,
и это в основном проблема конфиденциальности. Тем не менее, человеческий фактор также
влияет на целостность и, в меньшей степени, на доступность продуктов программного
обеспечения.
Физических факторов
, таких к
ак аппаратный сбой, который неизбежно отразится на
оборудовании. Такие риски влияют на доступность и целостность данных.
Факторов, связанных
с операционной системой
, поскольку СУБД приходится
полагаться на системные службы. Риск связан как со сбоями, котор
ые могут привести к
повреждению данных, так и с уязвимостью, которую можно определить как совокупность
человеческих рисков, позволяя вторжение, которое иначе было бы невозможно. Уязвимости
операционной системы могут влиять на все три аспекта безопасности.
Проблем безопасности самой
СУБД
, аналогичных проблемам операционной системы,
затрагивая таким же образом три аспекта безопасности.
.4 Схемы восстановления согласно ошибкам
Вместо простого взвешивания причин различных проблем можем разделить
соответствую
щие ответные меры следующим образом:
Можно избежать логических ошибок, вызванных ошибочным вводом данных или
процедурными ошибками, путем установления корректных ограничений БД (constraints),
таких
как определение первичных ключей, проверка ссылочной цело
стности или используя
логические представления (views) для транзакций. Очевидно, что не все ошибки могут быть
устранены или не всех возможно избежать. Например, 3 из 5 ошибок ввода
данных, в общем
случае, автоматически не распознаваемы (идентифицированы),
но если ошибка обнаружена
или известна, то следом должна последовать процедура исправления ошибок
для обновления
данных.
Ошибки и крах системы можно предотвратить избыточностью (как это часто делается в
авиационном секторе, где несколько системных процес
сов работают параллельно с одними и
теми же данными, вместе с механизмом голосования, который делает откат несовпадающих
результатов). Зная общий уровень надежности системы, обычно оперируют с логикой
сокращения потерь на основе плана выполнения резервного
копирования. В случае если
желаем высокий уровень доступности, можно работать на удаленной копии базы данных, так
что если случится сбой системы, можно во время операции восстановления перенаправить
нагрузку в другую базу данных.
Для снижения рисков повре
ждения дисков обычно используют
RAID диски: в этом
случае, можно продолжать работу, если
единичный диск отказывается работать. Можно
также использовать технику автоматизированной замены диска для замены неисправного
диска. В случае одновременной неисп
равности более чем одного диска используют также
политику резервного копирования
для восстановления данных. Очевидно, что разумным
решением является политика
удаленного отображения
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
105
Лекция 14.
Тестирование
Проработав материал этой подтемы, вы узнаете
о понятиях тестирования, его методах и
инструментах используемых при тестировании.
.1 Уровни тестирования. Основные понятия
Тестированием может быть назван и простой цикл скомпилируй/запусти/исправь, однако
тестирование это настолько важная часть создан
ия ПО, что для этого в огромном количестве
созданы различные инструменты и возможности.
Отладчики (debugger) поставляются вместе со средой разработки. При их помощи можно
запускать программу по шагам и после каждого шага проверять состояние всей системы
значения переменных, выход в файл и на экран. Также отладчика позволяют запускать
программу, до определённой строчки кода, а также выбирать, заходить ли в подпрограмму в
пошаговом режиме или нет
таким образом, в случае большого приложения есть возможност
достичь подходящего места в коде и тогда более близко исследовать, как ведёт себя система
при активированном коде.
Отдельно созданы инструменты для ведения протокола (лога). Простейший и самый
распространённый с давних времен способ это вывод промежуточн
ых значений в выходное
окно. Однако в случае больших приложений следить за этими сообщениями может быть очень
трудно. Также необходимо быть осторожным, чтобы эти промежуточные сообщения,
предназначенные программисту, не беспокоили в последствии конечного п
ользователя ПО.
На этот случай придумано несколько вспомогательных инструментов, например, таких как
определение констант в языке С, однако и в этом случае промежуточные распечатки могут
создавать неразбериху. В специальных средах разработки для ведения пр
отокола созданы
различные вспомогательные инструменты
для вывода в файл протокола сообщений
различной степени сложности или, например, для доступа к ним со специальной веб
страницы. Степени сложности ошибок могут быть от несоответствий в расчётах до ошиб
ок,
парализующих работу системы.
.2 Цели и выполнение разнообразных тестов.
Приёмные тесты (Тесты на готовность ПО при сдаче проекта) согласуются между
заказчиком и исполнителем программного продукта до начала его разработки
тогда с их
помощью есть во
зможность принять решение о том, соответствует ли сделанное требованиям.
В случае функциональных, т.е. системных тестов, кропотливо рассматриваются все
требования спецификации. В случае тестирования методом «чёрного ящика» ограничиваются
случайными и подру
чными данными, которые выбираются по возможности и всего диапазона
возможных данных, что бы в результате получить более обзорную картину. В случае
тестирования методом «белого ящика» прежде всего, анализируют внутреннюю работу
системы на уровне программног
о кода, пытаясь при этом найти подозрительные места.
В общем случае рекомендуется следующее:
по каждому отрезку кода, проходят, как минимум, два раза используя разные данные
циклы проверяются и в условиях, когда цикл не должен проходиться вообще
в случае м
атематических расчётов внимание обращается на ситуации, когда
подходящего решения быть не может. Кропотливо проверяются граничные значения данных с
обеих сторон.
Юнит
тесты (блок
тесты) проверяют в основном корректность работы одного класса.
Некоторыми мет
одиками рекомендуется писать тесты до создания самого кода программы и
после написания теста создавать код как можно меньших размеров, чтобы он покрывал
функциональность проверяемую тестом. В этом случае можно быть относительно уверенным,
что большинство с
войств блока программы покрыто тестами. Хорошая сторона покрытия
тестами это то, что тогда можно быть относительно уверенным в том, что в случае изменения
ПО старая (предшествующая изменениям) функциональность останется такой же, как и была
и в неожиданных
местах не появиться никаких аномалий (которые в обратном случае при
внесении изменений в ПО, начинают появляться относительно просто).
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
106
.3 Методологии тестирования. Автоматические инструменты тестирования
При росте системы возникает настолько большое к
оличество мест для тестирования, что
их ручной обход очень быстро становиться изнурительным. В то же время существует и в
последнее время ставший популярным некий набор автоматических инструментов
тестирования. Автоматические тесты позволяют программисту б
ез затрат времени пройти
тысячи тестов за несколько минут, чтобы проверить, что добавленное дополнение ничего не
испортило в отношении работы системы до его внесения в код.
Довольно рано распространилось семейство автоматического тестирования классов,
начи
ная с JUnit, предназначенного для тестирования
Java классов, однако в результате его
популярности эти инструменты тестирования можно найти для классов, написанных на
большинстве языков программирования. Это приложения для тестирования можно установить
и з
апустить отдельно, хотя в тоже время возможности автоматического тестирования
встроены также в большинство сред программирования. Тесты для подтверждения исправного
выполнения кода пишутся по возможности маленькими и специфическими, для того, чтобы
если бу
дет известно, какой тест не прошёл проверку, то можно было по имени теста, с
большой вероятностью установить, какого рода ошибка произошла, чтобы не было
необходимости для этого углубляться в текст кода самого теста.
Для создания некоторой ситуации порой н
еобходимо довольно много подготовить и с
этой целью у тестов отдельно существуют подпрограммы, которые приводят систему к
необходимому состоянию, чтобы можно было провести её проверку. Тестирование может
потребовать общения с внешними системами. В то же вр
емя хорошей практикой считается,
когда в результате тестирования
внешние каналы общения занимаются как можно реже, так
как автоматические тесты запускаются довольно часто. Например, если нужно проверить,
пришёл ли адекватный ответ от приложения на сообщен
ие, посланное из системы, то не
бедный клиент должен при каждом запуске теста отправлять сообщение с заказом и проверять
результат, а вместе с самим тестом создаётся дополнительный модуль
эмулятор для посыла
таких писем, а также отслеживания результата и е
го проверки. Этот дополнительный модуль
уже можно будет запускать, никого не отвлекая часто и большое количество раз. В случае
требовательного приложения ресурс, уходящий на создание тестов, может существенно
превысить ресурс, уходящий на создание самого п
риложения
но в то же время это очень
хорошая форма обеспечения корректности приложения. Написание мудрых тестов может в
некоторых случаях перевесить возможный создаваемый приложением убыток
достаточно
только привести в пример неразбериху, которая произ
ойдет, в случае если два номера счёта в
некотором банковском приложении поменяются местами.
Автоматически возможно протестировать также части приложения связанные с
дизайном и веб
соединением.
Обученные с помощью программного кода и настроек роботы
могут
заполнить области экрана, послать данные и проверить результаты. Так можно,
например, составить тесты для проверки сохранения рабочей мощности при перемене
платформы, на которой система запускается, в отношении работы имеющегося приложения.
При выполнении
приложения в новой системе после смены платформы можно по результатам
этих тестов проверить, отвечает ли новое решение тем же требованиям, что и раньше
как
минимум в пределах созданных тестов. В то же время такие автоматические тесты можно
считать формал
изованной документацией, с помощью которой заказчик и исполнитель
договариваются о проделываемой работе. Исполнитель может рассчитывать, что когда
приложение проходит все договоренные тесты, и ведет себя в остальной части соответственно
случаю, то он может
считать свою работу завершённой.
Лекция 15.
Документация и управление (администрирование)
Проработав материал этой подтемы, вы узнаете значение документации, её типы,
методы её составления и управление её изменениями.
.1 Типы документации
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
107
Практически
каждое приложение нужно в какой
то мере документировать или сделать
удобно доступными требования к системе, её устройство и пояснения пользователям.
Насколько большая часть будет записана отдельными документами и насколько много можно
будет найти при помощ
и кода и интерфейса пользователя
это значительно зависит уже от
используемого метода разработки. В значительной степени помогают заменить отдельную
письменную документацию иллюстративные
примеры (прототипы), подходящим образом
откомментированный код и т
есты, написанные в результате договора. В то же время
в каком
то случае для объяснения удобнее прочитать отдельный систематически написанный
документ.
.2 Значимость хорошо структурированного и документированного кода.
В начале создания небольшого прог
раммного продукта большинство информации
удобно доступно в голове у разработчиков и в случае чёткой цели работа продвигается и без
написания определённых требований, структуры и руководства пользователя. Даже в случае
малых программных продуктов в процессе
создания, как правило, проявляется некоторая
забывчивость, но от этого можно в большинстве случаев избавиться при первых же проверках
и напоминаниях коллег. Когда же разработчиков много и они постоянно не общаются между
собой, либо разработка приложения з
анимает долгое время, тогда процесс разработки,
основанный на человеческой памяти, больше не действует. При повторном обращении к коду
приложения тратится значительная часть времени на припоминание уже имеющегося там, и
некоторые поначалу договорённые прин
ципы и ограничения могут очень просто остаться без
внимания, если они не были отдельно описаны. При помощи подходящей структуры кода и
практичных комментариев можно процесс воспоминания структуры приложения упростить в
разы (иногда даже в десятки раз).
Для
сравнения
среди тысяч классов и десятков тысяч команд находящихся в
стандартных тегах Java или .NET после некоторого ознакомления есть возможность,
посредством дерева пакетов достичь необходимого места в общем случае максимально за пару
минут, в большин
стве случаев
за несколько секунд. Либо пользуясь тем же путём убедиться
в том, что подходящей команды не существует. Если же это веб
система, которая подходящим
образом не документирована и состоит из нескольких довольно случайным образом
соединённых меж
ду собой частей, то на поиск и устранение одной, казалось бы, простой
ошибки могут уйти дни. Хотя количество классов не превышает двадцати, а количество
используемых команд не превышает двухсот (личный пример автора этого текста). Ещё хуже,
если код вообще
разумным образом не поделен ни на классы, ни на методы. В этом случае
приложение состоящее даже из двух тысяч строк может показаться такой тайной, что проще
будет для достижения того же результата переписать его заново, чем пытаться исправить уже
существу
ющее.
Написание кода заново не всегда может быть плохой мыслью и этого не стоит слишком
сильно бояться. Надо только знать и быть уверенным в том, что в новом облик упростит
дальнейшую разработку системы, и она будет значительно лучше управляема. Довольно ч
асто
такое переделывание может быть полезным в случае, когда приложение увеличивается в три,
четыре раза по сравнению с предыдущей версией. Некоторые разработчики стараются
избегать необходимости такого переделывания и стараются в самом начале создать прое
кт с
основательной структурой, где у каждой части кода есть своё место. Однако в этом случае
результатом, как правило, бывает
например то, что в случае простого калькулятора создаётся
дерево проекта с несколькими десятками каталогов и файлов, где содержим
ое специфичное
для данного проекта находится лишь в нескольких файлах. Такой подход может быть
удобным в случае фирм, занимающихся разработкой ПО, где есть чётко оформившаяся
структура больших приложений и команда умеет быстро находить необходимые части ко
да.
Если же это приложение, чья логика действий может быть описана парой заполненных
программным кодом экранов, тогда своя прелесть есть в коротком решении
особенно, если
впоследствии с эти кодом будут работать программисты с различными навыками и при
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
108
мощи различных инструментов разработки. Компактный код порой удобнее даже в том
случае, когда известно, что через пару лет придётся существенно переделывать систему, в
связи изменением требований к ней и её увеличением.
.3 Изменения документации
Меняютс
я требования, меняются системы и вместе с ними должна изменяться и
документация. Потому что хуже, чем отсутствие документации может быть только
документация с ошибками. Однако когда документация меняется очень часто, обновление
отдельной основной документа
ции является объёмной и сложной работой. Легко появляются
места, где логические связи, бывшие ранее, теряются при внесении изменений. Если же
необходимо соответствие между системой и документацией необходимо сохранить, то одним
их способов может быть следу
ющий: необходимо начинать внесение изменений в саму
документацию и обновлять все соответствующие её части, которые с этими изменениями
связаны. И только после этого вносить изменения в саму систему.
Другой способ
это связать наибольшую часть документации
с кодом программы.
Потому что как иногда говориться
код никогда не врёт и машина делает всё
таки то, что
написано. В этом случае при помощи автоматических тестов определяется вся новая
необходимая функциональность, которая в свою очередь будет служить о
писанием
необходимых требований. И в остальных местах документацией служат по возможности
генерируемые на основе программного кода автоматические комментарии
тогда остаётся
лишь следить за тем, чтобы при внесениях каких
либо изменений в код в заголовке
оответствующего метода эти изменения были бы отражены
за всё остальное тогда отвечает
приложение, которое составляет документацию на основе комментариев.
.4 Инструменты упрощающие администрирование программы
Главным правилом комментирования является
«достаточно коротко, но понятно». В то
же время объём и сложность таких комментариев может в разы отличаться у двух схожих
приложений. Хорошо, если в пределах приложения или всей фирмы используются единые
правила комментирования
тогда документации разны
х модулей при их объединении будут
одинаковыми и можно будет точно предположить, что может быть в комментариях, а чего не
может. В дополнение в языках программирования также существуют единые рекомендации
для оформления кода программы
правила описания пе
ременных, правила ступенчатого кода,
а также правила для написания автоматических комментариев.
Вежливым и надёжным код программы позволяет сохранять экспертиза кода, т.е. его
инспектирование другим экспертом. Чужой глаз позволяет отыскать ошибки и
подозри
тельные места, которые у программиста писавшего код остаются без внимания. При
экстремальном программировании данная экспертиза производиться «экстремально
основательно», т.е. код пишут два программиста вместе. Данную операцию называют парным
программирова
нием. Однако также полезным может быть простой просмотр и анализ
готового кода другим экспертом.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
109
БЕКІТІЛДІ
«Тұран» университеті мекемесі»
«Ақпараттық жүйелер»
кафедрасы мәжілісінің отырысында
Хаттама
№ __ «____»________ 201
Кафедра меңгерушіс
___________________С.А.Түсіпова
ТӘЖІРИБЕЛІК (СЕМИНАРЛЫҚ) ЖҰМЫСТАР ЖОСПАРЫ
күндізгі бөлім үшін
Семинарлық (тәжірибелік)
сабақтар тақырыптары
апта
Жұмыс түрі
Сағат
сыйымд
ылығы
Тапсыру
нысаны
Тапсы
ру
уақыт
Delphi
қарапайым
қосымшасын
құру
Програ
ммалы
қ орындау
Жазбаша
апта
䐀攀氀灨椀
ерекше
жағдайларды өңдеу
Қолданушының енгізуін
қабылдау.
Ijh]jZffZeu
�hjug^Zm
Жазбаша
апта
Меню құру және өңдеу.
Программалы
қ орындау
Жазбаша
апта
Кластар және и модульдер
Программалы
қ орындау
Жазбаша
апта
Тышқан көмегімен енгізу.
Формада сурет салу.
Программалы
қ орындау
Жазбаша
апта
Delphi ортасында файлдарды
өңдеу
Программалы
қ орындау
Жазбаша
апта
䐀攀氀灨椀
де деректер базасы.
䐀慴慢
䐀攀猀歴潰
утилитасымен танысу
Программалы
қ орындау
Жазбаша
апта
Деректер базасына қол
жеткізу мен басқарудың
негізгі компоненттері.
Ijh]jZffZeu
�hjug^Zm
Жазбаша
апта
Деректер базасында
сұрыптау
Программалы
қ орындау
Жаз
баша
апта
Деректер базасында сүзгілеу

Программалы
қ орындау
Жазбаша
апта
Байланыс орнату

Программалы
қ орындау
Жазбаша
апта
Есеп құру.
Программалы
қ орындау
Жазбаша
апта
БАРЛЫҒЫ

Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
110
ТӘЖІРИБЕЛІК
(СЕМИНАРЛЫҚ) ЖҰМЫСТАР ЖОСПАРЫ
сыртқы бөлім үшін
Семинарлық (тәжірибелік)
сабақтар тақырыптары
Жұмыс түрі
Сағат
сыйымд
ылығы
Тапсыру
нысаны
Тапсы
ру
уақыт
Delphi
қарапайым
қосымшасын
құру
. Delphi

ерекше жағдайларды өңдеу
Қолданушының енгізуін
қаб
ылдау.
Ijh]jZffZeu
�hjug^Zm
Жазбаша

апта
Меню құру және өңдеу.
Тышқан көмегімен енгізу.
Формада сурет салу.
Ijh]jZffZeu
�hjug^Zm
Жазбаша
апта
Кластар және и модульдер
Delphi ортасында файлдарды
өңдеу.
Ijh]jZffZeu
�hjug^Zm
Жазбаша
апта
Delphi
де деректер базасы.
䐀慴慢慳攀
䐀攀猀歴潰
утилитасымен танысу
Программалы
қ орындау
Жазбаша
апта
Деректер базасына қол
жеткізу мен басқарудың
негізгі компоненттері.
Ijh]jZffZeu
�hjug^Zm
Жазбаша
апта
Деректер базасында
сұрыптау
Программалы
қ орындау
Жазбаша
апта
Деректер базасында сүзгілеу

Программалы
қ орындау
Жазбаша
апта
Байланыс орнату

Программалы
қ орындау
Жазбаша
апта
Есеп құру.
Программалы
қ орындау
Жазба
ша
апта
БАРЛЫҒЫ
Оқытушы
: ________________________
Ахметжанова Ж.Б.
КЕЛІСІЛДІ
Кафедра меңгерушісі
_______________________Тү
пова С.А.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
111
УЧРЕЖДЕНИЕ «УНИВЕРСИ
ТЕТ «ТУРАН»
БЕКІТІЛДІ
«Тұ
ран» университеті мекемесі»
«Ақпараттық
технологиялар
кафедрасы мәжілісінің отырысында
Хаттама
№ __ «____»________ 201
Кафедра меңгерушісі
___________________С.А.Түсіпова
Тәжірибелік (семинарлық) жұмыстарға арналған әдістемелік нұсқаулар
Мамандық
: 5В070300
Ақпараттық жүйелер
Пән
үйелердің программалық жабдықтауларын құру
Автор
Ахметжанова Ж.Б.
«Туран»
университетінің аға оқытушысы
Оқу технологиясы
кредит
тік
Оқу нысаны
күндізгі
Оқу бөлімі
қазақша
Студенттердің білімін бағал
ау жүйесі
рейтинг
тік
Алматы, 201
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
112
Практическая
работа №1.
Разработка простого приложения Delphi
1. Цель работы
Ознакомление со средой визуального программирования Delphi и разработка в ней
простейших приложений.
2. Домашнее задание
Изучить лекц
, описывающие среду визуального программирования и палитру
компонентов Standard.
Ознакомиться с описанием и заданием на
практическую
работу.
Разработать (на бумаге) внешний вид экранной формы.
3. Основные понятия и приемы
3.1.Работа с формами
Проектирова
ние форм
ядро визуальной разработки в среде Delphi.
Каждый помещаемый в форму компонент или любое задаваемое свойство сохраняется в
файле, описывающем
форму (DFM
файл), а также оказы
вает некоторое влияние на исходный
текст, связанный с формой (PAS
файл).
Можно начать новый пустой проект, создав пустую форму, или
начать с существующей
формы (используя различные доступные шаблоны),
или добавить в проект новые формы.
Проект (приложение) может иметь
любое число форм.
При работе с формой можно обрабатывать сво
йства самой формы,
свойства одного из ее
компонентов или
нескольких компонентов одновре
менно. Чтобы выбрать форму или
компонент, можно просто щелкнуть по
нему мышью или воспользоваться Object
Selector (
комбинированный спи
сок в Object Inspector), где всегд
а отоб
ражены имя и тип выбранного
мента. Для выбора нескольких компонентов можно нажать клавишу Shift и
щелкать по
компонентам левой кнопкой мыши.
SpeedMenu формы содержит
ряд полезных команд. Для измене
ния относительного
расположения компоне
нтов одного
вида можно исполь
зовать команды
Bring
Front
Send
Back
. Командой Revert To Inherited
можно воспользоваться, чтобы в унаслед
ованной форме
установить те зна
чения свойств выбранного компонента, которые были у них в родительской
форме. При выборе сразу
нескольких компонентов вы можете выровнять их
или изменить их
размеры.
С помощью SpeedMenu можно
также открыть два диалоговых ок
на, в которых
устанавливается порядок обхода визуальных управляющих
элементов и порядок создания
невизуальных
управляющих элеме
нтов. Ко
манда Add To Repository добавляет текущую форму
в список форм, доступ
ных для использования в других проектах.
Для установки положения компонента, кроме применения мыши,
имеются еще два
способа:
Установка значений для свойств Top и Left.
Исполь
зование клавиш курсора при нажатой клавише Ctrl.
Метод Ctrl+клавиша курсора
особенно удобен при тонкой под
стройке положения
элемента. Точно так же, нажимая клавиши курсора при
нажатой клавише Shift, можно
подстроить размер компонента.
3.2. Палитра компонен
тов
Чтобы добавить в текущую
форму новый компонент, нужно вы
брать его на одной из
страниц палитры
Components, щелкнув по нему мы
шью, а затем, чтобы разместить новый
элемент, щелкнуть в форме. Причем
в форме можно или буксировать мышь с
нажатой левой
кнопко
й, чтобы ус
тановить сразу и размер, и положение компонента, или просто щелкнуть
один раз, позволяя Delphi установить размер по умолчанию.
Каждая страница палитры содержит ряд компонентов, которые
обозначены
пиктограммами и именами, появляющимися в виде под
сказки.
Эти имена являются официальными на
званиями компонентов. В действи
тельности это
названия классов, описыв
ающих компоненты без первой бук
вы T (например, если класс
называется Tbut
ton, имя будет Button). Если не
обходимо поместить в форму несколько
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
113
комп
онентов одного и того же вида,
то при выборе компонента щелчком в па
литре
удерживайте нажатой клави
шу Shift. Затем при каждом щелчке в форме Delphi будет
вставлять новый
компонент выбранного вида.Чтобы остановить эту операцию, просто щелк
ните по стандарт
ному селектору (пиктограмма стрелки) слева от палитры
Components.
3.3. Object Inspector
Object Inspector используется
при проектировании формы для ус
тановки свойств
компонента (или самой формы). В его окне в двух колонках
изменяемого размера
перечислены св
ойст
ва (или события) выбранного эле
мента и их значения. Окно Object Selector
в верхней части Object Inspector
указывает текущий компонент и его тип д
анных, и этот
селектор можно ис
пользовать для изменения текущего выбора.
В Object Inspector перечислены не
все свойства компонентов, а
только те, что могут быть
установлены на
этапе проектирования. Правая ко
лонка Object Inspector разрешает правильное
редактирование в соответствии
с типом данных свойства. В зависимости от свойства можно
вставить строку
или число
, выбрать из списка опций (на эту возможность указывает стрелка)
или вызвать специальный редактор (об этом говорит овальная кнопка). Для
некоторых
свойств, таких как Color, разреш
ен и ввод значения, и выбор эле
мента из списка, и вызов
специального редактор
3.4. Написание кода
При проектировании формы в Delphi обычно приходится писать
кое
какой код для
отклика на некоторые из ее событий. Когда вы нажимаете
кнопку мыши в форме или на
компоненте, Windows посылает
вашему при
ложению сообщение, информируя его о
этом
событии. Реакция Delphi со
стоит в получении сообщения о событии и вызове
соответствующего метода
отклика на событие. Для каждого вида компонентов Delphi
определяет ряд
различных событий. Вы можете узнать о событиях, доступных для формы
или
компонент
а, рассматривая страницу Events окна Object Inspector в тот
момент, когда выбран
необходимый элемент.
Вставим в форму компонент
опку
и заставим его откликать
ся на событие,
связанное с нажатием левой кнопки мыши. При щелчке по
кнопке мышью в работающе
программе возникает событие OnClick (По
щелчку). Пока это событие никак не
обрабатывается программой, и поэтому
нажатие кнопки не приведет ни к каким по
следствиям.
Чтобы заставить про
грамму реагировать на нажатие кнопки, необходимо написать на языке
Obje
Pascal фрагмент программы, котор
ый называется обработчиком собы
тия. Фрагмент
оформляется в виде спе
циальной подпрограммы
процеду
ры.
Чтобы заставить Delphi самостоятельно сделать заготовку для
процедуры обработчика
события OnClick, дважды щелкните мышь
ю по
вновь вставленному компонету. В ответ Delphi
активизирует окно кода и вы
увидите в нем такой текстовый фрагмент:
procedure
TForm1.Button1Click(Sender: Tobject);
begin
end;
Слово
procedure
извещает компилятор о начале подпрограммы
процедуры. За ним
ледует имя процедуры TForm1.Button1Click. Это имя
составное: оно состоит из имени
класса
TForm1 и собственно имени проце
дуры Button1Click.
Каждый компонент принадлежит к строго определенному классу, а
все конкретные
экземпляры компонентов, вставляемые в
форму, получают
имя класса с добавленным
числовым индексом. По используемому в Delphi
соглашению все имена классов начинаются с
буквы Т. Таким образом, имя
TForm1 означает имя класса с добавленным
числовым индексом.
По исполь
зуемому в Delphi соглашению все
имена к
лассов начинаются с буквы Т. Та
ким
образом, имя TForm1 означает имя кла
сса, созданного по образцу стан
дартного _____класса
Tform. Если вы посмотрите начало текста в окне кода, то
увидите следующие строки:
type
TForm1 =
class
(TForm)
Button1: Tbutton
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
114
procedure
TForm1.Button1Click(Sender: Tobject);
private
{private declarations}
public
{public declaration}
end
Form1: TForm1;
Строка TForm1 =
class
(TForm) определяет новый класс
TForm1, ко
торый порожден от
стандартного класса TForm. Стандартный клас
с TForm
описывает пустое Windows
окно, в то
время как класс TForm1 описывает
окно с уже вставленным в него компонентом
кнопка.
Каждый раз, когда вы работаете над событием, Delphi открывает
редактор с исходным
файлом, связанным
с формой. Редактор позволяет
ботать над несколькими файлами
исходн
ого текста одновременно, исполь
зуя образ “записной книжки с ярлычками”. Каждая
страница записной
книжки соответствует отдельному файлу.
3.5. Компиляция проекта
Компиляция проекта происходит при запуске его на выполне
ние.
Транслируя проект, Delphi компилирует
только те файлы, которые изменя
лись. Но если
вы выберите в меню Project
команду Build All, то будет от
компилирован каждый файл, даже
если он не изменялся.
Проект содержит список файлов
исходного кода, которые явля
ся частями проекта, а
также соответств
ующих им форм (при наличии тако
вых). Сначала каждый файл исходного
кода превращается в откомпилиро
ванный модуль Delphi
файл с тем же именем, что и у
исходного файла на
языке Паскаль, но с расширением DCU.
Во время
компиляции и комп
оновки самого проекта откомпили
рованные модули,
составляющие проект, сливаются (или связываются) друг
с другом и с кодом библиотеки
VCL, образуя исполнимый файл.
3.6. Интегрированный отладчик
В Delphi имеется встроенный отладчик, обладающи
й огромным
количеством
возможностей. При каждом запуске из среды Delphi программа
уже выполняется в отладчике.
Для установки точки останова или щелкните
в промежутке между левой рамкой окна
едактирования и текстом, или вы
берите в SpeedMenu команду Toggle
Breakpoint, или
нажмите клавишу F5.
Когда вы разместили ряд точек останова, можете использовать команду
Breakpoints
меню
View
чтобы
открыть
окно
Breakpoints
List
ин из пунк
тов в верхней части окна
Breakpoints List предполагает добавление условия в
точк
е останова так, чтобы программа
выполнялась только при выполнении
данного условия. Кнопка Step Over на лин
ейке SpeedBar
позволяет просмот
реть выполнение операторов один за другим, а кнопка Trace Into позволяет
трассировать вызываемые методы (т.е. вы
полнять
шаг за шагом код подпро
грамм).
Если программа остановлена в отладчике, вы можете проверить
значение любого
идентификатора (для переменных, объектов, компонентов,
свойств и т.д.), который доступен в
этой
точке программы. Для этого суще
ствуют два способа: и
спользовать диалоговую панель
Evaluate/Modify или
добавить элемент в окно Watch List. Сам
ый простой способ открыть
диало
говую панель Evaluate/Modify
выделить
переменную в редакторе исходно
го текста, а
затем выбрать команду Evaluate/Modify из SpeedMenu ре
дактора.
Вы можете устанавливать элементы наблюдения, используя команду Add
Wath
Cursor
Speed
Menu
редактора
3.6. Обращение к справочной системе Help
Для вызова справочной систе
мы необходимо выбрать соответст
вующую команду в
выпадающем меню
Help или
отметить элемент интер
фейса в исходном тексте и нажать
клав
ишу F1. При нажатии кнопки “Раз
делы” в окне Help появляется диалоговое окно
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
115
справочной системы Windows
95, которое позволяет вам просмотреть содержание всех файлов
Help
группы, отыскать ключевое сл
ово по индексу или начать процесс поиска.
3.7. Меню и команды Delphi
Чтобы выдать команду в среде Delphi, можно воспользоваться
тремя основными
способами:
С помощью меню.
С помощью полоски SpeedBar (инструментальной линейки).
С помощью SpeedMenu (одн
ого из л
окальных меню, которое активизи
руется при
нажатии правой кнопки мыши).
Меню File
Команды выпадающего меню File можно использовать для работы
как с проектами, так
и с файлами исходного кода.
командам
работающим
проектами
относятся
New, New App
lication,
Open, Reopen,
Save Project As, Save All, Close All, Add to Project
Remove from Project.
файлами
исходного
кода
работают
команды
New,
New Form, New Data Module, Open, Reopen, Save As, Save, Close
Print.
новной командой является File/New, к
оторую можно использовать для вызова
экспертов, для начала работы с новым приложением, для наследования
формы из уже
существующей и т.д. Чтобы открыть проект или файл исход ного кода, с которыми вы
работали последний раз, используйте команду
File/Reopen.
еню Edit
Стандартные возможности меню Edit применимы как к тексту, так
и к компонентам
формы. Можно копировать и вставлять тот или иной текст
в редакторе, копировать и
вставлять ком
поненты в одной форме или из од
ной формы в другую. Также можно копировать
вставлять компоненты в
другое групповое окно той же формы, например, в панель или блок
группы;
копировать компоненты из формы в редактор, и наоборот. Delphi помещает
компоненты в буфер обмена, преобразуя их в текстовое описание. Можно
соответствующим
обра
зом отредактировать этот текст, а затем вставить его
обратно в форму в виде нового
компонента. Можно выбрать несколько
компонентов и скопировать их как в дру
гую форму,
так и в текстовый ре
дактор. Это может пригодиться, когда ва
м придется работать с рядом
жих компонентов. Вы сможете скопировать один компонент в редактор,
размножить его
нужное число раз, а затем вставить назад в форму целую
группу.
Меню Search
Если вы выберете команду Increme
ntal Search, то вместо того что
бы показать диалоговое
окно, где в
водится
образец для поиска, Delphi пере
ходит в редактор. Когда вы введете первую
букву, редактор перейдет к пер
вому слову, которое начинается с этой буквы. Продолжайте
набор букв и,
курсор будет последовательно переходить к словам, в начале которых будут
тоять введенные символы. Эта команда очень эффективна и чрезвычайно
быстра. Команда
Browse Symbol вызывает Object Browser
инстру
мент, ко
торый можно использовать для
росмотра многих деталей при исследовании
откомпилированной программы.
Меню View
Большинс
тво команд меню View применяются для отображения
какого
либо окна среды
Delphi, например Project Manager, Breakpoints List
или Components List. Эти окна не связаны
друг с другом. Команда Toggle
Form/Unit используется для перехода от формы, над которой
вы р
аботаете к
ее исходному коду, и обратно. Команда New edit window создает дубликат
окна
редактирования и его содержимого. В Delphi это единственный способ
просмотреть два файла
рядом друг с другом, поскольку редактор для показа
нескольких загруженных файлов
использует ярлычки. После дублирования
окна редактирования могут содержать ра
зные
файлы. Последние две коман
ды меню View можно использовать для удаления с экрана
полоски SpeedBar
и палитры Components, хотя при этом сре
да Delphi становится менее
удоб
ной дл
я пользователя. Команда Build All заставляет Delphi откомпилировать
каждый
исходный файл проекта, даже если после последней трансляции он
не был изменен. Для
проверки написанного кода без создания программы можно использовать команду Syntax
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
116
Check
. Команда
Information дает неко
торые подробности о последней выполненной вами
трансляции. Команда
Options применяется для установки опций проекта: опций компилятора
редактора связей, опций объекта приложения и т.д.
Меню Run
Меню Run можно было бы назвать Debug (от
ладка). Большинство
команд в нем
относится к отладке, включая саму команду Run. Программа,
запускаемая внутри среды
Delphi, выполня
ется в ее интегрированном отлад
чике (если не отключена соответствующая
опция). Для быстрого запуска
приложения используется к
лавиша F9. Остальные команды
применяются в
процессе отладки для пошагового выполнения программы, установки точек
прерывания, просмотра значений переменных и объектов, и т.п.
Меню Component
Команды меню Component можно использовать для написания
компонентов
, добавления
их в библиотеку, а также для конфигурирования
библиотеки или палитры компонентов.
Меню Tools
Меню Tools содержит список н
ескольких внешних программ и ин
струментальных
средств. Команда Tools позволяет сконфигурировать это
выпадающее меню и до
бавить в него
новые внешние средства. Меню Tools
также включает команду для настройки репозитория и
команду Option
s, ко
торая конфигурирует всю среду разработки Delphi.
3.8. Полоска кнопок быстрого доступа SpeedBar
Наиболее часто используемые
команды Delphi
имеются в инстру
ментальной линейке
SpeedBar. Изменит
ь размеры SpeedBar можно, букси
руя толстую линию между ней и
палитр
ой Сcomponents. Другие разрешен
ные в SpeedBar операции добавляют, удаляют или
заменяют пиктограммы с
помощью команды Configure собственн
ого локального меню
SpeedBar. Эта
операция вызывает инструмент SpeedB
ar Editor. Чтобы добавить пикто
грамму в
SpeedBar, необходимо найти ее
в нужной категории и отбуксиро
вать в полоску. Подобным
образом можно отбуксировать пиктограмму за
пределы SpeedBar ил
и просто передвинуть ее в
другое место.
3.9. Локальные меню SpeedMenu
Хотя меню Delphi содержит большое количество элементов, не все
команды доступны
через выпадающие меню. Иногда для некоторых окон
или областей окна приходится
использовать SpeedMenu (лока
льное меню).
Чтобы активизировать SpeedMenu, нужн
о нажать
над необходимым элемен
том интерфейса пользователя правую кнопку мыши или клавиши Alt
и F10.
3.10. Файлы, создаваемые системой
Когда вы сохраняете новый проект, Delphi создает ряд файлов.
Здесь прив
одится список наиболее важных файлов.
Основной файл проекта типа .DPR. Это основной модуль исходного
тек
ста проекта.
Имеется только один DPR
файл для каждого проекта. Этот
файл, кроме всего прочего,
перечисл
яет имена других файлов, состав
ляющих проект.
Файлы формы типа .DFM. Это двоичные файлы ресурсов, содержащие
определение
визуальных форм. В про
екте может быть много форм и ка
ждая имеет собственный .DFM
файл.
Файл модуля Паскаля типа .PAS. Соде
ржит код Object Pascal для соот
ветствующей
формы или для
автономного модуля кода.
Файл опций проекта типа .OPT. Файл
, который содержит различные ус
тановки Delphi
(текстовый файл).
Откомпилированные файлы модуля типа .DCU. Содержат объектный код
существующего .PAS
файла модуля.
Откомпилированные программны
е файлы типа .EXE. Это собственно
программы
Windows.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
117
Откомпилированные файлы динамических библиотек типа .DLL. Это
откомпилированные модули Windows, которые могут использоваться
одновременно многими
программами Windows.
3.11. Страницы репозитория объекто
В Delphi есть несколько команд меню, с помощью которых вы
можете создать новую
форму, новое приложение, новый модуль данных,
новый компонент и т.п. Эти команды
наход
ятся в меню File, а также в дру
гих выпадающих меню. Но если вместо них выдать
команду Fil
e/New, Delphi
откроет окно Object Repository.
Репозиторий используется для создания новых элементов любого
вида: форм,
приложений, модулей данных, библиотек, компонентов и т.д.
Диалоговое окно Object Repository содержит несколько страниц:
Страница New по
зволяет создавать
новые элементы многих разных ти
пов.
Страница текущего проекта (в действительности на ярлычке данной
страницы вы
увидите имя проекта, напр
имер Project1) позволяет унасле
довать форму или модуль данных от
аналогичного объекта, включенного
в ваш текущий проект.
Страницы Forms, Dialogs , Data Modules позволяют создавать новые
формы,
диалоговые панели и модули данных, используя эксперты или
существующие объекты этих
типов.
Страница Project позволяет скопироват
ь файлы из хранящегося в репоз
тории проекта.
В нижней части диалогового окна Object Repository находятся три
радиокнопки, с
помощью которых можно указать: хотите ли вы скопировать
существующий элемент,
унаследовать его или применить непосредственно,
не копируя.
Страница New
Список эл
ементов, которые мо
жно создать с помощью этой стра
ницы:
Application создает новый пустой проект.
Data Module создает новый пустой модуль данных.
DLL создает новую библиотеку DLL.
Form создает новую пустую форму.
Text открывает в редакторе новый т
екстовый файл.
Unit создает новый пустой модуль, не связанный с формой.
Страница Forms
Ниже приведен список необх
одимых для работы предопределен
ных форм:
About Box
простая панель “О программе”.
Duil List Box
форма с двумя разными
списками; позвол
яет пользовате
лю выбрать ряд
элементов в одном с
писке и нажатием кнопки перемес
тить их во второй. Кроме компоненто
в,
эта форма содержит значитель
ное количество не очень простого кода на языке Паскаль.
Страница Dialogs
Эта страница похожа на предыдущую, но
содержит другие элементы.
Dialog Expert
простой эксперт, который способе
н сгенерировать раз
личные
диалоговые панели с одной или несколькими страницами.
Dialog with help
два варианта диалоговой панели с кнопкой вызова
справочной
информации.
Passw
ord dialog
диалоговая панель с простым окном редактирования,
которая имеет
необходимые для ввода пароля опции; код отсутствует.
Standart Dialog Box
стандартная диалоговая панель, которая доступна в
двух
вариантах с различным расположением кнопок.
Стр
аница Data Modules
Модуль данных это особый вид формы, который никогда не п
оявля
ется на экране во
время выполнения и может использоваться для хранения
невизуальных компонентов. Чаще
всего он
применяется для описания досту
па к базе данных.
Страница Projects
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
118
Эта страница содержит схемы
проектов, которые вы можете ис
пользовать в качестве
стартовой площадк
и для создания собственного при
ложения.
Application Expert
простой эксперт,
в котором вы можете выбрать фай
ловую
структуру и некоторые другие элементы при
ложения.
MDI Application задает ключевые элементы программы с интерфейсом Multiple
Document Interface (MDI).
В этом приложении определена ос
новная форма для окна MDI
фрейма,
содержащая меню, строку состоя
ния и инструментальную линейку. Кроме того, в нем
имеется вторая
форма, которую на этапе выполнения можно использовать для создания
дочерних окон.
SDI Application определяет основную
форму со стандартными атрибута
ми
современного интерфейса пользователя, включая инструментальную
линейку и строку
состояни
я, а также типичную панель About.
Win95 LogoApplication описывает пр
остое приложение, в котором при
сутствует
большинство элементов, необходимых для получения логотипа
Windows 95. Данная команда в
основн
ом создает SDI
приложение с ком
понетом RichEdit и вс
тавляет в него ко
д, который
делает приложение со
вместимым с электронной почтой.
3.12. Эксперты Delphi
Delphi разрешает не только коп
ировать или использовать сущест
вующий код, но и
создавать новые формы, приложения или другие файлы с
кодом, применяя эксперт
. Эксперт
позвол
яет вам ввести ряд опций и с по
мощью некоторой внутренней схемы создает код,
соответствующий вашему
заказу.
Application Expert
Его можно активизировать из страницы Project окна Object Repository.
Первая страница
этого эксперта позв
оляет доб
авить в программу неко
торые стандартные выпадающие меню:
File, Edit, Window и Help. На второй
странице эксперта вы зададите расширения тех файлов,
которые должна
рассматривать программа. Вам придется в
вести как описание файла,
напри
мер, текстовый файл (*.t
xt), так и его расширение txt Эти величины будут
использоваться в качестве значений по умолчанию диалоговыми окнами File
Open и File Save,
которые Application Expert добавит в программу (если вы
выбрали поддержку файлов).
Application Expert выведет на э
кра
н прекрасное визуальное сред
ство, которым вы можете
воспользовать
ся для построения инструменталь
ной линейки. В нем вы выбираете одно из
выпадающих меню, и появляется
ряд стандартных кнопок, которые соответствуют его
типичным элементам
(но только, если это
меню было выбрано на первой странице эксперта).
После завершения работы над инструментальной линейкой вы
можете перейти на
последнюю страницу эксперта. Здесь устанавливаются
многие дополнительные опции,
наприм
ер, можно доказать поддержку ин
терфейса _____MD
I, добавить строку состояния или
разрешить всплывающие
подсказки. Вы также можете задать имя н
ового приложения и
указать ката
лог для его исходных файлов. Каталог д
ля приложений должен уже сущест
вовать.
Если вы хотите поместить файлы проекта в новый каталог
, выберите кнопку Browse и введите
новый путь в появившемся диалоговом окне.
Dialog Box Expert
Это простой эксперт, предос
тавленный вместе с исходным тек
стом в качестве
демонстрационного примера. Вы можете воспользоваться
этим экспертом как инструментом
я построения диалоговых панелей двух
различных видов: простых и многостраничных
диалоговых панелей. Если
вы выберите простую диалоговую панель,
эксперт перейдет к
третьей стра
нице, где вы сможете задать компоновку
кнопок. Если вы выберите
много
страничную п
анель, появится промежуточная страница, которая позволяет
ввести
тексты для различных ярлычков.
4. Порядок выполнения работы
1. Войдите в среду Delphi, дважды щелкнув мышью на пиктограмму Delphi
или через
меню “Пуск”.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
119
2. Совершите экскурс в среду визуально
го программирования Delphi. При
этом
результаты своей работы не сохраняйте на диске.
3. Попытайтесь создать различные приложения с помощью Expertов
Delphi, исследовать
в окне редактирования полученный код. Приложения
на диске не запоминать.
4. Выберите пун
кт меню File/New Application, этим вы создадите новый
проект
приложения.
5. Выберите команду File/Save Project As…
В появившемся диалоге перейдите к корневому каталогу диска C,
выбрав
соответствующий пункт в выпадающем списке вверху окна.
Откройте папк
у, соответствующую названию ва
шей группы (напри
мер, Р
123). Если
такой нет, то создайте её, щелкнув правой кнопкой
мыши на свободном месте, выбрав из
появившегося контекстного
меню пункт Создать/папку и введя нужное название (после чего
забудьте её откр
ыть).
Создайте (как описано в предыдущем пункте) папку "Ваша_фамилия
Lab1".
Сохраните Unit1.pas под новым именем Main.pas, а Project1.dpr под
новым именем
Lab1.dpr.
6. Выберите из политры Standard визуальных компонентов и поместите в
форму
следующие ко
мпоненты:
Окно редактирования со связанной с ним меткой Operand 1. В этом
окне вводится
первый операнд.
Окно редактирования со связанной с ним меткой Operator. В этом окне вводится
операция. В прог
рамме следует предусмотреть опе
рации +,
, / и * .
но редактирования со связанной с ним меткой Operand 2. В этом
окне вводится
второй операнд.
Окно редактирования со связанной
с ним меткой Result. В этом ок
не отображается
результат запрошенной вами операции.
Пример простого калькулятора приведен на рис.1
1. В событиях OnClick каждой кно
пки опишите соответствующие дей
ствия, например,
для кнопки код
события должен выглядеть
следующим образом:
If
Edit2.Text='0'
Then
ShowMessage('Знаменатель равен "0"!')
Else
Edit3.Text:=FloatToStr(StrToFloat(Edit1.Te
xt)/StrToFloat(Edit2.Text));
Обратите внимание, что в данном действии осуществляется проверка
деления на ноль.
Оператор ShowMessage выдает сообщение, представленное
на рис. 1.2 в случае, когда Y равен
"0".
Рис. 1.1. Пример формы калькулятора
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
120
Рис.
1.2. Сообщение об ошибке
Процедуры FloatToStr и StrToFloat вы
полняют преобразования из число
вой переменной
в строковую и из строковой в числовую соответственно.
Остальные клавиши должны быть описаны соответственно.
2. Измените программу, дополнив
ее возмо
жностями очистки содер
жимого полей
(например, кнопка
Clear) и вычисления значения за
данной функции, согласно варианту
индивидуального задания.
3. Сохраните форму и проект.
5. Варианты индивидуальных заданий
1. Создайте кнопку для нахождения значений функци
и Z=Sin(2X+3Y).
2. Создайте кнопку для нахождения значений функции Z=Cos(4X
2Y).
3. Создайте кнопку для нахождения значений функции Z=Tan(2X+Y).
4. Создайте кнопку для нахождения значений функции Z=X! При этом в
поле Y копируйте значение X.
5. Создайте кно
пку для нахождения значений функции Z=Log(2X+Y+3).
6. Создайте кнопку для возведения X в целочисленную степеньY.
6. Результаты работы
В результате выполнения лаборатор
ной работы студент должен проде
монстрировать
преподавателю готовы
й проект калькулятора, ф
айл фор
мы и исходный код модуля.
Практическая
работа
Обработка исключительных ситуаций в Delphi. Восприятие ввода от
пользователя
1. Цель работы
Ознакомление с классом исключительных ситуаций Delphi и создание
приложений,
генерирующих исключени
я и обр
абатывающие различные фо
кусы ввода.
2. Домашнее задание
Изучить разделы 5 и 6 конспекта лекций, ознакомиться с описанием
и заданием на
лабораторную работу.
3. Основные понятия и приемы
3.1. Обработка исключений
На этапе выполнения Delphi по
рождает исключен
ия, когда какой
либо процесс идет
неправильно. Если ко
д вашей подпрограммы написан со
ответствующим образом, он может
распозна
ть возникшую проблему и по
пытаться ее решить; в противном случае
исключение
передается в код, ко
торый вызвал вашу подпрограмму и т.д
. В конечном счете, если никто не
обработал исключение, его обрабатыва
ет Delphi, выводя на экран стан
дартное сообщение об
ошибке и пытаяс
ь продолжить выполнение програм
мы.
Весь механизм строится на четырех ключевых словах:
try
определяет начало защище
нного блока кода;
except
определяет конец защищенного блока кода и вводит операторы
обработки
исключений в следующем виде:
on (тип исключения) do (оператор)
finally
указывает необязательный бл
ок, который используется для ос
вобождения
ресурсов, ра
спределенных
в блоке try перед обработкой ис
ключения; этот блок завершается
ключевым словом end.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
121
raise
оператор, используемый для
порождения исключений. Большин
ство
исключений, которые вы встретите при программировании на Delphi,
будут порождаться
сис
темой, но вы также можете создать их в соб
ственном коде, когда во время выполнения обнаружатся недопустимые
или
несогласованные данные. Кроме того, ключевое слово raise можно
использовать внутри
обработчика для повторного порождения исключе ния, т.е. для
передачи его следующему
обработчику.
Если вы хотите, чтобы при правильн
ой обработке исключений програм
ма продолжала
выполняться, отключите опцию отладки Break on Exception в
окне Environment Options.
3.2. Предопределенные обработчики исключительных ситуац
Ниже Вы найдете справочную ин
формацию по предопределенным ис
ключениям,
необходимую для профессионального программирования в
Delphi.
Exception
базовый класс
предо
к всех обработчиков исключитель
ных ситуаций.
EAbort
“скрытое” исключение. Ис
пользуйт
е его тогда, когда хоти
те прервать тот или
иной процесс с
условием, что пользователь про
граммы не должен видеть сообщения об
ошибке. Для повышения
удобства использования в модуле
SysUtils
предусмотрена процедура
Abort
определенная
как
procedure Abort;
gin
raise EAbort.CreateRes(SOperationAborted) at ReturnAddr;
end;
EComponentError
вызывается в двух ситуациях:
1) при попытке регистрации
компоненты за пределами процеду
ры Register;
2) когда имя компоненты не уникально или не допустимо.
EConvertError
происходит в случае возникновения ошибки при
выполнении
функций
StrToInt
StrToFloat
, когда ко
нвертация стро
ки в соответствующий числовой тип
невозможна.
EInOutError
происходит при о
шибках ввода/вывода при включен
ной директиве
{$I+}.
EIntError
предок исключений
, случающихся при выполнении це
лочисленных
операций.
EDivByZero
вызывается в случае деления на ноль, как результат
RunTime Error 200.
EIntOverflow
вызывается при п
опытке выполнения операций, при
водящих к
переполнению целых переменн
ых, как результат RunTime
Error 215 при включенной
директиве {$Q+}.
ERangeError
вызывается при попытке обращения к элементам
массива по индексу,
выходящему за пределы массива, как результат
RunTime Error 201 при включенной директиве
{$R+}.
EInvalidCa
st
происходит при попытке приведения переменных од ного класса к
другому классу, не совместимому с первым (например,
приведение переменной типа TListBox
к TMemo).
EInvalidGraphic
вызывается при попытке передачи в
LoadFromFile
файла,
несовместимого гр
афического формата.
EInvalidGraphicOperation
вызывается при попытке выполнения
операций,
неприменимых для д
анного графического формата (на
пример, Resize для TIcon).
EListError
вызывается при обращении к элементу наследника
TList по индексу,
выходящ
ему за
пределы допустимых значений (на
пример, объект TStringList содержит только
10 строк, а происходит
обращение к одиннадцатому).
EMathError
предок исключений, случающихся при выполнении
операций с
плавающей точкой.
EOverflow
происходит как резул
ьтат переполнения операций с
плавающей точкой
при слишком больших величинах. Соответствует
RunTime Error 205.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
122
Underflow
происходит как резуль
тат переполнения операций с пла
вающей точкой при
слишком малых величинах. Соответствует
RunTime Error 206.
eroDivide
вызывается в результате деления на ноль.
EMenuError
вызывается в случае любых ошибок при работе с
пунктами меню для
компонент TMenu, TMenuItem, TPopupMenu и их
наследников.
EOutlineError
вызывается в случае любых ошибок при работе с
TOu
tLine и любыми
его наследниками.
EOutOfMemory
происходит в случае вызовов New(), GetMem() или
конструкторов
классов при невозможности распределения памяти.
Соответствует RunTime Error 203.
EPrinter
вызывается в случае л
юбых ошибок при работе с прин
ром.
EProcessorException
предок исключений, вызываемых в случае
прерывания
процессора
hardware breakpoint. Никогда не включается
в DLL, может обрабатываться только
в “цельном” приложении.
EBreakpoint
вызывается в случае останова на точке прерыва
при отладке в IDE
Delphi. Среда
Delphi обрабатывает это исключе
ние самостоятельно.
EFault
предок исключений, вызываемых в случае невозможности
обработки
процессором тех или иных операций.
EInvalidOpCode
вызывается, когда процессор пытается выпо
лнить
недопустимые
инструкции.
ESingleStep
аналогично EBreakpoint, это исключение происходит при пошаговом
выполнении приложения в IDE Delphi.
EPropertyError
вызывается в случае ошибок в редакторах свойств,
встраиваемых в
IDE Delphi. Имеет большое
значение для написания
надежных property editors. Определен в
модуле DsgnIntf.pas.
EResNotFound
происходит в сл
учае тех или иных проблем, имею
щих место при
попытке загрузки ресурсов форм
файлов .DFM в
режиме дизайнера. Часто причин
ой таких
исключений
бывает нару
шение соответствия между определением класса формы и ее
нием на уровне ресурса (например, вследствие изменения порядка
следования полей
ссылок на компоненты, вставленные в форму в
режиме дизайнера).
EStreamError
предок исключений, вызы
ваемых при работе с потоками.
EFCreateError
происходит в случае
ошибок создания потока (на
пример, при
некорректном задании файла потока).
EFilerError
вызывается при попытке вторичной регистрации уже
зарегистрированного класса (компоненты). Является
, также, предком
специализированных
обработчиков исключений, возникающих при
работе с классами компонент.
3.3. Восприятие ввода от пользователя
Обратим особое внимание на одно качество, характерное для многих
управляющих
элементов
фокус. Как опр
еделить к
акое окно или поле име
ет фокус ввода? В каждый
конкретный момен
т фокус имеет только одно по
ле. Вы можете перемещать фокус, испо
льзуя
клавишу Tab или щелкая мы
шью по другому компоненту. Каждый раз
когда компонент
получает или те
ряет фокус, к нему приходит с
оответствующее событие, которое указывает,
что пользователь достиг (OnEnter) или покинул (OnExit) компонент.
При использовании компонента Edit д
ля ввода чисел пользователь вме
сто цифры может
набрать букву. Функции преобразования вернут код
ошибки, что помо
жет определить
действительно ли введено число. Когда
можно выполнить такую проверку? Возможно, когда
изменится значение
блока редактирования, когда компонент по
теряет фокус или когда
пользова
тель щелкнет по некоторой кнопке в диа
логовой панели. Можно просм
атри
вать
входной поток в блоке редактирования и ост
анавливать любой нечи
словой код.
4. Порядок выполнения работы
1. В среде программирования Delphi cоздайте новый проект, выбрав пункт
меню
File/New Application.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
123
2. Сохраните этот проект в папке"С:
Ваша_груп
Ваша_фамилия Lab2".
(Unit1.pas под новым именем Main2.pas, а Project1.dpr под новым именем
Lab2.dpr).
3. Разработайте приложение, обрабатывающее исключительную ситуацию,
согласно
вашему варианту индивидуального задания.
4. Открыть новое приложение.
5. С
оздать форму с пятью полями редактирования и пятью
соответствую
щими
надписями, которые поясняют, какой вид проверки осуществляет
соответствующий
компонент Edit. Форма также содержит кнопку для
проверки содержимого первого поля
редактирования.
Событие OnCli
ck кнопки должно проверять целочисленность введенного
в первое поле
значения, например:
var
Number, Code : Integer ;
begin
if Edit1.Text က ‘ ’ then
begin
val ( Edit1. Text, Number, Code) ;
if Code &#x-100; 0 then
begin
Edit1. SetFocus ;
MessageDlg (‘ Not a numb
er in the first edit ‘ , mtError,
[ mbOK ] , 0 ) ;
end ;
end ;
end ;
При выходе из компонента Edit2 (соб
ытие OnExit) осуществляется ана
логичная
проверка
var
Number, Code : Integer ;
begin
if (Sender as TEdit ). Text က ‘ ’ then
begin
val ((Sender as TEd
it ). Text, Number, Code) ;
if Code &#x-100; 0 then
begin
(Sender as TEdit ). SetFocus ;
MessageDlg (‘ The edit field number ‘ +
IntToStr ((Sender as TEdit ). Tag) +
‘ does not have a valid number’ , mtError, [ mbOK ] , 0 ) ;
end ;
end ;
end ;
Текст сообщения о
б ошибке может варьироваться.
Третий компонент Edit выполняет аналогичную проверку при каждом
изменении его
содержимого (используя событие OnChange}.
Записать код для события события On
KeyPress компонента Edit4 и про
верить, не
является ли введенный сим
вол числом или клавишей Backspace
(которая имеет числовое
значение 8).
begin
if not ( key in [ ‘0’ . .
‘9’ , # 8] } then
begin
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
124
Key := # 0 ;
MessageBeep ($ FFFFFFFF) ;
end;
end;
Для события OnEnter компонента Edit5
записать код, в котором необхо
димо
преоб
разовать введенные символы в число с помощью функции
StrToInt. Использовать
исключение для обработки ошибки EConvertError.
5. Варианты индивидуальных заданий
1. Создать программу, позволяющую пользователю ввести два числа,
которые
программа разделит. Необх
одимо поместить на форму три
объекта класса TEdit
два для
операндов, один
для результата и
кнопку (объект класса TButton), нажимая на которую
пользователь
выполняет деление. Исключить попытку деления на ноль а так же
введения
символов вместо цифр.
Выда
ть сообщение о типе возник
шей ошибке.
2. Создать программу, вычисляющую корни квадратного уравнения
(ax2+bx+c=0).
Необходимо поместить на форму четыре объекта
класса TEdit
три для коэффициентов
квадратного уравнения, один
для результата и кнопку (объек
т к
ласса TButton), нажимая на
кото
рую пользователь выполняет нахождение корней. Исключить ввод
символов вместо цифр,
получение отрицательного дискриминанта и
ввод а = 0. Вывести при всех типах ошибок одно
и то же сообщение.
3. Создать программу с “бесконеч
ным” циклом типа while. В цикле
увеличивать
переменную I до значения, заданного пользователем.
При достижении этого значения
выходить из цикла с помощью воз
буждения исключения
EAbort. Выдать сообщение о выходе из цикла
в блоке Except. Необходимо поместить
на
форму кнопку (объект
класса TButton), которая запускает цикл; сообщение можно выдать с
помощью функции ShowMessage, или поместить на форму метку
(объект класса TLabel), в
которую помещается сообщение.
4. Создать программу, вычисляю
щую тангенс угла. Необ
ходимо по
местить в форму два
компонента Te
dit для ввода значения и резуль
тата и кнопку Tbutton для вычисления значения
тангенса. Исключить
ввод символов вместо цифр и получение значения тангенса угла 90
градусов. Предусмотреть возможность ввода значений в
радианах.
5. Создать программу, вычисляющую
логарифм числа. Для этого необ
ходимо поместить
в форму два компонента Tedit для ввода значения
и результата и кнопку Tbutton для
вычисления значения логарифма.
Исключить ввод символов вместо
цифр и получение знач
ения лога
рифма 0.
6. Создать программу обработки
исключения при обращении к несу
ществующему
элементу массива.
В форму поместите поля редакти
рования для ввода
вывода значений и
номеров элементов массива
и кнопку для обработки события.
6. Результаты работы
В результате выполнения лаборатор
ной работы студент должен проде
монстрировать
преподавателю готовый проект, содержащий обработку
исключительной ситуации, файл
формы и исходный код модуля.
Практическая
работа
Создание и обработка меню
1. Цель работы
знакомление с дизайнером меню D
elphi и создание приложения, со
держащего меню.
2. Домашнее задание
Изучить 7 раздел конспекта лекций, ознакомиться с описанием и
заданием на
лабораторную работу.
3. Основные понятия и приемы
3.1. Структура меню
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
125
Обычно меню им
еет два уровня. Строка меню, которая находится под
заголовком окна,
содержит имена выпадающих меню. Каждое выпадающее
меню содержит несколько
элементов. Однако структура меню очень гибка.
Элемент меню можно поместить непоср
едственно в строку меню, а выпа
ющее меню
внутрь другого выпадаю
щего меню. Выпадающее меню внут
ри другого выпадающего меню
(выпада
ющее меню второго уровня) встре
чается довольно часто, и для этого случая
Windows
предоставляет специаль
ный визуальный значок
маленький тре
угольник справа от
соответствую
щего пункта меню. Нередко вместо выпадающего меню второго уровня вы
можете просто сгруппировать ряд опций в первоначальном выпадающем
меню и поместить
два разделителя: один до группы и один после.
3.2. Различные роли элементов меню
Существует
три основных типа элементов меню:
Команды
элементы меню, которые используются для выдачи команды
и выполнения
действия. Визуально они никак не выделяются.
Установщики состояния
элементы меню, которые используются для
переключения
опции в положения
включено
выключено и изменения
состояния какого
либо элемента.
ли эти команды имеют два состоя
ния, то в активном положении слева от них обычно стоит
галочка. В этом
случае выбор команды изменяет состояние на противоположное.
Элементы вызова диалога
элементы м
еню, которые вызывают диалого
вою панель.
Реальное различие межд
у этими и другими элементами ме
ню состоит в следующем: с
помощью
этих элементов пользователь дол
жен получить возможность исследовать вероятные
действия соответствующей диалоговой п
анели. Такие команды должны иметь визуальный
ключ в виде трех точек после текста.
3.3. Редактирование меню с помощью Menu Designer
Система Delphi включает специальный редактор для меню Menu Designer.
Чтобы
вызвать этот инструмент, поместите компонент меню
в форму
и дважды щелкните по нему.
Не волнуйтесь о точном положении данного
компонента в форме, поскольку на результ
ат это
не влияет: само меню все
гда помещается правильно
под заголовк
ом формы. Menu Designer
позволя
ет создавать меню путем простого написа
ния текста команд, перемещать
элементы
или выпадающие меню с пом
ощью буксировки и легко устанав
ливать свойства элементов.
Для создани
я выпадающего меню второго уров
ня нужно выбрать команду Create subm
enu в
SpeedMenu инструмента (ло
кальном меню, которое выз
ывается правой кнопкой мыши).
3.4. Горячие клавиши меню
Общее свойство элементов меню
наличие подчеркнутой буквы. Эту
букву можно
использовать для выбора меню с помощью клавиатуры. При
одновременном нажатии
клавиши Alt и клавиши с буквой на экране по
явля
ется соответствующее выпадающее меню.
Чтобы определить подчеркнутую
клавишу, просто поместите перед ней символ амперсанта
(&), например,
&File. Элементам меню можно назначить
горячие клавиши. Для этого нуж
но
указать значение для свойства ShortCut, выбрав о
дну из стандартных
комбинаций.
3.5. Изменение элементов меню
Для модификации элемента меню ч
аще всего используются три свой
ства. Свойство
Checked используется, чтобы добавить или удалить галочку
рядом с элементом меню. С
помощью свойства Enabled
элемент ме
ню мож
но пригасить, после чего пользователь не
сможет его выбрать. Свойство
Caption представляет текст элемента меню. Изменяя текст
элемента меню,
вы указываете пользователю, что программа перешла в другое состояние.
4. Порядок выполнения работы
1. Войдите
в среду Delphi.
2. Выберите пункт меню File/New Application, этим вы создадите новый
проект
приложения.
3. Выберите команду File/Save Project As…
В появившемся диалоге перейдите к корневому каталогу диска C,
выбрав
соответствующий пункт в выпадающем спи
ске вверху окна.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
126
Откройте папку, соответствующ
ую названию вашей группы (напри
мер, Р
123). Если
такой нет, то создайте её, кликнув правой кнопкой
мыши на свободном месте, выбрав из
появившегося контекстного
меню пункт Создать/папку и введя нужное название
(после чего
Создайте (как описано в предыдущем пункте) папку "Ваша_фамилия
Lab3".
Сохраните Unit1.pas под новым именем Main.pas, а Project1.dpr под
новым именем
Lab3.dpr.
Создайте проект согласно Ваше
му индивидуальному заданию. Под
робное описание
азработки мен
ю приведено в индивидуальном за
дании 1.
5. Варианты индивидуальных заданий
Вариант 1
1. Выберите в палитре компонентов Delphi
вкладку Standard (это самая пер
вая вкладка и
обычно она уже выбрана автоматически).
Выберите компонент MainMenu и пом
естите его на форму.
Рис. 3.1. Дизайнер меню
3. Откройте Menu Designer дважды кликнув на компоненте MainMenu в
форме. Окно
дизайнера меню представлено на рис. 3.1.
4. Создайте меню следующей структуры:
File: Exit
Options: Font, Color, (
разделитель
Left, Center, Right, (
разделитель
Height
Help: About
Меню должно быть похоже на представленное на рис. 3.2.
Названия пунктов меню вводятся в поле Caption, для создания разделителя в
поле
Caption вводится символ "
" (минус, он же дефис)
Рис. 3.2. Пр
имер меню
5. Для Left, Center и Hight назначьте горячие клавиши (свойство ShortCut)
6. В форму
поместите компонент RichEd
it из палитры Win32 и две пикто
граммы диалогов:
FontDialog и ColorDialog из палитры Dialogs.
7. Для отклика на команды меню вы должны
определить метод для события
OnClick
каждого элемента меню, как показано на рис. 3.3.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
127
Рис. 3.3. Выбор метода OnClick
8. Код метода TForm1.Font1Click:
procedure TForm1.Font1Click (Sender : TObject) ;
begin
FontDialog1.Font : = RichEdit1.Font ;
FontDia
log1.Execute;
RichEdit1.Font : = FontDialog1.Font ;
end;
9. Код метода TForm1.Color1Click очень похож на приведённый выше. Напишите
его
сами
Код
метода
TForm1.Left1Click:
procedure TForm1.Left1Click (Sender : TObject) ;
begin
RichEdit1.Paragraph.Align
ment : = taLeftJustify ;
Left1.Checked : = True ;
Center1.Checked : = False ;
Right1.Checked : = False ;
end;
Чтобы поставить галочку в ряде выби
раемых опций, установите свойст
во Checked
элемента меню в True, как показано на рис. 3.4.
Рис. 3.4. Параметры
инспектора объектов
Коды методов для элементов Center и Right аналогичны предыдущему.
Вариант 2
1. На форме расположите две панели , две кнопки и компонент RichEdit.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
128
Первая панель должна содержать два поля редактирования, а вторая два
чекбокса, как
показ
ано на рис. 3.5.
Рис. 3.5. Начальная форма проекта
2. Создайте меню:
File: Open, Save As
Buttons
Enable
First
программно
изменяемый
Disable
First
обратно; как именно
см. ниже)
Views: Edit Boxes, Check Boxes
Pulldowns: Remove File Menu,
Disable Buttons Menu
3. Поместите в форму пиктограммы диалогов OpenDialog, SaveDialog.
Форма будет выглядеть примерно так, как показано на рис.3.6
Рис. 3.6. Законченный вид формы проекта
4. Код методов, которые загружают и сохраняют файлы :
procedure
TForm1.Open1Click (Sender : TObject) ;
begin
if OpenDialog1.Execute then
RichEdit1.Lines.LoadFromFile (OpenDialog1.FileName) ;
end;
procedure TForm1.SaveAs1Click (Sender : TObject) ;
begin
if SaveDialog1.Execute then
RichEdit1.Lines.SaveToFile (SaveDialog1
.FileName) ;
end;
5. Компоненты внутри панелей в действи
тельности не используются. Одна
ко вам
необходимо воспользоваться двумя кнопками, чтобы скрыть или
отобразить каждую из двух
панелей
вместе с управляющими элемента
ми, которые в них содержатся. Те ж
е де
йствия
можно выполнить с по
мощью
двух
команд
меню
View
Edit
Boxes
View
Check
Boxes
Когда
вы выбираете одну из этих команд меню или нажимаете одну из кнопок,
происходят
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
129
три разных действия. Во
первых, отображается или скрыва
ется панель. Во
вторых, те
кст
кнопки изменяется с Hide на S
how, и на
оборот. В
третьих, рядом с соответствующим
элементом меню появляет ся или исчезает галочка. Ниже приведен
код одного из двух
методов, ко
торый связан с событиями щелчка как команды меню, так и кнопки :
procedure TFo
rm1.ViewEdit1Click (Sender : TObject) ;
begin
Panel1.Visible : = not Panel1.Visible ;
ViewEdit1.Checked : = not ViewEdit1.Checked ;
if Panel1.Visible then
Button1.Caption : = ‘Hide’ ;
else
Button1.Caption : = ‘Show’ ;
end;
6. Команды меню Buttons применяют
другой подход. Для показа текущего
состояния они
используют не галочку, а изменение текста. Кроме того,
они разрешают или запрещают
соот
ветствующую команду View и кноп
procedure TForm1.ButtonsFirst1Click (Sender : TObject) ;
begin
if Buttons1.Enabled t
hen
begin
Buttons1.Enabled : = False;
ViewEdit1.Enabled : = False ;
ButtonsFirst1.Caption : = ‘Enable &First’ ;
end
else
begin
Buttons1.Enabled : = True
ViewEdit1.Enabled : = True ;
ButtonsFirst1.Caption : = ‘Disable &First’ ;
end
end;
7. Команды меню Pull
downs должны скрывать выпадающее меню File и
Duttons
соответственно и показывать галочку для выбранного элемента.
Запишите код для каждого элемента этого меню самостоятельно.
Вариант 3
1. На форме расположите компонент Image, пиктограмму диалога
OpenPictur
eDialog
2. Создайте меню (рис. 3.7):
File: Open, (разделитель), Exit, (разделитель)
невидимый, Most Recent
невидимый
Options: Center, Stretch, Transparent
About
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
130
Рис. 3.7. Форма проекта варианта 3
3. Методы меню
File:
procedure TForm1.Open1Cli
ck(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
if Currentက'' then
begin
MostRecent1.Caption := Current;
N2.Visible := true;
MostRecent1.Visible := true;
end;
Current := OpenPictureDialog1.FileName;
Image1.Picture.LoadFromFile(OpenPict
ureDialog1.FileName);
end;
end;
procedure TForm1.MostRecent1Click(Sender: TObject);
var
S : string;
begin
S := MostRecent1.Caption;
Image1.Picture.LoadFromFile(S);
MostRecent1.Caption := Current;
Current := S;
end;
Метод
меню
TForm1.Center1Click:
proced
ure TForm1.Center1Click(Sender: TObject);
begin
Center1.Checked := not Center1.Checked;
Image1.Center := Center1.Checked;
end;
5. Остальные два метода меню Opt
ions аналогичны приведённому вы
ше
TForm1.Center1Click
6. Измените меню File и соответствующие мет
оды для отображения
имён и повторного
открытия не одной, а трёх последних картинок
Вариант 4
1. На форме расположите компоненты Edit и Button
2. Поместите в форму компонент RadioGroup с тремя пунктами: Beep,
About
Exit
Создайте
меню
Normal Part: B
eep, About, Exit
Anomal Part
Пример формы представлен на рис. 3.8.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
131
Рис. 3.8. Форма проекта варианта 4
4. Коды методов TForm1.Beep1Click и TForm1.Button1Click:
procedure TForm1.Beep1Click(Sender: TObject);
begin
MessageBeep($FFFFFFFF);
if (Sender as T
MenuItem).Owner=AnomalPart1 then Anoma
Part1.Remove(Sender as
TMenuItem);
end;
procedure TForm1.About1Click(Sender: TObject);
begin
Application.MessageBox('!!!', '...', 0);
if (Sender as TMenuItem
).Owner=AnomalPart1 then Anomal
Part1.Remove(Sender as
TMenuI
tem);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
I : TMenuItem;
begin
I := TMenuItem.Create(AnomalPart1);
I.Caption := Edit1.Text;
case RadioGroup1.ItemIndex of
0: I.OnClick := B
eep1Click;
1: I.OnClick := About1Click;
2: I.OnClick := Exit1Click;
end;
AnomalPart1.Add(I);
end;
Коды
методов
TForm1.About1Click
аналогичен
коду
метода
TForm1.Beep1Click
6. Добавьте в форму компонент ImageList и добавьте в него несколько
иконок или
неб
ольших картинок
7. Установите свойство меню Images указывающим на ImageList1
8. Задайте свойство ImageIndex для некоторых пунктов меню.
9. Сделайте так, чтобы любой пункт
из аномальной части меню случай
ным образом
менял свойства Capti
on, Checked или ImageI
ndex како
либо из оставшихся элементов, если
таковые имеются
Вариант 5
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
132
1. На форме расположите компоненты Memo и Image, пиктограммы
диалогов
OpenDialog
SaveDialog
OpenPictureDialog
2. Создайте меню:
Text: Load, Save, (разделитель), Enabled
с гало
чкой
Graphics: Load, (разделитель), Center
отключен, Stretch
отключен
3. Создайте всплывающее меню с единственным пунктом Clear.
Пример формы представлен на рис. 3.9.
Рис. 3.9. Пример формы варианта 5
4. Коды методов:
procedure TForm1.Load1Click(
Sender: TObject);
begin
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
procedure TForm1.Save1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
133
end;
end;
procedur
e TForm1.Enabled1Click(Sender: TObject);
begin
Enabled1.Checked := not Enabled1.Checked;
Memo1.Enabled := Enabled1.Checked;
end;
5. Добавьте в главное меню пункт:
Lines: Add, (разделитель)
невидимый
6. Добавьте методы:
procedure TForm1.Add1Click(Sender
: TObject);
var
I : TMenuItem;
begin
I := TMenuItem.Create(Lines1);
I.Caption := Memo1.SelText;
I.OnClick := Put;
Lines1.Add(I);
N3.Visible := true;
end;
procedure TForm1.Put(Sender: TObject);
begin
Memo1.Text := Memo1.Text + (Sender as TMenuItem).Caption;
end;
7. Добавьте в меню Text пункт "Al
ignment: Left", циклически изме
няющий свойство
Memo1.Alignment
и своё свойство Caption для вы
равнивания по левому краю, по центру и по
правому краю.
Вариант 6
1. На форме расположите три кнопки (вторая и третья
откл
ючены),
компоненты
ProgressBar и Shape, пиктограммы диалога ColorDialog
Создайте
меню
Progress: More, Less
отключен
Buttons: First
галочкой
, Second, Third
Shaping: Color
Пример формы
рис. 3.10
Рис. 3.10. Пример формы варианта 6
3. Коды
методов:
procedure TForm1.More1Click(Sender: TObject);
begin
ProgressBar1.Position := ProgressBar1.Position+10;
Progress1.Caption := 'Progress: ' + IntToStr(ProgressBar1.Position) +'%';
More1.Enabled := ProgressBar1.Position&#x-100;100;
Less1.Enabled := Progres
sBar1.Position&#x-100;0;
end;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
134
procedure TForm1.First1Click(Sender: TObject);
begin
First1.Checked := true;
Second1.Checked := false;
Third1.Checked := false;
Button1.Enabled := true;
Button2.Enabled := false;
Button3.Enabled := false;
end;
procedure TForm1.Color
1Click(Sender: TObject);
begin
if ColorDialog1.Execute then
Shape1.Brush.Color := ColorDialog1.Color;
end;
Код
метода
TForm1.Less1Click
аналогичен
коду
метода
TForm1.More1Click
Коды
методов
TForm1.Second1Click
TForm1.Third1Click
аналогич
ны коду м
етода TForm1.First1Click
6. Добавьте в меню Shaping пункт, циклически изменяющий свойство
Shape1.Shape и
отображающий эти изменения своим свойством Caption
6. Результаты работы
В результате выполнения лаборатор
ной работы студент должен проде
монстрировать
реподавателю готовый проект, содержащий меню, файл
формы и исходный код модуля.
Практическая
работа
Классы и модули
1. Цель работы
Объектно
ориентированное программирование в среде
Delphi и разра
ботка
приложения, создающего и обрабатывающего собствен
ный класс.
2. Домашнее задание
Изучить раздел 3 конспек
та лекций, описывающий объектно
ориентированное
программирование в Delphi.
Ознакомиться с описанием и заданием на лабораторную работу.
3. Основные понятия и приемы
3.1. Классы и сокрытие информации
Клас
с может содержать сколько
угодно данных и любое количест
во методов. Однако для
соблюдения всех правил объектно
ориентированного подхода данные долж
ны быть скрыты,
или инкапсулиро
ваны, внутри использующего их класса.
Использование метода для
получе
ния доступ
а к внутреннему представлени
ю объекта уменьшает риск возник
новения
ошибочных ситуаций и позволяет автору класса модифицировать
внутреннее представление в
будущих версиях. В Object Pascal имеются две
различные конструкции, подразумевающие
инкапсуляцию, защи
ту и доступ
к переменным: классы и модули. С клас
сами связаны
некоторые специаль
ные ключевые слова
спецификаторы доступа:
private
элементы интерфейса класса видны только в пределах модуля, в
котором
определен класс. Вне этого модуля private
элементы
не видны и
недоступны. Если в одном
модуле создано несколько классов, то все они
видят private
разделы друг друга.
Раздел public не накладывает ограничений на область ви
димости пере
численных в нем
полей, методов и свойств. Их можно вызывать в любом
друго
м модуле программы.
Раздел published не ограничивает облас
ть видимости, однако в нем пере
числены
свойства, которые должны быть доступны не только на этапе
исполнения, но и на этапе
конструирования программы. Раздел published
используется при разработке к
омпонент
ов. Без
объявления раздел счита
ется объявленным как published. Тако
й умалчиваемый раздел
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
135
располага
ется в самом начале объявления класса любой формы и продолжается до
первого
объявленного раздела. В раздел
published среда помещает описа
ние вставляем
ых в форму
компонентов. Сюда не нужно помещать собст венные элементы или удалять элементы,
вставленные средой.
Раздел protected доступен только методам самого класса, а также любым
потомкам,
независимо от того, находятся ли они в том же модуле или
нет.
орядок следования разделов может быть любой, любой раздел
может быть пустым.
3.2. Классы и модули
Приложения Delphi интенсивно используют модули. За каждой
формой скрывается
соответствующий ей модуль. Однако модули не обязаны
иметь соответствующие формы.
одуль содержит раздел interface, где объявлено все, что доступно
для других модулей,
и раздел implementation с реальным кодом. Наконец,
модуль может иметь два необязательных
раздела: initialization с некоторым
кодом запуска, который выполняется при
загрузк
е в память
программы, ис
пользующей данный модуль, и finalization
, который выполняется при
завер
шении программы.
Предложение uses в начале раздела interface указывает к каким
другим модулям мы
должны получить доступ из раздела interface текущего
модуля. Есл
и же на другие модули
необ
ходимо сослаться из кода подпро
грамм и методов, вы должны добавить новое
предложение uses в начале
раздела implementation.
В интерфейсе модуля можно о
бъявить несколько различных эле
ментов, в том числе
процедуры, функции, глобальны
е переменные и типы
данных. Также можно поместить в
модуль
класс. Delphi это делает автома
тически при создании каждой формы. Чтобы создать
новый не относящийся
к форме модуль, выберите команду File/New и отметьте на странице
New
появившегося окна Object Re
pository элемент Unit.
3.3. Модули и область видимости
Область видимости идентификато
ра (переменной, процедуры, функ
ции или типа
данных) определяет ту часть кода, в которой доступен этот
идентификатор. Основное правило
состоит
в том, что идентификатор явля
ся значимым только внутри его области видимости.
Если вы объявили идентификат
ор внутри блока определения про
цедуры, вы не сможете
использовать дан
ную переменную вне этой процеду
ры. Область видимости идентификатора
охватывает всю процедуру, вклю
чая вложен
ные блоки.
Если вы объявили идентификатор в области реализации модуля,
вы не можете
применить его вне модуля, но можете использовать в любом
блоке и процедуре,
определенных _____внутри модуля
. Если вы объявили иден
тификатор в интерфейсной части
модул
я, его
область видимости распро
страняется на любой другой модуль, где объявлен
идентификатор. Любой
идентификатор, объявленный в интерфейсе модуля, является
глобальным;
все другие идентификаторы принято называть локальными.
3.4. Модули и программы
Приложение Del
phi создается из файлов исходного текста двух
разных видов. Это один
или несколько модулей и один файл программы.
Модули можно считать втор
ичными файлами, к которым обращ
ется основная часть
приложения
программа. На практике файл программы
обычно является
автоматически
сгенерированным файлом с ограниченной
ролью. Он нужен только для запуска про
граммы,
которая выполняет основ
ную форму. Код файла программы, или файла проекта Delphi (DPR),
можно
отредактировать вручную или с помощью
Project Manager и некоторы
х оп
ций проекта.
3.5. Информация о типе на этапе выполнения
Правило языка Object Pascal о
совместимости типов для классов
потомков позволяет вам
использовать класс
потомок там, где ожидается
класс
предок, обратное невозможно. Теперь
предположим, что класс
Dog
содержит функцию Eat, которая отсутствует в классе Animal.
Если переменная MyAnimal ссылается на объект типа Dog, вызов
этой функции должен
быть разрешен. Но если вы попытаетесь вызвать эту
функцию, а переменная ссылается на
объект другого класса, воз
никнет
ошибка. Поскольку компилятор не способен определить,
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
136
будет ли значение
правильным на этапе выполнения, то, делая явное приведение типов, мы
рискуем вызвать опасную ошибку этапа выполнения программы.
Для решения данной проблемы можно воспользоваться
нек
оторы
ми подходами,
основанными на системе RTTI. Каждый объект знает свой
тип и своего предка и может
получить эту информацию
с помощью опера
ции is. Параметрами операции is являются объект
и тип:
if MyAnimal is Dog then …
Выражение is становится истинн
, только если в настоящее вре
мя объект MyAnimal
имеет тип Dog или
тип потомка от Dog. Другими сло
вами, это выражение приобретает
значение True, если вы можете без риска
присвоить объект (MyAnimal) переменной заданного
типа данных (Dog).
Такое прямое привед
ение можно выполнить так:
if MyAnimal is Dog then
MyDog := Dog (MyAnimal) ;
То же действие можно выполнить напрямую с помо
щью другой опера
ции RTTI
as. Мы
можем написать так:
MyDog := MyAnimal as Dog ;
Text := MyDog. Eat ;
Если мы хотим вызвать функци
ю Ea
t, можно использовать и дру
гую
форму
записи
(MyAnimal as Dog) .
Eat ;
Результатом выражения будет объект с типом данных класса Dog,
поэтому вы можете
применить к нему любой метод этого класса.
Приведение с операцией as отли
чается от традиционного приведе
ия тем, что в случае
несовместимости типа объекта с типом, к которому вы
пытаетесь его привести, порождается
исключение EInvalidCast.
Чтобы избежать этого исключения, используйте операцию is и в
случае успеха делайте
простое приведение:
if MyAnimal is Dog
then
(Dog (MyAnimal) ) .
Eat ;
4. Порядок выполнения работы
1. В среде программирования Delphi cоздайте новый проект, выбрав пункт
меню
File/New Application.
2. Сохраните этот проект в папке "С:
Ваша_группа
Ваша_фамилия Lab4".
(Unit1.pas под новым именем M
ain4.pas, а Project1.dpr под новым именем
Lab4.dpr).
3. Открыть модуль, не связанный с формой (File/New и отметьте на
страни
це New
появившегося окна Object Repository элемент Unit), и поместить в
него три класса:
Класс Animal, который содержит в раз
public объявление конструк
тора Create и
объявление метода
функц
ии: Voice
звук, издаваемый жи
вотным. Тип результата
возвращаемого функцией,
string. Метод Voice
объявить виртуальным и абстрактным.
public
constructor Create;
function GetKind: string;
func
tion Voice: string; virtual; abstract;
В разделе private класса определить переменную Kind: string.
Класс Dog объявить потомком класса Animal:
TDog = class (TAnimal)
В разделе public этого класса объявить конструктор и методы Voice
и Eat. Метод Eat
типа
string объявить
виртуальным (пища животного).
public
constructor Create;
function Voice: string; override;
function Eat: string; virtual;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
137
Класс
Cat
объявить
потомком
класса
Animal.
TCat = class (TAnimal)
Раздел public класса содержит те
же определения, ч
то и соответст
вующий
раздел
класса
Dog
public
constructor Create;
function Voice: string; override;
function Eat: string; virtual;
В реализациях конструктора каждого класса переменной Kind
присваивается имя
соответствующего животного, например, для класса
Animal:
Kind := ‘An Animal’.
В реализациях методов Voice в
озвращается звук, издаваемый жи
вотным, например:
Voice := ‘Mieow’.
В реализациях методов Eat возвращается название пищи, которой
питается
соответствующее животное:
Eat:= 'A bone, please!';
4. Задат
ь имя модуля и имя проекта, в который этот модуль будет включен.
7. Добавить в проект форму, которой присвоить имя Animals, также задать
имя модулю,
связанному с формой.
8. В форме расположить три кнопки опц
ий (компонент RadioButton) с на
званиями
Animal, D
og, Cat ; кнопкой
команды (компонент Button) с на
званием Kind и две крупные
надписи (компонент Labe
l)(рис. 4.1). Нажа
тию одной из кнопок опций будет соответствовать
выбор животного.
При нажатии кнопки команды надпи
си должны отобразить звук, изда
ваемый живо
тным,
и его пищу.
Рис. 4.1. Форма проекта
9. Определите в классе формы private
переменную MyAnimal.
private
MyAnimal: TAnimal;
Запишите код для обработчика со
бытия OnCreate формы, где созда
ется объект типа Dog,
на который ссылается переменная MyAnimal.
begin
MyAnimal := TDog.Create;
end;
10. В обработчиках события OnClick каждой кнопки опций записать код,
который
удаляет текущий объект и создает новый.
begin
MyAnimal.Free;
MyAnimal := TAnimal.Create;
end;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
138
11. В обработчике события OnClick кнопки команды
записать код, который
будет
помещать в надписи звук, издаваемый животным.
begin
LabelVoice.Caption := MyAnimal.Voice;
end;
Рис. 4.2.Звук для Cat
Рис. 4.3. Сообщение об ошибке
12. Если вы все сделали правильно, при запуске приложения надписи будут
отображать
пищу и звук для Dog и Cat (рис. 4.2) и приложение завершит
работу по ошибке при выборе
Animal (рис. 4.3).
13. Уберите ключевое слово abstract в объявлении метода Voice. Запустите
приложение
снова. Посмотрите, что изменилось в работе приложения.
Объясните различия.
14. Попробуйте использовать метод Eat без приведения типов (без is).
15. Доработайте проект согласно варианту индивидуального задания.
5. Варианты индивидуальных заданий
Вариант 1
Разработайте два класса потомка от Animal, которые буду
т отображать
особенности двух
пород собак. Разработа
йте методы для этих классов, по
зволяющие получить некоторые
характе
ристики породы (рост, длина шер
сти, длина ушей и т.д.). Дополните форму
компонентами, позволяющими
увидеть все характеристики разработанн
ых классов.
Примерная форма проекта представлена на рис. 4.4.
После запуска программы представляется возможность выбора между
значениями:
Animal, Dog, Cat. Выбор осуществляется при помощи кнопки
SELECT. Далее предоставляется
дополнительная возможность для
выбора
породы собаки.
При выделении знаком:
интересующей породы можно получить дополнительную
информацию.
Вариант 2
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
139
Разработайте два класса потомка от Animal, которые будут отображать
особенности двух
новых животных Wolf (
волк) и Jascal (шакал). Разрабо
тай
те методы для этих классов,
позволя
ющие получить некоторые характе
ристики этих видов животных (рост по холке
, длина
клыков, вес и т.д.). До
полните форму компонентами, позволяющими увидеть все
характеристики
разработанных классов.
Вариант 3
Разработайте два
класса потомка от Animal, которые будут отображать
особенности двух
новых животных Fish (р
ыба) и Bird (птица). Разработай
те методы для этих классов,
позволяющ
ие получить некоторые характери
стики этих типов животных (среда обитания,
покров тела, издаваемый
звук
и т.д.). Дополните форму компонентами,
позволяющими
увидеть все харак
теристики разработанных классов.
Вариант 4
Разработайте два класса потомка от Animal, которые будут отображать
особенности двух
видов насекомых Gnat (комар) и Fly (муха). Разработай
методы для этих классов,
позволяющие получить некоторые характеристики
этих насекомых (скорость передвижения,
окраска, используемая пища и
т.д.). Дополните форму компонентами,
позволяющими увидеть
все эти ха
рактеристики разработанных классов.
Вариант 5
Разработайте два класса потомка от Animal, которые будут отображать
особенности двух
видов млекопитающих
Man (человек) и Monkey (обезья
на). Разработайте методы для этих
класс
ов, позволяющие получить некото
рые характеристики этих существ (способ общения,
кров, рост и т.д.). Дополните форму компонентами, позволя
ющими увидеть все эти
характери
стики разработанных классов.
Рис. 4.4. Форма характеристик пород собак
6. Результаты работы
В результате выполнения лабораторной работы студент д
олжен проде
монстриро
вать
преподавателю готовый проект, файлы форм и исходный
код модулей.
Практическая
работа
Получение ввода от мыши. Рисование в форме
1. Цель работы
Ознакомление с графическими средствами среды программирования
Delphi и разработка
в ней простейших граф
ических программ.
2. Домашнее задание
Изучить 9 раздел конспекта лек
ций, описывающий средства черче
ния и рисования в
форме.
Ознакомиться с описанием и заданием на лабораторную работу.
3. Основные понятия и приемы
Когда пользователь нажимает одну
из кнопок
мыши, указатель кото
рой находится над
формой (или над ком
понентом), Windows посылает при
ложению несколько сообщений. Для
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
140
написания кода, откликающегося на
эти сообщения, Delphi определяет несколько событий.
Основных событий
два: OnMouseDown, которое происх
одит
при нажатии одной из кнопок
ши, и OnMouseUp, которое происходит при освобождении кнопки.
Еще одно важное системное сооб
щение связано с перемещением мы
сообщение
OnMouseMove. Событие
OnClick также доступно и в фор
ме. Его основной смысл состоит в
том, что левая кнопка мыши нажимается
и отпускается над одним и тем же окном или
компонентом. Однако в период
между этими двумя действиями курсор мо
жет переместиться
за пределы ок
на или компонента, причем левая кноп
ка мыши будет удерживаться нажа
той.
Если
вы в определенной позиции на
жмете кнопку мыши, а затем пере
местите мышь в другое
место и отпустите кнопку, то щелчок не произойдет.
В этом случае окно получает только сообщение о наж
атии, несколько сооб
щений о
перемещении и сообщение об освобождении.
События, связанные с мышью
Метод, соответствующий событию
OnMouseDown
имеет
несколько
параметров
procedure TForm1.FormMouseDown
(Sender : TObject ; Button : TMouseButton ;
Shift : TShiftState ; X,Y : Integer ) ;
Кроме обычного параметра Sender, здесь при
сутствуют еще четыре:
1) Button
показывает, какая из трех кнопок мыши была нажата. Возмож ные значения:
mbRight, mbLeft, mbCenter.
2) Shift
показывает, какие влияющие на мышь клавиши были нажаты при
возникновении события. Такой клавишей может быть Alt,
Ctrl или Shift,
нажатая вместе с
самой кнопкой мыши. Данный параметр имеет тип
множества, т.к. несколько клавиш могут
быть нажаты одновременно. Это
означает, что при анализе условия вы должны применять не
проверку на
равенство, а оператор in.
3) X и Y
оказывают координаты п
озиции мыши относительно клиент
ской области.
3.2. Рисование в форме
Canvas (холст)
это область в форме для рисунка и многих других
графических компонентов. Чтобы получ
ить доступ к пикселям формы, ис
пользуйте
свойство формы Canvas и
свойство Pixels для Canvas. Свойство
Pixels
это двумерный
массив, соответ
ствующий цветам отдельных пиксе
лов в Canvas. Canvas.Pixels[10,20]
соответствует цвету пикселя, кото
рый на
ходится на 10 пикселов правее и на 20 пи
кселов ниже
точки отсчета. Обра
щайте
сь с массивом пикселов как с люб
ым другим свойством; чтобы
изме
нить цвет пикселя, присвойте ему новое значение. Чтобы определить цвет
пикселя,
прочитайте значение.
Этот класс создает «канву», на которой можно рисовать чертежными
инструментами
пером, ки
стью и шрифт
ом. Объекты класса TСanvas авто
матически создаются для всех
видимых компонентов, которые должны
уметь нарисовать себя. Они инкапсулируют объекты
Font, Pen
, Brush, а так
же многочисленные методы, использующие эти объекты.
Каждое свойство Canvas и
меет воо
бражаемое перо для рисования ли
ний и контуров.
Свойство Pen (перо) опред
еляет цвет и размер линий и гра
ниц фигур. Свойствами пера
являются его цвет, размер (если это сплошная
линия) или стиль. Работая с пером, вы можете
прочитать (но не изменить)
го текущую позицию (свойство PenPos)
. Позиция пера
определяет исход
ную точку следующей линии, которую
программа может нарисовать с
мощью метода LineTo. Для изменения позиции вы можете применить метод
MoveTo канвы.
Свойство Brush (кисть) определяет цвет о
черченной поверхности.
Кисть используется для закрашивания замкнутых фигур. Свойствами кисти
являются ее
цвет, стиль и иногда растровое изображение.
Свойство Font определяет шрифт, который используется методом
холста TextOut для
написания текста в форме. Ш
рифт имеет имя, размер,
стиль, цвет и т.п.
3.3. Черчение и рисование в системе Windows
Черчение
вы обращаетесь к канве и вызываете некоторые ее методы.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
141
Поскольку изображение не сохраняется, форма может частично или це ликом потерять
свое содержимое (пр
и закрыт
ии окна формы другим ок
ном или при уменьшении размера окна
формы ).
Рисование
это технология, которая
позволит приложению перерисовы
вать всю ее
поверхность при любых возможных условиях.
Для вызова перерисовки можно использовать методы Invalidat
e, Up
Date, ReFresh и
Repaint.
4. Порядок выполнения работы
Задание № 1
1. После запуска DELPHI необходимо
создать форму (если она не соз
дана
автоматически) с помощью меню File
New Application. Далее
необходимо создать свою папку,
в которой нужно сохранить
проект
и модуль.
2. Поместить в форму меню Color (н
а странице Standart Палитры Ком
понентов есть
объект MainMenu) c командами PenColor и BrushColor,
которые будут соответственно
менять цвет пера и кисти с помо
щью стандартной диалоговой панели (рис. 5.1).
Рис. 5.1. Размещение меню в форме
3. В форме реализовать согласно варианту индивидуального задания
рисование
окружностей, эллипсов и прямоугольников различных
размеров и цветов с помощью мыши,
используя свойство Canvas
формы.
5. Варианты индивидуальных
заданий
Вариант 1
Реализовать рисование так, чтобы по нажатию мыши (щелкая левой
кнопкой и
удерживая ее при перемещени
и мыши по горизонтали и вертика
ли) рисовался
эллипс
нужного
размера и ц
вета, а используя ту же техноло
гию и удерживая клавишу SHIFT, можн
о было
рисовать
прямоугольники
обходимого размера и цвета.
Вариант 2
Реализовать рисование так, чтобы по нажатию мыши (щелкая левой
кнопкой и,
удерживая ее при перемещени
и мыши по горизонтали и вертика
ли) рисовалась
окружность
произвольного радиуса и цве
та, а используя ту
же технологию и удерживая клавишу ALT,
можно было рисовать
отрезки
различной длины и цвета.
Вариант 3
Реализовать рисование так, чтобы по нажатию мыши (щелкая левой
кнопкой и
удерживая ее при перемещении мыши по горизонтали и
вертика
ли)
рисовалась
окружность
произвольног
о радиуса, а щелкая правой кноп
кой мыши и удерживая ее, можно было
нарисовать
эллипс
любого размера и
цвета.
Вариант 4
Реализовать рисование так, чтобы по нажатию мыши (щелкая левой
кнопкой и
удерживая ее при перемещени
и м
ыши по горизонтали и вертика
ли) рисовались
отрезки
произвольной длины и цвета, а используя ту же
технологию и удерживая клавишу CTRL,
можно было рисовать
прямоуголь
ники
различного размера и цвета.
Вариант 5
Реализовать рисование так, чтобы по нажатию мыши
(щелкая левой
кнопкой и
удерживая ее при перемещени
и мыши по горизонтали и вертика
ли) рисовалась
окружность
произвольног
о радиуса, а щелкая правой кноп
кой мыши и удерживая ее можно было
нарисовать
квадрат
любого размера
и цвета.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
142
5.1. Некоторые подсказки дл
я реализации этой задачи
Один из вариантов экрана, полученн
ый после работы программы, пред
ставлен на рис.
Рис. 5.2. Результат работы программы
1. Запишите следующий код для события OnMouseDown:
if Button = mbLeft then
begin
Center.X := X;
Center.Y
:= Y;
if ssShift in Shift then
Circle := False
else
Circle := True;
end;
Поле
формы
Circle
типа
Boolean
определяет
вид
фигуры
Значения коор
динат центра
фигуры записываются в поля формы Center типа TPoint. Это
будет
выглядеть
так
var
Form1: TForm1;
Center
, Radius: TPoint;
Circle: Boolean;
2. Запишите следующий код для события OnMouseUp :
Radius.X := abs(Center.X
X);
Radius.Y := abs (center.Y
Y);
if Circle then
Canvas.Ellipse(Center.X
Radius.X, Center.Y
Radius.Y, Center.
X+Radius.X, Center.Y+Radius.Y)
else
Canvas.Rectangle(Center.X
Radius.X, Center.Y
Radius.Y, Center.
X+Radius.X, Center.Y+Radius.Y);
3. Запишите следующий код для события OnMouseMove:
Caption: =Format ('
Координаты
: x=%d, y=%d ' , [X, Y]);
Запустите приложение. Если все сде
лано правильно, то вы
будете на
блюдать изменение
координат в заголовке формы при продвижении мыши
(рис. 5.3); сможете рисовать
окружности
и эллипсы нужного размера (щел
кая кнопкой и удерживая ее при переме
щении
мыши по горизонтали и вер
тикали); сможете рисовать прямоугольник н
ужного размера,
используя ту
же технологию и удерживая клавишу Shift.
Рис. 5.3. Вывод координат в заголовке
адание № 2
Начиная с оператора if, код для события OnMouseUp перенести в код
для события
OnPaint.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
143
1. В код для события OnMouseUp вставить в конце
вызов метода Invalidate
( который
вызывает косвенно мето
д FormPaint, связанный с событи
ем OnPaint). Это будет выглядеть так:
begin
Radius.X:=abs(Center.X
X);
Radius.Y:=abs(Center.Y
Y);
Invalidate;
end;
2. Запустить приложение. При пра
вильном выполнении в
сех инструк
ций, в форме будет
рисоваться только одна фигура (рис. 5.4).
Рис. 5.4 Нарисована только одна фигура
3. Выполните первое задание для компонента PaintBox.
На странице System Палитры Компонентов есть объект
TPaintBox, ко
торый можно
использовать
для построения приложений типа графического
редактора или, например, в
качестве места построения графиков. Никаких
ключевых свойств, кроме Canvas, TPaintBox
не
имеет, собственно, этот объ
ект является просто канвой для рисования
. Важно, что координаты
указ
ате
ля мыши, передаваемые в обработчики соответствующих событий
(OnMouseMove и
др.), являются относительными, т.е. это смещение мыши
относительно левого верхнего угла
объекта TPaintBox, а не относительно
левого верхнего угла формы.
4. Изучите возможности ко
мпонента Shape.
На странице Additionally Палитры Компонентов есть объект TShape.
TShape
простейшие графические объекты на форме типа круг, квадрат
и т.п. Вид
объекта указывается в свойстве Shape. Свойство Pen определяет
цвет и вид границы объекта.
Brush
задает цвет и вид заполнения объекта.
Эти свойства можно менять как во время
дизайна, так и во время выполне
ния
программы.
Задание № 3
Постройте график функции, значения
которой вы рассчитывали в лабо
раторной работе
№ 1.
6. Результаты работы
В результате в
ыполнения лаборатор
ной работы студент должен проде
монстрировать
преподавателю готовые проекты графических программ,
файлы форм и исходный код
модулей.
Практическая работа №6.
«Обработка файлов в среде
Delphi
Задание 1:
Создайте приложение, которое созда
ет текстовый файл text1.txt и записывает в него
текст, введенный пользователем в окно Edit, после чего закрывает файл
Решение:
Создайте
форму и задайте для ее свойства Caption значение «Создание файла и вывод в него текста».
Разместите на форме компоненты
Edit1, Labbel1, Button1, как показано на рис.
6.1. Задайте значения для свойства
Label1. Caption
«Введите текст», Button1. Caption
«Сохранить». Выровняйте компоненты и зафиксируйте их
положение на форме.
Сохраните
файлы модуля под именем
main
и проект
а под именем
TextEditFile
в папке Обработка
текстовых файлов.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
144
Рис.
6.1 Пример формы проекта
Создайте процедуру
обработки события кнопки «Сохранить», введите в окне Редактора кода
следующий текст:
procedure TForm1. Button1Click
(Sender: TObject);
TextFile
{описание файловой переменной}
begin
AssignFile
, '
text
txt
');
{связь файловой переменной с файлом}
Rewrite
{создать новый файл}
Writeln (f, Edit1. Text);
записать
файл
CloseFile(f);
end;
закрыть
файл
Запус
тите
приложение и введите в окно Edit следующее предложение
«Мой первый пример текста».
Щелкните мышкой на кнопке «Сохранить» и закройте окно приложения.
Откройте
окно Проводника
Windows
папку Обработка текстовых файлов, в которой сохранены файлы
проекта
. В списке файлов этой папки находится вновь созданный файл text1.txt. Дважды щелкните левой кнопкой
мыши на имени файла text1.txt. Убедитесь, что это
тот самый текст, который введен в окне приложения.
Откроется окно редактора Блокнот с этим файлом. Закр
ойте окно редактора Блокнот и Проводник.
Задание 2:
Создайте приложение, открывающее текстовый файл для чтения и считывающие из него текст
в окно Memo. Перед открытием файла следует проверить его наличие, в случае его отсутствия должно
выводиться соответст
вующее сообщение.
Решение:
Создайте новое приложение
(проект). Создайте форму «Чтение текста из файла в окно». На форме
разместите компоненты Memo1, Label1, Button1, как показано на рис.
6.2. Задайте значения свойств Label1.
Caption
«Текст из файла», But
ton1. Caption
«Прочитать текст из файла».
Для удаления
текста Memo1 из компонента выберите в окне Инспектора объектов объект Memo1, затем
на странице Свойства выберите свойсво Lines и в поле со значением
Strings
произведите двойной щелчок. После
этого в
окне StringListEditor удалите текст и щелкните мышью на кнопке ОК.
Для обеспечения
возможности просмотра в окне Memo1 длинных текстов с использованием
вертикальной полосы прокрутки в окне Инспектора объектов выберите свойство ScrollBars значение ssVertical
.
Выровняйте компоненты и зафиксируйте их положение на форме.
Создание файла и вывод в него текста
Введите текст
Сохранить
Чтение текста из файла в ок
Прочитать текст из файла
Текст из файла
Мой первый пример текста
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
145
Рис.
6.2 Пример формы приложения
Создайте процедуру
обработки события кнопки «Прочитать текст из файла», отредактируйте текст
процедуры следующим образом:
procedur
e TForm1. Button1Click (Sender: TObject);
var f: TextFile;
ch: Char;
begin
AssignFile (f, 'text1.txt');
{$I
Reset(f);
{$I+}
if IOResult=0 then begin
while not Eof(f) do
begin
Read (f, ch);
Memo1. Text:=Memo1. Text+ch;
end;
CloseFile(f);
end else
ShowMess
age ('
Нет
такого
файла
');
end;
Сохраните
файл модуля под именем main1, а файл проекта
под именем TextMemoFile1 в папке
Обработка текстовых файлов. Откомпилируйте и запустите приложение, проверьте его работу.
Задание 3
: Создайте приложение, открывающее те
кстовый файл для дополнения и затем добавляющее в
него введенный текст.
Решение:
Создайте
новый проект, задайте название формы «Добавление текста в файл». На форме разместите
компонентыButton1,2, Memo1, Label1,2, Edit1 как показано на рис.
6.3. Присвойте з
начения свойствам Label1.
Caption
«Текст из файла», Button1. Capton
«Прочитать текст из файла», Label2. Caption
«Добавляемый
текст», Button2. Caption
«Добавить текст в файл». Удалите текст из компонентов Memo1, Edit1. Установите
линейку вертикально
й прокрутки для обеспечения возможности просмотра длинных текстов в компоненте
Memo1. Выровняйте компоненты и зафиксируйте их положение на форме.
Рис.
6.3 Пример формы приложения
Создайте
обработчик нажатия кнопки «Прочитать т
екст из файла» самостоятельно. Для кнопки
«Добавить текст в файл» запишите следующий код события:
Procedure TForm1. Button2Click (Sender: TObject);
Var
F: TextFile;
Добавление текста в файл
Прочитать текст из файла
Текст из файла
Добавить текст в файл
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
146
Begin
AssingFile (f, ‘text1.txt’);
Append (f);
Writeln (f, Edit1. Text
CloseFile
Сохраните файл
модуля под именем Main2, а файл проекта
под именем TextMemoFile2 в папке
Обработка текстовых файлов.
Запустите
и проверьте работу приложения.
Задание 4:
Создайте приложение, которое открывает текстовый файл с использованием метода
Open
Dialog, считывает текст из него в объект Memo, затем сохраняет измененный текст в файл с использованием
метода Save
Dialog
и выводит текст на печать, используя метод
PrintDialog
Решение:
Создайте
новый проект и сохраните в папке «Диалоговая панель». На фор
ме разместите компоненты
Memo1, Button1,2,3. Кнопки назовите «Сохранить», «Открыть», «Печать» соответственно. Задайте компоненту
Memo1 вертикальную полосу прокрутки и удалите текст. Выровняйте и зафиксируйте компоненты на форме (см.
рис.
6.4).
Рис.
6.4 Форма проекта «Диалоговая панель»
Выберите
в палитре компонентов страницу Dialog и поместите на форму компоненты OpenDialog,
SaveDialog, PrintDialog. Так как они
не являются визуальными
компонентами, то их можно поместить в любо
место формы.
Задайте
для свойства SaveDialog. Title значение «Сохранить текстовый файл», которое будет
отображаться в заголовке диалогового окна сохранения файла. Чтобы при сохранении файла в окне диалога
обеспечить выбор типа файла, выберите свойство Fi
lter и произведите двойной щелчок в списке значений.
Откроется окно FilterEditor. Задайте фильтры для выбора типа и расширения файла:
Filter Name
Filter
Текстовый (*.txt)
⨮琀硴
Текстовый (*.doc)
⨮摯挀
И щелкните по кнопке
ОК
, затем установите расширен
ие
*.txt
по умолчанию
задайте свойству
SaveDialog1. FilterIndex значение 1.
Задайте
для свойства
Open
Dialog1. Title
«Открыть текстовый файл». Чтобы реализовать выбор типа
файла при открытии файла в окне диалога, на странице Свойства произведите двойной
щелчок по списку
значений свойства Filter. В окне Filter Editor задайте фильтры для выбора типа и расширения файла:
Filter Name
Filter
Текстовый (*.txt)
⨮琀硴
Все файлы (*.*)
И щелкните по кнопке ОК, затем установите расширение *.txt по умолчанию
задайте свойству
Open
Dialog1. FilterIndex значение 1.
Пример с диалоговыми окнами
Сохранить
Открыть
Печать
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
147
Чтобы в диалоговом окне Печать
включить возможность выбора диапазона печатаемых страниц и
печати выделенного фрагмента, задайте для свойств
PrintDialog
1.
Options
poPageNums
PrintDialog
1.
Options
Selection
значение
True
После этого в раздел описания модулей добавьте в список
USES
модуль
PRINTERS
, чтобы не вводить
свою переменную. Этот модуль позволяет управлять процессом печати.
Отредактируйте
раздел описания переменных:
Var
Form1: TForm1;
FName:
string;
TextFile
string
Создайте процедуры
обработки событий трех кнопок, следующим образом:
сохранение:
procedure TForm1. Button1Click (Sender: TObject);
begin
fName:='Text1';
SaveDialog1. FileName:=FName;
if SaveDialog1. Execute then begin
fNam
e:=SaveDialog1. FileName;
case SaveDialog1. FilterIndex of
1: fName:=fName+'.txt';
2: fName:=fName+'.doc';
end;
Практическая
работа №
аботы по базам данных в
Delphi
Цель работы:
Ознакомить с утилитой
Database
Desktop.
Усвоить процесс создания и редактирования таблиц с помощью
Database
Deskto
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
148
Database Desktop
это утилита, которая поставляется вместе с Delphi для интерактивной
работы с таблицами различных форматов локальных баз данных
Paradox и dBase, а также
SQL
серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием S
QL Links).
Исполняемый файл утилиты называется
DBD32.EXE
. Для запуска Database Desktop просто
дважды щелкните по ее иконке.
Запуск
Database
Desktop:
Запустить
Delphi
В меню
Delphi
выбрать раздел
Tools
В появившемся списке вы
брать строку
Database
Desktop
Щелкнуть по кнопке
Пуск
Из главного меню выбрать строку
Программы
В появившемся списке выбрать строку
Delphi
В следующем списке выбрать строку
Database
Desktop
После запуска
Database
Desktop
на экране появится окно:

Создание таблиц в
Database
Desktop:
Запускаем программу
Database Desktop;
В появившемся окне выбираем:
File►New►Table.

Формат таблицы выбираем
Paradox
После этого появится окно создания таблицы, в котором
можно
определить поля таблицы и их тип:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
149

По умолчанию сразу после открытия окна в правой его части в списке
Table
properties
выбран пункт
Validity
Chekcs
, что позволяет контролировать содержимое полей. С
помощью флажка
Required
Fields
можно потребовать обяз
ательного заполнения поля при
вводе новой записи. Также можно контролировать минимальное и максимальное значение
числового поля в строках
Minimum
Value
Maximum
Value
. В
троке
Default
Value
можно
указать значение поля по умолчанию
при вводе новой записи
значение в это поле
поместит
.С помощью строки
Picture
можно задать шаблон для автоматического
форматирования значения поля. Например, если задан шаблон (###)###
#### и в поле введена
строка 9054005647, она будет автоматически преобразована к виду (905
)400
Кнопки предназначены для:
Borrow
осуществляет копирование структуры таблицы из другой таблицы
Save
сохраняет изменения в структуре таблицы
Cancel
выход без сохранения
Help
вызов справки
Чтобы определить структуру таблицы в этом
окне необходимо заполнить
следующие графы:
Field Name
Имя
поля

Type
Тип
поля
Вызывает список допустимых типов, щелчком правой кнопки мыши
или клавишей пробел.
Size
Размер.
Определяет размер поля. Не все типы полей им
еют размер. Большинство
типов имеют стандартный размер, который не может быть изменен. Размер в основном
меняется у строковых типов (Alpha), бинарных (Binary) и др.
Key
Ключ
. Двойной щелчок мышью определяет ключевое поле. Ключевыми могут
быть т
олько первые поля, то есть второе поле сможет быть ключевым только вместе с первым.
Типы полей формата Paradox
lpha
строка длиной 1
255 байт, содержащая любые печатаемые
символы
甀浢攀爀
числовое поле длиной 8 байт, значение которого может быть
положительн
ым и отрицательным. Диапазон чисел
от 10
308
до
с 15 значащими цифрами
⠀䴀潮攀礩
числовое поле, значение которого может быть положительным и
отрицательным. По умолчанию, является форматированным для
отображения десятичной точки и денежного знака
桯爀琀
числовое поле длиной 2 байта, которое может содержать только
целые числа в диапазоне от
32768 до 32767
䰀潮最
湴攀来爀
числовое поле длиной 4 байта, которое может содержать целые
числа в диапазоне от
2147483648 до 2147483648
⠀䉃䐩
числовое поле, с
одержащее данные в формате BCD (Binary Coded
Decimal). Скорость вычислений немного меньше, чем в других
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
150
числовых форматах, однако точность
гораздо выше. Может
иметь 0
32 цифр после десятичной точки
ate
поле даты длиной 4 байта, которое может содержать
дату от 1
января
9999 г. до нашей эры
до 31 декабря
9999 г. нашей эры.
Корректно обрабатывает високосные года и имеет встроенный
механизм проверки правильности даты
ime
ihe_�\j_f_gb�^ebghc���[ZclZ��kh^_j`bl�\j_fy�\�fbeebk_dmg^Zo�
hl�ihemghqb�b�h]jZgbq_
gh����qZkZfb
(Timestamp)
h[h[s_ggh_�ihe_�^Zlu�^ebghc���[Zcl�
kh^_j`bl�b�^Zlm�b�\j_fy
emo
ihe_�^ey�ojZg_gby�kbf\heh\��kmffZjgZy�^ebgZ�dhlhjuo�[he__�
����[Zcl��Fh`_l�bf_lv�ex[mx�^ebgm��Ijb�wlhf�jZaf_j��
mdZau\Z_fuc�ijb�kha^Zgbb�lZ[ebpu��hagZqZ_l�dhebq_kl
\h�
kbf\heh\��khojZgy_fuo�\�lZ[ebp_�� �
240)
остальные символы
сохраняются в отдельном файле с расширением .MB
ormatted Memo
ihe_��ZgZeh]bqgh_��0�H�P�R��k�^h[Z\e_gb_f�\hafh`ghklb�aZ^Z\Zlv�
rjbnl�l_dklZ��LZd`_�fh`_l�bf_lv�ex[mx�^ebgm��Ijb�wlhf�
jZaf_j��mdZau\Z_
fuc�ijb�kha^Zgbb�lZ[ebpu��hagZqZ_l�dhebq_kl\h�
kbf\heh\��khojZgy_fuo�\�lZ[ebp_�� �
240)
остальные символы
сохраняются в отдельном файле с расширением .MB. Однако,
Delphi в стандартной поставке не обладает возможностью
работать с полями типа Formatted Memo
raphic
ihe_��kh^_j`Zs__�]jZnbq_kdmx�bgnhjfZpbx��Fh`_l�bf_lv�
ex[mx�^ebgm��Kfuke�jZaf_jZ�
такой же, как и в Formatted
Memo. Database Desktop “умеет” создавать поля типа Graphic,
однако наполнять их можно только в приложении
ihe_��kh^_j`Zs__��2�/�(
^Zggu
_�� �2�E�M�H�F�W��/�L�Q�N�L�Q�J��D�Q�G��(�P�E�H�G�G�L�Q�J�\f�
h[jZau��a\md��\b^_h��^hdmf_glu�
которые для своей обработки
вызывают создавшее их приложение. Может иметь любую длину.
Смысл размера
такой же, как и в Formatted Memo. Database
Desktop “умеет” создавать поля типа OLE, о
днако наполнять их
можно только в приложении. Delphi “напрямую” не умеет
работать с OLE
полями, но это легко обходится путем
использования потоков
ogical
ihe_�^ebghc���[Zcl��dhlhjh_�fh`_l�kh^_j`Zlv�lhevdh�^\Z�
agZq_gby�
(true, истина) или
(false, лож
ь). Допускаются
строчные и прописные буквы
(Autoincrement)
ihe_�^ebghc���[ZclZ��kh^_j`Zs__�g_j_^Zdlbjm_fh_�� �U�H�D�G
only)
agZq_gb_�lbiZ
long integer
. Значение этого поля автоматически
увеличивается (начиная с 1) с шагом 1
это очень удобно для
создания ун
икального идентификатора записи (физический
номер записи не может служить ее идентификатором, поскольку
в Парадоксе таковой отсутствует. В InterBase также отсутствуют
физические номера записей, но отсутствует и поле Autoincrement.
Его с успехом заменяет вс
троенная функция
Gen_id
, которую
удобней всего применять в триггерах)
inary
ihe_��kh^_j`Zs__�ex[mx�^\hbqgmx�bgnhjfZpbx��Fh`_l�bf_lv�
ex[mx�^ebgm��Ijb�wlhf�jZaf_j��mdZau\Z_fuc�ijb�kha^Zgbb�
lZ[ebpu��hagZqZ_l�dhebq_kl\h�kbf\heh\��khojZgy_fuo�\�lZ[ebp_�
остальные символы сохраняются в отдельном файле с
расширением .MB. Это полнейший аналог поля BLOb в InterBase
tes
kljhdZ�pbnj�^ebghc��
����[Zcl��kh^_j`ZsZy�ex[u_�^Zggu_
N�ML����
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
151
Создадим таблицу с данными о студентах. Укажем такие данные, как: ФИО, дата
ждения,
на основании какого приказа студент принят в университет, номер зачетки, специальность,
курс, стипендия. Во всех текстовых полях, необходимо указать размер.

Созданную таблицу сохраняем под названием
Student.db
и закрываем окно создания таблиц.
Иногда может понадобиться отредактировать уже созданную таблицу для того, чтобы
добавить, изменить или удалить некоторые поля, изменить свойства таблицы.
Редактирование таблицы:
Определение вторичных индексов.
Открыть таблицу
udent.db
File
►Open►Table)
Из меню
Table
выбрать пункт
Restructure
. Откроется окно редактирования полей
таблицы.
В выпадающем списке
Table properties
выбрать
Secondary Indexes
и нажать
кнопку
Define
В окне
Define
Secondary Ind
определяются вторичные индексы:

С помощью флажков группы
Index
options
можно определить следующие особенности
индекса:
Unique
индекс будет содержать уникальные значения;
Maintained
индексные поля сортируются по возрастанию з
начений;
Case
sensitive
индекс чувствителен к регистру букв в текстовых полях;
Descending
индексные поля сортируются по убыванию значения.
Выбрать
«SFio»
из списка
Fields
и нажать кнопку с изображенной стрелкой
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
вправо.
В списке
Indexed fields
(индексированные поля) появится
«SFio».
То же самое
проделать с полями
«SSpec»
«SKurs».
Закрыть
окно
“Define Secondary Index”
В появившемся окне ввести имя индекса
IDFio
и нажать
"OK"

Теперь, так как на факультете всего две специальности, то можно переопределить тип
поля
«SSpec»
. Для работы будет гораздо удобнее, чтоб это поле было типа
Logical
Навести курсор на тип поля
«SSpec»
и написать тип поля
«L»
Определи
м языковой драйвер.
Это следует делать для правильного отображения
русскоязычного текста.
Открыть окно редактирования полей таблицы
Student.db.
В выпадающем списке
Table properties
выбрать
Table
Language
и нажать кнопку
Modify
В появившемся окне выбрать из списка
PdoxANSICyrillic
Сохранить таблицу.
Для логического типа значение по умолчанию зададим
False
Открыть таблицу
File►
Open►
Table
Выбрать
Table►
Editdata
или нажать клавишу
Создать несколько записей.
Создание псевдонима:
Псевдоним указывает местонахождение файлов БД и представляет собой специальное
имя для обозначения каталога. Использование псевдонимов существенно облегчает перенос
файлов БД в другие каталоги
и на другие компьютеры. При этом не требуется изменять
приложение, которое осуществляет доступ к таблицам БД. Если в приложение
местонахождения таблицы указано с помощью псевдонима, то после перемещения БД для
обеспечения работоспособности приложения дост
аточно изменить путь, на который указывает
псевдоним. Если же в приложение путь к БД указан в явном виде, то есть без псевдонима, то
после перемещения БД нужно перемещать само приложение
вносить изменения в исходный
код
заново
его
транслировать.
Регистрация псевдонима:
Воспользуемся приложением
SQL
Explorer, запускаемым
командой
Database►Explore.
В левой части окна приводится список всех
зарегистрированных в системе
BDE
баз данных, в правой
свойства текущей базы,
выбранной в списк
Создадим псевдоним для базы данных. Для этого выполним команду
Object►New
и в
диалоговом окне выбора драйвера укажем значение
Standart
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
153

После щелчка на кнопке ОК в списке появится новый элемент, помеченный зеленым
треугольником

По умолчанию формируется имя базы данных
Standard1
, изменим его на
Student
Убедимся, что в свойствах
Default
Driver
(Драйвер по умолчанию) стоит значение
Paradox. В свойстве
Path
укажем каталог, в
котором хранится наши таблица.
Теперь зарегистрированную в системе
базу сохраним, выбрав для того
Apply
контекстном меню объекта
Student.
На вопрос о необходимости сохранения изменений нажать
Yes
. Теперь таблица
доступны из среды
под именем
Student.
Закройте
Explorer
Практическая работа № 8.
Основные компоненты доступа и управления к базам
данных.
Цель работы:
Изучить начальные этапы создания приложения для работы с базами данных в
среде
Delphi:
ознакомить с компонентам
и доступа к БД:
TTable,
TDataSource;
ознакомить с компонентами управления БД:
TDBGrid,
TDBNavigator.
Усвоить ввод и редактирование текста.
Методика создания приложения для работы с базой данных ничем не отличается от методики
создания
обычной программы: к форме добавляются необходимые компоненты,
устанавливаются значения свойств компонентов, разрабатываются необходимые процедуры
обработки событий.
Приложение работы с базой данных должно содержать компоненты, обеспечивающие доступ
к дан
ным, возможность просмотра и редактирования содержимого полей. Компоненты
доступа к данным находятся на вкладке
Data
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
154
Access
палитры компонентов, а компоненты отображения данных
на вкладке
Data
Controls.
Основные компоненты доступа и управления к б
азам данных:
Компоненты доступа к базам данных

TTable
обеспечивает взаимодействие с таблицей БД, т.е.
компонент
TTable
указывает, откуда брать данные и какие поля будут составлять набор
данных.
Компонент
TTable
имеет следующие основные свойства:
atabaseName
база данных
TableName
имя таблицы
Active
активация таблицы (значение
True
активирует ее)
Свойство
DatabaseName
определяет базу данных, в которой находится таблица. Это
свойство может содержать:
псевдоним (псевдоним)
путь
для локальных БД
путь и имя файла базы данных для
Local InterBase
локальный псевдоним, определенный через компонент
TDatabase
Свойство
TableName
определяет имя таблицы базы данных.
TDataSource
определяет связь между базой данных и компонентами
управления
данными, то есть компонент
TDataSource
является промежуточным звеном между
компонентом
Table1
, соединенным с реальной БД и визуальными
компонентами
DBGrid1
DBNavigator1
, с помощью которых пользователь взаимодействует с
таблицей.
В большинстве сл
учаев, все, что нужно сделать с
DataSource
это указать в
свойстве
DataSet
соответствующий
TTable
. Затем, у визуального компонента
вроде
DBGrid
или
DBNavigator
в свойстве
DataSource
указывается
TDataSource
, который
используется в настоящее время.
Компонен
ты управления данными с палитры
DataContorls
TDBGrid
отображает
содержимое таблицы БД в виде сетки, в котором столбцы соответствуют полям, строки
записям таблицы
Компонент имеет следующие свойства:
DataSource
содержит ссылку на компонент типа
DataSource
, служащий
источником данных;
EditorMode
если содержит
true
, пользователь может редактировать
ячейку после нажатия клавиши
или
Enter
. Игнорируется, если
свойство
Option
включает
значение
goEditing
или
goAlwaysShowEditor
Option
определя
ет вид и поведение компонента;
dgEditing
разрешает изменение набора данных;
dgAlwaysShowEditor
автоматически переводит столбец в режим редактирования при
его выделение;
dgTitles
показывает заголовки столбцов;
dgIndicator
показывает индикат
ор текущей строки в самом левом фиксированном
столбце;
dgColumnResize
разрешает пользователю вручную изменять ширину столбцов;
dgColLines
показывает разделяющие вертикальные линии;
dgRowLines
показывает разделяющие горизонтальные линии;
dgTabs
азрешает переход от столбца к столбцу с помощью клавиши
Tab
dgRowSelect
разрешает выделение цветом всей выбранной строки;
dgAlwaysShowSelection
выделение текущей строки сохраняется, если компонент теряет
фокус ввода;
dgConfirmDelete
удаление строки
должно подтверждаться;
dgCancelOnExit
если пользователь вставил пустую строку и покинул ее, она не
помещается в набор данных;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
155
dgMultiSelect
разрешает множественный выбор строк.
TDBNavigator
осуществляет перемещение и редактирование записей (вид и
азначение кнопок указаны в пункте
DBNavigator
). С помощью
свойства
DataSource
компонент
связывается с нужным источником данных
ТDataSource
это все, что необходимо для его нормальной работы. Свойство
ConfirmDelete
управляет
отображением диалогового окна с
просьбой подтвердить удаление записи
(значение
True
этого свойства выводит окно).
Создание приложения:
Запустить
Delphi.
В свойстве
Caption
изменить имя формы на
Студенты
Установить на форму компоненту
TTable
Определить следующие свойства компоненты
able1
определить псевдоним
выбрать в свойстве
DatabaseName
инспектора объектов псевдоним «Student
задать имя таблицы
выбрать в свойстве
TableName
таблицу
Student
активизировать таблицу
установить в свойстве
Active
значение
true
(это будет
возможно
после выполнения пункта 4)
Разместить на форму компоненту
DataSource
закладки
DataAccess
и в
свойстве
DataSet
инспектора объектов выбрать компоненту
Table1
Расположить на форме компоненту
DBGrid
с закладки
DataControls
и в
свойстве
DataSource
выбра
DataSource1
Если вы внесли несколько записей, то форма
Студенты
примет вид:



Редактор полей:
Для управления отображением данных таблицы используют специальный редактор
полей
EditorField.

Для вызова
EditorField
следует:
Дважды щелкнуть по
Tabl
Для открывшегося окна вызвать контекстное меню и выбрать пункт
Add All Field, если
необходимо добавить все поля таблицы.
AddField
для выбора отдельного поля.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
156
Редактор полей имеет следующие свойства:
DisplayLabel
задает имя полю
DisplayWidth
опред
еляет количество символов, которое будет выводится в поле;

Определим свойства для полей таблицы
Student.db
Выбрать в окне редактора полей таблицы поле
SFio
и в
свойстве
DisplayLabel
инспектора объектов изменить
SFio на
ФИО. Выбрать
свойство
DisplayWi
dth
и заменить размер на
35.
Так же поменять свойства
других полей таблицы.
Для полей логического типа в свойстве
DisplayValues
можно написать варианты
для значений
True
False. В поле
SSpec
в этом свойстве написать «Математика;Физика» (без
пробела, раз
деляя «;»). Получиться как показано на рисунке.
Если возникнет необходимость можно скрыть любое поле, выбрав его и в
свойстве
Visible
инспектора объектов установив значение
false.
После выполненных действий сетка
DBGrid1
будет выглядеть так:

Ввод данн
ых:
Компоненты для организации доступа к таблицам БД позволяют выполнять
севозможные операции с наборами данных: добавлять или удалять записи, перемещаться по
ним. При этом следует иметь в виду, что в любой момент времени доступна для выполнения
конкретны
х действий только одна запись, называемая
текущей.
В этой лабораторной работе
рассматриваются наиболее часто используемые методы компоненты
Table.
Основные методы для организации доступа компоненты
Table:
Append
добавить новую запись в конец таблицы.
Del
Edit
перейти в режим редактирования. После этого можно изменять значения полей.
Insert
вставить новую строку в таблицу.
Post
принять все изменения.
Refresh
обновить информацию о данных.
UpdateRecord
обновить текущую
запись.
Откроем созданное приложение.
Разместим на форме три компоненты
SpeedButton
из палитры
Additional. Одна из
кнопок будет добавлять запись, другая
изменять данные в записи, третья
удалять. Назовем
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
157
их соответственно.

Создадим новую форму, которая будет вызываться нажатием кнопки
«Добавить»
. На
форме расположены 4 компоненты
Edit, компонент
компонент
CheckBox
и компонент
RadioGroup.

Текст процедуры для события
OnClick
кнопки
«Добавить»
на форме
Студенты:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Form2.
ShowModal; //
открывает
форму
Добавление
записи
end;
Текст
процедуры
события
OnClick
кнопки
форме
Добавление
записи


ocedure TForm2.Button1Click(Sender: TObject);
begin
Form1.Table1.Insert;
Form1.Table1.FieldByName('SFio').Text:=Edit1.Text;
Form1.Table1.FieldByName('SOsn').Text:=Edit2.Text;
Form1.Table1.FieldByName('SNom').Text:=Edit3.Text;
Form1
.Table1.FieldByName('SKurs').Text:=Edit4.Text;
Form1.Table1.FieldByName('SData').AsDateTime:=DateTimePicker1.Date;
if CheckBox1.Checked then
Form1.Table1.FieldByName('SStip').Text:='

else
Form1.Table1.FieldB
yName('SStip').Text:='
нет

нажатии
флажок
полю
SStip(
Стипендия
передается
значение
True,
противном
случае
вводится
передается
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
158
значение
False
case RadioGroup1.ItemIndex of
0: Form1.Table1.Fi
eldByName('SSpec').Text:='
Математика

1: Form1.Table1.FieldByName('SSpec').Text:='
Физика

end;
if form1.Table1.Modified
then form1.Table1.Post;
close;
Комметарий:
в строке
Form1.Table1.Insert
вызывается метод, который допускает вс
тавку
новой строки в таблицу, которая находится на форме «
Студенты
». Без вызова этого метода
дальнейшая работа по вставке записи в таблицу невозможна. Запись
Form1.
Table1.
FieldByName('SFio').Text:=Edit1.
Text
означает, что текст, который находится в
Edit
по нажатии кнопки будет перенесен в
таблицу на форме «
Студенты
» в новую запись в текстовое поле
ФИО
. Остальные записи в
процедуре работают аналогичным образом. Запись
form
Table
Modified
then
form
Table
Post
сохраняет
изменения
таблице
Close
закрывает форму «
Добавление записи
По нажатии кнопки
Cancel
осуществляется выход. То же и на форме «Реда
Текст процедуры для события
OnClick
при нажатии клавиши
«Удалить»
на
форме
Студенты
procedure TForm1.SpeedButton3Click(Sender:
TObject);
begin
Table1.Delete

//удаляет текущую запись в таблице
end;
Редактирование данных:
Компоненты, отражающие информацию, делятся на две категории
те, которые не
связаны с таблицами БД, и компоненты, связа
нные с таблицами и обменивающиеся с ними
информацией. В первую категорию входят обычные компоненты
Delphi. Компоненты второй
категории расположены на странице
DataControls
. Почти каждая из них имеет аналог среди
обычных компонент; основные отличия заключаю
тся в том, что они могут работать с
данными, хранящимися в БД. К этой группе относится компонента
DBEdit
, которая
используется для ввода текстовой однострочной информации.

Чтобы компонент
DBEdit
видел данные из поля таблицы, следует указать в сво
йствах:
DataSource
источник данных;
DataField
поле для редактирования.
Этот компонент с заданными уже свойствами может появиться автоматически при
перетаскивании имени поля из окна редактора полей
Создадим новую форму:
Редактирование зап
иси
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
159

В случае перетаскивания поля логического типа, на форме автоматически
устанавливается компонента
DBCheckBox
, что не всегда удобно.
Установим на форму компоненту
DBRadioGroup
с закладки
Data
Control
В свойстве
Dat
aSource
укажем
DataSource1
В свойстве
DataField
укажем
SSpec
Текст процедуры для события
OnClick
при нажатии клавиши
«Изменить»
на
форму
Студенты
begin
Form3.ShowModal //
вызов
Form3
end;
Текст процедуры для события
OnClic
при нажатии клавиши
«Сохранить»
на
форму
Редактирование
begin
if form1.Table1.Modified
then form1.Table1.Post;

все
изменения
таблице
сохраняются
close;
end;
Пользователь имеет возможность редактиро
вать записи в таблице напрямую. Чтобы это
предотвратить используется свойство компоненты
DBGrid
dgEditing
. Нужно выделить
DBGrid
и в свойстве
Options►
dgEditing
инспектора объектов поставить
false
Практическая работа № 9. Сортировка в базе данных.
Цел
и работы:
Ознакомиться с сортировкой записей в базе данных.
Поиск полей с помощью методов
Locate
Lookup
Сортировка:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
160
Порядок расположения записей в таблице БД может быть неопределенным. По
умолчанию записи не отсортированы или сортируются, например, д
ля таблиц
Paradox
по
ключевым полям, а для таблиц
dBase
в порядке их поступления в файл таблицы.
С отсортированными записями набора данных работать более удобно. Сортировка
заключается в упорядочивании записей по определенному полю в порядке возрастания и
ли
убывания содержащихся в нем записей.
Сортировка набора данных
TTable
выполняется автоматически по текущему индексу.
При смене индекса происходит переупорядочивание записей. Таким образом, возможна по
полям, для которых создан индекс. Для сортировки по
нескольким полям нужно создать
индекс, включающий эти поля.
Задать индекс, по которому выполняется сортировка записей, можно с помощью
свойств:
IndexName
указывается имя индекса, установленное при его создании;
IndexFieldName
указываются имена полей,
образующий соответствующий индекс.
Откроем приложение.
Добавим на форму компоненты
ComboBox
Button

В свойстве
Items
компоненты
ComboBox
запишем параметры сортировки:
Фамилия, Специальность, Курс, Дата рождения, Номер зачетки.
Условия сортировки за
даются вторичными индексами. То есть сортировка по
фамилии происходит по вторичному ключу
IDFio
так как в него первым входит поле
SFio
. Для
того, чтобы сортировка проходила по выбранным параметрам необходимо вхождение
соответствующих полей
в разные вторич
ные ключи.
Текст процедуры для события
OnClick
при нажатии кнопки
«Сортировка»
на
форме
Студенты
begin
Case ComboBox1.ItemIndex of
0: Table1.IndexFieldNames:='SFio'; //при
выборе
строки
«Фамилия»
//сортировка идет по вторичному индексу
IDFio
Table1.IndexFieldNames:='SSpec';
2: Table1.IndexFieldNames:='SKurs';
3: Table1.IndexFieldNames:='SData';
4: Table1.IndexFieldNames:='SNom';
end;
end;
Замечание:
во вторичный индекс
IDFio
входят поля:
SFio
SKurs,
SSpec
. То есть при
впадении фамилии сортировка идет уже по курсу и т.д.
Пример:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
161

Поиск:
Метод
Locate
ищет первую запись, удовлетворяющую критерию поиска, и если такая
запись найдена, делает ее текущей. В этом случае в качестве результата возвращается
значение
True
. Если
запись не найдена, возвращается значение
False
и курсор не меняет своего
положения.
function
Locate (
const
KeyFields:
String
const
KeyValues: Variant;
Options:
TLocateOptions):
Boolean;
Список полей, по которым ведется поиск, задается в параме
тре
KeyFields
, поля
разделяются точкой с запятой. Параметр
KeyValues
типа
Variant
указывает значение полей для
поиска. Если поиск ведется по одному полю, то параметр содержит одно значение,
соответствующие типу поля, заданного для поиска.
Параметр
Options
позволяет задать значение, которое обычно используется при поиске
строк. Этот параметр принадлежит к множественному типу
TLocateOptions
и принимает
комбинации следующих значений:
LoCaseInsensitive
регистр букв не учитывается;
LoPartial
Key
допускается частичное совпадение.
На форму добавить компоненту
Edit

Текст процедуры для события
OnChange
компоненты
Edit
на форме
Студенты
begin
table1.Locate('SFio',Edit1.Text,[loPartialKey]);
end;
Поиск записи по фамилии организован.
Регистр букв не учитывается.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
162
Метод
Lookup
находит запись, удовлетворяющую условию поиска, но не делает ее
текущей, а возвращает значения некоторых ее полей. Независимо от результата поиска записи
указатель текущей записи в НД не изменяется. В отличие от
метода
Locate
метод
Lookup
осуществляет поиск только на точное соответствие критерию поиска значения
поля поиска записи.
function
Lookup (
const
KeyFields:
String;
const
KeyValues: Variant;
const
ResultFields:
String
Variant;
В параметре
Res
ultFields
перечисляются поля, значения которых требуется получить в случае
успешного поиска. Тип результата
Variant
или вариантный массив.
Добавить на главную форму новую кнопку «Поиск».
Открыть новую форму и ввести компоненты как п
оказано на рисунке. Эта форма
вызывается нажатием кнопки поиска на главной форме.

Поиск будет происходить по фамилии введенной в компоненте
Edit1 после нажатия
кнопки на форме «Поиск методом
Lookup».
procedure
TForm
Button
Click
Sender
TOb
ject

var
LookupResult
Variant

begin
LookupResult
Form
Table
Lookup
SFio
',
Edit
Text
SData
SOsn
SNom
SSpec
SKurs
');

ищем
поля
Дата
рождения
//’Основание’, ’Номерзачетки’, ’Специальность’, ’Курс’
if VarIsArra
y (LookupResult) then
begin
Edit2.Text:=LookupResult[0]; //записывает
значения
Edit3.Text:=LookupResult[1]; //
искомых
полях
Edit4.Text:=LookupResult[2]; //
соответствующие
Edit5.Te
xt:=LookupResult[3]; //
компоненты
if Edit5.Text='False' then
Edit5.Text:='
Физика
поиск
полей
логического
типа

else Edit5.Text:='
Математика

Edit6.Text:=LookupResult[4];
end;
end;
Практическая
работа
Фильтрация данных в базе.
Ознакомиться
фильтрацией
записей
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
163
Фильтрацию можно отнести к одному из методов поиска. Потому что фильтрация
выбор из набора данных только тех записей, которые удовлетворяют конкретным условиям.
Например, можно указать отображение только запис
ей, в которых поле «
Фамилия
» содержит
значение «
Иванов
». Применение фильтра к набору данных определяется
свойством
Filtered
логического типа. Значение
True
определяет применение в качестве
фильтра выражения, указанного в свойстве
Filter
Поле [Оператор сра
внения] ‘Значение’
Например, если отобразить все записи, в которых поле «
Фамилия
» равно значению
«Сидоров», то нужно указать:
Table1.Filter:=’Фамилия=’’Сидоров’’’;
Фильтрация записей:
Открыть приложение.
Добавить на форму компоненту
Текст процедуры для события
OnChange
begin
Table1.Filtered:=true;
//включение
фильтрации
Table1.Filter:='SNom = ‘+Edit2.Text;
//задает
критерий
фильтрации
end;

Этот способ фильтрации пригоден то
лько для числовых полей.
При применении фильтра можно указать свойства:
foCaseInsensitive
нечувствительность к регистру букв;
foNoPartialCompare
поиск на точное соответствие.
Для фильтрации текстовых полей, наприм
ер по полю
Фамилия
необходимо
изменить
текст
процедуры
procedure
TForm
Edit
Change
Sender
TObject

begin
Table
Filtered
true

Table
Filter
:='
SFio
='+#39+
Edit
Text
+'*'+#39;
end
В этом случае фильтрация проходит по текстовому полю. Знак «#39
» означает
знак апострофа, так как ввод фамилии при использовании фильтра происходит в апострофах.
А символ «*» означает любые символы, то есть при вводе только одной буквы на экране
появятся все фамилии начинающиеся на
букву.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
164

Практическая работа № 11
. Установка связи.
Цели:
Усвоить возможность связи таблицам.
Установка связи между таблицами:
Для демонстрации связи между таблицами необходимо создать
еще одну таблицу.
Создайте таблицу успеваемости студентов. В нее войдут поля: учебный год, с
ессия (зима или
лето), предмет, ФИО преподавателя, дата аттестации по предмету, дата сдачи, оценка.
Эта таблица будет дочерней для таблицы
Студенты
. В
таблице
Успеваемость
надо ввести дополнительно числовое поле и
определить его вторичным ключом.
Размести
те таблицу успеваемости на форме
Студенты
В свойстве компоненты
Table2
MasterSource
написать
DataSource1.
Это
означает, что вторая таблица станет дочерней для первой.
Двойным щелчком по свойству
MasterFields
вызовем
окно
Field
Link
Designer
изайнер поля связи):

Выбрать
списке
Available Index (Доступные
индексы)
окна
FieldLink
Designer
индекс
IDGod
(это
вторичный
индекс
второй
таблицы).
В левом списке
DetailField
выделить
IdU
, а в правом списке
MasterField
(Основ
выделить
Ind
Нажать на кнопку
Add(Добавить)
и закрыть окно.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
165


Таким образом между таблицами установилась связь. Она называется
связь один ко
многим
К дочерней таблице добавить кнопки для ввода и редактирования данных
также как и
для таблицы
Студенты

Практическая работа № 12. Создание отчета.
Цели работы:
Ознакомиться с возможностью создания отчета.
Создание отчетов:
Отчет
это печатный документ, содержащий записи
БД.
Delphi
для создания отчетов
служит генерато
р отчетов
QuickReport
, содержащий обширный набор
компонентов.
Компоненты, предназначенные для создания отчетов, находятся на
закладке
QReport
палитры компонентов.
Главным элементом отчета является компонент
отчет
QuickRep
представляющий
собой
основу,

которой
размещаются
другие
компоненты.
Компон
ент
QuickRep
обычно размещается на отдельной форме, предназначенной для создания
отчета.
Свойства компоненты
QuickRep
Bands
здесь указываются компоненты размещаемые в
QuickRep
DataSet
здесь указывается набор данных из которой отчет будет брать данные.
Frame
здесь указывается параметры рамки.
Options
здесь доступны три параметра. Если
FirstPageHeader
равно
true
, то заголовок
печатается только на первой
странице отчета. Если
LastPageFooter
равен
true
, то нижний
колонтитул печатается только на последней странице отчета. Если установить
свойство
Compression
true
, то отчет будет сохраняться в сжатом виде.
ReportTitle
здесь находится заголовок п
ечатаемого документа.
SnapToGrid
нужно ли выравнивать компоненты по установленной сетке.
Zoom
масштаб отображения данных.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
166

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

Открыть приложение «
Студенты
Добавить на главную форму кнопку «
Создание
отчета
Создать новую форму «
Отчет
», которая бу
дет вызываться нажатием на кнопку
Создание отчета
На форму установить компоненту
QuickRep
с закладки
QReport
. Выделить этот
компонент и в объектном инспекторе включить
параметры
HasTitle
HasDetail
свойства
Bands

Расположим компоненты в секциях
Qui
ckRep1
, которые будут отображать нужную
информацию отчета. На закладке
QReport
палитры компонентов доступны следующие
компоненты, которые можно расположить в этих разделах:
QRLabel
надпись. Этот компонент похож на стандартный компонент
TLabel
просто от
ображает нужные данные.
QRDBText
данные. Этот компонент тоже похож на
TLabel
, только он
предназначен для отображения значения какого либо поля из базы данных.
QRSysData
системная информация. Это опять копия
TLabel
только с
возможностью отображать систе
мную информацию
дату, время, номер страницы, номер
строки в таблицы, общее количество страниц и т.д.
QRImage
картинка. Компонент схожий с
TImage
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
167
Увеличить область заголовка
Title
. В верхний угол поместите один
компонент
QRSysData
. Выделить его и в сво
йстве
Data
выбрать значение
Теперь этот компонент будет отображать в правом, верхнем углу дату распечатки документа.
В центре области
Tittle
установить компонент
QRLabel
, увеличь шрифт в
свойстве
Font
и написать в свойстве
Caption
текст «
Студе
Расположить в области
Tittle
компоненты
QRLabel
и дать им заголовки: ФИО, Дата
рождения, Номер зачетки, Специальность, Курс.
Перейти к области
Detail
. Под заголовками поставить пять компонентов
QRDBText
Установить в свойстве
DataSet
компонентов
QRDB
Text
набор данных
Form1.Table1
а в
свойстве
DataField
QRDBText1
указать
SFio
. У всех остальных
компонентов
QRDBText
указать соответствующие имена полей.

Перейти в главный модуль и по нажатию кнопки “Печать” написать следующий
код.
procedure
orm
SpeedButton
Click
Sender
TObject
begin
Form
QuickRep
Preview
вызываетсяметод
Preview
компонента
QuickRep
Этот метод показывает окно
//предварительного просмотра созданного
документа.
еnd;
Запустить программу, выделить какую
нибудь строк
у и нажать кнопку печати.
Откроется окно предварительного просмотра.

Выделить компонент
QuickRep1
и в свойстве
DataSet
указать таблицу
Form
1.Table1
Если сделать это, то компонент
QuickRep1
автоматически будет перебирать все
записи из этой таблицы и и
спользовать их в компонентах, которые стоят в
блоке
DetailBand1
После этого в отчете появятся все записи таблицы:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
168

Установить на форму отчета компонент
QRSubDetail
с закладки
QReport
Этот компонент предназначен для перебора данных относящихся к под
чиненным таблицам.
Установить следующие свойства:
DataSet
Form1.Table2
, чтобы связать блок с
таблицей
Uspevaemost.db
, которая является подчиненной к основной
Studenti.db
В свойстве
Master
нужно указать главный компонент с основными данными.
Выбрать в эт
ом свойстве
QuickRep1
Расположить на компоненте
QRSubDetail
компоненты
QRDBText
в свойстве
указав, к каким полям подчиненной таблицы они обращаются.
Получится следующий вид отчета:
СПИСОК ЛИТЕРАТУРЫ
1. Фаронов В.В. Delphi 3. Учебный курс. М.: "Нолидж"
, 1998. 400 с.
2. Культин Н. Программирование на Object Pascal Delphi 5. СПб.: BHV
Санкт
Петербург, 2000. 464 с.
3. Эндрю Возневич. Delphi. Освой самостоятельно: Пер. с англ. М.: Вос
точная Книжная
Компания, 1996. 736 с.
4. Турбо Паскаль 7.0. Киев: Издате
льская группа BHV, 1998. 448 с.
5. Шилдт Г. Самоучитель С++, 3
е издание: Пер. с англ. СПб.: BHV
Санкт
Петербург,
1998. 688 с.
6. Сергиевский М.В., Шалашов А.В. Тур
бо Паскаль 7.0: Язык, среда про
граммирования.
М.: Машиностроение, 1994. 254 с.
7. Канту М.
Delphi 2 для Windows 95/NТ. Полный курс. В 2 т. Т. 1: Пер. с
англ. М.:
Малип, 1997. 400 с.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
169
«ТУРАН» УНИВЕРСИТЕТ
І МЕКЕМЕСІ»
БЕКІТІЛДІ
«Тұран» университеті мекемесі»
«Ақпараттық
технологиялар
кафедрасы мәжілісінің отырысында
Хаттама
№ __ «____»____
Кафедра меңгерушісі
___________________С.А.Түсіпова
СОӨЖ арналған әдістемелік нұсқаулар
Мамандық
5В070300
Ақпараттық жүйелер
ЖҮЙЕЛЕРДІҢ ПРОГРАММАЛЫҚ ЖАБДЫҚТАУЛАРЫН ҚҰРУ
пәні бойынша
Автор

Ахметжанова Ж.Б.
«Туран»
унив
ерситетінің аға оқытушысы
Оқу технологиясы
кредит
тік
Оқу нысаны
күндізгі
Оқу бөлімі
қазақша
Студенттердің білімін бағалау жүйесі
рейтинг
тік
Алматы, 2013
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
170
СРСП №1.
Видеопрокат
Требуется автоматизировать работу видеопроката.
Пользователи, раб
отающие с системой: Оператор проката.
Разрабатываемая система должна:
вести учет фильмов и дисков (добавлять и удалять фильмы и диски, осуществлять
поиск фильмов и дисков, выдавать в прокат и принимать из проката диски);
предоставлять Оператору следующие
отчеты:
количество дисков, выданных на прокат за период;
сумма выручки от проката за период;
список выданных дисков, срок проката которых истек;
таблица с полным списком фильмов проката и количеством дисков в наличии
для каждого фильма.
СРСП №2.
ГИБДД
ребуется автоматизировать работу районного отдела ГИБДД.
Пользователи, работающие с системой: Оператор (сотрудник ГИБДД).
Разрабатываемая система должна:
вести учет водителей и транспортных средств, зарегистрированных на территории
района (добавлять и уда
лять водителей и транспортные средства, осуществлять поиск
водителей (по фамилии) и транспортных средств (по марке автомобиля и
государственному регистрационному знаку));
вести учет сведений о прохождении технического осмотра транспортных средств и
сведени
й о правонарушениях водителями;
предоставлять Оператору следующие отчеты:
полный список зарегистрированных водителей;
полный список зарегистрированных транспортных средств;
список автомобилей, не прошедших технический осмотр;
список нарушений за срок;
сумм
а выписанных штрафов за срок;
список водителей с истекшим сроком действия прав.
СРСП №3.
Библиотека
Требуется автоматизировать работу библиотеки, состоящую из абонемента и читального зала.
Пользователи, работающие с системой: Библиотекарь.
Разрабатыва
емая система должна:
вести учет книг и читателей (добавлять и удалять книги и читателей, осуществлять
поиск читателей (по фамилии) и книг (по автору и/или названию));
вести учет книг, выданных читателям на руки или в читальном зале;
предоставлять Библиотек
арю следующие отчеты:
список читателей, имеющих в настоящее время книги на руках;
список читателей, получавших книги в читальном зале за срок;
список читателей
должников.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
171
СРСП №4.
Аэропорт
Требуется автоматизировать работу аэропорта.
Пользователи, раб
отающие с системой: Оператор (кассир).
Разрабатываемая система должна:
вести учет маршрутов и рейсов (добавлять и удалять маршруты и рейсы, осуществлять
поиск рейсов (по названиям конечных пунктов));
вести учет проданных билетов на рейс;
предоставлять Опер
атору следующие отчеты:
список рейсов по маршруту за указанный период времени;
список свободных мест на заданный рейс;
количество свободных мест на заданный рейс.
СРСП №5.
Магазин
Требуется автоматизировать работу магазина.
Пользователи, работающие с
системой: Оператор (продавец).
Разрабатываемая система должна:
вести учет товаров и групп товаров (добавлять и удалять товары и группы),
осуществлять поиск товаров (по названию));
сохранять информацию о продажах (покупатель, купленные товары и их количеств
о);
предоставлять Оператору следующие отчеты:
список товаров;
выручка магазина от заданного покупателя за заданный период;
общая выручка магазина за заданный период;
список из пяти самых активных покупателей за заданный период.
СРСП №6.
Поликлиника
Треб
уется автоматизировать работу районной поликлиники.
Пользователи, работающие с системой: Оператор регистратуры и Врач.
Разрабатываемая система должна:
вести учет врачей и пациентов (добавлять и удалять врачей и пациентов), осуществлять
поиск врачей и паци
ентов (по фамилии));
вести личную амбулаторную карту для каждого пациента;
позволять Оператору регистратуры записывать пациентов на прием;
позволять Врачу заносить в карту результаты приемы пациента;
позволять Врачу читать амбулаторную карту пациента;
пред
оставлять Оператору следующие отчеты:
список больных, находящихся на лечении у заданного врача;
количество принятых пациентов врачом за заданный период;
количество пациентов, находившихся на лечении у врача за заданный период.
общее количество пациентов, н
аходившихся на лечении за заданный период.
СРСП №7.
Антивирус
Требуется разработать антивирусное программное средство.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
172
Пользователи, работающие с системой: Оператор (представитель антивирусной компании) и
Пользователь.
Разрабатываемая система должна:
ести базу сигнатур вредоносного кода (новые сигнатуры добавляются в систему
Оператором и отправляются Пользователю через Интернет по запросу);
проверять объекты файловой системы компьютера (файлы и каталоги) Пользователя на
предмет наличия вредоносного код
а на основе сигнатур. Если проверке подвергается
каталог, должны быть проверены все вложенные в него файлы и подкаталоги.
Выводить Пользователю отчет с указанием общего количества проверенных файлов и
количества инфицированных файлов.
СРСП №8.
Станция те
хнического обслуживания автомобилей
Требуется автоматизировать работу автосервиса.
Пользователи, работающие с системой: Оператор автосервиса.
Разрабатываемая система должна
вести учет заказов на ремонт (для каждого заказа должна сохраняться информация о
аказчике, закупленных запчастях, выполненных работах с учетом объемов);
предоставлять Оператору следующие отчеты:
количество выполненных заказов за заданный период;
список клиентов (с контактной информацией) пользовавшихся услугами сервиса
за заданный пери
од;
выручку, полученную за выполненные работы за заданный период времени;
объем (в деньгах) проданных запчастей за заданный период времени.
СРСП №9.
Файловая система
Требуется спроектировать файловую систему. Файловая система должна состоять из файлов и
каталогов. Каталог может включать в себя файлы и другие каталоги.
Система должна позволять:
создавать и удалять файлы и каталоги
редактировать содержимое файлов
предоставлять Пользователю следующие отчеты:
общее количество файлов в системе
объем файла и
каталога
список файлов, время последнего редактирования которых попадает в заданный
интервал
список каталогов, созданных в заданный период времени.
СРСП №10.
Графический редактор
Требуется разработать графический редактор, позволяющий строить сложные сх
емы из
графических примитивов (линий, окружностей, прямоугольников и текста) и составных
рисунков (рисунков, составленных из примитивов и других составных рисунков).
Редактор должен позволять Пользователю:
добавлять примитивы и рисунки в графическую облас
ть;
изменять размеры примитивов и составных рисунков;
изменять цвет линий, цвет заливки прямоугольника и окружности;
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
173
отображать схему;
сохранять схему в файл и читать из файла.
СРСП №11.
Блог
Требуется разработать систему ведения интернет
блогов.
Пользо
ватели, работающие с системой: Администратор, Зарегистрированный пользователь,
Незарегистрированный пользователь.
Блог
интернет
дневник пользователя. Блог содержит записи пользователя. К каждой записи
могут добавляться комментарии других пользователей.
Разрабатываемая система должна:
позволять Незарегистрированному пользователю зарегистрироваться;
позволять Зарегистрированному пользователю добавлять записи в свой блог, добавлять
комментарии к своим записям.
позволять Незарегистрированному пользователю и
Зарегистрированному пользователю
читать блоги других пользователей, добавлять комментарии к блогам других
пользователей;
предоставлять Администратору системы следующие отчеты:
определять количество записей и комментариев, созданных за период
Зарегистриров
анным пользователем;
определять самого активного комментатора в блоге.
Дополнительно.
СРСП №1
Библиотека
Требуется автоматизировать работу библиотеки.
Пользователи, работающие с системой: Библиотекарь и Читатель.
Разрабатываемая система должна:
позво
лять Библиотекарю вести учет книг и читателей (добавлять и удалять книги и
читателей);
позволять Библиотекарю и Читателю осуществлять поиск книг (по автору и/или
названию);
позволять Библиотекарю осуществлять поиск читателей (по фамилии);
позволять библиот
екарю вести учет книг, выданных читателям на руки или в
читальном зале;
предоставлять Библиотекарю следующие отчеты:
список читателей, имеющих в настоящее время книги на руках;
список читателей
должников.
СРСП №13.
ГИБДД
Требуется автоматизировать раб
оту районного отдела ГИБДД.
Пользователи, работающие с системой: Оператор (сотрудник ГИБДД).
Разрабатываемая система должна:
вести учет водителей и транспортных средств, зарегистрированных на территории
района (добавлять и удалять водителей и транспортные
средства, осуществлять поиск
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
174
водителей (по фамилии) и транспортных средств (по марке автомобиля и
государственному регистрационному знаку));
вести учет угнанных транспортных средств;
вести учет сведений о прохождении технического осмотра транспортных сред
ств и
сведений о правонарушениях водителями;
предоставлять Оператору следующие отчеты:
полный список зарегистрированных водителей;
список угнанных за период транспортных средств;
список числящихся в угоне транспортных средств;
список автомобилей, не прошед
ших технический осмотр;
список водителей с истекшим сроком действия прав.
СРСП№14.
Станция технического обслуживания автомобилей
Требуется автоматизировать работу автосервиса.
Пользователи, работающие с системой: Оператор автосервиса.
Разрабатываемая си
стема должна
вести учет заказов на ремонт (для каждого заказа должна сохраняться информация о
заказчике, закупленных запчастях, выполненных работах с учетом объемов);
вести учет закупок запчастей;
предоставлять Оператору следующие отчеты:
количество выпол
ненных заказов за заданный период;
выручку, полученную за выполненные работы за заданный период времени;
прибыль (без учета накладных расходов и налогов) от продажи запчастей за
заданный период времени.
СРСП №15.
Магазин
Требуется автоматизировать работу
магазина.
Пользователи, работающие с системой: Оператор (продавец).
Разрабатываемая система должна:
вести учет товаров и групп товаров (добавлять и удалять товары и группы),
осуществлять поиск товаров (по названию));
сохранять информацию о закупках у п
роизводителя (поставщика);
сохранять информацию о продажах (покупатель, купленные товары и их количество);
предоставлять Оператору следующие отчеты:
количество заданного товара на складе;
список товаров;
общая выручка магазина за заданный период;
прибыль (
без учета накладных расходов и уплаты налогов) магазина за
заданный период;
СРСП №16.
Видеопрокат
Требуется автоматизировать работу видеопроката.
Пользователи, работающие с системой: Оператор проката.
Разрабатываемая система должна:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
175
вести учет категор
ий фильмов, фильмов и дисков (добавлять и удалять категории,
фильмы и диски, осуществлять поиск фильмов (по названию и/или категории),
выдавать в прокат и принимать из проката диски);
предоставлять Оператору следующие отчеты:
количество дисков, выданных н
а прокат за период из категории;
сумма выручки от проката за период;
список выданных дисков, срок проката которых истек;
таблица с полным списком фильмов проката и количеством дисков в наличии
для каждого фильма.
Рейтинг из самых популярных фильмов и катег
орий за период.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
176
БЕКІТІЛДІ
Ақпараттық технологиялар
кафедрасының мәжілісінде
Туран
» «
Университет
і» мекемесі
Хаттама
№ __ от «____»________ 201
Кафедра меңгерушісі
________
пова С.А
СТУДЕНТТІҢ
ӨЗІНДІК
МЫСТАР
Ы МАТЕРИАЛДАРЫ
(реферат, эс
терминдермен,
ғымдармен ж
мыстар ж
ргізу
курстық жұмыс
) жазуына
арналған әдістемелік н
сқаулар.
СТУДЕНТТІҢ
ӨЗІНДІК
МЫСТАР
ЫН ОРЫНДАУҒА АРНАЛҒАН
ӘДІСТЕМЕЛІК НҰСҚАУЛАР
Жүйелердің программалық жабдықтамаларын құру»
пәні бойынша
1. Рефераттар. Жоға
рғы оқу орнында рефарат жазу теориялық білімді терең меңгеріп,
берілген тапсырманы жан
жақты талдап меңгеруге бағытталған. Рефарат жазу
студентке
ақпараттар ағымын еркін меңгеріп, керекті мағылұматтарды жинақтауға, материалдарды
іріктеуге, кәсіби ойлауға
, ғылыми
ізденушілік жұмыстың алғашқы белгілерін қалыптастыруға
көмектеседі. Рефарат студенттің өзіндік жұмысының бір түрі ретінде қарастырылады.
Рефарат жазуға келесі талаптар қойылады:
1. Жұмыс жақсы теориялық деңгейде жазылуы тиіс, оны дайындауға оқул
ықтар,
оқу құралдары, баспасөз басылымдары, журналдар, газеттерді пайдаланылуға
болады.
2. Жұмыс өздігінше жазылуы тиіс, тақырыпты жан
жақты ашу нақтылығымен
ерекшеленуі тиіс. Әдеби ө алынған материалдар таңдалған тақырыппен органикалық
байланыста болуы жә
не ө сөздерімен жеткізілуі қажет.
3. Қорытындыларды аргументтеу, ұсыныстар мен кеңестерді нақтылау.
4. Жұмыс нақты, сауатты тілмен жазылуы және дұрыс рәсімделуі қажет (титулдық беті,
беттердің номерленуі тиіс және жұмыстың соңында пайдаланылған әдебиеттер
тізімі
көрсетілуі тиіс).
Реферат 10
15 компьютерлік текст көлемінде орындалып, төмендегі ретте
орналастырылады:
титул (сырт
ы) беті;
жоспар
мазмұны;
рефератты м
тіндік баяндау (жосп

дебиеттер тізімі;
мыста кө
рсетілген көрнекіліктер, таблица, сызбалар жұмыс соңына
қосымша ретіне жалғанады.
Реферат А4 форматындағы ақ қағаздың бір жағына жазылады. Жұмыстың әр
бетінің
жиектері: сол жағы
3 см, оң жағы
2 см, жоғарғы жағы
2 см, т
менгі
жағы
2 см.
Әрбір
бөлім н
емесе тарау жаңа беттен басталады. Тақырып пен мәтін арасында бір жол таза
қалдырылады. Кестелер немесе график, диаграммаларды жұмыстың соңына қосымша ретінде
жалғанады немесе баяндау барысында сілтеуден кейін орналастырылады. Кестелерді бір
беттен екінші
бетке тасымалдауға, араларын бөлуге болмайды. Кесте, сурет немесе көрнекілік
соңында аты сөзбен көрсетілуі тиіс. Қорғау ауызша түрде.Реферат жазуға қолданылған барлық
материал жұмыстың мазмұнына сәйкес болуы керек, тақырыпқа қатысы жоқ артық мәліметтер
мен
материалдарды жазу қажет емес.
2. Терминдермен және ұғымдармен жұмыс, глоссарий. Курсты зерделеу
барысында
кездесетін терминдер мен ұғымдарды әдебиеттерден іріктеп ала
отырып, студент оларды
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
177
дәптерге жазып, оқытушыға тексеруге береді және
ауызша жауап бер
уге дайын болуы керек.
Семестр бойынша осындай 2 тапсырма қарастырылған (тапсыру уақыты
шы,
апталардың аралығында).
3. Эссе жазу: эссе
белгілі бір мәселеге немесе тақырыпқа байланысты студенттің өз
ойы, көзқарасы бойынша еркін түрдегі ойлары, очер
ктік пайымдаулары. Эссе тақырыбы әр
студентке бөлініп беріледі немесе оқытушының мақұлдауымен 2
аптада студент өзі таңдап
алады. Эссе жазуға қойылатын талаптар көлемі 5
7 баспа бет, қажетіне қарай әдебиет тізімі
көрсетіледі. Эссені тексергенде тақырыптың т
олық әрі терең талдануына, пайымдаулардың
нақтылығы, жүйелілігі мен реттілігіне ерекше көңіл бөлінеді. Әссе жазғанда белгілі
фактілермен тексті ретсіз ұлғайтып, жекелеген сұрақтарды талғамсыз мазмұндай берудің
қажеті шамалы.
Жүйелердің программалық жабдық
тамаларын құру
пәні бойынша дәріс мазмұны оқу
бағдарламасымен белгіленіп, оның сәйкес болуы қадағаланса, студенттердің өзіндік
жұмысының мазмұнын таңдауда біршама еркіндік болады. өзіндік жұмыстардың еріктілік
сипаты студенттердің қызығушылығы, қабілеті,
дербес бейімділігі, танымдық бастамашылығы
мен дербестігі бойынша ұйымдастыруға мүмкіндік береді. Жалпы, студенттердің өзіндік
жұмыстары кредиттік оқыту жүйесіндегі оқу үрдісінің басты бір бөлігі болып саналады.
Кредиттік оқыту жүйесі білім алушы мен оқыту
шының оқу жұмысы көлемінің
біріздендірілген өлшем бірлігі ретінде кредитті қолдану арқылы, білім алушының пәндерді
таңдауы және реттілікпен оқуын өз бетінше жоспарлауы негізінде оқыту болып табылады.
Студенттің оқытушының басшылығымен орындайтын өзіндік жұ
мыстары (СОӨЖ)
арнайы
белгіленген уақытта алдарына қойылған дидактикалық мақсатты орындау үшін оқытушының
ұйымдастыруымен жүретін білімді іздеуге оны ұғыну мен бекіту, біліктіліктері мен
дағдыларын қалыптастыру және дамыту, алған білімдерді жинақтау және
жүйелеуге
негізделген студенттің іс
әрекеті. СОӨЖ кезінде студентке консультация беріледі, бақылау
және орындалған жұмыстарға тексеру жүргізіледі. Студентің өзіндік жұмысы (СӨЖ)
оқытушының тапсырмасымен және әдістемелік басшылығымен, оның тікелей қатысу
ынсыз
орындалатын студенттің жоспарланған жұмысы. СӨЖ сабақтарының мақсаты
студенттердің
кәсіби қызметіне қажетті гуманитарлық ойлау және интелектуалды қабілеттерін жаңа оқу
пәнін меңгеруде қажетті жаңа білімдермен қаруландыру. СӨЖ арқылы студенттер жаңа
материалдарды логикалық, өзара байланысты негізде меңгеруге дағдылануға және оқылған
материалға талдау жасап өз ойын сенімді дәлелдей білуге үйренеді. Студенттердің өзіндік
жұмыстарының мазмұнын пән бойынша берілген тапсырмалардың жекелеген бөлімінің
неме
се тақырыптарының негізгі мазмұны құрайды. Олар, ең алдымен, дәріс курсының
материалдарын қайталауға және пысықтап, тиянақтауға, сондай
ақ ішінара пәннің дәріс
курстарында қаралмайтын
бөлімдері бойынша қосымша білім алуға арналады. Әдістемелік нұсқау: сұра
жауап әдісі
бойынша оқу тобы шағын топтарға бөлініп, қарастырылатын мәселелер жөнінде өзіндік
пікірлері мен көзқарастары тыңдалады, түп
деректермен жұмыстарына көңіл бөлінеді.
ЖҮЙЕЛЕРДІҢ ПРОГРАММАЛЫҚ ЖАБДЫҚТАМАЛАРЫН ҚҰРУ»
ПӘНІ
БОЙЫНША БІЛІМГЕРДІҢ ӨЗІНД
ІК ЖҰМЫСЫ
СӨЖ бойынша әдістемелік нұсқау ақпараттық жүйе туралы студенттерге ғылыми
фундаменталды білім беру, деректер қорын құру және өңдеуді меңгеру болып табылады.
Жүйелердің программалық жабдықтамаларын құру
пәнін білімгер өзіндік жұмысы
нәтижесінде
деректер қорын және қор
Пән бойынша талдау жасау, талдауды қолдана отырып
тәжірибелік тапсырмаларды шешу, ғылыми баяндамаларды дайындау, рефераттарды, жеке
аспектілер бойынша мақалаларды және тақырыпқа қатысты мәселерді қарастырады.
Жүйелердің программ
алық жабдықтамаларын құру
пәнін оқытуда ақпараттық
үрдістердің негізгі модельдерімен танысу, ақпараттық үрдістерді физикалық және арна
деңгейінде ұйымдастыру, әр түрлі ақпараттық жүйелерді құрастырудың қазіргі әдістері мен
модельдерін танысу өзіндік жұмы
ста да қарастырылған.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
178
СӨЖ бойынша тапсырмаларды отырып, студент толыққанды дәрістік материалдармен,
негізгі оқулық және қосымша әдебиеттермен, программалық жабдықтаулармен қамтылуы
тиіс Программалық жабдықтауларды жұмыс барысында қолдну үшін және жұмыст
жеңілдету үшін, жұмысты электронды тасымалдаушыға (диск DVD) алып келіп қолдану.
Ғылыми рефераттар, мақалалар, баяндамалар дайындау барысында, олардың ғылыми
тұрғыда маңызы бар өзіндік жұмыс формасы екенін естен шығармау қажет.
Жұмысты жазу барысында н
егізгі және қосымша әдебиеттер маңыздысы болып
табылады және сонымен қатар қаржы өнеркәсіптік топкапиталын бағалауда.
Ғылыми мақала немесе кіріспе баяндама жазу кезінде қорытынды және негзгі бөлімінде
ужекеше көрсетілмейді (текст толығымен болады) бірақ,
міндетті болуы қажет. Сілтеме әрбір
бетте немесе мақаланың соңында беріледі. Көптеген жағдайда тоғыспайтын сандар сілтемесі.
Жазбаша жұмысты орындаған кезде қолданылған әдебиеттер тізімі болуы шарт.
Автордың аты
жөнін толығымен көрсетіп, жұмыс тақырыбын,
орнын, шығарылған
жылын, ал мақалаға
сол сияқты журнал атауын (газет), жылын, № (немесе шыққан күнін),
мақала жарияланған бетін. Нормативті
құқықтық актілер үшін
олардың нақты аталымын,
шығарылған мерзімін, басылым көзіне шыққан жылымен сілтеме жасау
, басылым номері және
мақала номері.
Міндеттілік, сапа және тапсырманы уақытында орындауы аралық бақылауды бағалау
кезінде әсер етеді (аралық емтихан).
СӨЖ бойынша баяндама келесі тәртіпте ұсынылады:
Баяндама құрылымы:
Титулдық беті
Жоспар
Кіріспе
Негізгі
бөлім
Қорытынды
Әдебиеттер тізімі
Қосымша ( графиктер, кестелер, т.б)
Баяндаманы безендіруге қойылатын талаптар:
Баяндама көлемі 10
15 парақ; Әріп көлемі
14Times New Roman, Әдеттегі; жолдар
арасында интервал
1,0; сол жақтағы жолдың көлемі
30мм ,оң
жақ
10мм; Жоғары
20мм;
төменгі 20мм. Текст парақтың бір жағына ғана теріліп жазылады; ескертулер де сол парақта
жахылады. (1 интервалдан кейін,) Барлық беттер нөмерленеді, титулдық беттен бастап,
нөмерленгенде цифрді, беттің жоғарысына дәл ортасына қояды
, титулдық бетке бет нөмері
қойылмайды. Әрбір жана бөлім жаңа беттен басталады.
Бөлім мен текст арасындағы қашықтық әрі интервалай болады. Бөлім аты жол ортасына
жазылады соңында нүкте қойылмайды. Титулдық бет бірінші бет болғандықтан арнайы
ережелерге са
й жасалады.
Жоғарғы жолда оқу орнының толық атауы көрсетіледі Ортанғы
жолда реферат тақырыбы көрсетіледі.
Тақырып деп жазылмайды. Бұл атау тырнақшасыз жазылады. Төменірек жол ортасында
жұмыс түрі және оқу пәні атауы көрсетіледі ( мысалға қаржы
өнеркәсіптік
топтар капиталын
бағалаудан баяндама.)
Баяндама
Баяндама бағалауға критерийлері:
тақырыпты зерттеу
тақырыпқа сәйкестігі
материалды қолданудың және жеткізудің логикасы 2
балл
жұмысты өз еркімен орындау 2
балл
ақпарат көздерінің дұрыстығы және толықтығы2
жұмысты безендірудің стандартқа сай болуы 1
Барлық балл
10 балл
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
179
РЕФЕРАТ
ТАРДЫҢ ТАҚЫРЫПТАРЫ
Тақырып
күйге келтіру.
Тақырып
2. Database Desktop
көмегімен кестелер құру.
Тақырып
3. SQL
сұраныстар
көмегімен кестелер құру
Тақырып
изуа
компонент
терге шолу
Деректер базасымен жұмыс істеу
компоненттері.
Тақырып
5. TTable компонент
тері
. TTable компонент
тері арқылы кестелер құру.
Тақырып
6. TQuery компонент
тері.
Тақырып
7. DataSet редактор
есептелетін өрістер,
Тақырып
8. TDatabase
омпонент
ттері.
Тақырып
ранзакцияларды басқару.
Тақырып
10. SQL
тілінің негізі.
Тақырып
Отчеттарды г
енераци
ялау.
СӨЖ бойынша әдістемелік нұсқау
Пәнді оқытудың негізгі мақсаты техникалық жүйелерді қолданудың қауіпсіздік жағдайларын
дайындаудың түрл
іше жағдайларды болжаудың және өндірістік персоналды және
генетикалық
физиологиялық қасиеттерінің өзгеруі жөніндегі мәліметтерді азайту өмір сүру
ортасының зиянды, қауіпті және жарақаттаушы факторларының көздерінің кешендік
ұғымдары, қаіптердің сандық және
сапалық талдаудың тәсілдері мен принциптері,
қауіпсіздікті қамтамасыз етудің принциптерін қалыптастырудың теориялық негіздеріне және
жүзінде асыру жолдарын үйрену болып табылады.
Сабаққа даярлану барысында қолданылатын әдебиеттер тізімі
Негізігі әдеби
ет:
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
180
БЕКІТІЛДІ
Ақпараттық технологиялар
кафедрасының мәжілісінде
«Туран» «Университет
і» мекемесі
Хаттама
№ __ от «____»________ 2013 г.
Кафедра меңгерушісі
пова С.А
ПӘННІҢ МЕҢГЕРІЛУІ БОЙЫНША ӘДІСТЕМЕЛІК ҰСЫНЫСТАР
«Жүйе
лердің программалық жабдықтамаларын құру»
(оқу
әдістемелік кешен бойынша)
Оқу
әдістемелік кешеннің негізі, мақсатты аудитория және бағдар
Жүйелердің программалық жабдықтамаларын құру
оқу
әдістемелік кешені «Ақпараттық
жүйелер » мамандығы студентте
ріне мамандық курс ретінде өңделді және қарастырылған
мәселелерге байланысты қазіргі заманғы ғылыми талдауларды бейнелейді. Курстың мақсатты
аудиториясы
«Ақпараттық жүйелер» мамандығының студенттері.
Курс, бірінші кезекте, берілген пән оқытушының басқар
ылымы бойынша жүргізіледі
(күндізгі бөлім), сонымен қатар, осы пәнді өзіндік тапсырма ретінде орындауда қосымша оқу,
оқу
әдістемелік және тексерілетін материал ретінде қолданылуы мүмкін.
Оқу
әдістемелік кешеннің жүйесі, құрамы және білім мүмкіншілігі
Дәрістік материал (тақырып) мақсатты және міндетті курсықа сәйкес кешеннің жүйелі
ядросы болып табылады. Белгілі бөлімдерде СӨЖ және СОӨЖ сұрақтары берілген.
Сонымен қатар, оқу
әдістемелік кешен, мүмкін болатын сұрақтардың жауабына және
дәрістік тақырып
бойынша тесттік тапсырмаларды орындай отырып, өзіндік білімін тексеріп,
білім деңгейін қаншалықты меңгергенін көрсетуге мүмкіндік береді.
Берілген оқу
әдістемелік кешеннің ерекшелігі
жалпы курс бойынша ұсынылған
тақырыптарды, шығармашылық тапсырмалард
ы орындау, рефераттарды дайындау арқылы
материалдарды тереңдетіп оқуға мүмкіндік береді.
Оқу
әдістемелік кешенмен жұмыстың ұсынылған реті
Оқу
әдістемелік кешенмен жұмыс істеуді оның құрылымы мен курстың
бағдарламасымен танысудан бастаған ж
өн. Бұл студентке қарастырылған кешеннің құрамына
кіретін барлық ресурстарды толықтай қолдануды үйенуіне,
оқу
әдістемелік кешенмен жұмыс
істеу кезіндегі, материалдың қиындық деңгейін түсінуіне мүмкіндік береді.
Тақырыппен танысуды мәтінді толық к
өлемде оқудан бастаған жөн. (тақырыптың
мағынасын түсіну үшін зейінмен
оқу).
Тақрыптың мазмұнымен танысуды аяқтағаннан кейін бақылау жұмыстары мен тест
сұрақтарын қою арқылы дәрістің негізгі мазмұнымен танысудағы студенттердің білім
деңгейін анықтаған дұры
Әрине, берілген оқу
әдістемелік кешенмен жұмыс істеу кезіндегі жұмыс реті студенттің
дайындығы мен жеке психологиясына байланысты қысқартылуы мүмкін.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
181


БЕКІТІЛДІ
«Ақпараттық технологиялар»
кафедрасының мәжілісінде
«Туран» «Университеті» мекемесі
Хаттама
№ __ от «____»________ 2013 г.
Кафедра меңгерушісі
пова С.А
БІЛІМГЕРДІҢ ОҚУ ЖЕТІСТІГІН БАҒАЛАУ ЖӘНЕ БАҚЫЛАУ БОЙЫНША МАТЕРИ
АЛДАРЫ
(жазбаша бақылау жұмыстары, тестілік сұрақтар мен тапсырмалар, өз бетінше дайындалуға
арналған сұрақтар, емтихан билеттері және т.б..)
ПӘН БОЙЫНША
ТЕСТІЛІК
СҰРАҚТАР
question
Компьютер көмегімен берілгендермен манипуляция жасау үдерісі
бұл
variant
берілгендерді өңдеу
variant
берілгендерді қысу
variant&#xv1ar;&#x-1i4; n1.;t-1;
берілгендерді сақтау
variant&#xv1ar;&#x-1i4; n1.;t-1;
берілгендерді жіберу
variant&#xv1ar;&#x-1i4; n1.;t-1;
берілгендерді алу
Енетін берілгендермен оларды ақпараттық берілгендерге айналдыру мақсатында әр
түрлі математикал
ық операциялар орындайтын және оларды қолданушыға қажетті шығатын
берілгендерге айналдыратын жүйе
variant&#xv1ar;&#x-1i4; n1.;t-1;
берілгендерді өңдеу жүйесі
variant&#xv1ar;&#x-1i4; n1.;t-1;
деректер базасын басқару жүйесі
variant&#xv1ar;&#x-1i4; n1.;t-1;
ақпараттық жүйе
variant&#xv1ar;&#x-1i4; n1.;t-1;
экономикалыө жүйе
variant&#xv1ar;&#x-1i4; n1.;t-1;
жобалау жүйелері
Компьютердің барлық жұмыстарын басқаратын, аппараттық ресуртарды
администрлейтін, сыртқы қондырғылармен байланыс жасайтын және қолданбалы
программаларды жұмысын қамтамасыз ететін программалық жабдықтама:
variant&#xv1ar;&#x-1i4; n1.;t-1;
операциялық жүйе
variant&#xv1ar;&#x-1i4; n1.;t-1;
қолд
анбалы программалар пакеті
variant&#xv1ar;&#x-1i4; n1.;t-1;
графикалық редакторлар
variant&#xv1ar;&#x-1i4; n1.;t-1;
мәтіндік редакторлар
variant&#xv1ar;&#x-1i4; n1.;t-1;
утилиттер
Компьютерге тек қолданушы әрекетіне арналып құрылған және орнатылған
программа:
variant&#xv1ar;&#x-1i4; n1.;t-1;
қолданбалы программалық жабдықтама
variant&#xv1ar;&#x-1i4; n1.;t-1;
үйелік программалық жабдықтамалар
variant&#xv1ar;&#x-1i4; n1.;t-1;
аппараттық жабдықтамалар
variant&#xv1ar;&#x-1i4; n1.;t-1;
программалар
архиваторлар
variant&#xv1ar;&#x-1i4; n1.;t-1;
антивирустік программалар
Компьютердегі программалық жабдықтамалардың бір тобы:
variant&#xv1ar;&#x-1i4; n1.;t-1;
жүйелік программалық жабдықтамалар
varian
аппараттық жабдықтамалар
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
182
variant&#xv1ar;&#x-1i4; n1.;t-1;
файлдық жүйелер
variant&#xv1ar;&#x-1i4; n1.;t-1;
дискіге жинақтауыштар
variant&#xv1ar;&#x-1i4; n1.;t-1;
оперативті жады
Компьютердегі программалық жабдықтамалардың бір тобы:
variant&#xv1ar;&#x-1i4; n1.;t-1;
қолданбалы программалық жабдықтама
variant&#xv1ar;&#x-1i4; n1.;t-1;
аппараттық жабдықтамалар
ariant
файлдық жүйелер
variant&#xv1ar;&#x-1i4; n1.;t-1;
дискіге жинақтауыштар
variant&#xv1ar;&#x-1i4; n1.;t-1;
оперативті жады
Жүйелік программалық жабдықтамалардың атқаратын қызметі:
variant&#xv1ar;&#x-1i4; n1.;t-1;
қондырғылармен қарым
қатынас жасауды басқару
variant&#xv1ar;&#x-1i4; n1.;t-1;
көшіру және қою
variant&#xv1ar;&#x-1i4; n1.;t-1;
жою және қою
varia
nt
кесте құру
variant&#xv1ar;&#x-1i4; n1.;t-1;
суреттер енгізу
Жүйелік программалық жабдықтамалардың атқаратын қызметі:
variant&#xv1ar;&#x-1i4; n1.;t-1;
үдерістерді синхронизациялау
variant&#xv1ar;&#x-1i4; n1.;t-1;
берілгендерді өңдеу
variant&#xv1ar;&#x-1i4; n1.;t-1;
берілгендерді қою
variant&#xv1ar;&#x-1i4; n1.;t-1;
кесте құру
variant&#xv1ar;&#x-1i4; n1.;t-1;
суреттер енгізу
ques
tion>Жүйелік программалық жабдықтамалардың атқаратын қызметі
variant&#xv1ar;&#x-1i4; n1.;t-1;
жадыны басқару
variant&#xv1ar;&#x-1i4; n1.;t-1;
берілгендерді форматтау
variant&#xv1ar;&#x-1i4; n1.;t-1;
берілгендерді жою
variant&#xv1ar;&#x-1i4; n1.;t-1;
кесте құру
variant&#xv1ar;&#x-1i4; n1.;t-1;
суреттер енгізу
Төмендегі программалардың қайсысы жүйелік программ
алық жабдықтамаларға
жатады?
Операциялық жүйелер
Мәтіндік редакторлар
Операционные системы
variant&#xv1ar;&#x-1i4; n1.;t-1;
Кесетелі редактор
variant&#xv1ar;&#x-1i4; n1.;t-1;
Деректер базасы
questi&#x-1qu;-1s;&#x-1t-;i3o;&#xn000;on
Төмендегі программалардың қайсысы жүйелік программалық жабдықтамала
рға
жатады?
Драйвер
variant&#xv1ar;&#x-1i4; n1.;t-1;
Мәтінді өңдеу программалары
Кестелерде есептеу жүргізу программалары
Презентация құруға арналған программалар
Дауыс шығару программалары
Төмендегі программалардың қайсыс
ы жүйелік программалық жабдықтамаларға
жатады?
Файлдарды басқару программалары
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
183
Баспа басылымдарын шығару программалары
Видеоберілгендерді шығару программалары
Оқу материалдарын шығару программалары
Версиял
арды басқару программалары
Төмендегі программалардың қайсысы қолданбалы программалық жабдықтамаларға
жатады
Конторалық офистік программалар
Шрифтар драйверлері
Операциялық жүйелер
Файлдарды басқару прог
раммалары
Принтер драйвері
Төмендегі программалардың қайсысы қолданбалы программалық жабдықтамаларға
жатады
Құрастырудың инструменталдық программалары
Шрифтар драйверлері
Операциялық жүйелер
Ф
айлдарды басқару программалары
Принтер драйвері
Төмендегі программалардың қайсысы қолданбалы программалық жабдықтамаларға
жатады
Версияларды басқару қосымшалары
Шрифтар драйверлері
Операциялық жүйелер
Файлдарды басқару программалары
Принтер драйвері
Төмендегі программалардың қайсысы қолданбалы программалық жабдықтамаларға
жатады
variant&#xv1ar;&#x-1i4; n1.;t-1;
Инженер
лік инструменталдық құрылғылар
Шрифтар драйверлері
Операци
ялық жүйелер
Файлдарды басқару программалары
Принтер драйвері
Төмендегі программалардың қайсысы қолданбалы программалық жабдықтамаларға
жатады
Баспа және
мультимедиа
Шрифтар драйверлері
Операц
иялық жүйелер
Файлдарды басқару программалары
Принтер драйвері
Төмендегі программалардың қайсысы қолданбалы программалық жабдықтамаларға
жатады
Бос уақытты өткізуге арналған программалар
Шрифтар драйве
рлері
Операциялық жүйелер
Файлдарды басқару программалары
Принтер драйвері
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
184
Төмендегі программалардың қайсысы қолданбалы программалық жабдықтамаларға
жатады
variant&#xv1ar;&#x-1i4; n1.;t-1;
Коммуникаци
ялық
программ
алық жабдықтамалар
Шрифтар драйверлері
Операциялық жүйелер
Файлдарды басқару программалары
Принтер драйвері
В течение семестра промежуточный (текущий) контроль успеваемости студентов
осуществляется в ходе практических занятий, при вы
полнении и оценке самостоятельных
заданий, по результатам тестирования и выполнения контрольной работы. По результатам
выполнения и защиты лабораторных работ студентам выставляется оценка.
По итогам изучения дисциплины предусмотрен экзамен с комплексной п
роверкой
теоретических знаний, практических навыков и умений по применению информационных
средств и технологий при решении прикладных задач.
Теоретические знания оцениваются путем тестирования или на основании письменных
ответов студентов на поставленные
теоретические вопросы из разных разделов и тем
дисциплины.
Практические навыки определяются путем решения студентами на компьютере
практических задач финансово
экономического характера с использованием
инструментальных средств IT
индустрии. При оценке за
дач учитываются полнота и
правильность решения, выбор инструментария и соблюдение технологии решения, качество и
время решения.
Итоговые результаты экзамена оцениваются в соответствие с общепринятой в
университете методикой. Кроме знаний, навыков и умений
, показанных студентами
непосредственно на экзамене, учитываются их текущая успеваемость (аттестация и работа в
семестре).
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
185
ОҚЫТЫЛАТЫН ПӘНДІ БАҒДАРЛАМАЛЫҚ ЖӘНЕ МУЛЬТИМЕДИЯЛЫҚ
СҮЙЕМЕЛДЕУ
«Жүйелердің программалық жабдықтамаларын құру»
(пәннің мазмұнына бай
ланысты)
Теоретикалық материалды ұйымдастыруда келесі мультимедиа түрлері қолданылуы
мүмкін:
Видеодәріс.
Дәріс видеоға жазылады.
Желілік емес монтаж әдісімен ол мультимедиалық
қосымшалармен және дәрістің мазмұндық иллюстрациясымен толықтырылуы мүмкін. Мұ
ндай
қосымшалар дәріс құрылымын байыта түседі және оның мазмұнын студенттерге анық және
тартымды етіп көрсетеді. Теоретикалық материалдың құрылымын осындай тәсіл арқылы
құндылығын қолдана отырып, кез келген ыңғайлы уақытта қиын деген сұрақтарға қайтадан
алып, дәрісті тыңдау болып табылады.
Мультимедиа
дәріс.
Дәрістік материалға өзіндік жұмыс жасау интерактивті
компьютерлік оқу бағдарламасын талдау болып табылады. Бұл мультимедиалық құралдарды
қолдану арқылы құрылған теоретикалық материалдардың оқу құрал
ы. Әрбір білімгер
оқытылаиын материалды оптималды траекториялық тұрғыда таңдай алады және курс пен
оны оқу тәсілінің ыңғайлы жұмыс деңгейі. Сонымен қатар, оны қабылдаудың
психофизиологиялық ерекшеліктерінің максималды сәйкестілігіне де байланысты.
Осындай бағдарламаларда оқытылатын эффект маңызды бөлімшелеріне ғана
байланысты жетпейді, сонымен қатар, достық интерфейске де және қолдануына байланысты.
Мысалы: білімгердің теоретикалық оқу материалдарын қандай деңгейде меңгергенін бағалау
мақсатында те
сттік бағдарламаларды қолдану.
Дәстүрлі оқытылатын басылымдар
: электронды тексттік дәріс, қосымша конспектілер,
теоретикалық материалды оқудағы әдістемелік құрал және т.б.
Электронды тапсырмалар немесе мәліметтер базасы. Бұл жерде типтік және оқу курсы
бой
ынша барлық негізгі тақырыптарға арналған бірегей тапсырмалар. Сонымен қатар,
электронды тапсырмалар бір уақытта жаттықтырушы қызметін де орындайды. Оның көмегі
арқылы типтік тапсырмалар шешімінің дағдысын құру, сонымен қатар, алған теоретикалық
білім жән
е нақты мәселелер арасындағы байланысты білу. Олар нақты шешімге бағытталуы
мүмкін.
Интерактивті тақтаны пайдалану
LCD
проектор
ды қолдану
Компьютерлік кластардағы жұмыс
Сабақтық аудио және видео материалдар
Дәріс және тәжірибелік сабақ кезіндегі презентаци
ялық материалдарды көрсету үшін,
интерактивті тақта мен
LCD
проектор
мен жабдықталған мамандандырылған аудиторияларды
қолдану.
Презентация материалы
TUS (Tamos University Suite)
http://tus.turan.kz
білімгерлік
порталында жарияланған және белсенді пайдалану
шыларға қолайлы.
Тәжірибелік сабақтар компьютерлік кластарда өткізіледі. Бұл жерде
RAD STUDIO,
Delphi
құрылған болуы тиіс.
Пәннің бағдарламалық құрал
жабдықтармен қамтылуы:
Microsoft Windows XP операциондық жүйесі.
Microsoft Office XP офистік бағдарлам
асының пакеті.
Программалау тілі
DELPHI.
Электрондық оқулықтар
1. Калайда В.
Технология разработки программного обеспечения. Методическое пособие.
Томск: Изд.
во ТУСУР, 2007
Брауде Э. Д.
Технология разработки программного обеспечения
СПб.: Питер, 2004.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
186
с. (22 экз.)
3. Гантер Р.
Методы управления проектированием программного обеспечения.
М.: Мир,
с. (4 экз.)
4. Вендров
М. Проектирование программного обеспечения экономических
информационных систем.
М.: Финансы
и статистика, 2002.
с. (34 экз)
Оқытушы
: ________________________
Ахметжанова Ж.Б.
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
187
БЕКІТЕМІН
Декан
Экономика факультеті
Г.С. Маргацкая
МАМАНДАНДЫРЫЛҒАН АУДИТОРИЯЛАР, КАБИНЕТТЕР ЖӘНЕ
ЗЕРТХАНАЛАР ТІЗІМІ
Пән бойынша оқу процесін қолдануда
амандандырылған
аудиториялар, кабинеттер
және зертханалар, негізгі оқу
зертханалық құрылғылар, оқуға және бақылауға арналған
техникалық құрал
жабдықтарды қолдана отырып тізім жасалады.
кафедраның мамандандырылған ау
диториялары
«Ақпараттық технологиялар»
(кафедра атауы)

Жүйелердің программалық жабдықтамаларын құрастыру
пән бойынша сабақты өткізу
үшін

Аудитория
(кабинеттер,
зертханалар)
:m^blhjbyeZj^u�
(кабинеттерді,
зертханаларды) бекіту
I%g^�hulm�d_ag^_]�
he^ZgueZlug�jZe^Zj�f_g�
`Z[^ulZj
Компьютерл
к класс
Internet желісіне қосылған 23
Техникалық зертхана
Intern
et желісіне қосылған 20
ЖК, лабораториялық стендтер
НТЦ
5800, программалық
жабдықтамен, ЭМК
11, ЭМК
2, ЭМК
7, ОТТ
Компьютерл
к класс
Internet желісіне қосылған 23
Компьютерл
к класс
Internet желісіне қосылған 23
Компьютерл
к кл
Internet желісіне қосылған 23
Компьютерл
к класс
Internet желісіне қосылған 23
Оқытушы
: ________________________ Ахметжанова Ж.Б.
188
УТ 703
. Учебно
методический комплекс дисциплины. СМК. УТ. Издание
второе
ПӘННІҢ ОҚУ ЖӘНЕ ОҚУ
ӘДІСТЕМЕЛІК ӘДЕБИЕТТЕРМЕН ҚАМТЫЛУ КАРТАСЫ
Оқу пәні:
Жүйелердің программалық жабды
қтамаларын құрастыру
Кафедра
«Ақпараттық технологиялар»
Мамандық:
«Ақпараттық жүйелер»
Пән бойынша жалпы сағат саны: 135 с.,
оның ішінде: дәріс
30/18
с.;
Тәжірибе сабақтары (семинары):
0/9
сағ.,
зертханалық
сағат,
/32
с. ;, СӨЖ
/76
Сабақ түрі
Оқу
әдістемелік әдебиеттің атауы, авторы, қаласы,
басылымы, жылы.
Студенттер
саны
Университет
кітапханасындағы
(кафедрадағы)
әдебиеттер саны
Студенттердің
әдебиетпен қамтылуы
(гр.
/гр.
)*100%
Лекции
Ахметжанова Ж.Б.
йелердің программалық
жабдықтамаларын құрастыру
. Ақпараттық жүйелер
мамандығы студентеріне арналған оқу
әдістемелік
кешен. Алматы, «Тұран» университеті, 3012ж. 192 бет.
Ахметжанова Ж.Б.
Жүйелердің программалық
жабдықтамаларын құрастыру
. Ақпарат
тық жүйелер
мамандығы студентеріне арналған оқу
әдістемелік
кешен. Алматы, «Тұран» университеті, 3012ж.
Электрондық оқулық.
Орлов С.А, Технологии разработки программного
обеспечения.
СПб.: Питер, 2002.
Вендр
ов А.М. CASE
технологи
и. Современные методы и
средства проектирования информационных систем.
М.:
Финансы и статистика, 1998.
Оқу нысаны
күндізгі
:
урс,
семестр
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК УТ. Издание
второе
Калянов Г.Н. CASE структурный системный анализ
(автоматизация и применение).
М.: Издательство
«ЛОРИ», 1996.
Чеппел Д. Технологи
и ActiveX и OLE: Пер. с англ.
М.:
Издательский отдел «Русская редакция» ТОО «Channel
Trading Ltd.», 1997.
Липаев В.В. Проектирование программных средств:
Учебное пособие для вузов.
М.: Высшая школа, 1990.
Буч Г. Объектно
ориентиро
вание проектирование с
примерами применения: Пер. с англ.
М.: Конкорд,
Практиче
ские
занятия
Фаулер М., Скотт К. UML в кратком изложении.
Применение стандартного языка объектного
моделирования: Пер. с англ.
М: Мир.: 1999.
одатских В.А., Енгибарян М.А., Ковалевская Е.В. и
др. Экономика, разработка и использование
программного обеспечения ЭВМ. Учебник.
М.:
Финансы и статистика, 1995.
Спецвыпуск «Технологии программирования» /
КомпьютерПресс. № 9
Елманова Н.З., Трепалин С.В. Delphi 4: технология СОМ.
佌䔀Ⰰ⁁挀琀椀瘀攀堬
автоматизация
MIDAS, Microsoft
Transaction Server.
.:
Диалог
МИФИ
Дунаев С. INTRANET
технологии. WebDBC.
䍇䤀⸀
䌀伀刀䈀䄀′⸀〮⁎攀琀猀挀愀灥⸠匀畩琀⸠䈀潲氀愀湤⸠
䤀湴爀愀䈀畩氀摥爀⸠䨀愀癡⸠
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК УТ. Издание
второе
avaScript LiveWire
М.: Диалог
МИФИ, 1997.
Воронцов С.И., Храмов И.А. Microsoft Visual Basic 5.0:
ActiveX, DLL, Internet и другие.
М.: СОЛОН, 1998.
Палмер С. VBScript и ActiveX: библиотека
программиста.
СПб.: Питер, 1999.
Арм
стронг Т. ActiveX: создание Web
приложений: Пер.
с англ.
М.: BHV, 1998.
Пьюполо Дж. OLE: создание элементов управления: Пер.
с англ.
М.: BHV, 1997.
Маклаков С. В. BPwin и ERwin. CASE
средства
разработки информационных систем
М.:
Диалог
МИФИ, 1999.
ИТОГО:
Оқытылатын пәннің оқу және оқу
әдістемелік әдебиеттермен толық қамтылуы
Кафедра меңгерушісі __________________ Түсіпова С.А.
Оқытушы: __________________ Ахметжанова Ж.Б.
_______________2013 ж.
КЕЛІСІЛДІ:
Кітапхана д
иректор
______________ Т.В.Гора
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК УТ. Издание
второе
Ф УТ 703
. Учебно
методический комплекс дисциплины. СМК УТ. Издание
второе

Приложенные файлы

  • pdf 6999167
    Размер файла: 2 MB Загрузок: 0

Добавить комментарий