Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
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
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM 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 Tồn Thành phố Hồ Chí Minh, tháng 12 2021 LỜI MỞ ĐẦU Với phát triển nhanh chóng mặt thị trường phần mềm, có nhiều hướng cách phát triển phần mềm khác nhau, việc lên ý tưởng để phát triển phần mềm từ đầu, việc phát triển cập nhật hệ thống hay phần mềm có sẵn xu ngành công nghiệp phần mềm giới Sau học kì học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia trải nghiệm làm việc môi trường chuyên nghiệp, em định thực tập Vì vậy, em định chọn Cơng ty cổ phần TGL Solutions - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực tập Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 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ó hội thực tập công ty Kỳ thực tập ngắn, em học nhiều thứ từ dẫn nhiệt tình anh team Em khơng học kỹ thuật, kiến thức dự án thực tế, mà cịn tích góp cho thân kinh nghiệm làm nhân viên công ty, cách giao tiếp, làm việc nhóm dự án chung Chân thành cảm ơn anh chị giúp đỡ, hướng dẫn theo sát để góp ý em suốt 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 nhiều kiến thức C#, Net Framework, đến khó khăn việc làm quen với môi trường mới, anh dẫn tận tình Với kiến thức rộng sâu anh, em học hỏi 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 C# Em xin gửi lời cảm ơn đến anh Lê Thành Lộc, người hướng dẫn em giai đoạn tìm hiểu nghiệp vụ Anh hỗ trợ em nhiều kiến thức nghiệp vụ sản phẩm CAD, quy trình làm việc cách thức sử dụng công cụ Asana, SourceTree, … Cũng xin cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Trần Huy Quỳnh TPHCM, ngày 20 tháng 12 năm 2021 Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh NHẬN XÉT CỦA KHOA Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh Mục lục Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty: Sản phẩm công ty: Chương 2: Nội dung thực tập 10 Tìm hiểu cơng ty kỹ công ty: 11 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 NET Framework: 13 2.4 Tìm hiểu WPF: 15 2.5 Tìm hiểu mơ hình MVVM: 16 Thực project: 17 Lịch làm việc: 17 Chương 3: Chi tiết project 20 Giới thiệu project IJCAD: 20 Thực hiện: 20 Kế hoạch: 20 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 Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty: Công ty cổ phần TGL Solutions thành lập vào tháng 07/2019 với hai thành viên Từ thành lập nay, công ty phát triển không ngừng đặt mục tiêu phát triển liên tục vững mạnh thời gian tới Hiện có 40 kỹ sư tài làm việc, xây dựng hình ảnh TGL động chuyên nghiệp đồ công nghệ thông tin Phương châm: Smart & Speed Solutions Tạo solutions cách thơng minh nhanh chóng Giá trị cốt lõi: Xây dựng công ty với giá trị cốt lõi là: NHÂN HOÀ NHÂN: người Tơn TGL Solutions xây dựng công ty lấy người làm trung tâm Lợi nhuận thu từ việc kinh doanh dùng để đầu tư trang thiết bị để tạo môi trường làm việc tốt hơn, đầu tư khóa đào tạo để nâng cao kỹ cho người Bên cạnh đó, có kỳ bonus theo dự án (không định kỳ), kỳ đánh giá tăng lương lần/năm Hịa: hồ hợp, đồng thuận, đồng lòng Khi bàn luận vấn đề, thoải mái tranh luận, thoải mái góp ý Sẽ có lãnh đạo đưa định cuối chịu trách nhiệm định Người hướng dẫn: Nguyễn Mạnh Tồn Sinh viên thực tập: Trần Huy Quỳnh Đị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 theo hướng outsourcing vịng năm tới: - Theo xu hướng chung giới cloud services Công ty mở rộng service từ AWS GCP Azure Chinh phục SaaS (Salesforce) - Xông pha vào lĩnh vực hẹp, IT chưa phát triển cịn đối thủ cạnh tranh Hiện cơng ty hợp tác với kiến trúc sư giỏi người Nhật để phát triển projects liên quan đến xây dựng nhà ở, kiến trúc Sản phẩm công ty: Những sản phẩm phần mềm TGL Solutions phát triển nhắm tới tệp khách hàng đa dạng, từ nước nước, từ phủ doanh nghiệp, tập đồn lớn Là công ty chuyên cung cấp giải pháp, sản phẩm trải rộng nhiều lĩnh vực TGL Solutions chuyên cung cấp 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 cho người dùng Một số dự án bật: MIRAI EC System Tính năng: - Tính đặt hàng, mua bán sản phẩm, tích lũy đổi point - Góc VR Showroom, góc video giới thiệu sản phẩm nhà sản xuất - Tính livestream: Các streamer thực tổ chức livestream, lên lịch livestream Người dùng xem livestream streamer mua hàng trực tiếp - Tính đấu giá sản phẩm: Các streamer tổ chức đấu giá sản phẩm Người dùng tham gia đấu giá sản phẩm, người đấu giá thành công thực order với giá thắng Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh - 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 dùng ; Có thể tạo link quickLogin đăng nhập vào trang Top, Admin; Có hệ thống gửi mail thông báo trạng thái đơn đặt hàng, trạng thái thay đổi points đến người dùng người chịu trách nhiệm đơn hàng 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) Tính năng: - Hỗ trợ tự động thu thập liệu cho báo cáo hàng tuần - Tổng hợp xuất file báo cáo excel - Tối ưu hóa thời gian tạo báo cáo từ -> xuống cịn 10 phút Người hướng dẫn: Nguyễn Mạnh Tồn Sinh viên thực tập: Trần Huy Quỳnh Công nghệ sử dụng: - WPF, Oracle, MySQL, ClickOnce (Tính tự động cập nhật) APP QUAY SỐ ĐA CHỨC NĂNG (QUAY SỐ ONLINE/ TRỰC TIẾP/ QR CODE) Tính năng: - Quay số online trực tiếp cửa hàng - Quản lý thông tin người quay số, kết 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 mơ hình SaaS Người hướng dẫn: Nguyễn Mạnh Tồn Sinh viên thực tập: Trần Huy Quỳnh Công nghệ sử dụng: - ReactJS (Nextjs), Oracle, GraphQL, NestJS Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 10 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 kèm với đánh giá chất lượng nhân đầu vào TGL chia làm hai giai đoạn: Giai đoạn training kiến thức giai đoạn tham gia vào project thực tế Giai đoạn training kiến thức bản: - Trainer tiến hành hướng dẫn kiến thức công nghệ, best practices, coding convention, performance, quy tắc coding khác cần tuân theo dự án - Kết thúc training, trainer yêu cầu thực cài đặt số chức năng, yêu cầu sản phẩm phải áp dụng kiến thức training trước - Trong ngày cuối training ngày đánh giá Thực tập sinh tiến hành soạn slide, thuyết trình kiến thức học trình training Các anh chị đặt câu hỏi, đọc source code chi tiết để xem xét việc quy tắc, best-practices áp dụng vào sản phẩm hay chưa Giai đoạn tham gia vào project thực tế: - Trainer thực hướng dẫn nghiệp vụ (business) sản phẩm - Sau training, thực tập sinh thực số tính sản phẩm Leader mentor theo dõi kết ngày để đánh giá chất lượng công việc thực tập sinh - Sau hoàn thành, thực tập sinh trở thành nhân viên thức cơng ty có nguyện vọng Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 11 Tìm hiểu cơng ty kỹ công ty: Thời gian: ngày Nội dung: Giới thiệu công ty, cách tổ chức công ty - Được nghe người phụ trách giới thiệu cơng ty, q trình thành lập 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ơng ty - Ngồi ra, thực tập sinh cịn giới thiệu quy định làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email công việc… Kết quả: Hiểu thêm công ty TGL Solutions, trình thành lập phát triển Có thêm kỹ việc sử dụng email, dropbox công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật: 2.1 Các công cụ làm việc: Thời gian : ngày Nội dung : Tìm hiểu, thiết lập cơng cụ sử dụng 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 cơng cụ giúp ích cho cơng việc sau Một số phần mềm số Microsoft Visual Studio – 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 mã nguồn dự án, Dropbox – dịch vụ lưu trữ tập tin trực tuyến miễn phí, Asana – phần mềm quản lý dự án phổ biến Thực : Thực hành sử dụng phần mềm nêu Kết : Thực tập sinh sử dụng thành thạo công cụ trên, áp dụng hiệu vào công việc Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 12 2.2 Tìm hiểu ngơn ngữ C#: Thời gian : ngày Nội dung : - Ôn lại kiến thức C#, ôn lại OOP, cú pháp bản, lớp đối tượng, interface, kế thừa - Được training kỹ thuật C# nâng cao, ArrayList, Dictionary, Hashtable, Stack, Quece, kiến thức quan trọng cho việc tối ưu code Thực : - Tham gia đầy đủ buổi training cơng ty - Tìm kiếm thêm tài liệu kiến thức nêu - Làm thực hành, kiểm tra kiến thức học Kết : - Nâng cao kỹ lập trình với ngơn ngữ C# - Ngồi biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 13 2.3 Tìm hiểu NET Framework: Thời gian : ngày Nội dung : Tìm hiểu kiến thức NET Framework như: - NET Framework tảng lập trình tảng thực thi ứng dụng chủ yếu hệ điều hành Microsoft Windows phát triển Microsoft Các chương trình viết NET Framework triển khai môi trường phần mềm (ngược lại với môi trường phần cứng) biết đến với tên Common Language Runtime (CLR) Môi trường phần mềm máy ảo cung cấp dịch vụ an ninh phần mềm (security), quản lý nhớ (memory management), xử lý lỗi ngoại lệ (exception handling) Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 14 - NET framework bao gồm tập thư viện lập trình lớn, thư viện hỗ trợ việc xây dựng chương trình phần mềm lập trình giao diện; truy cập, kết nối sở liệu; ứng dụng web; giải thuật, cấu trúc liệu; giao tiếp mạng CLR với thư viện thành phần của.NET framework - NET framework đơn giản hóa việc viết ứng dụng cách cung cấp nhiều thành phần thiết kế sẵn, người lập trình cần học cách sử dụng tùy theo sáng tạo mà gắn kết thành phần lại với Thực : - Tham gia đầy đủ buổi training cơng ty - Tìm kiếm thêm tài liệu kiến thức nêu - Làm kiểm tra kiến thức học Kết : - Hiểu áp dụng vào dự án thực tế Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 15 2.4 Tìm hiểu WPF: Thời gian : ngày Nội dung : - Tìm hiểu WPF gì? - Các thành phần, kiến trúc WPF - Cách thiết kế giao diện - Xử lý liệu(cơ chế Binding) Thực : - Tham gia đầy đủ buổi training công ty - Tìm kiếm thêm tài liệu kiến thức nêu - Làm thực hành, kiểm tra kiến thức học - Tạo giao diện demo Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 16 Kết : 2.5 Hiểu thiết kế giao diện WPF Tìm hiểu mơ hình MVVM: Thời gian : ngày Nội dung : MVVM viết tắt Model - View - ViewModel, mơ hình hỗ trợ two-way data binding View View Model MVVM gồm: - View: Tương tự mơ hình MVC, View phần giao diện ứng dụng để hiển thị liệu nhận tương tác người dùng Một điểm khác biệt so với ứng dụng truyền thống View mơ hình tích cực Nó có khả thực hành vi phản hồi lại người dùng thơng qua tính binding, command - Model: Cũng tương tự mơ hình MVC Model đối tượng giúp truy xuất thao tác liệu thực - ViewModel: Lớp trung gian View Model ViewModel xem thành phần thay cho Controller mô hình MVC Nó chứa mã lệnh cần thiết để thực data binding, command - Trong mơ hình MVVM, tầng bên thông tin tầng bên Thực : - Tham gia đầy đủ buổi training công ty Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 17 - Tìm kiếm thêm tài liệu kiến thức nêu - Làm thực hành, kiểm tra kiến thức học - Tạo demo Kết : - Nắm kiến thức mơ hình MVVM áp dụng vào dự án thực tế Thực project: Sau tháng training công cụ, công nghệ, kiến thức từ đến nâng cao C#, thực tập sinh nắm kỹ thuật nội dung lập trình Thực tập sinh tham gia vào dự án thật công ty Chi tiết đồ án nói chương Lịch làm việc: - ngày/ tuần Tuần Cơng việc - Tìm hiểu công ty, cách tổ chức công ty - Người hướng dẫn Mức độ hoàn thành Nhận xét người hướng dẫn Chị Lê Bê Ly Làm quen với công cụ làm việc công ty - Học cách trao đổi, làm việc qua email, microsoft teams - Ôn lại kiến thức C#, OOP - Anh Nguyễn Mạnh Toàn Được training kỹ thuật C# nâng cao, Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 18 kiến thức quan trọng cho việc tối ưu code - Thực hành C# - Làm test C# - Tìm hiểu Net Framework, kiến trúc Anh Nguyễn Mạnh Tồn thành phần Net Framework - Tìm hiểu CLR thư viện hỗ trợ - Làm báo cáo trình bày sau tìm hiểu - Tìm hiểu WPF - Các thành phần, kiến trúc Anh Nguyễn Mạnh Toàn WPF - Cách thiết kế giao diện, xử lý liệu - Thực hành tạo giao diện - Tìm hiểu mơ hình MVVM - Làm thực hành - Viết báo cáo, trình bày sau Anh Nguyễn Mạnh Tồn tìm hiểu - Thực hành tạo demo - Tổng hợp lại kiến thức học vào báo cáo thuyết trình trước leader, trainer Người hướng dẫn: Nguyễn Mạnh Toàn Anh Nguyễn Mạnh Toàn Anh Nguyễn Xuân Nghiêm Sinh viên thực tập: Trần Huy Quỳnh 19 - Kết hợp kiến thức học để tạo phần mềm nhỏ Giai đoạn tham gia project Anh Nguyễn Mạnh Toàn thực tế: Anh Nguyễn - Được training nghiệp vụ Xuân Nghiêm yêu cầu tham gia dự án - Đọc hiểu code có dự án 7->12 Tiến hành làm task nhỏ phân công - Chịu trách nhiệm chức project - Ngày cuối chương trình thực tập manager, leader, trainer đánh giá chất lượng công việc thực tập sinh Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 20 Chương 3: Chi tiết project Giới thiệu project IJCAD: IJCAD phần mềm CAD tương thích với AutoCAD phát triển IntelliJapan Cho đến năm 2013, IntelliCAD thương mại hóa theo thị trường Nhật Bản cách bổ sung thông số kỹ thuật gốc cải thiện hiệu suất Kể từ năm 2014, phát triển độc lập thương mại hóa dựa Teigha cung cấp nguồn vốn ODA mà không sử dụng IntelliCAD Người dùng sử dụng IJCAD để vẽ (tạo) vẽ kỹ thuật vectơ 2D hay bề mặt 3D IJCAD có sẵn sử dụng nhiều Nhiệm vụ team phát triển tạo chức mới, command; cập nhật, sửa chức có để giúp người dùng dễ dàng, thuận tiện q trình sử dụng phần mềm Thực hiện: Thực tập sinh Trần Huy Quỳnh hỗ trợ, giúp đỡ tận tình anh chị menter team project IJCAD Đặc biêt anh Nguyễn Xuân Nghiêm(PM) anh Nguyễn Mạnh Toàn(Menter) project Kế hoạch: Dự án chia làm nhiều phase, mối phase kéo dài tháng Nhiệm vụ phase: - Hoàn thành chức năng, command từ yêu cầu khách hàng - Cập nhật, sửa chức năng, command bị lỗi Kết quả: 4.1 Command WBLOCK: Lệnh Wblock (lệnh w cad) lệnh để lưu block số đối tượng vẽ hành thành file vẽ Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 21 Hình 1: Dialog WBLOCK Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 22 4.2 Command ArrayClassic: Lệnh ArrayClassic có tác dụng chép đối tượng thành dãy cụ thể theo hàng cột Các dãy đối tượng xếp theo tỉ lệ cân Hình 2: Dialog Array Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 23 TÀI LIỆU THAM KHẢO For C#, MVVM, WPF: https://docs.microsoft.com/en-us/dotnet/csharp/ https://www.tutorialspoint.com/mvvm/index.htm https://wpf-tutorial.com/ For CAD: http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer% 27s%20Guide/index.html https://knowledge.autodesk.com/support/autocad Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh 24 TỔNG KẾT Như vậy, thời gian thực tập, em tham gia hoàn thành số chức dự án IJCAD Dù dự án đầu tiên, em cố gắng hoàn thiện đầy đủ yêu cầu từ đến nâng cao, kết đạt tốt mong đợi nhiều Em học nhiều kiến thức kĩ chun mơn thiết kế, lập trình kĩ xã hội làm việc nhóm, giao tiếp, thuyết trình Nhờ tham gia vào dự án thực tế cơng ty em có kinh nghiệm làm việc góp phần phát triển thân tương lai Chân thành cảm ơn giúp đỡ anh chị phòng ban Net TGL Solutions, đặc biệt anh Nguyễn Mạnh Toàn theo sát hướng dẫn, giúp em hoàn thành tốt đợt thực tập TGL Solutions Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên thực tập: Trần Huy Quỳnh ... phát triển nhanh chóng mặt thị trường phần mềm, c? ? nhiều hướng c? ?ch phát triển phần mềm kh? ?c nhau, vi? ?c lên ý tưởng để phát triển phần mềm từ đầu, vi? ?c phát triển c? ??p nhật hệ thống hay phần mềm. .. thiệu c? ?ng ty, c? ?ch tổ ch? ?c c? ?ng ty - Đư? ?c nghe người phụ trách giới thiệu c? ?ng ty, q trình thành lập 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? ?ng... phân c? ?ng - Chịu trách nhiệm ch? ?c project - Ngày cuối chương trình th? ?c tập manager, leader, trainer đánh giá chất lượng c? ?ng vi? ?c th? ?c tập sinh Người hướng dẫn: Nguyễn Mạnh Toàn Sinh viên th? ?c tập: