Website: Email : Tel : 0918.775.368
Chơng I. Cơ sở và phơng pháp luận cơ bản để
xây dựng chơng trình quản lý nhân sự.
Khi thập kỷ 1980 bắt đầu, một bài báo đăng trên trang nhất của tạp chí
Business Week đã loan báo dòng tiêu đề sau: Phần mềm : Lực điều khiển mới.
Phần mềm đã vào một thời đại - nó đã trở thành một chủ đề cho sự quan tâm của
các tạp chí. Trong suốt giữa những năm 1980, bài báo bao quát trong tạp chí
Fortune than thở về Lỗ hổng lớn dần trong phần mềm, và cuối thập kỷ thì tạp
chí Business Week lại cảnh báo các nhà quản lý về Cái bẫy phần mềm - tự
động hay cái gì khác. Khi những năm 1990 bùng lên một bài báo chính trong
tạp chí Newsweek đã hỏi Liệu chúng ta có thể tin cậy vào phần mềm không?.
Còn tạp chí The Wall Street Journal lại kể một câu chuyện về công việc của một
công ty phần mềm chủ chốt với bài đăng trên trang nhất nhan đề Tạo ra phần
mềm mới là nhiệm vụ thật khổ sở .... Những dòng tiêu đề khác giống chúng là
lời báo hiệu cho một cách hiểu mới về tầm quan trọng của phần mềm máy tính -
những cơ hội mà nó đem đến và những hiểm nguy mà nó đặt ra.
Phần mềm bây giờ đã vợt trội hơn phần cứng xem nh điểm mấu chốt cho
sự thành công của nhiều hệ thống dựa trên máy tính. Dù cho máy tính đợc dùng
để vận hành một doanh nghiệp, kiểm soát một sản phẩm hay làm thành một hệ
thống, phần mềm vẫn là nhân tố khác biệt. Tính đầy đủ và đúng thời hạn của
thông tin do phần mềm cung cấp (và các cơ sở dữ liệu liên quan) làm khác biệt
một công ty này với các đối thủ cạnh tranh với nó. Thiết kế và tính thân thiện
con ngời của một sản phẩm phần mềm làm khác biệt nó với các sản phẩm cạnh
tranh có chức năng tơng tự khác. Sự thông minh và chức năng do phần mềm đợc
nhúng trong đó đa ra thờng làm khác biệt hai sản phẩm tiêu thụ hay công nghiệp
tơng tự nhau. Chính phần mềm tạo sự khác biệt đó.
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
1. Khái niệm Công nghệ phần mềm.
Mặc dù sự ra đời của máy tính đã đợc gần nửa thế kỷ nhng khái niệm
công nghệ phần mềm chỉ mới xuất hiện trong khoảng thời gian gần đây khi
- Kiểm thử.
Giai đoạn 3:
Website: Email : Tel : 0918.775.368
Công cụ
Phơng pháp
Thủ tục
Quả
n trị
viên
dự
án.
Kỹ
s
phần
mềm
.
Xác định
Phát triển
Bảo trì
Website: Email : Tel : 0918.775.368
- Bảo trì sửa đổi.
- Bảo trì thích nghi.
- Bảo trì hoàn thiện.
2. Khái niệm phần mềm:
Khái niệm phần mềm lâu nay thờng đợc đồng nhất với khái niệm
chơng trình của máy tính ở mức độ nào đó điều này cũng đứng ở quy mô
học đờng. Trong công nghệ phần mềm chấp nhận định nghĩa sau đây của
của một nhà tin học ngời Mỹ tên là Roger Pressman mà theo đó phần
mềm trong công nghệ phần mềm đợc hiểu là một tập hợp gồm ba yếu tố:
Các chơng trình máy tính, các cấu trúc dữ liệu, hệ thống tài liệu hớng dẫn
lý hớng đối t-
ợng.
- Xử lý song
song.
Xem xét tiến trình phát triển của phần mềm xuất phát từ thời điểm năm
1950 khi lần đầu tiên trên thế giới xuất hiện hai chiếc máy tính ở Liên Xô và
Mỹ.
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
3. Vòng đời phát triển của phần mềm.
Trong công nghệ phần mềm ngời ta đặc biệt quan tâm đến vấn đề vòng
đời phát triển của phần mềm. Vòng đời của một phần mềm đợc hiểu là một quy
trình từ khi phần mềm ra đời cho đến khi đợc đa vào sử dụng và quá trình nâng
cấp bảo trì phần mềm đó. Mục đích của việc nghiên cứu vòng đời phát triển
phần mềm là phân ra thành các giai đoạn, trên cơ sở đó tìm giải pháp và công cụ
thích hợp để tác động vào mỗi giai đoạn. Vòng đời phát triển của phần mềm đợc
biểu diễn bằng một mô hình thác nớc sau:
Công đoạn đầu tiên là công nghệ hệ thống nó bao trùm toàn bộ các quá
trình tiếp theo trong công nghệ phần mềm. Vì công nghệ phần mềm là một
thành phần của hệ thống quản lý, do đó nó phải xem xét trong mối liên quan
tổng thể về kinh tế, kỹ thuật, tổ chức của toàn bộ bộ máy quản lý.
Website: Email : Tel : 0918.775.368
Công
nghệ hệ
Phân tích
Thiết
kế
Mã
hoá
Kiểm
Phần cứng trong quá trình sử dụng sẽ dẫn đến hao mòn và hỏng hóc.
Việc hỏng hóc của phần cứng sẽ dẫn đến việc thay thế phần cứng mới nhng
phần mềm cũng có hỏng hóc nhng việc cập nhật phần mềm giúp cho phần
mềm ít bị hỏng hóc hơn so với phần cứng . Việc phần mềm hỏng hóc cũng là
điều không thể tránh khỏi của bất kỳ sản phẩm nào vì thế cần sửa chữa kịp
thời tránh gây tác hại xấu đến thông tin xử lý.
C. Phần lớn phần mềm đều đợc xây dựng theo đơn đặt hàng chỉ ít khi đợc
lắp ráp từ các thành phần có sẵn.
5. Định nghĩa về thiết kế phần mềm.
Thiết kế là bớc đầu tiên trong giai đoạn phát triển cho bất kỳ sản phẩm
hay hệ thống công nghệ nào. Nó có thể đợc định nghĩa là: ... tiến trình áp dụng
nhiều kỹ thuật và nguyên lý với mục đích xác định ra một thiết bị, một tiến trình
hay một hệ thống đủ chi tiết để cho phép thực hiện nó về mặt vật lý.
Mục tiêu thiết kế là để tạo ra một mô hình hay biểu diễn của một thực thể
mà sau này sẽ đợc xây dựng. Tiến trình phát triển mô hình này tổ hợp trực giác
và đánh giá dựa trên kinh nghiệm trong việc xây dựng các thực thể tơng tự, một
tâp các nguyên lý và hoặc các trực cảm hớng dẫn cách tiến triển mô hình này,
một tập hợp các tiêu chuẩn để có thể đánh giá chất lợng, và một tiến trình lập lại
để cuối cùng dẫn tới biểu diễn thiết kế chung cuộc.
Thiết kế phần mềm máy tính, giống nh cách tiếp cận thiết kế công nghệ
trong các lĩnh vực khác, liên tục thay đổi khi các phơng pháp mới, cách phân
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
tích tốt hơn và hiểu biết rộng hơn tiến hoá lên. Không giống nh thiết kế cơ khí
hay điện tử, thiết kế phần mềm có ở ngay giai đoạn tơng đối sớm trong sự tiến
hoá của nó. Chúng ta đã nêu ý tởng nghiêm chỉnh về thiết kế phần mềm( nh đối
lập với Lập trình hay viết mã) chí ít cũng đã hơn ba thập kỷ nay. Do đó, phơng
pháp luận thiết kế phần mềm thiếu độ sâu, sự mềm dẻo và bản chất định tính mà
thông thờng có gắn với nhiều bộ môn thiết kế công nghệ cổ điển. Tuy nhiên, các
Mô hình
chức năng
Thiết kế
kiến trúc
Thiết kế
kỹ thuật
Phần mềm đã
tích hợp và kiểm
thử
Mô hình
hành vi
Website: Email : Tel : 0918.775.368
Luồng thông tin trong giai đoạn kỹ thuật này việc xây dựng phần
mềm dựa trên các mô hình thông tin, chức năng và hành vi là đầu vào cho thiết
kế. Bằng việc sử dụng một trong một số phơng pháp thiết kế tạo ra thiết kế cơ sở
dữ liệu, thiết kế kiến trúc, và thiết kế thủ tục. Thiết kế dữ liệu chuyển mô hình
lĩnh vực thông tin đã đợc tạo ra trong bớc phân tích các cấu trúc dữ liệu sẽ cần
cho việc cài đặt phần mềm. Thiết kế kiến trúc định nghĩa ra mối quan hệ giữa
các thành phần cấu trúc chính của chơng trình. Thiết kế thủ tục biến đổi các
thành phần cấu trúc thành mô tả thủ tục của phần mềm. Chơng trình gốc đợc
sinh ra rồi việc kiểm thử đợc thực hiện để tích hợp và làm hợp lệ phần mềm.
Thiết kế, lập trình và kiểm thử chiếm đến 75% hay hơn nữa của chi
phí công nghệ phần mềm (trừ bảo trì). Chính tại bớc này mà chúng ta quyết định
rằng sự thành công của việc cài đặt phần mềm sẽ bị ảnh hởng, và điều quan
trọng là làm dễ dàng cho việc bảo trì phần mềm. Những quyết định này đợc thực
hiện trong thiết kế phần mềm, làm cho nó thành bớc thử nghiệm trong giai đoạn
phát triển.
5.2 Tiến trình thiết kế.
Thiết kế phần mềm là một tiến trình qua đó các yêu cầu đợc dịch thành
một biểu diễn phần mềm. Ban đầu biểu diễn mô tả cho quan điểm toàn bộ về
trình đợc thiết lập. Trong thế giới lý tởng, đặc tả thủ tục yêu cầu việc định nghĩa
ngôn ngữ tự nhiên, nh Tiếng Việt. Sau hết , các thành viên của tổ chức phát triển
phần mềm đều nói cùng ngôn ngữ tự nhiên (ít nhất cũng về lý thuyết) những ng-
ời bên ngoài lĩnh vực phát triển phần mềm có thể dễ dàng hiểu đặc tả hơn và
không cần phải học điều mới.
5.6 Các tiêu chuẩn thiết kế phần mềm.
Hiện tại có một số hớng dẫn sau về tiêu chuẩn thiết kế phần mềm:
- Thiết kế nên nêu ra cách tổ chức theo cấp bậc để dùng cách kiểm soát
thông minh trong số các thành phần phần mềm.
- Thiết kế nên theo các mô đun (nh chơng trình con hay thủ tục) nêu ra
các đặc trng chức năng đặc biệt.
- Thiết kế nên chứa cách biểu diễn phân biệt và tách biệt giữa dữ liệu và
thủ tục.
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
- Thiết kế nên dẫn tới giao diện làm rút gọn độ phức tạp của việc nối
ghép giữa các mô đun với môi trờng bên ngoài.
- Thiết kế nên đợc hớng theo cách dùng một phơng pháp lặp lại đợc điều
khiển bởi thông tin có trong phân tích các yêu cầu phần mềm.
5.7 Dàn bài đặc tả thiết kế .
I.Phạm vi.
A. Mục tiêu hệ thống.
B. Phần cứng, phần mềm và giao diện con ngời.
C. Các chức năng của phần mềm chính.
D. Cơ sở dữ liệu đợc xác định bên ngoài.
E. Các rằng buộc, giới hạn thiết kế chính.
II. Tài liệu tham khảo.
A. Tài liệu phần mềm hiện có.
B. Tài liệu hệ thống.
C. Tài liệu ngời cung cấp (Phần cứng và phần mềm).
B. Xem xét chuyển đổi.
IX. Lu ý đặc biệt.
X. Phụ lục.
6. Ngôn ngữ lập trình và lựa chọn ngôn ngữ giải bài toán.
Tất cả các bớc công nghệ phần mềm đã đợc trình bày cho đến điểm này
đều trực tiếp hớng tới mục tiêu cuối cùng: dịch biểu diễn của phần mềm thành
một dạng máy tính có thể hiểu đợc. Cuối cùng đó là bớc lập trình một tiến
trình chuyển đổi thiết kế vào trong ngôn ngữ lập trình. Gerald Weinberg đã diễn
tả đã tả ý nghĩa đúng của lập trình khi ông viết: ... khi chúng ta nói tới máy tính
thì bất hạnh là chúng ta thờng nói theo giọng điệu khác ...
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
Tuy kỹ thuật thế hệ thứ t đang làm thay đổi cách hiểu về thuật ngữ ngôn
ngữ lập trình. Thay vì lập trình, ngời phát triển một số lớp thế hệ thông tin quản
lý(và lĩnh vực có giới hạn của các ứng dụng kĩ nghệ và khoa học ) bây giờ có thể
mô tả các kết quả mong muốn, thay vì thủ tục mong muốn, trong ngôn ngữ phi
thủ tục. Chơng trình gốc trong ngôn ngữ lập trình quy ớc sau đó đợc sinh ra một
cách tự động.
Tuy nhiên đại đa số các ứng dụng phần mềm vẫn còn nằm ngoài tầm của
cách tiếp cận thế hệ thứ t. Với hiện tại, các ngôn ngữ lập trình vẫn là các ngôn
ngữ lập trình nhân tạo nh ADA, PASCAL, C ...
Khi đợc xét nh một bớc trong tiến trình kỹ nghệ phần mềm, việc lập trình
đợc coi nh một hệ quả tự nhiên của thiết kế. Tuy nhiên các đặc trng ngôn ngữ lập
trình và phong cách lập trình có thể ảnh hởng sâu sắc tới chất lợng và tính dễ bảo
trì của phần mềm.
a, Tiến trình dịch
.
Bớc lập trình dịch một biểu diễn thiết kế chi tiết của phần mềm thành việc
thể hiện bằng ngôn ngữ lập trình. Tiến trình dịch tiếp tục khi trình biên dịch
chấp nhận chơng trình gốc làm cái vào và tạo ra chơng trình đích là cái ra. Cái ra
Trình biên dịch bao giờ cũng diễn giải một câu lệnh theo một cách, nhng con ng-
ời có thể hiểu câu lệnh đó theo cách khác. Tại đây có sự mơ hồ về tâm lý.
- Tính gọn gàng của ngôn ngữ lập trình là một chỉ dẫn về khối lợng thông
tin hớng chơng trình mà trí nhớ con ngời phải ghi nhớ.
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
- Tính cục bộ là đặc trng toàn thái của ngôn ngữ lập trình. Tính cục bộ đ-
ợc làm nổi bật khi các câu lệnh có thể đợc tổ hợp thành các khối, khi các kết cấu
có cấu trúc có thể đợc cài đặt trực tiếp, và khi thiết kế và chơng trình gốc đều
mang tính mô đun và cố kết cao độ. Một đặc trng ngôn ngữ hỗ trợ hay khuyến
khích cho xử lý biệt lệ đều vi phạm tính cục bộ này.
- Tính tuyến tính là một đặc trng tâm lý có liên quan chặt chẽ với khái
niệm bảo trì của lĩnh vực chức năng. Tức là, nhận biết con ngời đợc thuận lợi khi
gặp một dãy tuyến tính các thao tác lôgíc. Những nhánh nhảy xa (và, với một mở
rộng nào đó, các chu trình lớn) vi phạm tính tuyến tính của xử lý.
* Mô hình cú pháp/ ngữ nghĩa.
Shneiderman đã phát triển một mô hình cú pháp ngữ nghĩa cho tiến
trình lập trình có liên quan đến việc xem xét các bớc lập trình. Khi ngời lập trình
áp dụng các phơng pháp công nghệ phần mềm( nh phân tích yêu cầu, thiết kế)
vốn độc lập với ngôn ngữ lập trình thì động tới vấn đề tri thức ngữ nghĩa. Tri
thức ngữ nghĩa mặt khác lại là độc lập với ngôn ngữ, tập trung vào các đặc trng
của một ngôn ngữ xác định.
Về các kiểu tri thức này, tri thức ngữ nghĩa là khó thu nhận đợc hơn cả và
đòi hỏi dùng nhiều trí tuệ. Tất cả các bớc công nghệ phần mềm trớc phần lập
trình đều dùng rất nhiều tri thức ngữ nghĩa. Bớc lập trình áp dụng tri thức cú
pháp vốn là bất kỳ và theo lệnh đợc học theo kiểu vẹt. Khi học một ngôn ngữ
lập trình mới tơng tự nhng không tơng đơng với cú pháp ngôn ngữ đó. Tuy nhiên
khi học một ngôn ngữ mới các lập trình viên cần học cú pháp và ngữ nghĩa của
ngôn ngữ đó.
* Một cách nhìn công nghệ.
Website: Email : Tel : 0918.775.368
trong chất lợng của thiết kế đợc cài đặt và ảnh hởng ( cả có ý thức lẫn vô thức)
tới cách thiết kế đợc xác định.
6.2 Nền tảng của ngôn ngữ lập trình.
Các đặc trng kỹ thuật của ngôn ngữ lập trình trải rộng lên vô số chủ
đề từ lý thuyết (nh lý thuyết và đặc tả ngôn ngữ hình thức) tới thực chứng (nh so
sánh chức năng của các ngôn ngữ chuyên dụng).
a, Kiểu dữ liệu và định kiểu dữ liệu.
Ngày nay, lợi ích của ngôn ngữ lập trình đợc đáng giá không chỉ ở
cú pháp và sự phóng khoáng của các kết cấu thủ tục của nó. Định kiểu đữ liệu,
và các kiểu dữ liệu đặc biệt đợc ngôn ngữ lập trình hỗ trợ là khía cạnh quan
trọng của chất lợng ngôn ngữ.
Pratt mô tả kiểu dữ liệu và định kiểu dữ liệu là: ... Một lớp các sự vật
dữ liệu cùng với một tập các phép toán để tạo ra và thao tác trên chúng. Một sự
vật dữ liệu kế thừa một tập hợp các thuộc tính nền tảng của kiểu dữ liệu mà nó
thuộc vào. Một sự vật dữ liệu có thể lấy một giá trị nằm bên trong miền giá trị
hợp lệ cho kiểu dữ liệu đó và có thể bị các phép toán của kiểu dữ liệu đó thao
tác.
Các kiểu dữ liệu đơn trải trên một miền rộng bao gồm các kiểu số (nh
số nguyên, phức, số phẩy động), kiểu liệt kê (nh kiểu dữ liệu do ngời dùng định
nghĩa trong PASCAL hay C), kiểu boolean (nh true hay false, yes hay no) và
kiểu xâu String( nh dữ liệu chữ số). Các kiểu dữ liệu phức tạp hơn bao gồm các
cấu trúc dữ liệu trải qua hết từ mảng một chiều đơn giản (vec tơ) cho tới cấu trúc
danh sách tới các mảng và bản ghi đa tạp phức tạp.
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
Các phép toán có thể đợc thực hiện trên một kiểu dữ liệu đặc biệt và
theo cách thức mà trong đó các kiểu khác nhau có thể thao tác trong cùng câu
lệnh sẽ đợc điều khiển bởi việc kiểm tra kiểu vốn đợc cài đặt bên trong trình
biên dịch hay thông dich ngôn ngữ lập trình. Fairley định nghĩa năm mức kiểm
Về lý thuyết, việc tạo ra các sự vật và kết cấu của phần mềm hớng sự vật có
thể đợc thực hiện bằng cách dùng bất kì ngôn ngữ lập trình qui ớc nào. Nhng
trong thực tế, việc hỗ trợ cho các cách tiếp cận hớng sự vật nên đợc xây dựng
trực tiếp bên trong ngôn ngữ lập trình sẽ đợc dùng để cài đặt thiết kế hớng sự
vật.
6.3 Các lớp ngôn ngữ lập trình.
Có hàng trăm ngôn ngữ lập trình đã đợc sử dụng vào lúc này lúc khác
những nỗ lực phát triển phần mềm nghiêm chỉnh. Ngay cả một thảo luận chi tiết
về năm ngôn ngữ thông dụng nhất cũng nằm ngoài phạm vi bài này.
Bất kỳ một phân loại ngôn ngữ lập trình nào vẫn là vấn đề để mở cho tranh
luận. Trong nhiều trờng hợp, một ngôn ngữ lập trình có thể nằm hợp lệ trong
nhiều phạm trù. Vì vậy minh hoạ cho các lớp ngôn ngữ lập trình ta có hình sau.
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
6.4 Giới thiệu về Visual Basic.
Visual Basic là sản phẩm của hãng Microsoft và nó đợc tích hợp
trong bộ Microsoft Visual Studio, ra đời từ năm 1991 và tới năm 1998 ra
đời bộ Visual studio 98 (Visual Basic 6.0), sau đó phiên bản kế tiếp là bộ
Visual Studio .Net là bộ công cụ chuyên để xây đựng các ứng dựng Web.
Visual Basic là ngôn ngữ lập trình hớng sự kiện và cho phép lập
trình hớng đối tợng để xây dựng các ứng dụng hoạt động trong môi trờng
Windows.
Visual Basic là ngôn ngữ hỗ trợ việc lập trình với tính trực quan
cao.
Visual Basic cung cấp nhiều công cụ để cho phép kết nối và khai
thác dữ liệu ở nhiều hệ quản trị cơ sở dữ liệu khác nhau.
a, Các thành phần trong giao diện phát triển của Visual Basic.
Website: Email : Tel : 0918.775.368
Ngôn ngũ thế
hệ thứ ba
thậm chí la giữa các dự án với nhau.
- Report: Là nơi hiển thị kết quả đầu ra của dự án phần mềm.
c, Các bớc thực hiện để xây dựng một dự án phần mềm trong
Visual Basic.
Bớc 1: Xây dựng giao diện chính và hệ thống thực đơn chức năng.
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
Bớc 2: Thiết kế các biểu mẫu thành phần tơng ứng với các chức
năng của dự án.
Bớc 3: Thiết kế và xây dựng kết nối với cơ sở dữ liệu.
Bớc 4: Lập trình thực hiên chức năng hiển thị và cập nhật dữ liệu.
Bớc 5: Lập trình thực hiện chức năng tìm kiếm dữ liệu.
Bớc 6: Thiết kế các mẫu báo cáo và lập trình thực hiện chức năng in
báo cáo.
Bớc 7: Lập trình thực hiện chức năng đăng nhập hệ thống, quản lý
và phân quyền ngời sử dụng.
Bớc 8: Lập trình thực hiện chức năng sao lu và phục hồi dữ liệu.
Bớc 9: Thiết kế và xây dựng tài liệu trợ giúp sử dụng phần mềm.
Bớc 10: Đóng gói và tạo bộ cài đặt cho phần mềm.
Website: Email : Tel : 0918.775.368
Website: Email : Tel : 0918.775.368
Chơng II. Tổng quan về cơ quan thực tập và lý
do chọn đề tài.
A. Tổng quan về cơ quan.
1.Giới thiệu chung:
Cơ quan thực tập Ngân hàng nông nghiệp và phát triển nông thôn cấp 3
Ngọc Tảo, Phúc Thọ , Tỉnh Hà Tây.
Số điện thoại liên hệ : 034.649607
Mã số thuế : 0301471228-001-1
Lịch sử hình thành và phát triển của doanh nghiệp:
+ Thu lãi hàng tháng và vốn gốc đối với các hộ nông dân đã vay.
+ Tiến hành việc chuyển tiền trong nớc và ra nớc ngoài.
+ Nhận tiền gửi tiết kiệm với nội tệ và ngoại tệ (Đô la Mỹ - USD).
+ Thủ quỹ có nhiệm vụ nhận tiền, kiểm tra tiền của khách hàng đến trả nợ
hoặc gửi tiết kiệm.
+ Nhận và bảo quản sổ đỏ đối với các hợp đồng đợc bảo đảm trong hợp
đồng.
b) Đặc điểm tổ chức kinh doanh của Công ty
Đợc thành lập từ phòng giao dịch ngân hàng đến nay ngân hàng cấp 3
Ngọc Tảo đã trở thành một đơn vị kinh doanh trực thuộc ngân hàng Huyện Phúc
Website: Email : Tel : 0918.775.368