Cách xây dựng ứng dụng bằng .NET tương đối dễ dàng và tiện lợi so với các công nghệ khác vì Microsoft đã làm rất tốt phần việc của mình khi giúp cho lập trình viên không còn phải can thi
Trang 1TRƯỜ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
CÁC CÔNG NGHỆ NET THÔNG DỤNG:
WINFORM, WPF, ASP.NET
Công ty thực tập : TGL-SOLUTIONS
Người phụ trách : PHAN VĂN TÙNG
TP Hồ Chí Minh, tháng 06 năm 2022
Trang 2LỜI MỞ ĐẦU
Trong thời điểm mà ngành công nghệ thông tin nói chung và phát triển phần mềm nói riêng đang phát triển với tốc độ chưa từng có tiền lệ Nhu cầu cho các sản phẩm phần mềm thuộc nhiều lĩnh vực càng ngày càng tăng
Cùng với sự phát triển của phần mềm thì NET Framework đã trở thành một trong công nghệ được sử dụng rộng rãi trên toàn thế giới Theo số liệu thống kê không chính thức thì số lượng lập trình viên sử dụng ngôn ngữ C# của NET cũng rơi vào khoảng 6 triệu Đây là một sự tăng trưởng cực kỳ nhanh nếu như chúng ta biết rằng NET mới chỉ ra đời được gần
20 năm Điều đấy cũng cho thấy mức độ hấp dẫn của NET đối với lập trình viên lớn như thế nào
.NET framework cùng với hệ sinh thái Microsoft đã phát triển rất nhanh với tất cả các công nghệ có thể giúp lập trình viên xây dựng nên các ứng dụng mất ít thời gian nhất, nó có thể giúp xây dựng từ ứng dụng chạy trên desktop cho đến ứng dụng web và gần đây là cả ứng dụng mobile/tablet Cách xây dựng ứng dụng bằng NET tương đối dễ dàng và tiện lợi
so với các công nghệ khác vì Microsoft đã làm rất tốt phần việc của mình khi giúp cho lập trình viên không còn phải can thiệt và hiểu quá sâu về hệ thống và cách thức hoạt động của .NET
Tuy nhiên, để có thể nắm vững và sử dụng hiệu quả NET, tránh những lỗi khó xử lý thì chúng ta cần phải hiểu được kiến trúc của NET cũng như cách thức hoạt động của nó
Sau ba năm học tập trên trường, trải qua rất nhiều đồ án và bài tập liên quan đến NET framework, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được làm việc trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập trong hè Vì vậy, em quyết định chọn TGL-Sol - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TGL-Sol 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, 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 một product cụ thể 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 Phan Văn Tùng, đã training các kiến thức về Back-End Asp.Net
Core, 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 Vương Sỹ Tùng, đã training
về WPF App, hỗ trợ chúng em rất nhiều về các vấn đề kỹ thuật về WPF App trong quá trình
làm App; cảm ơn anh Trần Tiến Lực, đã 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ảm ơn các anh Lê Ngọc Anh, anh Nguyễn Đức Thịnh Nie, đã training cho chúng em những kiến thức quan trọng về C#, VB để 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
Nguyễn Văn Lương TpHCM, ngày 14 tháng 06 năm 2022
Trang 4NHẬN XÉT CỦA KHOA
Trang 5MỤC LỤC
Chương 1: Giới thiêu công ty thực tập 6
Chương 2: Nội dung thực tập 10
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 10
2 Nghiên cứu kỹ thuật 10
i Các công cụ làm việc 10
ii Tìm hiểu ngôn ngữ C# nâng cao 10
iii Lập trình winform cơ bản 11
iv Lập trình WPF cơ bản 12
v Lập trình asp net cơ bản 12
Chương 3: Chi tiết về project 15
1 Giới thiệu về dự án 15
2 Dự án cũ trước đây (winfrom) 15
3 Dự án hiện tại 16
Chương 4: TÀI LIỆU THAM KHẢO 17
Chương 5: TỔNG KẾT 18
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty TGL-SOLUTIONS
TGL SOLUTIONS được thành lập năm 2019 tại TP.Hồ Chí Minh, TGL Solutions luôn
nỗ lực không ngừng để mở rộng và đa dạng hóa các dịch vụ công nghệ phần mềm, đáp ứng nhu cầu và xu thế phát triển của thị trường Sau 4 năm thành lập TGL từ một start up nhỏ đã vươn mình trở thành một công có quy mô khá lớn và nhận được nhiều phản hồi tốt từ khách hàng
TGL có công ty mẹ là skyAce có trụ sở ở Tokyo và 1 công ty anh chị là công ty Prima có trụ sở tại Đà Nẵng
2 Sản phẩm của công ty
WebSite
Cung cấp giải pháp hoàn chỉnh từ thiết kế, lập trình và tư vấn tối ưu hóa website Đặc biệt
có thể tích hợp các ứng dụng VR/ livestream/ đấu giá bán hàng ngay trên website thương mại để tăng tương tác và hiệu quả kinh doanh của khách hàng
Trang 7App
Bao gồm Smartphone App và PC App Đặc trưng nổi bật của TGL chính là sẵn sàng xây dựng nhanh chóng bản demo trước cho khách hàng phê duyệt Điều này đã giúp chúng tôi luôn cung cấp các giải pháp phát triển app theo đúng yêu cầu chất lượng mong muốn của khách hàng
Hệ thống
Các dịch vụ liên quan đến Business system, Ec system, dịch vụ Cloud migration (chuyển môi trường on-premises qua Cloud(AWS, GCP, Azure), dịch vụ Serverless (sử dụng hệ thống AWS, GCP, Azure)
Trang 8CAD BUSINESS
Ứng dụng ngôn ngữ C++/C# để tạo ra các commands trong bản vẽ thiết kế nhà ở, kiến trúc và cơ khí Tư vấn và hiệu chỉnh các tính năng bản vẽ CAD theo yêu cầu riêng biệt của từng khách hành nhằm tối ưu hóa năng suất và hiệu quả làm việc công ty khách hàng
Công nghệ mới
Với lợi thế là đội ngữ nhân sự trẻ, tràn đầy nhiệt huyết và tư duy đầu vào cao, chúng tôi luôn sẵn sàng nghiên cứu và áp dụng các công nghệ mới nhất hiện nay vào phát triển dự án như AI, Machine Learning, VR, Outsystem
Trang 9Bảo trì nâng cấp
Thêm chức năng, sửa chữa cho các hệ thống theo yêu cầu của khách hàng Tư vấn giải pháp nâng cấp hệ thống web, phần mềm hiện có nhằm tối ưu hiệu suất kinh doanh
Trang 10Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Các công nghệ Net thông dụng” 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 windown, service, api đồ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 chuyên 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, quá 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 Ngoà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 TGL, quá 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
i Các công cụ làm việc
Thời gian : 4 ngày
Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá 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ư Microsoft Teams -
sử dụng trong làm việc nhóm, FreeCommander – trình duyệt file trực quan với nhiều tiện ích, Visual Studio - 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, Source Tree- GUI giúp quản lý source code
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
ii Tìm hiểu ngôn ngữ C# nâng cao
Thời gian : 5 ngày (1 tuần)
Trang 11Nộ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 trên windown
- 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 Ngoà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ụ thể
- Quản lý bộ nhớ
Thực tập sinh sẽ được hướng dẫn về cách cấp phát, quản lý bộ nhớ sao cho tối ưu, tránh
rò rỉ bộ nhớ, một trong những phần rất quan trọng trong lập trình, để tối ưu hiệu năng cho sản phẩm mang lại sự hài lòng cho khách hàng
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 sau này
- Ngoà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
iii Lập trình winform cơ bản
Nội dung: Các kiến thức cơ bản về winform để có thể làm ra một ứng dụng đơn giản
- Khái niệm cơ bản về Winfrom:
Trainer còn cung cấp cho thực tập sinh những khái niệm cơ bản trong Winfrom như :
thanh công cụ Toolbox, MessageBox,Panel & SplitContainer, Các control cơ bản
nhất(Label,Textbox, Button), Checkbox, RadioButton, Picturebox, DateTimePicker &
MonthCalendar, ListBox, ComboBox, CheckedListBox
Ngoài ra còn giới thiệu một số Project thực tế nhằm giúp các thực tập sinh nắm được các phần đã học
Thực hiện :
- Tham gia đầy đủ các buổi trainning
- Làm các bài tập thực hành
Trang 12iv Lập trình WPF cơ bản
Nội dung: Các kiến thức cơ bản về WPF để có thể làm ra một ứng dụng đơn giản
- Khái niệm cơ bản về WPF:
Trainer còn cung cấp cho thực tập sinh những khái niệm cơ bản trong WPF như:
Ngoài ra còn giới thiệu một số Project thực tế nhằm giúp các thực tập sinh nắm được các phần đã học
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ả :
- Hiểu được cũng như biết cách làm một ứng dụng thực tế
v Lập trình asp net cơ bản
Nội dung: Các kiến thức cơ bản về WPF để có thể làm ra một ứng dụng đơn giản
- Khái niệm cơ bản về WPF:
Trainer còn cung cấp cho thực tập sinh những khái niệm cơ bản trong WPF như:
- Ứng dụng client/server qua HTTP
- Web API trogn Asp.net Core
- Tạo dự án Asp.net Core Web API
- Tạo API Controller đầu tiên Ngoài ra còn giới thiệu một số Project thực tế nhằm giúp các thực tập sinh nắm được các phần đã học
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ả :
- Hiểu được cũng như biết cách làm một API thực tế
1 Lịch làm việc
hướng dẫn độ hoàn Mức người hướng Nhận xét của
Trang 13thành dẫn
1
- Tìm hiểu về công ty,
cách tổ chức của công
ty
- 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
Chị Lê
Nắm rõ quy định của công
ty
2
- Tìm hiểu ngôn ngữ lập
trình C# nâng cao
- Thực hành C#
- Làm bài test C#
Anh Lê
Tìm hiểu nhanh đã nắm
về các khái niệm và coding convention
3
- Tìm hiểu về Winform
Nguyễn Đức Thịnh Nie
10/10
Tìm hiểu nhanh đã có thể tìm hiểu source code của dự án (winfrom)
4
- Thực hành viết một số
ứng dụng cơ bản, tìm
hiểu source code của
project
5 - Tìm hiểu về Wpf
Anh Vương Sỹ Tùng
10/10
Tìm hiểu nhanh đã có thể tìm hiểu source code của dự án (wpf)
6
- Thực hành viết một số
ứng dụng cơ bản, tìm
hiểu source code của
project
Trang 14hoạt động của một
ứng dụng WPF với
mô hình MVVM,
restfull api
Phan Văn Tùng
nhanh đã có thể nhận task
9 - Bắt đầu nhận task để
thực hiện dự án
Anh Phan Văn Tùng
10/10 Thực hiện
task khá tốt
10 - Tiếp tục nhận các task
Anh Phan Văn Tùng
10/10 Thực hiện
task khá tốt
Trang 15Chương 3: Chi tiết về project
1 Giới thiệu về dự án
Dự án là 1 project outsource do công ty HAT (công ty logistics ở Nhật Bản) thuê để convert từ Winform sang WPF và sử dụng resful api và maintance một số chức năng
2 Dự án cũ trước đây (winfrom)
Một ứng dụng viết bằng winform đã có tuổi thọ khá lâu khoảng 15 năm tuổi Do yêu cầu nghiệp vụ và cần cải thiện tốc độ và giao diện nên khách hàng mong muốn convert sang WPF
Do yêu cầu bảo mật của doanh nghiệp nên không thể trình bày chi tiết hơn
Trang 163 Dự án hiện tại(WPF)
Khách hàng khá hài lòng về hiệu suất, cũng như giao diện và tính bảo mật của ứng dụng mới hiện tại Do yêu cầu bảo mật của doanh nghiệp nên không thể trình bày chi tiết hơn
Trang 17Chương 4: TÀI LIỆU THAM KHẢO
For C#
https://www.w3schools.com/cs/index.php
For Winfrom
https://docs.microsoft.com/vi-vn/dotnet/desktop/winforms/?view=netframeworkdesktop-4.8
For WPF
https://docs.microsoft.com/en-us/dotnet/desktop/wpf/?view=netdesktop-6.0
For Asp.Net Core
https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-6.0
Trang 18Chương 5: TỔNG KẾT
Như vậy, chỉ trong vòng một tháng ngắn ngủi, nhóm đã kịp hoàn thành việc dựng giao diện đăng nhập cho ứng dụng mới Ứng dụng đã có đầy đủ các giao diện cơ bản và đã đi được 1/10 của dự án
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer TGL, sự nỗ lực của nhóm thực tập tháng 8 để có thể hoàn thành bược đầu của ứng dụng