Professional Documents
Culture Documents
1. Tiến trình phát triển phần mềm theo hướng đối tượng
Giới thiệu Ngôn ngữ mô hình hóa thống nhất UML
3. Mô hình hóa nghiệp vụ
4. Mô hình hóa trường hợp sử dụng
5. Mô hình hóa tương tác đối tượng
6. Biểu đồ lớp và gói
7. Biểu đồ chuyển trạng thái và biểu đồ hoạt động
8. Biểu đồ kiến trúc vật lý và phát sinh mã trình
9. Mô hình hóa dữ liệu
10. Bài học thực nghiệm
Giới thiệu
Ngôn ngữ mô hình hóa thống nhất
Mô hình là gì?
n Mô hình
n là bức tranh hay mô tả vấn ñề ñang cố gắng giải quyết hay mô tả
chính giải pháp vấn ñề
n là ngôn ngữ của người thiết kế (trong nhiều lĩnh vực)
n là trình diễn hệ thống sẽ xây dựng
n là phương tiện giao tiếp giữa các stakeholders
n là kế hoạch chi tiết (blueprints)
n Mô hình cho khả năng suy diễn một số ñặc tính của hệ thống thực
n Mô hình hóa trực quan
n Bằng các phần tử ñồ họa
n Ngôn ngữ mô hình hóa là ngôn ngữ mô tả hệ thống hay tác nghiệp
Ôtô
Làm chủ Con người ðọc Sách
Mô hình
A model is a complete
description of a system
from a particular
perspective
Ship via
Business Process
n Việc chọn mô hình nào ñể tạo lập có ảnh hưởng sâu sắc
ñến cách giải quyết vấn ñề và cách hình thành các giải
pháp
n Mỗi mô hình biểu diễn hệ thống với mức ñộ chính xác
khác nhau
n Mô hình tốt nhất phải là mô hình phù hợp với thế giới
thực
n Không mô hình nào là ñầy ñủ. Mỗi hệ thống thường
ñược tiếp cận thông qua tập mô hình gần như ñộc lập
nhau.
Architecture S/W
Constrain Requirements
Architecture
Representation System
Quality Attributes
Skills
Defines role
Organization
Stakeholders
UML 1.3
OMG Acceptance, Nov 1997
Final submission to OMG, Sep ‘97 UML 1.1
public First submission to OMG, Jan ´97
feedback
UML partners UML 1.0
Embley
Rumbaugh Singleton classes and
Object Modeling high-level view
Technique
Jacobson Wirfs-Brock
Object-Oriented Responsibilities
Software Engineering
Shlaer - Mellor Odell
Object lifecycles Classification
n Dependency
n Association
n Generalization
n Realization
n Stereotype
n Tagged value
n Constraint
Class
Diagrams
Use Case
Diagrams Object
Sequence Diagrams
Diagrams
Scenario
Scenario
Diagrams
Collaboration
Diagrams Component
Diagrams Diagrams
Models
Scenario
Scenario
Diagrams Deployment
Statechart
Diagrams
Diagrams Diagrams
Activity
Diagrams
Analysis Analysis
Model
Implementation Impl.
Model
Test Test
Model
Each workflow is associated with
one or more models.
End-user Programmers
Functionality Software management
Use Case View
Conceptual Physical
n Một trường ñại học thực hiện tin học hóa hệ thống ñăng
ký học và dạy học:
n Giáo vụ (Registrar) lập chương trình giảng dạy (curriculum) cho
một học kỳ
n Sinh viên (Student) chọn 4 môn học chính và 2 môn dự bị
n Khi sinh viên ñăng ký học thì hệ thống thanh toán (billing system)
in hóa ñơn học phí cho sinh viên
n Sinh viên có thể sử dụng hệ thống ñể bổ sung/loại bỏ môn học sau
khi ñã ñăng ký (trong khoảng thời gian cố ñịnh)
n Giáo sư (Professors) sử dụng hệ thống ñể xem bảng phân công
dạy học (course rosters)
n Người sử dụng hệ thống ñăng ký ñược cấp passwords ñể vào máy
Maintain Schedule
Billing System
Maintain Curriculum
Registrar
1: fill in info
2: submit
3: add course
: Registrar
theManager :
aCourse :
CurriculumManager
Course
4: new course
ScheduleAlgorithm
RegistrationForm
0..*
1 RegistrationManager
addStudent(Course, StudentInfo)
1 Course
name
0..* numberCredits
Student open()
addStudent(StudentInfo)
major
1
3..10
Professor 1..*
4 CourseOffering
tenureStatus
location
1
0..4 open()
addStudent(StudentInfo)
Cancel
Canceled
do: Notify registered students
Closed
Cancel do: Finalize course
n Captures dynamic
behavior (activity-
oriented)
n Purpose
n Model business
workflows
n Model operations
Billing
System
People.dll
User
Course.dll
Course
Student Professor
Course Course
Offering
Registration Database
Main
Library Building
Dorm