Tải bản đầy đủ (.pdf) (92 trang)

TÌM HIỂU MÔ HÌNH MVVM VÀ CÔNG CỤ ĐA NỀN XAMARIN XÂY DỰNG PHẦN MỀM QUẢN LÝ KHO XEM BÁO CÁO TRÊN THIẾT BỊ DI ĐỘNG - Full 10 điểm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.79 MB, 92 trang )

UBND TỈNH QUẢNG NAM
TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA CÔNG NGHỆ THÔNG TIN

----------

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Tên đề tài: TÌM HIỂU MƠ HÌNH MVVM VÀ
CÔNG CỤ ĐA NỀN XAMARIN

XÂY DỰNG PHẦN MỀM QUẢN LÝ KHO
XEM BÁO CÁO TRÊN THIẾT BỊ DI ĐỘNG

Sinh viên thực hiện
NGUYỄN THỊ YẾN NHI

MSSV: 2113021019
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

KHÓA: 2013 – 2017
Cán bộ hướng dẫn

ThS. HUỲNH TẤN KHẢI
MSCB: 1245

Quảng Nam, tháng 4 năm 2017

MỤC LỤC

Phần 1. MỞ ĐẦU ................................................................................................ 1


1. Lý do chọn đề tài ................................................................................... 1
2. Mục tiêu của đề tài ................................................................................ 1
3. Đối tượng và phạm vi nghiên cứu ......................................................... 2
4. Phương pháp nghiên cứu ....................................................................... 2
5. Đóng góp của đề tài ............................................................................... 2
6. Cấu trúc của đề tài ................................................................................. 2

Phần 2. NỘI DUNG NGHIÊN CỨU ................................................................. 3
Chương 1. CƠ SỞ LÝ THUYẾT ....................................................................... 3

1.1. Tổng quan về phân tích và thiết kế hướng đối tượng............................ 3
1.1.1. Cơ bản về phân tích thiết kế hướng đối tượng................................ 3
1.1.2. Mục đích của mơ hình hướng đối tượng ......................................... 4
1.1.3. Sử dụng UML để phát triển phần mềm hệ thống ............................ 5
1.1.4. Các biểu đồ (Diagram) ................................................................... 6
1.1.5. Các quan sát (Các kiểu xem) .......................................................... 8

1.2. Giới thiệu về Entity Framework Code First .......................................... 9
1.2.1. Entity Framework Code First là gì? ............................................... 9
1.2.2. Cài đặt Entity Framework............................................................. 10
1.2.3. Tạo cơ sở dữ liệu từ Entity Framework ........................................ 12

1.3. Giới thiệu về Visual Studio 2015 ........................................................ 13
1.4. Giới thiệu về Microsoft SQL Server 2016 .......................................... 14
1.5. Giới thiệu về mơ hình MVVM ............................................................ 15

1.5.1. Giới thiệu....................................................................................... 15
1.5.2. Các thành phần của mơ hình MVVM............................................ 15
1.5.3. Các điểm chính về mơ hình MVVM .............................................. 16
1.5.4. Ứng dụng và lợi ích của mơ hình MVVM ..................................... 17

1.6. Giới thiệu lập trình di động ................................................................. 17
1.7. Cơng nghệ lập trình đa nền tảng Xamarin........................................... 17
1.7.1. Giới thiệu về lập trình đa nền tảng ............................................... 17
1.7.2. Giới thiệu về Xamarin ................................................................... 18
1.7.3. Tại sao nên chọn lập trình di động với Xamarin? ........................ 18

