HCMKHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO THỰC TẬP TỐT NGHIỆP Ngành: Công Nghệ Kỹ Thuật Điện Tử - Viễn Thông C ơ quan thực tập : CÔNG TY TNHH PHẦN MỀM FPT HỒ CHÍ MINH Đề tài: Lập trình hệ th
TỔNG QUAN
Giới thiệu công ty TNHH Phần Mềm FPT Software TP.HCM
FPT Software, công ty con của Tập đoàn FPT, là nhà cung cấp hàng đầu về công nghệ và dịch vụ CNTT tại Việt Nam Được thành lập vào năm 1999, FPT Software đã mở rộng hoạt động ra 30 quốc gia và vùng lãnh thổ, với 83 văn phòng toàn cầu, đạt tổng doanh thu 1 tỷ USD.
Năm 2023, FPT Software đã có hơn 30.000 nhân viên toàn cầu và dẫn đầu trong lĩnh vực chuyển đổi số Công ty cung cấp đa dạng dịch vụ như Nhà máy thông minh, Nền tảng số, gia công phần mềm, gRPA, AI, IoT, Cloud, AR/VR, BPO và nhiều lĩnh vực khác, cam kết tuân thủ các tiêu chuẩn quốc tế Đặc biệt, FPT Software là đơn vị đầu tiên tại Việt Nam và thứ 18 trên thế giới đạt chứng nhận TMMi cấp độ 5.
FPT Software sở hữu nhiều khuôn viên hiện đại tại Việt Nam, nổi bật là Fville, F-Complex và F-Town Fville, được xây dựng vào năm 2013 tại Công viên Công nghệ cao Hòa Lạc (Hà Nội), cung cấp không gian làm việc xanh, hiện đại với cơ sở vật chất tiên tiến, tạo điều kiện lý tưởng cho nhân viên sáng tạo và phát triển công nghệ, mang lại lợi ích cho cộng đồng.
Báo Cáo Thực Tập Tốt Nghiệp Trang 12
Hình 1.1: Toà nhà Fville trụ sở Hà Nội của FPT SOFTWARE
F-Complex, khuôn viên lấy cảm hứng từ biểu tượng trống đồng – nét đặc trưng của nền văn minh quốc gia Việt Nam, có thiết kế độc đáo với đường kính 50 mét. Tòa nhà này không chỉ hiệu quả trong việc sử dụng tài nguyên mà còn góp phần giảm thiểu phát thải khí nhà kính, qua đó trở thành tòa nhà văn phòng đầu tiên tại Việt Nam đạt chứng nhận thiết kế thân thiện môi trường (EDGE) do Tổ chức Tài chính Quốc tế (IFI) cấp F-Complex mang lại không gian xanh đa dạng, hỗ trợ nhân viên làm việc hiệu quả và duy trì lối sống lành mạnh.
F-Town là khuôn viên phần mềm đầu tiên của FPT Software tại Thành phố Hồ Chí Minh Lấy cảm hứng từ mô hình thiết kế của các công ty công nghệ lớn trên thế giới, ban đầu F-Town bao gồm hai tòa nhà chính là F-Town 1 và F-Town 2 Tuy nhiên, để đáp ứng sự tăng trưởng mạnh mẽ của công ty, F-Town 3 đã được xây dựng vào năm 2019 Tòa nhà này được trang bị cơ sở vật chất hiện đại, hệ thống pin năng lượng mặt trời bảo vệ sức khỏe và không gian xanh rộng lớn, giúp tối ưu hóa ánh sáng tự nhiên, đồng thời nâng cao năng suất và hiệu quả làm việc của nhân viên.
Báo Cáo Thực Tập Tốt Nghiệp Trang 13
Hình 1.3: F-Town 3 thuộc FPT SOFTWARE TP.HCM
FPT Software, với cơ sở vật chất hiện đại và chiến lược phát triển bền vững, đã khẳng định vị thế hàng đầu trong ngành công nghệ, đồng thời trở thành điểm đến lý tưởng cho nhân tài trong và ngoài nước.
Lịch sử hình thành của công ty
FPT Software được thành lập vào năm 1999 bởi 13 thành viên của Tập đoàn FPT, dưới sự lãnh đạo của ông Nguyễn Thành Nam, người sau này giữ chức vụ Tổng Giám đốc và Chủ tịch công ty, đồng thời đảm nhiệm vai trò Tổng Giám đốc Tập đoàn FPT.
Vào năm 2000, FPT Software đã mở hai chi nhánh quốc tế đầu tiên tại Thung lũng Silicon (Mỹ) và Bangalore (Ấn Độ), nhưng cả hai đã phải đóng cửa sau một năm do không thu hút được khách hàng Sau đó, công ty quyết định tập trung vào thị trường Nhật Bản, nơi đã trở thành động lực chính cho sự phát triển của FPT Software Đến năm 2005, FPT Software mở chi nhánh đầu tiên tại Nhật Bản, tiếp theo là sự mở rộng sang Singapore vào năm 2007 và sau đó là Pháp, Malaysia, và Úc.
Năm 2008, FPT Americas đã được tái khai trương, đánh dấu một bước tiến quan trọng trong hoạt động quốc tế của công ty Tại thị trường trong nước, FPT đã mở các trung tâm cung cấp dịch vụ tại Thành phố Hồ Chí Minh vào năm 2004 và Đà Nẵng vào năm 2005, khẳng định sự phát triển mạnh mẽ của mình.
Báo Cáo Thực Tập Tốt Nghiệp Trang 14
Năm 2009, FPT Software được tái tổ chức thành công ty cổ phần, với Chủ tịch mới là ông Nguyễn Thành Nam và Tổng Giám đốc Bùi Thị Hồng Liên.
Vào năm 2012, FPT Software đã tiến hành tái cơ cấu lớn, bao gồm việc thay đổi bộ máy lãnh đạo, mô hình kinh doanh và chiến lược phát triển Đến cuối năm 2013, công ty đã đạt được doanh thu 100 triệu USD và sở hữu 5.000 nhân viên.
Tháng 6 năm 2014, FPT Software mua lại RWE IT Slovakia, một đơn vị kinh doanh IT của RWE, trở thành công ty CNTT Việt Nam đầu tiên thực hiện sáp nhập và mua lại (M&A) ở nước ngoài. Đến năm 2016, doanh thu của FPT Software đạt 230 triệu USD và số lượng nhân viên tăng lên 10.000, đưa công ty vào vị trí tương đương với top 20 công ty dịch vụ CNTT hàng đầu của Ấn Độ FPT Japan đạt doanh thu 126 triệu USD, trở thành chi nhánh quốc tế đầu tiên của FPT Software vượt mốc 100 triệu USD doanh thu Cũng trong năm này, FPT Korea được thành lập và FPT Complex được khánh thành tại Đà Nẵng.
Năm 2017, Tập đoàn FPT đã tài trợ cho công ty thực hiện các chiến dịch chuyển đổi số và chiến lược "săn cá voi," thiết lập mối quan hệ với hơn 40 tập đoàn lớn toàn cầu, bao gồm hơn 20 tập đoàn trong danh sách Fortune Global 500 như Airbus, Siemens, và UPS Đến cuối năm 2017, FPT Software đã có 75 đối tác trong danh sách Fortune Global 500, và F-Ville 2 được khai trương với sức chứa 5.000 nhân viên.
Tháng 7 năm 2018, FPT Software mua lại 90% cổ phần của Itellinet, một công ty tư vấn có trụ sở tại Mỹ với 150 chuyên gia cao cấp và doanh thu đạt 30 triệu USD. Trong năm đó, FPT Japan đạt 1.000 nhân viên và được xếp hạng trong top 40 công ty CNTT hàng đầu tại Nhật Bản.
Năm 2021, FPT Software đã mở rộng văn phòng toàn cầu bất chấp tác động của đại dịch COVID-19 và vẫn duy trì tăng trưởng dương về doanh thu và lợi nhuận Công ty ghi nhận doanh thu đạt 500 triệu USD, với tốc độ tăng trưởng 50% tại thị trường Mỹ.
Năm 2022, FPT Software đã khai trương văn phòng thứ 10 tại New York, Mỹ, đánh dấu cột mốc quan trọng khi lần đầu tiên hợp tác với khách hàng có doanh thu lên tới 100 triệu USD.
Báo Cáo Thực Tập Tốt Nghiệp Trang 15 đạt doanh thu 800 triệu USD.
Năm 2023, FPT Software đã thực hiện 4 thương vụ M&A và đầu tư tại Mỹ và châu Âu, đồng thời ra mắt FPT Automotive nhằm phát triển các phương tiện điều khiển bằng phần mềm Công ty cũng ghi nhận doanh thu 1 tỷ USD trong năm nay.
1.2.1.Định hướng hoạt động của công ty
FPT Software đang thực hiện một chiến lược mạnh mẽ nhằm mở rộng và củng cố vị thế toàn cầu trong ngành công nghệ thông tin và chuyển đổi số Các ưu tiên hàng đầu trong giai đoạn hiện tại và tương lai bao gồm việc nâng cao năng lực công nghệ, phát triển các giải pháp đổi mới và mở rộng thị trường quốc tế.
Chuyển đổi số và phát triển công nghệ tiên tiến
FPT Software chuyên cung cấp giải pháp trong các lĩnh vực trí tuệ nhân tạo (AI), điện toán đám mây, bảo mật và dịch vụ quản lý hạ tầng Hệ sinh thái GenAI của FPT đã được triển khai với các sản phẩm công nghệ tiên tiến, phục vụ hàng triệu người dùng trên toàn cầu.
Tăng trưởng doanh thu toàn cầu:
Công ty đặt mục tiêu đạt doanh thu 1 tỷ USD từ lĩnh vực Automotive vào năm
Đến năm 2030, mục tiêu doanh thu 5 tỷ USD từ thị trường quốc tế sẽ được đạt được thông qua chiến lược "5 GIGA", bao gồm các mục tiêu cụ thể về khách hàng, hợp đồng, chuyên ngành và lợi nhuận tỷ đô.
Đào tạo và phát triển nguồn nhân lực chất lượng cao
FPT Software đang mở rộng hợp tác với các tổ chức quốc tế như PMI nhằm nâng cao kỹ năng quản lý dự án cho nhân viên Trong vòng 3 năm tới, công ty đặt mục tiêu đạt hơn 2.600 chứng chỉ quản lý dự án, từ đó củng cố năng lực cạnh tranh trên thị trường toàn cầu.
Mở rộng thị trường quốc tế
FPT Software áp dụng chiến lược "Follow the Sun" để tiếp cận các khách hàng lớn tại các quốc gia phát triển, mở rộng sự hiện diện tại hơn 30 quốc gia Công ty đặt mục tiêu trở thành một trong 50 công ty dịch vụ CNTT hàng đầu thế giới vào năm 2030.
Chuyển đổi bền vững và đổi mới sáng tạo
Mục tiêu thực tập
Quy trình làm việc của kỹ sư lập trình nhúng bao gồm việc sắp xếp và quản lý công việc một cách hiệu quả, đồng thời nắm vững cách lập trình và kiểm thử hệ thống POS Bên cạnh đó, việc phát triển các công cụ hỗ trợ công việc cũng rất quan trọng để nâng cao năng suất và chất lượng sản phẩm.
Nhiệm vụ thực tập
Trong suốt 03 tháng thực tập tại công ty FPT SOFTWARE HCM, người thực hiện báo cáo đã tham gia vào dự án PCO và những công việc đã thực hiện được tóm tắt trong bảng dưới đây.
Bảng 1.1: Bảng tóm tắt công việc mà người thực hiện báo cáo đã thực tập
Tuầ n Thời gian Nội dung thực hiện
Gặp công ty để nghe phổ biến các quy định
Tham gia khoá học ISMS (bảo mật thông tin) của công ty và hoàn thành bài kiểm tra)
Tải phần mềm Linux, đọc tài liệu dự án, hướng dẫn cách viết file xml
Tham gia khoá học lập trình C++, viết file xml cho
Viết file xml cho Test tool EMVCL, thực hiện toolInsert picture vào powerpoint ( do dự án yêu cầu), Chương 1: Tổng quan
Báo Cáo Thực Tập Tốt Nghiệp Trang 20 học khoá học C++ cho nhân viên
Nghiệm thu source code xml , đọc tài liệu dự án, làm tool insert picture vào powerpoint, học khoá học C++ cho nhân viên
Nạp source code xml vào Test tool để kiểm tra hoạt động truyền và nhận của thiết bị POS , học khoá học
9/8/2024 Đối ứng khách hàng, chỉnh sửa những điểm còn bất cập, chạy lại source code xml vào Test tool
16/8/2024 Đọc tài liệu dự án, tiếp tục làm tool insert picture vào powerpoint, học khoá học C++ cho nhân viên
Thực hiện viết file xml cho Test tool EMVCT, làm tool insert picture vào powerpoint, học khoá học C++ cho nhân viên
Thực hiện Tool insert Picture vào ppt, viết báo cáo, tài liệu hướng dẫn sử dụng tool, hoàn thành khoá học
Nghiệm thu sản phẩm Tool insert Picture vào Powerpoint, báo cáo kết quả làm được cho cán bộ hướng dẫn
Nộp quyển báo cáo TTTN cho công ty và giấy nhận xét TTTN
CƠ SỞ LÝ THUYẾT
Cơ sở lý thuyết
EMVCL, viết tắt của EMV Contactless, là một tiêu chuẩn cho giao dịch không tiếp xúc dựa trên công nghệ EMV Tiêu chuẩn này cho phép người dùng thực hiện thanh toán nhanh chóng bằng cách chạm thẻ, điện thoại hoặc các thiết bị hỗ trợ NFC (Near Field Communication) lên máy POS mà không cần đưa thẻ vào đầu đọc.
- Không tiếp xúc: Thẻ hoặc thiết bị thanh toán giao tiếp với máy POS qua công nghệ NFC.
- An toàn: Sử dụng các quy trình mã hóa và xác thực tiêu chuẩn của EMV để bảo vệ dữ liệu.
Giao dịch nhanh chóng chỉ mất vài giây, rất phù hợp cho các môi trường thanh toán nhanh như cửa hàng tiện lợi, nhà hàng ăn nhanh và phương tiện công cộng.
EMVCT, viết tắt của EMV Contact, là tiêu chuẩn cho các giao dịch thẻ yêu cầu tiếp xúc vật lý, trong đó người dùng phải cắm thẻ vào máy POS để thực hiện giao dịch Đặc điểm nổi bật của EMVCT là thẻ phải được cắm vào khe đọc thẻ để giao tiếp với thiết bị, sử dụng quy trình mã hóa và xác thực tiêu chuẩn EMV nhằm bảo vệ dữ liệu Mặc dù EMVCT cung cấp mức độ bảo mật cao tương tự như EMVCL, nhưng giao dịch có thể mất thêm vài giây do cần thời gian cắm thẻ và đọc dữ liệu Tiêu chuẩn này chủ yếu được áp dụng cho các máy POS truyền thống hoặc thiết bị không hỗ trợ NFC.
Chương 2: Cơ sở lí thuyết
Báo Cáo Thực Tập Tốt Nghiệp Trang 22
NỘI DUNG THỰC TẬP TẠI CÔNG TY
Khoá học C/C++ cơ bản cho nhân viên
Để nâng cao trình độ chuyên môn cho nhân viên mới, công ty đã tổ chức khóa học “C/C++ cơ bản”, cung cấp kiến thức lập trình quan trọng trong lĩnh vực lập trình nhúng Khóa học bắt đầu với việc giới thiệu các khái niệm cơ bản như hoạt động của máy tính, hệ thống số, ngôn ngữ bậc thấp và bậc cao, cũng như trình biên dịch và trình thông dịch, giúp người học có cái nhìn tổng quát và toàn diện về lập trình.
Khóa học cung cấp kiến thức chuyên sâu về C++, bao gồm kiểu dữ liệu, biến, toán tử số học, biểu thức, câu lệnh điều kiện, vòng lặp, mảng, chuỗi và hàm Tất cả các khái niệm này được giải thích chi tiết, giúp người học nắm vững nền tảng của ngôn ngữ lập trình C++ Ngoài ra, khóa học cũng đề cập đến khái niệm con trỏ, bao gồm cách sử dụng và quản lý con trỏ trong ứng dụng.
3.1.1 Lập trình hướng đối tượng với C++
Lập trình hướng đối tượng (OOP) là một mô hình lập trình cơ bản và phổ biến, được áp dụng rộng rãi trong hầu hết các ứng dụng hiện nay Mô hình này đã trở thành một phần quan trọng trong phát triển phần mềm và được biết đến rộng rãi trong cộng đồng lập trình.
C++ là một ngôn ngữ lập trình đa dụng nổi bật với hỗ trợ mô hình lập trình hướng đối tượng (OOP) Ngôn ngữ này cho phép lập trình viên kiểm soát tối ưu tài nguyên hệ thống và bộ nhớ, khiến C++ trở thành lựa chọn lý tưởng cho việc phát triển ứng dụng hệ thống nhúng.
Khóa học này giới thiệu các kiến thức cơ bản về lập trình hướng đối tượng với C++, bao gồm các khái niệm quan trọng như Lớp (Class) và Đối tượng (Object) Học viên sẽ nắm vững các kỹ thuật quản lý dữ liệu trong lớp để giảm thiểu lỗi và sự cố không mong muốn.
Chương 2: Cơ sở lí thuyết
Khóa học này giới thiệu bốn nguyên lý cốt lõi của lập trình hướng đối tượng, trong đó có nguyên lý Đóng gói (Encapsulation), cho phép kiểm soát việc truy cập và thay đổi dữ liệu từ bên ngoài một cách hiệu quả.
Trừu tượng hóa (Abstraction): Ẩn đi những thông tin chi tiết và phức tạp, chỉ hiển thị các phần cần thiết của một lớp.
Kế thừa (Inheritance) là khả năng cho phép một lớp nhận các thuộc tính và đặc điểm từ lớp khác, giúp tối ưu hóa việc tái sử dụng mã nguồn và giảm thiểu sự trùng lặp Đa hình (Polymorphism) là khả năng cho phép các phương thức hoạt động dưới nhiều hình thức khác nhau, mang lại sự linh hoạt trong lập trình.
3.1.2 Cấu trúc Dữ liệu và Thuật toán với C/C++
Cấu trúc dữ liệu và thuật toán là kiến thức thiết yếu trong lập trình, cần thiết cho những ai làm việc trong lĩnh vực kỹ thuật phần mềm Chúng không chỉ giúp tổ chức và định dạng dữ liệu mà còn hướng dẫn cách xử lý để giải quyết các vấn đề phức tạp và bài toán thực tế một cách hiệu quả Vì vậy, công ty đã phát triển một khóa học chuyên biệt về chủ đề này.
Khóa học này tập trung vào các cấu trúc dữ liệu và thuật toán phổ biến trong hầu hết các hệ thống phần mềm, nhấn mạnh mối liên hệ giữa chúng Bên cạnh đó, khóa học cũng đề cập đến việc phân tích độ phức tạp của thuật toán, giúp người học có cái nhìn khách quan về hiệu suất và cách sử dụng của các cấu trúc dữ liệu và thuật toán này.
Khóa học tập trung vào việc triển khai cấu trúc dữ liệu và thuật toán bằng ngôn ngữ C và C++, giúp người học nắm vững không chỉ kiến thức về cấu trúc dữ liệu và thuật toán mà còn nâng cao hiểu biết về ngôn ngữ lập trình này.
Khóa học cung cấp kiến thức toàn diện về cấu trúc dữ liệu và thuật toán, giúp người học nắm vững các kỹ năng cần thiết để giải quyết bài toán phức tạp và cải thiện hiệu suất lập trình.
Chương 3: Nội dung thực tập tại công ty
Báo Cáo Thực Tập Tốt Nghiệp Trang 24
Các kiểu cấu trúc dữ liệu được giới thiệu trong khoá học bao gồm :
Danh sách liên kết (Linked List), Ngăn xếp (Stack), Hàng đợi (Queue) ,Cây (Trees), Binary Search Trees , AVL Trees , Search Trees , Heap, Sắp xếp (Sorting)
, Bảng Băm (Hashing Table), Đồ thị (Graphs)
Phát triển tool chèn hình ảnh vào Powerpoint
Sau khi hoàn thành khóa học lập trình C/C++ cho nhân viên, báo cáo viên được giao nhiệm vụ phát triển một công cụ chèn hình ảnh từ một thư mục vào PowerPoint Công cụ này sẽ sắp xếp các tệp hình ảnh theo thứ tự thời gian, với tệp cũ nhất được chèn trước Mục tiêu của việc phát triển công cụ này là hỗ trợ các kỹ sư kiểm thử hệ thống trong dự án xử lý ảnh bằng camera, giúp họ thực hiện kiểm tra một cách nhanh chóng và hiệu quả mà không bỏ sót bất kỳ bức ảnh nào.
3.2.1 Sơ đồ khối hệ thống
Hình 3.1: Sơ đồ khối của tool
SC: Thư mục hình ảnh đầu vào
EVI: Các tệp PowerPoint đầu vào, nơi hình ảnh từ thiết bị đang kiểm thử sẽ được thêm vào
3.2.2 Tổng quan về hệ thống
Hệ thống gồm có 4 khối mỗi khối đóng một vai trò quan trọng trong việc vận hành của hệ thống
- Khối xử lí hình ảnh: xử lí định dạng và thứ tự hình ảnh đầu vào để thêm vào powerpoint
Chương 3: Nội dung thực tập tại công ty
Báo Cáo Thực Tập Tốt Nghiệp Trang 25
- Khối xử lí PowerPoint : Chuyển đổi tệp PowerPoint đầu vào sang định dạng dễ sử dụng cho lập trình viên trong quá trình sắp xếp thứ tự của tệp
- Khối xử lí thêm hình ảnh: Thêm hình ảnh vào tệp powerpoint sau khi cả hai đã được sắp xếp thứ tự
- Khối xử lí đầu ra: Chuyển đổi tệp PowerPoint về lại định dạng ban đầu
3.2.3 Vận hành hệ thống a)Xử lí hình ảnh
Các hình ảnh trong thư mục SC được lưu trữ với tên theo định dạng SCyymmddhhmmss, trong đó yy là hai số cuối của năm, mm là tháng, dd là ngày, hh là giờ, mm là phút và ss là giây Để thêm các hình ảnh vào tệp PowerPoint theo thứ tự thời gian, người thực hiện cần xác định định dạng và thứ tự của chúng Quá trình này có thể thực hiện bằng C++ thông qua việc so sánh thời gian giữa các hình ảnh; hình ảnh cũ nhất sẽ được đặt tên và lưu theo thứ tự SC1, SC2, và tiếp tục như vậy cho đến hết.
Khi đã xác định định dạng và thứ tự thời gian cho các hình ảnh, khối sẽ xuất ra đường dẫn tới thư mục SC, sau đó chuyển tiếp đường dẫn này cho khối thêm hình ảnh để chèn vào tệp PowerPoint Bước tiếp theo là xử lý PowerPoint.
Khối xử lý PowerPoint là một phần thiết yếu trong hệ thống, có chức năng chuyển đổi tệp PowerPoint của người dùng sang định dạng dễ dàng hơn cho lập trình viên, từ đó cho phép các chương trình bên ngoài can thiệp và chỉnh sửa dữ liệu trong tệp một cách hiệu quả.
Tệp PowerPoint (.pptx) là một gói dữ liệu chứa nhiều tệp XML, mô tả nội dung và hoạt động của từng phần trong slide Để chỉnh sửa tệp pptx qua lập trình, cần truy cập vào cấu trúc bên trong bằng cách thêm phần mở rộng zip vào tên tệp.
Để chỉnh sửa tệp pptx, bạn cần giải nén tệp này để truy cập cấu trúc XML bên trong Sau khi giải nén, lập trình viên có thể thực hiện các thay đổi cần thiết thông qua cấu trúc XML đó.
Hình 3.2: Tệp pptx được chuyển đổi thành têp zip
Hình 3.3: Tệp zip sau khi giải nén sẽ xuất hiện tệp xml
Sau khi giải nén thành công tệp pptx từ tệp zip, đường dẫn đến thư mục chứa cấu trúc XML sẽ được chuyển đến khối xử lý hình ảnh Đồng thời, tệp đầu vào của người dùng cũng sẽ được sao chép vào bộ nhớ tạm.
Báo cáo thực tập tốt nghiệp trang 27 đề cập đến việc xử lý dữ liệu trong chương trình, đảm bảo rằng dữ liệu gốc không bị ảnh hưởng Ngoài ra, khối xử lý còn thực hiện việc thêm hình ảnh để nâng cao chất lượng báo cáo.
Khối xử lý hình ảnh là thành phần quan trọng nhất trong hệ thống công cụ hỗ trợ, đảm nhiệm vai trò chính trong việc thêm hình ảnh và đồng thời là khối phức tạp nhất của toàn bộ hệ thống.
Việc thêm hình ảnh vào tệp PowerPoint thông qua lập trình là một nhiệm vụ phức tạp, yêu cầu chỉnh sửa sâu vào cấu trúc XML bên trong tệp Một sai sót nhỏ trong cấu trúc XML có thể dẫn đến hỏng toàn bộ tệp Để thực hiện việc này, hình ảnh cần được đưa vào thư mục "media" trong thư mục "ppt", nơi chứa toàn bộ nội dung phương tiện của tệp PowerPoint, cho phép mỗi tệp hình ảnh được liên kết và hiển thị trên các slide cụ thể.
Hình 3.4: Nội dung trong thư mục ppt
Chương 3: Nội dung thực tập tại công ty
Định dạng tệp hình ảnh cần được thêm vào tệp [Content_Types].xml, tệp này lưu trữ tất cả các định dạng có trong tệp PowerPoint cùng với các nội dung khác.
Hình 3.5: Tệp [Content_Types].xml chứa các định dạng
Để hiển thị hình ảnh trong thư mục media, cần liên kết chúng với một slide cụ thể bằng cách gán giá trị rId tương ứng với đường dẫn của hình ảnh Quá trình này diễn ra trong tệp slidex.xml.rels, với x là số thứ tự của slide Sau đó, rId của hình ảnh sẽ được sử dụng trong tệp slidex.xml, nơi x cũng là số thứ tự của slide Cả hai tệp này đều được lưu trữ trong thư mục slides.
Hình 3.6: Nội dung bên trong thư mục slide
Chương 3: Nội dung thực tập tại công ty
Để thao tác với tệp XML trong PowerPoint, cần sử dụng XML reader để đọc dữ liệu và XML writer để ghi dữ liệu Do cấu trúc nội bộ đặc biệt của tệp XML, XML reader và XML parser đã được thiết kế riêng để thực hiện nhiệm vụ này một cách hiệu quả.
Hình 3.7: rId của hình ảnh được thêm vào tệp rels
Hình 3.8: Thêm cấu trúc XML của một hình ảnh vào tệp d) Khối xử lí đầu ra
Sau khi thêm hình ảnh vào tệp PowerPoint, bạn cần chuyển đổi tệp trở lại định dạng gốc (.pptx) bằng cách nén toàn bộ nội dung thành một tệp zip Tiếp theo, xóa phần mở rộng zip để khôi phục tệp pptx ban đầu, hoàn tất quá trình thêm hình ảnh vào PowerPoint.
3.2.4 Giao diện của hệ thống Để dễ dàng trong việc sử dụng, người thực hiện báo cáo đã thực hiện một giao diện đơn giản , giao diện này được thiết kế bằng ngôn ngũ C# và kết hợp với sự hỗ trợ của NET framework.
Chương 3: Nội dung thực tập tại công ty
Báo Cáo Thực Tập Tốt Nghiệp Trang 30 a) NET framework
Lập trình kiểm thử hệ thống hệ thống POS
Trong ba tháng thực tập tại công ty FPT SOFTWARE, tôi đã thực hiện khóa học C/C++ cho nhân viên và phát triển công cụ chèn hình ảnh vào PowerPoint Bên cạnh đó, tôi cũng có cơ hội tham gia vào dự án POS, với nhiệm vụ lập trình kiểm thử hệ thống thanh toán.
3.3.1 Giới thiệu sơ lược về hệ thống POS
Thiết bị POS (Point of Sale) là công cụ quan trọng giúp doanh nghiệp và nhà bán lẻ quản lý sản phẩm, thực hiện thanh toán (bao gồm tiền mặt, thẻ ATM, ví điện tử), in hóa đơn, quản lý khách hàng và theo dõi báo cáo doanh thu hiệu quả Trong bài viết này, chúng tôi tập trung nghiên cứu máy đọc thẻ tín dụng, một thiết bị phổ biến tại các siêu thị, nhằm nâng cao hiệu quả kinh doanh.
Máy đọc thẻ tín dụng là thiết bị quan trọng, yêu cầu độ chính xác và ổn định cao trong các giao dịch tiền tệ giữa khách hàng và nhà bán lẻ Là thực tập sinh, nhiệm vụ chính của bạn là nghiên cứu thiết bị này để nắm rõ cách thức hoạt động của nó Bên cạnh đó, bạn cũng sẽ được giao một số nhiệm vụ đơn giản để hiểu rõ hơn về quy trình triển khai dự án trong môi trường làm việc chuyên nghiệp.
Chương 3: Nội dung thực tập tại công ty
Báo Cáo Thực Tập Tốt Nghiệp Trang 33
Hình 3.10: Thiết bị POS thanh toán bằng thẻ tín dụng
Để đảm bảo an toàn thông tin, báo cáo này sẽ không tiết lộ chi tiết về dự án Chỉ có một số thông tin chung được phép thảo luận bên ngoài công ty nhằm bảo vệ quyền riêng tư của khách hàng.
3.3.2 Tổng quan công việc được giao trong dự án
Trước khi phát triển một thiết bị, việc hiểu rõ cách thức hoạt động của nó là rất quan trọng Người thực hiện báo cáo cần nghiên cứu tài liệu liên quan như đặc tả kỹ thuật và thông số kỹ thuật để nắm vững chức năng của thiết bị Bên cạnh đó, họ cũng cần học cách tương tác với thiết bị thông qua việc kết nối với sản phẩm thực tế Một trong những nhiệm vụ cụ thể là viết file XML cho hai tiêu chuẩn EMVCL và EMVCT.
Sau khi hoàn thành nghiên cứu, người thực hiện báo cáo sẽ viết file XML cho công cụ kiểm tra, bắt đầu với file XML cho EMVCL, tiêu chuẩn thanh toán không tiếp xúc.
Chương 3: Nội dung thực tập tại công ty
Báo Cáo Thực Tập Tốt Nghiệp Trang 34
Hình 3.11: Minh hoạ tiêu chuẩn EMVCL
Sau khi hoàn thành file XML cho EMVCL, người thực hiện báo cáo cần nộp lại cho cán bộ quản lý Sau đó, file này sẽ được gửi đến bộ phận kiểm tra của dự án để tiến hành kiểm tra sai sót.
Quản lý yêu cầu các thành viên trong nhóm thực hiện báo cáo và hướng dẫn các thực tập sinh viết file XML cho EMVCT, một tiêu chuẩn liên quan đến tiếp xúc vật lý.
Hình 3.12: Minh hoạ tiêu chuẩn EMVCT
Với kinh nghiệm từ việc viết file XML cho EMVCL, nhóm thực tập sinh đã nâng cao năng suất khi viết file cho EMVCT Sau khi hoàn thành, họ cần kiểm tra sai sót và đọc tài liệu để chuẩn bị cho bước kiểm tra trên phần cứng Cuối cùng, họ nạp file XML vào công cụ kiểm tra và xác minh hoạt động trên phần cứng.
Chương 3: Nội dung thực tập tại công ty
Báo Cáo Thực Tập Tốt Nghiệp Trang 35
Sau khi hoàn tất kiểm tra và chỉnh sửa cần thiết, người thực hiện báo cáo sẽ nạp file XML vào công cụ thử nghiệm và kết nối với thiết bị thực tế Họ sẽ kiểm tra các chức năng như hiển thị màn hình, xử lý đầu vào của người dùng, phát hiện thẻ, phát âm thanh từ loa để thông báo giao dịch, và kiểm tra chức năng chạm hoặc quẹt thẻ Nhiệm vụ của người thực hiện báo cáo là xác minh xem các thông số truyền và nhận có khớp với các thông số trong đặc tả kỹ thuật hay không.
Hình 3.13: Test tool của hệ thống POS
Cuối cùng, báo cáo cho quản lý dự án sẽ bao gồm thông tin về các phần không hoạt động hoặc hoạt động của hệ thống, cũng như các thông số truyền và nhận bị lỗi Điều này nhằm hỗ trợ quá trình chỉnh sửa và hoàn thiện sản phẩm.
Sau khi hoàn tất quá trình phát triển, thiết bị sẽ trải qua kiểm tra nghiêm ngặt nhằm đánh giá tính năng và đảm bảo không có lỗi trước khi được bàn giao cho khách hàng.
Chương 3: Nội dung thực tập tại công ty
Báo Cáo Thực Tập Tốt Nghiệp Trang 36