Объектіге бағытталған бағдарламалау



Жұмыс түрі:  Курстық жұмыс
Тегін:  Антиплагиат
Көлемі: 22 бет
Таңдаулыға:   
Әбілқас Сағынов атындағыҚарағанды техникалық университеті

Кафедра АТҚ

Курстық жұмыс
Объектіге бағытталғанJava бағдарламалау
( пәнінің атауы )
Тақырып: Шәкіртақы бағдарламасын құру



Қабылдады:
Сайлауқызы Ж ___
(баға) (оқытушының аты-жөні)
___
(қолы) (уақыты)

Комиссия мүшелері: Орындаған:
Хоснитдинов Б ___
(қолы, аты-жөні) (студенттің аты-жөні)
____ СИБ-21-4 ___
(қолы, аты-жөні) (группа)
___
(қолы, аты-жөні)

Қарағанды 2022
Әбілқас Сағынов атындағы Қарағанды техникалық университеті

Факультет ФИТ БЕКІТЕМІН
Кафедра АТҚ Кафедрамеңг.__________
(қолы)
______ ________2022ж.



КУРСТЫҚ ЖҰМЫСҚА ТАПСЫРМА

Объектіге бағытталғанJava бағдарламалау
СИБ-21-4 тобының студенті Хоснитдинов Баходир
Тақырып: Шәкіртақы бағдарламасын құру
Бастапқы мәліметтер: ОББ қағидалары, Intellij IDEA бағдарлама құру ортасы


Тапсырма берілді 6 қыркүйек 2022ж.
Жетекші Сайлауқызы Ж қолы
Студент Хоснитдинов Б қолы

Мазмұны

Кіріспе
4
1
Пәндік аймақты сипаттау
5
1.1
Объектіге бағытталған бағдарламалау
5
1.2
Бағдарламалау ортасын таңдау
9
1.3
Бағдарламалау ортасына қатысты техникалық талаптар
10
2
Жобалау бөлімі
11
2.1
Use case және UML сипаттамасы
11
2.2
Бағдарламаны сипаттау
15
2.3
Құрылған суперкластың сипаттамасы
16
2.4
Құрылған суперкластың әдістері мен деректері
17
3
Бағдарламалық қамтаманы жүзеге асыру
18
3.1
Тестілеу нәтижелері
18
3.2
Қолданушыға нұсқаулық
20

Қорытынды
21

Қолданылған әдебиеттер тізімі
22

Қосымша А (бағдарламалық код)
Қосымша Б
23
27
Кіріспе

Бұл курстық жұмыста біз Java тілімен танысамыз. Біз Java ОББұғымының негізгі технологиялар жиынтығын қарастырамыз, барлық негізгі тілдік құрылымдарды зерттейміз. Курстық жұмыстың бірінші бөлімі Java тіліне және оны қолданатын бағдарлама мен оған қажет техникалық аппаратқа арналады.
Java бағдарламалары Java виртуалды машинасы (JVM) орындайтын байт кодқа аударылады. JVM - бұл байт кодын өңдейтін және нұсқауларды аудармашы ретінде аппараттық құралға жіберетін бағдарлама. Бұл Java қолданбаларына операциялық жүйе мен аппараттық құралға қарамастан, сәйкес виртуалды машинасы бар кез келген құрылғыда жұмыс істеуге мүмкіндік береді.Java тілінің негізгі ерекшелігі оның коды алдымен платформаға тәуелсіз арнайы байт кодқа аударылады. Содан кейін бұл байт код JVM (Java Virtual Machine) виртуалды машинасымен орындалады. Осыған байланысты Java PHP немесе Perl сияқты стандартты интерпретацияланған тілдерден ерекшеленеді, олардың коды аудармашы бірден орындалады. Сонымен қатар, Java C немесе C++ сияқты таза құрастырылған тіл емес.
Курстық жұмыстың мақсаты берілген тапсырмаларды Java тілінде компилятор арқылы орындап, нәтижеге қол жеткізу. Ол тапсырмаларға ОББ ұғымын қосу арқылы жұмысты күрделендіру. Осы арқылы Java бағдарламаға бағытталған тілін меңгеру.
Курстық жұмысқа арналған мақсаттар:
1. ОББ ұғымын зеріттеу.
2. Use case және UML диаграммасымен танысу.
3. Бағдарламаны әзірлеу.
4. Құрылған бағдарламаны іске қосу.
5. Дайын бағдарламаны тестілеу.
Менің курстық жұмысыма берілген тапсырма ол - "Шәкіртақы" бағдарламасын құру, және сол жердегі студент пен шәкіртақы арасындағы берілген тапсырманы орындау. Бірнеше класстарды қолдана отырып жұмыс істеу, сонымен қатар тәжірбиені арттыру.

