Lập trình web đã phát triển từ rất nhiều năm về trước, tuy nhiên tỉ lệ về “cung” và “cầu” vẫn đang rất lớn và vẫn sẽ là nhân tố quan trọng trong sự phát triển của công nghệ thông tin thế
Trang 1TRƯỜ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 FRONTEND (ANGULAR
FRAMEWORK)
Công ty thực tập : DXC Viet Nam Người phụ trách : Nguyễn Thanh Luân Thực tập sinh : Lê Hoàng Thiện
TP Hồ Chí Minh, tháng 05 năm 2022
Trang 2LỜI MỞ ĐẦU
Ngày nay, việc phát triển các ứng dụng phần mềm web đang được phát triển rất mạnh trên thế giới và Việt Nam cũng không nằm ngoài sự phát triển đó Lập trình web
đã phát triển từ rất nhiều năm về trước, tuy nhiên tỉ lệ về “cung” và “cầu” vẫn đang rất lớn và vẫn sẽ là nhân tố quan trọng trong sự phát triển của công nghệ thông tin thế giới
Cùng với sự phát triển của thế giới, Việt Nam cũng không phải ngoại lệ Ngành công nghiệp phát triển web đã và vẫn đang phát triển mạnh mẽ, để hoà nhập với toàn cầu Các công ty lớn có thể kể đến như VNG, Tiki, NCC, FPT, Bosch, KMS,…Website chính là “bộ mặt” mà khách hàng nhìn vào công ty đầu tiên, chính vì thế một số công ty tuy không phát triển công nghệ nhưng vẫn sẽ có bộ phận phát triển website riêng
Ngành lập trình web, đặc biệt trong thời đại 4.0 như hiện nay càng trở nên phát triển Và giới trẻ như chúng em sẽ là nguồn nhân lực quan trọng trong quá trình phát triển đó Vì lí do này, em quyết định chọn lập trình web - cụ thể là ở mảng frontend làm định hướng cho việc học và làm việc của mình sau này
Sau hơn ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như được tham gia vào một môi trường làm việc chuyên nghiệp, em có dự định sẽ thực tập vào sau tết 2022 Vì vậy, em quyết định chọn DXC Việt Nam - một môi trường
lý trưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện dự định này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty DXC 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,
em đã tiếp thu được những kiến thức quan trọng để có thể tham gia vào dự án của công
ty ở vị trí front-end developer 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 Nguyễn Thanh Luân, đã training Angular, hướng dẫn, giúp
đỡ cho 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 Phùng Quốc Thịnh, đã định hướng và sắp xếp cho
em vào vị trí thích hợp; cảm ơn anh Đặng Lê Hoàng, đã chỉ dạy em thêm các kiến thức mới về quản lí công việc, đội nhóm; cảm ơn chị Đặng Hoàng Hương An, đã tận tình giúp
đỡ cho em khi gặp các khó khăn trong công việc, training các kiến thức về dự án, backend, các sai sót trong lập trình,…Và cũng như tất cả các anh, chị, các bạn trong team
đã giúp đỡ em trong quá trình thực tập tại DXC Việt Nam
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
<Lê Hoàng Thiện>
<TpHCM, ngày 14 tháng 5 năm 2022>
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
MỤC LỤC 5
Chương 1: Giới thiêu công ty thực tập 7
1 Giới thiệu công ty DXC Technology 7
2 Mục tiêu, sứ mệnh và giá trị 7
3 Sản phẩm của công ty 8
Chương 2: Nội dung thực tập 9
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 9
2 Nghiên cứu kỹ thuật 9
2.1 Các công cụ làm việc 9
2.2 Tìm hiểu framework Angular 11
2.3 Training các kiến thức khác 12
3 Thực hiện project 13
4 Lịch làm việc 14
Chương 3: Chi tiết về project 15
1 Giới thiệu về project 15
2 Thực hiện 16
3 Kế hoạch 18
Trang 7Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty DXC Technology
DXC Technology là công ty hàng đầu về dịch vụ CNTT toàn cầu trong danh sách Fortune 500 DXC có hơn 130.000 người ở hơn 70 quốc gia được ủy thác bởi khách hàng để cung cấp những gì quan trọng nhất DXC sử dụng sức mạnh của công nghệ để cung cấp các dịch vụ CNTT quan trọng cho sứ mệnh trên Công nghệ Doanh nghiệp tới thúc đẩy tác động kinh doanh DXC là nhà tuyển dụng được lựa chọn với các giá trị mạnh mẽ, và thúc đẩy một nền văn hóa hòa nhập, thuộc về và quyền công dân doanh nghiệp
Công ty DXC cung cấp các dịch vụ CNTT đẳng cấp thế giới trên quy mô Delivery Center và Global Innovation ở Bắc Mỹ, Nam Mỹ, Châu Âu, Châu Á và Châu Úc Các trung tâm kết nối toàn cầu của DXC tự cho phép giải quyết những thách thức công nghệ phức tạp và chuyển đổi hoạt động kinh doanh của khách hàng thông qua đội ngũ nhân viên giao hàng tận tâm của chúng tôi với hơn 110.000 người Với các đội phân phối toàn cầu và kỹ năng, kỹ thuật phong phú, DXC cung cấp các giải pháp để giải quyết chi phí, quy định, ngôn ngữ và kinh doanh của khách hàng yêu cầu về tính liên tục DXC tận dụng sức mạnh của quan
hệ đối tác thông qua hệ sinh thái riêng của các nhà lãnh đạo công nghệ được quản
lý Bằng cách kết hợp các điểm mạnh và chuyên môn trên toàn cầu, DXC tạo ra các giải pháp và mang lại kết quả lớn hơn cho khách hàng trên Công nghệ Doanh nghiệp
2 Mục tiêu, sứ mệnh và giá trị
- Mục tiêu: Mang đến cách dịch vụ cộng nghệ chỉnh chu đến cho khách hàng
Trang 8- Sứ mệnh: Trở thành một công ty dịch vụ CNTT sử dụng sức mạnh của công nghệ
để xây dựng tương lai tốt hơn cho khách hàng, đồng nghiệp, môi trường và cộng đồng, giúp khách hàng mang lại tác động kinh doanh và chủ nhân của sự lựa chọn
- Gía trị:
+ Giao hàng: Chúng tôi làm những gì chúng tôi nói rằng chúng tôi sẽ làm
+ Cộng tác: Chúng tôi làm việc theo nhóm - toàn cầu và địa phương
+ Cộng đồng: Chúng tôi tin tưởng vào sự quản lý và xây dựng một công ty hỗ trợ cộng đồng của chúng tôi
+ Quan tâm: Chúng tôi chăm sóc lẫn nhau và nuôi dưỡng văn hóa hòa nhập và thuộc về
+ Làm: điều đúng đắn và chúng ta hành động một cách chính trực
3 Sản phẩm của công ty
- DXC cung cấp các dịch vụ công nghệ thông tin mà khách hàng cần để hiện đại hóa hoạt động và thúc đẩy đổi mới trên toàn bộ lĩnh vực công nghệ thông tin của họ
- DXC cung cấp các dịch vụ về tập hợp các ngôn ngữ lập trình, khuôn khổ, kiến trúc, cơ sở dữ liệu, máy chủ, công cụ dành cho nhà phát triển thực hiện các chức năng nhất định trong ứng dụng DXC cung cấp gia công quy trình kinh doanh, phân tích và kỹ thuật, ứng dụng, bảo mật, đám mây, gia công phần mềm công nghệ thông tin và nơi làm việc hiện đại
Trang 9Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình web framework Angular” nhằm mục đích giúp sinh viện thực tập được đào tạo toàn diện về lập trình web sử dụng framework Angular, đồ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 kinh nghiệm, quy trình làm việc chuyên nghiệp, khám phá và tích luỹ kinh nghiệp trong một môi trường năng động, cạnh tranh
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 2 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ề 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 DXC, 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 : 4 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, anh Luân đã 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ư Tortoise Git - sử dụng trong làm việc nhóm, Notepad ++ - một chương trình soạn thảo văn bản rất hữu ích và phổ biến với lập trình viên, các extension cần thiết trên Visual Studio Code để hỗ trợ quá trình làm việc dễ dàng hơn Ngoài ra còn tìm hiểu về các phần mềm quản lí:
Trang 10+ Jira: Jira là một ứng dụng theo dõi và quản lý lỗi, vấn đề và dự án, được phát triển để làm quy trình này trở nên dễ dàng hơn cho mọi tổ chức JIRA đã được thiết kế với trọng tâm vào kết quả công việc, có thể sử dụng ngay và linh hoạt khi sử dụng
+ Marvelapp: Marvel là một phần mềm tạo mẫu cho tất cả mọi người với một giao diện Nó rất dễ sử dụng và làm quen Nó giúp các trang của bạn được thiết lập gọn gàng và ngăn nắp Cho phép mô phỏng nguyên mẫu thiết kế thông qua nguyên mẫu thử nghiệm Marvel cũng cho phép bạn thêm các thiết kế của mình vào quy trình làm việc của dự án
Trang 11Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên
Kết quả : Hiểu và thực tập sử dụng các công cụ vào trong công việc.
2.2 Tìm hiểu framework Angular
Thời gian : 14 ngày (2 tuần)
Nội dung : Được tự tìm hiểu và có thể nêu lên các vấn đề thắc mắc với mentor
Ngoài ra được training 1 khoá học online về framework Angular
- Training về các kiến thức cơ bản của Angular như Components, cách tạo 1 component mới trong project và sử dụng component vừa tạo
- Training kiến thức về Directives, làm việc với các Directives cơ bản như ngFor, ngIf
- Tìm hiểu kiến thức về Service trong Angular( Angular HTTP Client, Observer, fetch data, )
- Tìm hiểu kiến thức về Form(FormsModule,ngForm, ngModel,ngSubmit)
Trang 12- Học về kiến thức Angular Router
Thực hiện :
- Tham gia khoá học online do công ty cung cấp
- Làm các bài thực hành, kiểm tra về kiến thức đã học
- Trao đổi cùng mentor để giải quyết các thắc mắc xuất hiện trong quá trình học, tìm hiểu
Kết quả :
- Nâng cao kỹ năng lập trình, hiểu rõ hơn về framework Angular để có thể làm việc
- Có được những kiến thức quan trọng cho việc lập trình web với framework Angular sau này
- 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 13- SCSS,HTML:
Tham gia course online do công ty cung cấp, học về cách sử dụng scss vào trong công việc Ôn tập và nâng cao kiến thức về HTML hơn, biết thêm các kiến thức để code HTML dễ dàng, nhanh gọn hơn
- SQL:
Được công ty training kiến thức về SQL, database, các làm việc với SQL database
Thực hiện :
- Tham gia đầy đủ các buổi trainning
- Làm các bài tập thực hành như bài tập về SQL, bài tập tạo giao diện mẫu HTML, SCSS, thi các bài test online,…
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
Kết quả :
- Hiểu được những khái niệm cơ bản trong lập trình web
- Đã tạo ra được một số giao diện mẫu bằng HTML, SCSS
3 Thực hiện project
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ề Angular, HTML, SCSS, 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 để có thể giải quyết những task được leader giao cho
Chi tiết sẽ được nói ở phần sau
Trang 144 Lịch làm việc
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ủ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
Chị Phạm Thị Thuỳ Trang
2
- Tự tìm hiểu các kiến
thức về framework Angular
4
- Tham gia khoá học Java Intern của công ty
- JSP Serlet: Anh Đặng Danh Hữu
- Web Service:
Anh Lương Trung Nghĩa
5 - Tham gia các khoá
học về lập trình web
- Chị Nguyễn Thị Thuỳ Trang
6 - Tham gia các khoa
học về SQL
- Anh Nguyễn Thanh Luân
7
- Được tham gia vào
project Thực hiện fix các defect đơn giản
- Anh Nguyễn Thanh Luân
- Được giao các defect có độ khó
- Anh Nguyễn Thanh Luân
Trang 15Chương 3: Chi tiết về project
1 Giới thiệu về project
Project ứng dụng trong lĩnh vực bảo hiểm:
- Tên dự án: Integral – UI/UX Modernization
- Ngày bắt đầu: 11/11/2021
- Vị trí dự án: Việt Nam Quy mô đội: 20
- Mô tả dự án:
+ Phát triển UIUX mới cho Integral Life và Group bằng cách sử dụng thư viện Angular và DXC CDK Việc chuyển đổi là để duy trì khách hàng, tạo
đề xuất hợp đồng và xử lý đề xuất vấn đề
+ Cung cấp các dịch vụ kinh doanh hỗ trợ toàn bộ ngành bảo hiểm
Tóm tắt về Release, Sprint, Epic, Story:
- Mỗi đợt Release dự kiến sẽ kết thúc sau mỗi 3 tháng
- Mỗi Sprint sẽ kéo dài trong 2 tuần
- Mỗi Epic tương ứng với chức năng menu phụ trên hệ thống cũ
- Các Story trên mỗi Epic là chức năng phụ của Epic này Theo nó, tạo
nhiệm vụ phụ để triển khai từng Story
Trang 162 Thực hiện
Khi vừa bắt đầu tham gia vào dự án, em đã được giao sửa một số defect đơn giản trong project
Tham vào sửa các defect của Epic Receivables and Payables Các defect tham gia fix thuộc về các sub-task như Modify Payment(xử lí việc thay đổi cái payment đã tạo) và Payment Enquiry
Trang 17Về phần defect, các trường hợp em đã fix có thể kể đến như: sai label name, sai id của field, binding data không đúng field, miss data,…
Sau đó em đã được giao để thực hiện cài đặt các sub-task lớn hơn Các sub-task đã từng cài đặt: work-with-regular-claims component, Extra-info Heath Claim, Death Claim Release-Coverage, First Death Registrtion, ( Mỗi một sub-task được cài đặt trong khoảng 3-5 ngày)
Trang 183 Kế hoạch
Giai đoạn 1: Thực hiện xử lí các defect đơn giản để làm quen với dự án
- Làm quen với các component trong project, làm quen với flow của các chức năng chính trong các sub-task của những anh chị khác thông qua fix lỗi, debug
- Học thêm các kiến thức trong Angular như service, router, và các kĩ năng mềm như debug, làm việc nhóm
- Tìm hiểu quy trình làm việc của nhóm, kết nối được các bộ phận quan trọng như api team, devops team, BA team, QC team
Kết quả:
- Đã hoàn thành tốt các defect được giao Các defect khó được anh Nguyễn Thanh Luân hỗ trợ
- Hiểu về quy trình làm việc và các bộ phận cần thiết để kết nối khi có vấn đề xảy ra
Giai đoạn 2: Thực hiện cài đặt các sub-task có độ khó cao hơn
- Thực hiện cài đặt UI cho component mới
- Thực hiện binding data cho UI
- Kết nối api team để có api test trước data
- Thực hiện các chức năng của component dựa theo mẫu có sẵn
Kết quả: Đã hoàn thành toàn bộ những tính năng trên Sau đó resolved và chuyển sang cho QC team để thực hiện kiểm thử
Trang 19TÀI LIỆU THAM KHẢO
Về Angular Framework
https://angular.io/
Về SCSS:
https://sass-lang.com/guide
Ngoài ra, còn tham khảo các kênh Youtube khác nhau như:
https://www.youtube.com/watch?v=AAu8bjj6-UI&t=250s
https://www.youtube.com/watch?v=77QwgOBOg7Y&t=882s