Инструментальное программное обеспечение +ИСР

Содержание

Слайд 2

Инструментальное программное обеспечение

Инс­тру­мен­тальное прог­рам­мное обес­пе­чение — прог­рам­мное обес­пе­чение, пред­назна­чен­ное для ис­пользо­вания в хо­де про­ек­ти­рова­ния,

Инструментальное программное обеспечение Инс­тру­мен­тальное прог­рам­мное обес­пе­чение — прог­рам­мное обес­пе­чение, пред­назна­чен­ное для ис­пользо­вания
раз­ра­бот­ки и соп­ро­вож­де­ния прог­рамм.
Инс­тру­мен­тальное прог­рам­мное обес­пе­чение ис­пользу­ет­ся для соз­да­ния прог­рам­мных про­дук­тов в лю­бой об­ласти, вклю­чая и сис­темные и прик­ладные прог­раммы. В нас­то­ящее вре­мя для соз­да­ния прог­рам­мных про­дук­тов при­меня­ют­ся мощ­ные сис­те­мы ви­зу­ально­го прог­рамми­рова­ния, ко­торые вклю­ча­ют в се­бя об­ширные биб­ли­оте­ки стан­дар­тных прог­рамм, спе­ци­альные средс­тва от­ладки и тес­ти­рова­ния.

Слайд 3

Инструментальное программное обеспечение

Сис­те­мы прог­рамми­рова­ния пред­назна­чены для раз­ра­бот­ки но­вых прог­рамм на кон­крет­ном язы­ке прог­рамми­рова­ния

Инструментальное программное обеспечение Сис­те­мы прог­рамми­рова­ния пред­назна­чены для раз­ра­бот­ки но­вых прог­рамм на кон­крет­ном
и вклю­ча­ют в се­бя ком­пи­лято­ры, ин­тер­пре­тато­ры, ди­ало­говую сре­ду, ре­дак­то­ры тек­стов, биб­ли­оте­ки стан­дар­тных под­прог­рамм, ком­по­нов­щи­ки, от­ладчи­ки, спра­воч­ные служ­бы, средс­тва ав­то­мати­зиро­ван­но­го тес­ти­рова­ния, сис­те­мы уп­равле­ния вер­си­ями и др.

Слайд 4

Инструментальное программное обеспечение

Инструментальное программное обеспечение

Слайд 5

Инструментальное программное обеспечение

Инструментальное программное обеспечение

Слайд 6

Инструментальное программное обеспечение

Инструментальное программное обеспечение

Слайд 7

Инструментальное программное обеспечение

Кро­ме то­го, в инс­тру­мен­тальное прог­рам­мное обес­пе­чение вхо­дят SDK, ас­сем­блер, ге­нера­тор до­кумен­та­ции.
SDK

Инструментальное программное обеспечение Кро­ме то­го, в инс­тру­мен­тальное прог­рам­мное обес­пе­чение вхо­дят SDK, ас­сем­блер,
(Software Development Kit) — ком­плект средств раз­ра­бот­ки, ко­торый поз­во­ля­ет спе­ци­алис­там по прог­рам­мно­му обес­пе­чению соз­да­вать при­ложе­ния для оп­ре­делен­но­го па­кета прог­рамм, прог­рам­мно­го обес­пе­чения ба­зовых средств раз­ра­бот­ки, ап­па­рат­ной плат­формы, компьютер­ной сис­те­мы, ви­де­оиг­ро­вых кон­со­лей, опе­ратив­ных сис­тем и про­чих плат­форм.

Слайд 8

Инструментальное программное обеспечение

Ас­сем­блер — компьютер­ная прог­рамма, ком­пи­лятор ис­ходно­го тек­ста прог­раммы, на­писан­ной на язы­ке ас­сем­бле­ра,