1.7.4. Đặc điểm của Xamarin.................................................................. 19
1.7.5. Kiến trúc của Xamarin .................................................................. 20
1.7.6. Mơi trường phát triển.................................................................... 20
Chương 2. PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH ...................... 21
2.1. Phân tích hệ thống phần mềm ............................................................. 21
2.1.1. Use Case........................................................................................ 21
2.1.2. Đặt tả Use Case ............................................................................ 22
2.1.3. Thiết kế các lớp ............................................................................. 42
2.1.4. Biểu đồ cộng tác............................................................................ 48
2.1.5. Biểu đồ lớp .................................................................................... 53
2.1.6. Biểu đồ trạng thái.......................................................................... 63
2.1.7. Biểu đồ thành phần và biểu đồ triển khai. .................................... 66
2.2. Ứng dụng công nghệ Xamarin kết hợp cùng mơ hình MVVM vào dự
án ............................................................................................................. 68
2.2.1. Cách thức lấy dữ liệu cho ứng dụng ............................................. 68
2.2.2. Mô tả cách thiết kế mã nguồn 1 module trong ứng dụng Xamarin
với Visual Studio ......................................................................................... 68
Chương 3. XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ KHO VÀ XEM
BÁO CÁO TRÊN THIẾT BỊ DI ĐỘNG......................................................... 70
3.1. Chương trình Quản lý kho................................................................... 70
3.1.1. Form đăng nhập ............................................................................ 70
3.1.2. Form Main .................................................................................... 70
3.1.3. Form nhân viên ............................................................................. 71
3.1.4. Form khách hàng .......................................................................... 71

3.1.5. Form kho hàng .............................................................................. 72
3.1.6. Form đơn vị tính............................................................................ 72
3.1.7. Form nhóm sản phẩm.................................................................... 73
3.1.8. Form sản phẩm ............................................................................. 73
3.1.9. Form phiếu thu .............................................................................. 74
3.1.10. Form phiếu chi ........................................................................... 74
3.1.11. Form phiếu nhập........................................................................ 75
3.1.12. Form phiếu xuất ......................................................................... 75
3.1.13. Form báo cáo tồn kho ................................................................ 76

3.1.14. Form báo cáo tổng hợp công nợ................................................ 77
3.1.15. Form báo cáo chi tiết công nợ ................................................... 78
3.2. Kết quả báo cáo trên thiết bị di động .................................................. 79
Phần 3. KẾT LUẬN VÀ KIẾN NGHỊ ............................................................ 82
1. Kết luận ....................................................................................................... 82
2. Kiến nghị ..................................................................................................... 82
Phần 4. TÀI LIỆU THAM KHẢO .................................................................. 83

DANH MỤC BIỂU MẪU, HÌNH ẢNH

Hình 1.1. Các bản vẽ trong OOAD sử dụng UML ............................................... 7
Hình 1.2. Các View trong OOAD sử dụng UML ................................................. 9
Hình 1.3. Kiến trúc của Entity Framework ......................................................... 10
Hình 1.4. Mối quan hệ giữa các thành phần trong mơ hình MVVM.................. 16
Hình 1.5. Minh họa q trình hình thành và phát triển Xamarin........................ 18
Hình 1.6. Mơ hình kiến trúc của Xamarin .......................................................... 20
Hình 2.1. Sơ đồ Use Case tổng quát Quản lý kho hàng...................................... 22
Hình 2.2. Biểu đồ tuần tự cho ca sử dụng đăng nhập ......................................... 48
Hình 2.3. Biểu đồ tuần tự cho ca sử dụng quản lý nhân viên ............................. 49
Hình 2.4. Biểu đồ tuần tự cho ca sử dụng quản lý sản phẩm.............................. 49

Hình 2.5. Biểu đồ tuần tự cho ca sử dụng quản lý phiếu thu .............................. 50
Hình 2.6. Biểu đồ tuần tự cho ca sử dụng quản lý phiếu chi .............................. 50
Hình 2.7. Biểu đồ tuần tự cho ca sử dụng quản lý phiếu nhập ........................... 51
Hình 2.8. Biểu đồ tuần tự cho ca sử dụng quản lý phiếu xuất ............................ 51
Hình 2.9. Biểu đồ tuần tự cho ca sử dụng quản lý báo cáo thống kê.................. 52
Hình 2.10. Biểu đồ lớp ........................................................................................ 53
Hình 2.11. Cơ sở dữ liệu quản lý kho hàng ........................................................ 62
Hình 2.12. Biểu đồ trạng thái lớp nhân viên ....................................................... 63
Hình 2.13. Biểu đồ trạng thái lớp sản phẩm ....................................................... 63
Hình 2.14. Biểu đồ trạng thái lớp phiếu thu........................................................ 64
Hình 2.15. Biểu đồ trạng thái lớp phiếu chi ........................................................ 64
Hình 2.16. Biểu đồ trạng thái lớp phiếu nhập ..................................................... 65
Hình 2.17. Biểu đồ trạng thái lớp phiếu xuất ...................................................... 65
Hình 2.18. Biểu đồ trạng thái lớp báo cáo thống kê ........................................... 66
Hình 2.19. Biểu đồ thành phần............................................................................ 67
Hình 2.20. Biểu đồ triển khai .............................................................................. 67
Hình 2.21. Mơ hình truyền dữ liệu cho ứng dụng............................................... 68
Hình 2.22. Tầng Molels của 1ớp "sanpham"...................................................... 68
Hình 2.23. Tầng ViewModel của 1ớp "sanpham" .............................................. 69

Hình 2.24. Mã XAML trong thiết kế tầng View cho lớp "sanpham" (sản phẩm).
............................................................................................................................. 69
Hình 3.1. Form đăng nhập................................................................................... 70
Hình 3.2. Form chính .......................................................................................... 70
Hình 3.3. Form nhân viên.................................................................................... 71
Hình 3.4. Form khách hàng ................................................................................. 71
Hình 3.5. Form kho hàng .................................................................................... 72
Hình 3.6. Form đơn vị tính.................................................................................. 72
Hình 3.7. Form nhóm sản phẩm.......................................................................... 73
Hình 3.8. Form sản phẩm .................................................................................... 73

Hình 3.9. Form phiếu thu .................................................................................... 74
Hình 3.10. Form phiếu chi .................................................................................. 74
Hình 3.11. Form phiếu nhập ............................................................................... 75
Hình 3.12. Form phiếu xuất ................................................................................ 75
Hình 3.13. Form báo cáo tồn kho........................................................................ 76
Hình 3.14. In báo cáo tồn kho ............................................................................. 76
Hình 3.15. Form cơng nợ tổng hợp ..................................................................... 77
Hình 3.16. In cơng nợ tổng hợp .......................................................................... 77
Hình 3.17. Form cơng nợ chi tiết ........................................................................ 78
Hình 3.18. In cơng nợ chi tiết.............................................................................. 78
Hình 3.19. Giao diện chính của ứng dụng .......................................................... 79
Hình 3.20. Trang danh sách sản phẩm ................................................................ 79
Hình 3.21. Trang báo cáo cơng nợ nhà cung cấp................................................ 80
Hình 3.22. Trang báo cáo cơng nợ khách hàng................................................... 80
Hình 3.23. Trang báo cáo hàng tồn kho .............................................................. 81

DANH MỤC TỪ VIẾT TẮT

Từ viết tắt Viết đầy đủ Nghĩa tiếng Việt (nếu có)
Trình điều khiển
C Controler

I Interface Giao diện
DN Đăng nhập
NV Nhân viên
NQL Người quản lý
QLPT Quản lý phiếu thu
QLPC Quản lý phiếu chi
QLPN Quản lý phiếu nhập
QLPX Quản lý phiếu xuất


QLSP Quản lý sản phẩm Phân tích và thiết kế hướng đối
NSD tượng
OOAD Người sử dụng
QLNV Ngôn ngữ UML
BCTK Object Oriented Analysis Quá trình hợp nhất
UML and Design Quá trình phát triển phần
UP Quản lý nhân viên mềm hợp nhất
USDP Thiết kế hướng lĩnh vực
DDD Báo cáo thống kê
API Giao diện lập trình ứng dụng
UC Unified Modeling Language Ca sử dụng
RUP Quá trình phát triển hợp nhất
Unified Process

Unified Software
Development Process
Domain Driven Design

Application Programming
Interface
Use Case

Rational Unified Process

SQL Structured Query Language Ngôn ngữ truy vấn mang tính cấu trúc

LỜI CẢM ƠN

Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn và giúp đỡ tận tình

của thầy Huỳnh Tấn Khải, giảng viên khoa Công nghệ thông tin trường đại học
Quảng Nam.

Trong suốt thời gian thực hiện báo cáo khóa luận tốt nghiệp, mặc dù rất bận
rộn trong công việc nhưng thầy vẫn dành nhiều thời gian và tâm huyết trong
việc hướng dẫn em. Thầy đã cung cấp cho em rất nhiều hiểu biết về lĩnh vực
mới khi em mới bắt đầu bước vào thực hiện khóa luận.

