TR NG I H C VÕ TR NG TO NƯỜ ĐẠ Ọ ƯỜ Ả
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
PHẦN MỀM QUẢN LÝ DỰ ÁN CÔNG
TRÌNH XÂY DỰNG
TR NG I H C VÕ TR NG TO NƯỜ ĐẠ Ọ ƯỜ Ả
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
PHẦN MỀM QUẢN LÝ DỰ ÁN CÔNG
TRÌNH XÂY DỰNG
Giáo viên hướng dẫn:
Ths.PHẠM THỊ NGỌC HÀ
Sinh viên thực hiện:
NGUYỄN HỮU TIẾN
MSSV: 0951190434
Lớp: ĐH Công Nghệ Thông Tin
Khóa: 2009 - 2013
Hậu Giang – Năm 2013
LỜI CAM ĐOAN
Đề tài “Xây Dựng Phần Mềm Quản Lý Dự Án Công Trình Xây Dựng” được
thực hiện bởi Nguyễn Hữu Tiến. Tôi xin cam đoan đề tài này là kết quả nghiên cứu,
phân tích và thực hiện của cá nhân tôi, dựa vào chính kiến thức đã học, sự nổ lực và
tâm huyết của bản thân cùng sự hướng dẫn tận tình của cô Phạm Thị Ngọc Hà.
Tôi xin chịu hoàn toàn trách nhiệm về tính xác thực và nguyên bản của luận
văn này.
Sinh viên thực hiện
(Ký và ghi rõ họ tên)
Nguyễn Hữu Tiến
i
Giáo viên hướng dẫn:
Ths PHẠM THỊ NGỌC HÀ
Sinh viên thực hiện:
NGUYỄN HỮU TIẾN
MSSV: 0951190434
Lớp: ĐH Công Nghệ Thông Tin
Khóa: 2009 - 2013
Hậu Giang – Năm 2013
LỜI CẢM TẠ
Lời đầu tiên tôi xin chân thành cảm ơn đến quý Thầy, Cô trường Đại học Võ
Trường Toản, những người đã trực tiếp giảng dạy, truyền đạt những kiến thức bổ
ích cho tôi, đó chính là những nền tảng cơ bản, là những hành trang vô cùng quý
giá, là bước đầu tiên cho tôi bước vào sự nghiệp sau này trong tương lai.
Tôi xin chân thành gửi lời cảm ơn sâu sắc đến cô Phạm Thị Ngọc Hà người đã
tận tình chỉ bảo, giúp đỡ, hướng dẫn tôi trong suốt thời gian làm luận văn và đồng
thời động viên lúc tôi gặp khó khăn trong nghiên cứu.
Tôi cũng xin cảm ơn các Thầy, Cô trong khoa công nghệ thông tin đã góp ý
cũng như giải đáp các thắc mắc của tôi.
Cuối cùng, tôi xin cảm ơn những người thân trong gia đình và bạn bè đã giúp
đỡ, động viên tôi hoàn thành khóa luận này.
Xin chân thành cảm ơn.
Sinh viên thực hiện
(Ký và ghi rõ họ tên)
Nguyễn Hữu Tiến
ii
BẢN NHẬN XÉT LUẬN VĂN TỐT NGHIỆP
_____________________________________________
• Họ và tên người hướng dẫn: Phạm Thị Ngọc Hà
• Học vị: Kỹ sư
• Chuyên ngành: Công Nghệ Thông Tin
• Cơ quan công tác: Trường Đại Học Võ Trường Toản
• Họ và tên sinh viên: Nguyễn Hữu Tiến
• Mã số sinh viên : 0951190434
• Chuyên ngành : Công Nghệ Thông Tin
• Tên đề tài : Phần Mềm Quản Lý Dự Án Công Trình Xây Dựng
NỘI DUNG NHẬN XÉT
1. Tính phù hợp của đề tài với chuyên ngành đào tạo:
2. Về hình thức:
3. Ý nghĩa khoa học, thực tiễn và tính cấp thiết của đề tài:
iii
4. Độ tin cậy của số liệu và tính hiện đại của luận văn:
5. Nội dung và các kết quả đạt được:
6. Các nhận xét khác:
7. Kết luận:
………., ngày…… tháng …… năm…
Người nhận xét
(Ký và ghi rõ họ tên)
iv
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
_______________________________________________
Hậu Giang, ngày …. tháng …. năm …
Giảng viên phản biện
(Ký và ghi rõ họ tên)
v
MỤC LỤC
2.3 MICROSOFT VISUAL STUDIO 2008 18
vi
DANH MỤC HÌNH ẢNH
2.3 MICROSOFT VISUAL STUDIO 2008 18
vii
DANH MỤC BIỂU BẢNG
2.3 MICROSOFT VISUAL STUDIO 2008 18
viii
TỪ VIẾT TẮT
Tiếng việt:
- CMND: Chứng minh nhân dân.
- DVT: Đơn vị tính
- CSDL: Cơ sở dữ liệu.
Tiếng anh:
- SQL: Structured Query Language.
- DDL: Data Definition Language.
- DML: Data Manipulation Language.
- IDE: Integrated Development Environment.
- WPF: Windows Presentation Foundation.
ix
TÓM TẮT
Ngày nay trong thời kỳ công nghiệp hóa – hiện đại hóa đất nước thì công
nghệ thông tin thật sự trở thành một lĩnh vực rất quan trọng trong đời sống con
người. Các doanh nghiệp đang có xu hướng ứng dụng công nghệ thông tin vào hệ
thống quản lý, hoạt động kinh doanh của mình. Đó là điều kiện cho sự ra đời của
các phần mềm quản lý sau này.
Hiện nay, các công ty hoạt động trong lĩnh vực xây dựng điều mong muốn
có một phần mềm “Quản lý các dự án công trình xây dựng” và đó cũng là đề tài của
em. Đề tài đi sâu vào quản lý thông tin các dự án công trình, quản lý các công đoạn
trong công trình. Ngoài ra phần mềm còn quản lý cả tài sản công trình và vật tư
trong công trình.
Trong thời gian thực hiện đề tài, em đã ứng dụng những kiến thức đã học
trên ghế nhà trường và các kinh nghiệm có được trong việc xây dựng mô hình hệ
thống bằng phương pháp Phân tích hệ thống thông tin hướng đối tượng, lập trình
bằng ngôn ngữ C#.NET trên cơ sở dữ liệu MySQL.
Rất mong được sự đóng góp ý kiến của thầy cô để chương trình có thể hoàn
thiện và tối ưu hơn.
x
ABSTRACT
Nowadays, industrialization – modernization of the country is always
advanced and up higher level. Information technology becomes playing role so
important of human life. Almost of businesses, they have tendency to apply
Information technology on management system, and operation of their business. It
finds out the main reason of the release of management software later.
Currently, the need of "Management of Construction Projects" absolutely high
of companies operating in the construction sector. That is the reason why I choose
the topic "Management of Construction Projects" and when it comes into deeply
Project Milestones Management or Works Projects Information Management.
Besides, the software also control over properties and materials of constructions.
During carrying the topic out, I have applied much knowledge which learned
in school and my experience gained in building mock-up systems based on Object-
Oriented Information System Analysis language C #. NET database in MySQL.
It’s my honor to get feedback also comments from teacher in order that my
program could be well-done completely and be able to more optimize.
xi
CHƯƠNG 1
TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ:
Cùng với sự phát triển của khoa học công nghệ chúng ta đạt được nhiều thành
công to lớn trong lĩnh vực công nghệ thông tin đáp ứng phần nào nhu cầu khoa học kỹ
thuật trong đời sống. Công nghệ thông tin mang lại cho con người những thành công
vượt bậc trong công việc cũng như giảm thiểu đáng kể công sức của người lao động .
Công nghệ thông tin xâm nhập phần lớn vào các lĩnh vực khác nhau như văn hóa,
kinh tế, giáo dục, y tế,… và trong xây dựng, công nghệ thông tin cũng đóng một vai
trò thiết yếu.
Thực tế, trong xây dựng để quản lý dự án công trình là một vấn đề không nhỏ. Bởi
lẽ, một công trình có nhiều thành phần cần phải lưu trữ thông tin như các công đoạn,
công việc, những vật tư công trình, tài sản của công trình, cũng như chủ đầu tư, nhà
cung cấp, nhân viên công trình. Một khối lượng lớn công việc đòi hỏi người quản lý
cần phải giải quyết một cách chính xác và hợp lý nhất. Nếu quản lý bằng tay, thì vấn
đề xuất hiện lỗi trùng lặp, hay sơ suất sẽ rất thường xuyên xảy ra. Điều đó làm cho
người quản lý đau đầu trong việc xử lý các vấn đề phát sinh trong dự án. Do đó, quản
lý tổng thể dự án công trình là vấn đề đang được các doanh nghiệp xây dựng quan
tâm .
Trong thời gian gần đây, trên thị trường xuất hiện rất nhiều phần mềm quản lý dự
án công trình, có phần mềm đi sâu quản lý chi phí, có phần mềm chuyên quản lý chất
lượng…, nhưng ở đây vấn đề mà luận văn này đề cập là việc quản lý tổng quan về
công trình. Với mục tiêu xây dựng một phần mềm không chỉ quản lý thông tin nhân
viên hay chi phí của công trình mà còn quản lý xuyên suốt các giai đoạn thực hiện
cũng như gắn kết các thành phần tham gia dự án như tài sản công trình và vật tư của
công trình, nhà cung cấp và chủ đầu tư. Không chỉ vậy, phần mềm phải tối ưu hóa
trong việc quản lý, thông qua chương trình người quản lý dễ dàng kiểm soát và điều
hành tiến độ công việc một cách linh hoạt và hiệu quả. Bên cạnh đó phần mềm phải
đơn giản hóa việc sử dụng, tối ưu hóa việc xử lý và có chi phí thấp.
xii
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ:
Từ những vấn đề trên đã khiến cho các nhà phân tích, lập trình viên đi sâu nghiên
cứu tạo ra các phần mềm quản lý để góp phần giải quyết những khó khăn của nhà quản
lý, nhân viên trong quá trình quản lý các dự án công trình xây dựng.
Hiện nay, có nhiều phần mềm cũng liên quan đến lĩnh vực xậy dựng, tuy nhiên các
phần mềm đều đi sâu vào quản lý theo kiểu từng phần: có phần mềm quản lý chất
lượng công trình, phần mềm quản lý chi phí công trình, phần mềm quản lý nhân viên
công trình. Gần đây nhất cũng có xuất hiện phần mềm quản lý tổng quan về công trình
như CENDIBUILDING 2 nhưng nhìn chung thì phức tạp, khiến người dùng khó hiểu.
Đứng trước những nhu cầu đó, tôi mong muốn tạo ra một phần mềm quản lý công
trình đáp ứng những yêu cầu sau:
- Nội dung: Đi sâu vào quản lý thông tin công trình, các công đoạn của công
trình, vật tư trong công trình, tài sản trong công trình.
- Tính đơn thể hóa cao: Có kết hợp, tách rời các phần với nhau, trao đổi thông
tin qua giao diện.
- Trao đổi thông tin: Tất cả các phần được thiết kế chặt chẽ với nhau, dữ liệu
trao đổi qua lại được tự động, không cần thao tác chuyển đổi thông tin.
- Giao diện: Phát triển trên nền windows, giao diện đồ họa phân theo mô hình
trực quan, cơ chế tìm kiếm thông minh. Giao diện chính thân thiện, màu sắc
bắt mắt, người dùng dễ dàng học cách sử dụng và sử dụng.
- Tìm kiếm: Tính năng tìm kiếm động, tra cứu và xử lý thông tin nhanh chóng
và chính xác.
1.3 PHẠM VI CỦA ĐỀ TÀI:
Từ những mong muốn và nhu cầu trên nên tôi chọn đề tài “Quản Lý Dự Án Công
Trình Xây Dựng”. Đề tài vừa có thể đáp ứng nhu cầu người sử dụng, vừa có thể áp
dụng trong các công ty xây dựng.
- Phạm vi trong dự án:
- Quản lý thông tin công trình
- Quản lý thông tin công đoạn
- Quản lý tài sản công trình
- Quản lý vật tư công trình
- Quản lý nhân viên công trình
xii
- Phạm vi ngoài dự án:
- Không quản lý chi phí công trình
- Không quản lý chất lượng công trình
- Không tính lương nhân viên
- Công cụ sử dụng:
- Visual studio 2008: Ngôn ngữ C#
- SQL Server 2005
- StarUML
- Microsoft Word, Excel
- Sách, Internet
1.4 PHƯƠNG PHÁP NGHIÊN CỨU – HƯỚNG GIẢI QUYẾT VẤN ĐỀ:
- Thu thập tài liệu thông qua sách và Internet.
- Tổng hợp tài liệu, tổng hợp các hoạt động trong lĩnh vực xây dựng.
- Từ nguồn tài liệu đã thu - thập, tiến hành phân tích hệ thống, xây dựng mô
hình usecase, class, sequence.
- Tìm hiểu về bộ công cụ Visual studio 2008, ngôn ngữ C#.
- Trong khi đó tiếp tục tìm hiểu hệ thống, hoàn thiện các mô hình đã xây dựng,
tiến hành lập trình, phát triển hệ thống.
- Chạy thử chương trình, sửa lỗi, hoàn thiện hệ thống.
- Viết báo cáo quá trình thực hiện đề tài.
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
xii
2.1 SƠ LƯỢC VỀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG HƯỚNG ĐỐI TƯỢNG
2.1.1 Tổng quan về hệ thống thông tin
Thông tin là một loại tài nguyên của tổ chức, phải được quản lý chu đáo giống
như mọi tài nguyên khác. Việc xử lý thông tin đòi hỏi chi phí về thời gian, tiền bạc và
nhân lực. Việc xử lý thông tin phải hướng tới khai thác tối đa tiềm năng của nó.
Hệ thống thông tin là một hệ thống bao gồm con người, dữ liệu, các quy trình và
công nghệ thông tin tương tác với nhau để thu thập, xử lý, lưu trữ và cung cấp thông
tin cần thiết ở đầu ra nhằm hỗ trợ cho một hệ thống.
Hệ thống thông tin hiện hữu dưới mọi hình dạng và quy mô.
Hệ thống thông tin là một tập hợp và kết hợp của các phần cứng, phần mềm và
các hệ mạng truyền thông được xây dựng và sử dụng để thu thập, tạo, tái tạo, phân
phối và chia sẻ các dữ liệu, thông tin và tri thức nhằm phục vụ các mục tiêu của tổ
chức.
2.1.2 Phương pháp phân tích thiết kế hệ thống thông tin theo kiểu hướng đối
tượng:
Đây là một trong những phương pháp phân tích thiết kế hệ thống thông tin. Nó
được hình thành giữa thập niên 80 dựa trên ý tưởng lập trình hướng đối tượng. Phương
pháp này được phát triển, hoàn thiện và hiện nay rất phổ dụng.
Chọn tiếp cận hướng đối tượng là tất yếu để phát triển hệ thống phần mềm phức
tạp, theo kịp đà phát triển không ngừng của công nghệ và các nhu cầu ứng dụng trong
thực tế.
Tuy nhiên lập trình hướng đối tượng lại ít trực quan, ít tự nhiên hơn lập trình theo
chức năng. Do đó, đòi hỏi phải mô hình hóa hướng đối tượng thật tốt. Phương pháp
này giúp hiểu biết tốt hơn, thực tế so sánh tốt hơn các giải pháp thiết kế trước khi lập
trình. Nó dựa trên các ngôn ngữ mô hình hóa.
2.1.3 Mô hình
Mô hình là một tập hợp các phần tử thường được dùng trong phép tương ứng
những lớp các đối tượng, các quan hệ và những quá trình xử lý nào đó trong lĩnh vực
cần mô tả để có một sự biểu diễn cô đọng, tổng quát, có ý nghĩa, đơn giản và dễ hiểu.
xii
Trong tin học mô hình là phương pháp cho tương ứng những phạm trù trừu
tượng, phức tạp trong thế giới thực và thậm chí ngay cả trong tin học để có cách nhìn
trực quan, dễ hiểu, từ đó có thể từng bước tin học hóa toàn bộ hay một phần lĩnh vực
đó.
Mô hình là một công cụ rất quan trọng trong việc xây dựng hệ thống thông tin.
2.1.4 Sơ đồ hoạt vụ
Sơ đồ hoạt vụ hay còn gọi là mô hình trường hợp sử dụng là một mô hình cơ bản
trong việc phân tích và thiết kế hệ thống thông tin theo kiểu hướng đối tượng.
Trường hợp sử dụng là một kỹ thuật mô tả hệ thống dựa trên quan điểm người sử
dụng. Mỗi trường hợp sử dụng là một cách thức riêng biệt để sử dụng hệ thống.
Trường hợp sử dụng là một tập hợp bao gồm các thao tác được kích hoạt bởi một
tác nhân bên ngoài và tạo ra một kết quả xác định được, quan sát được.
Tác nhân là những ai, những gì sử dụng hệ thống và có tương tác với hệ thống.
Các trường hợp sử dụng được gom lại trong các sơ đồ hoạt vụ, nhằm chỉ ra mối
liên hệ giữa các trường hợp sử dụng và giữa các tác nhân. Những sơ đồ này cũng cho
phép biểu diễn sự phụ thuộc giữa các trường hợp sử dụng lẫn nhau và giữa các tác
nhân lẫn nhau.
Quan hệ giữa các trường hợp sử dụng trong sơ đồ hoạt vụ:
- Quan hệ bao gồm:
Trường hợp sử dụng B được coi là bao hàm của trường hợp sử dụng A nếu hành
vi mô tả B bao hàm hành vi mô tả A, ta nói B phụ thuộc vào A.
Ký hiệu:
- Quan hệ mở rộng:
Nếu hành vi của trường hợp sử dụng B có thể được mở rộng bởi hành vi của
trường hợp sử dụng A, ta nói A mở rộng B.
Ký hiệu:
xii
- Quan hệ tổng quát hóa:
Một trường hợp sử dụng A là sự tổng quát hóa của trường hợp sử dụng B nếu B
là trường hợp đặc biệt của A.
Ký hiệu:
- Quan hệ giữa các tác nhân:
Mối quan hệ duy nhất có thể có giữa các tác nhân là sự tổng quát hóa.
Ký hiệu:
2.1.5 Sơ đồ lớp
Lớp là một sự mô tả một tập hợp các đối tượng có cùng các đặc tính: cùng một
ngữ nghĩa, có chung các thuộc tính, các phương thức và các quan hệ.
Một đối tượng là một thể hiện của lớp.
Ký hiệu:
xii
Tên lớp
Danh sách các thuộc tính
Danh sách các phương thức
B
Tên lớp: phải có nghĩa và bắt đầu bằng chữ hoa.
Mỗi thuộc tính được mô tả bằng tên và kiểu. Tên của thuộc tính phải duy nhất
trong lớp.
Mỗi phương thức được mô tả kiểu trả về, danh sách các đối số và kiểu tương ứng
của mỗi đối số.
a) Thuộc tính
Các thuộc tính biểu diễn các dữ liệu được bao gói trong các đối tượng của lớp
đang xét.
Một thuộc tính có thể được khởi tạo lúc khai báo. Ngữ pháp đầy đủ của thuộc
tính như sau:
<mức độ hiển thị> [/] <tên thuộc tính> : <kiểu> [‘[’<bản số>
[=<trị khởi tạo>]‘]’]
Trong một lớp có một số thuộc tính đặc biệt gọi là khóa.
b) Phương thức(method)
Hành vi của một đối tượng được mô hình hóa bằng một tập các phương thức.
Người ta phân biệt đặc tả (specification, header) của phương thức với cài đặt
(implementation) của nó. Tương ứng với mỗi đặc tả, có thể có nhiều cài đặt, nhưng với
mỗi cài đặt chỉ tương ứng với một đặc tả duy nhất.
c) Nguyên tắc xây dựng một lớp
Trong quá trình xây dựng một lớp ngoài việc nghiên cứu hệ thống thông tin, cần
phải dựa vào một số nguyên tắc sau:
- Nguyên tắc 1: Trong một lớp, đối với bất kỳ đối tượng nào của lớp đó, mỗi
thuộc tính đều phải có một nghĩa và phải có một giá trị duy nhất.
- Nguyên tắc 2: Mọi thuộc tính trong một lớp phải phụ thuộc vào khóa, bằng
một phụ thuộc hàm sơ cấp. Nghĩa là phụ thuộc vào toàn bộ khóa chứ không
phải phụ thuộc vào một bộ phận của khóa.
- Nguyên tắc 3: Mọi thuộc tính của một lớp phải phụ thuộc vào khóa bằng một
phụ thuộc hàm sơ cấp trực tiếp.
d) Quan hệ giữa các lớp
xii
- Liên kết: Một liên kết biểu diễn mối liên hệ ngữ nghĩa bền vững giữa hai lớp.
- Lớp liên kết: Khi phân tích ta thấy có những thuộc tính không thể đặt vào
trong một lớp thuần túy nào, mà phụ thuộc đồng thời vào nhiều lớp nối nhau
qua một liên kết. Vì trong phân tích hệ thống hướng đối tượng, chỉ có lớp mới
có thể chứa thuộc tính nên liên kết này trở thành một lớp gọi là lớp liên kết.
- Liên kết do suy diễn: Liên kết do suy diễn là liên kết được đặt điều kiện hoặc
được suy diễn từ ít nhất một liên kết khác.
- Liên kết nhiều chiều: Liên kết n chiều là liên kết mà trong đó có n lớp tham
gia vào liên kết.
e) Các nguyên tắc chuyển một sơ đồ lớp thành các bảng trong cơ sở dữ liệu
- Nguyên tắc 1: Một lớp chuyển thành một bảng.
- Nguyên tắc 2: Một thuộc tính của một lớp sẽ chuyển thành một thuộc tính của
một bảng. Đặc biệt một khóa trong một lớp sẽ chuyển thành khóa của bảng.
- Nguyên tắc 3: Nếu trong một liên kết hai chiều, bản số về phía lớp thứ nhất là
1 thì lớp đó sẽ được chuyển thành bảng thứ nhất theo quy tắc 2, còn lớp kia sẽ
chuyển thành bảng thứ hai theo quy tắc 2 cộng thêm thuộc tính khóa của bảng
thứ nhất làm khóa ngoài cho bảng thứ hai.
- Nguyên tắc 4: Một liên kết hoặc một lớp liên kết giữa các lớp mà các bảng số
không phải là 1 biến thành một bảng gồm tất cả các khóa của các lớp tham gia
và các thuộc tính của lớp liên kết đó (nếu có). Các khóa này kết hợp lại thành
khóa của bảng vừa được tạo ra. Mỗi lớp tham gia sẽ chuyển thành một bảng
theo quy tắc 2.
- Nguyên tắc 5: Một liên kết tự thân sẽ biến mất hay trở thành một bảng, tùy
theo các bảng số của quan hệ đó. Nếu có một bản số là 1 thì xem quan hệ tự
thân như quan hệ giữa hai lớp và áp dụng quy tắc 3. Nếu không có bản số nào
là 1 thì áp dụng quy tắc 4 .
2.1.6 Sơ đồ tương tác
a) Tương tác
xii
Một tương tác định nghĩa hành vi của một hệ có cấu trúc (một hệ thống con, một
trường hợp sử dụng, một lớp, một thành tố, …) bằng cách đặc biệt chú trọng đến việc
trao đổi các thông tin giữa các thể hiện (instances) của nó.
b) Sinh tuyến (đường đời: lifeline)
Một sinh tuyến biểu diễn một thành phần duy nhất (unique: không được trùng
lắp) tham gia vào một tương tác.
Một sinh tuyến được biểu diễn bằng một hình chữ nhật hoặc một hình người
"treo" một đường thẳng dọc có chấm. Trong hình chữ nhật hoặc phía dưới hình người
chứa một định danh có ngữ pháp như sau :
[<tên sinh tuyến> [<chỉ số>] ] : <tên lớp>
c) Định nghĩa sơ đồ tương tác
Các sơ đồ tuần tự và sơ đồ liên lạc biểu diễn các tương tác giữa các sinh tuyến.
Một sơ đồ tuần tự chỉ ra các tương tác dưới góc độ thời gian, đặc biệt là các chuỗi
thông báo (messages) trao đổi nhau giữa các sinh tuyến, trong khi một sơ đồ liên lạc
biểu diễn về mặt không gian của các sinh tuyến.
Còn có dạng thứ ba của sơ đồ tương tác là sơ đồ thời gian nhằm mô hình hóa các
hệ thống được khai thác dưới những điều kiện nghiêm ngặt về thời gian, chẳng hạn các
hệ thống thời thực. Tuy nhiên, các sơ đồ tuần tự hoàn toàn có thể thực hiện chức năng
này.
d) Các dạng thông báo
Các thông tin chủ yếu chứa trong các sơ đồ tuần tự là các thông báo. Một thông
báo định nghĩa một liên lạc giữa các sinh tuyến.
Có nhiều dạng thông báo, trong đó phổ biến nhất là dạng:
(1) : Gửi một tín hiệu. Thông báo khởi động một phản ứng nơi đối tượng nhận
một cách không đồng bộ và không cần đợi trả lời.
(2) : Kích hoạt thực hiện một thao tác trong một phương thức. Đây là dạng thông
báo được sử dụng nhiều nhất trong lập trình hướng đối tượng.
Ví dụ : dt.pt(), trong đó dt là đối tượng nhận thông báo và pt là một phương thức
của dt. Trong thực tế, đa số thông báo loại này là đồng bộ. Cũng có thể thực hiện
thông báo dạng này một cách không đồng bộ qua các thread.
(3) : Tạo hoặc hủy một thể hiện (đối tượng)
xii
Thông báo đồng bộ
(synchrone)
Thông báo không đồng
bộ (asynchrone)
Cách 1
Cách 2
e) Thông báo và sự kiện
UML phân biệt việc gửi với nhận một thông báo, cũng như phân biệt việc bắt đầu
với việc kết thúc thực hiện một phản ứng. Các sự kiện (event) được dùng để đánh dấu
từng giai đoạn.
Ví dụ :
Hình 1: Sơ đồ thêm nhân viên
Hoặc :
xii
sd Thêm NV
thêm
: GD Nhân Viên
sự kiện nhận
sự kiện bắt
đầu thực hiện
sự kiện chấm
dứt thực hiện
QL
KH
sự
kiện
gửi
sd Đăng Nhập
Nhập
sự kiện nhận
sự kiện bắt
đầu thực hiện
sự kiện chấm
dứt thực hiện
NV
sự
kiện
gửi
Đăng Nhập
Kiểm tra mã
Hình 2: Sơ đồ đăng nhập
Dựa vào các sự kiện gửi và nhận, UML định nghĩa 3 kiểu thông báo :
- Thông báo đầy đủ : các sự kiện gửi và nhận đều được biết.
- Thông báo bị lạc : sự kiện gửi có được biết, nhưng sự kiện nhận thì không.
Ký hiệu :
- Thông báo tìm được : ngược lại, sự kiện nhận có được biết, nhưng sự kiện gửi
thì không.
Ký hiệu
f) Ngữ pháp của thông báo
Thông báo gửi có ngữ pháp dưới đây:
<tên tín hiệu hoặc tên phương thức> [ ( <danh sách tham số> ) ]
Trong danh sách, các tham số cách nhau bởi dấu phẩy, và mỗi tham số có ngữ
pháp như sau :
[<tên tham số> <dấu> ] <trị của tham số>]
với :
<dấu> là dấu ‘=’ nếu đó là tham số chỉ đọc,
dấu ‘ :’ nếu đó là tham số có thể sửa được (đọc/ ghi)
Ví dụ :
nhậpMã(« 1234 »)
nhậpMã(m)
ghiNhận(Ma_NV, Ma_CT)
sửaSolg(sl : 10)
Thông báo trả lời
Thông báo trả lời có ngữ pháp dưới đây :
[<thuộc tính> = ] <thông báo gửi> [ : <trị trả về>]
xii
Ví dụ :
soluongvattuton= ktrasoluong(« A001 »)
maOK=ktraMa(ma) :true
g) Ràng buộc các sinh tuyến
Các sinh tuyến của một tương tác có thể mang đủ loại ràng buộc.
Ký hiệu:
- Một ràng buộc được biểu diễn trên một sinh tuyến bằng một văn bản giữa dấu
móc ({ }).
- Một ràng buộc cũng có thể được chứa trong một ghi chú gắn với thể hiện của
sự kiện liên quan.
Hình 3 : Sơ đồ xuất vật tư
Phép assert khẳng định sự cần thiết của việc gửi thông báo tiếp theo.
Như vậy, xuất vật tư trong kho, bắt buộc phải kiểm tra số lượng vật tư tồn trong
kho, sau khi kiểm tra, thuộc tính soluongvattu của kho phải lớn hơn soluongvattuton)
Ghi chú :
Một ràng buộc được đánh giá khi khai thác tương tác. Nếu ràng buộc không được
thỏa mãn, các thể hiện của sự kiện đi theo sau ràng buộc nay sẽ được xem là không
hợp lệ, ngược lại với khi ràng buộc được thỏa mãn. Như vậy, một sơ đồ tương tác có
thể mô tả các thông báo không hợp lệ, nghĩa là không bao giờ được gửi đi.
h) Các kiểu phân đoạn của tương tác
xii
NV
ktravattu(sotien)
assert
{ HT.soluong>soluong }
Xuất (soluong)
sd xuất vật tư
yeuccau_xuatvt(soluon
g))
GDXuatV
T