Hiện nay, tại các trường đại học và các cơ sở đào tạo trên cả nước, công nghệ thông tin được ứng dụng mạnh mẽ trong công tác quản lý như quản lý hành chính, quản lý đào tạo, quản lý thư
Trang 1LỜI CẢM ƠN
Luận văn được hoàn thành tại Trường Đại Học Lâm Nghiệp Việt Nam Trong
quá trình làm khóa luận tốt nghiệp em đã nhận được rất nhiều sự giúp đỡ để hoàn tất
luận văn
Trước tiên em xin gửi lời cảm ơn chân thành Cô Khương Thị Quỳnh đã tận
tình hướng dẫn, truyền đạt kiến thức, kinh nghiệm cho tôi trong suốt quá trình thực
hiện luận văn tốt nghiệp này
Xin gửi lời cảm ơn đến quý thầy cô Khoa Kinh Tế Quản Trị Kinh Doanh,
Trường Đại Học Lâm Nghiệp Việt Nam, những người đã truyền đạt kiến thức quý báu
cho em suốt trong thời gian học tập vừa qua
Sau cùng xin gửi lời cảm ơn đến gia đình, bạn bè và các bạn sinh viên lớp … đã
luôn động viên, giúp đỡ tôi trong quá trình làm luận luận văn Đồng thời xin giửi lời
cám ơn đến các anh/chị đáp viên đã nhiệt tình tham gia trả lời câu hỏi khảo sát giúp tôi
hoàn thành luận văn tốt nghiệp này
Một lần nữa, xin chân thành cảm ơn!
Hà Nội, ngày 17 tháng 05 năm 2019
Sinh Viên
Nguyễn Đức Quân
Trang 2DANH MỤC HÌNH
Hình 1:Giai Đoạn của phần mềm 12
Hình 2: Vòng đời phát triển phần mềm 12
Hình 3: Thành phần chính của microsoft.NET 17
Hình 4: Microsoft NET Framework 18
Hình 5: Mô hình nghiệp vụ hệ thống 20
Hình 6: Mô hình nghiệp vụ các actor 21
Hình 7:Sơ đồ Use case mức tổng quát của hệ thống 22
Hình 8 : Sơ đồ use case quản lý tài khoản 23
Hình 9: Sơ đồ use case đăng nhập 23
Hình 10: Sơ đồ use case đổi mật khẩu 24
Hình 11: Sơ đồ use case quản lý sinh viên 24
Hình 12: Sơ đồ use case quản lý phòng 25
Hình 13: Sơ đồ use case quản lý dịch vụ 25
Hình 14: Sơ đồ use case quản lý hợp đồng 26
Hình 15: Sơ đồ use case quản lý kỷ luật 26
Hình 16: Biểu đồ trình tự đăng nhập 27
Hình 17: Biểu đồ trình tự Tìm kiếm 27
Hình 18: Biểu đồ Trình tự quản lý sinh viên 29
Hình 19: Biểu đồ trình tự quản lý Phòng 30
Hình 20: Biểu đồ lớp phân tích 30
Hình 21: Biểu đồ hoạt động đăng nhập 35
Hình 22: Biểu đồ hoạt động tìm kiếm 36
Hình 23: Biểu đồ hoạt động quản lý sinh viên 36
Hình 24: Biểu đồ hoạt động quản lý phòng 37
Hình 25: Biểu đồ lớp chi tiết 38
Hình 26: Sơ đồ thành phần 39
Hình 27: Sơ đồ thành phần nhóm khác 39
Hình 28: Biểu đồ triển khai 39
Hình 29: Sơ đồ mối quan hệ giữa các bảng 42
Hình 30: Form Đăng Nhập 43
Hình 31: Form Đổi Mật Khẩu 43
Hình 32: Form chính của người quản lý 44
Hình 33: Form Quản Lý Phòng 44
Hình 34: Form Quản Lý Sinh Viên 45
Hình 35:Form Quản lý tài khoản 45
Hình 36:Form Tìm kiếm Sinh Viên 45
Hình 37: Form Hiển Thị Phòng Trống 46
Trang 3MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 3
1 Quy trình phát triển phần mềm hướng đồi tượng sử dụng UML 3
2 Quy trình quản lý ký túc xá 15
3 Công nghệ NET 16
CHƯƠNG II: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 20
2.1 Phân tích hệ thống 20
2.1.1 Mô tả hệ thống 20
2.1.2 Phân tích hệ thống và xác định yêu cầu 21
2.1.2.1 Xác định các tác nhân 21
2.1.2.2 Mô hinh tiến trình nghiệp vụ 21
2.1.2.3 Xác định các Use case 22
2.1.2.4 Mô hình Use case hệ thống 22
2.1.2.5 Mô tả use case hệ thống 23
2.1.2.6 Biểu đồ trình tự 27
2.1.2.7 Biểu đồ lớp phân tích 30
2.2 Thiết kế hệ thống 30
2.2.1 Kịch bản các Ca sử dụng 30
2.2.2 Biểu đồ hoạt động 35
2.2.3 Biểu đồ lớp chi tiết 38
2.2.4 Biểu đồ thành phần 38
2.2.5 Biểu đồ triển khai 39
CHƯƠNG III: CÀI ĐẶT VÀ TRIỂN KHAI HỆ THỐNG 40
3.1 Công nghệ sử dụng 40
3.2 Thiết kế cơ sở dữ liệu 40
3.3 Thiết kế giao diện chương trình 43
CHƯƠNG IV: KẾT LUẬN VÀ KIẾN NGHỊ 47
4.1 Kết luận 47
4.2 Kiến nghị 47
TÀI LIỆU THAM KHẢO 48
Trang 4MỞ ĐẦU
1 Lý do chọn đề tài
Phạm vi ứng dụng của công nghệ thông tin ngày càng mở rộng trên nhiều lĩnh vực: truyền thông, đo lường, tự động hoá, quản lý các hoạt động của con người và xã hội Những lợi ích mà các phần mềm ứng dụng mang lại là đáng kể: xử lý thông tin nhanh chóng, chính xác, khoa học, giảm bớt nhân lực và công sức, phí tổn thấp và hiệu quả công việc nâng cao một cách rõ rệt
Hiện nay, tại các trường đại học và các cơ sở đào tạo trên cả nước, công nghệ thông tin được ứng dụng mạnh mẽ trong công tác quản lý như quản lý hành chính, quản lý đào tạo, quản lý thư viện, v.v… Việc tin học hóa quá trình xử lý thông tin quản lý, trước hết nhằm trợ giúp cho nghiệp vụ quản lý, giúp các nhà lãnh đạo đưa ra quyết định đúng đắn… Việc tin học hóa không đặt ra cho toàn bộ qui trình quản lý mà chỉ thực hiện một số khâu quan trọng nhất định trong quy trình đó
Nhận thấy công nghệ thông tin góp phần đắc lực và mang lại hiệu quả, tiết kiệm rất nhiều chi phí trong công tác quản lý sinh viên nội trú, nhiều trường đại học, cao đẳng trong cả nước đã triển khai và đưa vào sử dụng phần mềm quản lý sinh viên nội trú như trường Đại học Quốc gia Hà Nội, Đại học Quốc gia thành phố HCM, Đại học Bách Khoa, v.v…
Tại trường Đại học Lâm nghiệp, số lượng sinh viên ngày càng tăng, nhu cầu nhà ở
và sinh hoạt nội trú ngày càng lớn, quy mô dịch vụ, nhà ở ngày càng mở rộng đòi hỏi các công tác quản lý, xử lý thông tin liên quan tới sinh viên nội trú, phòng ở, dịch vụ phải nhanh, gọn và chính xác Tuy nhiên, trong công tác quản lý kí túc xá nhiều chuyên môn nghiệp vụ vẫn còn thực hiện một cách thủ công và rời rạc, ứng dụng công nghệ thông tin chưa thực sự đem lại hiệu quả cao, đặc biệt vẫn chưa có phần mềm hỗ trợ công tác quản lý và cũng như xử lý thông tin nghiệp vụ
Thực tế đó cho thấy, để nâng cao hiệu quả quản lý sinh viên nội trú và chất lượng chuyên môn nghiệp vụ tại trung tâm quản lý ký túc xá trường Đại học Lâm Nghiệp thì việc nghiên cứu xây dựng và ứng dụng phần mềm quản lý ký túc xá là hết sức cần
thiết Do đó, em chọn đề tài “Nghiên cứu và xây dựng phần mềm Quản lý ký túc xá trường Đại học lâm nghiệp” để làm khóa luận tốt nghiệp với mong muốn có thể áp
dụng vào công tác quản lý KTX tại nhà trường
2 Mục tiêu đề tài
● Ứng dụng công nghệ NET xây dựng phần mềm phục vụ công tác quản lý ký túc
xá trường ĐH Lâm Nghiệp
Trang 5● Cung cấp công cụ quản lý hiệu quả, làm giảm thời gian và thuận tiện cho người sử dụng khi sử dụng
3 Đối tượng và phạm vi nghiên cứu của đề tài
3.1 Đối tượng nghiên cứu :
+ Quy trình quản lý sinh viên nội trú
+ Quy trình phát triển phần mềm hướng đối tượng và ngôn ngữ mô hình hóa thống nhất UML
+ Công nghệ NET
3.2 Phạm vi nghiên cứu :
- Đề tài nghiên cứu trên phạm vi là Kí túc xá trường ĐH Lâm Nghiệp
- Đề tài tập trung nghiên cứu Công tác quản lý của các nhà quản lý tại kí túc xá trường Đại học Lâm Nghiệp
4 Phương pháp nghiên cứu của đề tài
- Khảo sát: Nghiên cứu các tài liệu, tìm hiểu thực trạng, quy trình quản lý ký túc xá
tại trường Đại học Lâm nghiệp Tìm hiểu thực tế triển khai ứng dụng phần mềm quản lý sinh viên nội trú tại một số các cơ sở đào tạo, các trường đại học Qua đó đưa ra giải pháp xây dựng hệ thống phần mềm quản lý ký túc xá
- Kế thừa: Kế thừa kết quả nghiên cứu, hệ thống của các trường đại học và các cơ sở
đào tạo đã triển khai hệ thống quản ký túc xá
- Phương pháp chuyên gia: Tìm hiểu và xin ý kiến các nhà chuyên môn, các chuyên
gia trong lĩnh vực công nghệ thông tin, quản lý có kinh nghiệm
5 Kết cấu của khóa luận
Khóa luận gồm 4 chương:
Chương I Cơ Sở Lý Thuyết
Chương II Phân tích và thiết kế hệ thống
Chương III Cài đặt và triển khai hệ thống
Chương IV Kết Luận
Trang 6CHƯƠNG I : CƠ SỞ LÝ THUYẾT
1 Quy trình phát triển phần mềm hướng đồi tượng sử dụng UML
1.1 Giới thiệu ngôn ngữ mô hình hoá thống nhất UML (Unified Modeling
Language)
UML là ngôn ngữ mô hình hợp nhất, nó được hiểu như một ngôn ngữ thống nhất những xu hướng và hình thái của cuộc cách mạng tri thức trong lĩnh vực công nghệ thông tin Nó là một phương tiện giúp cho các tổ chức có thể nhận thức một cách tốt nhất lợi thế cạnh tranh thông qua việc nắm bắt, truyền đạt, trao đổi và nâng cao tri thức trong lĩnh vực công nghệ phần mềm Chính xác hơn UML là ngôn ngữ mô hình hoá chuẩn để thiết kế phần mềm hướng đối tượng, được dùng để đặc tả, trực quan hoá, xây dựng và làm tài liệu cho các hệ thống phần mềm UML là ngôn ngữ đồ hoạ với các tập quy tắc và ngữ nghĩa Các quy tắc và ngữ nghĩa của một mô hình được thể hiện bằng tiếng anh gọi là Ngôn ngữ ràng buộc đối tượng (OCL – Object Constraint Language) OCL là ngôn ngữ đặc tả sử dụng logic đơn giản để đặc tả các đặc tính của
Hỗ trợ khả năng sử dụng lại và kế thừa ở phạm vi rộng để xây dựng những hệ thống phức tạp và nhạy cảm như : hệ thống tự động, hệ thống thời gian thực
Tạo ra ngôn ngữ mô hình hoá sử dụng được cho cả người và máy tính của UML
1.1.2 Công dụng của UML
UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm
Vạch ra cho hệ thống những chức năng chính của nó sử dụng các mô hình tình huống sử dụng và các tác nhân
Minh họa các use case bằng các biểu đồ tương tác (interaction diagram)
Mô tả cấu trúc tĩnh của một hệ thống sử dụng các biểu đồ lớp (class diagram)
Mô hình hoá trạng thái của đối tượng bằng các biểu đồ chuyển tiếp trạng thái
Minh họa cấu trúc thi hành vật lý bằng các biểu đồ thành phần và triển khai
Mở rộng chức năng bằng các mẫu cung cấp sẵn (stereotype)
Trang 71.1.3 Các đặc trƣng và khả năng của UML
Ngôn ngữ cung cấp bảng từ vựng và tập các quy tắc để kết hợp các từ trong bảng từ vựng để giao tiếp Ngôn ngữ mô hình là ngôn ngữ có từ vựng và quy tắc tập trung vào các biểu diễn về mặt vật lý và khái niệm của hệ thống UML là ngôn ngữ chuẩn công nghiệp để lập kế hoạch chi tiết phần mềm
Ngôn ngữ phải cho phép biểu diễn nhiều khung nhìn (views) khác nhau của kiến trúc hệ thống trong suốt quá trình phát triển phần mềm Từ vựng và quy tắc ngôn ngữ UML cho ta cách thức xây dựng mô hình và đọc mô hình, nhưng không cho biết
mô hình nào cần phải được lập và khi nào lập chúng mà phải dựa vào quy trình phát
triển phần mềm Các biểu diễn mô hình trong UML là các biểu diễn bằng đồ hoạ 1.1.3.2 UML là ngôn ngữ đặc tả có cấu trúc
Đặc tả là xây dựng mô hình chính xác, rõ ràng , hoàn thiện và đầy đủ những điểm mấu chốt của vấn đề UML hướng tới đặc tả thiết kế, phân tích và quyết định cài đặt trong quá trình phát triển và triển khai hệ thống phần mềm
1.1.3.3 UML là ngôn ngữ trực quan
Bằng hệ thống các kí hiệu đồ hoạ và các biểu đồ với các chú giải đi kèm, UML cho ta hình dung được hệ thống đang cần xây dựng từ nhiều góc độ khác nhau
1.1.3.4 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 chi tiết của nó UML cho khả năng biểu diễn yêu cầu, thử nghiệm, mô hình hoá các hoạt động lập kế hoạch và quản lý sản phẩm
Thông qua UC biểu đồ trường hợp sử dụng , tác nhân để biết giới hạn và các chức năng chính của hệ thống
Trong UML UC (User case) được miêu tả bằng biểu đồ logic Sử dụng biểu đồ
UC, tác nhân (Actor) có thể chia dự án thành các dự án nhỏ có thể quản lý được Nhìn vào biểu đồ đó và các tài liệu mô tả, người phân tích có thể biết hệ thống có khả năng làm gì
Biểu diễn cấu trúc tĩnh của hệ thống bằng biểu đồ lớp Sử dụng biểu đồ trình tự
và cộng tác để thấy được trình tự và logic toàn bộ hệ thống và các thông báo giữa các đối tượng
Mô hình hóa 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 chức năng bằng stereotypes
Trang 81.1.4 Mô hình khái niệm của UML
Để hiểu, đọc được UML và tạo ra một số mô hình cơ bản ta phải hình dung được mô hình khái niệm của ngôn ngữ Muốn vậy đòi hỏi chúng ta phải nắm được ba vấn đề chính bao gồm :
Các khối cơ bản để xây dựng mô hình
Các quy tắc liên kết
Các cơ chế chung được sử dụng cho ngôn ngữ
1.1.4.1 Các khối cơ bản xây dựng mô hình
Các khối để hình thành mô hình UML gồm ba loại:
Phần tử cấu trúc
Phần tử cấu trúc là các danh từ trong mô hình UML, là bộ phận tĩnh của
mô hình để biểu diễn các thành phần khái niệm hay vật lý
Phần tử hành vi là bộ phận động của mô hình UML Là các động từ của
mô hình, biểu diễn hành vi theo thời gian và không gian Có 2 loại
Trang 9cả phần tử nhóm khác nhau có thể được đặt vào trong một gói Chỉ tồn tại vào thời điểm phát triển hệ thống chứ không tồn tại vào thời gian chạy chương trình
Chú thích (Annotational)
Phần tử chú thích là bộ phận chú giải của một mô hình UML Là lời giải thích áp dụng để mô tả các phần tử khác trong mô hình Hay còn gọi là lời ghi chú
Các quan hệ trong UML
Quan hệ phụ thuộc (dependency)Phụ thuộc là quan hệ ngữ nghĩa giữa hai phần tử trong đó thay đổi phần tử độc lập sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc
Quan hệ kết hợp (association)Kết hợp là quan hệ cấu trúc để mô tả tập liên kết (một liên kết là kết nối giữa các đối tượng) Khi đối tượng của lớp này gửi / nhận thông điệp thì gọi chúng có quan hệ kết hợp
Khái quát hoá (generalization)Khái quát hoá là quan hệ đặc biệt hoá / khái quát hoá mà trong đó đối tượng cụ thể sẽ kế thừa các thuộc tính và phương pháp của đối tượng tổng quát hoá
Hiện thực hoá (realization)Hiện thực hoá là quan hệ ngữ nghĩa giữa giao diện và lớp (hay thành phần) hiện thực lớp
1.1.4.2 Kiểu dữ liệu
Kiểu dữ liệu không phải là phần tử mô hình trong UML kiểu dữ liệu cơ sở là kiểu dữ liệu không có cấu trúc
Có các kiểu sau:
Boolean: kiểu đếm với true/false
Biểu thức(Expression): là xâu ký tự có cú pháp
Tính nhiều (Multiplicity): tập không rỗng của các số nguyên dương và
ký tự *
Tên (Name): là xâu ký tự có khả năng đẩy phần tử
Số nguyên (Integer): Là kiểu cơ bản và là phần tử của tập vô hạn các số nguyên âm và dương
Xâu (String): là trật tự của các ký tự, được sử dụng làm tên
Thời gian (Time): xâu ký tự biểu diễn giá trị tuyệt đối hay khoảng tương đối
Trang 10 Không lý giải (Unintepreted): là cái gì đó mà ý nghĩa của nó phụ thuộc vào lĩnh vực
1.1.4.3 Biểu đồ trong UML
Biểu đồ là biểu diễn đồ họa tập các phần tử mô hình Vẽ biểu đồ để biểu diễn hệ thống đang xây dựng dưới các góc độ quan sát khác nhau UML cho khả năng xây dựng một vài kiểu biểu đồ trực quan để biểu diễn các khía cạnh khác nhau của hệ thống, bao gồm :
Biểu đồ ca sử dụng (Use case diagram)
Chỉ ra tương tác giữa các UC và các tác nhân UC biểu diễn các chức năng hệ thống Tác nhân là con người hay hệ thống khác cung cấp hay thu nhận thông tin từ hệ thống đang được xây dựng Chỉ ra tác nhân nào khởi động UC và khi nào tác nhân nhận thông tin từ hệ thống.Biểu đồ UC chỉ ra chức năng tổng thể của hệ thống đang phát triển
Biểu đồ tương tác (Interaction diagram)
Biểu đồ tương tác bao gồm hai dạng là biểu đồ trình tự và cộng tác
Biểu đồ trình tự (sequence)
Biểu đồ trình tự chỉ ra luồng chức năng xuyên qua các UC, nó là biểu đồ mô tả tương tác giữa các đối tượng và tập trung vào mô tả trật tự các thông điệp theo thời gian
Biểu đồ trình tự là biểu đồ tương tác theo trật tự thời gian của các giao tiếp bằng thông điệp giữa các đối tượng Biểu đồ được đọc từ đỉnh xuống đáy Mỗi UC có nhiều luồng dữ liệu Mỗi biểu đồ trình tự biểu diễn một luồng
Biểu đồ cộng tác chỉ ra luồng sự kiện xuyên qua kịch bản của UC Biểu đồ này cho khả năng dễ quan sát các đối tượng nhưng khó quan sát về trình tự thông tin
Biểu đồ lớp (Class diagram)
Biểu đồ lớp chỉ ra tương tác giữa các lớp trong hệ thống Các lớp được xem như kế hoạch chi tiết của các đối tượng Đường nối giữa các phần tử biểu đồ lớp là quan hệ
Trang 11giao tiếp giữa chúng Phía trái của một số thuộc tính và thao tác có gắn biểu tượng khoá, có nghĩa rằng đó là các thuộc tính và thao tác riêng
Trong biểu đồ lớp có các loại lớp sau:
Lớp tham số: là lớp được sử dụng để tạo ra họ các lớp khác Còn có tên là lớp mẫu (template)
Lớp hiện thực: là lớp tham số mà đối số của nó có giá trị
Lớp tiện ích: Là tập hợp các thao tác
Lớp tiện ích tham số: Là lớp tham số chứa tập các thao tác Đó là mẫu để tạo lập ra lớp tiện ích
Lớp tiện ích hiện thực: là lớp tiện ích tham số mà đối số của chúng có giá trị
Metaclass: là lớp mà hiện thực của nó là lớp chứ không phải đối tượng
Ngoài ra trong biểu đồ lớp, Stereotype là cơ chế để phân nhóm lớp Lớp biên (boundary class), Lớp thực thể (Entity class), Lớp điều khiển (Control class)
Biểu đồ chuyển trạng thái (state transition diagram)
Biểu đồ chuyển trạng thái mô tả vòng đời của đối tượng, từ khi nó được sinh ra đến khi bị phá huỷ Biểu đồ cung cấp cách thức mô hình hoá các trạng thái khác nhau của đối tượng Trong khi biểu đồ lớp cung cấp bức tranh tĩnh về các lớp và quan hệ thì biểu đồ chuyển trạng thái được sử dụng
để mô hình hoá các hành vi động của hệ thống, chỉ ra hành vi động của đối tượng
Thông thường không tạo lập biểu đồ chuyển trạng thái cho mọi lớp mà chỉ cho các lớp phức tạp
Biểu đồ chuyển trạng thái bao gồm các thông tin về các trạng thái khác nhau của đối tượng, thể hiện các đối tượng chuyển đổi từ trạng thái này sang trạng thái khác thế nào
Biểu đồ trạng thái có điểm khởi đầu (hình tròn đen) và vài điểm kết thúc (hình tròn đen có đường bao) Các hoạt động trong biểu đồ thì được đặt trong chữ nhật góc tròn
Biểu đồ hoạt động (Activity diagram)
Biểu đồ hoạt động là một dạng đặc biệt của biểu đồ trạng thái, nó chỉ ra một luồng các hoạt động diễn ra từ hoạt động này đến hoạt động khác Biểu đồ hoạt động hướng đến khung nhìn của hệ thống
Biểu đồ thành phần (Component diagram)
Trang 12Biểu đồ thành phần cho ta cái nhìn vật lý của mô hình Cho ta thấy các thành phần phần mềm trong hệ thống và quan hệ giữa chúng Có hai loại thành phần đó là thành phần khả thực và thư viện
Biểu đồ thành phần là biểu đồ UML hiển thị các thành phần của hệ thống và phụ thuộc giữa chúng
Biểu đồ triển khai (Deployment diagram)
Biểu đồ triển khai chỉ ra bố trí vật lý của mạng và các thành phần hệ thống sẽ đặt ở đâu
Thông qua biểu đồ triển khai mà người quản lý dự án, người sử dụng, kiến trúc sư
và đội ngũ triển khai hiểu phân bổ vật lý của hệ thống và các hệ thống con sẽ được đặt
ở đâu
1.1.5 Kiến trúc hệ thống trong UML
Kiến trúc hệ thống phần mềm được mô tả bằng các khung nhìn Các khung nhìn ánh xạ vào tổ chức và cấu trúc hệ thống, mỗi khung nhìn tập trung vào khía cạnh
cụ thể của hệ thống
Khung nhìn ca sử dụng (UC view)
Khung nhìn UC mô tả các chức năng, hành vi và nhiệm vụ của hệ thống Khung nhìn này thể hiện mọi yêu cầu của hệ thống, do vậy khung nhìn này luôn đứng trước mọi khung nhìn khác, được sử dụng để điều khiển, thúc đẩy và thẩm định các công việc của tất cả các giai đoạn trong quá trình phát triển phần mềm
Khung nhìn thiết kế (Design view)
Khung nhìn thiết kế của một hệ thống biểu diễn tổ chức logic các lớp và các quan hệ của chúng với nhau Khung nhìn này mô tả cấu trúc tĩnh của các lớp, các đối tượng và sự liên kết của chúng thể hiện mối liên kết động thông qua trao đổi các thông điệp và được thể hiện trong các biểu đồ lớp, biểu đồ đối tượng, biểu đồ tương tác Khung nhìn thiết kế tập trung vào cấu trúc của hệ thống, từ đó nhận biết được các bộ phận cơ bản cấu thành hệ thống và thể hiện mọi quá trình trao đổi, xử lý thông tin cơ bản trong hệ thống
Khung nhìn cài đặt (Implemetation view)
Khung nhìn cài đặt hay còn gọi là khung nhìn thành phần, khung nhìn thực hiện bao gồm các thành phần và các file được sử dụng để kết hợp và đưa ra các hệ thống vật lý Khung nhìn thành phần bao gồm thành phần, biểu đồ thành phần và gói trong
đó một vài thành phần là thư viện còn một số khác là mã trình khả thực (.exe) và thư viện (.dll)
Trang 13Người quan tâm đến khung nhìn này là người có trách nhiệm quản lý mã trình, dịch chương trình và triển khai ứng dụng
Khung nhìn triển khai (Employment view)
Khung nhìn này tập trung vào phân bổ vật lý của tài nguyên và phân bổ nhiệm
vụ giữa các tài nguyên Liên quan đến triển khai vật lý của hệ thống, khác với kiến trúc logic
Khung nhìn tiến trình (Process view)
Biểu diễn phân tách các luồng thực hiện chương trình, đồng bộ giữa các luồng, phân bổ các đối tượng và lớp cho các luồng thực hiện khác nhau Khung nhìn tiến trình tập trung vào các nhiệm vụ tương tranh với nhau như thế nào trong hệ thống đa nhiệm
1.2 Giới thiệu tiến trình RUP (Rational Unified Process)
RUP là gì? RUP là quy trình công nghệ phần mềm được phát triển bởi hãng Rational RUP hỗ trợ các hoạt động giữa các nhóm, phân chia công việc cho từng thành viên trong nhóm, trong từng giai đoạn khác nhau của quá trình phát triển phần mềm
RUP sử dụng hệ thống ký hiệu trực quan của UML và cũng được phát triển song song với UML
Một tiến trình là tập hợp có thứ tự các bước nhằm đạt được một mục đích có nghĩa là chuyển giao sản phẩm phần mềm phù hợp với yêu cầu nghiệp vụ một cách hiệu quả
UML là một tiến trình độc lập, có thể sử dụng kết hợp với một số tiến trình kỹ nghệ phần mềm RUP là một cách tiếp cận hướng đối tượng phù hợp với UML Mục đích của RUP là cho phép tạo ra sản phẩm phần mềm tốt nhất phù hợp với yêu cầu của người sử dụng với nguồn tài chính và kế hoạch có thể dự tính trước RUP thâu tóm một số áp dụng phát triển phần mềm tốt nhất hiện nay theo hình thức có thể làm thích hợp cho một phạm vi rộng các dự án và các tổ chức
Về phía quản lý, RUP cung cấp một cách tiếp cận có quy tắc về cách phân công công việc và gán trách nhiệm trong một tổ chức phát triển phần mềm
RUP là một quy trình công nghệ phần mềm hoàn chỉnh, hỗ trợ tăng năng suất làm việc theo nhóm
RUP là một tiến trình lặp Đối với các hệ thống đơn giản, việc xác định toàn bộ vấn đề, thiết kế toàn bộ giải pháp, xây dựng phần mềm và kiểm thử sản phẩm cuối
Trang 14cùng có thể đươc thực hiện một cách đầy đủ Tuy nhiên, đối với các hệ thống phức tạp thì việc tiếp cận trực tiếp để phát triển hệ thống là rất khó thực hiện Hệ thống được xây dựng dựa vào cách tiếp cận lặp thông qua các chu kỳ là rất linh hoạt Ngoài ra nó cũng cho phép nhận và giải quyết rủi ro sớm hơn trước và là một tiến trình có thể tuỳ biến
RUP có khả năng tạo, duy trì và quản lý các loại mô hình Các hoạt động của RUP tập trung vào việc tạo ra và bảo trì các mô hình hơn là các tài liệu trên giấy để cực tiểu hoá sự kết hợp việc tạo ra và bảo trì các tài liệu và đồng thời làm cực đại hoá nội dung các thông tin liên quan Các mô hình, đặc biệt là các mô hình được đặc tả bằng UML, nó cung cấp sự biểu diễn giàu ngữ nghĩa cho các phần mềm đang phát triển
Việc phát triển phần mềm RUP là lấy kiến trúc hệ thống làm trung tâm Quá trình tập trung vào sự phát triển trước và dựa trên một kiến trúc phần mềm
Các hoạt động trong RUP được điều khiển bởi ca sử dụng RUP đặt sự quan tâm đặc biệt tới việc xây dựng các hệ thống dựa trên sự hiểu biết về hệ thống được chuyển giao sẽ hoạt động như thế nào Các kí hiệu của ca sử dụng và các kịch bản được sử dụng để định ra luồng tiến trình từ việc nắm bắt yêu cầu đến việc kiểm thử và
để cung cấp các đường đi có thể lần vết thông qua sự phát triển đến hệ thống được chuyển giao
RUP có hướng sử dụng ngôn ngữ UML, hỗ trợ các kỹ thuật hướng đối tượng Mỗi mô hình đều hướng đối tượng Các mô hình RUP dựa trên các khái niệm của các đối tượng, các lớp và mối quan hệ giữa chúng và chúng sử dụng UML như là những
ký hiệu chung
RUP được hỗ trợ bởi nhiều công cụ phát triển phần mềm Và là một quy trình
có thể cấu hình được Mặc dù không có một quá trình đơn nào là thích hợp cho tất cả các tổ chức phát triển phần mềm, nhưng RUP có thể và có thể được chia theo quy mô
để phù hợp với các yêu cầu của dự án trong phạm vi từ các đội phát triển phần mềm nhỏ đến các tổ chức phát triển phần mềm lớn RUP được xây dựng trên một kiến trúc tiến trình đơn giản và rõ ràng, kiến trúc này mang đến sự tương đồng thông qua các tiến trình và chúng có thể thay đổi để thích nghi với các tình huống khác nhau RUP có chứa hướng dẫn về cách định hình các tiến trình cho phù hợp với nhu cầu của một tổ chức
1.2.2 Vòng đời phát triển của phần mềm
Vòng đời phát triển của phần mềm theo RUP được mô tả như sau :
Trang 15Hình 1:Giai Đoạn của phần mềm
RUP được tổ chức theo 2 chiều hay 2 trục: trục hoành và trục tung
- Trục hoành: Tổ chức theo thời gian phát triển dự án, thể hiện khía cạnh động của quy trình Chu kì, các pha, các quá trình lặp và các cột mốc
- Trục tung: Tổ chức theo nội dung công việc, thể hiện khía cạnh tĩnh của quy trình
Hình 2: Vòng đời phát triển phần mềm
RUP xác định sáu luồng công việc chính:
Mô hình hoá nghiệp vụ
Mục đích của luồng công việc này là phát triển một mô hình nghiệp vụ Ý tưởng là đem lại hiểu biết tốt hơn về toàn bộ quá trình nghiệp vụ sao cho ứng dụng phần mềm
có thể đáp ứng những quá trình nghiệp vụ này một cách chính xác hơn Mô hình hoá nghiệp vụ thích hợp nhất trong tình huống mà ở đó hệ thống cần quản lý một lượng lớn thông tin và một nhóm lớn những người liên quan sử dụng nó Mô hình ca sử dụng nghiệp vụ và mô hình đối tượng nghiệp vụ thông thường được tạo ra như là một phần của luồng công việc mô hình hoá nghiệp vụ
Các yêu cầu
Trang 16Mục đích của luồng công việc này là phát triển sự hiểu biết đầy đủ về các yêu cầu
Ý định là đạt được sự nhất trí với khách hàng cũng như cung cấp các hướng dẫn cho những người phát triển Mô hình ca sử dụng có thể được tạo ra như một phần của luồng công việc này Một bản mẫu giao diện người dùng cũng có thể được tạo ra
Phân tích và thiết kế
Các yêu cầu thu được trong luồng công việc được phân tích và được chuyển thành bản thiết kế Một kiến trúc được phát triển để hướng dẫn nỗ lực phát triển còn lại Mô hình phân tích và thiết kế cũng sẽ được tạo ra
Thực hiện
Trong luồng công việc này, bản thiết kế được chuyển sang mã trình thực hiện Một chiến lược phân hệ thống thành các hệ thống con được phát triển Kết quả cuối cùng là một tập các thành phần tạo nên sản phẩm được thực hiện và sẽ được kiểm thử
Kiểm thử
Là quá trình kiểm tra lại toàn bộ hệ thống xem các yêu cầu đã được đáp ứng chưa, các thành phần đã làm việc như mong đợi chưa, tìm ra các thiếu sót vẫn còn trong sản phẩm Kết quả chính thức của luồng công việc này là mô hình kiểm thử và những lỗi được phát hiện trong quá trình kiểm thử
Triển khai
Luồng công việc này tạo rẩn phẩm sẵn sàng hoạt động cho người sử dụng cuối cùng Các công việc trong bước này bao gồm việc đóng gói phần mềm, cài đặt, đào tạo người sử dụng, phân phối sản phẩm
Ngoài sáu luồng chính trên, RUP còn hỗ trợ 3 luồng công việc: quản lý cấu hình và những thay đổi, quản lý dự án và môi trường
Chiều còn lại của RUP là thực hiện việc đưa ra cấu trúc cho các bước lặp trong dự
án phần mềm RUP gộp các bước lặp trong bốn pha Mỗi một pha kết thúc bằng một mốc đánh dấu một vị trí quyết định mức quản lý
Mỗi pha, bước lặp trong một pha luôn có quan hệ đến nhiều luồng công việc Tuỳ thuộc vào bước lặp xác định, một luồng công việc cụ thể có thể tập trung đối với một pha, trái lại các luồng công việc khác có thể thực hiện vai trò nhỏ hơn trong bước lặp này Một bước lặp có thể kéo dài hơn trong luồng công việc các yêu cầu, trong khi bước lặp sau có thể kéo dài hơn trong luồng công việc kiểm thử và ngắn hơn trong luồng công việc các yêu cầu
Các pha trong RUP bao gồm:
Pha khởi đầu
Trang 17 Pha chi tiết
Pha xây dựng
Pha chuyển giao
Mỗi pha bao gồm một số bước lặp mỗi bước lặp là một chu kỳ phát triển hoàn thiện, từ nắm bắt yêu cầu trong phân tích đến thực hiện và kiểm thử
Pha khởi đầu
Trong pha này, chúng ta xây dựng các trường hợp nghiệp vụ và xác định phạm
vi của dự án Các trường hợp nghiệp vụ bao gồm điều kiện dành thắng lợi, đánh giá rủi
ro, dự báo tài nguyên cần thiết và kế hoạch pha của các mốc chính Kết thúc pha này, chúng ta xác định mục đích của dự án và đưa ra các bước cần thiết để tiếp tục phát triển dự án
Pha chi tiết
Mục đích của pha phân tích là phân tích lĩnh vực vấn đề, hình thành nền móng kiến trúc vững chắc, phát triển kế hoạch dự án và loại bỏ những yếu tố rủi ro lớn nhất của dự án Để đạt được mục đích này, các quyết định kiến trúc phải được xây dựng với
sự hiểu biết về toàn bộ hệ thống Muốn vậy, phải mô tả hầu hết các yêu cầu của hệ thống Để kiểm tra kiến trúc, cần thực hiện một hệ thống minh họa kiến trúc đã chọn
và thực hiện các ca sử dụng chính
Kết thúc pha này, chúng ta phải xác định được mục đích chi tiết của hệ thống, phạm vi, sự lựa chọn kiến trúc, giải pháp cho những rủi ro chính, đồng thời đưa ra quyết định xem có tiếp tục xây dựng dự án nữa không
Pha chuyển giao
Trong pha này, chúng ta tiến hành triển khai phần mềm tới người sử dụng Một khi hệ thống được trao cho người sử dụng Một khi hệ thống được trao cho người sử dụng, các vấn đề thường nảy sinh đòi hỏi phát triển thêm để điều chỉnh hệ thống, làm đúng những vấn đề chưa được phát hiện hoặc loại bỏ những đặc tính đã bị trì hoãn Pha này bắt đầu bằng phiên bản loại hai của hệ thống, sau đó thì được thay thế bằng hệ thống sản phẩm
Trang 18Kết thúc pha , chúng ta phải đánh giá xem mục đích của dự án đã thoả mãn chưa và liệu chúng ta có nên bắt đầu một chu kỳ phát triển khác
2 Quy trình quản lý ký túc xá
2.1 Kiểm soát và đôn đốc việc đóng tiền nội trú
− Hàng ngày Giám đốc phụ trách ký túc xá, căn cứ các thông số của danh sách sinh viên trên mạng, lọc ra những HS-SV chưa đóng tiền nội trú, in thành danh sách của từng khu, giao Nhà trưởng
− Nhà trưởng từng khu đôn đốc SV đóng tiền nội trú (trên cơ sở danh sách phòng cung cấp)
− Gia hạn đóng tiền đối với những trường hợp đặc biệt khó khăn do Phó Giám đốc xem xét giải quyết
2.2 Hoàn chỉnh thủ tục hồ sơ nội trú
− Bộ phận Ký túc xá lập danh sách chính thức :
- Bộ phận Ký túc xá lập danh sách chính thức 5 ngày kể từ thời điểm bắt
đầu năm học mới
- Đối với sinh viên khóa mới 10 ngày (kể từ ngày tuyển nguyện vọng 2)
− Nhà trưởng lập danh sách sinh viên các phòng ở nội trú thuộc khu vực được giao phụ trách (theo mẫu) (Hoàn chỉnh trước ngày thứ 15 kể từ ngày tuyển nguyện vọng 2 (khóa mới))
− Phó Giám đốc phụ trách KTX, đối chiếu số liệu giữa danh sách của Nhà trưởng
và danh sách đang quản lý trên mạng, chỉnh sửa những số liệu chưa khớp, báo cáo Giám hiệu
− Nhà trưởng lập album ảnh từng phòng ở
− Bộ phận KTX làm thẻ sinh viên nội trú :
- Phụ trách bộ phận KTX lập và in mẫu thẻ nội trú
- Nhà trưởng viết các thông tin, dán ảnh vào thẻ
- PGĐ kiểm tra và ký chứng thực, chuyển văn thư đóng dấu
- Nhà trưởng ép Plastic và trao đến từng sinh viên nội trú
2.3 Ký kết hợp đồng nội trú
− Phó Giám đốc lập và in mẫu hợp đồng
− Nhà trưởng ghi đầy đủ các mục trong hợp đồng và chuyển cho đại diện phòng ở của SV ký
− Nhà trưởng được ủy quyền của GĐ ký hợp đồng nội trú
− Nhà trưởng chuyển hợp đồng đã ký kết cho SV và theo dõi quá trình thực hiện hợp đồng
Trang 192.4 Quản lý trật tự trị an khu KTX
− Nhà trưởng lập kế hoạch trực KTX và tổ chức trực (thực hiện lịch trực):
- Theo dõi, kiểm tra, đôn đốc, nhắc nhở HS-SV nội trú thực hiện tốt nội
quy, quy chế, xây dựng nếp sống văn hóa; chấn chỉnh những biểu hiện lệch lạc chưa đúng quy chế, phát hiện và xử lý người ngoài vào ở trái phép trong KTX
- Tiếp nhận những ý kiến đề nghị của sinh viên, giải thích trong phạm vi
quyền hạn cho phép, ghi nhận và báo cáo lên lãnh đạo Trung tâm những vấn đề vượt quá giới hạn
- Quản lý các cửa ra vào của các KTX cao tầng , đóng cửa lúc 23 giờ, mở
cửa lúc 5 giờ
- Viết nhật ký: khái quát tình hình ca trực, những vấn đề cần tiếp tục theo
dõi giải quyết, ý kiến đề xuất
- Chỉ đạo, xử lý: Phó Giám đốc nhận báo cáo từ Nhà trưởng, kết hợp với
các nguồn thông tin khác và tùy tình hình để đưa ra giải pháp hợp lý
2.5 Đăng ký nhận xét vào sổ quản lý sinh viên
kế hướng đối tượng, nó hỗ trợ các giao thức web mới như SOAP, WSDL và UDDL Nền tảng NET được phân thành 4 nhóm sản phẩm riêng biệt :
- Các công cụ phát triển: Một tập các ngôn ngữ bao gồm C# và VB.NET, một tập
các công cụ phát triển bao gồm Visual Studio.NET, một thư viện các lớp toàn diện dành cho việc xây dựng các dịch vụ Web, Web và các ứng dụng Windows, thêm vào
đó còn có CLR (Common Language Runtime) dùng để thực thi các đối tượng được xây dựng bởi nền tảng NET
- Các phần mềm Server chuyên dụng: Một tập hợp của NET Enterprise Server,
trước đây được biết như SQL Server 2000, Exchange 2000…nó cung cấp các chức năng chuyên dụng để lưu trữ dữ liệu quan hệ, email và B2B
Trang 20- Các dịch vụ Web: Trước đây được giới thiệu như dự án HailStorm, với một chi phí
nào đó, những nhà phát triển có thể sử dụng những dịch vụ đã được viết sẵn này để xây dựng những ứng dụng có yêu cầu về thẩm định danh người dùng
Nền tảng NET còn cung cấp các công cụ bổ sung giúp tiết kiệm thời gian phát triển phần mềm nói chung, cũng như các API (giao diện lập trình ứng dụng) mà lập trình viên có thể sử dụng để dễ dàng tương tác với các dịch vụ cụ thể khác, ví dụ như Windows Store Thay vì phải tự viết tất cả những dòng lệnh để ứng dụng theo chuẩn UWP (universal Windows platform - chuẩn ứng dụng mới của Microsoft), lập trình viên chỉ cần sử dụng NET Framework
3.2 Kiến trúc của Net Framework
Thành phần nằm giữa bên trái là một loạt các sản phẩm của NET Enterprise Server nhằm đơn giản hoá và rút ngắn thời gian để phát triển và điều hành các hệ thống kinh doanh lớn Các sản phẩm bao gồm Internet Security and Acceleration Server 2000 và SQL Server 2000…
Thành phần trên cùng của kiến trúc NET là một nhánh của công cụ phát triển mới được gọi là Visual Studio.NET, nó có khả năng phát triển nhanh chóng các dịch
vụ web và các ứng dụng khác Kế vị của Microsoft Visual Studio 6.0, Visual Studio.NET là một môi trường phát triển tích hợp IDE (Integrated Development Environment), nó hỗ trợ 4 ngôn ngữ khác nhau, các tính năng như gỡ rối ngôn ngữ
Visual Studio NET
Operating System on Server, desktop, and
devices
.NET Enterprise Servers
.NET FrameWork
.NET Building Block Services
Trang 21chéo, trình soạn thảo sơ đồ XML , hỗ trợ các nền tảng Window 32-bit lẫn 64-bit và nền tảng NET Framework mới
Trung tâm của nền tảng NET là Microsoft NET Framework Nó là một phát minh mới và kiến trúc của nó đã thay đổi sự phát triển của các ứng dụng kinh doanh trên nền tảng Windows, đặc biệt là các dịch vụ Web Nó bao gồm CLR (Common Language Runtime) và FCL (Framework Class Library) có thể sử dụng trong tất cả các ngôn ngữ NET
Hình 4: Microsoft NET Framework
Phần quan trọng nhất của NET Framework là CLR CLR có vai trò tương tự như Java Virtual Machine CLR kích hoạt các đối tượng, áp dụng các kiểu kiểm tra bảo mật trên chúng, bố trí chúng vào vùng nhớ, thi hành chúng và thực hiện việc thu gom rác
Một cách khái niệm thì CLR và JVM là tương tự nhau Chúng đều là những nền tảng runtime, và làm trừu tượng hoá các nền tảng khác nhau bên dưới Trong khi JVM
hỗ trợ cho ngôn ngữ Java thì CLR hỗ trợ cho tất cả các ngôn ngữ được trình bày trong CIL (Common Intermedia Language) JVM thực thi các bytecode vì vậy nó cũng có thể hỗ trợ kỹ thuật nhiều ngôn ngữ khác nhau Không giống như bytecode của Java, IL không bao giờ được biên dịch Một khái niệm khác nhau giữa hai nền tảng này là mã Java có thể chạy trên các nền khác nhau miễn là có JVM Còn mã NET chỉ chạy duy nhất trên nền Windows với CLR Những Microsoft cũng có đưa ra kiến trúc hạ tầng ngôn ngữ chung CLI(Common Language Infrastructure) có chức năng như một tập con của CLR, vì vậy các hãng phát triển thứ ba, trên lý thuyết có thể thực thi CLR trên một nền tảng khác với Windows
Common Language Runtime Framework Base Classes
Data and XML classes (ADO.NET, SQL, XSLT, Xpath,XML…)
Web Services
Windows Forms Web Forms
Windows Platform
Trang 223.3 Ứng dụng nền tảng NET trong xây dựng các phần mềm quản lý
Nền tảng NET là một công nghệ được sử dụng rộng rãi trong lĩnh vực phát triển ứng dụng Với những tính năng nổi bật như:
- Cung cấp các thư viện lập trình lớn, hỗ trợ việc lập trình và xây dựng phần mềm như lập trình giao diện, truy cập kết nối cơ sở dữ liệu, ứng dựng web, các giải thuật, cấu trúc dữ liệu, giao tiếp mạng
- Tối ưu hóa việc viết và phát triển ứng dụng
- Tương thích với nhiều công cụ hỗ trợ phần mềm và windows
tới 27 ngôn ngữ tính toán phổ biến nhất) và chúng có khả nǎng tích hợp chặt chẽ với nhau
evidence-based rất tinh vi
- Dễ cài đặt và nâng cấp
Hiện nay, NET được các chuyên gia kĩ thuật và các lập trình viên sử dụng rất nhiều trong việc xây dựng, phát triển các ứng dụng phần mềm, đặc biệt là các phần mềm quản lý
Trang 23CHƯƠNG II : PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 2.1 Phân tích hệ thống
2.1.1 Mô tả hệ thống
2.1.1.1 Mô tả nghiệp vụ hệ thống
Hệ thống quản lý ký túc xá thực hiện các công tác nghiệp vụ như sau :
✔ Quản lý các phòng tại các khu nhà ký túc xá
✔ Quản lý sinh viên, tiếp nhận đăng ký phòng ở và sắp xếp phòng ở cho các sinh viên
✔ Theo dõi và quản lý việc tuân thủ các quy tắc, nội quy ký túc xá của sinh viên
✔ Quản lý tài chính dịch vụ liên quan tới điện nước và các khoản thu khác trong ký túc xá như tiền phòng, tiền điện nước, tiền internet, v.v…
✔ Quản lý quyền truy cập người dùng
Hình 5: Mô hình nghiệp vụ hệ thống
2.1.1.2 Đánh giá hiện trạng và đề xuất giải pháp
- Xây dựng một hệ thống tích hợp, đồng bộ, đảm bảo các hoạt động quản lý trong
kí túc xá được thống nhất, chính xác, nhanh chóng, giảm chi phí quản lý Phù hợp với
mô hình quản lý sinh viên nội trú trong trường ĐH Lâm Nghiệp hiện nay
- Hệ thống được xây dựng đáp ứng công tác nghiệp vụ cho các đối tượng : Cán
bộ quản lí kí túc xá, cán bộ quản sinh và sinh viên…
Trang 24- Phần mềm được xây dựng trên mô hình Client/Server, cơ sở dữ liệu đầy đủ, thống nhất, tập trung đáp ứng được khả năng khai thác trên LAN cho tất cả các đối tượng
2.1.2 Phân tích hệ thống và xác định yêu cầu
Hình 6: Mô hình nghiệp vụ các actor
Trang 25Bảng 6: Actor và Use case.
2.1.2.4 Mô hình Use case hệ thống
* Biểu đồ Use case mức tổng quát của Quản lý ký túc xá
Hình 7:Sơ đồ Use case mức tổng quát của hệ thống