Tải bản đầy đủ (.docx) (17 trang)

báo cáo thực tập lập trình ứng dụng WEB với ASP NET MVC

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 (202.21 KB, 17 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

LẬP TRÌNH ỨNG DỤNG WEB
VỚI ASP.NET MVC

Cơng ty thực tập

: People Link JSC

Người phụ trách

: Trần Quốc Hưởng

Thực tập sinh

: Hồ Nguyễn Nhật Tiến

TP. Hồ Chí Minh, tháng 07 năm 2020


LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp web là một bộ phận không thể thiếu của ngành công
nghiệp phần mềm. Với tốc độ phát triển vô cùng mạnh mẽ, ngành web đã và đang là nhân tố
kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ. Ngành công
nghiệp web non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hịa nhập với những cơng ty
hàng đầu về web trên thế giới.
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như


muốn được tham gia làm ứng dụng web trong một mơi trường doanh nghiệp, em có dự định là
sẽ thực tập trong học kì này. Bản thân em sau một thời gian chuẩn bị kiến thức và ứng tuyển, đã
nhận được cơ hội làm việc tại công ty People Link JSC. Đây là cơng ty có mơi trường chuyên
nghiệp, hiện đại, phù hợp cho em trau dồi kiến thức, kinh nghiệm và phát triển các kĩ năng của
bản thân.

Hồ Nguyễn Nhật Tiến


LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty People Link JSC đã tạo điều kiện cho em có cơ hội
được thực tập tại công ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, nhóm
thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được phần của dự
án. Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian,cơng sức để
hướng dẫn chúng em hoàn thành đợt thực tập này.
Đặc biệt cảm ơn anh Trần Quốc Hưởng, đã training về Hệ thống của công ty, hướng dẫn,
giúp đỡ cho chúng em tận tình cả những khó khăn trong cơng việc, đến những khó khăn việc
làm quen với mơi trường mới; cảm ơn anh Huỳnh Khánh Hồng Châu, đã training ASP.NET
MVC, hỗ trợ chúng em rất nhiều về các vấn đề kỹ thuật trong quá trình làm project; cảm ơn anh
Trần Quốc Hưởng, đã chỉ dẫn chúng em về cách làm báo cáo, lên kế hoạch, những kỹ năng
không thể thiếu để có thể làm ra một sản phẩm trong thời gian qua.
Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều
kiện em làm bài báo cáo này.
Hồ Nguyễn Nhật Tiến
TpHCM, ngày 05 tháng 04 năm 2020

Hồ Nguyễn Nhật Tiến



NHẬN XÉT CỦA KHOA
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Hồ Nguyễn Nhật Tiến


MỤC LỤC
LỜI MỞ ĐẦU.................................................................................................................................................1
LỜI CẢM ƠN.................................................................................................................................................2
NHẬN XÉT CỦA KHOA............................................................................................................................3
Chương 1: Giới thiêu công ty thực tập.......................................................................................................5
1.


Giới thiệu công ty People link Việt Nam.........................................................................................................5

2.

Sản phẩm của công ty......................................................................................................................................5

Chương 2: Nội dung thực tập......................................................................................................................6
1.

Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty..................................................................................6

2.

Nghiên cứu kỹ thuật.........................................................................................................................................6
2.1.

Các công cụ làm việc................................................................................................................................6

2.2.

Tìm hiểu ngơn ngữ C# nâng cao.............................................................................................................6

2.3.

ASP.NET MVC............................................................................................................................................7

2.4.

jQuery, Bootstrap 3..................................................................................................................................9


2.5

Kiến trúc Microservices..........................................................................................................................10

3.

Thực hiện project...........................................................................................................................................10

4.

Lịch làm việc...................................................................................................................................................11

Chương 3: Chi tiết về project.....................................................................................................................13
1.

Giới thiệu về dự án........................................................................................................................................13
1.1.

Ý tưởng...................................................................................................................................................13

1.2.

Các tính năng chính................................................................................................................................13

2.

Thực hiện........................................................................................................................................................13

3.


Kế hoạch.........................................................................................................................................................13

TÀI LIỆU THAM KHẢO..........................................................................................................................15
TỔNG KẾT..................................................................................................................................................16

Hồ Nguyễn Nhật Tiến


Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty People link Việt Nam
Được thành lập năm 2001, People Link JSC là đơn vị tiên phong cung cấp các giải
pháp nhân sự độc đáo như tuyển dụng, thuê ngồi, biên chế, đào tạo và tăng tính gắn
kết của nhân viên đối với nhãn hàng,....
Những giải pháp công ty cung cấp những giải pháp phù hợp với thị trường và ln
quan tâm đến khía cạnh văn hóa của vùng. Đảm bảo chúng hoạt động tốt và phù hợp
tại thị trường Việt Nam.
Sứ mệnh: Trở thành đối tác đáng tin cậy trong thời gian dài
Tầm nhìn: Mang lại thành cơng cho khách hàng của chúng tơi bằng cách chăm sóc
và mang lại kết quả tích cực trong bất kỳ đổi mới nào.
Giá trị: Chia sẻ niềm vui thành công cùng nhau song hành như một đối tác đáng tin
cậy với khách hàng và dịch vụ chất lượng tuyệt vời.
2. Sản phẩm của công ty
People link cung cấp các giải pháp phần mềm quản lý nhân sự độc đáo như tuyển
dụng, th ngồi, biên chế, đào tạo và tăng tính gắn kết của nhân viên đối với nhãn
hang. Ngồi ra cơng ty đã phát triển hệ thống quản lý PLS System để nhân viên
trong công ty và các doanh nghiệp khách hang có thể quản lý nhân sự nhân sự 1 cách
tối ưu nhất nhằm giải quyết những khó khan về nghiệp vụ và tốc độ báo cáo, tính
trung thực, tính thực thi, đáp ứng nhanh cho việc đưa ra quyết định , giải quyết các
vấn đề ngoài thị trường


Hồ Nguyễn Nhật Tiến


Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình web với ASP.NET MVC” nhằm mục đích giúp sinh
viên thực tập được đào tạo toàn diện về lập trình web, đồng thời rèn luyện những kỹ năng mềm
như làm việc nhóm, thuyết trình, giao tiếp. Tại cơng ty, sinh viên có cơ hội được học tập, khám
phá và làm việc trong một môi trường phát triển phần mềm chun nghiệp.
1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian : 2 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về cơng ty, q trình thành lập và phát triên
(như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của
cơng ty .
Ngồi ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty
như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công
việc…
Kết quả : Hiểu thêm về công ty People link, q trình thành lập và phát triển. Có thêm
các kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có
trách nhiệm hơn.
2. Nghiên cứu kỹ thuật
2.1. Các công cụ làm việc
Thời gian : 1 ngày
Nội dung : Tìm hiểu về các cơng cụ sẽ được sử dụng trong q trình làm việc.
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các cơng
cụ sẽ giúp ích cho trong công việc sau này. Một số phần mềm trong số đó như
Tortoise SVN - sử dụng trong làm việc nhóm, Microsoft Visual Studio - một mơi
trường phát triển tích hợp (IDE) từ Microsoft, Notepad ++ - một chương trình soạn
thảo văn bản rất hữu ích và phổ biến với lập trình viên.

Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp các cơng cụ
với nhau.
2.2. Tìm hiểu ngơn ngữ C# nâng cao
Thời gian : 1 ngày
Nội dung : Được training về các kỹ thuật C# nâng cao, những kiến thức quan trọng
cho việc thiết kế web API.
- Lập trình hướng đối tượng
Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính
như tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình. Ngồi ra, thực tập sinh
cịn được hướng dẫn về cách thiết kế lớp cho các thực thể trong database.
- Interface :
Một interface được hiểu như là 1 khuôn mẫu mà mọi lớp thực thi nó đều phải tuân
theo. Interface sẽ định nghĩa phần “làm gì” (khai báo) và những lớp thực thi
Hồ Nguyễn Nhật Tiến


interface này sẽ định nghĩa phần “làm như thế nào” (định nghĩa nội dung) tương
ứng.
- LINQ
Thực hiện :
- Tham gia đầy đủ các buổi training của công ty.
- Làm các bài thực hành, kiểm tra về kiến thức đã học.
Kết quả :
-

2.3.

Nâng cao kỹ năng lập trình với ngơn ngữ C#.
Có được những kiến thức quan trọng cho việc lập trình web sau này.

Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho đúng
chuẩn, dễ đọc, dễ hiểu.

ASP.NET MVC
Thời gian : 1 tuần
Nội dung: Các kiến thức về lập trình web bằng ASP.NET MVC để có thể áp dụng vào
project của cơng ty
-

Khái niệm cơ bản về ASP.NET MVC.
Năm được các khái niệm về mơ hình MVC, MVC là cụm từ viết tắt của ModelView-Controller, nó phân chia pattern của ứng dụng thành 3 phần - model,
controller và view
 Model giúp lưu trữ dữ liệu của ứng dụng và trạng thái của nó. Nó là một cơ sở
dữ liệu hoặc cũng có thể chỉ là một tập tin XML.
 View được coi là một giao diện người dùng được sử dụng bởi khách truy cập
trang web của bạn để nhìn thấy các dữ liệu. Các trang ASPX thường được sử
dụng để hiển thị view trong các ứng dụng ASP.NET MVC.
 Controller chịu trách nhiệm xử lý các tương tác của người dùng với trang web.
Nó được sử dụng để xác định loại view nào cần phải được hiển thị. Controller
cũng được sử dụng cho mục đích giao tiếp với model.

-

Repository Pattern:
Repository là một lớp trung gian giữa hai tầng này. Trong project sử dụng Entity
Framework với ASP.NET MVC thì Data chính là tầng chứa các lớp dbContext và
class enttiy. Cịn business logic chính là tầng xử lý nghiệp vụ của dự án.
Repository hầu hết được sử dụng những chỗ cần điều chỉnh dữ liệu trước khi
truyền xuống tầng data hoặc truyền lên trên business logic.
Hồ Nguyễn Nhật Tiến



-

Generic Repository Pattern
Trong các trường hợp khác, dự án lại đòi hỏi một cách tốt nhất để tạo ra tất cả các
repository logic ở cùng một nơi. Chúng ta cần tạo 1 và chỉ 1 repository cho việc
thao tác với toàn bộ các class entity. Vậy để giải quyết điều này chúng ta phải sử
dụng Generic Repository Pattern.

-

Unit Of Work trong Repository Pattern
Unit Of Work được sử dụng để đảm bảo nhiều hành động như insert, update,
delete...được thực thi trong cùng một transaction thống nhất. Nói đơn giản hơn,
nghĩa là khi một hành động của người dùng tác động vào hệ thống, tất cả các hành
động như insert, update, delete...phải thực hiện xong thì mới gọi là một
transaction thành cơng. Gói tất cả các hành động đơn lẻ vào một transaction để
đảm bảo tính tồn vẹn dữ liệu.

-

RESTFUL API
 API (Application Programming Interface) là một tập các quy tắc và cơ chế mà
theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay
thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình
ở những kiểu dữ liệu phổ biến như JSON hay XML.
 REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ
liệu, một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản
để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc

xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET,
POST, DELETE, vv đến một URL để xử lý dữ liệu.
 RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng
dụng web để quản lý các resource. RESTful là một trong những kiểu thiết kế
API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…)
khác nhau giao tiếp với nhau.

Hồ Nguyễn Nhật Tiến


Thực hiện :
-

Tham gia đầy đủ các buổi trainning.
Làm các bài tập thực hành như viết được api them xóa sửa 1 bảng nào đó trong
database, …
Tìm kiếm tài liệu trên mạng để tìm hiểu thêm.

Kết quả :
2.4.

Hiểu được những khái niệm trong lập trình web với ASP.NET MVC .
Đã viết được api cơ bản theo cấu trúc project của công ty.

jQuery, Bootstrap 3
Nội dung : Các kĩ thuật cơ bản để lập trình giao diện trang người quản lý.
-

jQuery:
jQuery là thư viện được viết từ JavaScript, jQuery giúp xây dựng các chức năng

bằng Javascript dễ dàng, nhanh và giàu tính năng hơn. jQuery được tích hợp nhiều
module khác nhau. Từ module hiệu ứng cho đến module truy vấn selector

-

Bootstrap 3:
Bootstrap là một framework bao gồm các HTML, CSS và JavaScript template
dùng để phát triển website chuẩn responsive. Bootstrap cho phép q trình thiết kế
website diễn ra nhanh chóng và dễ dàng hơn dựa trên những thành tố cơ bản sẵn
có như typography, forms, buttons, tables, grids, navigation, image carousels…

Thực hiện :
-

Tham gia đầy đủ các buổi training.
Hồ Nguyễn Nhật Tiến


-

Tạo ra những ứng dụng cơ bản, lập trình giao diện web bằng bootstrap 3.

Kết quả:
-

Đã có thể tạo ra các chức năng cơ bản của 1 ứng dụng web quản lý đơn giản như hiển thị dữ
liệu, thêm, xóa , sửa
2.5
Kiến trúc Microservices
Nội dung : Các kiến thức cơ bản về kiến trúc Microservices.

- Thực tế có nhiều định nghĩa khác nhau đối với Microservices nhưng hiểu theo
cách đơn giản thì, microservice là một kiếu kiến trúc phần mềm. Các module
trong phần mềm này được chia thành các service rất nhỏ (microservice). Mỗi
service sẽ được đặt trên một server riêng -> dễ dàng để nâng cấp và scale ứng
dụng.
- Thay vì gom tất cả module thành một khối (monolith), ta tách các module thành
những service siêu nhỏ. Mỗi service sẽ được đặt trên một server riêng (Có thể
dùng server cloud như AWS hoặc Azure), giao tiếp với nhau thông qua mạng (Gửi
nhận message qua giao thức HTTP hoặc sử dụng MessageQueue)...

3. Thực hiện project
Sau hai tuần được training và thực hành, thực tập sinh đã nắm được những kiến thực cơ
bản về ASP.NET MVC, Bootstrap 3, JQuery. Trong tháng thứ hai, trainer đã hướng dẫn
thực tập sinh áp dụng những kiến thức đã học để thực hiện dự án là module online
training trong dự án PL Systems.
Chi tiết đồ án sẽ được nói ở phần sau.

4. Lịch làm việc
Hồ Nguyễn Nhật Tiến


Mức
Người hướng
độ
Tuần
Cơng việc
dẫn
hồn
thành
- Tìm hiểu về cơng Anh Trần Quốc Hồn

ty, cách tổ chức Hưởng
thành
của cơng ty.
- Làm quen với các
1
công cụ làm việc
trong công ty.
- Học cách trao đổi,
mắc.
làm việc qua email.
- Tìm hiểu ngơn ngữ Anh Trần Quốc Hồn
lập trình C# nâng Hưởng,
Anh thành
cao
Huỳnh
Khánh
- Thực hành C#
Hồng Châu
- Tìm
hiểu
về
ASP.NET MVC
- Thực hành một số
2
API cơ bản
- Tìm
hiểu
về
jQuery, Bootstrap
3

- Viết thử giao diện
cơ bản
- Tìm hiểu về kiến
trúc Microservices
- Quy trình phát Anh Trần Quốc Hồn
triển phần mềm và Hưởng
thành
3
Business
của
project
Giai đoạn alpha
Anh Trần Quốc Hoàn
- Lên kế hoạch
Hưởng,
anh thành
- Tìm hiểu nghiệp Huỳnh
Khánh
vụ chung
Hồng Châu
4,5,6,7
- Viết các api cơ bản
có thể tái sử dụng
- Code giao diện các
màn hình
8,9,10,11,12 Giai đoạn beta
Hoàn
- Hoàn thiện các api
thành
được giao

- Hoàn thiện các giao
diện được giao
- Kết nối api và đưa
dữ liệu lên màn

Nhận xét của
người hướng dẫn
Thích nghi nhanh
với mơi trường mới
của cơng ty, tích
cực trong việc hỏi
đáp các vấn đề cịn
trở ngại
Có khả năng tự
nghiên cứu kiến
thức với keyword
được cho.

Hiểu được cơ bản
business của
project.
Có khả năng ứng
dựng kiến thức đã
được train vào
cơng việc. Vẫn
cịn
hạn chế về chất
lượng code.
Có khả năng ứng
dựng kiến thức đã

được train vào
cơng việc. Vẫn
cịn
hạn chế về chất
lượng code.
Hồ Nguyễn Nhật Tiến


-

hình
Test và fix bug
Thuyết trình về sản
phẩm

Kỹ năng thuyết
trình cịn chưa tốt
lắm

Hồ Nguyễn Nhật Tiến


Chương 3: Chi tiết về project
1. Giới thiệu về dự án
Online training là 1 module của dự People link systems (PL Systems ), quản lý việc
training nhân viên của công ty bằng cách tạo các khóa học để nhân viên có thể học trên
mobile app, trong q trình thực tập, em chỉ đảm nhiệm 1 nhỏ của phần của trainer
(trang quản lý).
1.1.


1.2.

Ý tưởng
People link systems là 1 platform quản lý của công ty Peoplelink JSC, bao gồm
nhiều module: Headcount request, online training, KPI, sale out, sale in, perfect
store, online recruitment, GPS tracking, payroll.
Online training là 1 module trong PL Systems, quản lý các khóa học, bài kiểm
tra. Trainer sẽ tạo các khóa học, các bài kiểm tra để kiểm tra trình độ của nhân
viên xem có thể vào làm việc được chưa.
Các tính năng chính
Vì đây là ứng dụng nội bộ của công ty People link JSC nên em không thể trình
bày chi tiết các tính năng được, nên chỉ khái quát một số tính năng mà em đã
được tham gia phát triển như:

-

Quản lý ngân hàng câu hỏi (Trainer)

-

Quản lý ngân hàng bài kiểm tra (Trainer)

-

Quản lý các khóa học (Trainer)

-

Quản lý các bài giảng (Trainer)


2. Thực hiện
Sinh viên :Hồ Nguyễn Nhật Tiến
Và sự giúp đỡ tận tình của anh Châu và anh Hưởng .
3. Kế hoạch
Giai đoạn Alpha:
-

Lên kế hoạch
Tìm hiểu nghiệp vụ chung
Viết các services cơ bản có thể tái sử dụng
Code giao diện các màn hình

Kết quả :
-

Hầu hết các tính năng trên đã được thực hiện
Hồ Nguyễn Nhật Tiến


Giai đoạn Beta:
-

Hoàn thiện các api được giao
Hoàn thiện các giao diện được giao
Kết nối api và đưa dữ liệu lên màn hình
Test và fix bug

-

Thuyết trình về sản phẩm .


Kết quả : Đã hồn thành tồn bộ những tính năng trên, nhưng giao diện chưa được bắt
mắt.

Hồ Nguyễn Nhật Tiến


TÀI LIỆU THAM KHẢO
/> /> />
Hồ Nguyễn Nhật Tiến


TỔNG KẾT

Như vậy, trong vịng ba tháng ngắn ngủi, nhóm đã kịp hoàn thành một phần của module
online training. Module đã có khá đầy đủ các tính năng cơ bản mà bộ phân training nhân viên
của công ty đề ra. Do thời gian có hạn nên tính năng cịn đơn giản, hình ảnh chưa được đẹp như
mong đợi. Nhưng do ứng dụng phát triển theo framework có tính kế thừa nên sau này khi có
thời gian sẽ có thể phát triển lên mức cao hơn.
Chân thành cảm ơn sự giúp đỡ của các anh trong team IT của công ty. Cảm ơn anh Trần
Quốc Hưởng đã giúp em hoàn thành bài báo cáo này.

Hồ Nguyễn Nhật Tiến



×