1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO cáo THỰC tập PHÁT TRIỂN CHỨC NĂNG CHO PHẦN mềm IJCAD BẰNG c và NET FRAMEWORK

25 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 1,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP PHÁT TRIỂN CHỨC NĂNG CHO PHẦN MỀM IJCAD BẰNG C# VÀ .NET FRAMEWORK Công ty thực tập: TGL SOLUTIONS Sinh viên thực hiện: Trần Huy Quỳ

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP PHÁT TRIỂN CHỨC NĂNG CHO PHẦN MỀM IJCAD BẰNG C# VÀ NET FRAMEWORK

Công ty thực tập: TGL SOLUTIONS Sinh viên thực hiện: Trần Huy Quỳnh - 18521329 Người phụ trách hướng dẫn: Nguyễn Mạnh Toàn

Thành phố Hồ Chí Minh, tháng 12 2021

Trang 2

LỜI MỞ ĐẦU

Với sự phát triển nhanh chóng mặt của thị trường phần mềm, có rất nhiều hướng đi

và cách phát triển phần mềm khác nhau, ngoài việc lên ý tưởng để phát triển một phần mềm từ đầu, thì việc phát triển và cập nhật những hệ thống hay phần mềm có sẵn cũng là một xu trong ngành công nghiệp phần mềm trên thế giới

Sau những học kì 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 trải nghiệm và làm việc trong một môi trường chuyên nghiệp, em đã quyết định là sẽ thực tập Vì vậy, em quyết định chọn Công ty cổ phần TGL Solutions - 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

kỳ thực tập này

Trang 3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn đến Công ty cổ phần TGL Solutions đã tạo điều kiện cho

em có cơ hội được thực tập tại công ty

Kỳ thực tập tuy ngắn, nhưng em đã được học rất nhiều thứ từ sự chỉ dẫn nhiệt tình của các anh trong team Em không những học được những kỹ thuật, kiến thức trong các dự

án thực tế, mà còn tích góp được cho bản thân những kinh nghiệm khi làm một nhân viên trong công ty, cách giao tiếp, làm việc nhóm trong các dự án chung Chân thành cảm ơn các anh chị đã giúp đỡ, hướng dẫn cũng như theo sát để góp ý em trong suốt quá trình thực tập

Đặc biệt em xin gửi lời cảm ơn sâu sắc đến anh Nguyễn Mạnh Toàn, training cho

em rất nhiều về kiến thức C#, Net Framework, đến những khó khăn trong việc làm quen với môi trường mới, cũng được anh chỉ dẫn rất tận tình Với kiến thức rộng và sâu của anh, em đã học hỏi được rất nhiều Ngoài ra, em xin gửi lời cảm ơn đến anh Nguyễn Xuân Nghiêm đã hỗ trợ anh Toàn training chuyên sâu tăng cường về C# Em cũng xin gửi lời cảm ơn đến anh Lê Thành Lộc, người hướng dẫn em trong giai đoạn tìm hiểu nghiệp vụ Anh đã hỗ trợ em rất nhiều về kiến thức nghiệp vụ của sản phẩm CAD, cũng như quy trình làm việc và cách thức sử dụng các công cụ Asana, SourceTree, …

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

Trần Huy Quỳnh TPHCM, ngày 20 tháng 12 năm 2021

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

Mục lục

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

1 Giới thiệu công ty: 5

2 Sản phẩm của công ty: 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: 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 ngôn ngữ C#: 12

2.3 Tìm hiểu về NET Framework: 13

2.4 Tìm hiểu WPF: 15

2.5 Tìm hiểu về mô hình MVVM: 16

3 Thực hiện project: 17

4 Lịch làm việc: 17

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

1 Giới thiệu về project IJCAD: 20

2 Thực hiện: 20

3 Kế hoạch: 20

4 Kết quả: 20

4.1 Command WBLOCK: 20

4.2 Command ArrayClassic: 22

TÀI LIỆU THAM KHẢO 23

TỔNG KẾT 24

Trang 6

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

1 Giới thiệu công ty:

Công ty cổ phần TGL Solutions được thành lập vào tháng 07/2019 với hai thành viên Từ khi thành lập cho đến nay, công ty luôn phát triển không ngừng và đặt mục tiêu phát triển liên tục vững mạnh hơn nữa trong thời gian tới

Hiện có hơn 40 kỹ sư tài năng đang làm việc, cùng nhau xây dựng hình ảnh TGL năng động và chuyên nghiệp trên bản đồ công nghệ thông tin

Phương châm: Smart & Speed Solutions

Tạo ra solutions một cách thông minh và nhanh chóng nhất

Giá trị cốt lõi: Xây dựng công ty với 2 giá trị cốt lõi là: NHÂN HOÀ

NHÂN: là con người Tôn chỉ của TGL Solutions chính là xây dựng công ty lấy con người làm trung tâm Lợi nhuận thu được từ việc kinh doanh sẽ được dùng để đầu tư về trang thiết bị để tạo môi trường làm việc tốt hơn, đầu tư các khóa đào tạo

để nâng cao kỹ năng cho mọi người Bên cạnh đó, sẽ có các kỳ bonus theo dự án (không định kỳ), các kỳ đánh giá tăng lương 2 lần/năm

Hòa: là sự hoà hợp, là sự đồng thuận, đồng lòng Khi bàn luận về một vấn đề, chúng ta có thể thoải mái tranh luận, thoải mái góp ý Sẽ có một lãnh đạo đưa ra quyết định cuối cùng và chịu trách nhiệm về quyết định của mình

Trang 7

Định hướng công ty: Tăng số lượng nhân viên lên 40+ vào tháng 12/2021, 100 nhân viên vào tháng 12/2022

Tiếp tục đi theo hướng chính là outsourcing trong vòng 3 năm tới:

- Theo xu hướng chung của thế giới là cloud services Công ty sẽ mở rộng

service từ AWS ra GCP và Azure Chinh phục SaaS (Salesforce)

- Xông pha vào một lĩnh vực hẹp, ở đó IT chưa phát triển lắm và còn ít đối thủ cạnh tranh Hiện tại công ty đang hợp tác với 1 kiến trúc sư rất giỏi người Nhật

để phát triển các projects liên quan đến xây dựng nhà ở, kiến trúc

2 Sản phẩm của công ty:

Những sản phẩm phần mềm của TGL Solutions được phát triển nhắm tới tệp khách hàng rất đa dạng, từ trong nước cho tới ngoài nước, từ chính phủ cho tới các doanh nghiệp, tập đoàn lớn Là một công ty chuyên cung cấp các giải pháp, các sản phẩm trải rộng trên nhiều lĩnh vực TGL Solutions chuyên cung cấp các sản phẩm phần mềm phục vụ nhiều loại hình dịch vụ khác nhau, đem lại trải nghiệm tốt nhất cho người dùng

Một số dự án nổi bật:

MIRAI EC System

1 Tính năng:

- Tính năng đặt hàng, mua bán sản phẩm, tích lũy và đổi point

- Góc VR Showroom, góc video giới thiệu sản phẩm của các nhà sản xuất

- Tính năng livestream: Các streamer có thể thực hiện tổ chức livestream, lên lịch livestream Người dùng có thể xem livestream của các streamer và mua hàng trực tiếp

- Tính năng đấu giá sản phẩm: Các streamer có thể tổ chức đấu giá sản phẩm Người dùng có thể tham gia đấu giá sản phẩm, người đấu giá thành công có thể thực hiện order với giá thắng

Trang 8

- Trang admin: Trang admin: Quản lý sản phẩm, quản lý đặt hàng, số points, doanh thu ; Xuất excel theo đơn đặt hàng, theo sản phẩm, theo người

thống gửi mail thông báo các trạng thái của đơn đặt hàng, trạng thái thay đổi points đến người dùng và người chịu trách nhiệm đơn hàng.

2 Công nghệ sử dụng:

- NextJs, Ant Design, Agora, Socket, GraphQL, webRTC, NestJs,Base Web

APP HỖ TRỢ TẠO BÁO CÁO HÀNG TUẦN (WEEKLY REPORT)

1 Tính năng:

- Hỗ trợ tự động thu thập dữ liệu cho báo cáo hàng tuần

- Tổng hợp xuất file báo cáo ra excel

- Tối ưu hóa thời gian tạo báo cáo từ 3 giờ -> xuống còn 10 phút

Trang 9

2 Công nghệ sử dụng:

- WPF, Oracle, MySQL, ClickOnce (Tính năng tự động cập nhật)

APP QUAY SỐ ĐA CHỨC NĂNG (QUAY SỐ ONLINE/ TRỰC TIẾP/ QR CODE)

1 Tính năng:

