1
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 CAD
Cơng ty thực tập
: TGL Solutions
Người phụ trách
: ĐỒNG QUANG QUÝ
Thực tập sinh
: PHAN TRẦN MINH TRÍ
TP. Hồ Chí Minh, tháng 06 năm 2022
2
LỜ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 tồ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.
3
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TGL-Solutions 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 Nghiêm và em Hùng Vỹ, đã training các kiến thức về .NET & CAD
Api, 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 Phan Trần Minh Trí, đã 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 tồn bộ team
CAD đã ln tạo điều kiện tốt nhất để em có thể hồn thành tốt các công việc được giao trong
thời gian làm việc tại công ty.
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.
Đồng Quang Quý
TpHCM, ngày 15 tháng 6 năm 2022
4
NHẬN XÉT CỦA KHOA
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
5
MỤC LỤC
CHƯƠNG 1: Giới thiệu công ty thực tập............................................................................................... 7
1.
Giới thiệu công ty TGL Solutions.................................................................................................7
2.
Các sản phẩm của công ty............................................................................................................. 7
2.1.
Website.....................................................................................................................................7
2.2.
App........................................................................................................................................... 8
2.3.
Hệ thống...................................................................................................................................9
2.4.
Cad business............................................................................................................................ 9
2.5.
Cơng nghệ mới........................................................................................................................ 9
2.6.
Bảo trì nâng cấp.................................................................................................................... 10
CHƯƠNG 2: Nội dung thực tập............................................................................................................ 11
1.
Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty.............................................................11
2.
Nghiên cứu kỹ thuật.....................................................................................................................11
2.1.
Các cơng cụ làm việc.............................................................................................................11
2.2.
Tìm hiểu về các phần mềm vẽ kỹ thuật và cách thao tác với chúng thơng qua Api.......12
2.3.
Tìm hiểu ngơn ngữ C# nâng cao..........................................................................................12
2.4.
Lập trình command cơ bản với CAD Api và AutoCAD................................................... 13
2.5.
Tìm hiểu thực hiện AutoTest trên IjCAD.......................................................................... 13
3.
Thực hiện project......................................................................................................................... 13
4.
Lịch làm việc.................................................................................................................................14
CHƯƠNG 3: Chi tiết về project............................................................................................................ 18
1.
Giới thiệu về dự án.......................................................................................................................18
1.1
Sự ra đời................................................................................................................................ 18
1.2
Mục tiêu................................................................................................................................. 18
6
2.
Kế hoạch........................................................................................................................................18
CHƯƠNG 4: Tài liệu tham khảo...........................................................................................................19
CHƯƠNG 5: Tổng kết............................................................................................................................20
7
CHƯƠ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 Hồ Chí Minh, TGL Solutions
ln 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à một cơng ty anh chị là cơng ty
Prima có trụ sở tại Đà Nẵng.
2. Các sản phẩm của công ty
2.1. Website
8
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.
2.2. App
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.
9
2.3. 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)
2.4. Cad 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.
2.5. Công nghệ mới
10
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...
2.6. Bả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.
11
CHƯƠNG 2: Nội dung thực tập
Đợt thực tập 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
sử dụng kiến thức về .NET để tạo ra các command có thể tích hợp chạy trong các phần mềm vẽ
đồ họa, đồ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 game 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, 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.
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 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
2.1.
Các công cụ làm việc
Thời gian: 2 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, thực tập sinh được hướng dẫn 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, Visual Studio - một IDE 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, Asana - quản lý tiến độ
làm việc.
12
Ngồi ta, vì là dự án đặc thù nên lập trình viên phải tìm hiểu thêm về các cơng cụ
vẽ kỹ thuật liên quan, cụ thể ở đây là AutoCAD và IjCAD.
Thực hiện: Thực tập sinh tiến hành tìm hiểu và sử dụng các cơng cụ đã được nêu
phía trên.
Kết quả: Thành thạo các công cụ được sử dụng trong công ty, nắm rõ công cụ nào
được dùng khi nào và cho mục đích gì, đảm bảo quy trình làm việc trơn tru cho cơng ty.
2.2.
Tìm hiểu về các phần mềm vẽ kỹ thuật và cách thao tác với chúng thơng
qua Api
Thời gian: 5 ngày
Nội dung: Tìm hiểu về 2 phần mềm vẽ kỹ thuật được chỉ định là AutoCAD và
IjCAD. Học cách sử dụng 2 phần mềm này để thiết kế thử một số bản vẽ cơ bản.
Ngoài ta, cịn tìm hiểu CAD Api, các thao tác cơ bản tương tác với các công cụ
vẽ, …
Thực hiện: Thực tập sinh tiến hành tìm hiểu và sử dụng các cơng cụ đã được nêu
phía trên.
Kết quả: Biết cách sử dụng cơ bản của 2 công cụ vẽ kỹ thuật, nắm được nội dung
tài liệu về lập trình command cho CAD.
2.3.
Tìm hiểu ngôn ngữ C# nâng cao
Thời gian: 5 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 cần lưu ý về việc lập trình command cho các phần mềm vẽ kỹ thuật.
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ụ 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.
13
Thực hiện: Tham gia đầy đủ tất cả các buổi training của cơng ty. Nghiêm túc tự
giác tìm hiểu, thực hiện, hoàn thành các bài tập được giao.
Kết quả: Nâng cao kỹ năng lập trình với ngơn ngữ C#, có được các kiến thức
quan trọng cho việc lập trình sau này, biết thêm nhiều quy tắc về việc trình bày code cho
dễ đọc, dễ hiểu.
2.4.
Lập trình command cơ bản với CAD Api và AutoCAD
Thời gian: 5 ngày
Nội dung: Được mentor hướng dẫn cách thực hiện 1 task(ở đây là một command
cơ bản – command vẽ vòng tròn circle). Hiểu được cách khai báo các file các thư mục
như thế nào cho đúng chuẩn, cách mà một command được gọi và thực thi, biết được một
số thao tác liên quan đến tương tác người dùng và cơ sở dữ liệu trong runntime. Được
memtor giao cho 1 task bài tập(ở đây là command vẽ tia - ray).
Thực hiện: Chú ý tập trung hiểu được nội dung trình bày, đưa ra thắc mắc khi gặp
phải vấn đề. Nghiêm túc thực hiện bài tập được giao theo đúng tiến độ.
Kết quả: Nắm được các kỹ thuật để lập trình nên một command chạy trong phần
mềm vẽ kỹ thuật.
2.5.
Tìm hiểu thực hiện AutoTest trên IjCAD
Thời gian: 5 ngày
Nội dung: Được mentor hướng dẫn cách thực hiện một AutoTest cho một
command nào đó cho phần mềm vẽ kỹ thuật IjCad. Hiểu được cách một lệnh AutoTest
hoạt động, cách nó giả lập hành vi người dùng để tương tác với phần mềm vẽ kỹ thuật
dựa theo kịch bản đã lập ra. Được mentor giao cho 1 task bài tập thực hiện AutoTest cho
command Ray.
Thực hiện: Chú ý tập trung hiểu được nội dung trình bày, đưa ra thắc mắc khi
gặp phải vấn đề. Nghiêm túc thực hiện bài tập được giao theo đúng tiến độ.
Kết quả: Nắm được các kỹ thuật để lập trình nên một lệnh AutoTest có thể thực
hiện được.
3. Thực hiện project
14
Sau một tháng đượ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#, CAD Api. 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 các task được giao trong dự án đang được
công ty thực hiện.
4. Lịch làm việc
Mức
Tuần
Công việc
Người hướng dẫn
độ
Nhận xét của người
hồn
hướng dẫn
thành
-
Tìm hiểu về cơng ty,
Chị Lê Bê Ly
100%
cách tổ chức của công
Nắm rõ quy định của
công ty
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
Tìm hiểu về các phần
Anh Xuân Nghiêm
100%
Tìm hiểu nhanh
mềm vẽ kỹ thuật và
chóng và biết được
thao tác với chúng
cách sử dụng cơ bản
thông qua CAD Api
của các phần mềm vẽ
kỹ thuật. Biết cách
giao tiếp với nó
thơng qua Api.
3
-
Tìm hiểu ngơn ngữ lập
Anh Xn Nghiêm
100%
Tìm hiểu nhanh
-
trình C# nâng cao
chóng và nắm được
-
Thực hành C#
các nội dung được
-
Làm bài test C#
truyền đạt, hoàn
15
thành tốt các bài tập
được giao.
-
4
-
Tìm hiểu về cách tạo ra
Anh Xn Nghiêm
100%
Tìm hiểu nhanh
một command cơ bản
chóng và nắm được
Thực hành tạo ra một
các nội dung được
command được giao
truyền đạt, hồn
thành tốt các bài tập
được giao.
-
5
-
-
Tìm hiểu về cách thực
Anh Xn Nghiêm
100%
Tìm hiểu nhanh
hiện AutoTest cho một
chóng và nắm được
command
các nội dung được
Thực hành viết
truyền đạt, hoàn
AutoTest cho một
thành tốt các bài tập
command
được giao.
Thực hiện tạo ra
Anh Minh Trí
command Ray trên
100%
Hoàn thành đúng tiến
độ
AutoCad
6
Thực hiện tạo ra
command Ray trên
IjCad
-
Thực hiện viết
AutoTest cho command
Ray trên IjCad
-
Thực hiện tạo ra
command Base trên
7
AutoCad
-
Thực hiện tạo ra
command Base trên
Anh Minh Trí
Hồn thành đúng tiến
độ
16
IjCad
-
Thực hiện viết
AutoTest cho command
Base trên IjCad
-
Thực hiện tạo ra
Anh Minh Trí
command Fill trên
Hồn thành đúng tiến
độ
AutoCad
8
Thực hiện tạo ra
command Fill trên
IjCad
-
Thực hiện viết
AutoTest cho command
Fill trên IjCad
-
Thực hiện tạo ra
Anh Minh Trí
command Group trên
Hồn thành đúng tiến
độ
AutoCad
9
Thực hiện tạo ra
command Group trên
IjCad
-
Thực hiện viết
AutoTest cho command
Group trên IjCad
-
Thực hiện tạo ra
command HideObjects
10
trên AutoCad
-
Thực hiện tạo ra
command HideObjects
trên IjCad
Anh Minh Trí
Hồn thành đúng tiến
độ
17
-
Thực hiện viết
AutoTest cho command
HideObjects trên IjCad
18
CHƯƠNG 3: Chi tiết về project
1. Giới thiệu về dự án
1.1
Sự ra đời
Ngày nay yêu cầu vẽ kỹ thuật ngày càng trở nên phổ biến, dễ thấy nhất là
trong xây dựng và cơ khí. Câu hỏi được đặt ra ở đây là gì, vậy trên thị trường,
ngồi AutoCad ra thì cịn được bao nhiêu phần mềm có thể đáp ứng được đầy đủ
các tác vụ mà các kỹ sư cần có để thực hiện xây dựng nên bản vẽ kỹ thuật, thứ 2 là
liệu sau này việc các công ty phát triển nên các phần mềm vẽ kỹ thuật khác cho
các lĩnh vực khác liệu có dễ dàng hay khơng hay vẫn phải phụ thuộc vào AutoCad
để phát triển nên.
Sứ mệnh của công ty là tạo ra một sản phẩm mà ở đó có thể cung cấp một
bộ khung hồn chỉnh cho các phần mềm vẽ kỹ thuật, cung cấp hầu như là đầy đủ
các lệnh vẽ cơ bản hiện nay, ngồi ra cịn có nhiều document và các phương thức
để các cơng ty sau này khi mua lại có thể dễ đàng phát triển theo lĩnh vực mà mình
mong muốn. Xóa bỏ đi vị thế độc tơn của AutoCad khi mà license của nó cũng
khơng phải là rẻ.
1.2
Mục tiêu
Trong vịng 5 năm, đội ngũ phát triển cần phải hồn thành sản phẩm với
chất lượng tốt nhất để có thể đưa ra thị trường thương mại hóa, bước sang
giai đoạn bảo trì.
2. Kế hoạch
Để thực hiện dự án, cơng ty chia team CAD thành nhiều team đảm nhận
nhiều mảng khác nhau của dự án, có thể nêu lên 2 mảng chính thứ nhất là xây
dựng khung vẽ và thứ 2 là xây dựng các command. Ở đây vì được ứng tuyển vào
19
nhóm thực hiện command nên em chỉ đề cập đến kế hoạch làm việc ở team làm
command.
Trong quá trình phát triển phần mềm, mỗi năm, bên phía cơng ty mẹ sẽ đưa
ra một danh sách các command cần được thực hiện trong năm. Việc của team là
phân loại các command theo độ khó, ước lượng thời gian và phân chia cho các
thành viên thực hiện.
Một command được coi như là hoàn thành nếu đã trải qua các giai đoạn:
Thực hiện trên AutoCAD
Thực hiện trên IjCAD
Self-check
Cross-review
Bàn giao cho tetster và fix bug nếu có
Thực hiện AutoTest trên IjCad
Project lead review
CHƯƠNG 4: Tài liệu tham khảo
For TGL: /> For C#: /> For .Net: /> For AutoCad: />
For IjCad: />
20
CHƯƠNG 5: Tổng kết
Như vậy, chỉ trong vòng một tháng ngắn ngủi, bản thân tuy khơng đóng góp được nhiều
nhưng một phần nào đó đã hồn thành tốt các u cầu được giao, góp một phần cơng sức nào đó
cho sự phát triển và thành công của dự án sau này.
Chân thành cảm ơn sự giúp đỡ của các anh nhóm team CAD, cũng như mọi người trong
cơng ty đã tạo điều kiện cho em có thể hồn thành tốt kỳ thực thực tập.