Upload
beka-tomashvili
View
102
Download
5
Embed Size (px)
Citation preview
AgileAgile პროგრამული უზრუნველყოფის შექმნისა და შემუშავების მეთოდოლოგიების ერთიანობა.
2001 წელი . ზამთრის კურორტი SnowBird შეიქმნა Agile მანიფესტიKent Beck , James Grenning, Robert C. Martin, Mike Beedle, Jim Highsmith, Steve Mellor,Arie van Bennekum, Andrew
Hunt, Ken Schwaber, Alistair Cockburn, Ron Jeffries, Jeff Sutherland,Ward Cunningham, Jon Kern, Dave Thomas,
Martin Fowler, Brian Marick
● დაგეგამრება.● პროდუქტის ევოლუციური განვითარება.● ადრეული მიწოდება.● უწყვეტი გაუმჯობესება.● სწრაფი და მოქნილი ცვლილებები.
Agile
მომუშავე პროგრამული უზრუნველყოფა. ამომწურავი დოკუმენტაცია.
დამკვეთთან მუდმივი თანამშრომლობა. კონტრაქტის პირობების შეთანხმება .
ცვლილებებზე რეაგირება. გეგმის ზედმიწევნით დაცვა.
მიუხედავად იმისა, რომ ვაფასებთ მარჯვენა მხარეს მდგომღირებულებებს, უპირატესობას ვანიჭებთ მარცხნივ მდგომებს
Agile 12 პრინციპი
Agile მანიფესტი : დავიცვათ შემდეგი პრინციპები.
1. დამკვეთის კმაყოფილება ღირებული პროგრამული უზრუნველყოფის დროული და უწყვეტი მიწოდება.
2. მივესალმებით მოთხოვნების ცვლილებებს პროგრამული უზრუნველყოფის შექმნის გვიან ეტაპზეც კი.
3. პროგრამული პროდუქტის მიწოდება რაც შეიძლება მოკლე ვადებში.
4. ბიზნესის წარმომადგენლები და პროგრამისტები ერთად უნდა მუშაობდნენ ყოველ დღე, მთელი პროექტის განმავლობაში
5. ააგეთ პროექტები მოტივირებული პიროვნებების ირგვლივ.
6. გუნდის შიგნით და გუნდისათვის ინფორმაციის გადაცემის ყველაზე ქმედით და ეფექტურ მეთოდს პირადი საუბარი წარმოადგენს.
7. მუშა პროგრამული უზრუნველყოფა წარმოადგენს წინსვლის უპირველეს საზომს.
8. ინვესტორს, პროგრამისტსა და მომხმარებელს უნდა შესწევდეთ უნარი, განუსაზღვრელი დროის განმავლობაში შეინარჩუნონ აღებული ტემპი.
9. ტექნიკური სრულყოფა და კარგი დიზაინის მიმართ მუდმივი ყურადღება აუმჯობესებს მოქნილობას.
10. სიმარტივე--ზედმეტი სამუშაოს რაოდენობის მინიმიზაციის ხელოვნება
11. საუკეთესო არქიტექტურა, მოთხოვნები და დიზაინი იქმნება თვით-ორგანიზებული გუნდების მიერ.
12 . გუნდი რეგულარულად განიხილავს ეფექტურობის გაზრდის საშუალებებს, და შესაბამისად ცვლის და აკორექტირებს საკუთარ ქცევას.
Development Processes
Waterfall an iterative
Waterfall process
Requirement Analysis
Design ( Solution Design )
Implementation
Test
Iterative process
Analysis
Design
Implementation
Test
Iteration end
Implementationიტერაციული პროცესისრულიად საპირისპიროა. “Waterfall “ პროცესისა .
იტერაციული პროცესისაშუალებას იძლევაგანვახორციელოთცვლილება ნებისმიერეტაპზე , ეს იქნება ანალიზი, დიზაინი თუიმპლემენტაცია
Iterative process
Delivery
Iteration 1
Iteration 2
Iteration 3
The Software Development Process
● OOA - ობიექტზე ორიენტირებული ანალიზი
● OOD ობიექტზე ორიენტირებული დიზაინი
OOA
ობიექტზე ორიენტირებული ანალიზი (OOA) არის პროცესი რომლის მიზანიაკარგად გავაანალიზოთ და გავიაზროთ ჩვენს გუნდთან ერთად ის თემა თუ“პრობლემა” რომლის გადაჭრასაც ვცდილობთ.
ანალიზი გვეხმარება უკეთ გავეცნოთ თემის “პრობლემის” არს . (problem domain).
ჩვენ უნდა გვესმოდეს თუ როგორ იმუშავებს სისტემა , ვინ იქნება მისიმომხამრებელი. რა იქნება სისტემის მოთხოვნები , და რა სახის რეაგირებას უნდაველოდოთ მათგან ვინც მას გამოიყენებს .
OOA
აღწერეთ სისტემა შემთხევები, მონაწილე პირები.
მიზანი : კარგად გავეცნოთ სისტემას .
● ვინ მონაწილეობს. ( Identify actors , human ,mobile, pc, another device)
● წინასწარი ჩამონათვალი შემთხვევების . ( list of use cases )
● შემთხვევბის დასახელება და მოკლე აღწერა. ( Refine naming and definition
the use cases)● შემთხვევათა თანამიმდევრობა. ( Define each use case’s sequence of events)
● მოდელირება ( Model your cases)
OOA - Actors
სხვადასხვა მონაწილე პირები თუ სერვისები, განსხვავებულინტერექციაში შეიძლება იყვენენ სისტემასთან .
Guest users
Registred users
RS ( Revenue Service)
Government services.
OOA - List use cases , refine and definition
შემთხვევების ჩამონათვლი
მაგ :
● პროდუქციის კატალოგის დათავლიერება.● ძიება პროდუქციის კატალოგში● კონკრეტული ნივთის მოძიება.● ჩემი რჩეული პროდუქტები.
● რაოდენობის ცვლილება კალათაში.
● შეკვეთის განხორციელება.● პროდუქტზე დამატებიტი ინფორმაციის მოძიება.● ფასების შედარება.● შეკვეთა● პროფილის განახლება● შეკვეთების ისტორიის ნახვა
OOA - Case’s sequence
თანამიმდევრობა
შეკვეთა :
● მომხმარებელი გადის რეგისტრაციას. ● მომხარებელი ირჩევს და ამატებს ერთ ან რამოდენიმე პროდუქტს კალათაში
უთითებს რაოდენობებს .
● მომხარბელი ავსებს დამატებით აუცილებელ ველებს პირ: Shipping
information. (თუ უკვე შევსებული არ აქვს)
● სისტემას გამოქვს საბოლოო შეტყობინება შეკვეთის დროს , ჯამური თანხამიწოდების მისამართი დრო და ა.შ ..
● სისტემა ადასტურებს შეკვეთას .
● სისტემა აგზავნის დამადასტურებელ შეტყობინებას ელ-ფოსტაზე.
OOA - use case diagrams
მეტი ვიზუალიზაცია და დიაგრამები
OOA - Sequence Diagrams
OOA - Sequence Diagrams
OOA - Activity Diagrams
OOD - ობიქტზე ორიენტირებული დიზაინი
● გვეხამრება ანალიზის შედეგად მიღებული შედეგების საფუძველზე შევქმნათ მოდელი.
● რომელ ობიექტს დაეკისრება ესა თუ ის პასუხმისგებლობა.
● შევქმნათ რელაციური მოდელი, რა სახის ურთოერთობები იქნება ობიქტებს შორის ,
ობიექტებს შორის ინტერექცია
OOD - ობიქტზე ორიენტირებული დიზაინი
პროგრამისტ არქიტექტორის ჩართულობა , OOP ზედმიწევნით ცოდნა.
ცნებები● ობიქტი/კლასი● ინკაფუსლაცია● მემკვიდრეობითობა● პოლიმორფიზმი
OOD - Model
OOD - Model
პასუხისმგებლობა თანამშრომლობა
OOD - Model
OOD - Model
OOD - Model