- Quay số online hoặc trực tiếp tại cửa hàng

- Quản lý thông tin người quay số, kết quả xổ số, thiết lập tỉ lệ xổ số mong

muốn

- Tùy chỉnh thiết kế thích hợp với user dựa trên mô hình SaaS

Trang 10

2 Công nghệ sử dụng:

- ReactJS (Nextjs), Oracle, GraphQL, NestJS

Trang 11

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

Chương trình thực tập dành cho nhân viên mới đi kèm với đánh giá chất

lượng nhân sự đầu vào của TGL được chia làm hai giai đoạn: Giai đoạn

training kiến thức cơ bản và giai đoạn tham gia vào project thực tế

Giai đoạn training kiến thức cơ bản:

practices, coding convention, performance, và những quy tắc coding khác cần tuân theo trong dự án

trong đó yêu cầu sản phẩm phải áp dụng các kiến thức đã được training trước đó

tiến hành soạn slide, thuyết trình về những kiến thức đã học được trong quá trình training Các anh chị sẽ đặt câu hỏi, đọc source code chi tiết để xem xét việc những quy tắc, các best-practices đã được áp dụng vào sản phẩm hay chưa

Giai đoạn tham gia vào project thực tế:

- Trainer sẽ thực hiện hướng dẫn về nghiệp vụ (business) của sản phẩm

- Sau khi training, thực tập sinh sẽ thực hiện một số tính năng của sản phẩm Leader và mentor sẽ theo dõi kết quả hằng ngày để đánh giá chất lượng công việc của thực tập sinh

- Sau khi hoàn thành, thực tập sinh sẽ trở thành nhân viên chính thức của công ty nếu có nguyện vọng

Trang 12

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ề quy định 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 Solutions, 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, dropbox 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, thiết lập các công cụ sẽ được sử dụng trong quá trình làm

việc

Trong thời gian này, trainer đã 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 Visual Studio – một môi trường phát triển tích hợp (IDE) từ Microsoft, Sourcetree – công cụ trực quan để quản lý phiên bản mã nguồn trong dự án, Dropbox – một dịch vụ lưu trữ tập tin trực tuyến miễn phí, Asana – một trong những phần mềm quản lý dự án phổ biến nhất hiện nay

Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên

Kết quả : Thực tập sinh có thể sử dụng thành thạo các công cụ trên, áp dụng hiệu

quả vào công việc

Trang 13

- Tham gia đầy đủ các buổi training của công ty

- Tìm kiếm thêm các tài liệu về các kiến thức nêu trên

- 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#

- 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

Trang 14

2.3 Tìm hiểu về NET Framework:

Thời gian : 3 ngày

Nội dung : Tìm hiểu các kiến thức về NET Framework như:

- NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft Các chương trình được viết trên nền NET Framework sẽ được triển khai trong môi trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên Common Language Runtime (CLR) Môi trường phần mềm này là một máy ảo trong đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory management), và các xử lý lỗi

ngoại lệ (exception handling)

Trang 15

- NET framework bao gồm tập các thư viện lập trình lớn, và những thư viện này hỗ trợ việc xây dựng các chương trình phần mềm như lập trình giao diện; truy cập, kết nối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếp mạng CLR cùng với bộ thư viện này là 2 thành phần chính

- Tham gia đầy đủ các buổi training của công ty

- Tìm kiếm thêm các tài liệu về các kiến thức nêu trên

- Làm các bài kiểm tra về kiến thức đã học

Kết quả :

- Hiểu và có thể áp dụng vào dự án thực tế

Trang 16

- Tham gia đầy đủ các buổi training của công ty

- Tìm kiếm thêm các tài liệu về các kiến thức nêu trên

- Làm các bài thực hành, kiểm tra về kiến thức đã học

- Tạo ra 1 giao diện demo

Trang 17

Kết quả :

- Hiểu được và có thể thiết kế giao diện bằng WPF

2.5 Tìm hiểu về mô hình MVVM:

Thời gian : 5 ngày

Nội dung : MVVM là viết tắt của Model - View - ViewModel, đây là mô hình

hỗ trợ two-way data binding giữa View và View Model MVVM gồm:

dụng để hiển thị dữ liệu và nhận tương tác của người dùng Một điểm khác biệt so với các ứng dụng truyền thống là View trong mô hình này tích cực hơn Nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thông qua tính năng binding, command

truy xuất và thao tác trên dữ liệu thực sự