Инструментальное программное обеспечение Ас­сем­блер — компьютер­ная прог­рамма, ком­пи­лятор ис­ходно­го тек­ста прог­раммы, на­писан­ной
в прог­рамму на ма­шин­ном ко­де. Как и сам язык, ас­сем­бле­ры, как пра­вило, спе­цифич­ны для кон­крет­ной ар­хи­тек­ту­ры, опе­раци­он­ной сис­те­мы и ва­ри­ан­та син­такси­са язы­ка. Вмес­те с тем су­щес­тву­ют мультип­латфор­менные или вов­се уни­вер­сальные (точ­нее, ог­ра­ничен­но-уни­вер­сальные, по­тому что на язы­ке низ­ко­го уров­ня нельзя на­писать ап­па­рат­но-не­зави­симые прог­раммы) ас­сем­бле­ры, ко­торые мо­гут ра­ботать на раз­ных плат­формах и опе­раци­он­ных сис­те­мах.

Слайд 9

Инструментальное программное обеспечение

Ге­нера­тор до­кумен­та­ции — прог­рамма или па­кет прог­рамм, поз­во­ля­ющая по­лучать до­кумен­та­цию, пред­назна­чен­ную

Инструментальное программное обеспечение Ге­нера­тор до­кумен­та­ции — прог­рамма или па­кет прог­рамм, поз­во­ля­ющая по­лучать
для прог­раммис­тов и/или для ко­неч­ных пользо­вате­лей сис­те­мы, по осо­бым об­ра­зом ком­менти­рован­но­му ис­ходно­му ко­ду и, в не­кото­рых слу­ча­ях, по ис­полня­емым мо­дулям (по­лучен­ным на вы­ходе ком­пи­лято­ра).

Слайд 10

Концепция современной интегрированной среды разработки приложений

