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 LẬP TRÌNH ỨNG DỤNG WEB SỐ HÓA QUY TRÌNH TRONG DOANH NGHIỆP Công ty thực tập: Công ty cổ phần chứng khoán F
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 ỨNG DỤNG WEB SỐ HÓA QUY
TRÌNH TRONG DOANH NGHIỆP
Công ty thực tập: Công ty cổ phần chứng khoán Funan (FNS) Người phụ trách: Nguyễn Tuấn Anh
Thực tập sinh: Phan Minh Toàn
TP Hồ Chí Minh, tháng 1 năm 2021
Trang 2LỜI MỞ ĐẦU
Ngày nay, ngành công nghệ thông tin là một ngành khoa học đang trên đà phát triển mạnh
và ứng dụng rộng rãi trên nhiều lĩnh vực
Trước khi máy tính ra đời, dữ liệu của các công ty, doanh nghiệp được lưu trữ và ghi chép hoàn toàn trên giấy tờ thông thường Các công việc truy xuất, thống kê, báo cáo tổng hợp trên giấy tờ là hết sức khó khăn và tiêu tốn nhiều thời gian ngoài ra việc mất mát đữ liệu thiếu xót và thiếu chính xác gây ảnh hưởng nghiêm trọng đối với không chỉ kết quả kinh doanh của các công
ty, doanh nghiệp mà còn đối với các dự định, kế hoạch phát triển doanh nghiệp trong tương lai
Vào những năm 80 của thế kỷ 20, khi chiếc máy tính cá nhân đầu tiên ra đời cùng với việc chúng được sử dụng rộng rãi đã kéo theo sự phát triển của ngành công nghệ phần mềm Các phần mềm quản lý và các phần mềm dành cho nhân viên văn phòng là những sản phẩm hỗ trợ rất mạnh
mẽ trong việc vận hành và phát triển các công ty và doanh nghiệp thời bấy giờ Nhược điểm của các phần mềm máy tính hiện tại là tính linh hoạt và chi phí để cài đặt cho những máy tính cá nhân
sử dụng
Mạng máy tính ra đời khá sớm nhưng mãi đến khoảng năm 1991 – 1996 thì World Wide Web (WWW) mới xuất hiện cùng với đó là sự bùng nổ của internet Internet bùng nổ giúp cho việc liên kết, hợp tác giữa các doanh nghiệp giảm bớt khoảng cách và đồng thời cũng giảm khoảng cách giữa doanh nghiệp với khách hàng Các ứng dụng website phát triển giúp cho các doanh nghiệp công ty vận hành, quản lý một cách linh hoạt, nhanh chóng và nhất quán
Hiện nay đã 23 năm kể từ khi Internet xuất hiện tại Việt Nam nhưng các phần mềm chưa
có tính kết nối vẫn còn tồn tại và chưa có sự chuyển giao trong các doanh nghiệp Vì vậy việc phát triển ứng dụng web cho doanh nghiệp để tối ưu quy trình nghiệp vụ và truy cập từ xa để theo dõi, giám sát, vận hành là hết sức cần thiết
Với mong muốn được có thêm kinh nghiệm thực tế cũng như trải nghiệm, học tập trong môi trường làm việc lý tưởng, chuyên nghiệp, em đã tìm hiểu và có một thời gian thực tập tại Công ty CP Chứng Khoán FUNAN, một công ty với đội ngũ nhân viên thân thiện và môi trường làm việc hoàn hảo
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty cổ phần chứng khoản FUNAN đã 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 mọi người, em đã tiếp thu được những kiến thức quan trọng để em có thể trực tiếp tiếp cận và làm việc với sản phẩm Chân thành cảm ơn các anh chị đã 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 Tuấn Anh, hướng dẫn, giúp đỡ cho em tận tình từ những việc nhỏ đến những việc lớn, những khó khăn trong việc làm quen với những công nghệ mới, môi trường mới
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
Phan Minh Toàn Thành phố Hồ Chí Minh, tháng 1 năm 2021
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
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 cổ phần chứng khoán Funan 6
2 Sản phẩm của công ty 6
CHƯƠNG 2 NỘI DUNG THỰC TẬP 8
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8
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 cách thức cài đặt và làm việc của Flex Desktop Software 10
2.3 Áp dụng kỹ thuật Reverse Engineering dịch ngược các file thư viện 10
2.4 Xây dựng Proxy, phân tích các request gửi đến proxy 11
2.5 Xây dựng service encrypt và descrypt 11
2.6 Tiến hành viết ứng dụng web cho việc tự động hóa quy trình checklist 11
3 Thực hiện project 12
4 Lịch làm việc 12
CHƯƠNG 3 CHI TIẾT VỀ PROJECT 14
1 Giới thiệu về project 14
1.1 FUNAN Monitor Checklist: 14
1.2 FUNAN Website: 15
2 Chi tiết Project 16
2.1 Funan Monitor Checklist 16
2.2 Funan Website 17
3 Thực hiện 19
4 Kết quả 19
TÀI LIỆU THAM KHẢO 20
TỔNG KẾT 21
Trang 6CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1 Giới thiệu công ty cổ phần chứng khoán Funan
Công ty Cổ phần Chứng khóan FUNAN được thành lập vào 27/06/2008, lúc đó công ty thành lập mang tên Công ty Cổ phần Chứng khoán Miền Nam Hiện tại công ty có 3 chi nhánh tại Sài Gòn,
Hà Nội và Đà Nẵng
Công ty Cổ phần Chứng khoán FUNAN cung cấp các dịch vụ giao dịch trái phiếu chính phủ, dịch
vụ ngân hàng đầu tư, mô giới trái phiếu chứng chỉ quỹ VFM… với đối tác là các công ty lớn, trong đó có Ngân hàng đầu tư và phát triển BIDV, Ngân hàng nông nghiệp Agribank, Công ty luật và TNHH ATIM, Công ty Cổ phẩn Tấn Phát …
2 Sản phẩm của công ty
• FUNAN Website: Mở tài khoản chứng khoán online cho cá nhân, tổ chức trong và ngoài
nước Cập nhật thông tin thị trường cho khách hàng bằng các bản tin ngày, bản tin tuần và những báo cáo phân tích của doanh nghiệp Thông báo kết quả giao dịch sau mỗi phiên
• FUNAN Flex Desktop Software: Phần mềm desktop với các nhóm chức năng được phân quyền theo từng phòng ban để thực hiện các quy trình nghiệp vụ của công ty
• FUNAN Flex Web Application (IT Support): là phiên bản được chuyển giao từ flex
desktop software nhầm tối ưu và tự động hóa các quy trình nghiệp vụ của các phòng ban
• FUNAN Monitor Checklist: tự động hóa các checklist trong ngày, gửi thông báo khi thực
hiện các tác vụ vào group it trên ứng dụng skype, đồng thời gửi email thông báo cho các phòng ban khi đã hoàn thành xong checklist
Trang 7• FUNAN PriceBoard: Hiển thị thông tin thị trường của các sàn chứng khoán, các chỉ số
và giá cố phiếu theo từng mỗi ngày
• FNS@Wtrade: giao dịch chứng khoán trực tuyến thông qua website của FNS
• FNS@Htrade: giao dịch chứng khoán thông qua chương trình cài đặt trên máy tính khách
hàng
• FNS@Mtrade: giao dịch chứng khoán thông qua chương trình cài đặt trên điện thoại khách hàng Cung cấp các bản tin thị trường và bảng giá chứng khoán
Trang 8CHƯƠNG 2 NỘI DUNG THỰC TẬP
Tham gia vào công ty FUNAN với vai trò là nhân viên phát triển phần mềm nhằm cải tiến và tối
ưu các quy trình nghiệp vụ của công ty, chuyển giao các tính năng trên flex desktop sang flex web app Đồng thời, rèn luyện được 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 học tập, khám phá và làm việc với sản phẩm thực và một môi trường chuyên nghiệp
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 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, 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 FUNAN, 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
và các lỗi không nên mắc phải trong quá trình làm việc
• Hiểu biết hơn về quy trình làm việc và những lưu ý, cận trọng trong công việc
Trang 92 Nghiên cứu kỹ thuật
• Visual Studio Code + Visual Studio: IDE và editor dùng để viết mã nguồn
• Skype – Công cụ trao đổi thông tin
• WinSCP – Công cụ truyền file đảm bảo an toàn và bảo mật thông qua giao thức FTP, SFTP, WebDAV,
• PM2 – Trình quản lý tiến trình dành cho các ứng dụng NodeJS
• Robo3T – công cụ trực quan để làm việc với MongoDB
• SQLyog: công cụ trực quan để làm việc với MySQL
• dotPeek – Phần mềm dịch ngược mã nguồn NET để phân tích và gỡ lỗi bên thứ ba
• Bitbucket – dịch vụ lưu trữ nền web được dùng cho các mã nguồn lập trình và phát triển
những dự án lập trình có sử dụng hệ thống kiểm soát phiên bản Git
• Stackoverflow - nền tảng hỏi đáp trực tuyến lớn nhất, đáng tin cậy nhất dành cho những người lập trình để tìm hiểu, chia sẻ kiến thức
Thực hiện: Thực hành sử dụng các phần mềm, công cụ đã nêu trên
Visual Studio Code:
• Cài đặt các extension cần thiết cho viết phát triển phần mềm
• Cấu hình các thông số đối với các extension đã cài đặt
Skype: Tìm hiểu cách sử dụng, cài đặt trên PC và mobie Quy chuẩn nhắn tin
Wiki: Tìm hiểu các khái niệm lý thuyết, tìm kiếm, đọc hiểu tài liệu
PM2: Tìm hiểu cách thức vận hành các tiến trình NodeJS, cấu hình các thông số phù hợp với mỗi
tiến trình
WinSCP: Tìm hiểu cách upload/download file giữa máy local và máy server Cách remote vào
máy server để chỉnh sửa, cấu hình file khi cần thiết và cài đặt các công cụ, phần mềm cần thiết cho server
WinSCP:
• Tìm hiểu cách upload/download file giữa máy local và máy server
• Tìm hiểu ách remote vào máy server
• Chỉnh sửa, cấu hình file cho server trong quá trình remote
• Cài đặt các công cụ, phần mềm cần thiết cho server trong quá trình remote
dotPeek
Trang 10• Tìm hiểu cách thêm các mã nguồn cần dịch ngược
• Tìm hiểu cách điều hướng trong quá trình phân tích mã nguồn
• Tìm hiểu các cách để export các mã nguồn đã được dịch ngược
Robo3T + SQLyog
• Tìm hiểu cách cấu hình kết nối đến các database server
• Tìm hiểu cách viết các câu truy vấn trên giao diện phần mềm
Bitbucket: Tìm hiểu cách sử dụng Bitbucket
Stackoverflow: Tìm hiểu các tài liệu, giải pháp
Kết quả: Biết được cách thức làm việc, cách sử dụng, chức năng, ứng dụng các công cụ trong
công việc và thực tập
2.2 Tìm hiểu cách thức cài đặt và làm việc của Flex Desktop Software
Thời gian: 1 tuần
Nội dung: Tìm hiểu các chức năng hoạt động của phần mềm và quy trình thực hiên nghiệp vụ
của công ty
Kết quả: Biết được quy trình làm việc của công ty, nhóm chức năng dành riêng cho các phòng
ban
2.3 Áp dụng kỹ thuật Reverse Engineering dịch ngược các file thư viện
Thời gian: 1 tuần
• Nắm được cấu trúc tổ chức của phần mềm flex
• Nắm được luồng làm việc của quy trình checklist
• Học được cách sử dụng công cụ dotPeek
Trang 112.4 Xây dựng Proxy, phân tích các request gửi đến proxy
Thời gian: 1 tuần
Nội dung:
• Xây dựng Proxy
• Chỉnh sửa file config của phần mềm flex trỏ đến proxy
• Cấu hình cho proxy gửi request đến server trước đó mà phần mềm sử dụng
• Phân tích các request gửi từ phần mềm flex đến proxy và các respone từ server trả về proxy
Kết quả:
• Log lại được các thông tin request từ phần mềm flex
• Phân tích các request và phát hiện các request gửi đi được mã hóa
2.5 Xây dựng service encrypt và descrypt
Thời gian: 1 tuần
• Hoàn thành xây dựng service encrypt và descrypt
• Thử nghiệm thành công các request đến server
2.6 Tiến hành viết ứng dụng web cho việc tự động hóa quy trình checklist
Thời gian: 3 tuần
Nội dung:
• Thực hiện xây dựng giao diện web
• Viết mã nguồn NodeJS để thực hiện quy trình checklist
• Gửi thông báo về skype khi thực hiện từng tác vụ của checklist và thông báo cho các phòng ban khác khi checklist thành công
Kết quả:
• Chạy thành công tự động các quy trình checklist
• Giảm thời gian thao tác thủ công và chờ đợi
Trang 123 Thực hiện project
Sau hơn 1 tháng được training và thực hành, thực tập sinh đã nắm được những kiến thức để trở thành một Developer, sử dụng các công cụ hỗ trợ trong công việc Trong tháng thứ hai và thứ ba, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức đã được tìm hiểu để áp dụng vào thực hiện sản phẩm của công ty
Chi tiết sản phẩm sẽ được nói ở phần sau
4 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 và các kỹ
năng cơ bản trong 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
• Nguyễn Quang Trung (Chuyên viên phòng công nghệ tin)
• Lê Trần Nguyên Phương (Nhân viên phòng hành chính nhân sự)
• Nguyễn Quang Trung (Chuyên viên phòng công nghệ tin)
• Xây dựng Proxy bắt request
• Nguyễn Tuấn Anh (Trưởng phòng công nghệ tin)
Trang 134, 5
• Phân tích các request,
respone mà Proxy bắt được
• Xây dựng service encrypt và
decrypt để mã hóa các request và giải mã các response
• Thử nghiệm service encrypt
và decrypt đã xây dựng
• Nguyễn Tuấn Anh (Trưởng phòng công nghệ tin)
5 - 7
• Viết web app kết hợp với
service encrypt và decrypt để
tự động hóa quy trình checklist (MEAN Stack)
• Viết script gửi thông báo mỗi
tác vụ trong checklist đến phòng IT và gửi thông báo cho các phòng ban khi checklist hoàn thành
• Nguyễn Tuấn Anh (Trưởng phòng công nghệ tin)
8
• Tìm hiểu framework Laravel
• Tìm hiểu cấu trúc của dự án
• Tìm hiểu một vài chức năng
của dự án
• Nguyễn Tuấn Anh (Trưởng phòng công nghệ tin)
9 - 12
• Xây dựng giao diện cho
chức năng lịch sự kiện ở phần quản lý của admin
• Hiện thực chưc năng thêm
xóa sửa cho lịch sự kiện
Trang 14CHƯƠNG 3 CHI TIẾT VỀ PROJECT
1 Giới thiệu về project
1.1 FUNAN Monitor Checklist:
Funan Monitor Checklist là một ứng dụng web được xây dựng nhằm mục đích quản lý checklist
và tăng tốc quy trình checklist cũng như tự động hóa
Các tính năng chính:
• Checklist đầu ngày: mở cửa tất cả chi nhánh và hội sở, sau đó thực hiện các tác vụ của checklist đầu ngày sau khi thực hiện xong sẽ thông báo cho các phòng ban trên skype và gửi email
• Checklist giữa ngày: thực hiện các tác vụ của checklist giữa ngày sau khi thực hiện xong
sẽ thông báo cho các phòng ban trên skype và gửi email
• Checklist cuối ngày: thực hiện các tác vụ của checklist cuối ngày sau khi thực hiện xong
sẽ thông báo cho các phòng ban trên skype và gửi email sau đó tiến hành backup dữ liệu trong ngày cuối cùng là đóng cửa tất cả các hội sở, chi nhánh
Giao diện web app Funan Monitor Checklist
Trang 151.2 FUNAN Website:
Funan Website: là trang web chính thức của FUNAN, cung cấp các bản tin thị trường trong
ngành, danh mục các cổ phiếu được quan tâm
Trang 162 Chi tiết Project
2.1 Funan Monitor Checklist
• Quy trình Checklist sẽ được diễn ra vào các thời điểm khác nhau trong ngày cụ thể là:
▪ Trước phiên giao dịch: thực hiện checklist đầu ngày
▪ Đóng phiên giao dịch chiều: thực hiện checklist giữa ngày
▪ Kết thúc giao dịch: thực hiện checklist cuối ngày
• Thông thường nhân viên IT sẽ thực hiện các thao tác này trên phần mềm Flex:
Màn hình phần mềm Flex
▪ Nhân viên IT sẽ thực hiện thủ công tuần tự các chức năng trong vùng khoanh đỏ và phải đợi chức năng trước thực hiện xong mới được thực hiện chức năng sau
• Sau quá trình reverse mã nguồn của phần mềm Flex và bắt được các request ở Proxy đã được mã hóa khi thực hiện Checklist Web App Monitor Checklist được tạo ra với mục đích thực hiện tất cả công việc Checklist chỉ với 1 lần click mà không cần phải thao tác nhiều và chờ đợi
• Các tác vụ trong Checklist khi hoàn thành sẽ được thông báo qua Skype và được gửi email đến các phòng ban khi hoàn thành