1 Пәндік аймақты сипаттау

Java - бүгінгі таңда ең кең таралған және танымал бағдарламалау тілдерінің бірі. Тілдің бірінші нұсқасы 1996 жылы Sun Microsystems-те пайда болды және кейінірек Oracle оны сіңірді. Java әр түрлі тапсырмаларды орындау үшін қолданылатын жан-жақты бағдарламалау тілі болу үшін жасалған. Java тілі көптеген түрлі нұсқалары жарияланған ұзақ жолдан өтті. Ағымдағы нұсқасы - Java 19, 2022 жылдың 20 қыркүйегінде шығарылды.Ал Java әмбебап тілден әртүрлі тапсырмалар үшін пайдаланылатын әртүрлі технологияларды біріктіретін тұтас платформа мен экожүйеге айналды: жұмыс үстелі қосымшаларын жасаудан бастап үлкен веб-порталдар мен қызметтерді жазуға дейін. Сонымен қатар, Java тілі көптеген құрылғылар үшін бағдарламалық жасақтаманы жасау үшін белсенді қолданылады: кәдімгі компьютерлер, планшеттер, смартфондар мен ұялы телефондар, тіпті тұрмыстық техника. Көптеген бағдарламалар Java тілінде жазылған Android мобильді ОЖ-ның танымалдылығын еске түсіру жеткілікті.

1.1 Объектіге бағытталған бағдарламалау

