SlideShare a Scribd company logo
1 of 39
Structured vs. Object Orient Analysis
and Design
Лекц 2
ОУУБИС-ийн ХМТ тэнхим
Outline
• Бүтэцлэгдсэн шинжилгээний үе
• Обьект хандалтат шинжилгээний үе
• Бүтэцлэгдсэн шинжилгээний хөгжүүлэлт болон
ОХШЗ-оор програм хангамж хөгжүүлэх
• Ашигласан номууд
• UML-ийн хэрэглээ
2
Key Differences Between Structured and Object-Oriented Analysis
and Design
Phase Structured Object-Oriented
Analysis Structuring Requirements
• DFDs
• Structured English
• Decision Table / Tree
• ER Analysis
Requirement Engineering
• Use Case Model (find Uses Cases,
Flow of Events, Activity Diagram)
• Object Model
• Find Classes & class relations
• Object Interaction: Sequence &
collaboration Diagram, State
Machine Diagram,
• Object to ER Mapping
Design • DB design
• (DB normalization)
• GUI Design
• (forms & reports)
• Physical DB design
• Design elements
• Design system Architecture
• Design classes: Checking The Model,
Combine Classes, Splitting Classes,
Eliminate Classes
• Design components
• GUI design 3
SW Project phases
• Any project in the world has the following phases:
– Planning
– Analysis: system requirements are studied and structured
– Design: recommended solution is converted into logical and
then physical system specifications
• Logical design – all functional features of the system chosen for
development in analysis are described independently of any
computer platform
• Physical design – the logical specifications of the system from logical
design are transformed into the technology-specific details from
which all programming and system construction can be
accomplished
– Implementation
– Testing
– Maintenance
4
Structured Analysis and design (SAD)
A. Шинжилгээний үе
1. Системийн шаардлага тодорхойлох
2. Бүтэцлэгдсэн процессийн шаардлага
тодорхойлох
3. Логик шаардлагууд (logical modeling)
4. Бүтэцлэгдсэн системийн өгөгдлийн шаардлагууд
B. Зохиомжын үе
1. Өгөгдлийн баазын дизайн
2. Формууд болон тайлангийн загварууд
5
Structured Analysis and design (SAD)
A. Шинжилгээний үе
1. Системийн шаардлагуудыг тодорхойлох:
– Ярилцлага: Ганцаарчилсан эсвэл группээр
2. Бүтэцлэгдсэн процессийн шаардлага
тодорхойлох:
– Data Flow Diagram (DFD) – логик процессийн загвар
– DFD levels (процессийн задралууд)
– Context diagram-ерөнхий диаграмм
– 4 type of DFD
• Физик урсгал: элементэд тохирсон
• Логик урсгал: системийн урсгалуудыг тодорхойлох 6
ӨУД-ийн 2 төрөл
• Физик урсгал
– Процессийн түвшинүүд нь тодорхой дараалалтай
бөгөөд энэ нь өгөгдлийг боловсруулдаг.
– Өгөгдлийн урсгалууд болон өгөгдөл хадгалах
хэрэгсэлүүдийг физик нэрээр нь тодорхойлж болдог.
• Логик урсгал
Өгөгдөл болон процессуудын мэдээлэл нь системийн
урсгалаар тодорхойлогдсон байдаг.
7
SAD – Analysis phase (Cont.)
3. Логик шаардлагууд (logical modeling)
– Шийдвэрийн хүснэгт болон шийдвэрийн мод
хэрэглэх
4. Бүтэцлэгдсэн системийн өгөгдлийн шаардлагууд
– ER diagram-обьектийн холбоосын диаграм
8
SAD – Analysis phase (Cont.)
B. Загварчилгааны үе
1. Өгөгдлийн баазын загвар (DB normalization)
2. Формууд болон тайлангийн загвар (GUI design)
9
DB Normalization-ӨБ-ийг энгийн хэлбэрт
шилжүүлэх
 Өгөгдлийг энгийн хэлбэрт шилжүүлэх - объектийн холбоосын шинжилгээ
 ОХ шинжилгээ нь ӨСС-ийг дээрээс доош нь (Top-Down) задлаж шинжлэх арга
 эхлээд системийн объектүүдийг тодорхойлдог
 дараа нь объектүүдээ атрибутын төвшинд задладаг.
 1-р энгийн хэлбэр
 Давтагдсан бүлэг элемент салгах
 Тэг утгат элементийг салгах
 Давтагдсан утгатай элемент салгах
 Байж болох түлхүүрийг тодорхойлох
 2-р энгийн хэлбэр
 Элемент хоорондын функциональ хамаарлыг тодорхойлох
 Функциональ бүрэн хамаарлыг тодорхойлох
 Функциональ бүрэн бус хамааралтай элементийг салгах
 3-р энгийн хэлбэр
 Дамжсан холбоосыг салгах
