JhonKunuga / OOP

0 stars 0 forks source link

OOP

პროექტის დანიშნულება : მცირე საგამომცემლო სახლის მართვის პროგრამა პროექტის მოკლე აღწერა: საგამომცემლო სახლი აღრიცხავს ავტორებს და მათ მიერ შექმნი (გამოცემულ) პროდუქტებს. სისტემა განიხილავს მხოლოდ სამი კატეგორიის პროდუქტს. ესენია: წიგნი სტატია ელექტრონული რესურსი.

მოცემული დავალების ფარგლებში შესასრულებელი ამოცანებია:

  1. შექმენით IAuthor ინტერფეისი შემდეგი ვალდებულებებით: ავტორის დამატება ავტორის რედაქტირება ავტორის წაშლა; ავტორისთვის პროდუქტის(წიგნი/ელ.რესურსი/სტატია) დამატება/წაშლა ავტორის შესახებ სრული ინფორმაციის მიღება იდენტიფიკატორის მეშვეობით (პროდუქტების ჩათვლით)

  2. შექმენით Author კლასი შემდეგი ველებითა და გასათვალისწინებელი ვალიდაციებით: უნიკალური იდენტიფიკატორი (GUID) სახელი (ტექსტური,სავალდებულო,მინიმუმ 2 და მაქსიმუმ 50 სიმბოლო) გვარი(ტექსტური, სავალდებულო,მინიმუმ 2 და მაქსიმუმ 50 ) სქესი (გამოიყენეთ ჩამოთვლები (ENUM), დასაშვები მნიშვნელობები: ქალი,კაცი) პირადი ნომერი(ტექსტური,სავალდბულო , 11 ციფრი) დაბადებისთარიღი (თარიღი,სავალდბულო,მინიმუმ18 წლის) ქვეყანა (გამოიყენეთ ჩამოთვლები (ENUM)) ქალაქი (გამოიყენეთ ჩამოთვლები (Enum)) ტელეფონის ნომერი (ტექსტური,მინიმუმ 4 და მაქსიმუმ 50 სიმბოლო) ელ.ფოსტა (ტექსტური.ელ ფოსტის ვალიდაცია)

    3.შექმენით საგამომცემლო პროდუქტის product კლასი შემდეგი ველებითა და გასათვალისწინებელი ვალიდაციებით: უნიკალური იდენტიფიკატორი (GUID) დასახელება(ტექსტური,სავალდებულო,მინიმუმ 2 და მაქსიმუმ 250 სიმბოლო) ანოტაცია(ტექსტური,სავალდებულო,მინიმუმ 100 და მაქსიმუმ 500) პროდუქტის ტიპი (გამოიყენეთ ჩამოთვლები (Enum),დასაშვებია მნიშვნელობები: წიგნი, სტატია,ელექტრონული რესურსი) ISBN (ტექსტური, სავალდებულო,13 ციფრი) გამოშვების ტარიღი (თარიღი,სავალდებულო) გამომცემლობა (გამოიყენეთ ჩამოთვლები(ENUM)) გვერდების რაოდენობა მისამართი (წიგნის შემხვევაში ფიზიკური მისამართი ბიბლიოთეკის სივრცეში, სტატიის და ელექტრო რესურსის შემთხევაში url)

    4.მოცემული ამოცანის ფარგლებში ავტორის კლასსა და საგამომცემლო პროდუქტის კლასს შორის უზრუნველყავით ასოციაცური და/ან კომპოზიციური კავშირები. ერთ პროდუქტს შეიძლება ყავდეს რამოდენიმე ავტორი და ერთ ავტორს შეიძლება ჰქონდეს შექმნილი რამოცენიმე პროდუქტი. ასევე ბიზნეს-მოდელის აგების პროცესში გამოიყენეთ ოოპ-ს პრინციპები. იმსჯელეთ თქვენი გადაწყვეტილების შესახებ. მაგალთად, სად რატომ რა კონტექსტში გამოიყენეთ ინკაპსულაცია? პოლიმორფიზმი? მემკვიდრეობითობა ?

    1. შექმენით ავოტრების ცნობარზე პასუხისმგებელი სტატისტიკური კლასი და შეავსეთ ავოტრების ცნობარი(ავტორის კლასის ობიექტების კოლექცია)
    2. მოახდინეთ ავტორის კლასისთვის Iauthor და Icomparable, ხოლო პროდუქტის კლასისთვის Icomparer ინტერფეისების რეალიზაცია. 7.დაალაგეთ ავოტრბის კოლექცია კლებადობით ასაკის მიხედვით, ხოლო პროდუქტების კოლექცია ზრდადობით გვერდების რაოდენობის მიხედვით.
    3. დაწერეთ პროდუქტების ძიების მეთოდი ისეთი, რომ თარიღის შეუალედის მითითებებით ეკრანზე გამოვიდეს ინფორმაცია მხოლოდ იმ პროდუქტების შესახებ რომელიც მიტითებულ შუალედში დარეგისტრირდა.
    4. გამოიტანეთ ეკრანზე TOP m (m<n, სადაც n პროდუქტების საერთო რაოდენობაა) ყველაზე მაღალი ტირაჟის მქონე პროდუქტები.
    5. დაწერეთ მეთოდი რომელიც ითვლის წლიურ რეპორტს პროდუქტების ჯამური რაოდენობის შესახბ. მაგალითად, თუ მეთოდს გადავეცით 2019, უნდ ადაგვიბრუნოს სტატისტიკა -2019 წელს გამოყვეყნდა 200 წიგნი, 187 სტატია და 500 ელექტრონული რესურსი.