Phương pháp hình thức đặc tả hệ thống hướng đối tượng dựa trên mô hình rCOS

9 0 0
Phương pháp hình thức đặc tả hệ thống hướng đối tượng dựa trên mô hình rCOS

Đang tải... (xem toàn văn)

Thông tin tài liệu

Trong tiến trình phát triển thống nhất RUP (rational unified process) dựa trên ngôn ngữ UML (unified modeling language) [1, 4, 7], một số mô hình loại khác nhau của UML đã được sử dụng để biểu diễn các mô hình nghiệp vụ, mô hình phân tích, mô hình thiết kế và mô hình triển khai trong pha khác nhau để phát triển hệ thống.

Tạp chí Khoa học & Công nghệ - Số 1(45) Tp 2/Năm 2008 PHNG PHP HèNH THC C T H THỐNG HƯỚNG ĐỐI TƯỢNG DỰA TRÊN MƠ HÌNH rCOS Nguyễn Mạnh Đức (Trường ĐH Sư phạm - ĐH Thái Nguyên)Đặng Văn Đức (Viện Công nghệ thông tin - Viện KH&CN Việt Nam)Nguyễn Văn Vỵ (Trường ĐH Công nghệ- ĐH Quốc gia Hà Nội) Đặt vấn đề Thiết kế phát triển hệ thống phần mềm với ngôn ngữ hướng đối tượng thừa nhận phức tạp [1, 4] Nhiều nhà nghiên cứu cần thiết phát triển cơng cụ hình thức hố làm sở cho việc phát triển phần mềm hướng đối tượng Bài báo trình bày qui trình làm mịn mơ hình UML dựa lý thuyết lập trình thống Hoare He [2], sử dụng vào việc xây dựng cách đắn chương trình hướng đối tượng Trong tiến trình phát triển thống RUP (rational unified process) dựa ngôn ngữ UML (unified modeling language) [1, 4, 7], số mơ hình loại khác UML sử dụng để biểu diễn mơ hình nghiệp vụ, mơ hình phân tích, mơ hình thiết kế mơ hình triển khai pha khác để phát triển hệ thống Thí dụ, biểu đồ ca sử dụng biểu diễn mơ hình nghiệp vụ (khung nhìn nghiệp vụ), biểu đồ lớp biểu diễn mơ hình phân tích (khung nhìn tĩnh), biểu đồ công tác biểu đồ trạng thái biểu diễn hành vi (khung nhìn hành vi)… RUP sử dụng đồng thời nhiều khung nhìn việc mơ hình hố hệ thống cho phép người phát triển phân chia mơ hình hệ thống thành số khung nhìn khác để làm trực quan quản lý chúng theo cách riêng Mỗi khung nhìn đơn tập trung vào khía cạnh riêng biệt giai đoạn, để phân tích hiểu rõ đặc trưng khác mơ hình hệ thống Tuy nhiên, mơ hình hệ thống với nhiều khung nhìn phải đối mặt với khó khăn khác nhiều khung nhìn thời điểm khác tiến trình phát triển Một số vấn đề đặt cần giải [12]: 1) Tính qn ngang mơ hình: Nhiều khung nhìn khác hệ khác hệ thống đòi hỏi phải tương thích với cú pháp ngữ nghĩa 2) Tính qn dọc mơ hình: Khi biến đổi phát triển mơ hình qua bước làm mịn, địi hỏi mơ hình nhận bước phải quán có ngữ nghĩa phù hợp với nhau; 3) Tính lần vết mơ hình: Khi chuyển từ mơ hình khung nhìn sang mơ hình theo khung nhìn khác, hay từ bước làm mịn sang bước sau phải dẫn cho phép lần ngược lại mơ hình loại trước hay mơ hình bước trước, lần xi đến mơ hình bước sau, đảm bảo phù hợp mơ hình 4) Tích hợp mơ hình: Mơ hình khung nhìn khác cần phải tích hợp đảm bảo quán đồng toàn hệ thống trước có sản phNm phần mềm cuối Nhiều nghiên cứu tính chất hình thức thể mơ hình UML [10, 12] tiến hành năm gần Tuy nhiên, phần lớn nghiên cứu liên quan tới hình thức loại biểu đồ riêng rẽ tính qn mơ hình loại loại 95 Tạp chí Khoa học & Công nghệ - Số 1(45) Tp 2/Năm 2008 Nhỡn li tin trỡnh phỏt triển hệ thống phần mềm theo hướng đối tượng theo RUP ta thấy, bắt đầu tiến trình phát triển với khung nhìn nghiệp vụ, có chứa mơ hình lớp khái niệm, kết thúc tiến trình trước chuyển sang mã nguồn, lại nhận biểu đồ lớp thiết kế hệ thống phần mềm Nếu ta sử dụng khung nhìn biểu diễn biểu đồ lớp, ta khắc phục tính đa khung nhìn tiến trình phát triển Vấn đề cịn cần phải giải là: xây dựng phép biến đổi quy tắc kiểm tra đắn chúng, loạt phép biến đổi đắn, ta chuyển biểu đồ lớp khái niệm ban đầu thành biểu đồ lớp thiết kế cuối phần mềm hệ thống (hình vẽ đây) [16, 17] Phương pháp Tiến trình RUP biểu đồ lớp khái niệm miền lĩnh vực mơ hình nghiệp vụ khung nhìn phép BĐ1 biểu đồ lớp làm mịn mơ hình phân tích khung nhìn phép BĐ2 … phép BĐn … biểu đồ lớp thiết kế phần mềm hệ thống mơ hình thiết kế khung nhìn k Ý tưởng cho phương pháp giải vấn đề Lúc này, khung nhìn khác tiến trình RUP sử dụng công cụ trợ giúp cho việc xác định phép biến đổi cụ thể để tận dụng mạnh khung nhìn Vấn đề cuối đặt giải cơng cụ hình thực hóa dựa quan hệ đại số Nhìn trến sơ đồ ta thấy, để đạt đến biểu đồ lớp thiết kê cuối cùng, cần đến phép biến đổi sau: thêm lớp (có thể kế thừa), thêm thuộc tính, thêm phương thức, thay đổi đặc trưng thuộc tính, phương thức, thay đổi liên kết lớp biến đổi tương ứng phương thức Cơ sở phép biến đổi Một biểu diễn chương trình lệnh coi thiết kế (design) xác định cặp (α, P) [2, 3], α biểu thị tập biến biết thiết kế, gọi bảng ký kiệu thiết kế; P toán tử xác định quan hệ giá trị ban đầu biến giá trị kết nó, ta ký hiệu q trình biến đổi sau: p(x) ├ R(x, x’), cụ thể sau: p(x) ├ R(x, x’) def ok ∧ p(x) ⇒ ok’∧ ∧ R(x, x’) Trong đó: p(x) gọi tiền điều kiện phải có giá trị true – tức đắn trước chương trình bắt đầu R(x, x’) gọi hậu điều kiện nhận sau chương trình thực x x’ biểu diễn giá trị khởi đầu kết thúc biến x chương trình ok ok’ biến logic mơ tả trạng thái hành vi ban đầu cuối chương trình: chương trình kích hoạt hợp thức ok true, việc thực chương trình cuối thành công ok’ true, ngược lại chúng false 96 Tạp chí Khoa học & Công nghệ - Số 1(45) Tp 2/Năm 2008 2.1 Mụ t h thng hng đối tượng Một hệ thống chương trình hướng đối tượng S có dạng cdecls ● P , đây: cdecls phần khai báo số hữu hạn lớp; P gọi phương thức có dạng (glb, c), glb tập hữu hạn biến chung kiểu liệu chúng, c lệnh P dược hiểu phương thức S tạo ngơn ngữ giống Java Phần khai báo lớp cdecls thứ tự khai báo lớp cdecl1; ; cdeclk, Ở khai báo lớp cdecli có dạng sau: [private] class N [extends M] { pri : T1 t1 = a1 , Tm tm = am; pro : U1 u1 = b1 , Un un = bn; pub : V1 v1 = d1 , Vk vk = dk; meth : m1 (T11 x11, T12 y12, T13 z13) { c1 }; ; mℓ (Tℓ1 xℓ1, Tℓ2 yℓ2, Tℓ3 zℓ3) { cℓ } } đó: Mỗi lớp khai báo private public, ngầm định public Chỉ lớp có kiểu public kiểu sở sử dụng khai báo biến chung glb N M tên lớp khác M gọi lớp cha N Phần pri khai báo thuộc tính private lớp, bao gồm kiểu giá trị khởi tạo Tương tự, phần pro pub khai báo thuộc tính protected public lớp Phần method khai báo phương thức lớp N, m1, m2, , mℓ phương thức, (Ti1 xi1), (Ti2 yi2), (Ti3 zi3) ci biểu diễn tham biến giá trị, tham biến kết quả, tham biến giá trị kết phần thân phương thức mi Phương thức biểu diễn m(paras){c}, paras tham biến c thân lệnh m Khi viết luật làm mịn, ký pháp sau sử dụng để khai báo lớp N: N [M, pri, pro, pub, op] Trong đó, M tên lớp cha N; pri, pro pub tập thuộc tính private, protected public N; op tập phương thức N Ta đưa tham số liên quan cần thiết chẳng hạn như: sử dụng N[op] để lớp N với tập phương thức op, N[pro, op] lớp N với thuộc tính protected pro tập phương thức op 2.2 Mô tả biểu thức Biểu thức ngôn ngữ hướng đối tượng xuất vế bên phải lệnh gán, xác định theo qui tắc sau [2, 5]: e ::= x | null | self | e.a | e is C | C(e) | f(e) Trong x biến đơn, null kiểu đối tượng đặc biệt, lớp đặc biệt NULL lớp lớp null nhất, self sử dụng để đối tượng hoạt động phạm vi tại, e.a thuộc tính a e, e is C kiểu kiểm thử (test), C(e) biểu thức có kiểu theo khn mẫu, f(e) phép tốn gắn liền với kiểu ngun thuỷ 2.3 Mơ tả lệnh Phần xét lệnh hỗ trợ việc xây dựng chương trình hướng đối tượng tiêu biểu [2, 5] 97 Tạp chí Khoa học & Công nghệ - Số 1(45) Tp 2/Năm 2008 c ::= skip | chaos | var T x = e | end x bỏ qua| không xác định khai báo | kết thúc khai báo tuần tự| chọn theo điều kiện| không tiền định| lặp c; c | c b c | c ⊓ c | b*c le.m(e, v, u) | le:=e | C.new(x) gọi phương thức | gán| tạo đối tượng Ở b biểu thức logic, c lệnh, e biểu thức, le xuất vế trái phép gán có dạng le ::= x|le.a với x biến đơn a thuộc tính đối tượng Đa số lệnh có ý nghĩa tương tự ngôn ngữ lệnh (có thể xem chi tiết [2, 5]) Sau giải thích số lệnh đặc trưng cho chương trình hướng đối tượng Lệnh gán le := e xác định le e xác định kiểu e kiểu kiểu khai báo le Trong trường hợp lệnh gán đơn x := e, lệnh gán xác định thay đổi x gán x giá trị e Trong trường hợp thay đổi thuộc tính đối tượng, le.a := e thay thuộc tính a đối tượng le giá trị e Phương thức gọi le.m(e, v, vr) xác định le đối tượng không rỗng m(x, y, z) phương thức khai báo kiểu le Khi xác định đúng, việc thực lệnh gán giá trị tham số thực v vr cho tham số hình thức x z m đối tượng hoạt động le tham chiếu tới, thực thân phương thức môi trường lớp đối tượng hoạt động Sau thực thân cuối cùng, giá trị tham biến kết tham biến giá trị kết y z trả lại hợp qui cách với tham số thực r vr Lệnh tạo đối tượng C.new(x) xác định C lớp khai báo Sự thực lệnh tạo đối tượng lớp C với biến tham chiếu x gắn giá trị khởi đầu thuộc tính lớp C với giá trị thuộc tính x Các phép biến đổi làm mịn mô hình hệ thống đối tượng 3.1 Các khái niệm Sau ta xem xét số khái niệm liên quan tới q trình làm mịn mơ hình hệ thống [3, 9, 11, 13, 14]: Định nghĩa (làm mịn thiết kế): Thiết kế D2 = (α, P2) làm mịn thiết kế D1=(α, P1) ký hiệu là: D1 ⊑ D2, P2 dẫn tới P1, nghĩa là: ∀x, x’, , z, z’, ok, ok’: (P2 ⇒ P1) Ở x, , z biến chứa α D1≡ D2 D1⊑ D2 D2 ⊑ D1 Định nghĩa (làm mịn liệu): Cho ρ ánh xạ α2 tới α1 Thiết kế D2 = (α2, P2) làm mịn thiết kế D1 = (α1, P1) ρ, ký hiệu D1⊑ρ D2, (ρ; P1)⊑ (ρ;P2) Trong trường hợp ρ gọi ánh xạ làm mịn Định nghĩa (làm mịn hệ thống): Cho S1 S2 đối tượng chương trình có tập biến chung glb S2 làm mịn S1, S1 ⊑sys S2, hành vi kiểm sốt dự đốn nhiều S1, tức là: ∀ x, x’, ok, ok’: (S2⇒ S1) Ở x biến glb.Ý nghĩa hành vi mở rộng S1, cặp tiền điều kiện hậu điều kiện biến chung tập S2 Để phạm vi S1 S2 làm mịn khác nhau, ta yêu cầu chúng phải có tập biến chung tồn ánh xạ làm mịn từ biến S1 tới S2 tập biến chung Định nghĩa (làm mịn lớp): Cho cdecls1 cdecls2 hai khai báo cdecls2 làm mịn cdecls1, đượcký hiệu lài cdecls2 ⊒class cdecls1 phần trước thay 98 T¹p chÝ Khoa häc & Công nghệ - Số 1(45) Tp 2/Năm 2008 phn sau hệ thống đối tượng: cdecls2 ⊒class cdecls1 def ∀P (cdecls2• P ⊒sys cdecls1• P) Ở P đóng vai trị cho phương thức (glb, c) Phương thức tương ứng với chương trình ứng dụng sử dụng dịch vụ Do đó, ta quan tâm làm mịn phần khai báo 3.2 Xây dựng qui trình làm mịn mơ hình Quá trình làm mịn thực theo luật làm mịn được xác định [3, 10, 11] 3.2.1 Xây dựng hệ thống khởi tạo ban đầu Mơ hình hệ thống khởi tạo ban đầu cịn gọi mơ hình khái niệm thơ, mơ hình lĩnh vực miềm, mơ tả khái niệm quan trọng hệ thống qua đối tượng lĩnh vực nghiệp vụ liên kết chúng với Thuật tốn bổ sung lớp vào mơ hình khởi tạo: Cơng việc tạo mơ hình khởi tạo hệ thống, cụ thể bổ sung tên lớp Ni đặc trưng cho đối tượng miền lĩnh vực vào biểu đồ lớp mô hình hệ thống có dạng: APP0 = N1[]; N2[]; ; Nk[] xác định quan hệ Ni Phép biến đổi thực thuật toán addClassName sau: // Thuật toán addClassName- bổ sung lớp vào mơ hình Input: Một tên xâu cho định danh cho lớp Ni Output: Lớp Ni trống (chưa có thuộc tính phương thức) Format: addClassName () Method: var stop: Boolean, s: String; stop := false; while ¬ stop { read(s); if {(s ””) → AdditionClassName(s)} fi; read(stop); } end stop, s; End Ở đây, cấu trúc if {(bi → Pi) | ≤ i ≤ n} fi thực liên tiếp có điều kiện Trong đó, Pi chọn để thực bi true Khi bi false kết chaos [2] Phep bổ sung lớp dùng cho việc bổ sung tiếp tục lớp sau vào hệ thống 3.2.2 Xây dựng biến đổi làm mịn mơ hình khái niệm hệ thống [14, 16, 17] Thuật tốn bổ sung thuộc tính cho lớp: Khi có lớp, ta cần xác định bổ sung thuộc tính private định dạng kiểu cho (khi khơng giả thiết gì, thuộc tính lớp mặc định private) Việc thêm thuộc tính thành phần vào lớp thực theo luật bổ sung sau: Ni[]; cdecls ⊑ Ni[pri ]; cdecls 99 T¹p chÝ Khoa học & Công nghệ - Số 1(45) Tp 2/Năm 2008 Trong T kiểu liệu thuộc tính attributeName d giá trị khởi đầu cần Với lớp, thực nhiều lần luật để bổ sung đầy đủ thuộc tính cho Q trình mơ tả bẳng thuật tốn hình thức sau: // Thuật tốn addAttributeName- bổ sung thuộc tính vào lớp Input: Một lớp Ni hệ thống, Output: Lớp Ni bao gồm thuộc tính kiểu private cần thiết Format: addAttributeName () Method: var stop: Boolean, s: String; stop := false; while ¬ stop { read(s); if {(s ””) → AdditionAttributeName(s)} fi; read(stop); } end stop, s; End Thực k lần thuật tốn để bổ sung thuộc tính cho k lớp hệ thống Thuật toán chuyên đổi kiểu thuộc tính: Tiếp theo chuyển thuộc tính kiểu private cần thiết sang kiểu protected để hỗ trợ dịch vụ nhiều Muốn vậy, ta áp dụng luật chuyển đổi kiểu thuộc tính sau: Ni[pri ]; cdecls ⊑ Ni[pro ]; cdecls Việc chuyển thuộc tính kiểu private lớp sang kiểu protected theo thuật toán sau: // Thuật toán priAttToproAtt, chuyển kiểu thuộc tính private thành protected Input: Một lớp khái niệm Ni hệ thống ứng dụng Output: Lớp Ni bao gồm thuộc tính kiểu protected cần thiết Format: priAttiToproAtt () Method: var stop: Boolean, ok: Boolean; stop := false; ok := false; while ¬ stop { if {(type(Ni.AttributeName) = private) → { Question (ok); if {ok=true → priTopro(Ni.AttributeName)}fi; } fi; read(stop); } end stop, ok; End 100 Tạp chí Khoa học & Công nghệ - Số 1(45) Tp 2/Năm 2008 Bng cỏch tng t, ta cng xây dựng thuật tốn chuyển kiểu thuộc tính protected sang kiểu public Sau bước thực công việc làm mịn thu mơ hình thống ta có: Mơ hình khái niệm thơ ⊑ Mơ hình khái niệm mịn ban đầu 3.2.3 Xây dựng mơ hình thiết kế ban đầu cho hệ thống Thuật toán bổ sung phương thức cho lớp: Mơ hình thiết kế mơ hình gồm lớp có chứa đầy đủ thuộc tính phương thức Bằng cách bổ sung phương thức cho lớp mơ hình khái niệm ta mơ hình thiết kế Có thể áp dụng luật bổ sung phương thức sau: N[op]; cdecls ⊑ N[op ∪ m(paras) {c}]; cdecls Thuật toán bổ sung phương thức vào lớp viết sau: // Thuật tốn addMethodName- bổ sung phương thức vào lớp Input: Một lớp Ni hệ thống ứng dụng Output: Lớp Ni bao gồm phương thức cần thiết Format: addMethodName () Method: var stop: Boolean, s: String, paras: String; stop := false; while ¬ stop { read(s, paras); if {(s ””) → AdditionMethodName(s, paras)} fi; read(stop); } end stop, s, paras; End Sau phép biến đổi ta có: Mơ hình khái niệm mịn ⊑ Mơ hình thiết kế ban đầu 3.2.4 Làm mịn mơ hình thiết kế hệ thống Các công việc phần tuỳ thuộc nhiều vào toán nghiệp vụ cụ thể đặt Trong bước áp dụng nhiều luật làm mịn khác để làm mịn dần hệ thống từ mơ hình thơ dạng sát với mã trình thực được, tạo điều kiện thuận lợi cho q trình dịch xi từ mơ hình UML sang ngơn ngữ hướng đối tượng mà hỗ trợ Ở cần thực luật khác để làm mịn dần cho hệ thống với thao tác biến đổi sau [3, 11]: - Làm mịn phần thân phương thức m(){c} lớp: Áp dụng luật Extract Method, Move Method, Add Parameter … - Chuyển thuộc tính từ lớp tới lớp khác: Ápdụng luật Move Field [11], để chuyển thuộc tính từ lớp sang lớp khác sau: - cdecl; M[b: N, a: T, op]; N[] ⊒ cdecls; M[b: N, op]; N[a: T] Xây dựng thừa kế cho lớp: Áp dụng luật tạo quan hệ lớp, chế tác lại định hướng mẫu, Decorator, Strategy, luật thay điều kiện tính đa hình 101 T¹p chÝ Khoa học & Công nghệ - Số 1(45) Tp 2/Năm 2008 Với hệ thống ứng dụng cụ thể, ta linh hoạt áp dụng luật làm mịn khác trình bày để biến đổi dần hệ thống cho toán đặt Khi kết thúc phép biến đổi, ta có hệ thống bao gồm lớp thiết kế với đầy đủ thuộc tính phương thức Do q trình biến đổi thực đảm bảo tính đắng, quán phù hợp, nên hệ thống nhận dạng hình thức hóa đặc tả đắn ta mong muốn hệ thống cần xây dựng Kết luận Bài báo trình bầy tiến qui trình phát triển hệ thống phần mềm hướng đối tượng sở luật thuật toán biến đổi làm mịn, chúng xây dựng dựa tính luật làm mịn tính đặc tả hình thức xét Để thực biến đổi làm mịn, thuật toán làm mịn tương ứng xây dựng phục vụ cho việc phát triển mơ hình hệ thống từ khái niệm đến thiết kế để mô hình thiết kế cuối đặc tả hệ thống cần xây dựng Chúng tơi xây dựng thuật tốn: addClassName, addAttributeName, MoveAtt, priAttToproAtt, proAttTopubAtt, MoveMethod, addMethodName, RelationShip, Inheritance1, Inheritance2, Polymorphism để phục vụ cho đặc tả trình làm mịn tinh chế hệ thống hướng đối tượng [15, 16, 17] Qua trình làm mịn cho ta mơ hình thiết kế cuối có biểu diễn tương đối gần với chương trình dạng ngơn ngữ lập trình thực Điều làm dễ dàng cho việc cài đặt hệ thống ngơn ngữ lập trình hướng đối tượng, chẳng hạn C#.Net hay Java Để áp dụng bước làm mịn cụ thể toán, việc sử dụng khung nhìn tiến trình RUP cần thiết Nó những mơ hình trực quan, cho ta gợi ý cho việc lựa chọn phép biến đổi cần thiết bước Khi thực phép biến đổi này, nêu việc cần làm để hệ thống cuối Tuy nhiên, mơ hình thiết kế tối ưu hay khơng chưa đề cập Ngồi ra, thực đưa phép biến đổi Cịn có nhiều phép biến đổi liên quan đến trường hợp tinh tế chưa đề cập đến Đó vấn đề đặt cần tiếp tục nghiên cứu để có hồn thiện khả triển khai hiệu cao Tóm tắt Trong báo trình bày nghiên cứu bước đầu tiến trình hình thức để đặc tả trình phát triển hệ thống hướng đối tượng Xuất phát từ biểu đồ miền lĩnh vực nghiệp vụ, trình phát triển hệ thống dựa tiến trình RUP thực biến đổi hình thức sở quan hệ đại số luật để đảm bảo tính đắn kết nhận Các phép biến đổi bao gồm thêm lớp, thêm thuộc tính, phương thức cho lớp, phát triển lớp kế thừa, chuyển đổi đặc trưng thuộc tính lớp, chuyển thuộc tính tốn tử từ lớp sang lớp khác, phép toán đặc tả phương thức lớp Kết nhận đặc tả hình thức hệ thống với lớp với thành phần Do đặc tả trực quan gần với mơ hình UML ngơn ngữ lệnh nên có chuyển kết cuối sang biểu đồ thiết kế với lớp UML, từ sử dụng Rational Rose để chuyển thành mã lệnh Key words: UML, RUP, Rational Rose, Object–Oriented, refinement, process, class, attribute, operation 102 T¹p chÝ Khoa häc & C«ng nghƯ - Sè 1(45) Tập 2/Năm 2008 Summary The formal method specsification Object-Oriented System base on relation model This paper presents a algebric relations – based formal refinement process for the objectoriented software system development Starting at the conceptual class model of one applied domain (in conjunction with RUP), the refinement process trasforms this model to the final design class model by sequent applying number of algebric relations-based formal transformations and relevant rules Theses transformations include these adding classes to the exsiting system model, adding and changing attrributes, operations in the clasess of this model, and also instructions in the operations of one class The final design class model is a design specificaton of the expected software system The repesentation of this final model is closed to one of the object-oriented programming languages Tài liệu tham khảo [1] Booch, G., Rumbaugh, J and Jacobson, I., The Unified Modeling Language User Guide, AddisonWesley, 1999 [2] C.A.R Hoare and He Jifeng, Unifying Theories of Programming, Prentice Hall, 1998 [3] He Jifeng, Li Xiaohan and Zhiming Liu, rCOS: Refinement Calculus for Object Systems, Technical report UNU/IIST No.322, UNU/IIST: International Institute for software technology, the United Nations University, Macau, May 2005 [4] Ivar Jacopson, Gray Booch and James Rumbaugh, The Unified Software Development Process, Addision-Wesley, 2000 [5] J He, Z Liu, X Li and S.Qin, A relational model for object-oriented designs In Pro APLA’2004 LNCS 3302, Taiwan, 2004, Springer [6] Joshua Kerievsky, Refactoring to patterns, Addison-Wesley, 2004 [7] Kuchten P., The Rational Unified Process – An Introduction, Addison-Wesley, 2000 [8] Larman, Applying UML and patterns, Prentice-Hall International, 2001 [9] Martin Fowler, Refactoring, improving the design of existing code, Addison-Wesley, 2000 [10] R.J.R Back, L Petre and I.P Paltor, Formalizing UML use cases in the refinement calculus In Proc UML’99 Springer-Verlag, 1999 [11] Quan Long, He Jifeng, Zhiming Liu, Refactoring and pattern-directed refactoring: A formal perspective, Technical report UNU/IIST No.318, UNU/IIST: International Institute for software technology, the United Nations University, Macau, January 2005 [12] P Andre, A Romanczuk, J.C Royer and A Vasconcelos, Checking the consistency of UML class diagrams using Larch Prove In Proc ROOM’2000, York, UK, 2000 [13] Nguyễn Mạnh Đức, Nguyễn Văn Vỵ, Đặng Văn Đức (2005), “Mơ hình đại số quan hệ hệ thống hướng đối tượng”, Tạp chí Tin học điều khiển học, Viện Khoa học Công nghệ Việt Nam, 21 (3) tr.261-270 [14] Nguyễn Mạnh Đức, Đặng Văn Đức (2006), “Về cách tinh chế mơ hình lớp UML”, Tạp chí Tin học điều khiển học, Viện Khoa học Công nghệ Việt Nam, 22 (1) tr 63-74 [15] Nguyễn Mạnh Đức, Đặng Văn Đức (2006), “Ứng dụng phương pháp hướng đối tượng ngơn ngữ UML mơ hình hố hệ thống E-Learning”, Tạp chí Khoa học Cơng nghệ, Viện Khoa học Công nghệ Việt Nam, 44 (3) tr 33-42 [16] Nguyễn Mạnh Đức (2007), Thiết kế hướng đối tượng xây dựng hệ thống thông tin phức tạp, Luận án Tiến sĩ Tốn học, Viện Cơng nghệ Thông tin - Viện KH&CN Việt Nam [17] Đặng Văn Đức, Nguyễn Văn Vỵ, Nguyễn Mạnh Đức (2007), “Một số thuật toán tinh chế cấu trúc hệ thống hướng đối tượng dựa luật làm mịn rCOS”, Kỷ yếu 30 năm thành lập Viện Công nghệ Thông tin, Viện Công nghệ Thông tin - Viện KH&CN Việt Nam 103 ... trình hình thức để đặc tả trình phát triển hệ thống hướng đối tượng Xuất phát từ biểu đồ miền lĩnh vực nghiệp vụ, trình phát triển hệ thống dựa tiến trình RUP thực biến đổi hình thức sở quan hệ. .. tính, phương thức cho lớp, phát triển lớp kế thừa, chuyển đổi đặc trưng thuộc tính lớp, chuyển thuộc tính tốn tử từ lớp sang lớp khác, phép toán đặc tả phương thức lớp Kết nhận đặc tả hình thức hệ. .. hợp, nên hệ thống nhận dạng hình thức hóa đặc tả đắn ta mong muốn hệ thống cần xây dựng Kết luận Bài báo trình bầy tiến qui trình phát triển hệ thống phần mềm hướng đối tượng sở luật thuật toán

Ngày đăng: 11/05/2021, 03:12

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan