Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
1,18 MB
Nội dung
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 XÂY DỰNG PHẦN MỀM QUẢN LÝ CƠNG VIỆC THEO NHĨM Cơng ty thực tập : Công ty TMA Solutions Người phụ trách : Nguyễn Văn Cảnh Thực tập sinh : Lục Thiên Bình TP Hồ Chí Minh, tháng năm 2020 LỜI MỞ ĐẦU Trong xã hội nước ta nay, ngành công nghệ phần mềm đứng đầu phát triển kinh tế đất nước dẫn đến nhu cầu nhân có chun mơn, kỹ làm việc tốt ln tình trạng khan Và theo nghị định vừa ban hành phủ số hóa phủ để phù hợp với cơng nghiệp 4.0 dẫn đến yêu cầu cao đối ngành công nghệ thơng tin cơng nghệ phần mềm nói riêng đất nước Hiện đa số công ty phần mềm nước ta chọn theo hướng gia công sản phẩm phần mềm cho công ty nước Một phần giúp học hỏi thái độ làm việc cách phân tích yêu cầu người dùng để phát triển phần mềm Mặt khác giúp tiếp cận, sử dụng, phát triển sản phẩm phần mềm dựa công nghệ mồi trường thực tế Đem lại nguồn thu nhập to lớn cho đất nước nâng cao trình độ khoa học đất nước dựa nước phát triển Công Ty TNHH Giải Pháp Phần Mềm Tường Minh (TMA Solutions) công ty gia công phần mềm nước ta thời kỳ hội nhập đất nước Là cờ gia công phần mềm nên vấn đề gầy dựng niềm tin công ty lẫn nước ta quan trọng Với tinh thần làm việc trách nhiệm, uy tín, đội ngũ nhân viên tràn đầy nhiệt huyết nên công ty hợp tác thành công với nhiều đối tác tiếng Công ty viễn thông Avaya, Nokia, dự dán R&D công ty lớn nhỏ khắp nước giới Em chọn công ty TMA Solutions để thực mơn thực tập doanh nghiệp Với kiến thức có em thiếu sót thân cần phải khắc phục việc chọn công ty chuyên Outsourcing lựa chọn tốt Nguyễn Văn Cảnh Lục Thiên Bình LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công Ty TNHH Giải Pháp Phần Mềm Tường Minh (TMA Solutions) tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình anh mentor trực tiếp hướng dẫn anh khác team Open hỗ trợ giúp đỡ em nhiệt tình vấn đề kỹ thuật, công nghệ Đặc biệt cảm ơn anh Nguyễn Văn Cảnh (Team Leader), training cách dùng Linux, Docker, Git, Build Debug sản phẩm môi trường local Hướng dẫn, giúp đỡ em tận tình từ khó khăn cơng việc, đến khó khăn việc làm quen với mơi trường Cảm ơn anh Nguyễn Minh Tuấn (Project Manager), dẫn em cách làm báo cáo, lên kế hoạch, phân tích nghiệp vụ dựa yêu cầu, kỹ thiếu kiến thức quan trọng để làm sản phẩm thời gian qua 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 Lục Thiên Bình TpHCM, ngày 28 tháng năm 2020 Nguyễn Văn Cảnh Lục Thiên Bình NHẬN XÉT CỦA KHOA Nguyễn Văn Cảnh Lục Thiên Bình MỤC LỤC 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 TMA Solutions Sản phẩm công ty Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật .8 1) Các công cụ làm việc 2) Tìm hiểu Drupal Core mức theo tài liệu drupal 3) Tự tạo module (custom module) .9 4) Tự tạo theme (custom theme) 12 5) Tự tạo component với VueJS (tương ứng với template module) 13 Thực project 13 Lịch làm việc 13 Chương 3: Chi tiết project 16 Giới thiệu sản phẩm 16 1) Các chức sản phẩm 16 2) Quản lý nhóm 16 3) Thực 19 4) Kế hoạch .19 TÀI LIỆU THAM KHẢO .20 TỔNG KẾT .21 Nguyễn Văn Cảnh Lục Thiên Bình Nguyễn Văn Cảnh Lục Thiên Bình Chương 1: Giới thiêu cơng ty thực tập Giới thiệu công ty TMA Solutions Vào tháng năm 1997, bà Bùi Ngọc Anh thành lập cơng ty TMA với kỹ sư phịng khách nhà bà Sau 20 năm phát triển, công ty sở hữu trụ sở R&D Việt Nam văn phòng đại diện nằm khắp châu lục giới TMA Solutions đứng sau FPT Software xét đội ngũ nhân lực dẫn đầu số lĩnh vực chun biệt phần mềm viễn thơng, cạnh tranh với công ty lớn Ấn Độ Sản phẩm công ty TMA 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 Các dịch vụ công ty chuyên cung cấp: Visual Design Software Testing Porting & Migration Production Support IT Managed Services Software Development Cung cấp giải pháp cho nhiều lĩnh vực: Nguyễn Văn Cảnh Lục Thiên Bình Telecom Finance & Insurance E-Commerce, Retail & Distribution Media & Publishing Logistics & Transportation Chương 2: Nội dung thực tập Với nội dung thực tập xây dựng dựa sản phẩm thực tế công ty nhằm mục đích giúp sinh viên tiếp xúc trực tiếp với yêu cầu khách hàng, tích lũy kinh nghiệm cho thân thực poroject “Xây dựng phần mềm quản lý cơng việc theo nhóm” Tại cơng ty, sinh viên có hội học tập, khám phá làm việc môi trường phát triển game chuyên nghiệp Xây dựng module theme cho Drupal (Open Source CMS) Các cơng nghệ sử dụng như: Drupal - Open Source CMS (v8.7) VueJS - Javascript Framework (v2.6) (embedded in drupal theme - javascript library) Bootstrap - Free and open-source CSS framework (v4.4.1) 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, văn hóa giao tiếp, cách ứng xử với cơng ty, nội quy sách cơng ty Được nghe người phụ trách thực tập sinh 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 cách thức 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… Thực buổi giao lưu với phận nhân để giải khuất mắt, vấn đề lại, lương bổng công ty Giao lưu, chào hỏi với anh chị project nhận hướng dẫn Kết : Hiểu thêm công ty TMA Solutions, trình thành lập phát triển Có thêm kỹ việc sử dụng email công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Học hỏi cách giao tiếp, nhận định vấn đề văn hóa cơng ty Nguyễn Văn Cảnh Lục Thiên Bình Nghiên cứu kỹ thuật 1) Các công cụ làm việc Thời gian : ngày Nội dung : Tìm hiểu cơng cụ sử dụng 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 cơng cụ giúp ích cho cơng việc sau Một số phần mềm số Docker Machine - sử dụng việc xây dựng môi trường local, SQLyog – giao diện làm việc với MySQL Database chuyên nghiệp, Github – công cụ quản lý version code, PHPStorm – công cụ phát triển IDE chuyên nghiệp dành cho PHP Thực : Thực hành sử dụng phần mềm nêu Kết : Lập trình sử dụng cơng cụ miễn phí, giúp dễ dàng kết hợp công cụ với nhau, so với việc dùng IDE 2) Tìm hiểu Drupal Core mức theo tài liệu drupal Thời gian : ngày Nội dung : Đọc, phân tích báo cáo theo Documentation Drupal - Link: https://www.drupal.org/docs/user_guide/en/index.html - Chapter Understanding Drupal Các khái niệm Drupal Module, Theme, Distributions, types of data (Lưu vào database) Trong khái niệm Module quan trọng Drupal phát triển theo hướng module hóa Giúp dễ dàng cho việc phát triển đóng góp cho cộng đồng Open Source - Chapter Planning Your Site Tìm hiểu khái niệm để lên kế hoạch thiết kế cho Nội Dung website dựa cơng cụ mà Drupal cung cấp Thiết kế giao diện người dùng (Region + Layout) + Nội dung nằm phần giao diện (Content) - Chapter Installation Tìm hiểu yêu cầu hệ thống, version tool, cài đặt thực mơi trường máy tính cá nhân chọn lựa database phù hợp cho sản phẩm - Chapter Basic Site Configuration Tổng quan khái niệm cấu hình trang web Cách cài đặt module, cài đặt account người dùng (admin) theme phát triển cộng đồng open source - Chapter Setting Up Content Structure Tổng quan khái niệm cấu trúc nội dung Nhiệm vụ loại nội dung, phân loại trường tham chiếu được định nghĩa sẳn theo drupal Content-type, Taxononmy, Forms and Widgets Nguyễn Văn Cảnh Lục Thiên Bình 10 - Chapter Managing User Accounts Tổng quan khái niệm tài khoản người dùng chi tiết tác vụ tài khoản người dùng phổ biến Các vấn đề Role Permissions user thao tác với hệ thống - Chapter Blocks Khái niệm phân chia block theo khung nhìn (Place block in region) - Chapter Creating Listings with Views “Overview of view concepts and details of common view tasks” - Chapter 10 Making Your Site Multilingual - Chapter 11 Extending and Customizing Your Site - Chapter 12 Preventing and Fixing Problems - Chapter 13 Security and Maintenance - Chapter 14 Final Thoughts Thực : - Tìm hiểu, trao đổi, báo cáo với anh mentor vấn đề tìm hiểu - Thực demo cho vấn đề báo cáo Kết : - Hiểu cách thức hoạt động cách cài đặt drupal Nâng cao khả đọc hiểu, ghi chép, giao tiếp với anh mentor 3) Tự tạo module (custom module) Thời gian : ngày Nội dung: Các kiến thức cần có để phát triển module - Thao tác Clear cache: Tất config liên quan đến drupal core cache lại thành file config lưu vào database Sau thực việc phát triển module theme cho module cần phải thực việc clear cache để apply config Để thực việc clear cache: đến đường dẫn tương ứng sau với domain website Hiện project chạy local nên truy cập vào link sau : http://localhost/drupal/admin/config/development/performance Chọn nút Clear all cache - Khái niệm file yml Nguyễn Văn Cảnh Lục Thiên Bình 11 Trong module file với phần mở rộng (extension) “yml” nằm thực mục có chức khai báo cài đặt module Việc chỉnh sửa tạo file yml cần phải thực việc “Clear cache” hệ thống để hệ thống cập nhật lại module Nếu file yml config bị lỗi báo lỗi lúc thực clear cache - File task_manager.info.yml File yml có chứa “info” thực việc cung cấp thông tin cho module lúc thực thao tác cài đặt module - File task_manager.routing.yml File yml có chứa “routing” khai báo controller mà module cung cấp cho drupal biết để drupal cấu hình lại drupal core Trong thư mục mô-đun khai báo cấu trúc thư mục tiêu chuẩn PSR-4 /src/Controller file controller với đuôi php nằm Từng route khai báo file yml có chứa “routing” tương ứng với function file php - File task_manager.services.yml File yml có chứa “services” khai báo service mà module cung cấp cho drupal biết để drupal cấu hình lại drupal core Trong thư mục mô-đun khai báo cấu trúc thư mục tiêu chuẩn PSR-4 /src/Services file service với đuôi php nằm Từng service khai báo file yml có chứa “services” tương ứng với file php Việc khai báo thành file service theo định nghĩa drupal giúp cho người dùng dùng lại module khác Thông thường service gọi controller theo định nghĩa drupal - File task_manager.module File có đuôi “.module” dùng để gọi hook drupal Hoặc chỉnh sửa lại chức hook Có thể hiểu “hook” cách để mô-đun tương tác với môđun nhà phát triển khác Drupal (Do chỉnh sửa với module nằm drupal core clear cache) Nguyễn Văn Cảnh Lục Thiên Bình 12 - File task_manager.install File có “.install” gọị cập install update module Nó hỗ trợ cho việc generate liệu cần thiết cho module việc tạo table mà không cần phải thao tác tay trực tiếp lên database - Phân quyền cho controller Chúng ta thực việc phân quyền file gọi access check Các access check drupal định nghĩa dạng service đặc biệt Trong thư mục mô-đun khai báo cấu trúc thư mục tiêu chuẩn PSR-4 /src/Access file access check với đuôi php nằm Từng access check khai báo file yml có chứa “services” tương ứng với file php - Truy cập vào database Theo yêu cầu anh mentor em phải xây dựng class DAO để truy cập vào database theo hướng viết câu truy vấn SQL Ngồi ta cịn sử dụng thuộc tính entity theo khái báo drupal Trong thư mục mô-đun khai báo cấu trúc thư mục tiêu chuẩn PSR-4 /src/DAO file dao với đuôi php nằm - Template cho module Template module định dạng file html.twig gọi hook khai báo file “.module” Thực : - Viết route cho module theo tiêu chuẩn, cấu trúc drupal Làm tập thực hành nhỏ theo yêu cầu mentor hướng dẫn Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết : - Hiểu khái niệm việc xây dựng module drupal Đã làm website với chức thêm xóa sửa 4) Tự tạo theme (custom theme) Thời gian : ngày Nguyễn Văn Cảnh Lục Thiên Bình 13 Nội dung : Các kiến thức cần có để phát triển theme cho module - File task_manager.info.yml: File yml có chứa “info” thực việc cung cấp thông tin cho module lúc thực thao tác cài đặt theme - File task_manager.libraries.yml File yml có chứa “libraries” khai báo file css javascript mà theme cung cấp cho drupal biết để drupal cấu hình lại drupal core - Lập trình VueJS (javascript library for theme) Các template tương nằm thư mục “templates” module tương ứng với component VueJS Đây cách mà project công ty dùng để phát triển “Front-end” cho website Việc xây dựng thành module giúp dễ dàng tái sử dụng, bảo trì phát triển thêm tính Các kiến thức phần yêu cầu cần có kiến thức khác drupal (Phần sau) Thực : - Tạo theme cho module, nhúng VueJS vào theme để xây dựng page module thành component Kết quả: - Đã tạo website với UI 5) Tự tạo component với VueJS (tương ứng với template module) Thời gian : ngày Nội dung : Các kiến thức cần có để phát triển VueJS component cho template module - Tất file “.vue” khai báo component với VueJS giúp thuận tiện cho việc phát triển kiểm soát Nguyễn Văn Cảnh Lục Thiên Bình 14 - - Trong file “.html.twig” thư mục “templates” module thực việc gọi component thư viện VueJS component bình thường với javascript Sử dụng browserify để đóng gói (build) tất component thành file javascript để giảm bớt băng thông cho server Thực : - Tạo component cho template Kết quả: - Hiểu cách thức hoạt động VueJS theme drupal Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực Drupal, VueJs, cách build Trong tháng thứ hai, mentor hướng dẫn thực tập sinh áp dụng kiến thức học để thực project dựa project thực tế Chi tiết đồ án nói phần sau Lịch làm việc Tuần Công việc Người hướng dẫn Tìm hiểu cơng ty, cách tổ chức cơng ty - 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, báo cáo qua email - Tìm hiểu drupal mức - Học kỹ mềm theo yêu cầu công ty - Viết user story theo Anh Nguyễn Minh Tuấn Chị Trang Bùi - Mức độ hoàn thành Nhận xét người hướng dẫn Anh Nguyễn Minh Tuấn Chị Trang Bùi Anh Nguyễn Minh Nguyễn Văn Cảnh Lục Thiên Bình 15 yêu cầu khách hàng (mentor) - Thiết kế database, tìm hiểu role user tương tác với hệ thống - Hoàn thành việc nghiên cứu drupal theo tài liệu - Xây dựng route/API cho chức (module) - Xây dựng access check cho route - Tích hợp VueJS thư viện javascript vào theme drupal - Config environment phù hợp cho việc build debug local - Xây dựng giao diện cho route tạo - Tích hợp thêm thư viện javascript khác để đáp ứng nhu cầu project Giai đoạn Alpha: - Hoàn thiện sản phẩm để demo cho mentor - Chỉnh sửa giao diện theo hướng nâng cao Giai đoạn Alpha 2: - Nghiên cứu project thực tế team để tiếp tục phát triển - Chỉnh sửa lại giao diện theo yêu cầu Tuấn Anh Nguyễn Văn Cảnh Anh Nguyễn Minh Tuấn Anh Nguyễn Văn Cảnh Anh Nguyễn Văn Cảnh Anh Nguyễn Văn Cảnh Anh Nguyễn Văn Cảnh Anh Nguyễn Văn Cảnh Nguyễn Văn Cảnh Lục Thiên Bình 16 10 mentor Giai đoạn Beta: - Phát triển thêm tính cho sản phẩm - Review code mentor lần Giai đoạn Beta 2, báo cáo: - Demo sản phẩm cho mentor - Review code, tổng kết lại tập kiến thức học công ty Anh Nguyễn Văn Cảnh Anh Nguyễn Minh Tuấn Anh Nguyễn Văn Cảnh Nguyễn Văn Cảnh Lục Thiên Bình 17 Chương 3: Chi tiết project Giới thiệu sản phẩm Sản phẩm phát triển dựa nhu cầu quản lý cơng việc theo nhóm để đáp ứng nhu cầu quản lý công việc môi trường công ty, doanh nghiệp Sản phẩm phát triển dựa sản phẩm thực tế team để nắm sát yêu cầu thực tế thiết kế phát triển sản phẩm 1) Các chức sản phẩm - Quản lý nhóm Quản lý user Quản lý user mời vào nhóm Quản lý task nhóm 2) Quản lý nhóm Mơ tả Admin hệ thống quản lý tất nhóm hệ thống Bao gồm chức như: Nguyễn Văn Cảnh Lục Thiên Bình 18 Xem: Tìm kiếm / Xem danh sách / Xem chi tiết nhóm Chỉnh sửa: Tạo / Chỉnh sửa / Xóa nhóm - Chức tìm kiếm - Chức tạo - Chức chỉnh sửa Nguyễn Văn Cảnh Lục Thiên Bình 19 - Chức xóa - Nhấn vào nút Delete màu đỏ table - Chức xem chi tiết nhóm Nguyễn Văn Cảnh Lục Thiên Bình 20 3) Thực - Lục Thiên Bình Và giúp đỡ tận tình team Open (TMA) 4) Kế hoạch Giai đoạn Alpha: - Hoàn thiện sản phẩm demo cho mentor xem, chỉnh sửa giao diện - Nghiên cứu project thật team để phát triển, cải thiện giao diện Kết : - Hầu hết tính thực - Hỗ trợ thêm nút thao tác back giúp tăng trải nghiệm sản phẩm Giai đoạn Beta: - Phát triển thêm tính cho sản phẩm theo yêu cầu mentor - Review lại code, tổng kết nghiệm thu kết cho tập công ty Kết : - Đã hoàn thành toàn yêu cầu mentor đặt để đánh giá chất lượng tập Nguyễn Văn Cảnh Lục Thiên Bình 21 TÀI LIỆU THAM KHẢO Documentation https://www.drupal.org/docs/creating-custom-modules https://www.drupal.org/docs/user_guide/en/index.html https://api.drupal.org/api/drupal/8.7.x https://vuejs.org/v2/guide/ Nguyễn Văn Cảnh Lục Thiên Bình 22 TỔNG KẾT Như vậy, khoảng tháng rưỡi ngắn ngủi, em học nhiều kinh nghiệm từ anh mentor từ kỹ giao tiếp, cách ứng xử với thành viên khác team đến kiến thức để phát triển sản phẩm mơi trường thực tế cần có Khả nghiên cứu công nghệ thông qua kênh stackoverflow, dẫn anh khác team Open TMA gặp khuất mắt, vấn đề nan giải Đồng thời mentor hỗ trợ em việc tìm giải pháp tối ưu cho toán, yêu cầu khách hàng Và cuối hướng dẫn cho em biết kỹ giải vấn đề cho tốt nhanh Chân thành cảm ơn giúp đỡ anh Nguyễn Minh Tuấn (Project Manager) hỗ trợ nhiệt tình từ anh Nguyễn Văn Cảnh (Team leader), thành viên khác nhóm Open để hồn thành sản phẩm Một lần nữa, em xin cảm ơn công ty TMA Solutions giúp đỡ cho em suốt trình thực tập làm việc, chân thành cảm ơn Thầy/Cô Khoa Công nghệ phần mềm tạo điều kiện tốt cho sinh viên hoàn thành tập doanh nghiệp Nguyễn Văn Cảnh Lục Thiên Bình ... triển sản phẩm 1) Các chức sản phẩm - Quản lý nhóm Quản lý user Quản lý user mời vào nhóm Quản lý task nhóm 2) Quản lý nhóm Mơ tả Admin hệ thống quản lý tất nhóm hệ thống Bao gồm chức như: Nguyễn... phát triển Công Ty TNHH Giải Pháp Phần Mềm Tường Minh (TMA Solutions) công ty gia công phần mềm nước ta thời kỳ hội nhập đất nước Là cờ gia công phần mềm nên vấn đề gầy dựng niềm tin công ty lẫn... triển dựa nhu cầu quản lý cơng việc theo nhóm để đáp ứng nhu cầu quản lý công việc môi trường công ty, doanh nghiệp Sản phẩm phát triển dựa sản phẩm thực tế team để nắm sát yêu cầu thực tế thiết