Ин­тегри­рован­ная сре­да раз­ра­бот­ки прог­рам­мно­го обес­пе­чения (Integrated Development Environment —

Концепция современной интегрированной среды разработки приложений Ин­тегри­рован­ная сре­да раз­ра­бот­ки прог­рам­мно­го обес­пе­чения (Integrated
IDE) — сис­те­ма прог­рам­мных средств, ис­пользу­емая прог­раммис­та­ми для раз­ра­бот­ки прог­рам­мно­го обес­пе­чения.

Слайд 11

Концепция современной интегрированной среды разработки приложений

Обыч­но сре­да раз­ра­бот­ки вклю­ча­ет в се­бя тек­сто­вый ре­дак­тор,

Концепция современной интегрированной среды разработки приложений Обыч­но сре­да раз­ра­бот­ки вклю­ча­ет в се­бя
ком­пи­лятор и/или ин­тер­пре­татор, средс­тва ав­то­мати­зации сбор­ки и от­ладчик. Иног­да так­же со­дер­жит сис­те­му уп­равле­ния вер­си­ями и раз­но­об­разные инс­тру­мен­ты для уп­ро­щения конс­тру­иро­вания гра­фичес­ко­го ин­терфейса пользо­вате­ля. Мно­гие сов­ре­мен­ные сре­ды раз­ра­бот­ки так­же вклю­ча­ют бра­узер клас­сов, ин­спек­тор объек­тов и ди­аг­рамму иерар­хии клас­сов для ис­пользо­вания при объек­тно-ори­ен­ти­рован­ной раз­ра­бот­ке прог­рам­мно­го обес­пе­чения.
Ин­тегри­рован­ная сре­да раз­ра­бот­ки (ИСР) име­ет об­щую ин­те­рак­тивную гра­фичес­кую обо­лоч­ку, под­держи­ва­ющую вы­пол­не­ние всех ос­новных фун­кций жиз­ненно­го цик­ла раз­ра­бот­ки.

Слайд 12

Концепция современной интегрированной среды разработки приложений

Для каж­дой из ин­тегри­рован­ных сред раз­ра­бот­ки прог­рамм

Концепция современной интегрированной среды разработки приложений Для каж­дой из ин­тегри­рован­ных сред раз­ра­бот­ки
ха­рак­терно на­личие сле­ду­ющих ком­по­нен­тов:
еди­ная ин­те­рак­тивная обо­лоч­ка, обес­пе­чива­ющая вы­зов всех дру­гих ком­по­нен­тов, не вы­ходя из сре­ды, с ши­роким ис­пользо­вани­ем фун­кци­ональных кла­виш;
тек­сто­вый ре­дак­тор для на­бора и ре­дак­ти­рова­ния ис­ходных тек­стов прог­рамм. В не­дав­нем прош­лом в оте­чес­твен­ной тра­диции ис­пользо­вал­ся имен­но тер­мин «ис­ходный текст», впос­ледс­твии стал ис­пользо­ваться тер­мин «ис­ходный код» (source code);
сис­те­ма под­дер­жки сбор­ки (build), т. е. ком­пи­ляции про­ек­тов из ис­ходных ко­дов, вклю­ча­ющая ком­пи­лятор с ис­ходно­го ре­али­зу­емо­го язы­ка и ком­по­нов­щик (linker) объек­тных би­нар­ных ко­дов в еди­ный ис­полня­емый код (заг­ру­зоч­ный мо­дуль); ком­по­нов­щик ис­пользу­ет­ся ли­бо штат­ный, вхо­дящий в сос­тав опе­раци­он­ной сис­те­мы, ли­бо спе­цифич­ный для дан­ной сре­ды;
от­ладчик (debugger) для от­ладки прог­рамм в сре­де с по­мощью ти­пич­но­го на­бора ко­манд: точ­ки ос­та­нова, по­шаго­вое вы­пол­не­ние про­цедур (ме­тодов), ви­зу­али­зация зна­чений пе­ремен­ных и др.

Слайд 13

Концепция современной интегрированной среды разработки приложений

ИСР обыч­но пред­назна­чены для нес­кольких язы­ков прог­рамми­рова­ния

Концепция современной интегрированной среды разработки приложений ИСР обыч­но пред­назна­чены для нес­кольких язы­ков
— та­кие как IntelliJ IDEA, NetBeans, Eclipse, Qt Creator, Geany, Embarcadero RAD Studio, Xcode или Microsoft Visual Studio, но есть и ИСР для од­но­го оп­ре­делен­но­го язы­ка прог­рамми­рова­ния, как, нап­ри­мер, Visual Basic, Delphi, Dev-C++.
Час­тный слу­чай ИСР — сре­ды ви­зу­альной раз­ра­бот­ки, ко­торые вклю­ча­ют в се­бя воз­можность ви­зу­ально­го ре­дак­ти­рова­ния ин­терфейса прог­раммы.
Сов­ре­мен­ные тек­сто­вые ре­дак­то­ры в ин­тегри­рован­ных сре­дах обес­пе­чива­ют так­же ре­жим ав­то­мати­чес­ко­го за­вер­ше­ния ко­да (code completion), ко­торый в них вклю­чен по умол­ча­нию и в ко­тором ре­дак­тор сре­ды под­ска­зыва­ет раз­ра­бот­чи­ку воз­можные и син­такси­чес­ки пра­вильные его про­дол­же­ния, нап­ри­мер, от­сутс­твие зак­ры­ва­ющей скоб­ки, от­сутс­твие точ­ки с за­пятой; воз­можные ва­ри­ан­ты имен ме­тодов при вы­зове ме­тода от объек­та ка­кого-ли­бо оп­ре­делен­но­го клас­са, и т. д.

Слайд 14

Концепция современной интегрированной среды разработки приложений

Концепция современной интегрированной среды разработки приложений

Слайд 15

Концепция современной интегрированной среды разработки приложений

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

Концепция современной интегрированной среды разработки приложений В сов­ре­мен­ных вер­си­ях ин­тегри­рован­ных сред име­ют­ся
ком­по­нен­ты.
Про­фили­ров­щик (profiler) — инс­тру­мент для мо­нито­рин­га ак­тивнос­ти пользо­вате­лей, на­коп­ле­ния и ана­лиза ста­тис­ти­чес­ких дан­ных, по­лучен­ных в ре­зульта­те вы­пол­не­ния прог­раммы под уп­равле­ни­ем ин­тегри­рован­ной сре­ды: число вызовов процедур (методов), объем памяти, используемой при выполнении программ, и т.д.
Ре­фак­то­ринг (refactoring) — инс­тру­мен­та­рий для ре­ор­га­низа­ции ко­да — из­ме­нения внут­ренней струк­ту­ры прог­раммы, не зат­ра­гива­ющий ее внеш­не­го по­веде­ния и име­ющий целью об­легчить по­нима­ние ее работы.
Ге­нера­тор тес­тов (unit test generator) — инс­тру­мент для ге­нера­ции ти­повых тес­тов для тес­ти­рова­ния мо­дулей, ме­тодов или про­цедур с раз­личны­ми воз­можны­ми со­чета­ни­ями зна­чений ар­гу­мен­тов.

Слайд 16

Концепция современной интегрированной среды разработки приложений

Сис­те­ма уп­равле­ния вер­си­ями ис­ходных ко­дов (source code

Концепция современной интегрированной среды разработки приложений Сис­те­ма уп­равле­ния вер­си­ями ис­ходных ко­дов (source
control system) для об­легче­ния ра­боты с из­ме­ня­ющейся ин­форма­ци­ей. Сис­те­ма уп­равле­ния вер­си­ями поз­во­ля­ет хра­нить нес­колько вер­сий файлов ис­ходных ко­дов про­ек­тов в сре­де при соп­ро­вож­де­нии прог­рамм.
Инс­тру­мен­ты под­дер­жки ко­ман­дной раз­ра­бот­ки прог­рамм (teamwork) — эта­пов жиз­ненно­го цик­ла прог­раммы (тре­бова­ния и спе­цифи­кации, про­ек­ти­рова­ние, ре­али­зация, тес­ти­рова­ние), рас­пре­деле­ния за­даний по раз­ра­бот­ке сре­ди учас­тни­ков ко­ман­ды прог­раммис­тов, кон­тро­ля вы­пол­не­ния за­даний ме­нед­же­ром про­ек­та.
Инс­тру­мен­ты ана­лиза ко­да (code analysis) — спе­ци­альное прог­рам­мное обес­пе­чение для ста­тичес­ко­го и ди­нами­чес­ко­го ана­лиза ко­да про­ек­та. Ста­тичес­кий ана­лиз ко­да (static code analysis) — ана­лиз прог­рам­мно­го обес­пе­чения, про­из­во­димый в от­ли­чие от ди­нами­чес­ко­го ана­лиза без ре­ально­го вы­пол­не­ния ис­сле­ду­емых прог­рамм. Ди­нами­чес­кий ана­лиз ко­да (dynamic program analysis) — ана­лиз прог­рам­мно­го обес­пе­чения, про­води­мый при по­мощи вы­пол­не­ния прог­рамм на ре­альном или вир­ту­альном про­цес­со­ре (в от­ли­чие от ста­тичес­ко­го ана­лиза). 

Слайд 17

Концепция современной интегрированной среды разработки приложений

Инструменты ви­зу­али­зации сге­нери­рован­но­го би­нар­но­го ко­да — ме­тодов,

Концепция современной интегрированной среды разработки приложений Инструменты ви­зу­али­зации сге­нери­рован­но­го би­нар­но­го ко­да —
пе­ремен­ных, их имен  и т.д.
Инс­тру­мен­ты «за­путы­вания» ко­да (obfuscation), вы­пол­ня­ющие имен­но с этой целью за­мену имен эле­мен­тов ко­да — клас­сов, ме­тодов, по­лей и т. д. на не­понят­ные, «слу­чайные», «за­путан­ные» име­на, в це­лях зат­рудне­ния изу­чения де­ком­пи­лиро­ван­но­го би­нар­но­го ко­да, для за­щиты от «взло­ма» ко­да зло­умыш­ленни­ками, ко­торые хо­тят не­сан­кци­они­рован­ным об­ра­зом прис­во­ить се­бе но­вые идеи, со­дер­жа­щи­еся в ко­де, ли­бо изу­чить его со зло­наме­рен­ны­ми це­лями ор­га­низа­ции атак.
Под­дер­жка соз­да­ния раз­личных ви­дов прог­рам­мных про­ек­тов и ре­шений на ос­но­ве ти­повых шаб­ло­нов ко­да; ме­ханизм раз­ра­бот­ки рас­ши­рений. При сов­ре­мен­ной раз­ра­бот­ке прог­рамм час­то тре­бу­ет­ся соз­да­вать раз­личные при­ложе­ния — кон­сольные, веб-при­ложе­ния и веб-сер­ви­сы, мо­бильные при­ложе­ния, об­лачные при­ложе­ния и др. Для каж­дой из этих раз­но­вид­ностей тре­бу­ет­ся раз­ра­бот­ка спе­цифи­чес­кой струк­ту­ры файлов ис­ходно­го ко­да, а так­же кон­фи­гура­ци­он­ных файлов. Сов­ре­мен­ные ин­тегри­рован­ные сре­ды ав­то­мати­зиру­ют соз­да­ние раз­лично­го ро­да про­ек­тов, пре­дос­тавляя шаб­ло­ны ис­ходно­го ко­да и ге­нери­руя ав­то­мати­чес­ки не­об­хо­димые для про­ек­та кон­фи­гура­ци­он­ные файлы.

Слайд 18

Концепция современной интегрированной среды разработки приложений

Под­дер­жка мо­дели­рова­ния струк­ту­ры прог­рамм на уни­фици­рован­ном язы­ке

Концепция современной интегрированной среды разработки приложений Под­дер­жка мо­дели­рова­ния струк­ту­ры прог­рамм на уни­фици­рован­ном
мо­дели­рова­ния UML. Сов­ре­мен­ные ин­тегри­рован­ные сре­ды под­держи­ва­ют ис­пользо­вание язы­ка UML в двух нап­равле­ни­ях: ге­нера­ция мо­дели и со­от­ветс­тву­ющей ди­аг­раммы по ис­ходно­му ко­ду и, на­обо­рот, ге­нера­ция (шаб­ло­на) ис­ходно­го ко­да по раз­ра­ботан­ной мо­дели.

Слайд 19

Контрольные вопросы и задания

Cфор­му­лируйте оп­ре­деле­ние ин­тегри­рован­ной сре­ды раз­ра­бот­ки прог­рамм.
Ка­ковы ос­новные ком­по­нен­ты ин­тегри­рован­ной сре­ды

Контрольные вопросы и задания Cфор­му­лируйте оп­ре­деле­ние ин­тегри­рован­ной сре­ды раз­ра­бот­ки прог­рамм. Ка­ковы ос­новные
раз­ра­бот­ки прог­рам­мно­го обес­пе­чения?
Что та­кое тек­сто­вый ре­дак­тор?
Ка­кие до­пол­ни­тельные фун­кции по син­такси­чес­кой про­вер­ке вво­димо­го ис­ходно­го ко­да встро­ены в сов­ре­мен­ные ре­дак­то­ры в ин­тегри­рован­ной сре­де раз­ра­бот­ки?
Что та­кое от­ладчик и ка­ковы его ти­повые ко­ман­ды?
Ка­кую фун­кци­ональность обес­пе­чива­ет под­дер­жка кол­лектив­ной раз­ра­бот­ки прог­рамм?
Для че­го пред­назна­чено инс­тру­мен­тальное прог­рам­мное обес­пе­чение?
Дайте оп­ре­деле­ния по­няти­ям «ком­пи­лятор», «тран­сля­тор», «ком­по­нов­щик», «ин­тер­пре­татор».
Что та­кое SDK (Software Development Kit)?
На­личие ка­ких ком­по­нент ха­рак­терно для ин­тегри­рован­ных сред раз­ра­бот­ки ПО?
Что вклю­ча­ет в се­бя сис­те­ма под­дер­жки сбор­ки?
Для че­го ис­пользу­ют­ся инс­тру­мен­ты «за­путы­вания» ко­да?