
- •Программалық қамтамасыз етудiң күрделiгi: анықтама, мысалдар.
- •Қарапайым программалық жүйелердің 4 мысалын келтіріңіз.
- •Күрделi программалық жүйелердің 4 мысалын келтіріңіз.
- •Программалық қамтамасыз етудiң күрделiгiнiң себебтері.
- •Күрделi жүйелердің белгiлері.
- •Декомпозиция, алгоритмдік декомпозиция, объектті бағыттылған декомпозиция: анықтама, мысалдар.
- •Абстракция: анықтама, мысалдар.
- •Иерархия: анықтама, мысалдар.
- •Программалық жобалау қандай элементтерден тұрады?
- •Oop, ood және ооа: анықтама, айырмашылықтары.
- •Программалаудың негiзгi парадигмалары: олардың ерекшелiктері.
- •Абстрактциялау: анықтама, мысалдар.
- •Инкапсуляция
- •Модулдік анықтама, мысалдар.
- •Иерархия
- •Типтелу: анықтама, мысалдар.
- •Параллелизм: анықтама, мысалдар.
- •Сақталатындық: анықтама, мысалдар.
- •Объектiлердiң мысалдарын келтірiңiз.
- •Объекттiң күйі және тәртібі: анықтама, мысалдар.
- •Байланысқа қатысатын объектiлердiң рөлдері: анықтамалар, мысалдар. (актер, сервер, агент)
- •Агрегация: анықтама, мысалдар.
- •Кластардың мысалдарын келтірiңiз.
- •Кластардың интерфейсі және реализациясы: анықтама, мысалдар.
- •Кластардың арасындағы қатынастар: мысалдар. (ассоциация, мұрагерлік, агрегация, пайдалану, метакласс)
- •Классикалық категориялау, концептуалды кластерлеу, түптұлғалар теориясы. Осы тәсiлдерден қандайы жақсы және нелiктен?
- •Аж жобада белгiлеу жүйесі не үшiн қажет?
- •Аж логикалық және физикалық үлгiлері: анықтама, мысалдар.
- •Аж статикалық және динамикалық үлгiлері: анықтама, мысалдар.
- •Кластар диаграммасы: тағайындау, мысал.
- •(1)Класстар диаграммасындағы кластың графикалық суретінің нұсқалары
- •Кооперация диаграммасы: тағайындау, мысал.
- •Жобалаудың микропроцессi: анықтама, мысалдар.
- •Жобалаудың макропроцессi: анықтама, мысалдар.
- •Тәуекелдердi басқару: анықтама, мысалдар.
- •Аж өңдеушiлердiң рөлдері.
- •Аж релиздерді басқару
- •Аж тестілеу
- •Аж әзiрлеу кезінде қайтадан пайдалану.
- •Программалық өнiмнің сапасын өлшеу.
- •Аж документациясын әзiрлеу.
Иерархия
Объектке-бағытталған технология объектті моделге негізделеді.Оның негізгі принциптеріне: инкапсуляция, модульділік, типизация, иерархиялылық, параллелизм және сақталатындық жатады. Мұндағы әр принцип өз бетінше жаңа емес,бірақ бұлар объектті моделде алғашқы рет жиынтық ретінде қолданылуда.
Маңызды ықшамда күрделі тапсырманы иерархиялық құрылымның абстракциясы арқылы шешеміз. Иерархияны келесі түрде анықтаймыз:
Иерархия- абстракцияның реттілеуі, олардың деңгейлерге ,бөлінуі. Иерархиялық құрылымның күрделі жүйелерде түрлері: класстың("isa" иерархиясы) құрылымы және нысанның("part of" иерархиясы) құрылымы болып табылады.
Иерархияның негізгі түрі "isa" болып табылады. "isa" жоғарғы мұрагерлік концепсияны тұжырымдайды.Мұрагерлік класстар арасындағы қатынаста мынадай мағына береді(ұрпақтық қатынас): бір класс құрылымдық немесе функциялық басқа бір немесе бірнеше класс бөлігін пайдаланған жағдайда (сәйкесінше, жеке және көпшілік мұрагерлік).
Мұрагерлік класс тармақтары бір немесе бірнеше суперкласстан кейін құралатын абстракцияның иерархиясын құрады.
Жиі жағдайда класс тармақтары жоғарғы класстың компонентін құрап бітіреді немесе көшіріп алады.
Мысалы:
Бақша жүйесінде өсімдіктің түрлерін қарастырамыз.
Әр түрлі дақылдар бөлек жоспарларды сұрайды. Жемістер үшін жоспарлар бір-біріне ұқсас, бірақ көкөніс немесе гүлдер жоспарларынан айырмашылық болады. Егістің жиынынын және тозаңдануын қосып жаңа деңгейде құрамыз.
C++ "жеміс" жоспары
// Бақша типі
typedef unsigned int Yield;
class FruitGrowingPlan : public GrowingPlan {
public:
FruitGrowingPlan(char* name);
virtual ~FruitGrowingPlan();
virtual void establish(Day, Hour, Condition&);
void scheduleHarvest(Day, Hour);
Boolean isHarvested() const;
unsigned daysUntilHarvest() const;
Yield estimatedYield() const;
protected:
Boolean repHarvested;
Yield repYield;
Типтелу: анықтама, мысалдар.
Объектке-бағытталған технология объектті моделге негізделеді.Оның негізгі принциптеріне: инкапсуляция,модульділік,типизация,иерархиялылық,параллелизм және сақталатындық жатады. Мұндағы әр принцип өз бетінше жаңа емес,бірақ бұлар объектті моделде алғашқы рет жиынтық ретінде қолданылуда.
Типтелу - бұл бір класстың орнына басқа класстың қолданылуына қорғаныс.
Типтелу программалау тілінің қабылданған жобалық шешімін орындауға итермелейді.
Программалау тілінде күшті немесе әлсіз типтелу механизмі болады және болмауы да мүмкін.
Мысалы:
Теплицада қолданылатын түрлі сыйымдылықты үлгі абстракциясын қарастырамыз. Ол жерде суға, минерал тыңайтқышқа арналған сыйымдылық бар.Бірақ біріншілері суға арналған, екіншісі сусымалы заттарға арналған. Олар иерархия классын құру үшін жеткілікті ұқсатықтары бар.
Типі:
// Сандар, 0 - 100 %
typedef float Level;
сыйымдылық үшін иерархию классы:
class StorageTank {
public:
StorageTank();
virtual ~StorageTank();
virtual void fill();
virtual void startDraining();
virtual void stopDraining();
Boolean isEmpty() const;
Level level() const;
protected:
...
};