10
Object Oriented Analysis and
Design-Обьект хандалтат
шинжилгээ ба зохиомж
OOAD
11
Object-Oriented Analysis and Design (OOAD)
• Обьектууд нь өгөгдөл болон процессуудад
үндэслэгддэг.
• Object: a structure encapsulating attributes
and behaviors of a real-world entity
12
OOSAD textbook
A. Шинжилгээний үе
• Бүтэцлэгдсэн шаардлагууд (Use cases)
• Схемчилсэн өгөгдлийн загвар (class diagram)
• Обьектын холбоосын загвар
– Class diagram → ER diagram
• Шинжилгээний классууд
– Class stereotypes
– Sequence diagram
– Communication diagram
– Activity diagram
– State machine diagram
13
OOSAD textbook
B. Зохиомжын үе
• Физик ӨБ-ийн загвар
• Загварчилгааны элементүүд
– Design classes
– Design components
– Design system Architecture
• GUI design
14
Learning UML textbook
Focus on 4+1 view architecture
15
Шаардлагын
загварчлал:
Use Cases
Logical View
Process
View
Physical
View
Deployment
View
Use Case
View
Logical View
Process
View
Physical View
Deployment
View
Use Case
View
Системийн
ажлын
урсгалын
загварчлал:
Activity
Diagrams
Logical
View
Process
View
Physical
View
Deployment
View
Use Case
View
Logical View
Process
View
Physical
View
Deployment
View
Use Case
View
Системийн
логик бүтцийн
загварлaл:
Classes and Class,
Sequence State
Machine
Diagrams
Системийн
хэсгүүдийг
удирдах болон
дахин ашиглалт:
Component,
Package,
Deployment,
Diagrams
OOAD project phases
• Analysis
– Шаардлага цуглуулах, шинжилгээ болон загварчлал (Шаардлагын
инженерчлэл /Requirement Engineering/
– Use Case загвар Case-үүдээ илрүүлэх, үйл явдлын урсгал, үйл ажиллагааны
диаграм
– Обьектын загвар
• Классуудыг илрүүлэх болон холбоосыг тодорхойлох
• Обьектын харилцан үйлчлэл: Sequence & collaboration Diagram, State
Machine Diagram,
– ОХД байгуулах/Object to ER Mapping/
• Design
– Өгөгдлийн баазын физик загвар
– Загварын элементүүд
– Системийн загварын архитектур
– Классуудын загвар: Загварчилгааг шалгах, классуудыг нэгтгэх, классуудыг
задлах, классуудыг устгах
– Загварчилгааны бүрэлдэхүүн хэсгүүд
– Хэрэглэгчийн интерфейс загвар
16
Use Case жишээнүүд
17
Оюутны бүртгэлийн системийн Use case диаграм
Student
Billing system
Register For Courses
Maintain Course Information
Maintain Professor Information Maintain Student Information
Create Course CatalogRegistrar
Select Courses to teach
Request Course Roster
Professor
18
• Billing system- Тооцооны систем
• Roster-жагсаалт
• Maintain-хадгалах
• Registrar-бүртгэгч
Use Case: Эмнэлэгийн системийн жишээ
20
• Appointment-тов
• Defer-сунгах, хойшлуулах
• Extension point
• Generalization-нэгтгэл
• Clerk-ажилтан
• Treatment-эмчилгээ
• Boundary- хил хязгаар
Use Case: Банкны системийн жишээ
22
Үйл ажиллагааны диаграмын
жишээнүүд
23
Swimlanes
Registrar Professor
Select courses
to teach
Create
curriculum
Create
catalog
Place catalog
in bookstore
Open
registration
Close
registration
[ Registration time period expired ]
Mail catalog
to students
24
Бүртгэлийн системийн үйл ажиллагааны
диаграм
25
Үйл ажиллагааны диаграм:
Банкны систем
Үйл ажиллагааны диаграм:
Бараа нийлүүлэх систем
26
• Fill order-Захиалга бэлтгэх
• Ship order-Захиалга илгээнэ
• Send invoice-нэхэмжлэл явуулна
• Make payment-төлбөр хийнэ
• Accept payment-төлбөр хүлээн авах
27
Class relations: Удамшил/Inheritance and Multiplicity
(Registration System)
1
0..*
0..*
1
1
1..*
4
3..10
0..4
1
RegistrationForm
RegistrationManager
Course
Student
CourseOffering
Professor
addStudent(Course, Student)
name
numberCredits
open()
addStudent(Student)
major
location
open()
addStudent(Student}
tenureStatus
ScheduleAlgorithm
name
RegistrationUser
Tenure-албан тушаал
Холбоосууд
• Гурван төрлийн холбоос байдаг.
– Association-нэгдэл
– Aggregation-бүрдмэл
– Dependency-хараат
29
1. Нэг классын обьектууд бусад классын
обьектуудтай харилцан үйлчлэлцэх
2. Нэг классын обьектууд бусад классын
обьектуудтай урт хугацааны турш харилцан
үйлчлэлцэх
3. Нэг класс нь зарим үед холбоо хамааралаа
ашиглах үед
4. Нэг класс нь бусад классын обьектийг агуулж
байгаа үед
5. Нэг класс нь бусад классын төрөл болж байгаа
үед 30
Обьект хандалтат өргөтгөлүүдийн
холбоосын загвар
– Generalization-Ерөнхийлөл
– Multivalued attributes (OK to violate atomicity
requirement of 1NF)-олон утгатай шинж
чанар
– Aggregation
– Object identifiers-обьект тодорхойлогчид
– Pointers-заагчид
– Behaviors-шинж чанар
– Richer set of data types-өгөгдлийн
төрлүүдийн олонлог
Object-relational Data Model
31
Үндсэн өгөгдлийн загварыг ОХЗагвар руу
хөрвүүлэх
• Классуудыг хөрвүүлэх
• Холбоосуудыг хөрвүүлэх
• Normalize object relations
• Обьектын холбоосуудыг нэгтгэх
32
Supertype/subtype relationships
33
Mapping Supertype/subtype relationships to relations
These are implemented as one-to-one
relationships
34
Sequence Diagram
• A sequence diagram displays object interactions
arranged in a time sequence
: Student
registration
form
registration
manager
math 101
1: fill in info
2: submit
3: add student to math 101
4: add student
5: are you open?
6: add student
math 101
section 1
35
: Registrar
course form :
CourseForm
theManager :
CurriculumManager
aCourse :
Course
1: set course info
2: process
3: add course
4: new course
Collaboration Diagram
• A collaboration diagram displays object interactions
organized around objects and their links to one
another
36
37
38
Sequence Diagram for Bank System
39

More Related Content

What's hot

05 use-case-modeling-1mon
05 use-case-modeling-1mon05 use-case-modeling-1mon
05 use-case-modeling-1monTuul Tuka
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsАлдарболд Э.
 
U.cs101 алгоритм программчлал-5 zasvar badral(1)
U.cs101   алгоритм программчлал-5 zasvar badral(1)U.cs101   алгоритм программчлал-5 zasvar badral(1)
U.cs101 алгоритм программчлал-5 zasvar badral(1)Badral Khurelbaatar
 
9 10 объект хандлагат анализ (динамик ойлголт)
9 10 объект хандлагат анализ (динамик ойлголт)9 10 объект хандлагат анализ (динамик ойлголт)
9 10 объект хандлагат анализ (динамик ойлголт)Аззаяа Мөнхзул
 
Microsoft excel програм гарын авлага
Microsoft excel програм гарын авлагаMicrosoft excel програм гарын авлага
Microsoft excel програм гарын авлагаEnkhjargalDashdorjEn
 
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...batnasanb
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсБямбаа Авирмэд
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэцMuuluu
 

What's hot (20)

Ood lesson3
Ood lesson3Ood lesson3
Ood lesson3
 
05 use-case-modeling-1mon
05 use-case-modeling-1mon05 use-case-modeling-1mon
05 use-case-modeling-1mon
 
Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
Ood lesson5
Ood lesson5Ood lesson5
Ood lesson5
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lekts
 
It101 lect9
It101 lect9It101 lect9
It101 lect9
 
U.cs101 алгоритм программчлал-5 zasvar badral(1)
U.cs101   алгоритм программчлал-5 zasvar badral(1)U.cs101   алгоритм программчлал-5 zasvar badral(1)
U.cs101 алгоритм программчлал-5 zasvar badral(1)
 
Ood lesson10 statechart
Ood lesson10 statechartOod lesson10 statechart
Ood lesson10 statechart
 
User requirements
User requirementsUser requirements
User requirements
 
9 10 объект хандлагат анализ (динамик ойлголт)
9 10 объект хандлагат анализ (динамик ойлголт)9 10 объект хандлагат анализ (динамик ойлголт)
9 10 объект хандлагат анализ (динамик ойлголт)
 
Rdbms bie daalt
Rdbms bie daaltRdbms bie daalt
Rdbms bie daalt
 
database 7-8
database 7-8database 7-8
database 7-8
 
мэдээллийн систем
мэдээллийн системмэдээллийн систем
мэдээллийн систем
 
Systemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lektsSystemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lekts
 
Microsoft excel програм гарын авлага
Microsoft excel програм гарын авлагаMicrosoft excel програм гарын авлага
Microsoft excel програм гарын авлага
 
Database 3
Database 3Database 3
Database 3
 
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
It101 lec6 10.06
It101 lec6 10.06It101 lec6 10.06
It101 lec6 10.06
 

Similar to Ood lesson2 (20)

Vpii bie daalt
Vpii bie daaltVpii bie daalt
Vpii bie daalt
 
Vpii bie daalt
Vpii bie daaltVpii bie daalt
Vpii bie daalt
 
Vpii bie daalt
Vpii bie daaltVpii bie daalt
Vpii bie daalt
 
U.IT101 Lab 9
U.IT101 Lab 9U.IT101 Lab 9
U.IT101 Lab 9
 
Proj Descr
Proj DescrProj Descr
Proj Descr
 
Ooad
OoadOoad
Ooad
 
Diplom udirdamj
Diplom udirdamjDiplom udirdamj
Diplom udirdamj
 
ОХШЗ - Бие Даалт
ОХШЗ - Бие ДаалтОХШЗ - Бие Даалт
ОХШЗ - Бие Даалт
 
мэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэхмэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэх
 
хичээлийн хөтөлбөр
хичээлийн хөтөлбөрхичээлийн хөтөлбөр
хичээлийн хөтөлбөр
 
хичээлийн хөтөлбөр
хичээлийн хөтөлбөрхичээлийн хөтөлбөр
хичээлийн хөтөлбөр
 
Ois lessons3
Ois lessons3Ois lessons3
Ois lessons3
 
Gosexem asuult 09
Gosexem asuult 09Gosexem asuult 09
Gosexem asuult 09
 
Pp Lect1 1
Pp Lect1 1Pp Lect1 1
Pp Lect1 1
 
Blog ooad-tod
Blog ooad-todBlog ooad-tod
Blog ooad-tod
 
Бие даалтын удирдамж
Бие даалтын удирдамжБие даалтын удирдамж
Бие даалтын удирдамж
 
RDBMS MySQL DB server
RDBMS MySQL DB serverRDBMS MySQL DB server
RDBMS MySQL DB server
 
It101 lab9
It101 lab9It101 lab9
It101 lab9
 
It101-lab9
It101-lab9It101-lab9
It101-lab9
 
Ood lesson12.1 ---------
Ood lesson12.1  ---------Ood lesson12.1  ---------
Ood lesson12.1 ---------
 

More from International Ulaanbaatar University

More from International Ulaanbaatar University (20)

Lec8
Lec8 Lec8
Lec8
 
Lec7
Lec7 Lec7
Lec7
 
Lec5 6
Lec5 6 Lec5 6
Lec5 6
 
Lec4
Lec4 Lec4
Lec4
 
Lec3
Lec3 Lec3
Lec3
 
Lec2
Lec2 Lec2
Lec2
 
Lec1
Lec1 Lec1
Lec1
 
Визуаль програмчлал бие даалт
Визуаль програмчлал бие даалтВизуаль програмчлал бие даалт
Визуаль програмчлал бие даалт
 
Ood lesson7,8 class
Ood lesson7,8 classOod lesson7,8 class
Ood lesson7,8 class
 
Lec13
Lec13Lec13
Lec13
 
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
 
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14
 
Өгөгдлийн бүтэц 13
Өгөгдлийн бүтэц 13Өгөгдлийн бүтэц 13
Өгөгдлийн бүтэц 13
 
Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12
 
Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11
 
Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10
 
Өгөгдлийн бүтэц 8,9
Өгөгдлийн бүтэц 8,9Өгөгдлийн бүтэц 8,9
Өгөгдлийн бүтэц 8,9
 
Dsi lec7
Dsi lec7Dsi lec7
Dsi lec7
 
Dsi lec5,6
Dsi lec5,6Dsi lec5,6
Dsi lec5,6
 
Dsi lec3-4
Dsi lec3-4Dsi lec3-4
Dsi lec3-4
 

Ood lesson2

  • 1. Structured vs. Object Orient Analysis and Design Лекц 2 ОУУБИС-ийн ХМТ тэнхим
  • 2. Outline • Бүтэцлэгдсэн шинжилгээний үе • Обьект хандалтат шинжилгээний үе • Бүтэцлэгдсэн шинжилгээний хөгжүүлэлт болон ОХШЗ-оор програм хангамж хөгжүүлэх • Ашигласан номууд • UML-ийн хэрэглээ 2
  • 3. Key Differences Between Structured and Object-Oriented Analysis and Design Phase Structured Object-Oriented Analysis Structuring Requirements • DFDs • Structured English • Decision Table / Tree • ER Analysis Requirement Engineering • Use Case Model (find Uses Cases, Flow of Events, Activity Diagram) • Object Model • Find Classes & class relations • Object Interaction: Sequence & collaboration Diagram, State Machine Diagram, • Object to ER Mapping Design • DB design • (DB normalization) • GUI Design • (forms & reports) • Physical DB design • Design elements • Design system Architecture • Design classes: Checking The Model, Combine Classes, Splitting Classes, Eliminate Classes • Design components • GUI design 3
  • 4. SW Project phases • Any project in the world has the following phases: – Planning – Analysis: system requirements are studied and structured – Design: recommended solution is converted into logical and then physical system specifications • Logical design – all functional features of the system chosen for development in analysis are described independently of any computer platform • Physical design – the logical specifications of the system from logical design are transformed into the technology-specific details from which all programming and system construction can be accomplished – Implementation – Testing – Maintenance 4
  • 5. Structured Analysis and design (SAD) A. Шинжилгээний үе 1. Системийн шаардлага тодорхойлох 2. Бүтэцлэгдсэн процессийн шаардлага тодорхойлох 3. Логик шаардлагууд (logical modeling) 4. Бүтэцлэгдсэн системийн өгөгдлийн шаардлагууд B. Зохиомжын үе 1. Өгөгдлийн баазын дизайн 2. Формууд болон тайлангийн загварууд 5
  • 6. Structured Analysis and design (SAD) A. Шинжилгээний үе 1. Системийн шаардлагуудыг тодорхойлох: – Ярилцлага: Ганцаарчилсан эсвэл группээр 2. Бүтэцлэгдсэн процессийн шаардлага тодорхойлох: – Data Flow Diagram (DFD) – логик процессийн загвар – DFD levels (процессийн задралууд) – Context diagram-ерөнхий диаграмм – 4 type of DFD • Физик урсгал: элементэд тохирсон • Логик урсгал: системийн урсгалуудыг тодорхойлох 6
  • 7. ӨУД-ийн 2 төрөл • Физик урсгал – Процессийн түвшинүүд нь тодорхой дараалалтай бөгөөд энэ нь өгөгдлийг боловсруулдаг. – Өгөгдлийн урсгалууд болон өгөгдөл хадгалах хэрэгсэлүүдийг физик нэрээр нь тодорхойлж болдог. • Логик урсгал Өгөгдөл болон процессуудын мэдээлэл нь системийн урсгалаар тодорхойлогдсон байдаг. 7
  • 8. SAD – Analysis phase (Cont.) 3. Логик шаардлагууд (logical modeling) – Шийдвэрийн хүснэгт болон шийдвэрийн мод хэрэглэх 4. Бүтэцлэгдсэн системийн өгөгдлийн шаардлагууд – ER diagram-обьектийн холбоосын диаграм 8
  • 9. SAD – Analysis phase (Cont.) B. Загварчилгааны үе 1. Өгөгдлийн баазын загвар (DB normalization) 2. Формууд болон тайлангийн загвар (GUI design) 9
  • 10. DB Normalization-ӨБ-ийг энгийн хэлбэрт шилжүүлэх  Өгөгдлийг энгийн хэлбэрт шилжүүлэх - объектийн холбоосын шинжилгээ  ОХ шинжилгээ нь ӨСС-ийг дээрээс доош нь (Top-Down) задлаж шинжлэх арга  эхлээд системийн объектүүдийг тодорхойлдог  дараа нь объектүүдээ атрибутын төвшинд задладаг.  1-р энгийн хэлбэр  Давтагдсан бүлэг элемент салгах  Тэг утгат элементийг салгах  Давтагдсан утгатай элемент салгах  Байж болох түлхүүрийг тодорхойлох  2-р энгийн хэлбэр  Элемент хоорондын функциональ хамаарлыг тодорхойлох  Функциональ бүрэн хамаарлыг тодорхойлох  Функциональ бүрэн бус хамааралтай элементийг салгах  3-р энгийн хэлбэр  Дамжсан холбоосыг салгах 10
  • 11. Object Oriented Analysis and Design-Обьект хандалтат шинжилгээ ба зохиомж OOAD 11
  • 12. Object-Oriented Analysis and Design (OOAD) • Обьектууд нь өгөгдөл болон процессуудад үндэслэгддэг. • Object: a structure encapsulating attributes and behaviors of a real-world entity 12
  • 13. OOSAD textbook A. Шинжилгээний үе • Бүтэцлэгдсэн шаардлагууд (Use cases) • Схемчилсэн өгөгдлийн загвар (class diagram) • Обьектын холбоосын загвар – Class diagram → ER diagram • Шинжилгээний классууд – Class stereotypes – Sequence diagram – Communication diagram – Activity diagram – State machine diagram 13
  • 14. OOSAD textbook B. Зохиомжын үе • Физик ӨБ-ийн загвар • Загварчилгааны элементүүд – Design classes – Design components – Design system Architecture • GUI design 14
  • 15. Learning UML textbook Focus on 4+1 view architecture 15 Шаардлагын загварчлал: Use Cases Logical View Process View Physical View Deployment View Use Case View Logical View Process View Physical View Deployment View Use Case View Системийн ажлын урсгалын загварчлал: Activity Diagrams Logical View Process View Physical View Deployment View Use Case View Logical View Process View Physical View Deployment View Use Case View Системийн логик бүтцийн загварлaл: Classes and Class, Sequence State Machine Diagrams Системийн хэсгүүдийг удирдах болон дахин ашиглалт: Component, Package, Deployment, Diagrams
  • 16. OOAD project phases • Analysis – Шаардлага цуглуулах, шинжилгээ болон загварчлал (Шаардлагын инженерчлэл /Requirement Engineering/ – Use Case загвар Case-үүдээ илрүүлэх, үйл явдлын урсгал, үйл ажиллагааны диаграм – Обьектын загвар • Классуудыг илрүүлэх болон холбоосыг тодорхойлох • Обьектын харилцан үйлчлэл: Sequence & collaboration Diagram, State Machine Diagram, – ОХД байгуулах/Object to ER Mapping/ • Design – Өгөгдлийн баазын физик загвар – Загварын элементүүд – Системийн загварын архитектур – Классуудын загвар: Загварчилгааг шалгах, классуудыг нэгтгэх, классуудыг задлах, классуудыг устгах – Загварчилгааны бүрэлдэхүүн хэсгүүд – Хэрэглэгчийн интерфейс загвар 16
  • 18. Оюутны бүртгэлийн системийн Use case диаграм Student Billing system Register For Courses Maintain Course Information Maintain Professor Information Maintain Student Information Create Course CatalogRegistrar Select Courses to teach Request Course Roster Professor 18
  • 19. • Billing system- Тооцооны систем • Roster-жагсаалт • Maintain-хадгалах • Registrar-бүртгэгч
  • 20. Use Case: Эмнэлэгийн системийн жишээ 20
  • 21. • Appointment-тов • Defer-сунгах, хойшлуулах • Extension point • Generalization-нэгтгэл • Clerk-ажилтан • Treatment-эмчилгээ • Boundary- хил хязгаар
  • 22. Use Case: Банкны системийн жишээ 22
  • 24. Swimlanes Registrar Professor Select courses to teach Create curriculum Create catalog Place catalog in bookstore Open registration Close registration [ Registration time period expired ] Mail catalog to students 24 Бүртгэлийн системийн үйл ажиллагааны диаграм
  • 26. Үйл ажиллагааны диаграм: Бараа нийлүүлэх систем 26
  • 27. • Fill order-Захиалга бэлтгэх • Ship order-Захиалга илгээнэ • Send invoice-нэхэмжлэл явуулна • Make payment-төлбөр хийнэ • Accept payment-төлбөр хүлээн авах 27
  • 28. Class relations: Удамшил/Inheritance and Multiplicity (Registration System) 1 0..* 0..* 1 1 1..* 4 3..10 0..4 1 RegistrationForm RegistrationManager Course Student CourseOffering Professor addStudent(Course, Student) name numberCredits open() addStudent(Student) major location open() addStudent(Student} tenureStatus ScheduleAlgorithm name RegistrationUser Tenure-албан тушаал
  • 29. Холбоосууд • Гурван төрлийн холбоос байдаг. – Association-нэгдэл – Aggregation-бүрдмэл – Dependency-хараат 29
  • 30. 1. Нэг классын обьектууд бусад классын обьектуудтай харилцан үйлчлэлцэх 2. Нэг классын обьектууд бусад классын обьектуудтай урт хугацааны турш харилцан үйлчлэлцэх 3. Нэг класс нь зарим үед холбоо хамааралаа ашиглах үед 4. Нэг класс нь бусад классын обьектийг агуулж байгаа үед 5. Нэг класс нь бусад классын төрөл болж байгаа үед 30
  • 31. Обьект хандалтат өргөтгөлүүдийн холбоосын загвар – Generalization-Ерөнхийлөл – Multivalued attributes (OK to violate atomicity requirement of 1NF)-олон утгатай шинж чанар – Aggregation – Object identifiers-обьект тодорхойлогчид – Pointers-заагчид – Behaviors-шинж чанар – Richer set of data types-өгөгдлийн төрлүүдийн олонлог Object-relational Data Model 31
  • 32. Үндсэн өгөгдлийн загварыг ОХЗагвар руу хөрвүүлэх • Классуудыг хөрвүүлэх • Холбоосуудыг хөрвүүлэх • Normalize object relations • Обьектын холбоосуудыг нэгтгэх 32
  • 34. Mapping Supertype/subtype relationships to relations These are implemented as one-to-one relationships 34
  • 35. Sequence Diagram • A sequence diagram displays object interactions arranged in a time sequence : Student registration form registration manager math 101 1: fill in info 2: submit 3: add student to math 101 4: add student 5: are you open? 6: add student math 101 section 1 35
  • 36. : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 1: set course info 2: process 3: add course 4: new course Collaboration Diagram • A collaboration diagram displays object interactions organized around objects and their links to one another 36
  • 37. 37
  • 38. 38
  • 39. Sequence Diagram for Bank System 39