1. Trang chủ
  2. » Luận Văn - Báo Cáo

Vận dụng công nghệ hướng đối tượng phát triển hệ thống quản lý, cấp chứng minh nhân dân điện tử

110 376 0
Tài liệu được quét OCR, nội dung có thể không chính xác

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 110
Dung lượng 73,89 MB

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ Quách Hồng Nam

VẬN DỤNG CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG PHAT TRIEN HE THONG QUAN LY, CAP

CHUNG MINH NHAN DAN DIEN TU

Chuyén nganh: CONG NGHE THONG TIN Ma so: 1.01.10

LUAN VAN THAC SI

Người hướng dẫn khoa học: PGS.TS Nguyễn Văn Vy

Nc N-LO/366

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ Quách Hồng Nam

VẬN DỤNG CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG PHAT TRIEN HE THONG QUAN LY, CAP

CHUNG MINH NHAN DAN DIEN TU

Chuyén nganh: CONG NGHE THONG TIN Ma so: 1.01.10

LUAN VAN THAC SI

Người hướng dẫn khoa học: PGS.TS Nguyễn Văn Vy

Nc N-LO/366

Trang 3

MỤC LỤC

TRANG

TÔI GTCT THIẾU 7 a ca ca 1

CHUONG 1

PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG -22222+z+22vxrrsrrree 3

1.1 Quá trình chung để phát triển phần mềm hướng đối tượng 3 1.2 Các ưu điểm của tiếp cận hướng đối tượng - -: ++: 6 1 3 Những vấn đề đặt ra trong việc khai thác phân mềm hướng đối tượng 7

(CHUONG 2

CÁC CÔNG CỤ HỖ TRỢ PHÁT TRIỀN HƯỚNG ĐỐI TƯỢNG 8

2.1 Khái quát về ÚMT 2c aeoieerieresaemrdre §

2.2: Kiến trúc trone DMT ca cac ốc Ÿẽ nen cŸnôiiee 10

2.2.1 Mó hình khái niệm của Má 16c nceeGeeinoioioiieeeseede 11

222, Cac KG RAY GUNE ái 22726601067 210Á52416ieegL001514000 408062260233 10h 11 2.2.3, LÁC quản BỆ 2.2m inervorewtaieresarerenrase-ge sons cobtnendecsnsdeennsatvsnoches 19

7.2.1 Củc biểu AG trons NE ca co c0 cà co ro ng 25 1.4 Các quy tác của NỈ na eninseeeiaeennereeee 30 2,5 Cñu cơ chế chữHÐ 2222-12 ca 120 0nsirecnniesloi900S002000030005Đe- 31 2.6 Une ding cid UM occ ee ede ee te 32 (CHUONG 3

WAN DUNG CONG NGHE HUONG DOI TUGNG XAY DUNG MO HINH (CHO HE THONG QUAN LY CHUNG MINH NHAN DAN DIEN TU

Trang 4

33.PhintiEDcøsu d0nD con an eee 39-

8121: ( 1 1401H50:/08A HD LIONHD i ishing ee ie 39

3.5.2; Dany Sach Cac Ca SU QUIG c2 1a 260516 xã2 bia bế sec a2: ấp: lạil4t9 tên; BH 40

3.3.3 Mô hình ca sử dụng, mô tả các ca sử dụng, mô hình miền 42

333] (70icds/ dua Quan lý HeHtl HUẾ cv ae ề 43 3.3.3.2 Gói ca sử dụng quản lý nhập dữ liệu hồ sơ CMND 49

3.3.3.3 Mô tả ca sử dụng gói nhập ảnh của Công dân - - 57

3.3.3.4 Mô tả ca sử dụng gói nhập vân tay của Công dân 62

3.3.3.5 Mô tả ca sử dụng gói thiết lập in ấn CMND - 67

3.3.3.6 Mô tả ca sử dụng gói tra cứu thông tin CMND và kiểm tra CMND 7 I 3.3.3.7 Mô tả ca sử dụng gói thống kê báo cáo kết quả cấp CMND 74

CHƯƠNG 4 PHÂN TÍCH VÀ CÀI ĐẶT CHƯƠNG TRÌNH 76

4.1 Kiến trúc hệ thống quản lý, cấp chứng mỉnh nhân dân điện tử 76

§.1.1 Đặc tả kiến trúc Tiệ (HỐHG: sácccecociiceeeeeniisssssoosssiseenosgA066942g08ssaSe 76 4.1.2, Giải PháP (ông HHHÍ:, ecciacicebeCibaeieiicsaeiesllasaniidesssgzlasbsegeisseie 76 Ag Kite trite hệ thống - 7c c2 ccaoaadaaseei 71 M21 Cap Guan, Riel PA sis no es Ca 79 W.2.2 (án IHÌ (hành BHÀ acc bì c0 7210107 ee ces 79 B25 CAD WARE WONG 0 ai 06062 ee 80 4.3 Phân tích cài đặt hệ thống quản lý, cấp CMND điện tử 82

Trang 5

LỜI NÓI ĐẦU

Trong những năm gần đây việc ứng dụng và phát triển công nghệ phần mềm là một phần quan trọng trong khâu sản xuất phân mềm Nhiều dự án,

nhiều chương trình phần mềm đã được thực hiện nhưng chưa kết thúc hoặc

xây dựng xong vẫn không thực hiện được hoặc còn nhiều lỗi không đáp ứng được yêu cầu của người sử dụng Vì vậy, để xây dựng một phần mềm tốt cần

phải chú ý tới các vấn đề chính như sau:

- Dữ liệu, đối tượng và cấu trúccủa hệ thống

- Những hành vi thể hiện các chức năng trong hệ thống - Điều khiển hành vi tổng thể của hệ thống

Trên thực tế, cấu trúc dữ liệu của hệ thống phải thường xuyên thay đổi

theo yêu cầu của người sử dụng Vì vậy, việc khảo sát, phân tích, thiết kế hệ thống là một công việc rất phức tạp và quan trọng trong quá trình xây dựng và

phát triển một phần mềm Phân tích bài toán, lựa chọn phương pháp phát triển hệ thống thích hợp để hệ thống có rính mở, dễ thích nghĩ, chất lượng cao, giúp

cho việc bảo trì hệ thống đỡ tốn kém

Trong các giải pháp phát triển phần mềm hiện nay, giải pháp phát triển

phần mềm hướng đối tượng là một giải pháp tốt cho những hệ thống phần

mềm, nó có nhiều ưu điểm so với phương pháp hướng chức năng truyền thống

Do đó, việc nghiên cứu và vận dụng phương pháp phân tích, thiết kế hướng đối tượng sử dụng UML (UML là ngôn ngữ mô hình hố, ngơn ngữ

chuẩn thống nhất để viết ra bản kế hoạch chỉ tiết phân mềm) để phát triển

phần mềm, giải quyết những bài toán lớn có dữ liệu phân tán là hết sức cần thiết Bài toán phát triển hệ thống quản lý, cấp Chứng minh nhân dân điện tử

là một trong những bài tốn ứng dụng cơng nghệ này Đây là một bài toán lớn,

có dữ liệu phân tán Tuy nhiên, hiện nay ở nước ta chưa có một hệ thống quản

Trang 6

cầu đặt ra do đó việc ứng dụng công nghệ thông tin vào công tác quan lý, cấp chứng minh nhân dân đang trở nên cấp bách nhằm ngăn chặn tình trạng làm giả CMND, phát hiện những dấu hiệu nghi vấn thông qua việc sử dụng CMND Hiện nay, vấn đề này đã được Bộ Công an xây dựng dự án trình

Chính phủ phê duyệt để triển khai trong thời gian tới Với đề tài “Vận dụng công nghệ hướng đối tượng phát triển hệ thống quản lý, cấp Chứng mình

nhân dân điện tử ” gồm những nội dung sau:

CHƯƠNG 1: PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG

CHƯƠNG 2: CÁC CÔNG CỤ HỖ TRỢ PHÁT TRIỀN HƯỚNG ĐỐI TƯỢNG

CHƯƠNG 3: VẬN DỤNG CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG XÂY DỰNG MƠ HÌNH CHO HỆ THỐNG QUẢN LÝ CẤP CMND ĐIỆN TỦ

CHƯƠNG 4: PHÂN TÍCH VÀ CÀI ĐẶT CHƯƠNG TRÌNH QUẢN LÝ CMND

Nội dung đề tài giới thiệu phương pháp hướng đối tượng, các công cụ hỗ

trợ phát triển hướng đối tượng Đặc biệt, đề tài đã vận dụng các công cụ thiết kế hướng đối tượng sử dụng UML - một ngôn ngữ mơ hình hố thống nhất

đang được sử dụng phổ biến trên thế giới để ứng dụng vào việc phân tích, thiết kế và cài đặt hệ thống quản lý, cấp chứng minh nhân dân điện tử

Cuối cùng, em xin chân thành cảm ơn PGS.TS Nguyễn Văn Vy - người đã tận tình giúp đỡ em trong quá trình thực hiện luận văn Em xin chân thành

cảm ơn các thầy, các cô khoa Công nghệ - Đại học Quốc gia Hà Nội; các

đồng nghiệp Phòng quản lý hành chính - Cục C13, Cục E15 - Bộ Công an đã

giúp đỡ em hoàn thành luận văn tốt nghiệp này

Hà Nội, ngày 20 tháng Š năm 2004

Trang 7

CHUONG 1

PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG

Ngày nay, do sự tiến bộ nhanh chóng về công nghệ phần cứng, sức mạnh của máy tính tăng nhanh sau mỗi khoảng thời gian Thách thức đặt ra

cho công nghệ phần mềm là phải phát triển phần mềm như thế nào để tận

dụng được các tiềm năng to lớn của phần cứng Vì vậy, xu hướng phát triển phần mềm ngày càng lớn, càng tinh vi và phức tạp Trong mọi lĩnh vực, các dữ liệu, các mối quan hệ của mọi hệ thống kinh tế xã hội đều được xử lý một cách nhanh chóng trên máy tính Hệ thống càng phát triển, tức là càng nhiều

yếu tố hợp thành thì mối quan hệ giữa chúng càng trở nên phức tạp Để xử lý

lượng thông tin lớn như vậy, cần phải có những phương pháp, công cụ hiện đại, công nghệ phát triển phần mềm hướng đối tượng cùng với các cơng cụ tự

động hố đi theo nó đã trở thành một giải pháp công nghệ hữu hiệu cho các vấn đề đặt ra [1] Phân tích thiết kế hướng đối tượng trở thành một yêu cầu tất

yếu trong công nghệ phát triển phân mềm Tiến trình phát triển phần mềm

thống nhất và ngôn ngữ mơ hình hố thống nhất là phương pháp luận và công

cụ điển hình cho công nghệ phát triển phân mềm hướng đối tượng

1.1 QUA TRINH CHUNG DE PHAT TRIEN PHAN MEM HƯỚNG ĐỐI TƯỢNG

Tiến trình thực hiện một bước lặp bao gồm xác định yêu cầu của hệ thống, phân tích, thiết kế, triển khai và kiểm thử là nội dung cơ bản của tiến trình phát triển phần mềm hướng đối tượng Trong các hoạt động đó, hoạt động phân tích và thiết kế đặt ra nhiều vấn đề nan giải hơn cả.[5]

Những vấn đề đặt ra trong phân tích thiết kế hướng đối tượng:

Đặc điểm của phân tích và thiết kế hướng đối tượng là nhìn nhận hệ

thống như một tập các đối tượng tương tác với nhau để tạo ra một hành động

Trang 8

- - Tính trừu tượng hoá cao - _ Tính bao gói thông tin - Tinh mé dun hoa

- Tinh ké thita

Ngày nay, UML là công cụ được thiết kế có nhiều tính chất và đặc điểm giúp ta xây dựng được các mô hình đối tượng có các đặc trưng ở trên

Lập mô hình nghiệp vụ

Để có thể nắm bắt được yêu cầu hệ thống, trước hết phải nắm và hiểu

được hệ thống nghiệp vụ Việc mô tả các yêu cầu của hệ thống nghiệp vụ đầy đủ là cần thiết để đạt được sự nhất trí giữa khách hàng và những người phát triển hệ thống cần làm và không nên làm, những điều kiện ràng buộc đặt ra cho chúng Mục tiêu của bước này là để hiểu đúng và đây đủ về hệ thống mà ta cần phải tin hoc hoá thuần tuý về mặt nghiệp vụ Muốn vậy, trước hết cần

xác định phạm vi và chức năng hệ thống cần nghiên cứu bằng cách liệt kê các chức năng mà hệ thống thực hiện, chỉ ra mối quan hệ của nó với môi trường thông qua việc sử dụng các chức năng của hệ thống Tiếp đó cần tìm các ca sử dụng nghiệp vụ từ các chức năng của hệ thống mà qua đó con người và các hệ thống khác sử dụng ching [1]

Xác định yêu cau hệ thống

Nhiệm vụ chính trong xác định yêu cầu là phát triển một mô hình của

hệ thống cần xây dựng bằng cách dùng các ca sử dụng Điều này là tự nhiên, bởi vì các yêu cầu về chức năng được cấu trúc thành các ca sử dụng và do phần lớn các yêu cầu phi chức năng đều là riêng đối với một ca sử dụng đơn nên chúng cũng được xử lý trong các ca sử dụng đó Để mô tả các yêu cầu nghiệp vụ dưới góc độ phát triển phần mềm ta cần tìm các tác nhân và các ca sử dụng để chuẩn bị một phiên bản đầu tiên của mô hình ca sử dụng Sau đó,

Trang 9

Phân tích

Nhiệm vụ của pha phân tích là làm mịn dân các yêu cầu đã nhận được từ pha trước và tạo cấu trúc cho chúng Thông qua đó, các yêu cầu được hiểu

chính xác hơn, từ đó đưa ra cấu trúc cho toàn bộ hệ thống

Nhiệm vụ của pha phân tích là tìm ra cách thức để thực hiện các yêu

cầu của hệ thống đã được xác định trong các ca sử dụng Cụ thể là, cần phân

tích mô hình ca sử dụng bằng cách tìm ra cách tổ chức các thành phần bên

trong của hệ thống để thực hiện mỗi ca sử dụng Những thành phần cấu trúc bên trong hệ thống ở đây chính là ba loại lớp phân tích Công việc xác định các lớp không phải làm tuỳ tiện mà thực hiện theo từng ca sử dụng, trước hết cho các ca sử dụng theo thứ tự ưu tiên được sắp Sau đó, cấu trúc lại cách tổ

chức các thành phần này của hệ thống Để đạt mục tiêu này cần tiến hành các hoạt động [5]: - _ Phân tích kiến trúc hệ thống - - Phân tích một ca sử dụng - _ Phản tích một lớp - Phan tích một gói

Trong quá trình phân tích, ta sẽ liên tục tìm các gói, các lớp phân tích

mới và các yêu cầu chung khi tiếp tục làm mịn mô hình bằng cách phân tích

các gói phân tích và duy trì các gói đó

Thiết kế

Trong thiết kế, chúng ta định hình hệ thống và tìm hình thức thể hiện về

mặt vật lý của nó (kể cả kiến trúc) để thực hiện mọi yêu cầu được đặt ra cho

hệ thống Một đầu vào cho thiết kế là mô hình phân tích Khi thiết kế ta sẽ cố

gắng bảo tôn được càng nhiều càng tốt cấu trúc của hệ thống được định hình

từ mô hình phân tích Kết quả của thiết kế là mô hình thiết kế và mô hình triển

khai được thể hiện dưới dạng một loạt các mô hình cụ thể Mô hình thiết kế

thực thi mô hình phân tích khi tính đến các điều kiện của môi trường để thực

Trang 10

Để nhận được mô hình thiết kế ta cần thực hiện các công VIỆC Sau:

Thiết kế kiến trúc

Thiết kế một ca sử dụng Thiết kế một lớp

Thiết kế một hệ thống con

Mô hình thiết kế là một mô hình đối tượng mô tả sự thực thi các ca sử

dụng về mặt vật lý bằng cách tập trung vào việc xác định các yêu cầu chức

năng và phi chức năng, cũng như các ràng buộc khác liên quan đến môi

trường triển khai và ảnh hưởng của nó lên hệ thống Đặc điểm của cách tiếp cân hướng đối tượng

Sử dụng kết hợp cả hai cách thiết kế: trên - xuống (top-down) và dưới-

lên (bottom-up) Kỹ thuật phân rã chức năng trên-xuống được áp dụng để thiết kế các lớp, còn cấu trúc cả hệ thống được xây dựng dựa trên kiến trúc đơn thể

được đặc tả trong miền ứng dụng và hỗ trợ một phần trong việc sử dụng lại -

cách tiếp cận đưới - lên với nguyên lý che dấu thông tin cho phép sử dụng lại một cách tối đa

1.2 CÁC ƯU ĐIỂM CỦA TIẾP CẬN HƯỚNG ĐỐI TƯỢNG

= Những đối tượng được thiết kế tốt trong hệ thống hướng đối tượng là cơ sở để kết hợp các đơn thể (module) được sử dụng lại thành hệ

thống có chất lượng cao hơn

» Cơ chế tương tác bằng cách truyền thông điệp giữa các đối tượng đảm bảo cho việc mô tả các giao diện giữa các modul bên trong hệ

thống và hệ thống bên ngoài trở nên dễ dàng hơn

= Viéc phân tích và thiết kế theo cách phân bài toán thành các đối tượng là hướng tới lời giải của thế giới thực, là tự nhiên hơn so với

cách phân rã theo chức năng từ trên xuống (Top-down)

Trang 11

= Nguyên lý thiết kế dựa vào sự bao gói cả dữ liệu và xử lý trong một đối tượng rất phù hợp với ngữ nghĩa của mô hình trong cài đặt

“ Lập trình hướng đối tượng và kỹ thuật kế thừa cho phép xác định các modul và sử dụng ngay sau khi chúng chưa thực hiện đầy đủ các chức năng và sau đó mở rộng các đơn thể đó mà không ảnh hưởng

tới các đơn thể đã có

= Tiếp cận hướng đối tượng cung cấp cho ta công cụ hỗ trợ giải quyết

độ phức tạp của bài toán bằng việc phân rã thành các thành phần độc lập tương đối với nhau

“ Hệ thống hướng đối tượng dễ dàng mở rộng thành các hệ thống có

quy mô lớn hơn nhờ tương tác giữa các đối tượng thông qua việc gửi và nhận thông báo

= Vé van dé phát triển và bảo trì hệ thống đơn giản hơn do có sự phân hoạch rõ ràng, là kết quả của việc bao gói thông tin và sự kết nối

Trang 12

CHƯƠNG 2

CÁC CÔNG CỤ HỖ TRỢ PHÁT TRIỂN HƯỚNG ĐỐI TƯỢNG Phương pháp phân tích thiết kế hướng đối tượng sử dụng ngôn ngữ

UML cung cấp phương tiện đủ mạnh để xác định các đối tượng và xây dựng

các đơn thể của hệ thống phần mềm

2.1 KHÁI QUÁT VỀ UML

UML là một ngôn ngữ chuyên dụng

UML được đưa vào sử dụng từ năm 1997 và nhanh chóng được công

nghiệp phân mềm chấp nhận là ngôn ngữ đồ hoạ chuẩn để đặc tả, xây dựng và làm tài liệu cho các hệ thống phần mềm chuyên sâu

UML là ngôn ngữ mơ hình hố, ngơn ngữ chuẩn thống nhất để viết ra

bản kế hoạch chỉ tiết phân mềm Nó mô tả ký pháp thống nhất, ngữ nghĩa và

các định nghĩa chính mơ hình hố Các khung nhìn ngôn ngữ cho phép nhìn

nhận hệ thống phát triển ở các mức độ khác nhau, dễ sử dụng, đễ hiểu Như

mọi ngơn ngữ mơ hình hố khác, UML có ký pháp (các biểu tượng sử dụng

trong mô hình) và tập các quy tắc sử dụng để mơ hình hố các hệ thống của

thế giới thực [1]

s%* UML là một ngôn ngữ

Là một ngôn ngữ UML có từ vựng và quy tắc tổ hợp các từ vựng nhằm

mục đích giao tiếp Ngôn ngữ mô hình là ngôn ngữ có từ vựng và quy tắc tập trung thể hiện về mặt vật lý và khái niệm của hệ thống Vì vậy, UML là ngôn

ngữ chuẩn công nghiệp để viết ra kế hoạch chi tiết phần mềm

* UML là ngôn ngữ để biểu diễn đồ hoạ

Đối với nhiều lập trình viên, không có khoảng cách giữa ý tưởng cài đặt

và chuyển nó thành mã, họ suy nghĩ vấn đề và viết ngay mã trình cho nó Tuy nhiên, việc giao tiếp giữa mô hình khái niệm với những cái khác trong vòng

đời phát triển phần mêm sẽ gặp khó khăn khi mọi người không sử dụng chung

một ngôn ngữ cho dự án Đặc biệt có những dự án và tổ chức phát triển phần

Trang 13

tham gia dự án Hơn nữa một số vấn đề của hệ thống phần mềm sẽ được hiểu rõ ràng hơn thông qua mô hình thay cho ngôn ngữ lập trình văn bản Cuối cùng, nếu người viết mã không bao giờ viết thành các mô hình thì thông tin có thể mất hoặc không thể viết lại một cách đây đủ nếu chỉ xem mã lệnh trong trường hợp người viết mã chuyển đi nơi khác làm việc

Để khắc phục những nhược điểm trên, ta sẽ sử dụng ngôn ngữ UML để

xây dựng các mô hình khác nhau:

-_ Mỗi ký pháp trong UML mang một ngữ nghĩa rõ ràng nên nếu một người trong đội phát triển viết mô hình UML thì người khác có thể hiểu được, thậm chí các công cụ khác cũng có thể dịch được những mô hình đó một cách rõ ràng - Các cấu trúc mô tả dưới dạng các mô hình đồ hoạ nên dễ dàng nắm bắt - _ Mô hình rõ ràng sẽ làm cho việc trao đổi, giao tiếp trở nên dễ dàng % UML là ngôn ngữ đặc tả

Đặc tả là mô tả rõ ràng nhất những điểm mấu chốt của vấn dé UML

cho phép mô tả chính xác, rõ rang UML tap trung đặc tả toàn bộ các quy định

phân tích, thiết kế và cài đặt quan trọng trong quá trình phát triển và triển khai

hệ thống phần mềm

* UML là ngôn ngữ để tạo mã

UML không phải là ngôn ngữ lập trình trực quan Những mô hình của nó có thể kết nối trực tiếp tới các ngôn ngữ lập trình khác nhau Điều đó có

nghĩa là có thể ánh xạ từ mô hình trong UML sang một ngôn ngữ lập trình

khác như Java, C' hoặc Visual Basic, thậm chí có thể sang các bảng trong cơ

sở dữ liệu quan hệ hoặc cơ sở dữ liệu hướng đối tượng Đồng thời có thể thực hiện ngược lại tir cai dat mo hinh UML Điều đó có nghĩa nó cho phép chúng

ta có thể làm việc với văn bản, chương trình, hay đồ hoạ một cách nhất

Trang 14

‹*» UML là ngôn ngữ làm tài liệu

UML hướng tới làm tài liệu kiến trúc hệ thống và các chỉ tiết của nó UML cho kha nang biểu diễn yêu cầu, thử nghiệm, mơ hình hố các hoạt

động lập kế hoạch và quản lý sản phẩm

- UML cho biết giới hạn của hệ thống và các chức năng của nó thông qua

các ca sử dụng (Use case) và tác nhân (Actor)

- Trong UML các ca sử dụng được mô tả bằng biéu dé logic

- Biểu diễn cấu trúc tĩnh của hệ thống nhờ biểu đồ lớp

- Mô hình hoá các hành vi đối tượng bằng biểu đồ chuyển trạng thái

- Phản ánh kiến trúc cài đặt vật lý bằng biểu đồ thành phần và biểu đồ triển

khai

- Mở rộng khả năng mô tả các chức năng và hành vi hệ thống bằng khuôn

mẫu (stereotypes) [5]

1.2 KIẾN TRÚC TRONG UML

Kiến trúc phần mềm cho ta một cái nhìn khái quát nhất về hệ thống

phân mềm ở các góc độ khác nhau Mỗi khung nhìn phản ánh về một khía

cạnh tổ chức và cấu trúc của hệ thống, tập trung vào từng mat cụ thể giúp cho

ta hiểu và sử dụng hệ thống tốt nhất

Khung nhìn ca sử dụng cho ta cách sử dụng chức năng để mô tả hành vi của hệ thống khi nhìn nhận hệ thống dưới góc độ người dùng cuối cùng và các

nhà phát triển

Khung nhìn thiết kế bao gồm các lớp, các giao diện, các cộng tác tạo nên từ vựng để đặc tả các vấn đề và các giải pháp cho nó Khung nhìn này hỗ

Trang 15

Khung nhìn tiến trình của hệ thống chứa các luồng và tiến trình công

việc tạo nên cơ chế hoạt động tương tranh

Khung nhìn triển khai của hệ thống bao gồm các thành phần và các file được kết hợp lại cho ra các hệ thống vật lý Khung nhìn này hướng đến việc quản lý cấu hình của hệ thống

Khung nhìn bố trí bao gồm các nút tạo nên kết cấu phần cứng mà trên

đó hệ thống vận hành Khung nhìn này chủ yếu hướng đến sự phân tán và cài đặt cụ thể của hệ thống [Š] 2.2.1 Mô hình khái niệm của UML(conceptional model) CÁC KHỐI XÂY DỰNG ae Su vat Quan hé Biểu đồ Sự vật Sự vật Sự vật Sự vật chú | | Phụ thuộc | | Ca sử dụng cấu trúc hành vi | | nhóm gộp ‘ thích Liên kết | | Lớp Tong quat Đối tượng hoá Tuần tự Cộng tác Trạng thái Ca sử dụng Tương tác Gói Ghi chú Hoạt động Lớp Máy trạng Mô hình Thành phần Lớp hoạt thái Hệ thống con Bố trí động Khung làm Giao diện VIỆC Thành phan Sự cộng tác Nút

Hình 2.2: Các cấu trúc thành phần của UML

Ba khối chính tạo nên UML là các khối xây dựng, các quy tác ngữ nghĩa và một số cơ chế chung được áp dụng cho mơ hình hố

2.2.2 Các khối xây dựng

Các sự vật là các trừu tượng hoá, là phần tử lớp đầu tiên để xây dựng

nên các mô hình trong UML Các quan hệ gắn kết các sự vật lại với nhau, các 11

Trang 16

biểu đồ nhóm các sự vật được quan tâm lại tạo nên ngữ nghĩa của nó (cho một

mô hình)

a Các sự vật cấu trúc (structural things)[10]: Bao gồm

Lớp (class): Một lớp mô tả một tập hợp các đối tượng có chung các thuộc tính, các tác vụ, các mối quan hệ và ngữ nghĩa Một lớp có trách nhiệm

thực hiện một hay nhiều giao diện Một lớp được biểu diễn bằng một hình chữ

nhật bên trong có tên, thuộc tính và các tác vụ (phương thức) Công dân —}————— Tên Tên: Text i ——†———>* Ngày sinh: Date Thuộc tính Tao() XemQ ——†———> Phương thức InQ Hình 2.3 Lớp Một lớp có ba thành phân như sau: tên lớp, thuộc tính và các phương thức (ứng xử) của lớp

Tên lớp thường là danh từ, ví dụ: Công dân

Các thuộc tính được coi là đúng nếu nó bao gồm các thông tin để mô tả và nhận đạng một thực thể cụ thể của một lớp Tuy nhiên chỉ nên đưa vào các thuộc tính mà hệ thống quan tâm Mỗi một thuộc tính đều thuộc một kiểu dữ liệu nào đó Kiểu đữ liệu nguyên thuỷ bao gồm các kiểu như: Integer,

Boolean, Real Ngoài ra các thuộc tính còn có khả năng nhìn thấy được

(Visibility) bao gồm public, private va protected Néu mot thudc tinh 1a

public nghĩa là một lớp khác có thể tham chiếu đến và sử dụng thuộc tính đó Néu 1a private thì các lớp khác không thể tham chiếu đến thuộc tính này

Các phương thức là một lớp thực thực hiện Các phương thức thường duoc goi 1a cc ham (funtion) nhung chúng chỉ thuộc vào lớp đó và áp dụng

đối với các đối tượng của lớp đó Cũng giống như các thuộc tính, các phương

thức cũng có phạm vi và khả năng nhìn thấy được

Đối tượng là khái niệm dùng để mơ hình hố một vật hoặc một khái niệm trong thế giới thực, có thể là một phần của bất kỳ loại hệ thống nào như

Trang 17

thi trong hệ thống phân mềm) không tồn tại một cách trực tiếp trong thế giới thực nhưng nó phát sinh bắt nguồn từ việc nghiên cứu cấu trúc và hành vi của các đối tượng trong thế giới thực Vì thế các đối tượng liên quan đến hiểu biết cúa chúng ta về thế giới thực bởi đối tượng là thể hiện một lớp nào đó

Ký pháp: trong UML đối tượng được thể hiện bởi một hình chữ nhật với ten ở bên trong Tên đối tượng được gạch chân Hình tròn Hình 2.4: Đối tượng

Giao diện (interface): Một giao diện là một tập hợp các tác vụ đặc tả

một dịch vụ của một lớp hoặc một thành phan Mot giao diện biểu diễn bằng

một hình tròn với tên của nó:

Ispenlling

Hình 2.5: Giao diện

Sự cộng tác (collaboration): Sự cộng tác xác định các hoạt động bên

trong hệ thống và là một bộ các nguyên tác Các phần tử khác nhau cùng làm việc để cung cấp một hành vi hợp tác lớn hơn tổng hành vi của tất cả các phần tử Một sự cộng tác được biểu diễn bằng một hình elip với đường nét đứt và thường chỉ gồm có tên:

Hình 2.6: Sự cộng tác

Ca sử dụng (Use case): Một ca sử dụng mô tả một tập hợp dãy hành động mà hệ thống thực hiện để cho một kết quả quan sát được các giá trị đối

Trang 18

Những chức năng mà hệ thống cung cấp sẽ được mô tả trong mỗi ca sử

dụng Trong đó mô tả những chức năng, những thành phần bên ngoài - tác

nhân (Actor) tương tác với hệ thống với mối quan hệ giữa ca sử dụng và tác nhân (biểu đồ ca sử dụng) Nói một cách chính xác hơn, ca sử dụng mô tả

trình tự các hành động của một tác nhân nào đó, sử dụng một phần chức năng

của hệ thống để hoàn thành một tiến trình Vì thế, đối với người sử dụng, ca sử

dụng mô tả để họ sử dụng hệ thống; nó mô tả các tương tác giữa một số tác

nhân và hệ thống thông qua dịch vụ mà hệ thống cung cấp cho các tác nhân

Mỗi ca sử dụng là một bộ phận các yêu cầu chức năng của người sử dụng Kết

hợp các ca sử dụng lại với nhau ta có được mơ tả về tồn bộ yêu cầu chức

năng của hệ thống Các ca sử dụng cho phép những người phát triển phần mềm và khách hàng thoả thuận được về các yêu cầu, điều kiện cũng như các khả năng mà hệ thống phải tuân theo

Tac nhan: Mot tác nhân thể hiện một tập hợp các vai trò mà các thực

thể ngoài (đối với hệ thống) có thể thực hiện khi sử dụng hệ thống Một tác nhân thể hiện một nhóm người, một bộ phận, một tổ chức hoặc các hệ thống

nào khác có tương tác với hệ thống đó Tương tác của tác nhân với hệ thống có thể:

> Cung cấp thông tin cho hệ thống > Lay thong tin tir hé thống

> Nhan thong tin tir hé thống và cung cấp thông tin cho hé thong Mot s6 dac diém cua tac nhan:

> Một tác nhân có tên và tên đó phản ánh vai trò của tác nhân Tên không nên phản ánh một thực thể đặc trưng của tác nhân và cũng không phản ánh chức năng của tác nhân

> Các tác nhân tương tác với hệ thống bằng cách gửi và nhận thông báo với hệ thống như nó thực hiện với các ca sử dụng

> Nếu có nhiều hơn một tác nhân trong một ca sử dụng thì tác nhân kích thích được gọi là “tác nhân khởi tạo” hay “tác nhân chủ động” và các tác nhân

Trang 19

> Các tác nhân tương tác trực tiếp với hệ thống được gọi là các tác nhân

chính hay các tác nhân trực tiếp, các tác nhân còn lại được gọi là các tác nhân

thứ yếu

Cách xác định các tác nhân: dựa vào việc nhận dạng các tác nhân Các thực thể quan tâm đến việc sử dụng và tương tác với hệ thống tức là phải xác định xem nó đòi hỏi gì ở hệ thống cũng như cần đến những ca sử dụng nào để

sử dụng hệ thống?

Khi mô tả một tác nhân cần chỉ rõ vai trò của tác nhân khi tương tác với

hệ thống Ví dụ, với hệ thống quản lý chứng minh nhân dân có một tác nhân

là nhân viên nhập dữ liệu, ta có thể mô tả một cách ngắn gọn như sau:

Nhân viên nhập dữ liệu: là những người nhập dữ liệu cho Công dân đến

xin đăng ký cấp Chứng minh nhân dân

Tác nhân được biểu diễn bằng hình tượng sau:

Xác định ca sử dụng:

Có hai cách xác định ca sử dụng trong hệ thống:

> Xác định thông qua các tác nhân: xác định các tác nhân nào có liên

quan tới hệ thống hoặc tổ chức, tìm và mô tả tất cả các tác nhân bằng cách xem người dùng nào sẽ sử dụng hệ thống và hệ thống nào khác tương tác

với nó Với mỗi tác nhân xác định các quá trình mà nó khởi tạo hoặc tham

gia vào bằng cách xem tác nhân trao đổi/ tương tác hoặc sử dụng với hệ

thống như thế nào?

> Xác định thông qua các sự kiện: những sự kiện nào hệ thống đáp

ứng lại hoặc có hành vi ứng xử tương ứng

Mối quan hệ giữa các sự kiện với tác nhân, sự kiện với hệ thống

Khi xác định các ca sử dụng cần thảo luận, trao đổi với người dùng hệ

thống và nên xem xét lại các dữ liệu đặc tả yêu câu để có thể trả lời một số

câu hỏi sau:

Nhiệm vụ chính của tác nhân là gì?

e Tác nhân sẽ phải đọc, viết hay thay đổi thông tin hệ thống?

Trang 20

e_ Tác nhân sẽ phải cung cấp tin tức cho hệ thống về những thay đổi bên ngoài hệ thống?

e Tác nhân mong muốn được cung cấp tin tức về sự thay đổi không?

Thành phần (Component): Thành phần là một bộ phận vật lý có thể

thay thế một hệ thống phù hợp với những điều kiện cụ thể và cung cấp phương tiện (tác vụ) thực hiện một tập các giao diện Một thành phần biểu diễn một gói vật lý các phần tử lôgic khác nhau như các lớp, các giao diện và sự cộng

tác Một thành phần được biểu diễn bằng một hình chữ nhật với các bảng, một thành phần thường bao gồm chỉ có tên của nó:

Orderform.java

Hinh 2.8: Cac thanh phan

Lớp chủ dong (active class): Mot lớp chủ động là một lớp mà các đối tượng của nó sở hữu một hay một số tiến trình hoặc các dãy thao tác Bởi vậy

nó có thể khởi động hoạt động điều khiển Một lớp chủ động được biểu diễn như một lớp nhưng có đường viền đậm: Công dân Tên: Text Ngày sinh: Date Tao() Xem() InQ Hình 2.9 Lớp hoạt động Nut (node): Mot nut là một phần tử vật lý tôn tại trong thời gian thực và

biểu diễn một tài nguyên tính toán, thường có ít nhất bộ nhớ và khả năng xử

Trang 21

b Các sự vật hành vi (behavioral things): các sự vật hành vi là những bộ phận động của các mô hình UML, mô tả hành vi của hệ thống theo thời gian và không gian Có hai loại hành vi sơ cấp của sự vật:

Sự tương tác (interaction): sự tương tác là một hành vi bao gồm một tập các thông báo được trao đổi giữa một tập các đối tượng trong một khung

cảnh cụ thể nhằm thực hiện một mục tiêu xác định Một thông báo được biểu

diễn bằng một đường thẳng có hướng, gồm tên

Hiển thị

Thông báo

Máy trạng thái (state machine): một máy trạng thái gồm một SỐ các

phần tử biểu diễn các trạng thái, các chuyển dịch (từ một trạng thái này sang

một trạng thái khác), các sự kiện (các sự vật kích hoạt một chuyển dịch) Một trạng thái được biểu diễn bằng một hình chữ nhật góc tròn trong đó có tên

trạng thái và các trạng thái con của nó (nếu có)

fe Tra lai ban sao |

Hinh 2.11 Trang thai

Các su vat nhém gop (grouping thinks): Có một loại sự vật nhóm gộp

duy nhất là gói (package) Nó là công cụ để tổ chức các thành phần của một

mô hình thành các nhóm: một mô hình có thể được phân chia vào trong các

gói Một gói đơn thuần là một khái niệm

Gói cung cấp một cơ chế nhóm gộp để:

> Chỉ ra bức tranh lớn không quá đi sâu vào chỉ tiết

> Chỉ ra sự phụ thuộc giữa các lop > Chỉ ra chỉ tiết các tập hợp con cô lập

Thông thường một gói là tập hợp các lớp nhưng nó cũng có thể chứa các

gói khác Một lớp chỉ thuộc vào duy nhất một gói Một gói có thể tham chiếu

đến các gói khác hoặc phụ thuộc vào các gói, các lớp khác Tham chiếu của

| Be ve ™ NA _—

17 [PRUNG

Trang 22

một gói chỉ ra rằng có một số lớp thuộc gói đó phụ thuộc vào một số lớp thuộc vào gói mà nó tham chiếu đến

Một gói được biểu diễn như một bảng thường chỉ gồm có tên và đôi khi

có nội dung của nó

Hình 2.12: Gói

Sự vật giải thích (Annontional things): sự vật gải thích là phần giải

thích của mô hình UML Nó có thể sử dụng để mô tả, giải thích và đánh dấu

một phần tử bất kì trong một mô hinh [5]

Dù ngôn ngữ có mức độ bao quát đến đâu thì vẫn còn các sự vật chưa được định nghĩa trong ngôn ngữ đó Để thể hiện được hết mọi điều trong mô hình, UML cung cấp khả năng lập chú thích Một chú thích có thể được đặt

bất cứ chỗ nào trong biểu đô và có thể chứa bất kỳ loại thông tin nào Loại

thông tin mà nó chứa không được UML thông dịch Chú thích được gắn vào

một vài phần tử trong biểu đồ với đường đứt nét chỉ ra phần tử nào được giải

thích thêm hay chỉ tiết hoá với thông tin trên chú thích Một chú thích thường

chứa các thông tin dẫn giải hay các câu hỏi từ người làm mô hình như lời nhắc

nhở để giải quyết các tình trạng khó xử sau này Một chú thích có thể có các khuon mau (stereotype) mô tả kiểu chú thích Một chú thích biểu diễn một lời

chú giải không có ảnh hưởng về ngữ nghĩa, nghĩa là nội dung của nó không làm thay đổi nghĩa của mô hình mà nó gắn vào Điều này giải thích tại sao các chú thích thường được sử dụng để đặc tả các yêu cầu, các nhận xét, các sự giải

thích và các ràng buộc

Một chú thích có thể chứa bất kỳ sự phối hợp văn bản hay đồ thị nào

Ta có thể đưa vào một URL, thậm chí liên kết hay nhúng vào một tài liệu khác

Trang 23

Trả lại bản sao :

Hình 2.13: Chú thích

2.2.3 Các quan hệ:

a Quan hệ giữa ca sử dụng và tác nhân:

Quan hệ giữa ca sử dụng và tác nhân thường gọi là quan hệ tương tác vì

nó thể hiện sự tương tác giữa tác nhân và ca sử dụng Thông thường đây là quan hệ | - 1 không có hướng để chỉ ra rằng tác nhân có thể liên lạc với ca sử

dụng theo cả hai hướng Quan hệ này thể hiện bằng một đường thẳng nối giữa tác nhân và ca sử dụng.[7]

b Quan hệ giữa ca sử dụng với ca sử dụng

Các ca sử dụng quan hệ với nhau theo ba kiểu quan hệ là: mở rộng, bao

gồm và tổng quát hoá

Quan hé mé réng (extend): là một quan hệ tổng quát hoá trong đó một ca sử dụng mở rộng một ca sử dụng khác bằng cách đưa thêm các hành động

vào ca sử dụng tổng quát Ca sử dụng mở rộng có thể bao gồm các hành vi từ ca sử dụng được mở rộng thêm và phụ thuộc vào các điều kiện mở rộng Nó khơng bao gồm tồn bộ hành vi, nó có thể chọn một phân hành vi của ca sử dụng tổng quát mà nó muốn dùng lại Ca sử dụng được mở rộng là ca sử dụng hồn thiện Thơng thường các ca sử dụng được mô tả dưới dạng văn bản nên

cần xác định phần nào trong ca sử dụng mở rộng là được sử dụng lại từ ca sử

dụng tổng quát, phần nào là được định nghĩa lại, phần nào là thêm vào Một ca

sử dụng mở rộng là một cách để có thể kiểm soát các ngoại lệ, là trường hợp

đặc biệt của ca sử dụng tổng quát Quan hệ mở rộng giữa hai ca sử dụng được biểu diễn bằng mũi tên đứt nét nối giữa hai ca sử dụng hướng vào ca sử dụng được mở rộng và ký pháp khuôn mẫu “extend” ở bên cạnh.[2]

AC

Hình 2.14: Quan hệ mở rộng

Trang 24

Quan hệ tổng quát hoá (genetalization): Khi một số các ca sử dụng kiểm soát các chức năng tương tự nhau có liên hệ với nhau theo một cách nào đó, chúng có thể được gói lại thành một gói trong UML Các nhóm gói liên hệ với các phần tử mô hình, có thể được mở rộng hoặc thu bớt lại thành một biểu tượng, cho phép người phát triển nhìn một gói tại một thời điểm Gói không mang ý nghĩa nào khác, nó chỉ tập hợp các ca sử dụng có các chức năng tương tự hoặc có các liên hệ với nhau

Quan hệ sử dụng (use): là một quan hệ tổng quát hoá mà trong đó một

số ca sử dụng có cùng những ứng xử chung, thì phần chung này được tách thành một ca độc lập và các ca sử dụng ban đầu chứa nó bây giờ sẽ “sử dụng” nó Người ta dùng mũi tên với hình tam giác rỗng để nối từ mỗi ca sử dụng

đến ca sử dụng chung được sử dụng và trên mỗi mũi tên này ghi thêm chữ

“se” Khi một ca sử dụng “sử dụng” ca sử dụng này cần phải sử dụng “đầy

đủ” tức là mọi chức năng của nó Tuy nhiên không đòi hỏi các chức năng đó được “sử dụng” theo một trật tự xác định nào đó [7]

c Các quan hệ giữa các lớp:

Các lớp và các đối tượng cùng với biểu đồ lớp, biểu đồ đối tượng cho ta

cái nhìn tĩnh về hệ thống Khía cạnh động hay ứng xử của hệ thống thể hiện

qua sự hợp tác của một tập hợp các đối tượng Trong hệ thống, một đối tượng luôn luôn có các mối quan hệ với các đối tượng khác Vì vậy, khi mơ hình hố

hệ thống ta không chỉ mô hình các đối tượng mà còn phải mơ hình hố quan hệ các đối tượng đó với các đối tượng khác UML cung cấp một số loại quan

hệ chính như sau:

d Quan hệ liên kết (Assocition):

Trong UML, liên kết là một quan hệ giữa hai lớp để xác định xem các

đối tượng của lớp này được liên kết và thực hiện công việc cùng nhau như thế

nào Giữa các đối tượng thuộc các lớp khác nhau phải có sự liên kết để chúng có thể tương tác và công tác với nhau nhằm thực hiện các tiến trình

Trang 25

Ví dụ:

Công dân Đăng ký

Tham gia

Bản số Đối với một liên kết giữa hai lớp A và B, một thông tin quan trọng liên quan là có bao nhiêu đối tượng của lớp A có thể liên kết với một đối

tượng của lớp B tại một thời điểm Ta sử dụng lực lượng của A để mô tả thông tin nay.[8] 1.10 | Vi du: 1 * 1 * Hình 2.15: Bản số của quan hệ Ouy tắc để xác định các liên kết: Đối với bước phân tích, ta sử dụng quy tắc sau:

- Một quan hệ liên kết hữu ích thường mang mối quan hệ mà nó cần

- Một liên kết quan trọng giữa hai đối tượng phải thoả mãn vai trò cung

cấp một phương tiện cho phép đối tượng này cộng tác hay tương tác VỚI

đối tượng kia

Các quan hệ liên kết thường được ứng với một động từ hoặc một danh động từ Mỗi liên kết thường có một số ngữ nghĩa trong các quan hệ sau:

- Trật tự vật lý: tiếp theo (next to), là một phần của (part of), chứa trong

(contained in),

Trang 26

- Hanh động định hướng: lái (drive),

- Tương tác: nói tới (talk to),

- Sở hữu: có (have), là một phần của (part of),

- Hoặc thoả mãn điều kiện: làm việc cho (work for), quản lý (manage), Quan hệ giữa liên kết và cài đặt: Trong bước phân tích một quan hệ liên kết không phải là một thể hiện về dòng dữ liệu và các biến đối tượng hay các liên kết đối tượng trong giải pháp phân mềm Quan hệ liên kết có thể được cài đặt

bằng nhiếu cách nhưng các quyết định đó không thực hiện trong bước phân

tích để đảm bảo tính tự do của thiết kế sau này

Khi tạo ra một mô hình khái niệm ta có thể định nghĩa nhiều quan hệ

liên kết không cân thiết cho quá trình xây dựng Ngược lại, ta có thể phát hiện

các quan hệ liên kết cần thiết cho cài đặt nhưng không có trong pha phân tích

Trong các trường hợp đó, mô hình khái niệm phải được cập nhật lại e Quan hệ kết tập (Shared Aggregation)[7]

Quan hệ kết tập là một dạng đặc biệt của quan hệ liên kết, nó biểu diễn

mối quan hệ toàn thể - bộ phận Nếu như quan hệ liên kết giữa hai lớp chỉ ra

một mối quan hệ mang tính cấu trúc giữa hai thành phần ngang hàng, có nghĩa là cả hai lớp cùng một cấp độ, không lớp nào quan trọng hơn lớp nào Đôi khi chúng ta muốn mơ hình hố một đối tượng toàn thể và các thành phần của nó,

chẳng hạn ta muốn thể hiện Nhân viên là thành viên của Trung tâm nhận hồ

sơc hay Trung tâm là bộ phận của một Viện Kiểu quan hệ này gọi là kết tập, thể hiện mối quan hệ “có”, “chứa trong”, “bao gồm”, “là một phần của `,

Trang 27

Hai tính chất của quan hệ kết tập:

- Phản đối xứng (Anfisymmiry): Nếu một đối tượng A quan hệ với một

đối tượng B bằng một quan hệ kết tập thì B không thể quan hệ với A bảng

quan hệ kết tập đó Nói cách khác nếu B là một thành phần của A thì A không

thể là một phần của B.[5]

- Bắc cầu (Transitiviiy): Nếu A quan hệ với B bằng một quan hệ kết tập và B quan hệ với C cũng bằng quan hệ kết tập đó thì A cũng có quan hệ với C

Khi nào cần chỉ ra quan hệ kết tập?

Thời gian của đối tượng bộ phận bị giới hạn trong thời gian của đối

tượng kết tập nó Đây là phụ thuộc tạo/ xoá bỏ của đối tượng bộ phận trong

đối tượng toàn bộ Đối tượng bộ phận không thể tồn tại bên ngoài thời gian

tồn tại của đối tượng toàn bộ

Đây là một nhóm có quan hệ “toàn bộ - bộ phận” logic hoặc vật lý một cách rõ ràng

Một thuộc tính của đối tượng hợp được các đối tượng bộ phận thừa kế Các phép toán được áp dụng đối với đối tượng hợp cũng được thừa kế ở

các đối tượng bộ phận như: huỷ bỏ, đi chuyển, lưu trữ,

Nếu không chắc chắn khi nào sử dụng quan hệ kết tập thì không để ý

đến nó mà chú trọng vào các quan hệ liên kết đơn giản Hầu hết lợi ích của việc phát hiện là chỉ ra các quan hệ kết tập để liên hệ tới giải pháp cài đặt phan mém

Quan hé tu hop (Composition ageregation)[2]

Là một dạng đặc biệt của quan hệ kết tập nhưng nó chỉ ra rằng nếu đối tượng gộp (Aggregation) bị huỷ bỏ thì các đối tượng thành phần cũng bị huỷ bỏ Trong khi ở quan hệ kết tập khi đối tượng gỘp bị huỷ bỏ thì chỉ có các liên kết đến các thành phần của nó bị huỷ bỏ còn các đối tượng thành phần khác vẫn tồn tại

Biểu diễn: Quan hệ tụ hợp được biểu diễn bằng một đường thẳng nối

giữa hai lớp, một đầu là một hình thoi đặc để chỉ ra rằng lớp kia là một thành

phân và phụ thuộc vào lớp này

Trang 28

g Quan hệ phụ thuộc (Dependency):[5]

Là quan hệ giữa hai phần tử mô hình có thể là các lớp hoặc các gói, nó

chỉ ra rằng sự thay đổi của lớp này sẽ ảnh hưởng đến lớp kia

Quan hệ phụ thuộc thường được dùng trong các trường hợp sau: - Một lớp sử dụng một biến toàn cục là đối tượng của lớp khác

- Trong phương thức của một lớp có khai báo một biến cục bộ là đối tượng của một lớp khác

- Trong phương thức của một lớp có tham số là đối tượng của một lớp

khác

Biểu diễn: quan hệ phụ thuộc được biểu diễn bằng một đường nét đứt

nối giữa hai phần tử mô hình với đầu mũi tên hướng vào phần tử phụ thuộc (phần tử mà phần tử kia phụ thuộc vào nó)

Hình 2.17 Quan hệ phụ thuộc

h Quan hệ tổng quát hoá (Generalization):

Là quan hệ mô tả mối quan hệ kế thừa Một lớp ở mức tổng quát hơn và

các lớp chỉ tiết hơn kế thừa các thuộc tính và phương thức của nó, đồng thời có

thêm các đặc điểm riêng của chúng

Quan hệ này còn được gọi là quan hệ “is - a- kind - of” Dùng quan hệ này khi muốn mô tả quan hệ cha - con Một lớp có thể không có cha hay có một hoặc nhiều cha Một lớp không có cha và có một hoặc nhiều lớp con được gọi là lớp gốc hay lớp cơ sở Lớp không có con được gọi là lớp lá Một lớp có đúng một cha được gọi là kế thừa đơn Lớp có nhiều cha được gọi là kế thừa

bội

Ký pháp: Quan hệ tổng quát hoá được biểu diễn bằng một đường liền

nét nối liên hai lớp, với một hình tam giác rỗng hướng vào lớp cha

Trang 29

Ví dụ: Nguoi Cán bộ Công dân

Hình 2.18 Quan hệ tổng quát hoá

i Quan hệ hiện thực (Realization) [9]

Quan hệ hiện thực dùng để mô tả quan hệ giữa A và B, trong đó A chỉ

ra các ứng xử đặc trưng còn B sẽ thực hiện các ứng xử đó

Quan hệ này thường được dùng để thể hiện mối quan hệ giữa giao diện

và lớp hoặc thành phần cung cấp phương thức hoặc dịch vụ cho nó hay mối quan hệ giữa một ca sử dụng và một sự cộng tác để thực hiện ca sử dụng đó

Một giao diện là một tập hợp các thuộc tính chỉ ra dịch vụ của lớp hoặc thành phần phải thực hiện nó

Hình 2.19 Quan hệ thực hiện

2.2.4 Các biểu đô trong UML

Một biểu đô là một biểu diễn đồ thị của tập các phần tử (các từ vựng)

thường được thể hiện như một đồ thị liên thông với các đỉnh (là các sự vật) và các cung (là các mối quan hệ) Có một số loại biểu đồ thường gặp trong thực

tế phát triển phần mềm hướng đối tượng như sau:|6 |

a Biéu dé ca sit dung (Use case diagram)

Trang 30

Biểu đồ ca sử dụng chỉ ra một số tác nhân và kết nối chúng với các ca sử dụng mà hệ thống cung cấp Nó mô tả các chức năng mà hệ thống cung

cấp, thể hiện bằng lời hoặc bằng biểu đồ ca sử dụng Các tác nhân không nhất thiết là con người mà cũng có thể là một hệ thống ngồi cần lấy hay truyền

thơng tin từ hệ thống hiện thời

Biểu đồ ca sử dụng là một công cụ cân thiết trong việc nắm bắt các yêu

cầu, lên kế hoạch và kiểm soát dự án lặp lại b Biểu đô lớp (class điagram)

Biểu đồ lớp chỉ ra tập hợp các lớp, các giao diện, các sự cộng tác và các mối quan hệ của chúng Người ta sử dụng biểu đồ lớp để mô hình hoá khung

nhìn thiết kế tĩnh của hệ thống Các lớp biểu diễn cho sự vật được xử lý bên

trong hệ thống Ta thường dùng biểu đồ lớp để:

=_ Mơ hình hố bảng từ vựng của hệ thống “_ Mơ hình hố các sự cộng tác đơn giản # Mo hinh hod ca sé dit liéu logic

“_ Các lớp có thể có quan hệ với nhau theo một số cach nhu sau: =_ Liên kết (lớp nọ nối với lớp kia)

« Phu thudc (1 lép nay phu thuộc hay sử dụng lớp kia)

"_ Đặc biệt hoá (lớp này là một phân tử chuyên biệt của lớp kia) =_ Đóng gói (nhiều lớp gộp lại)

Một hệ thống có nhiều biểu đồ lớp và ngược lại một biểu đồ lớp có mặt

ở nhiều hệ thống

c Biểu đô đối tượng (object diagram)

Trang 31

các thực thể của lớp trong biểu đồ lớp Có thể coi biểu đồ đối tượng là một

biến thể của biểu đồ lớp, nó dùng các biểu diễn giống biểu đồ lớp Biểu đồ đối

tượng chỉ ra một số thể hiện đối tượng của lớp d Biéu dé tuong tac (interaction diagram)

Biểu đô tuần tự (sequece diagram) và biểu đồ cộng tác (collaboration

diagram) 1a hai dang của biểu đồ tương tac

- Biéu dé tudn tu (sequence diagram)

Biểu đồ tuần tự chi ra sự tương tác giữa một số đối tượng Biểu đồ này nhấn mạnh đến trình tự thời gian các thông báo được gửi đi giữa các đối

tượng

- Biéu dé hop tac (collaboration diagram)

Biểu đô cộng tác chỉ ra sự hợp tác hành động, nó giống như biểu đồ

tuân tự nhưng thường là sự lựa chọn để biểu thị sự tổ chức hợp tác của các đối tượng Nó là một cách khác để thể hiện một tình huống có thể xảy ra trong hệ

thống nhưng tập trung vào việc thể hiện việc trao đổi qua lại các thông báo

giữa các đối tượng hơn là quan tâm đến thứ tự của thông báo đó Biểu đồ cộng

tác nhấn mạnh tới tổ chức cấu trúc của các đối tượng gửi và nhận thông báo

Qua biểu đồ này ta biết được giữa hai đối tượng cụ thể trao đổi những thông

báo gì cho nhau

Ta có thể sử dụng hai biểu đồ tương tác thay thế cho nhau và dùng để:

> Mô hình hố các lng điều khiển (sự kiện) theo trình tự thời gian

> Mó hình hố các lng điêu khiển của tổ chức e Biểu đô trạng thái (statechart diagram)

Trang 32

Biểu đồ trạng thái biểu diễn một máy trạng thái Nó biểu diễn dòng điều

khiển từ trạng thái này tới trạng thái khác Nó nhấn mạnh dòng điều khiển từ

hoạt động này đến hoạt động khác đang xảy ra bên trong một máy trạng thái

g Biéu dé hoat dong (activity diagram)

Biểu đồ hoạt động là trường hợp đặc biệt của biểu đồ trạng thái Nó chỉ

ra dòng điều khiển chính từ hoạt động này đến hoạt động khác, nó bao gồm

việc mơ hình hố các bước tuần tự trong một tiến trình xử lý Biểu đồ trạng thái và biểu đồ hoạt động biểu diễn khía cạnh động của hệ thống Chúng có

thể dùng cho việc mô hình hoá vòng đời của một đối tượng Ta sẽ dùng biểu

đồ hoạt động để:

> Mơ hình hố luồng công việc (có thể có rế nhánh, phân nhánh, sát

nhập)

> Mó hình hoá một tác vụ (một thủ tục tính toán)

h Biéu d6 thanh phan (component diagram)

Biểu đồ thành phần chỉ ra tập hợp các thành phân và các mối quan hệ

của chúng Người ta sử dụng biểu đồ thành phần để mô tả cấu trúc phần mềm, các thành phần thực thi tĩnh của hệ thống Ta sử dụng biểu đồ thành phần để

“_ Mơ hình hố mã nguồn

“_ Mô hình hoá xuất phẩm có thểthực hiện được

=_ Mơ hình hố các cơ sở dữ liệu vật lý

Trang 33

Một ví dụ về biểu đồ thành phần: File thực thi find.html inddx.html Nateng.dll Thành phan Hình 1.20 Một ví dụ về biểu đô thành phần

¡ Biểu đô bố trí (deploymemt điagram)

Biểu đồ bố trí mơ hình hố các khía cạnh vật lý của một hệ thống hướng đối tượng Nó biểu diễn cấu hình các nút xử lý đang vận hành và các thành phần hoạt động trên chúng Nó còn bao gồm các nút và các ràng buộc Nó

hướng vào việc mô hình hoá sự phân tán, gửi đi và cài đặt các phần tạo nên hệ

thống vật lý Ta sẽ sử dụng biểu đồ bố trí để:

> Mơ hình hố các hệ thống nhúng

> Mô hình hoá các hệ thống máy khách! máy dịch vụ

> Mơ hình hố các hệ thống phân tán đây đủ

Trang 34

Một ví dụ về biểu đồ bố trí: SQL Application Server Workstation#1 Webalts.exe Printer Workstation#1 Webalts.exe Hình 2.21 Một ví dụ về biểu đồ bố trí

2.3 CÁC QUY TÁC CỦA UML

Mô hình hố một hệ thống khơng đơn giản là lắp ghép các khối được

xây dựng của UML một cách ngẫu nhiên Giống như mọi ngôn ngữ, UML có một số quy tắc chỉ ra rằng, một mô hình được xây dựng tốt là mô hình có một

ngữ nghĩa chắc chắn và đồng bộ với tất cả mô hình có quan hệ với nó UML đưa ra các quy tắc ngữ nghĩa sau đây:

- Tên gọi: là các sự vật, các mối quan hệ và các biểu đồ

- Phạm vi: là khuôn khổ cho ý nghĩa cụ thể đối với một tên gọi

- Tính trực quan: có thể nhìn thấy và được phần tử khác sử dụng

- Tính tích hợp: các sự vật có thể liên kết với các sự vật khác như thế nào - Tính thực hiện được: có ý nghĩa để vận hành và mô phỏng một mô hình

động

Những nguyên tắc cần biết để xây dựng tốt các mô hình:

- Su lược đi: một số phân tử được dấu đi làm đơn giản việc nhìn nhận mô hình

- Sự không đây đả: một số phân tử có thể bỏ qua

Trang 35

2.4 CÁC CƠ CHẾ CHUNG

UML cũng cung cấp bốn cơ chế chung để áp dụng trong mô hình hoá: -Các đặc tả: UML cung cấp một cách diễn tả vượt trội bằng văn bản

theo cú pháp và ngữ nghĩa của khối đồ hoạ sử dụng, ví dụ như một tập đầy đủ

các thuộc tính, các tác vụ và các hành vi của lớp đó Nhờ vậy việc dùng các kí

pháp đồ họa để làm trực quan hoá hệ thống, dùng các đặc tả của UML để chỉ

ra các chi tiết của hệ thống

-Các bài tri: hau hết các phần tử trong UML đều có biểu diễn đồ họa

duy nhất cung cấp một sự thể hiện trực quan về các khía cạnh của phần tử đó

Ví dụ: biểu diễn về lớp đưa ra các khía cạnh quan trọng nhất của một lớp, như

tên, thuộc tính, các tác vụ - Các phân hoạch chung:

Cách I: đó là sự phân hoạch của lớp và đối tượng Một lớp là một trừu tượng, đối tượng là một biểu hiện của lớp Hầu hết mọi khối xây dựng trong UML đều thuộc lớp hay đối tượng UML thường phân biệt lớp và đối tượng lớp đó bằng cách gạch chân tên của đối tượng

Cách 2: đó là sự phân chia giữa giao diện và triển khai một giao diện, khai

báo hợp đồng và sự thực thi hợp đông để thể hiện việc thi hành cụ thể của hợp

đồng Trong DML, ta có thể mô hình hoá cả giao điện và sự triển khai, như minh hoạ ở hình dưới đây, có một thành phần được gọi là Spellingwizard.dll thực hiện giao diện IUnknow và [Spelling |Unknow Spellingwizard.dll ISpelling ¿

Hình 2.23: Giao diện và sự triển khai

- Các cơ chế khả năng mở rộng: UML cung cấp ngôn ngữ chuẩn viết các bản thiết kế phần mềm nhưng nó không đủ để diễn đạt mọi sắc thái của các

mô hình trong mọi lĩnh vực và trong mọi thời điểm Vì thế, UML được thiết

kế mở cho phép nó có khả năng mở rộng và quản lý được Các cơ chế dùng để mở rộng là: các khuôn mẫu, các giá trị thẻ, các ràng buộc

Trang 36

Sự mở rộng từ vựng ngôn ngữ DML cho phép tạo ra các khối xây dựng

mới từ các khối có sắn và cụ thể cho vấn để bằng cách thêm vào biểu diễn

khuôn mẫu, giá trị thẻ hay ràng buộc 2.5 UNG DUNG CUA UML

UML khong chỉ là công cụ mạnh trợ giúp phát triển các hệ thống phần mềm quy mô lớn, phức tạp mà còn trợ giúp phát triển nhiều các hệ thống khác, tổ chức các hệ kinh doanh, các hệ kỹ thuật Một số hệ thống mà UML

có thể mô tả là:

Hệ thông tin: lưu trữ, tìm kiếm, biến đổi và trình bày thông tin

cho người dùng Phải giải quyết ượng lớn dữ liệu với mối quan hệ

phức tạp được cất giữ trong CSDL quan hệ hay CSDL đối tượng Hệ thống kỹ thuật: giải quyết các hệ thống viễn thông, quân sự

hoặc các tiến trình công nghiệp

Hệ thống thời gian thực chìm (butlt in): thực hiện thông qua lập

trình mức thấp và đòi hỏi sự hỗ trợ thời gian thực

Hệ phân bố: được phân bố trên một số máy tính với dữ liệu được

truyền từ máy này sang máy khác Hệ này đòi hỏi truyền thông

đồng bộ xây dựng dựa trên các hệ hướng đối tượng như

JavaBean

Phần mềm hệ thống: Hệ điều hành, CSDL

Trang 37

CHUONG 3

VAN DUNG CONG NGHE HƯỚNG ĐỐI TƯỢNG XÂY DỰNG MÔ HÌNH

CHO HỆ THỐNG QUẢN LÝ CHỨNG MINH NHÂN DÂN ĐIỆN TỬ

3.1 PHÁT BIẾU BÀI TOÁN

Chứng minh nhân dân (viết tắt: CMND) là giấy tuỳ thân của Công dân do cơ quan Công an có thẩm quyền chứng nhận về những đặc điểm, nội dung cơ bản của mỗi Công dân trong độ tuổi do pháp luật quy định, nhằm đảm bảo thuận tiện việc thực hiện quyền, nghĩa vụ của công dân trong việc đi lại và thực hiện các giao dịch trên lãnh thổ Việt Nam [3]

CMND còn là một sản phẩm phản ánh tính pháp lý, được Nhà nước quản lý theo pháp luật hiện hành Thông qua việc cấp và quản lý CMND để

phục vụ cho việc bảo vệ An ninh chính trị, bảo vệ trật tự an toàn toàn xã hội

góp phần vào công cuộc phát triển, xây dựng đất nước và quản lý xã hội

Ở nước ta, công tác sản xuất, cấp và quản lý CMND đã ra đời hơn 40 năm nay; đầu tiên là Giấy Thông hành rôi đến Giấy Chứng mỉnh thư

cuốn và hiện nay là giấy Chứng minh nhân dân Quá trình quản lý và cấp

CMND đã góp phần đáp ứng được các yêu cầu quản lý xã hội trong từng giai đoạn lịch sử, tạo điều kiện thuận lợi về mặt pháp lý cho Công dân trong

các hoạt động xã hội Tuy nhiên, hiện nay các hệ thống quản lý, cấp

CMND ở nước ta chỉ quản lý trên một hệ thống đơn lẻ và vẫn phải làm thủ công nhiều công đoạn, hệ thống này chưa phát huy hết tác dụng để phục vụ cho các yêu cầu công tác nghiệp vụ, việc cấp phát cho một người nhiều

CMND vẫn còn xẩy ra Đặc biệt, tại các tàng thư Công an tờ khai, chỉ bản CMND hiện đang xử lý và khai thác thong tin bằng phương pháp thủ công nên

hạn chế nhiều đến kết quả tra cứu Do đó, việc ứng dụng công nghệ thông tin vào công tác quản lý, cấp chứng minh nhân dân đang trở nên cấp bách; nhằm ngăn chặn tình trạng làm giả CMND, phát hiện những dấu hiệu nghi vấn

thông qua công tác sử dụng CMND Tuy nhiên, việc xây dựng hệ thống CSDL

Trang 38

về chứng minh nhân dân đòi hỏi nhiều công nghệ, kỹ thuật hiện đại với nhiều

công đoạn khác nhau nên kết quả ứng dụng hệ thống quản lý, cấp CMND điện tử mới dừng ở phân tích, thiết kế hệ thống

3.2 MƠ TẢ NGHIỆP VỤ

Cơng việc quản lý, cấp chứng minh nhân dân điện tử gồm những công

đoạn sau [4]:

a Quy trình nhận đơn và cấp CMND lần đâu:

Bước 1: Công dân đến địa điểm cấp CMND trực tiếp làm các thủ tục

cần thiết xin cấp Chứng minh nhân dân dưới sự hướng dẫn của Nhân viên làm

CMND: Làm đơn xin cấp CMND (hồ sơ xin cấp được người xin khai theo mẫu), chụp ảnh, lấy dấu vân tay trực tiếp tại nơi nhận hồ sơ Người nộp đơn

nhận một giấy hẹn để liên hệ nhận CMND khi xong

Bước 2: Trung tâm nhận hồ sơ (TTNHS) thực hiện quy trình kiểm tra ở

các cấp khác nhau: bao gồm tiếp nhận và kiểm tra tính đúng đắn trong tờ khai của công dân (kiểm tra tính đúng đắn trong tờ khai là sự kết hợp so sánh, đối

chiếu với số hộ khẩu mà công dân đang cư trú và giấy CMND cũ (nếu có))

Bước 3: TTNHS nhận được kết quả kiểm tra Nếu đơn bị từ chối, người

nộp đơn sẽ nhận được thông báo theo thủ tục hiện hành; nếu đơn được chấp nhận thì mẫu đơn được điền với ít nhất một ảnh màu và bản phê duyệt được

chuyển đến bước tiếp theo

Bước 4: Nhân viên nhập thông tin trên tờ khai, quét vân tay trong đơn

bằng Scanner hoặc camera

Bước 5: Ảnh được nhập vào hệ thống bằng cách để ảnh kèm theo đơn vào máy quét (hoặc chụp trực tiếp)

Bước 6: Nhân viên xác nhận việc vào số liệu kết thúc bằng cách ghi chỉ

dẫn do máy tính tạo ra vào đơn xin chuyển hồ sơ cho bộ phận kiểm tra; tiếp

Trang 39

Bước 7: Nhân viên khác ở bộ phận kiểm tra cầm hồ sơ vào máy số chỉ

dẫn ghi trên đơn (do nhân viên ở bước 6 ghi); mọi chi tiết về đương sự hiện

trên màn hình kể cả ảnh và vân tay Nhân viên kiểm tra lại một lần nữa thông

tin so với thông tin trong đơn Nếu phát hiện ra lỗi thì sửa cho đúng Nếu ảnh và vân tay chưa đạt yêu cầu thì có thể vào lại ở giai đoạn này

Bước 8: Những hồ sơ đã qua kiểm tra ở bước 7 được thực hiện thủ tục

cấp CMND và bổ sung vào CSDL CMND

Bước 9: Thẻ CMND đã sẵn sàng để ¡n Thực hiện cá thể hoá (sinh mã

vạch - Barcode)

Bước 10: Thẻ CMND được in ra, kẹp vào giữa hai trang trống - trang ép

plastic: laminate - CMND đã in sắn và ép màng plastic Kết quả là một

CMND theo tiêu chuẩn quy định, có đây đủ thông tin kể cả ảnh màu, vân tay

và phần mã vạch để cho máy đọc được ở mặt sau

Bước 11: Chứng minh nhân dân mới được đưa vào máy đọc tại nơi

kiểm tra chất lượng Nếu thiết bị không đọc được hay không đọc đúng có

nghĩa là đã có sai sót trong quá trình sản xuất, khi đó CMND phải được huỷ

và làm lại từ bước 7 Nếu CMND qua được khâu kiểm tra chất lượng, thì được

soát lại với bản chính của đơn và được gửi về TINHŠ cùng một yêu cầu biên nhận mà TTNHS phải gửi trả Khi công dân làm đơn hay người cầm giấy Báo hẹn (được cấp ở bước 1) nhận CMND từ TTNHS và biên nhận phải được gửi

lại cho trung tâm cấp CMND, có thể tự động qua mạng (nếu có) Khi Trung tâm cấp CMND xác nhận đã nhận được biên nhận thì bản CMND trong hệ CMND sẽ được đánh dấu, tức là đã được nhập vào trong CSDL và đã được phát cho người mang CMND

Trang 40

b Quy trình nhận đơn cấp đổi và cấp lại CMND

Bước 1: Đơn xin cấp lại CMND (hồ sơ xin cấp được người xin khai theo mẫu, kèm theo 3 hay một số nhất định ảnh màu, lấy dấu vân tay, ) Hồ sơ xin cấp đổi, cấp lại CMND_ được đưa đến một trong các cơ sở nhận hồ sơ (TTNHS) Người nộp đơn nhận một giấy Báo hẹn để liên hệ nhận CMND khi

xong

Bước 2: Thực hiện quy trinh kiém tra 6 Trung tam CSDL CMND dé truy nguyên người làm đơn xin cấp đổi hoặc cấp lai CMND (số CMND cũ là hợp lệ với các số liệu của hồ sơ gốc) Nếu kết quả kiểm tra số liệu có trong hồ

sơ gốc thì tiến hành cấp đổi (nhân viên chỉ cân cập nhật những thay đổi mới từ khi cấp CMND cũ đến nay ví dụ như thay đổi địa chỉ, họ tên, từ số liệu

trong đơn) Trường hợp không có dữ liệu trong CSDL thì thủ tục cấp đổi, cấp lại coi như cấp mới, các bước tiến hành như thủ tục cấp mới và thu lại CMND

cũ để huỷ (nếu có)

Bước 3: Ảnh mới, vân tay nếu cần được nhập vào bảng máy ảnh số hoặc bằng camera số, máy quét theo đơn

Bước 4: Giống hệt từ bước 7 - bước l1 trong trường hợp xin cấp CMND lần đầu

Một số chức năng của hệ thống quản lý, cấp CMND:

Ký hiệu Tên chức năng Giải thích

RI QTHT Quản trị hệ thống

RI.1 TDMK Thay đổi mật khẩu

RI.2 QLNCN Quản lý nhóm chức năng

R1.3 QLSD Quản lý người sử dụng chương trình

R1.4 MA Lap bảng mã địa danh

R5 MAK Lập bảng mã khác

Ngày đăng: 27/03/2015, 13:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN