1. Trang chủ
  2. » Cao đẳng - Đại học

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

22 21 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 22
Dung lượng 1,18 MB

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

Nội dung

 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 được xây dựng dựa t

Trang 1

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

Trang 2

LỜI MỞ ĐẦU

Trong xã hội nước ta hiện nay, ngành công nghệ phần mềm đang đứng đầu trong sự pháttriển kinh tế của đất nước dẫn đến nhu cầu về nhân sự có chuyên môn, kỹ năng làm việc tốt luôntrong tình trạng khan hiếm Và cũng theo nghị định vừa ban hành của chính phủ là số hóa chínhphủ để phù hợp với nền công nghiệp 4.0 dẫn đến các yêu cầu cao hơn đối ngành công nghệthông tin và công nghệ phần mềm nói riêng của đất nước

Hiện nay đa số các công ty phần mềm của nước ta đều chọn đi theo hướng gia công cácsản phẩm phần mềm cho các công ty nước ngoài Một phần giúp chúng ta học hỏi được thái độlàm việc và cách phân tích yêu cầu của người dùng để có thể phát triển phần mềm Mặt khácgiúp chúng ta có thể tiếp cận, sử dụng, phát triển các sản phẩm phần mềm dựa trên các côngnghệ mới trong mồi trường thực tế Đem lại nguồn thu nhập to lớn cho đất nước và nâng caotrình độ khoa học của đất nước dựa trên của các nước đã phát triển

Công Ty TNHH Giải Pháp Phần Mềm Tường Minh (TMA Solutions) là một trong cáccông ty gia công phần mềm đầu tiên của nước ta trong thời kỳ hội nhập của đất nước Là mộttrong những lá cờ đầu tiên của nền gia công phần mềm nên vấn đề về gầy dựng niềm tin củacông ty lẫn nước ta là rất quan trọng Với tinh thần làm việc trách nhiệm, uy tín, đội ngũ nhânviên tràn đầy nhiệt huyết nên công ty đã hợp tác thành công với rất nhiều đối tác nổi tiếng nhưCông ty viễn thông Avaya, Nokia, các dự dán R&D của các công ty lớn nhỏ khắp các nước trênthế giới

Em đã chọn công ty TMA Solutions để thực hiện môn thực tập doanh nghiệp của mình.Với các kiến thức hiện có của em và những thiếu sót của bản thân cần phải khắc phục thì việcchọn một công ty chuyên về Outsourcing là một lựa chọn tốt nhất

Trang 3

Đặc biệt cảm ơn anh Nguyễn Văn Cảnh (Team Leader), đã training cách dùng Linux,Docker, Git, Build và Debug sản phẩm trong môi trường local Hướng dẫn, giúp đỡ em tận tình

từ những khó khăn trong công việc, đến những khó khăn trong việc làm quen với môi trườngmới

Cảm ơn anh Nguyễn Minh Tuấn (Project Manager), đã chỉ dẫn em về cách làm báo cáo,lên kế hoạch, phân tích nghiệp vụ dựa trên yêu cầu, những kỹ năng không thể thiếu và nhữngkiến thức quan trọng để 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ềukiện em làm bài báo cáo này

Lục Thiên BìnhTpHCM, ngày 28 tháng 7 năm 2020

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

Mục Lục

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

1 Giới thiệu công ty TMA Solutions 6

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

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

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 7

2 Nghiên cứu kỹ thuật 8

1) Các công cụ làm việc 8

2) Tìm hiểu Drupal Core ở mức cơ bản theo tài liệu của drupal 8

3) Tự tạo một module (custom module) 9

4) Tự tạo một theme (custom theme) 12

5) Tự tạo một component với VueJS (tương ứng với một template trong module) 13

3 Thực hiện project 13

4 Lịch làm việc 13

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

1 Giới thiệu về sản phẩm 16

1) Các chức năng chính của sản phẩm 16

2) Quản lý các nhóm 16

3) Thực hiện 19

4) Kế hoạch 19

TÀI LIỆU THAM KHẢO 20

TỔNG KẾT 21

Trang 7

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

1 Giới thiệu công ty TMA Solutions

Vào tháng 3 năm 1997, bà Bùi Ngọc Anh thành lập công ty TMA với 6 kỹ sư tạiphòng khách nhà bà Sau hơn 20 năm phát triển, hiện tại công ty đang sở hữu 6 trụ

sở R&D tại Việt Nam và các văn phòng đại diện nằm trên khắp các châu lục trên thếgiới

TMA Solutions hiện chỉ đứng sau FPT Software xét về đội ngũ nhân lực nhưngdẫn đầu trong một số lĩnh vực chuyên biệt về phần mềm viễn thông, cạnh tranhchính với các công ty lớn của Ấn Độ

Trang 8

 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 được xây dựng dựa trên một sản phẩm thực tế của công ty nhằmmục đích giúp sinh viên được tiếp xúc trực tiếp với yêu cầu của khách hàng, tích lũy kinhnghiệm cho bản thân khi thực hiện poroject “Xây dựng phần mềm quản lý công việc theonhóm” 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ôitrường phát triển game chuyên nghiệp

Xây dựng module và theme cho Drupal (Open Source CMS) Các công nghệ sử dụng

chính 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)

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty

Thời gian : 3 ngày

Nội dung : Giới thiệu về công ty, cách tổ chức của công ty, văn hóa giao tiếp, cách ứng

xử với nhau trong công ty, nội quy và chính sách của công ty

Được nghe người phụ trách về thực tập sinh giới thiệu về công ty, quá trình thànhlậ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áchthứ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 tynhư 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ôngviệc…

Thực hiện các buổi giao lưu với bộ phận nhân sự để giải quyết các khuất mắt, vấn

đề về đi lại, lương bổng của công ty Giao lưu, chào hỏi với các anh chị trong projectnhận hướng dẫn

Kết quả : Hiểu thêm về công ty TMA 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 trong công việc, làm việc có kế hoạch, có kỷ

Trang 9

2 Nghiên cứu kỹ thuật

1) Các công cụ làm việc

Thời gian : 1 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ư DockerMachine - sử dụng trong việc xây dựng môi trường local, SQLyog – giao diện làmviệc với MySQL Database chuyên nghiệp, Github – công cụ quản lý version củacode, PHPStorm – công cụ phát triển IDE chuyên nghiệp dành cho PHP

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 dùng các IDE

2) Tìm hiểu Drupal Core ở mức cơ bản theo tài liệu của drupal

Thời gian : 5 ngày

Nội dung : Đọc, phân tích và báo cáo theo Documentation của Drupal

- Link: https://www.drupal.org/docs/user_guide/en/index.html

- Chapter 1 Understanding Drupal

Các khái niệm cơ bản về Drupal như Module, Theme, Distributions, và types ofdata (Lưu vào database)

Trong đó khái niệm về Module là quan trọng nhất vì Drupal được phát triển theohướng module hóa Giúp dễ dàng cho việc phát triển và đóng góp cho cộng đồngOpen Source

- Chapter 2 Planning Your Site

Tìm hiểu các khái niệm cơ bản để lên kế hoạch thiết kế cho Nội Dung website của

mình dựa trên các công cụ mà Drupal đã cung cấp

Thiết kế về giao diện người dùng (Region + Layout) + Nội dung nằm trong phầngiao diện đó (Content)

- Chapter 3 Installation

Tìm hiểu về các yêu cầu hệ thống, version của tool, cài đặt và thực hiện trên môitrường máy tính cá nhân và chọn lựa database phù hợp cho sản phẩm của mình

- Chapter 4 Basic Site Configuration

Tổng quan về các khái niệm cấu hình trang web cơ bản

Trang 10

Cách cài đặt module, cài đặt account người dùng (admin) và theme được pháttriển bởi cộng đồng open source.

- Chapter 6 Setting Up Content Structure

Tổng quan về các khái niệm cấu trúc nội dung Nhiệm vụ về các loại nội dung,phân loại và trường tham chiếu được được định nghĩa sẳn theo drupal

Content-type, Taxononmy, Forms and Widgets

- Chapter 7 Managing User Accounts

Tổng quan về khái niệm tài khoản người dùng và chi tiết về các tác vụ tài khoảnngười dùng phổ biến

Các vấn đề về Role và Permissions của user thao tác với hệ thống

- Chapter 8 Blocks

Khái niệm về phân chia block theo khung nhìn (Place block in region)

- Chapter 9 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 hiện :

- Tìm hiểu, trao đổi, báo cáo với anh mentor về các vấn đề đã tìm hiểu

- Thực hiện demo cho các vấn đề báo cáo

Kết quả :

- Hiểu được cách thức hoạt động cơ bản và cách cài đặt của drupal

- Nâng cao khả năng đọc hiểu, ghi chép, giao tiếp với anh mentor

3) Tự tạo một module (custom module)

Thời gian : 5 ngày

Nội dung: Các kiến thức cơ bản cần có để phát triển một module.

- Thao tác Clear cache:

Tất cả các config liên quan đến drupal core sẽ được cache lại thành các file configlưu vào database Sau khi thực hiện việc phát triển module hoặc theme cho

module thì cần phải thực hiện việc clear cache để có thể apply config mới đó

Trang 11

http://localhost/drupal/admin/config/development/performanceChọn nút Clear all cache

- Khái niệm cơ bản về file yml.

Trong một module các file với phần mở rộng (extension) là “yml” nằm trong thựcmục chính sẽ có chức năng khai báo các cài đặt của module đó Việc chỉnh sửahoặc tạo mới một file yml cần phải thực hiện việc “Clear cache” của hệ thống để

hệ thống có thể cập nhật lại module đó

Nếu file yml hoặc config trong đó bị lỗi vì sẽ báo lỗi trong lúc thực hiện clearcache

- File task_manager.info.yml

File yml có chứa “info” sẽ thực hiện việc cung cấp các thông tin cơ bản cho

module lúc thực hiện thao tác cài đặt module

- File task_manager.routing.yml

File yml có chứa “routing” sẽ khai báo các controller mà module cung cấp cho

drupal biết để drupal có thể cấu hình lại drupal core Trong thư mục mô-đunchúng ta khai báo cấu trúc thư mục tiêu chuẩn PSR-4 là /src/Controller và các filecontroller với đuôi là php sẽ nằm trong đây Từng route khai báo trong file yml có

chứa “routing” sẽ tương ứng với 1 function trong file php.

- File task_manager.services.yml

File yml có chứa “services” sẽ khai báo các service mà module cung cấp cho

drupal biết để drupal có thể cấu hình lại drupal core Trong thư mục mô-đunchúng ta khai báo cấu trúc thư mục tiêu chuẩn PSR-4 là /src/Services và các fileservice với đuôi là php sẽ nằm trong đây Từng service khai báo trong file yml có

chứa “services” sẽ tương ứng với 1 file php

Việc khai báo thành các file service theo định nghĩa của drupal sẽ giúp cho ngườidùng có thể dùng lại trong một module khác Thông thường các service sẽ đượcgọi bởi các controller theo định nghĩa của drupal

Trang 12

- File task_manager.module

File có đuôi là “.module” sẽ được dùng để gọi các hook của drupal Hoặc chỉnh

sửa lại chức năng của các hook đó

Có thể hiểu “hook” là một trong những cách để các đun tương tác với các đun của các nhà phát triển khác hoặc của Drupal (Do các chỉnh sửa với modulenằm trong drupal core sẽ mất đi khi clear cache)

mô File task_manager.install

File có đuôi là “.install” sẽ gọị khi cập install hoặc update module Nó sẽ hỗ trợ

cho việc generate ra các dữ liệu cần thiết cho module hoặc việc tạo table màkhông cần phải thao tác bằng tay trực tiếp lên database

- Phân quyền cho các controller.

Chúng ta thực hiện việc phân quyền bằng các file gọi là access check Các access

check này sẽ được drupal định nghĩa dưới dạng là 1 service đặc biệt Trong thư

mục mô-đun chúng ta khai báo cấu trúc thư mục tiêu chuẩn PSR-4 là /src/Access

và các file access check với đuôi là php sẽ nằm trong đây Từng access check khai

báo trong file yml có chứa “services” sẽ tương ứng với 1 file php.

- Truy cập vào database

Theo yêu cầu của anh mentor thì em phải xây dựng một class DAO để có thể truycập vào database theo hướng viết các câu truy vấn SQL Ngoài ra ta còn có thể sửdụng thuộc tính entity theo khái báo của drupal