Trong quá trình thực hiện bài báo cáo này, thầy ln định hướng, góp ý và
sửa chữa những chỗ sai giúp em không bị lạc lối trong biển kiến thức rộng lớn.
Cho đến hơm nay, đề tài khóa luận của em đã được hồn thành, cũng nhờ sự
nhắc nhở, đơn đốc, sự giúp đỡ nhiệt tình của thầy.

Em xin chân thành cảm ơn các thầy cô và bạn bè trong khoa Công nghệ
thông tin đã giúp đỡ để bài báo cáo của em được hoàn chỉnh hơn.

Tuy nhiên, do thời gian có hạn cũng như kiến thức cịn non yếu, đề tài báo
cáo sẽ không thể tránh khỏi những thiếu sót nhất định. Em rất mong nhận được
sự góp ý của Q thầy, cơ và bạn đọc để bài báo cáo được hoàn thiện hơn.

Phần 1. MỞ ĐẦU

1. Lý do chọn đề tài
Ngày nay, công nghệ thông tin được xem là một ngành mũi nhọn của quốc

gia, đặc biệt là các nước đang phát triển, tiến hành cơng nghiệp hóa - hiện đại
hóa như nước ta. Sự bùng nổ thông tin và sự phát triển mạnh mẽ của cơng nghệ
kỹ thuật số, muốn phát triển thì phải áp dụng công nghệ vào tất cả các ngành,
các lĩnh vực.


Các hệ thống phần mềm ngày càng trở nên dễ sử dụng và thời gian xử lý
các yêu cầu được rút ngắn hơn, hướng tới sự tự động hóa cao. Do vậy, việc phát
triển phần mềm khơng chỉ địi hỏi về sự chính xác của số liệu, nghiệp vụ mà còn
phải đáp ứng yêu cầu về tốc độ, giao diện tối ưu, phải mô hình hóa được thực tế
vào ứng dụng để người dùng và các hệ thống phần mềm có độ tương tác cao, an
tồn, thân thiện và bảo mật hơn… Từ đó giúp tiết kiệm thời gian, công sức của
con người, tăng độ chính xác và hiệu quả trong q trình xử lý công việc.

Sự ra đời của các thiết bị di động thông minh chạy trên hệ điều hành iOS,
Android, Windows Phone đã mang lại cuộc cách mạng lớn về cách thức sử dụng
thiết bị di động trong cuộc sống và công việc. Hiện nay số lượng thiết bị cầm tay
đã vượt qua số lượng máy tính cá nhân. Điều này đã thực sự mở ra một kỷ
nguyên công nghệ mới. Nhu cầu ứng dụng công nghệ di động để hỗ trợ cho
công việc và cuộc sống đang trở thành một yêu cầu cấp thiết. Từ đó lập trình
ứng dụng di động (mobile apps) đang là xu hướng mạnh mẽ, nó đã thúc đẩy nền
cơng nghiệp lập trình mobile tìm kiếm cách thức mới để truyền tải được những
ứng dụng đến người dùng 1 cách nhanh chóng.

Vì vậy, trong bài báo cáo này em đã chọn đề tài: “Tìm hiểu mơ hình
MVVM và cơng cụ đa nền Xamarin. Xây dựng phần mềm Quản lý kho xem
báo cáo trên thiết bị di động” với sự hướng dẫn của thầy Huỳnh Tấn Khải để
báo cáo khóa luận tốt nghiệp của mình.

2. Mục tiêu của đề tài
Tìm hiểu về phân tích thiết kế hướng đối tượng.

Trang 1

Tìm hiểu về mơ hình MVVM.
Tìm hiểu công cụ đa nền Xamarin.

Xây dựng phần mềm Quản lý kho kết hợp xem báo cáo trên thiết bị di
động.
3. Đối tượng và phạm vi nghiên cứu
Nghiên cứu về phân tích thiết kế hướng đối tượng dựa trên UML.
Nghiên cứu kiến trúc lập trình Entity Framework Code-First.
Nghiên cứu mơ hình MVVM kết hợp cơng nghệ lập trình đa nền Xamarin.
Môi trường phát triển: Visual Studio 2015, hệ quản trị cơ sở dữ liệu: SQL
Server 2016.
Xây dựng Phần mềm Quản lý kho, xây dựng ứng dụng xem số liệu báo
cáo trên ứng dụng di động.

4. Phương pháp nghiên cứu
Thu thập thông tin liên quan đến đề tài từ việc tìm kiếm tài liệu phân tích
thiết kế hướng đối tượng ở trường, thư viện, Internet, …
Đọc tài liệu, chọn những công cụ cần thiết cho việc thiết kế hệ thống và
xây dựng phần mềm.

5. Đóng góp của đề tài
Hiện nay hầu hết các hệ thống phần mềm của doanh nghiệp đang hoạt động

cố định dựa trên nền tảng máy tính PC truyền thống và chưa thể tương tác được
với các thiết bị di động như: điện thoại thơng minh, máy tính bảng, v.v. Vì vậy,
sự kết hợp giữa các ứng dụng trên thiết bị di động với hệ thống phần mềm có
sẵn trên máy tính PC sẽ giúp cho doanh nghiệp tiết kiệm được thời gian, nâng
cao hiệu quả trong ứng dụng công nghệ thông tin. Giúp người quản lý thuận tiện
hơn trong việc điều hành doanh nghiệp của mình.

6. Cấu trúc của đề tài
Ngoài phần mở đầu và kết luận, phần nội dung gồm ba chương:
 Chương 1: Cơ sở lý thuyết.

 Chương 2: Phân tích và thiết kế chương trình.

Trang 2

 Chương 3: Xây dựng chương trình quản lý kho và xem báo cáo trên thiết
bị di động.

Phần 2. NỘI DUNG NGHIÊN CỨU

Chương 1. CƠ SỞ LÝ THUYẾT

1.1. Tổng quan về phân tích và thiết kế hướng đối tượng

1.1.1. Cơ bản về phân tích thiết kế hướng đối tượng

a. Khái niệm về phân tích và thiết kế hướng đối tượng (Object Oriented
Analysis and Design – OOAD)

Trong kỹ nghệ phần mềm để sản xuất được một sản phẩm phần mềm người
ta chia quá trình phát triển sản phẩm ra nhiều giai đoạn như: thu thập và phân
tích yêu cầu, phân tích và thiết kế hệ thống, phát triển, kiểm thử, triển khai và
bảo trì. Trong đó, giai đoạn phân tích, thiết kế bao giờ cũng là giai đoạn khó
khăn và phức tạp nhất. Giai đoạn này giúp chúng ta hiểu rõ yêu cầu đặt ra, xác
định giải pháp, mô tả chi tiết giải pháp. Nó trả lời 2 câu hỏi What (phần mềm
này làm cái gì?) và How (làm nó như thế nào?).

Để phân tích và thiết kế một phần mềm thì có nhiều cách làm, một trong
những cách làm đó là xem hệ thống gồm những đối tượng sống trong đó và
tương tác với nhau. Việc mô tả được tất cả các đối tượng và sự tương tác của
chúng sẽ giúp chúng ta hiểu rõ hệ thống và cài đặt được nó. Phương thức này

gọi là Phân tích thiết kế hướng đối tượng (OOAD).

b. Giới thiệu về UML (Unified Modeling Language)
UML là ngôn ngữ mơ hình hóa hợp nhất dùng để biểu diễn hệ thống. Nói

một cách đơn giản là nó dùng để tạo ra các bản vẽ nhằm mô tả thiết kế hệ thống.
Các bản vẽ này được sử dụng để các nhóm thiết kế trao đổi với nhau cũng như
dùng để thi công hệ thống (phát triển), thuyết phục khách hàng, các nhà đầu tư,
v.v. (Giống như trong xây dựng người ta dùng các bản vẽ thiết kế để hướng dẫn
và kiểm sốt thi cơng).

c. Tại sao phải sử dụng OOAD và UML

Trang 3

OOAD cần các bản vẽ để mơ tả hệ thống được thiết kế, cịn UML là ngôn
ngữ mô tả các bản vẽ nên cần nội dung thể hiện. Do vậy, chúng ta phân tích và
thiết kế theo hướng đối tượng và sử dụng UML để biểu diễn các thiết kế đó nên
chúng thường đi đôi với nhau.

UML sử dụng để vẽ cho nhiều lĩnh vực khác nhau như phần mềm, cơ khí,
xây dựng, v.v. trong phạm vi bài viết này chỉ nghiên cứu cách sử dụng UML
cho phân tích và thiết kế hướng đối tượng trong ngành phần mềm. OOAD sử
dụng UML bao gồm các thành phần sau:

- View (góc nhìn)
- Diagram (bản vẽ)
- Notations (ký hiệu)
- Mechanisms (qui tắc, cơ chế)


1.1.2. Mục đích của mơ hình hướng đối tượng

Mơ hình được các hệ thống (không chỉ hệ thống phần mềm) và sử dụng
được tất cả các khái niệm hướng đối tượng một cách thống nhất.

Cho phép đặc tả, hỗ trợ để đặc tả tường minh (trực quan) mối quan hệ giữa
các khái niệm cơ bản trong hệ thống, đồng thời mô tả được mọi trạng thái hoạt
động của hệ thống đối tượng. Nghĩa là cho phép mơ tả được cả mơ hình tĩnh lẫn
mơ hình động một cách đầy đủ và trực quan.

Tận dụng được những khả năng sử dụng lại và kế thừa ở phạm vi diện rộng
để xây dựng được những hệ thống phức tạp và nhạy cảm như: các hệ thống
động, hệ thống thời gian thực, hệ thống nhúng thời gian thực, v.v. Tạo ra những
ngôn ngữ mơ hình hố sử dụng được cho cả người lẫn máy tính.

Tóm lại, UML là ngơn ngữ mơ hình hố, ngơn ngữ đặc tả và ngơn ngữ xây
dựng mơ hình trong q trình phát triển phần mềm, đặc biệt là trong phân tích và
thiết kế hệ thống hướng đối tượng. UML là ngôn ngữ hình thức, thống nhất và
chuẩn hố mơ hình hệ thống một cách trực quan. Nghĩa là các thành phần trong
mơ hình được thể hiện bởi các ký hiệu đồ hoạ, biểu đồ và thể hiện đầy đủ mối
quan hệ giữa các chúng một cách thống nhất và có logic chặt chẽ.

Trang 4

1.1.3. Sử dụng UML để phát triển phần mềm hệ thống

UML được phát triển để đặc tả quá trình phát triển phần mềm, nhằm mơ
hình hố hệ thống. Q trình phát triển phần mềm này gọi là quá trình phát triển
phần mềm hợp nhất (USDP) hay quá trình phát triển hợp nhất (RUP), gọi tắt
là quá trình hợp nhất (UP).


RUP là tập các quy tắc hướng dẫn về phương diện kỹ thuật và tổ chức để
phát triển phần mềm, nhấn mạnh chủ yếu vào các bước phân tích và thiết kế.

RUP được cấu trúc theo hai chiều:
1. Chiều thời gian: chia quá trình thành các pha thực hiện và các bước lặp,
bao gồm các pha thực hiện:

(i)Khởi động (Inception): xác định dự án tổng thể
(ii) Soạn thảo dự án tỉ mỉ (Elaboration):

+ Lập kế hoạch cho những hoạt động cần thiết
+ Xác định những tài nguyên cần để thực hiện dự án
+ Xác định các tính chất, đặc trưng của dự án
+ Xây dựng kiến trúc cho hệ thống.
(iii) Xác định những sản phẩm ở mỗi pha thực hiện.
(iv)Chuyển giao: cung cấp sản phẩm cho cộng đồng người sử dụng.
2. Chiều thành phần: các sản phẩm cùng với các hoạt động được xác định
đầy đủ, bao gồm các hoạt động:
+ Mô hình hố nghiệp vụ: thiết lập các khả năng của hệ thống cần xây
dựng và nhu cầu của người sử dụng.
+ Phân tích các yêu cầu: chi tiết các yêu cầu chức năng và phi chức năng
của hệ thống.
+ Phân tích thiết kế hệ thống: mơ tả hệ thống thực hiện các yêu cầu và
hỗ trợ cài đặt.
+ Cài đặt chương trình: lập trình những kết quả thiết kế nêu trên để hệ
thống hoạt động đúng theo yêu cầu.
+ Kiểm thử, kiểm chứng các thành phần và toàn bộ hệ thống.

Trang 5


+ Triển khai hệ thống: khai thác hệ thống và huấn luyện người sử dụng.
UP bao gồm con người, dự án, sản phẩm, quy trình và công cụ. Con người
là những người tham gia dự án để tạo ra sản phẩm phần mềm theo một q trình
với sự hỗ trợ của cơng cụ được cung cấp.
UP là quá trình phát triển phần mềm được hướng dẫn bởi các ca sử dụng.
Nghĩa là các yêu cầu của người sử dụng được mô tả trong các ca sử dụng, là
chuỗi các hành động được thực hiện bởi hệ thống nhằm cung cấp các dịch vụ,
các thông tin cho khách hàng. Các ca sử dụng bao gồm chuỗi các công việc
được xem là nền tảng để tạo ra mơ hình thiết kế và cài đặt hệ thống.
UP cũng là quy trình tập trung vào kiến trúc, được lặp và phát triển tăng
trưởng liên tục. Kiến trúc của hệ thống phải được thiết kế nhằm đáp ứng các yêu
cầu của các ca sử dụng chính, trong giới hạn của chuẩn phần cứng mà hệ thống
sẽ chạy và của cấu trúc cả hệ thống lẫn các hệ thống con. Tính lặp của q trình
phát triển phần mềm được thể hiện ở chỗ là một dự án được chia thành các dự
án nhỏ và được thực hiện lặp lại trong từng bước thực hiện. Mỗi dự án nhỏ đều
thực hiện phân tích, thiết kế, cài đặt và kiểm thử, v.v. Mỗi phần việc đó được
phát triển tăng trưởng và cả dự án cũng được thực hiện theo sự tăng trưởng này.
UP không chỉ tạo ra một hệ thống phần mềm hoàn chỉnh mà còn tạo ra một
số sản phẩm trung gian như các mơ hình. Các mơ hình chính trong UP là mơ
hình nghiệp vụ (ca sử dụng), mơ hình khái niệm, mơ hình thiết kế, mơ hình triển
khai và mơ hình trắc nghiệm. Các mơ hình này có sự phụ thuộc theo vết phát
triển, nghĩa là có thể lần theo từng mơ hình để đến được mơ hình trước.
1.1.4. Các biểu đồ (Diagram)
Diagram là các sơ đồ hay các các bản vẽ được dùng để thể hiện các góc
nhìn của hệ thống.

Trang 6

Hình 0.1. Các bản vẽ trong OOAD sử dụng UML

Trong đó:
 Biểu đồ ca sử dụng (Use Case Diagram): Bản vẽ mô tả về ca sử dụng của
hệ thống. Bản vẽ này sẽ giúp chúng ta biết được ai sử dụng hệ thống, hệ
thống có những chức năng gì. Lập được bản vẽ này bạn sẽ hiểu được yêu
cầu của hệ thống cần xây dựng.
 Biểu đồ lớp (Class Diagram): Bản vẽ này mô tả cấu trúc của hệ thống, tức
hệ thống được cấu tạo từ những thành phần nào. Nó mơ tả khía cạnh tĩnh
của hệ thống.
 Biểu đồ đối tượng (Object Diagram): Tương tự như Class Diagram nhưng
nó mơ tả đến đối tượng thay vì lớp (Class).
 Biểu đồ trình tự (Sequence Diagarm): Là bản vẽ mô tả sự tương tác của các
đối tượng trong hệ thống với nhau được mô tả tuần tự các bước tương tác
theo thời gian.
 Biểu đồ cộng tác (Collaboration Diagram): Tương tự như Sequence
Diagram nhưng nhấn mạnh về sự tương tác thay vì tuần tự theo thời gian.
 Biểu đồ trạng thái (State Diagram): Bản vẽ mô tả sự thay đổi trạng thái của
một đối tượng. Nó được dùng để theo dõi các đối tượng có trạng thái thay
đổi nhiều trong hệ thống.
 Biểu đồ hoạt động (Activity Diagram): Bản vẽ mô tả các hoạt động của đối
tượng, thường được sử dụng để hiểu về nghiệp vụ của hệ thống.

Trang 7

 Biểu đồ thành phần (Component Diagram): Bản vẽ mơ tả về việc bố trí các
thành phần của hệ thống cũng như việc sử dụng các thành phần đó.

 Biểu đồ triển khai (Deployment Diagram): Bản vẽ mô tả việc triển khai của
hệ thống như việc kết nối, cài đặt, hiệu năng của hệ thống, v.v.

1.1.5. Các quan sát (Các kiểu xem)

Khi xem xét một hệ thống, chúng ta cần xây dựng mơ hình từ những hướng

