KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: [email protected]
NGÀNH CÔNG NGHỆ THÔNG TIN
!"#$$#
%!
&'()*
+,-./
012!"345"36
"345"74
89:;<=>?!$@A"@A4""B5$CA"@A4""B
/!(DEF
/E
G! "34
)! H/I
J"@A4""B
,K
Chúng tôi xin chân thành cảm ơn các thầy cô trong khoa Công
nghệ thông tin cũng như các thầy cô giảng dạy trong trường Đại học
Bách khoa Đà Nẵng đã truyền đạt những kiến thức quý báu cho chúng
tôi trong những năm học vừa qua.
Đặc biệt, chúng tôi xin chân thành cảm ơn thầy Đặng Thiên Bình,
khoa Công nghệ thông tin, trường Đại học Bách khoa đã tận tình
hướng dẫn, động viên và giúp đỡ chúng tôi trong suốt thời gian thực
hiện đề tài.
Và để có được kết quả như ngày hôm nay, chúng tôi rất biết ơn gia
đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt
OhSiRS7jZkl7jc:ebmOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC
O8hRR8ndhSiRSSocVS2R8RSpVOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$"
'q^^OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$6
OSrRVXQSS?VS2R8OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$6
OSPsVgsOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@4
&'()*KI^+,tOOOOOOOOOOOOOOOC4
O&r:uvR8QSYwR8VbiRSOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC4
OsVx]<TyVTYzQOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCC
^OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO6$
O{RS8P{gsVx]<OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO6$
OYZR8kS{VVbP|ROOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO6$
}$~•R8€R\QOSrRVXQSVSPsVgsYZR8T2PVYzR8;•R8OS9
‚]pV;<RP{=)WQJ9ƒP4""4J46#VbOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO64
}4~8]:„RScRSiRSOSrRVXQS>9VSPsVgsS?VS2R8SYZR8T2PVYzR8O
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO64
}7~Sydn]ScR8O…VS]†Vj†kVbiRS\R8uWR8_OeVO†k4JV†k75
S9‚]pV;<Rc=ƒR8‡&0SƒPOJ4""4OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO64
}3~ =R: =bVSb]k cRu ScfR ˆPjuebd]VSJ fPVS Pjj :cR =‰
bcRudcVebO PQb=1=‰V O` a`ˆ 4O" kkjPQcVP=R
)e>ej=kdeRVa=]RuVP=RO];jP1Seu ;:PQb=1=‰V be11 5 )P>P1P=R =‰
PQb=1=‰V =bk=bcVP=R 5 RePQb=1=‰V ˆc:‡ eud=RuJˆc1SPR8V=R
B6"#45@7BBOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO64
}#~ cVVSef OV=eQgeb cRu 1Ve>e ŠOVePRJ fPVS =R: =bVSb]kO
PQb=1=‰VO`a`ˆ4O"ˆPRu=f15c1eujPeRV)e>ej=kdeRVO
];jP1Seu;:PQb=1=‰Vbe115)P>P1P=R=‰PQb=1=‰V=bk=bcVP=R5Re
PQb=1=‰Vˆc:‡eud=RuJˆc1SPR8V=RB6"#45@7BBOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO64
}@~Še11eP;ebV:Ob=8bcdPR8_O];jP1Seb!‹ePjj:JaPb1V`uPVP=RŠ]j:
4""$J!"5#B@5""$$C5CJ@6"VbOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO64
}C~bcR8fe;!fffOQ=uekb=ŒeQVOQ=dOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO64
}6~bcR8fe;!SVVk!AAu]bPcR8b=]kOf=bukbe11OQ=dOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO64
I46!I+,-.`GOOOOOOOOOOOOOOOOOOO3C
I4B!I+,-.`/OOOOO36
I7"!I/G.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO3B
I7$!I“”.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO#$
I74!E&&•.OOOOOOOOOOOOOOOOOOOOOOOO#7
I77!E&&•^.OOOOOOOOOOOOOOO#7
I73!K•‘&`I^OOOOOOOOOOOOOOOOOOOOOOOO#3
I7#!K•N*&`I^OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO#3
I7@!I&`I^OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO##
I7C!K•‘”OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO#C
I76!K•N*”OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO#6
I7B!I”OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO#6
I3"!K•‘/OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@"
I3$!K•N*/OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@$
I34!^+,//OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@$
I37!I/.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@4
I33!K•–OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@7
I3#!`OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@7
I3@!`)LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@3
I3C!`'+(%OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@3
I36!`FOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@#
I3B!`/OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@#
I#"!`qOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@#
I#$!`t—OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@
I#4!t•+OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC$
I#7!+,-)’OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCC
I#3!&•)’OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC6
I##!˜&^.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC6
I#@!/G.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC6
I#C!&•.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCB
,4C!,+(%Ž•)’OOOOOOOOOOOOOOOOOOOOOOC"
,46!,/OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC"
MN
O 2PQ<RSTUV9P
Với sự phát triển nhanh và mạnh mẽ của công nghệ thông tin của nước ta hiện
nay, việc ứng dụng tin học vào đời sống, công việc và học tập đã trở nên rất phổ
biến và cần thiết. Tin học đã làm thay đổi phương pháp làm việc một cách mạnh
mẽ và mang lại kết quả công việc tốt hơn. Trong đó việc ứng dụng tin học vào
việc giảng dạy và quản lý ở các trường đại học là hết sức quan trọng và cần thiết.
Qua nghiên cứu và tìm hiểu ở các trường đại học trên địa bàn Đà Nẵng nói
chung và trường đại học Bách Khoa nói riêng, chúng em nhận thấy rằng việc
quản lý và sắp xếp lịch thi ở các trường còn mang tính thủ công, điều này làm
cho việc sắp xếp lịch thi phải mất rất nhiều thời gian và thường xuyên xảy ra tình
trạng trùng phòng, trùng giờ thi ở các lớp thi. Chính vì vậy chúng em đã quyết
định xây dựng phần mềm quản lý và sắp xếp lịch thi ở trường đại học Bách Khoa
để làm đề tài tốt nghiệp của mình.
Bài toán đặt ra lúc này là Xây dựng một hệ thống quản lý và sắp xếp lịch thi
để đảm bảo việc quản lý và phân lịch thi một cách trực quan, thuận tiện và chính
xác. Cụ thể là hệ thống phải có các chức năng sau:
− Quản lý giáo viên.
− Quản lý lịch thi và sắp xếp lịch thi một cách trực quan, thuận tiện và
chính xác.
− Gửi mail thông báo lịch thi cho các giáo viên bộ môn.
O WQTXQS
Trong bối cảnh trên, bằng những kiến thức đã học và sự hướng dẫn tận tình
của giáo viên, chúng em thực hiện đề tài này nhằm mục đích nghiên cứu vấn đề
đang gặp phải trong việc phân lịch thi còn chưa chính xác và mất nhiều thời gian,
từ đó đưa ra giải pháp khắc phục và cuối cùng là cụ thể hóa bằng việc Xây dựng
hệ thống quản lý và sắp xếp lịch thi.
Nguyễn Công Chức – Lê Văn Thông – Lớp 04T2
Nguyễn Công Chức – Lê Văn Thông – Lớp 04T2
K$
KM-(^
O _>9O`abcdef=bg
OO$O P1]cjV]uP=O`
Visual Studio.NET cung cấp một môi trường phát triển mức cao để xây dựng
các ứng dụng trên .NET Framework. Với bộ Visual Studio.NET chúng ta có thể
đơn giản hoá việc tạo, triển khai và tiếp tục phát triển các ứng dụng Web và các
dịch vụ Web có sẵn một cách an toàn, bảo mật và khả nǎng biến đổi được. Visual
Studio.NET là một bộ đa ngôn ngữ các công cụ lập trình. Ngoài C#, Visual
Studio.NET còn hỗ trợ Visual Basic, Visual C++, Visual J#.NET và các ngôn
ngữ script như VBScript và JScript. Tất cả các ngôn ngữ này đều cho phép truy
cập vào .NET Framework.
Visual C# .NET: là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối
tượng an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C và C++.
C# là một ngôn ngữ rất thân thiện với người lập trình C và C++. C# là kết quả
của việc kết hợp hiệu nǎng cao của Visual Basic và sức mạnh của C++. C#
được Microsoft giới thiệu để xây dựng với Web và đòi hỏi quyền được cung
cấp một môi trường đồng bộ với HTML[3], XML[1] và SOAP[4]. Tóm lại C#
là một ngôn ngữ lập trình hiện đại và là một môi trường phát triển đầy tiềm
nǎng để tạo ra các dịch vụ Web XML, các ứng dụng dựa trên Microsoft .NET
và cho cả nền tảng Microsoft Windows cũng như tạo ra các ứng dụng Internet
thế hệ kế tiếp một cách nhanh chóng và hiệu quả.
Visual Basic .NET (VB.NET): cho phép bạn tạo ra những ứng dụng đầy sức
mạnh cho nền tảng Microsoft Windows với thời gian ngắn nhất, kết hợp chặt
chẽ việc truy cập dữ liệu từ một phạm vi rộng của các kịch bản dữ liệu, tạo ra
những thành phần với mã nhỏ nhất và xây dựng các ứng dụng trên cơ sở Web
khi sử dụng những kỹ nǎng hiện tại
Visual C++ .NET: là phiên bản kế tiếp của Microsoft Visual C++ 6.0.
Microsoft Visual C++ là công cụ C++ hiệu quả nhất để tạo ra những ứng
các ngôn ngữ. Thành phần này làm cho .NET có một khả nǎng "hỗ trợ mọi
ngôn ngữ" (language-free).
Các lớp lập trình hợp nhất (Unified Progrgamming Classes): Những thư
viện lớp lập trình hay các giao diện lập trình ứng dụng (API) được sử dụng
bởi nhiều ngôn ngữ khác nhau. Để sử dụng những ngôn ngữ lập trình khác
nhau, các nhà phát triển nghiên cứu các bộ thư viện lớp khác nhau để làm
việc với các ngôn ngữ lập trình khác nhau. Vấn đề này đã làm chậm quá
trình phát triển ứng dụng và làm cho công việc phát triển trở nên tẻ ngắt và
lãng phí khá nhiều thời gian. .NET cung cấp các lớp lập trình hợp nhất với
một bộ API dùng chung cho mọi ngôn ngữ lập trình. Các ngôn ngữ có thể
tương tác với một ngôn ngữ khác và các lớp lập trình hợp nhất này cho phép
các nhà phát triển lựa chọn bất cứ ngôn ngữ nào mà họ muốn trong khi chỉ
cần duy nhất một bộ API.
ASP.NET (Active Server Pages .NET): ASP.NET được sử dụng chung với
các lớp lập trình mà nó có thể tạo các ứng dụng Web một cách dễ dàng cho
người lập trình. ASP.NET cung cấp cách truy cập giao diện HTML chung và
nó chạy trên chương trình máy phục vụ nhưng thể hiện kết quả thông qua
HTML. Giao diện ASP.NET làm cho việc phát triển các ứng dụng Web trở
nên nhanh hơn do bởi các đối tượng điều khiển chung này. ASP.NET được
sử dụng ở phần trên của hai thành phần thực thi ngôn ngữ chung CLR và các
ngôn ngữ lập trình hợp nhất để tạo ra các dịch vụ Web.
OO7O 8hRR8n_
C# là một ngôn ngữ lập trình mới, và được biết đến với hai lời chào:
Nguyễn Công Chức – Lê Văn Thông – Lớp 04T2
Xây dựng hệ thống quản lý lịch thi sinh viên
Nó được thiết kế riêng để dùng cho Microsoft's .NET Framework (Một
nền khá mạnh cho sự phát triển, triển khai, hiện thực và phân phối các ứng
dụng).
Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên
kinh nghiệm của các ngôn ngữ hướng đối tượng khác.
Mô hình 3 lớp mà Microsoft đề nghị dùng cho các hệ thống phát triển trên
nền .NET như sau:
iRS4!hSiRS7jZk
OO$O be1eRVcVP=Rc:eb
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và
hiển thị kết quả /dữ liệu thông qua các thành phần trong giao diện người sử dụng.
Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Trong .NET thì
bạn có thể dùng Windows Forms, ASP.NET hay Mobile Forms để hiện thực lớp
này. Trong lớp này có 2 thành phần chính là User Interface Components và User
Interface Process Components.
UI Components: là những phần tử chịu trách nhiệm thu thập và hiển thị
thông tin cho người dùng cuối. Trong .NET thì những thành phần này có
thể là các TextBox, các Button, DataGrid
UI Process Components: là thành phần chịu trách nhiệm quản lý các qui
trình chuyển đổi giữa các UI Components.
Nguyễn Công Chức – Lê Văn Thông – Lớp 04T2
Xây dựng hệ thống quản lý lịch thi sinh viên
OO4O ]1PRe11=8PQc:eb
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do
lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp
này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 để thực hiện
công việc của mình. Trong lớp này có các thành phần chính là Business
Components, Business Entities và Service Interface.
Service Interface: là giao diện lập trình mà lớp này cung cấp cho lớp
Presentation sử dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua
giao diện này mà không cần phải quan tâm đến bên trong lớp này được
hiện thực như thế nào.
Business Entities: là những thực thể mô tả những đối tượng thông tin mà
hệ thống xử lý. Trong ứng dụng chúng ta các đối tượng này là các chuyên
mục (Category) và bản tin (News). Các business entities này cũng được
bản của con người trong việc giải quyết các vấn đề phức tạp. Các kỹ sư, kiến trúc
sư, các nghệ sĩ đã từng xây dựng những mô hình từ hàng nghìn năm nay để thử
các thiết kế của họ trước khi thực hiện chúng. Việc phát triển các hệ thống phần
mềm cũng không ngoại lệ. Để xây dựng một hệ thống phức tạp, những người
phát triển phải trừu tượng hóa những khía cạnh (View) khác nhau của hệ thống,
xây dựng các mô hình bằng cách sử dụng các kí hiệu một cách rõ ràng, cẩn thận,
kiểm tra xem các mô hình đã thoả mãn các yêu cầu của hệ thống chưa và dần
dần thêm vào các chi tiết để có thể chuyển đổi từ mô hình sang một cài đặt cụ
thể.
Chúng ta xây dựng mô hình của những hệ thống phức tạp bởi vì chúng ta
không thể lĩnh hội một lúc toàn bộ hệ thống đó. Ví dụ như khi xây một nhà kho
chúng ta có thể bắt tay vào xây ngay, khi xây một ngôi nhà chúng ta có thể cần
bản thiết kế của ngôi nhà đó. Khi cần xây môt tòa nhà cao tầng, chúng ta chắc
chắn cần bản thiết kế của toà nhà đó. Điều này cũng đúng trong lĩnh vực phần
mềm. Hệ thống càng phức tạp thì việc xây dựng mô hình càng quan trọng. Xây
dựng mô hình cho phép người thiết kế thấy được bức tranh tổng quan của hệ
thống, thấy được các thành phần của hệ thống tương tác với nhau như thế nào
hơn là việc sa lầy vào chi tiết bên trong của các thành phần đó.
Nguyễn Công Chức – Lê Văn Thông – Lớp 04T2 10
Xây dựng hệ thống quản lý lịch thi sinh viên
Trong thế giới luôn biến động của các ứng dụng hướng đối tượng thì việc phát
triển và bảo trì các ứng dụng có chất lượng cao trong một khoảng thời gian hợp
lý ngày càng trở nên khó khăn hơn. Một tổ chức phát triển phần mềm thành công
là tổ chức xây dựng được các phần mềm có chất lượng, thoả mãn được mọi yêu
cầu của khách hàng.
Mô hình hóa là phần trung tâm trong các công việc, các hoạt động để dẫn tới
một phần mềm tốt. Chúng ta xây dựng mô hình để trao đổi, bàn bạc về cấu trúc
và ứng xử (behavior) mong muốn của hệ thống. Chúng ta xây dựng mô hình để
trực quan hóa và kiểm soát kiến trúc của hệ thống. Mô hình có thể mô tả các cấu
trúc, nhấn mạnh về mặt tổ chức của hệ thống hoặc nó có thể mô tả các hành vi,
việc các ký hiệu khác nhau của các phương pháp đã gây ra những sự mập mờ,
nhầm lẫn khi mà một ký hiệu có thể mang những ý nghĩa khác nhau trong mỗi
phương pháp. Thời kỳ này còn được biết đến với tên gọi là cuộc chiến giữa các
phương pháp. Khoảng đầu năm 94, Booch đã cải tiến phương pháp của mình
trong đó có ứng dụng những ưu điểm của các phương pháp của Rumbaugh và
Jacobson. Tương tự Rumbaugh cũng cho đăng một loạt các bài báo được biết đến
với tên gọi phương pháp OMT-2 cũng sử dụng nhiều ưu điểm của phương pháp
của Booch. Các phương pháp đã bắt đầu hợp nhất, nhưng các kí hiệu sử dụng ở
các phương pháp vẫn còn nhiều điểm khác biệt.
Cuộc chiến này chỉ kết thúc khi có sự ra đời của UML - một ngôn ngữ mô
hình hóa hợp nhất. Tại sao lại là hợp nhất? Đó là do có sự hợp nhất các cách kí
hiệu của Booch, OMT và Objectory cũng như các ý tưởng tốt nhất của một số
phương pháp khác như hình vẽ sau:
Nguyễn Công Chức – Lê Văn Thông – Lớp 04T2 12
Xây dựng hệ thống quản lý lịch thi sinh viên
iRS7!{QVS9RSkS›RSzkRSpVR[R
Bằng cách hợp nhất các kí hiệu sử dụng trong khi phân tích, thiết kế của các
phương pháp đó, UML cung cấp một nền tảng chuẩn trong việc phân tích thiết
kế. Có nghĩa là các nhà phát triển vẫn có thể tiến hành theo phương pháp mà họ
đang sử dụng hoặc là có thể tiến hành theo một phương pháp tổng hợp hơn.
Nhưng điều quan trọng là các ký hiệu giờ đây đã thống nhất và mỗi ký hiệu
chuẩn của tổ chức OMG (Object Management Group) vào tháng 7-1997.
.III.1.3. UML – Unifield Modeling Language
UML là một ngôn ngữ dùng để:
Trực quan hóa
Cụ thể hóa
Sinh mã ở dạng nguyên mẫu
Lập và cung cấp tài liệu
UML là một ngôn ngữ bao gồm một bảng từ vựng và các quy tắc để kết hợp
các từ vựng đó phục vụ cho mục đích giao tiếp. Một ngôn ngữ dùng cho việc lập
nhiệm vụ của quy trình phát triển phần mềm.
OO4O >9Q{Q8PcPT=yRQ•cQS]VbiRSkS{VVbP|RkS›R
dUd
.III.2.1. Giai đoạn nghiên cứu sơ bộ
UML đưa ra khái niệm Use Case để nắm bắt các yêu cầu của khách hàng
(người sử dụng). UML sử dụng biểu đồ Use case (Use Case Diagram) để nêu bật
mối quan hệ cũng như sự giao tiếp với hệ thống.
Qua phương pháp mô hình hóa Use case, các tác nhân (Actor) bên ngoài quan
tâm đến hệ thống sẽ được mô hình hóa song song với chức năng mà họ đòi hỏi từ
phía hệ thống (tức là Use case). Các tác nhân và các Use case được mô hình hóa
cùng các mối quan hệ và được miêu tả trong biểu đồ Use case của UML. Mỗi
một Use case được mô tả trong tài liệu, và nó sẽ đặc tả các yêu cầu của khách
hàng: Anh ta hay chị ta chờ đợi điều gì ở phía hệ thống mà không hề để ý đến
việc chức năng này sẽ được thực thi ra sao.
.III.2.2. Giai đoạn phân tích
Giai đoạn phân tích quan tâm đến quá trình trừu tượng hóa đầu tiên (các lớp
và các đối tượng) cũng như cơ chế hiện hữu trong phạm vi vấn đề. Sau khi nhà
phân tích đã nhận biết được các lớp thành phần của mô hình cũng như mối quan
hệ giữa chúng với nhau, các lớp cùng các mối quan hệ đó sẽ được miêu tả bằng
công cụ biểu đồ lớp (class diagram) của UML. Sự cộng tác giữa các lớp nhằm
thực hiện các Use case cũng sẽ được miêu tả nhờ vào các mô hình động
(dynamic models) của UML. Trong giai đoạn phân tích, chỉ duy nhất các lớp có
tồn tại trong phạm vi vấn đề (các khái niệm đời thực) là được mô hình hóa. Các
lớp kỹ thuật định nghĩa chi tiết cũng như giải pháp trong hệ thống phần mềm, ví
Nguyễn Công Chức – Lê Văn Thông – Lớp 04T2 14
Xây dựng hệ thống quản lý lịch thi sinh viên
dụ như các lớp cho giao diện người dùng, cho ngân hàng dữ liệu, cho sự giao
tiếp, trùng hợp, v.v , chưa phải là mối quan tâm của giai đoạn này.
.III.2.3. Giai đoạn thiết kế
Trong giai đoạn này, kết quả của giai đoạn phân tích sẽ được mở rộng thành