Trong thư mục mô-đun chúng ta khai báo cấu trúc thư mục tiêu chuẩn PSR-4 là/src/DAO và các file dao với đuôi là php sẽ nằm trong đây

- Template cho module

Template của module sẽ được định dạng bằng các file html.twig và sẽ được gọibằng các hook khai báo trong file “.module”

Thực hiện :

- Viết các route cho module theo tiêu chuẩn, cấu trúc của drupal

- Làm các bài tập thực hành nhỏ theo yêu cầu của mentor hướng dẫn

Trang 13

- Hiểu được những khái niệm cơ bản trong việc xây dựng một module trong drupal.

- Đã làm được một website cơ bản với các chức năng thêm xóa sửa

4) Tự tạo một theme (custom theme)

Thời gian : 5 ngày

Nội dung : Các kiến thức cơ bản cần có để phát triển một theme cho module.

- File task_manager.info.yml:

File yml có chứa “info” sẽ thực hiện việc cung cấp các thông tin cơ bản cho

module lúc thực hiện thao tác cài đặt theme

- File task_manager.libraries.yml

File yml có chứa “libraries” sẽ khai báo các file css và javascript mà theme

cung cấp cho drupal biết để drupal có thể cấu hình lại drupal core

- Lập trình bằng VueJS (javascript library for theme)

Các template tương nằm trong thư mục “templates” của module sẽ tương ứng với

1 component của VueJS Đây là cách mà project hiện tại của công ty dùng để pháttriển “Front-end” cho website Việc xây dựng thành từng module giúp dễ dàng tái

sử dụng, bảo trì và phát triển thêm các tính năng mới

Các kiến thức của phần này yêu cầu cần có các kiến thức cơ bản khác ngoàidrupal (Phần sau)

Trang 14

5) Tự tạo một component với VueJS (tương ứng với một template trong module)

Thời gian : 5 ngày

Nội dung : Các kiến thức cơ bản cần có để phát triển một VueJS component cho 1

template của module

- Tất cả các file “.vue” sẽ được khai báo là một component với VueJS giúp thuậntiện cho việc phát triển kiểm soát

- Trong file “.html.twig” trong thư mục “templates” của module sẽ thực hiện việcgọi các component của thư viện VueJS như một component bình thường vớijavascript

- Sử dụng browserify để đóng gói (build) tất cả các component thành 1 filejavascript duy nhất để giảm bớt băng thông cho server

Chi tiết đồ án sẽ được nói ở phần sau

4 Lịch làm việc

Tuần Công việc Người hướng dẫn Mức độ hoàn

thành

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ủacông ty

- Làm quen với cáccông cụ làm việctrong công ty

- Học cách trao đổi,

Anh Nguyễn MinhTuấn

Chị Trang Bùi

Trang 15

2 - Học các kỹ năngở mức cơ bản

mềm theo yêu cầucông ty

TuấnChị Trang Bùi

3

- Viết user story theoyêu cầu của kháchhàng (mentor)

- Thiết kế database,tìm hiểu role củauser tương tác với

hệ thống

- Hoàn thành việcnghiên cứu drupaltheo tài liệu

Anh Nguyễn MinhTuấn

Anh Nguyễn VănCảnh

4

- Xây dựng các route/

API cho từng chứcnăng (module)

- Xây dựng cácaccess check chotừng route

Anh Nguyễn MinhTuấn

Anh Nguyễn VănCảnh

5

- Tích hợp VueJS vàcác thư việnjavascript vào trongtheme của drupal

- Config environmentphù hợp cho việcbuild và debuglocal

Anh Nguyễn VănCảnh

6

- Xây dựng giao diệncho các route đã tạo

- Tích hợp thêm cácthư viện javascriptkhác để đáp ứng nhucầu của project

Anh Nguyễn VănCảnh

7 Giai đoạn Alpha:

- Hoàn thiện sảnphẩm để demo chomentor

- Chỉnh sửa giao diệntheo hướng nâng

Anh Nguyễn VănCảnh

Ngày đăng: 05/09/2021, 21:07

TỪ KHÓA LIÊN QUAN

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