nhìn (View- khía cạnh) khác nhau, xuất phát từ thực tế là những người làm việc
với hệ thống, với các vai trị khác nhau sẽ nhìn hệ thống từ những khía cạnh
khác nhau.

UML xét hệ thống trên 5 khía cạnh:
 Use Case View: cung cấp góc nhìn về các ca sử dụng giúp chúng ta hiểu

hệ thống có gì? ai dùng và dùng nó như thế nào.
 Logical View: cung cấp góc nhìn về cấu trúc hệ thống, xem nó được tổ

chức như thế nào. Bên trong nó có gì.
 Process View: cung cấp góc nhìn động về hệ thống, xem các thành phần

trong hệ thống tương tác với nhau như thế nào.
 Component View: Cũng là một góc nhìn về cấu trúc giúp chúng ta hiểu

cách phân bổ và sử dụng lại các thành phần trong hệ thống ra sao.
 Deployment View: cung cấp góc nhìn về triển khai hệ thống, nó cũng

ảnh hưởng lớn đến kiến trúc hệ thống.
Tập hợp các góc nhìn này sẽ giúp chúng ta hiểu rõ hệ thống cần phân tích,
thiết kế. Trong Hình 0.2 chúng ta thấy góc nhìn Use Case View nằm ở giữa và
chi phối tất cả các góc nhìn cịn lại. Chính vì thế chúng ta thường thấy các tài
liệu nói về 4 view + 1 chứ không phải 5 view nhằm nhấn mạnh vai trò của Use
Case View.

Trang 8


Hình 0.2. Các View trong OOAD sử dụng UML
1.2. Giới thiệu về Entity Framework Code First
1.2.1. Entity Framework Code First là gì?

Entity Framework Code First được giới thiệu từ Entity Framework
4.1. Code First chủ yếu là hữu ích trong Domain Driven Design (DDD). Trong
cách tiếp cận Code First, có thể tập trung vào việc thiết kế Domain và bắt đầu
tạo ra các lớp theo yêu cầu của Domain chứ không phải thiết kế cơ sở dữ liệu
trước rồi sau đó tạo ra các lớp phù hợp với thiết kế cơ sở dữ liệu đó. Code First
API sẽ tạo ra cơ sở dữ liệu dựa trên các lớp thực thể và lớp cấu hình.

ADO.NET Entity Framework là một nền tảng được sử dụng để làm việc
với database thông qua cơ chế ánh xạ Object/Relational Mapping (ORM). Nhờ
đó, có thể truy vấn, thao tác với database gián tiếp thông qua các đối tượng lập
trình. Tạo cơ sở dữ liệu với Entity Framework Code First

Trang 9

Hình 0.3. Kiến trúc của Entity Framework
1.2.2. Cài đặt Entity Framework

Đầu tiên, tạo ứng dụng điều khiển. Nhấp chuột phải vào dự án trong giải
pháp và chọn Quản lý gói NuGet.

Thao tác này sẽ mở hộp thoại Manage NuGet Packages. Bây giờ, chọn
Online ở thanh bên trái và tìm kiếm Entity Framework như thể hiện dưới đây.

Trang 10

Nó sẽ tìm kiếm tất cả các gói có liên quan đến Entity Framework. Chọn

Entity Framework và nhấp vào Cài đặt.

Nhấp vào nút Tôi chấp nhận trong hộp thoại Chấp nhận Giấy phép để bắt
đầu cài đặt.

Trang 11

1.2.3. Tạo cơ sở dữ liệu từ Entity Framework

Cấu trúc 1 lớp: Tạo lớp sản phẩm (Class SanPham)

namespace iStore.Models
{

[Table("SanPham")]
public class SanPham
{

public SanPham() { }
public int Id { get; set; }

[Index(IsUnique = true)]
[StringLength(255)]
[Display(Name = "Tên Sản phẩm")]
public string Ten { get; set; }

[Display(Name = "Nhóm")]
public int IdNhom { get; set; }

[StringLength(255)]

[Display(Name = "Ký hiệu")]
public string KyHieu { get; set; }

[Display(Name = "ĐVT")]
public int IdDonViTinh { get; set; }

[Display(Name = "Giá nhập")]
public double GiaNhap { get; set; }

[Display(Name = "Giá bán")]

Trang 12


×