Java жолына кіріспес бұрын объектіге бағытталған бағдарламалаудың (OOP) негізгі терминологиясы мен тұжырымдамаларын түсіну маңызды. Бұл бөлімде толық сипаттаудан гөрі негізгі ұғымдарға шолу жасауға назар аударылады. Ұғымдардың толығырақ сипаттамасы келесі сабақтарда шығарылады.
Java әр түрлі орындалатын элементтердің үлкен санын құруды қолдайды: қолданбалар, апплеттер, сервлеттер. Бұл бөлім Java қолданбасының негізгі элементтерін қамтиды. Бағдарламалау тілін үйрену кезінде тәжірибе кемелділікке әкеледі деген ескі нақыл шындыққа сәйкес келеді. Бағдарламалауды және жаттығуларды орындауды жеңілдету үшін бұл бөлім Java қолданбаларын құрастыру және іске қосу туралы шолу жасайды.
Күрделілікті басқарудың негізгі тәсілдерінің бірі абстракция арқылы.
Абстракция оны басқа объектілерден ерекшелендіретін объектінің негізгі қасиеттері мен әрекетін көрсетуге көмектеседі. OOP мәні класстар мен объектілерді пайдаланып абстракцияны модельдеу болып табылады. Бұл процестің ең қиын бөлігі - дұрыс абстракцияны табу.
Класс объектілер санатын көрсетеді және осындай объектілерді құруға арналған пішін ретінде әрекет етеді. Класс қасиеттер мен мінез-құлықты сипаттау арқылы оны көрсететін нысандар үшін абстракцияны модельдейді. Нысан өз класымен анықталған сипат пен әрекетті көрсетеді. Класс нысанының қасиеттері атрибуттар деп те аталады және Java тілінде өрістер ретінде анықталады.
Класс мәлімдемесіндегі өріс - белгілі бір сипатты көрсететін мәнді сақтай алатын айнымалы. Класс нысанының әрекеттері операциялар ретінде де белгілі және Java тілінде әдістер арқылы анықталады. Класс мәлімдемесіндегі өрістер мен әдістер ұжымдық түрде мүшелер деп аталады.
Сыныптан объектілерді құру процесі инстанция деп аталады. Объект - бұл сыныптың данасы. Нысан сыныптан пішін ретінде жасалады және сынып көрсететін абстракцияның данасы болып табылады. Объектіні бағдарламада пайдалану үшін оны жасау керек. Java тілінде нысандар нысан сілтемелері (сонымен қатар анықтамалық мәндер немесе жай сілтемелер деп аталады) арқылы өңделеді. Объектілерді құру процесі әдетте келесі қадамдарды қамтиды.
Жаңа оператор CharStack сыныбының жаңа данасына сілтемені қайтарады. Бұл сілтеме сәйкес түрдегі анықтамалық айнымалыға тағайындалуы мүмкін. Әрбір нысан бірегей және сынып декларациясында жарияланған өрістердің жеке көшірмесі бар. stack1 және stack2 деп белгіленген екі стектің өз stackArray және topOfStack өрістері бар.
Жаңа оператордың оң жағындағы конструктор шақыруының мақсаты жаңадан жасалған нысанды инициализациялау болып табылады. Біздің нақты жағдайда, жаңа оператор жасаған CharStack класының әрбір жаңа данасы үшін конструктор таңбалар жиымын жасайды. Массивтің ұзындығы конструктор аргументінің мәнімен беріледі. Сондай-ақ, конструктор topOfStack өрісін инициализациялайды.
Java - объектіге бағытталған тіл. Ол полиморфизмді, мұрагерлікті, статикалық теруді қолдайды. Объектіге бағытталған тәсіл үлкен, бірақ сонымен бірге икемді, масштабталатын және кеңейтілетін қосымшаларды құру мәселелерін шешуге мүмкіндік береді.
Объектіге бағытталған бағдарламалау (OOP) - бұл ондаған жылдар бойы қалыптасқан және Java, Python және C сияқты танымал бағдарламалау тілдерінде бар бағдарламалау парадигмасы. Бағдарламаны құрылымдаудың бұл әдісі қасиеттері мен мінез-құлқы бар объектілерді пайдаланады. Java - бір рет жазу, кез келген жерде іске қосу принципі бар сыныпқа негізделген объектіге бағытталған бағдарламалау тілі.
OOP төрт негізгі қағидасы - мұрагерлік, инкапсуляция, абстракция және полиморфизм. Біз оларды кейінірек Java арқылы қарастырамыз.
Абстракция - маңыздырақ атрибуттарды қолдау үшін нысанның немесе жүйенің атрибуттарын жою немесе жасыру процесі. Java тілінде абстракцияға абстрактілі сыныптар немесе интерфейстер арқылы қол жеткізуге болады.
Абстрактілі класс - бұл объектілерді жасау үшін пайдаланылмайтын және тек мұра арқылы қол жеткізуге болатын шектеулі класс. Бұл класс түрлері абстрактілі кілт сөзі арқылы жарияланады.

Кәдімгі сыныпқа қарағанда дерексіз класста дерексіз әдіс болуы мүмкін. Абстрактілі әдістің денесі немесе анықтамасы жоқ және жеке болуы қажет емес, оның декларациясында болуы керек:
1. Кіру идентификаторы.
2. дерексіз кілт сөз.
3. қайтару түрі.
4. Әдістің атауы.
5. Өткізілетін параметрлер.
6. ";" жарнаманың соңында.
Абстрактілі сыныпта кәдімгі Java класы сияқты басқаның бәрі болуы мүмкін, яғни конструктор, статикалық айнымалылар және әдістер.
Конструкторлар жаңа нысан күйлерін инициализациялау үшін пайдаланылады. Олар нысан жасалған кезде класс айнымалысына мән береді. Конструктор өз класымен бірдей атпен жарияланады және қайтару түрі жоқ. Оны бірінші мүше әдісі ретінде жариялауанықтау ұсынылады.
Әдістер сияқты конструкторларды шамадан тыс жүктеуге болады. Конструкторлардың әдістерден айырмашылығы оларда қайтару түрі жоқ. Екіншіден, конструкторлар объект құрылған кезде бір рет шақырылады.
Конструкторлардың 2 негізгі түрі бар:
1. Әдепкі конструктор: ол дәлелсіз конструктор ретінде де белгілі. Бұл ең қарапайым конструктор. Бұл әдепкі мәндермен инициализацияланған деректер мүшелері бар нысанды жасайтын сыныптың деректер мүшелері үшін әдепкі мәндерді анықтайды.
2. Параметрленген конструктор: Параметрленген конструкторда конструкторға аргументтерді жібереміз және оларды деректер мүшелерінің мәндері ретінде орнатамыз. Олар өз мәндерімен сынып өрістерін орнату үшін пайдаланылады.
Егер конструктор сыныпта анықталмаса, JVC аргументі жоқ әдепкі конструкторды кірістіреді және оның аргументтерін нөлге немесе нөлге орнатады.
Келесі код үзіндісі әдепкі конструкторларды және параметрленген конструкторларды жақсырақ түсінуге көмектеседі. Мұнда бізде әдепкі конструкторы бар Date класы бар және біз одан негізгі() нысанында объект жасаймыз.
Инкапсуляция - бұл деректерді жасыру үшін қолданылатын OOP әдісі. Инкапсуляцияны өз класынан тыс кез келген кодтың деректерге қол жеткізуіне жол бермейтін қорғаныш қаптама ретінде қарастырыңыз.
Бұған сыныптағы айнымалы мәндерді жеке деп жариялау және айнымалы мәндерді алу және орнату үшін жалпы әдістерді жариялау арқылы қол жеткізуге болады.
Инкапсуляция сыныптарға өз өрістерінде сақталған нәрселерді толық бақылауға мүмкіндік береді. Ол сондай-ақ икемділікті арттырады, өйткені біз қай айнымалылардың оқужазу рұқсаттары бар екенін шешеИнкапсуляцияның жақсы мысалы авторизацияны жүзеге асыру болады. Пайдаланушы аты мен құпия сөз өрістері жеке болып жарияланады. Бұл деректер үшін жалпыға ортақ әдістер іске асырылатын болады.
Жеңілдетілген: деректері бар өрістер жеке болып табылады және жалпы әдістер осы өрістерге қол жеткізу үшін интерфейсті қамтамасыз етеді.
Мұрагерлік OOP маңызды принципі болып табылады. Java тілінде мұра - бұл еншілес класс ата-аналық сыныптың атрибуттарын иеленетін механизм.
Еншілес сынып анықталғанда, ол бар сыныпқа (ата-аналық сынып) негізделеді және ата-аналық сыныптың жалпы әдістерін немесе деректер мүшелерін кеңейтеді. Туынды класс оның қасиеттерін мұраға алу үшін негізгі сыныптан кеңейтіледі.
Мұрагерлік қайта пайдалану мүмкіндігін қолдайды, бұл объектіге бағытталған бағдарламалауда өте маңызды. Бұл біздің Java кодымыздың кейбір бөліктерін оның негізгі атрибуттарын өзгертпей жаңартуға көмектеседі.
Java тіліндегі This кілт сөзі ағымдағы класс данасына сілтеме жасау үшін пайдаланылады.
Сол сияқты, Java тіліндегі super кілт сөзі тікелей ішкі сынып ішіндегі суперкласс мүшелеріне сілтеме жасау үшін қолданылады.
Полиморфизм - аттас нысандарды ажыратуға мүмкіндік беретін OOP мүмкіндігі. Бұл бір әрекетті әртүрлі тәсілдермен орындауға мүмкіндік береді. Полиморфизм Java тілінде қолданылады, себебі ол кодты қайта пайдалануға көмектеседі. Бір айнымалы деректердің бірнеше түрін сақтау үшін пайдаланылуы мүмкін.
Жеңілдетілген: полиморфизм әртүрлі пішіндер мен мінез-құлықтарды көрсететін бір нысанды білдіреді.
Жақсы мысал әртүрлі пішіндердің ауданын табу үшін getArea() әдісі бар Shape класы болар еді. Shape сыныбында бір ғана жалпы getArea() әдісі болады.
OOP-те полиморфизмнің екі түрі бар. Компиляция уақытында шешілетін полиморфизм статикалық полиморфизм деп аталады. Әдістің шамадан тыс жүктелуі статикалық полиморфизмнің тамаша мысалы болып табылады.
Екінші жағынан, динамикалық полиморфизм орындалу уақытында шешіледі. Динамикалық полиморфизмде әдісті қайта анықтау қолданылады. Ол ішкі сыныптағы ата-аналық сынып әдісін қайта анықтауды қамтиды.
Бұл еншілес сыныпқа оның орындалуын ата-аналық сынып ұсынған әдіске өткізуге мүмкіндік береді. Содан кейін ата-аналық класс әдісі қайта анықтау әдісі деп аталады, ал еншілес сыныптардың әдістері қайта анықтау әдістері деп аталады.
Егер бұрыннан барлардан жаңа класстарды құру жинақтау механизмі арқылы жүзеге асатын болса, онда құрамдас объект оның бөліктері болып табылатын басқа құрамдас объектілерден құрастырылады.

1.2 Бағдарламалау ортасын таңдау

Java - даму ортасы жеке мамандардың қалауы емес, өмір сүрудің нақты құралы болып табылатын тілдердің бірі. Жүйенің барлық элементтері дұрыс конфигурацияланбайынша, күрделі тілді оқу және орындау мүмкін емес. Кейде веб-әзірлеушіге мұндай көлемді және өнімді бағдарламалық құрал не үшін қажет екенін түсіну қиын. HTMLCSS, JavaScript және PHP сияқты барлық веб-тілдерді қосымша бағдарламалық қамтамасыз етусіз жүзеге асыруға болады (бірақ соңғысы үшін ең жоғары ақылы IDE бар - PHPStorm). Бірақ Java-ға келгенде бәрі орнына келеді. Ұзын және күрделі кодтық құжаттар қолмен ұйымдастыруға қарсы.
Бірақ, әдеттегідей, идеологияның қарсыластары бар. Кейбір әзірлеушілер IDE-ді балдақ деп атайды, олар тек аз дайындалған бағдарламашыларға қажет. Олар үшін әзірлеу ортасын жүктеп алу негіздерін алдаумен бірдей. Өкінішке орай, бұл тәсіл әзірлеушіні бағдарламалау эволюциясынан артта қалдыруы мүмкін: жоғары функционалды веб-қосымшалар сияқты ірі корпоративтік жобалар топ мүшелерінің өзара тығыз әрекеттесуін, жылдам іске қосуды және кодты жөндеуді қажет етеді. Сонымен қатар, негізгі IDE-мен жұмыс істеу шеберлігі ең жақсы лауазымдарға жұмысқа орналасу критерийі болып табылады.
IntelliJ IDEA -- Java виртуалды машинасына негізделген JetBrains шығарған IDE. Ортаның өзі де Java тілінде және ішінара Python тілінде жазылған және оларға арналған. Олар бірден өздерін 2001 жылы Java ортасы ретінде анықтады. Содан кейін әзірлеу ортасы IDEA-ны бірден шыңға шығаратын рефакторинг құралдарының тұтас кітапханасын енгізді. Әзірлеушілер ыңғайлылық үшін емес, өнімділіктің пайдасына таңдау жасады. Кейбір әдеттегі операцияларды әзірлеу ортасы толығымен орындайды.
IDEA - нағыз ақылды деп атауға болатын әзірлеу орталарының бірі. Ең қарапайым мәтіндік редактордың өзінде бар түзетулер мен бөлектеулердің орнына IDEA автоматты аяқтауды ұсынады: дайын бағдарламаның фрагменттері әзірлеушінің қолында жасалады. Барлық жақшалар мен басқа синтаксистік жақсылықтар автоматты түрде жабылатынын айтудың қажеті жоқ. Ал егер бірдеңе дұрыс болмаса және IDEA мәселені шеше алмаса, ол бірден экранның екінші жағындағы Java әзірлеушісіне сигнал береді.
Пара және рефакторинг, ол бірден бірнеше тілде жүреді. Джависистер код ешқашан таза Java емес екенін біледі, әсіресе веб-әзірлеуге қатысты. Бұған мәліметтер қоры тілдері, гипермәтін және т.б. Бұл кезде IDEA көпшілігі әлі жасай алмайтын нәрсені жасайды: жазылған бағдарламаны талдау арқылы IDE тілдерді бір-бірінен бөліп, оларды бөлек талдайды.