xem là thành phần thay thế cho Controller trong mô hình MVC Nó chứa các

mã lệnh cần thiết để thực hiện data binding, command

- Trong mô hình MVVM, các tầng bên dưới sẽ không biết được các thông tin

gì về tầng bên trên nó

Thực hiện :

- Tham gia đầy đủ các buổi training của công ty

Trang 18

- Tìm kiếm thêm các tài liệu về các kiến thức nêu trên

- Làm các bài thực hành, kiểm tra về kiến thức đã học

Chi tiết đồ án sẽ được nói ở chương 3

Nhận xét của người hướng 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, microsoft teams

Anh Nguyễn Mạnh Toàn

Trang 19

kiến thức quan trọng cho việc tối ưu code

- Thực hành C#

- Làm bài test C#

3

- Tìm hiểu về Net Framework, kiến trúc và các thành phần của Net Framework

- Tìm hiểu về CLR và các thư viện hỗ trợ

- Làm báo cáo và trình bày sau khi tìm hiểu

Anh Nguyễn Mạnh Toàn

4

- Tìm hiểu về WPF

- Các thành phần, kiến trúc của WPF

- Cách thiết kế giao diện, xử

lý dữ liệu

- Thực hành tạo ra một giao diện

Anh Nguyễn Mạnh Toàn

6

- Tổng hợp lại các kiến thức

đã học vào báo cáo và thuyết trình trước leader, trainer

Anh Nguyễn Mạnh Toàn Anh Nguyễn Xuân

Nghiêm

Trang 20

- Kết hợp các kiến thức đã học để tạo ra một phần mềm nhỏ

7->12

Giai đoạn tham gia project

thực tế:

- Được training về nghiệp vụ

và các yêu cầu khi tham gia dự án

- Đọc hiểu code hiện có của

dự án

- Tiến hành làm các task nhỏ được phân công

- Chịu trách nhiệm về một chức năng của project

- Ngày cuối của chương trình thực tập sẽ được manager, leader, trainer đánh giá chất lượng công việc của thực tập sinh

Anh Nguyễn Mạnh Toàn Anh Nguyễn Xuân

Nghiêm

Trang 21

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

1 Giới thiệu về project IJCAD:

IJCAD là phần mềm CAD tương thích với AutoCAD được phát triển bởi

IntelliJapan Cho đến năm 2013, IntelliCAD đã được thương mại hóa theo thị trường Nhật Bản bằng cách bổ sung các thông số kỹ thuật gốc và cải thiện hiệu suất Kể từ năm 2014, nó đã được phát triển độc lập và thương mại hóa dựa trên Teigha được cung cấp bởi nguồn vốn ODA mà không sử dụng IntelliCAD

Người dùng sử dụng IJCAD để vẽ (tạo) bản vẽ kỹ thuật bằng vectơ 2D hay bề mặt 3D

IJCAD đã có sẵn và được sử dụng nhiều Nhiệm vụ của team phát triển là tạo các chức năng mới, command; cập nhật, sửa những chức năng đã có để giúp người dùng có thể dễ dàng, thuận tiện trong quá trình sử dụng phần mềm

2 Thực hiện:

Thực tập sinh Trần Huy Quỳnh cùng sự hỗ trợ, giúp đỡ tận tình của các anh chị menter trong team project IJCAD Đặc biêt là anh Nguyễn Xuân Nghiêm(PM) và anh Nguyễn Mạnh Toàn(Menter) của project

3 Kế hoạch:

Dự án được chia làm nhiều phase, mối phase sẽ kéo dài 3 tháng

Nhiệm vụ trong mỗi phase:

- Hoàn thành các chức năng, command từ yêu cầu của khách hàng

- Cập nhật, sửa các chức năng, command bị lỗi

4 Kết quả:

4.1 Command WBLOCK:

Lệnh Wblock (lệnh w trong cad) là lệnh để lưu một block hoặc một số đối tượng của bản vẽ hiện hành thành một file bản vẽ mới

Trang 22

Hình 1: Dialog WBLOCK

Trang 23

4.2 Command ArrayClassic:

Lệnh ArrayClassic có tác dụng sao chép các đối tượng thành một dãy cụ thể theo hàng hoặc cột Các dãy đối tượng này sẽ được sắp xếp theo tỉ lệ cân bằng

Hình 2: Dialog Array

Ngày đăng: 10/03/2022, 20:35

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w