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

Báo cáo thực tập lập trình asp net và hệ thống quản lý nhân sự

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 (141.29 KB, 16 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 ASP.NET VÀ
HỆ THỐNG QUẢN LÝ NHÂN SỰ

Công ty thực tập

: Cadena Việt Nam

Người phụ trách

: Nguyễn Hoàng Ân

Thực tập sinh

: Lê Thanh Dàn

MSSV

: 19521311

TP. Hồ Chí Minh, tháng 12 năm 2022


2

LỜI MỞ ĐẦU


Hiện nay, ngành lập trình web là một phần không thể thiếu để phát triển các phần mềm.
Do nhu cầu sử dụng Internet ngày càng phổ biến bằng những thiết bị công nghệ mới nhất.Thiết
kế trang web ASP.NET là rất dễ dàng đối với lập trình viên, chúng ta có thể tìm tài liệu trên
mạng, tham khảo các dự án để nghiên cứu và phát triển. Microsoft muốn tạo ra công cụ để
người sử dụng dễ dàng làm việc và xây dụng trang web nhanh chóng nhất. ASP.NET và
WebForm được xây dựng để thực hiện những điều đó. Đồng thời công nghệ .Net là công nghệ
phổ biến, hỗ trợ bởi một công ty mạnh mẽ và rất nổi tiếng là Microsoft. Vì lý do này, em quyết
định chọn lập trình web làm định hướng cho việc học tập cũng như việc làm sau này của mình
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 việc trong một mơi trường chun nghiệp, em có dự định là sẽ thực
tập vào khoảng thời gian cuối kì học thứ 5 và đầu kì học thứ 6. Vì vậy, sau khi tham gia phỏng
vấn ở một số công ty, em quyết định chọn công ty Cadena Việt Nam - một môi trường lý tưởng,
hiện đại, chuyên nghiệp, trẻ trung - là nơi sẽ giúp em thực hiện được dự định này.

Nguyễn Hoàng Ân

Lê Thanh Dàn


3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Cadena Việt Nam đã 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, em đã
tiếp thu được những kiến thức quan trọng để có thể làm được 1 phần mềm quản lý bằng
ASP.NET MVC. 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 em hoàn thành đợt thực tập này.
Đặc biệt cảm ơn anh Nguyễn Trung Hiếu đã training công nghệ .NET, 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 Nguyễn Hoàng Ân đã training C#, SQL, Javascrip, hỗ trợ
em hiểu biết thêm về kỹ thuật lập trình; cảm ơn anh Nguyễn Thành Khoa đã 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ũ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.
Lê Thanh Dàn
Tp.HCM, tháng 12 năm 2022

Nguyễn Hoàng Ân

Lê Thanh Dàn


4

NHẬN XÉT CỦA KHOA

.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................

.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................

Nguyễn Hoàng Ân

Lê Thanh Dàn


5

MỤC LỤC

MỤC LỤC...........................................................................................................................1
Chương 1: Giới thiệu công ty thực tập...........................................................................2
1. Giới thiệu về công ty Gameloft................................................................................2
2. Sản phẩm của công ty...............................................................................................2
Chương 2: Nội dung thực tập..........................................................................................3
1.
2.
3.
4.

Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty............................................3
Nghiên cứu kỹ thuật..................................................................................................3
Thực hiện project......................................................................................................7
Lịch làm việc............................................................................................................7


Chương 3: Chi tiết về project..........................................................................................9
1. Giới thiệu về Game...................................................................................................9
2. Thực hiện................................................................................................................11
3. Kế hoạch.................................................................................................................11
TÀI LIỆU THAM KHẢO...............................................................................................13
TỔNG KẾT......................................................................................................................14

Nguyễn Hoàng Ân

Lê Thanh Dàn


6

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

1. Giới thiệu công ty Cadena
Cadena được thành lập năm 2005, là một công ty phần mềm của Hà Lan, đang
hoạt động ở khu vực Đơng Nam Á với trụ sở chính tại Singapore và văn phòng hoạt
động tại Việt Nam trong hơn 17 năm.
Cadena là công ty hàng đầu trên thị trường về các hệ thống HRM cao cấp cho các
khách sạn quốc tế và đa quốc gia với hơn 100 nhân viên.

2. Sản phẩm của công ty
Cadena HRM Series 5 cung cấp giải pháp nhân sự hoàn chỉnh để quản lý tồn bộ
vịng đời của nhân viên từ đầu đến cuối.
PayTime là một gói chấm cơng - tính lương được tiêu chuẩn hóa, 'nhẹ nhàng'
nhưng đầy đủ dành cho các tập đoàn nhỏ hơn.
Tembo Pay là một ứng dụng trả lương SaaS được thiết kế cho các doanh nghiệp

vừa và nhỏ. Ứng dụng đã sẵn sàng để sử dụng khi người dùng đăng ký.

Nguyễn Hoàng Ân

Lê Thanh Dàn


7

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình ASP.Net MVC” nhằm mục đích giúp sinh viên thực
tập được đào tạo tồn diện về lập trình ASP.Net MVC trong xây dựng ứng dụng 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 làm việc 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 : 1 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 Cadena, 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ư
Rocket.chat- sử dụng trong làm việc nhóm, SVN – website file trực quan với nhiều

Nguyễn Hoàng Ân

Lê Thanh Dàn


8

tiện ích, 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. Thunderbird - Ứng dụng Email của công ty
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, so với việc dung các IDE.
2.2.

Tìm hiểu ngơn ngữ C# nâng cao
Thời gian : 5 ngày (1 tuần)
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 tối ưu phía back-end
-

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 đối tượng có trong dự án.

-

Dependency Ịnection :
Thực tập sinh sẽ được hướng dẫn về lí do sử dụng, cách triển khai Dependency
Injection cũng như nguyên lí Dependency Inversion trong SOLID.

-

Clean Architecture
Cách xây dụng một ứng dụng trên kiến trúc Clean Architecture

-

C# là một ngơn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối
tượng được phát triển bởi Microsoft và được phê chuẩn bởi European Computer
Manufacturers Association (ECMA) và International Standards Organization
(IOS)

-

C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm
Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn
ngữ high-level đa dạng trên các nên tảng và cấu trúc máy tính khác nhau.

-

Dưới đây là các lý do làm C# là ngôn ngữ lập trình chun nghiệp được sử dụng

rộng rãi:
o Nó là một ngơn ngữ lập trình hiện đại, mục đích tổng qt

Nguyễn Hoàng Ân

Lê Thanh Dàn


9

o Nó là hướng đối tượng
o Nó dễ dàng học
o Nó là một ngơn ngữ được cấu trúc
o Nó được tạo các chương trình hiệu quả
o Nó có thể được biên dịch trên nhiều nền tảng máy tính khác nhau
o Nó là một phần của .Net Framework
-

Cấu trúc C# khá gần với các ngôn ngữ high-level truyền thống, C và C++. Nó có
sự giống nhau mạnh mẽ với Java, nó có nhiều đặc điểm lập trình mạnh mẽ mà làm
cho nó trở nên ưa thích với các lập trình viên trên toàn thế giới.

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ả :
-

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 ứng dụng 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.

2.3.

Mơ hình MVC
Nội dung: Các kiến thức cơ bản về mơ hình MVC.
-

Kiến trúc MVC (Model – View – Controller)
Chia ứng dụng thành ba thành phần chính: Model, View và Controller. Bộ
framework ASP.NET MVC cung cấp thêm một lựa chọn để tạo các ứng dụng web
dựa trên mơ hình MVC. Bộ framework ASP.NET MVC được tích hợp với các
chức năng sẵn có của ASP.NET, chẳng hạn như các master page và khả năng xác

Nguyễn Hoàng Ân

Lê Thanh Dàn



10

thực khách hàng dựa trên membership. Framework MVC được định nghĩa không
gian tên System.Web.Mvc và được hỗ trợ bởi không gian tên System.Web
-

Bộ Framework MVC bao gồm các thành phần sau:
Models: Các đối tượng Model là các phần của ứng dụng sữ được thực hiện phần
logic cho vùng dữ liệu chính của ứng dụng. Thơng thường, các đối tượng Model
nhận và lưu trữ trong một cơ sở dữ liêu.
Ví dụ, một đối tượng Product có thể nhân thơng tin từ một CSDL, thực hiện các
thao các xử lý dữ liệu trên đối tượng đó, sau đó update thơng tin đã thay đổi
ngược trở lại cho một bản Product trong SQL Server.
Views: Các View là các thành phần hiển thị giao diện khách hàng của ứng dụng,
và giao hiện khách hàng được tạo ra từ dữ liệu trong các đối tượng Model.
Ví dự, có thể chỉnh sửa phần hiển thị của một bảng Products để hiển thị các
Textbox, các drop-down list và các Checkbox trên trạng thái hiện tại của một đối
tượng Products.
Controllers: Các Controller là các thành phần sẽ điều khiển sự tương tác của
khách hàng, sau đó làm việc với các đối tượng Model tương ứng, và cuối cùng sẽ
chọn một đối tượng View phù hợp để trả lại và hiển thị giao diện khách hàng.
Trong một ứng dựng MVC, đối tượng View chỉ hiển thị thông tin, Controller điều
khiển và trả lại dữ liệu tương ứng với các tưởng tác và dữ liệu khách hàng nhập
vào. Ví dụ, Controller điều khiển các giá trị Query-string và truyền các giá trị đó
cho đối tượng Model, lần lượt truy vấn CSDL bằng cách sử dụng các giá trị đó.

-


Lợi ích của mơ hình MVC
Có tính mở rộng do có thể thanh thế từng thành phần một cách dễ dàng.

Nguyễn Hoàng Ân

Lê Thanh Dàn


11

Không sử dụng viewstate, điều này làm các nhà phát triển dễ dàng điều khiển ứng
dụng của mình
Hệ thống định tuyến mới mạnh mẽ
Hỗ trợ tốt hơn cho test-driven development (TDD) cài đặt các unit test tự động,
xác định và kiểm tra lại các yêu cầu trước khi bắt tay vào viết code
Hỗ trợ kết hợp rất tốt giữa người lập trình và người thiết kế giao diện
Sử dụng các tính năng tốt nhất đã có của ASP.NET
-

Nhược điểm của ASP.NET MVC
Không hướng đến sự kiện làm cho các nhà phát triển ASP.NET Webform khó
khăn
Yêu cầu hiểu biết về HTTP, HTML, Javascript
Thư viện nhà phân phối thứ 3 khồn mạnh.

Thực hiện :
-

Tham gia đầy đủ các buổi trainning.


-

Làm các bài tập thực hành.

-

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 cơ bản trong lập trình C# và ASP.NET MVC.

Hệ quản trị CSDL SQL Server
Nội dung : Các kỹ thuật xử lý dữ liệu trong SQL Server

Nguyễn Hoàng Ân

Lê Thanh Dàn


12

Thực hiện :
-

Tham gia đầy đủ các buổi training.

-


Tìm hiều và thực hành các từ khóa nâng cao như: Join, union, unique, …

Kết quả:
-

Làm quen với cách xử lý số liệu khi Database rất lớn (>1000 tables).

3. Tham gia dự án
Sau 2 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ề C#, ASP.NET MVC, Webform, Sql Service, hmtl, javascipt. Trong tháng rưỡi
cuối cùng, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức đã học để thực
tham gia xây dụng hệ thống quản lý nhân sự của công ty.
Chi tiết đồ án sẽ được nói ở phần sau.
4. Lịch làm việc
Mức
Tuần

Cơng việc

Người hướng dẫn

độ
hồn
thành

-

Tìm hiểu về cơng Anh Nguyễn Trung Hiếu

Nhận xét của

người hướng
dẫn

100%

ty, cách tổ chức của
công ty
1

-

Làm quen với các
công cụ làm việc
trong công ty

-

Học cách trao đổi,
làm việc qua email.

2

-

Nguyễn Hồng Ân

Tìm hiểu ngơn ngữ Anh Nguyễn Trung Hiếu

Lê Thanh Dàn



13

lập trình C# nâng
cao
-

Thực hành C#

-

Làm bài test C#
-

Tìm

hiểu Anh Nguyễn Hoàng Ân,

ASP.NET

3

SQL

MVC, Anh

Nguyễn

Thành


Server, Khoa

Javascrip,…
Giai đoạn 1:
-

Anh Nguyễn Trung Hiếu

Lên ý tưởng, đề xuất Anh Nguyễn Hoàng Ân
các yêu cầu về chức
năng cho hệ thống

4

quản lý nhân sự
-

Lập bảng thiết kế
giao diện mẫu

-

Xây dụng Cơ sở dữ
liệu

Giai đoạn 2
-

Anh Nguyễn Hồng Ân


Triển khai các chức
năng chính: Đăng

5-7

nhập, quản lý nhân
viên,

nghỉ

chấm

cơng,

phép,
tính

lương
8

Sửa lỗi, demo, kết Anh Nguyễn Hoàng Ân
thúc, chuẩn bị báo
cáo, tạm biệt cơng ty

Nguyễn Hồng Ân

Lê Thanh Dàn


14


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

1. Giới thiệu về game
Ứng dụng hỗ trợ nhân sự giúp theo dõi thông tin làm việc của nhân viên, đồng thời giúp
cho nhân viên xin nghỉ phép một cách dễ dàng hơn. Chấm công và tính lương tự động.

2. Thực hiện
-

Lê Thanh Dàn

Và sự giúp đỡ tận tình của team Dev Cadena

3. Kế hoạch
Giai đoạn 1:
-

Lên ý tưởng, đề xuất các yêu cầu về chức năng cho hệ thống quản lý nhân sự

-

Lập bảng thiết kế giao diện mẫu

-

Xây dụng Cơ sở dữ liệu Kết quả :

Kết quả:
-


Đề xuất yêu cầu functional và non-functional. u cầu về cơng nghệ và hình ảnh
giao diện mẫu.

-

Đề xuất các tính năng cốt lõi của ứng dụng và trình bày, giải thích

-

Xây dựng CSDL cốt lõi, nhưng chưa đầy đủ

Giai đoạn 2:
-

Hồn thành CSDL

-

Xây dựng các tính năng chính của hệ thống: Đăng nhập, quản lý nhân viên, nghỉ
phép, chấm cơng, tính lương

Kết quả : Đã hồn thành hầu những tính năng trên, trừ đăng nhập và phân quyền
Nguyễn Hoàng Ân

Lê Thanh Dàn


15


TÀI LIỆU THAM KHẢO

Material UI , "Overview”. [Online]. Available: Overview - Material UI (mui.com)
Dan Abramov and Redux documentation’s authors. , "Tutorial Overview" 04 February 2022.
[Online]. Available: Tutorials Overview | Redux Toolkit (redux-toolkit.js.org)
Microsoft. , "C# Advanced". [Online] . Available: C# Advanced | Microsoft Learn
Scrum Docs. , "What is Scrum". [Online] . Available: What is Scrum?
Microsoft. , "What is Azure Active Directory B2C" . [Online] . Available: What is Azure Active
Directory B2C? | Microsoft Learn
Microsft. , "Azure Blob Storage" . [Online] . Available: Azure Blob Storage | Microsoft Azure
Uncle Bob. , "The Clean Architecture" 13 08 2022. [Online] . Available: Clean Coder Blog
Microsoft. , "Dependency injection in ASP.NET Core" 06 04 2022. [Online] . Available:
Dependency injection in ASP.NET Core | Microsoft Learn
Microsoft. , "Common web application architectures" 11 01 2022. [Online] . Available:
Common web application architectures | Microsoft Learn
Microsoft. , "Entity Framework documentation" [Online] . Available: Entity Framework
documentation | Microsoft Learn

Nguyễn Hoàng Ân

Lê Thanh Dàn


16

TỔNG KẾT

Như vậy, chỉ trong vòng hai tháng ngắn ngủi, em đã kịp hoàn thành một ứng dụng chạy
trên nền tảng web. Ứng dụng đã có khá đầy đủ các tính năng đã đề ra ban đầu. Do thời gian có
hạn nên giao diện ứng dụ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 kiến trúc có tính kế thừa, dễ dàng mở rộng 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 chị trong công ty Cadena VietNam để em có
thể hồn thành dự án..

Nguyễn Hoàng Ân

Lê Thanh Dàn



×