1.3 Бағдарламалау ортасына қатысты техникалық талаптар

IntelliJ IDEA Жүйе талаптары Windows:
1. Microsoft Windows 10, 64 биттік нұсқасы.
2. Кемінде 2 ГБ бос жедел жады.
3. 8 ГБ жедел жады ұсынылады.
4. 2,5 ГБ бос дискілік кеңістік, SSD ұсынылады .
5. Экран ажыратымдылығы кемінде 1024x768 пиксель.
macOS:
1. macOS 10.14 немесе одан кейінгі нұсқасы .
2. Кемінде 2 ГБ бос жедел жады.
3. 8 ГБ жедел жады ұсынылады .
4. 2,5 ГБ бос дискілік кеңістік, SSD ұсынылады.
Экран ажыратымдылығы кемінде 1024x768 пиксель.
2 Жобалау бөлімі

Жобалаудың бірнеше түрлері бар, сонымен қатар оны қолданудағы ерекшеліктермен танысатын боламыз. Бағдарламалық кодтың кескіні бірнеше схема түрлерінде көрсетіледі.
Жобалау бөлімі - бұл бағдарламалық кодты құру үшін ең алдымен графикалық түрде жобасын, яғни сызба түрінде схемалар құру. Оларды құру арқылы біз бағдарламалық қамтаманың қанша бөлігі және қандай операторлары бар екенін біле алмаыз. Сол арқылы бағдарламалық қамтаманы оңай меңгеруге, тексеріге, қолдануға болады.

2.1 Use case және UML сипаттамасы

Use case (сонымен қатар use case, use case) - белгілі бір мақсатқа жету үшін пайдаланушының (немесе пайдаланушылардың) бағдарламалық өніммен өзара әрекеттесу сценарийі.
Пайдалану жағдайлары келесі ақпаратты қамтиды:
1. Сайтты немесе қолданбаны кім пайдаланады.
2. Пайдаланушы не істегісі келеді.
3. Пайдаланушы мақсаты.
4. Пайдаланушы белгілі бір әрекетті орындау үшін орындайтын қадамдар.
5. Сайттың немесе қолданбаның пайдаланушы әрекеттеріне қалай жауап ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Объектіге бағытталған тілдер
Қорғаныс істері жөніндегі департаментінің ақпараттық қауіпсіздік мәселелерін объектіге бағытталған бағдарламалау көмегімен жобалау
Java программалау тілі
Полиморфизм - бір иерархиядағы объектілер үшін бір атаумен берілген әдістерді қолдану мүмкіндігі
Объектіге бағытталған Java бағдарламалау
Объектіге бағытталған программалаудың принциптері
C бағдарламасы бойынша практикум құру
Таңдау операторлары - Шартты оператор және қосқыш
Ішкі бағдарламалар
UNIX бағдарламалау ортасында жарамды
Пәндер